Browse Source

Merge pull request #8800 from godotengine/classref/sync-0bcc0e9

classref: Sync with current master branch (0bcc0e9)
Max Hilbrunner 1 year ago
parent
commit
578b605480
59 changed files with 1311 additions and 176 deletions
  1. 15 1
      classes/[email protected]
  2. 2 0
      classes/[email protected]
  3. 210 48
      classes/class_aabb.rst
  4. 6 4
      classes/class_animation.rst
  5. 1 1
      classes/class_animationnodestatemachine.rst
  6. 1 1
      classes/class_array.rst
  7. 4 0
      classes/class_audioeffectdistortion.rst
  8. 16 0
      classes/class_audioeffectfilter.rst
  9. 1 1
      classes/class_audioeffectpitchshift.rst
  10. 31 0
      classes/class_audiostream.rst
  11. 45 17
      classes/class_audiostreamplayback.rst
  12. 1 1
      classes/class_canvasitem.rst
  13. 5 5
      classes/class_displayserver.rst
  14. 16 0
      classes/class_editorexportplatformweb.rst
  15. 28 0
      classes/class_editorsceneformatimporter.rst
  16. 32 0
      classes/class_editorscenepostimportplugin.rst
  17. 33 3
      classes/class_editorsettings.rst
  18. 1 1
      classes/class_engine.rst
  19. 32 0
      classes/class_generic6dofjoint3d.rst
  20. 1 1
      classes/class_geometryinstance3d.rst
  21. 12 5
      classes/class_gltfaccessor.rst
  22. 44 16
      classes/class_gltfbufferview.rst
  23. 2 2
      classes/class_gltfdocumentextension.rst
  24. 14 0
      classes/class_gltfstate.rst
  25. 16 0
      classes/class_gpuparticles3d.rst
  26. 122 39
      classes/class_graphedit.rst
  27. 4 0
      classes/class_hingejoint3d.rst
  28. 8 0
      classes/class_httprequest.rst
  29. 12 0
      classes/class_imageformatloader.rst
  30. 16 0
      classes/class_jsonrpc.rst
  31. 1 1
      classes/class_mainloop.rst
  32. 1 1
      classes/class_navigationserver2d.rst
  33. 1 1
      classes/class_navigationserver3d.rst
  34. 12 0
      classes/class_node.rst
  35. 4 0
      classes/class_openxraction.rst
  36. 55 0
      classes/class_openxrhand.rst
  37. 20 0
      classes/class_particleprocessmaterial.rst
  38. 24 0
      classes/class_physicalbone3d.rst
  39. 28 0
      classes/class_physicsserver3d.rst
  40. 24 0
      classes/class_portablecompressedtexture2d.rst
  41. 1 3
      classes/class_primitivemesh.rst
  42. 1 1
      classes/class_proceduralskymaterial.rst
  43. 3 5
      classes/class_projectsettings.rst
  44. 1 1
      classes/class_randomnumbergenerator.rst
  45. 32 0
      classes/class_renderingdevice.rst
  46. 136 0
      classes/class_renderingserver.rst
  47. 12 0
      classes/class_resourceformatloader.rst
  48. 1 1
      classes/class_resourceimporterobj.rst
  49. 1 1
      classes/class_resourceimporterscene.rst
  50. 84 0
      classes/class_scriptlanguageextension.rst
  51. 4 0
      classes/class_skeleton3d.rst
  52. 5 11
      classes/class_softbody3d.rst
  53. 1 1
      classes/class_surfacetool.rst
  54. 1 1
      classes/class_systemfont.rst
  55. 1 1
      classes/class_textedit.rst
  56. 4 0
      classes/class_treeitem.rst
  57. 1 1
      classes/class_tween.rst
  58. 100 0
      classes/class_viewport.rst
  59. 21 0
      classes/class_window.rst

+ 15 - 1
classes/[email protected]

@@ -662,7 +662,7 @@ Add a custom icon to the current script. The icon specified at ``icon_path`` is
 
 \ **Note:** As annotations describe their subject, the :ref:`@icon<class_@GDScript_annotation_@icon>` annotation must be placed before the class definition and inheritance.
 
-\ **Note:** Unlike other annotations, the argument of the :ref:`@icon<class_@GDScript_annotation_@icon>` annotation must be a string literal (constant expressions are not supported).
+\ **Note:** Unlike most other annotations, the argument of the :ref:`@icon<class_@GDScript_annotation_@icon>` annotation must be a string literal (constant expressions are not supported).
 
 .. rst-class:: classref-item-separator
 
@@ -748,6 +748,20 @@ Mark the current script as a tool script, allowing it to be loaded and executed
 
 ----
 
+.. _class_@GDScript_annotation_@uid:
+
+.. rst-class:: classref-annotation
+
+**@uid** **(** :ref:`String<class_String>` uid **)**
+
+Stores information about UID of this script. This annotation is auto-generated when saving the script and must not be modified manually. Only applies to scripts saved as separate files (i.e. not built-in).
+
+\ **Note:** Unlike most other annotations, the argument of the :ref:`@uid<class_@GDScript_annotation_@uid>` annotation must be a string literal (constant expressions are not supported).
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_@GDScript_annotation_@warning_ignore:
 
 .. rst-class:: classref-annotation

+ 2 - 0
classes/[email protected]

@@ -6408,6 +6408,8 @@ When printing to standard output, the supported subset of BBCode is converted to
 
 \ **Note:** On Windows, only Windows 10 and later correctly displays ANSI escape codes in standard output.
 
+\ **Note:** Output displayed in the editor supports clickable ``[url=address]text[/url]`` tags. The ``[url]`` tag's ``address`` value is handled by :ref:`OS.shell_open<class_OS_method_shell_open>` when clicked.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 210 - 48
classes/class_aabb.rst

@@ -17,13 +17,13 @@ A 3D axis-aligned bounding box.
 Description
 -----------
 
-**AABB** consists of a position, a size, and several utility functions. It is typically used for fast overlap tests.
+The **AABB** built-in :ref:`Variant<class_Variant>` type represents an axis-aligned bounding box in a 3D space. It is defined by its :ref:`position<class_AABB_property_position>` and :ref:`size<class_AABB_property_size>`, which are :ref:`Vector3<class_Vector3>`. It is frequently used for fast overlap tests (see :ref:`intersects<class_AABB_method_intersects>`). Although **AABB** itself is axis-aligned, it can be combined with :ref:`Transform3D<class_Transform3D>` to represent a rotated or skewed bounding box.
 
-It uses floating-point coordinates. The 2D counterpart to **AABB** is :ref:`Rect2<class_Rect2>`.
+It uses floating-point coordinates. The 2D counterpart to **AABB** is :ref:`Rect2<class_Rect2>`. There is no version of **AABB** that uses integer coordinates.
 
-Negative values for :ref:`size<class_AABB_property_size>` are not supported and will not work for most methods. Use :ref:`abs<class_AABB_method_abs>` to get an AABB with a positive size.
+\ **Note:** Negative values for :ref:`size<class_AABB_property_size>` are not supported. With negative size, most **AABB** methods do not work correctly. Use :ref:`abs<class_AABB_method_abs>` to get an equivalent **AABB** with a non-negative size.
 
-\ **Note:** Unlike :ref:`Rect2<class_Rect2>`, **AABB** does not have a variant that uses integer coordinates.
+\ **Note:** In a boolean context, a **AABB** evaluates to ``false`` if both :ref:`position<class_AABB_property_position>` and :ref:`size<class_AABB_property_size>` are zero (equal to :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`). Otherwise, it always evaluates to ``true``.
 
 .. note::
 
@@ -163,7 +163,7 @@ Property Descriptions
 
 :ref:`Vector3<class_Vector3>` **end** = ``Vector3(0, 0, 0)``
 
-Ending corner. This is calculated as ``position + size``. Setting this value will change the size.
+The ending point. This is usually the corner on the top-right and forward of the bounding box, and is equivalent to ``position + size``. Setting this point affects the :ref:`size<class_AABB_property_size>`.
 
 .. rst-class:: classref-item-separator
 
@@ -175,7 +175,7 @@ Ending corner. This is calculated as ``position + size``. Setting this value wil
 
 :ref:`Vector3<class_Vector3>` **position** = ``Vector3(0, 0, 0)``
 
-Beginning corner. Typically has values lower than :ref:`end<class_AABB_property_end>`.
+The origin point. This is usually the corner on the bottom-left and back of the bounding box.
 
 .. rst-class:: classref-item-separator
 
@@ -187,9 +187,9 @@ Beginning corner. Typically has values lower than :ref:`end<class_AABB_property_
 
 :ref:`Vector3<class_Vector3>` **size** = ``Vector3(0, 0, 0)``
 
-Size from :ref:`position<class_AABB_property_position>` to :ref:`end<class_AABB_property_end>`. Typically, all components are positive.
+The bounding box's width, height, and depth starting from :ref:`position<class_AABB_property_position>`. Setting this value also affects the :ref:`end<class_AABB_property_end>` point.
 
-If the size is negative, you can use :ref:`abs<class_AABB_method_abs>` to fix it.
+\ **Note:** It's recommended setting the width, height, and depth to non-negative values. This is because most methods in Godot assume that the :ref:`position<class_AABB_property_position>` is the bottom-left-back corner, and the :ref:`end<class_AABB_property_end>` is the top-right-forward corner. To get an equivalent bounding box with non-negative size, use :ref:`abs<class_AABB_method_abs>`.
 
 .. rst-class:: classref-section-separator
 
@@ -206,7 +206,7 @@ Constructor Descriptions
 
 :ref:`AABB<class_AABB>` **AABB** **(** **)**
 
-Constructs a default-initialized **AABB** with default (zero) values of :ref:`position<class_AABB_property_position>` and :ref:`size<class_AABB_property_size>`.
+Constructs an **AABB** with its :ref:`position<class_AABB_property_position>` and :ref:`size<class_AABB_property_size>` set to :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`.
 
 .. rst-class:: classref-item-separator
 
@@ -226,7 +226,7 @@ Constructs an **AABB** as a copy of the given **AABB**.
 
 :ref:`AABB<class_AABB>` **AABB** **(** :ref:`Vector3<class_Vector3>` position, :ref:`Vector3<class_Vector3>` size **)**
 
-Constructs an **AABB** from a position and size.
+Constructs an **AABB** by ``position`` and ``size``.
 
 .. rst-class:: classref-section-separator
 
@@ -243,7 +243,28 @@ Method Descriptions
 
 :ref:`AABB<class_AABB>` **abs** **(** **)** |const|
 
-Returns an AABB with equivalent position and size, modified so that the most-negative corner is the origin and the size is positive.
+Returns an **AABB** equivalent to this bounding box, with its width, height, and depth modified to be non-negative values.
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var box = AABB(Vector3(5, 0, 5), Vector3(-20, -10, -5))
+    var absolute = box.abs()
+    print(absolute.position) # Prints (-15, -10, 0)
+    print(absolute.size)     # Prints (20, 10, 5)
+
+ .. code-tab:: csharp
+
+    var box = new Aabb(new Vector3(5, 0, 5), new Vector3(-20, -10, -5));
+    var absolute = box.Abs();
+    GD.Print(absolute.Position); // Prints (-15, -10, 0)
+    GD.Print(absolute.Size);     // Prints (20, 10, 5)
+
+
+
+\ **Note:** It's recommended to use this method when :ref:`size<class_AABB_property_size>` is negative, as most other methods in Godot assume that the :ref:`size<class_AABB_property_size>`'s components are greater than ``0``.
 
 .. rst-class:: classref-item-separator
 
@@ -255,7 +276,32 @@ Returns an AABB with equivalent position and size, modified so that the most-neg
 
 :ref:`bool<class_bool>` **encloses** **(** :ref:`AABB<class_AABB>` with **)** |const|
 
-Returns ``true`` if this **AABB** completely encloses another one.
+Returns ``true`` if this bounding box *completely* encloses the ``with`` box. The edges of both boxes are included.
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var a = AABB(Vector3(0, 0, 0), Vector3(4, 4, 4))
+    var b = AABB(Vector3(1, 1, 1), Vector3(3, 3, 3))
+    var c = AABB(Vector3(2, 2, 2), Vector3(8, 8, 8))
+    
+    print(a.encloses(a)) # Prints true
+    print(a.encloses(b)) # Prints true
+    print(a.encloses(c)) # Prints false
+
+ .. code-tab:: csharp
+
+    var a = new Aabb(new Vector3(0, 0, 0), new Vector3(4, 4, 4));
+    var b = new Aabb(new Vector3(1, 1, 1), new Vector3(3, 3, 3));
+    var c = new Aabb(new Vector3(2, 2, 2), new Vector3(8, 8, 8));
+    
+    GD.Print(a.Encloses(a)); // Prints True
+    GD.Print(a.Encloses(b)); // Prints True
+    GD.Print(a.Encloses(c)); // Prints False
+
+
 
 .. rst-class:: classref-item-separator
 
@@ -267,26 +313,34 @@ Returns ``true`` if this **AABB** completely encloses another one.
 
 :ref:`AABB<class_AABB>` **expand** **(** :ref:`Vector3<class_Vector3>` to_point **)** |const|
 
-Returns a copy of this **AABB** expanded to include a given point.
-
-\ **Example:**\ 
+Returns a copy of this bounding box expanded to align the edges with the given ``to_point``, if necessary.
 
 
 .. tabs::
 
  .. code-tab:: gdscript
 
-    # position (-3, 2, 0), size (1, 1, 1)
-    var box = AABB(Vector3(-3, 2, 0), Vector3(1, 1, 1))
-    # position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB and Vector3(0, -1, 2)
-    var box2 = box.expand(Vector3(0, -1, 2))
+    var box = AABB(Vector3(0, 0, 0), Vector3(5, 2, 5))
+    
+    box = box.expand(Vector3(10, 0, 0))
+    print(box.position) # Prints (0, 0, 0)
+    print(box.size)     # Prints (10, 2, 5)
+    
+    box = box.expand(Vector3(-5, 0, 5))
+    print(box.position) # Prints (-5, 0, 0)
+    print(box.size)     # Prints (15, 2, 5)
 
  .. code-tab:: csharp
 
-    // position (-3, 2, 0), size (1, 1, 1)
-    var box = new Aabb(new Vector3(-3, 2, 0), new Vector3(1, 1, 1));
-    // position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB and Vector3(0, -1, 2)
-    var box2 = box.Expand(new Vector3(0, -1, 2));
+    var box = new Aabb(new Vector3(0, 0, 0), new Vector3(5, 2, 5));
+    
+    box = box.Expand(new Vector3(10, 0, 0));
+    GD.Print(box.Position); // Prints (0, 0, 0)
+    GD.Print(box.Size);     // Prints (10, 2, 5)
+    
+    box = box.Expand(new Vector3(-5, 0, 5));
+    GD.Print(box.Position); // Prints (-5, 0, 0)
+    GD.Print(box.Size);     // Prints (15, 2, 5)
 
 
 
@@ -300,7 +354,7 @@ Returns a copy of this **AABB** expanded to include a given point.
 
 :ref:`Vector3<class_Vector3>` **get_center** **(** **)** |const|
 
-Returns the center of the **AABB**, which is equal to :ref:`position<class_AABB_property_position>` + (:ref:`size<class_AABB_property_size>` / 2).
+Returns the center point of the bounding box. This is the same as ``position + (size / 2.0)``.
 
 .. rst-class:: classref-item-separator
 
@@ -312,7 +366,7 @@ Returns the center of the **AABB**, which is equal to :ref:`position<class_AABB_
 
 :ref:`Vector3<class_Vector3>` **get_endpoint** **(** :ref:`int<class_int>` idx **)** |const|
 
-Gets the position of the 8 endpoints of the **AABB** in space.
+Returns the position of one of the 8 vertices that compose this bounding box. With a ``idx`` of ``0`` this is the same as :ref:`position<class_AABB_property_position>`, and a ``idx`` of ``7`` is the same as :ref:`end<class_AABB_property_end>`.
 
 .. rst-class:: classref-item-separator
 
@@ -324,7 +378,30 @@ Gets the position of the 8 endpoints of the **AABB** in space.
 
 :ref:`Vector3<class_Vector3>` **get_longest_axis** **(** **)** |const|
 
-Returns the normalized longest axis of the **AABB**.
+Returns the longest normalized axis of this bounding box's :ref:`size<class_AABB_property_size>`, as a :ref:`Vector3<class_Vector3>` (:ref:`Vector3.RIGHT<class_Vector3_constant_RIGHT>`, :ref:`Vector3.UP<class_Vector3_constant_UP>`, or :ref:`Vector3.BACK<class_Vector3_constant_BACK>`).
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var box = AABB(Vector3(0, 0, 0), Vector3(2, 4, 8))
+    
+    print(box.get_longest_axis())       # Prints (0, 0, 1)
+    print(box.get_longest_axis_index()) # Prints 2
+    print(box.get_longest_axis_size())  # Prints 8
+
+ .. code-tab:: csharp
+
+    var box = new Aabb(new Vector3(0, 0, 0), new Vector3(2, 4, 8));
+    
+    GD.Print(box.GetLongestAxis());      // Prints (0, 0, 1)
+    GD.Print(box.GetLongestAxisIndex()); // Prints 2
+    GD.Print(box.GetLongestAxisSize());  // Prints 8
+
+
+
+See also :ref:`get_longest_axis_index<class_AABB_method_get_longest_axis_index>` and :ref:`get_longest_axis_size<class_AABB_method_get_longest_axis_size>`.
 
 .. rst-class:: classref-item-separator
 
@@ -336,7 +413,9 @@ Returns the normalized longest axis of the **AABB**.
 
 :ref:`int<class_int>` **get_longest_axis_index** **(** **)** |const|
 
-Returns the index of the longest axis of the **AABB** (according to :ref:`Vector3<class_Vector3>`'s ``AXIS_*`` constants).
+Returns the index to the longest axis of this bounding box's :ref:`size<class_AABB_property_size>` (see :ref:`Vector3.AXIS_X<class_Vector3_constant_AXIS_X>`, :ref:`Vector3.AXIS_Y<class_Vector3_constant_AXIS_Y>`, and :ref:`Vector3.AXIS_Z<class_Vector3_constant_AXIS_Z>`).
+
+For an example, see :ref:`get_longest_axis<class_AABB_method_get_longest_axis>`.
 
 .. rst-class:: classref-item-separator
 
@@ -348,7 +427,9 @@ Returns the index of the longest axis of the **AABB** (according to :ref:`Vector
 
 :ref:`float<class_float>` **get_longest_axis_size** **(** **)** |const|
 
-Returns the scalar length of the longest axis of the **AABB**.
+Returns the longest dimension of this bounding box's :ref:`size<class_AABB_property_size>`.
+
+For an example, see :ref:`get_longest_axis<class_AABB_method_get_longest_axis>`.
 
 .. rst-class:: classref-item-separator
 
@@ -360,7 +441,30 @@ Returns the scalar length of the longest axis of the **AABB**.
 
 :ref:`Vector3<class_Vector3>` **get_shortest_axis** **(** **)** |const|
 
-Returns the normalized shortest axis of the **AABB**.
+Returns the shortest normaalized axis of this bounding box's :ref:`size<class_AABB_property_size>`, as a :ref:`Vector3<class_Vector3>` (:ref:`Vector3.RIGHT<class_Vector3_constant_RIGHT>`, :ref:`Vector3.UP<class_Vector3_constant_UP>`, or :ref:`Vector3.BACK<class_Vector3_constant_BACK>`).
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var box = AABB(Vector3(0, 0, 0), Vector3(2, 4, 8))
+    
+    print(box.get_shortest_axis())       # Prints (1, 0, 0)
+    print(box.get_shortest_axis_index()) # Prints 0
+    print(box.get_shortest_axis_size())  # Prints 2
+
+ .. code-tab:: csharp
+
+    var box = new Aabb(new Vector3(0, 0, 0), new Vector3(2, 4, 8));
+    
+    GD.Print(box.GetShortestAxis());      // Prints (1, 0, 0)
+    GD.Print(box.GetShortestAxisIndex()); // Prints 0
+    GD.Print(box.GetShortestAxisSize());  // Prints 2
+
+
+
+See also :ref:`get_shortest_axis_index<class_AABB_method_get_shortest_axis_index>` and :ref:`get_shortest_axis_size<class_AABB_method_get_shortest_axis_size>`.
 
 .. rst-class:: classref-item-separator
 
@@ -372,7 +476,9 @@ Returns the normalized shortest axis of the **AABB**.
 
 :ref:`int<class_int>` **get_shortest_axis_index** **(** **)** |const|
 
-Returns the index of the shortest axis of the **AABB** (according to :ref:`Vector3<class_Vector3>`::AXIS\* enum).
+Returns the index to the shortest axis of this bounding box's :ref:`size<class_AABB_property_size>` (see :ref:`Vector3.AXIS_X<class_Vector3_constant_AXIS_X>`, :ref:`Vector3.AXIS_Y<class_Vector3_constant_AXIS_Y>`, and :ref:`Vector3.AXIS_Z<class_Vector3_constant_AXIS_Z>`).
+
+For an example, see :ref:`get_shortest_axis<class_AABB_method_get_shortest_axis>`.
 
 .. rst-class:: classref-item-separator
 
@@ -384,7 +490,9 @@ Returns the index of the shortest axis of the **AABB** (according to :ref:`Vecto
 
 :ref:`float<class_float>` **get_shortest_axis_size** **(** **)** |const|
 
-Returns the scalar length of the shortest axis of the **AABB**.
+Returns the shortest dimension of this bounding box's :ref:`size<class_AABB_property_size>`.
+
+For an example, see :ref:`get_shortest_axis<class_AABB_method_get_shortest_axis>`.
 
 .. rst-class:: classref-item-separator
 
@@ -396,7 +504,7 @@ Returns the scalar length of the shortest axis of the **AABB**.
 
 :ref:`Vector3<class_Vector3>` **get_support** **(** :ref:`Vector3<class_Vector3>` dir **)** |const|
 
-Returns the vertex of the AABB that's the farthest in a given direction. This point is commonly known as the support point in collision detection algorithms.
+Returns the vertex's position of this bounding box that's the farthest in the given direction. This point is commonly known as the support point in collision detection algorithms.
 
 .. rst-class:: classref-item-separator
 
@@ -408,7 +516,7 @@ Returns the vertex of the AABB that's the farthest in a given direction. This po
 
 :ref:`float<class_float>` **get_volume** **(** **)** |const|
 
-Returns the volume of the **AABB**.
+Returns the bounding box's volume. This is equivalent to ``size.x * size.y * size.z``. See also :ref:`has_volume<class_AABB_method_has_volume>`.
 
 .. rst-class:: classref-item-separator
 
@@ -420,7 +528,32 @@ Returns the volume of the **AABB**.
 
 :ref:`AABB<class_AABB>` **grow** **(** :ref:`float<class_float>` by **)** |const|
 
-Returns a copy of the **AABB** grown a given number of units towards all the sides.
+Returns a copy of this bounding box extended on all sides by the given amount ``by``. A negative amount shrinks the box instead.
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var a = AABB(Vector3(4, 4, 4), Vector3(8, 8, 8)).grow(4)
+    print(a.position) # Prints (0, 0, 0)
+    print(a.size)     # Prints (16, 16, 16)
+    
+    var b = AABB(Vector3(0, 0, 0), Vector3(8, 4, 2)).grow(2)
+    print(b.position) # Prints (-2, -2, -2)
+    print(b.size)     # Prints (12, 8, 6)
+
+ .. code-tab:: csharp
+
+    var a = new Aabb(new Vector3(4, 4, 4), new Vector3(8, 8, 8)).Grow(4);
+    GD.Print(a.Position); // Prints (0, 0, 0)
+    GD.Print(a.Size);     // Prints (16, 16, 16)
+    
+    var b = new Aabb(new Vector3(0, 0, 0), new Vector3(8, 4, 2)).Grow(2);
+    GD.Print(b.Position); // Prints (-2, -2, -2)
+    GD.Print(b.Size);     // Prints (12, 8, 6)
+
+
 
 .. rst-class:: classref-item-separator
 
@@ -432,9 +565,9 @@ Returns a copy of the **AABB** grown a given number of units towards all the sid
 
 :ref:`bool<class_bool>` **has_point** **(** :ref:`Vector3<class_Vector3>` point **)** |const|
 
-Returns ``true`` if the **AABB** contains a point. Points on the faces of the AABB are considered included, though float-point precision errors may impact the accuracy of such checks.
+Returns ``true`` if the bounding box contains the given ``point``. By convention, points exactly on the right, top, and front sides are **not** included.
 
-\ **Note:** This method is not reliable for **AABB** with a *negative size*. Use :ref:`abs<class_AABB_method_abs>` to get a positive sized equivalent **AABB** to check for contained points.
+\ **Note:** This method is not reliable for **AABB** with a *negative* :ref:`size<class_AABB_property_size>`. Use :ref:`abs<class_AABB_method_abs>` first to get a valid bounding box.
 
 .. rst-class:: classref-item-separator
 
@@ -446,7 +579,7 @@ Returns ``true`` if the **AABB** contains a point. Points on the faces of the AA
 
 :ref:`bool<class_bool>` **has_surface** **(** **)** |const|
 
-Returns ``true`` if the **AABB** has a surface or a length, and ``false`` if the **AABB** is empty (all components of :ref:`size<class_AABB_property_size>` are zero or negative).
+Returns ``true`` if this bounding box has a surface or a length, that is, at least one component of :ref:`size<class_AABB_property_size>` is greater than ``0``. Otherwise, returns ``false``.
 
 .. rst-class:: classref-item-separator
 
@@ -458,7 +591,7 @@ Returns ``true`` if the **AABB** has a surface or a length, and ``false`` if the
 
 :ref:`bool<class_bool>` **has_volume** **(** **)** |const|
 
-Returns ``true`` if the **AABB** has a volume, and ``false`` if the **AABB** is flat, empty, or has a negative :ref:`size<class_AABB_property_size>`.
+Returns ``true`` if this bounding box's width, height, and depth are all positive. See also :ref:`get_volume<class_AABB_method_get_volume>`.
 
 .. rst-class:: classref-item-separator
 
@@ -470,7 +603,32 @@ Returns ``true`` if the **AABB** has a volume, and ``false`` if the **AABB** is
 
 :ref:`AABB<class_AABB>` **intersection** **(** :ref:`AABB<class_AABB>` with **)** |const|
 
-Returns the intersection between two **AABB**. An empty AABB (size ``(0, 0, 0)``) is returned on failure.
+Returns the intersection between this bounding box and ``with``. If the boxes do not intersect, returns an empty **AABB**. If the boxes intersect at the edge, returns a flat **AABB** with no volume (see :ref:`has_surface<class_AABB_method_has_surface>` and :ref:`has_volume<class_AABB_method_has_volume>`).
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var box1 = AABB(Vector3(0, 0, 0), Vector3(5, 2, 8))
+    var box2 = AABB(Vector3(2, 0, 2), Vector3(8, 4, 4))
+    
+    var intersection = box1.intersection(box2)
+    print(intersection.position) # Prints (2, 0, 2)
+    print(intersection.size)     # Prints (3, 2, 4)
+
+ .. code-tab:: csharp
+
+    var box1 = new Aabb(new Vector3(0, 0, 0), new Vector3(5, 2, 8));
+    var box2 = new Aabb(new Vector3(2, 0, 2), new Vector3(8, 4, 4));
+    
+    var intersection = box1.Intersection(box2);
+    GD.Print(intersection.Position); // Prints (2, 0, 2)
+    GD.Print(intersection.Size);     // Prints (3, 2, 4)
+
+
+
+\ **Note:** If you only need to know whether two bounding boxes are intersecting, use :ref:`intersects<class_AABB_method_intersects>`, instead.
 
 .. rst-class:: classref-item-separator
 
@@ -482,7 +640,7 @@ Returns the intersection between two **AABB**. An empty AABB (size ``(0, 0, 0)``
 
 :ref:`bool<class_bool>` **intersects** **(** :ref:`AABB<class_AABB>` with **)** |const|
 
-Returns ``true`` if the **AABB** overlaps with another.
+Returns ``true`` if this bounding box overlaps with the box ``with``. The edges of both boxes are *always* excluded.
 
 .. rst-class:: classref-item-separator
 
@@ -494,7 +652,7 @@ Returns ``true`` if the **AABB** overlaps with another.
 
 :ref:`bool<class_bool>` **intersects_plane** **(** :ref:`Plane<class_Plane>` plane **)** |const|
 
-Returns ``true`` if the **AABB** is on both sides of a plane.
+Returns ``true`` if this bounding box is on both sides of the given ``plane``.
 
 .. rst-class:: classref-item-separator
 
@@ -506,7 +664,9 @@ Returns ``true`` if the **AABB** is on both sides of a plane.
 
 :ref:`Variant<class_Variant>` **intersects_ray** **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` dir **)** |const|
 
-Returns the point of intersection of the given ray with this **AABB** or ``null`` if there is no intersection. Ray length is infinite.
+Returns the first point where this bounding box and the given ray intersect, as a :ref:`Vector3<class_Vector3>`. If no intersection occurs, returns ``null``.
+
+The ray begin at ``from``, faces ``dir`` and extends towards infinity.
 
 .. rst-class:: classref-item-separator
 
@@ -518,7 +678,9 @@ Returns the point of intersection of the given ray with this **AABB** or ``null`
 
 :ref:`Variant<class_Variant>` **intersects_segment** **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` to **)** |const|
 
-Returns the point of intersection between ``from`` and ``to`` with this **AABB** or ``null`` if there is no intersection.
+Returns the first point where this bounding box and the given segment intersect, as a :ref:`Vector3<class_Vector3>`. If no intersection occurs, returns ``null``.
+
+The segment begins at ``from`` and ends at ``to``.
 
 .. rst-class:: classref-item-separator
 
@@ -530,7 +692,7 @@ Returns the point of intersection between ``from`` and ``to`` with this **AABB**
 
 :ref:`bool<class_bool>` **is_equal_approx** **(** :ref:`AABB<class_AABB>` aabb **)** |const|
 
-Returns ``true`` if this **AABB** and ``aabb`` are approximately equal, by calling :ref:`@GlobalScope.is_equal_approx<class_@GlobalScope_method_is_equal_approx>` on each component.
+Returns ``true`` if this bounding box and ``aabb`` are approximately equal, by calling :ref:`Vector2.is_equal_approx<class_Vector2_method_is_equal_approx>` on the :ref:`position<class_AABB_property_position>` and the :ref:`size<class_AABB_property_size>`.
 
 .. rst-class:: classref-item-separator
 
@@ -542,7 +704,7 @@ Returns ``true`` if this **AABB** and ``aabb`` are approximately equal, by calli
 
 :ref:`bool<class_bool>` **is_finite** **(** **)** |const|
 
-Returns ``true`` if this **AABB** is finite, by calling :ref:`@GlobalScope.is_finite<class_@GlobalScope_method_is_finite>` on each component.
+Returns ``true`` if this bounding box's values are finite, by calling :ref:`Vector2.is_finite<class_Vector2_method_is_finite>` on the :ref:`position<class_AABB_property_position>` and the :ref:`size<class_AABB_property_size>`.
 
 .. rst-class:: classref-item-separator
 
@@ -554,7 +716,7 @@ Returns ``true`` if this **AABB** is finite, by calling :ref:`@GlobalScope.is_fi
 
 :ref:`AABB<class_AABB>` **merge** **(** :ref:`AABB<class_AABB>` with **)** |const|
 
-Returns a larger **AABB** that contains both this **AABB** and ``with``.
+Returns an **AABB** that encloses both this bounding box and ``with`` around the edges. See also :ref:`encloses<class_AABB_method_encloses>`.
 
 .. rst-class:: classref-section-separator
 
@@ -571,7 +733,7 @@ Operator Descriptions
 
 :ref:`bool<class_bool>` **operator !=** **(** :ref:`AABB<class_AABB>` right **)**
 
-Returns ``true`` if the AABBs are not equal.
+Returns ``true`` if the :ref:`position<class_AABB_property_position>` or :ref:`size<class_AABB_property_size>` of both bounding boxes are not equal.
 
 \ **Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_AABB_method_is_equal_approx>` instead, which is more reliable.
 
@@ -601,7 +763,7 @@ For transforming by inverse of an affine transformation (e.g. with scaling) ``tr
 
 :ref:`bool<class_bool>` **operator ==** **(** :ref:`AABB<class_AABB>` right **)**
 
-Returns ``true`` if the AABBs are exactly equal.
+Returns ``true`` if both :ref:`position<class_AABB_property_position>` and :ref:`size<class_AABB_property_size>` of the bounding boxes are exactly equal, respectively.
 
 \ **Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_AABB_method_is_equal_approx>` instead, which is more reliable.
 

+ 6 - 4
classes/class_animation.rst

@@ -27,22 +27,24 @@ This resource holds data that can be used to animate anything in the engine. Ani
  .. code-tab:: gdscript
 
     # This creates an animation that makes the node "Enemy" move to the right by
-    # 100 pixels in 0.5 seconds.
+    # 100 pixels in 2.0 seconds.
     var animation = Animation.new()
     var track_index = animation.add_track(Animation.TYPE_VALUE)
     animation.track_set_path(track_index, "Enemy:position:x")
     animation.track_insert_key(track_index, 0.0, 0)
-    animation.track_insert_key(track_index, 0.5, 100)
+    animation.track_insert_key(track_index, 2.0, 100)
+    animation.length = 2.0
 
  .. code-tab:: csharp
 
     // This creates an animation that makes the node "Enemy" move to the right by
-    // 100 pixels in 0.5 seconds.
+    // 100 pixels in 2.0 seconds.
     var animation = new Animation();
     int trackIndex = animation.AddTrack(Animation.TrackType.Value);
     animation.TrackSetPath(trackIndex, "Enemy:position:x");
     animation.TrackInsertKey(trackIndex, 0.0f, 0);
-    animation.TrackInsertKey(trackIndex, 0.5f, 100);
+    animation.TrackInsertKey(trackIndex, 2.0f, 100);
+    animation.Length = 2.0f;
 
 
 

+ 1 - 1
classes/class_animationnodestatemachine.rst

@@ -146,7 +146,7 @@ Seeking to the beginning is treated as seeking to the beginning of the animation
 
 :ref:`StateMachineType<enum_AnimationNodeStateMachine_StateMachineType>` **STATE_MACHINE_TYPE_GROUPED** = ``2``
 
-This is a grouped state machine that can be controlled from a parent state machine. It does not work on standalone. There must be a state machine with :ref:`state_machine_type<class_AnimationNodeStateMachine_property_state_machine_type>` of :ref:`STATE_MACHINE_TYPE_ROOT<class_AnimationNodeStateMachine_constant_STATE_MACHINE_TYPE_ROOT>` or :ref:`STATE_MACHINE_TYPE_NESTED<class_AnimationNodeStateMachine_constant_STATE_MACHINE_TYPE_NESTED>` in the parent or ancestor.
+This is a grouped state machine that can be controlled from a parent state machine. It does not work independently. There must be a state machine with :ref:`state_machine_type<class_AnimationNodeStateMachine_property_state_machine_type>` of :ref:`STATE_MACHINE_TYPE_ROOT<class_AnimationNodeStateMachine_constant_STATE_MACHINE_TYPE_ROOT>` or :ref:`STATE_MACHINE_TYPE_NESTED<class_AnimationNodeStateMachine_constant_STATE_MACHINE_TYPE_NESTED>` in the parent or ancestor.
 
 .. rst-class:: classref-section-separator
 

+ 1 - 1
classes/class_array.rst

@@ -936,7 +936,7 @@ Returns a random value from the target array. Prints an error and returns ``null
 
 :ref:`Variant<class_Variant>` **pop_at** **(** :ref:`int<class_int>` position **)**
 
-Removes and returns the element of the array at index ``position``. If negative, ``position`` is considered relative to the end of the array. Leaves the array untouched and returns ``null`` if the array is empty or if it's accessed out of bounds. An error message is printed when the array is accessed out of bounds, but not when the array is empty.
+Removes and returns the element of the array at index ``position``. If negative, ``position`` is considered relative to the end of the array. Leaves the array unchanged and returns ``null`` if the array is empty or if it's accessed out of bounds. An error message is printed when the array is accessed out of bounds, but not when the array is empty.
 
 \ **Note:** On large arrays, this method can be slower than :ref:`pop_back<class_Array_method_pop_back>` as it will reindex the array's elements that are located after the removed element. The larger the array and the lower the index of the removed element, the slower :ref:`pop_at<class_Array_method_pop_at>` will be.
 

+ 4 - 0
classes/class_audioeffectdistortion.rst

@@ -81,6 +81,10 @@ Digital distortion effect which cuts off peaks at the top and bottom of the wave
 
 :ref:`Mode<enum_AudioEffectDistortion_Mode>` **MODE_ATAN** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_AudioEffectDistortion_constant_MODE_LOFI:

+ 16 - 0
classes/class_audioeffectfilter.rst

@@ -69,6 +69,10 @@ enum **FilterDB**:
 
 :ref:`FilterDB<enum_AudioEffectFilter_FilterDB>` **FILTER_6DB** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_AudioEffectFilter_constant_FILTER_12DB:
@@ -77,6 +81,10 @@ enum **FilterDB**:
 
 :ref:`FilterDB<enum_AudioEffectFilter_FilterDB>` **FILTER_12DB** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_AudioEffectFilter_constant_FILTER_18DB:
@@ -85,6 +93,10 @@ enum **FilterDB**:
 
 :ref:`FilterDB<enum_AudioEffectFilter_FilterDB>` **FILTER_18DB** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_AudioEffectFilter_constant_FILTER_24DB:
@@ -93,6 +105,10 @@ enum **FilterDB**:
 
 :ref:`FilterDB<enum_AudioEffectFilter_FilterDB>` **FILTER_24DB** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-section-separator

+ 1 - 1
classes/class_audioeffectpitchshift.rst

@@ -163,7 +163,7 @@ The oversampling factor to use. Higher values result in better quality, but are
 - void **set_pitch_scale** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_pitch_scale** **(** **)**
 
-The pitch scale to use. ``1.0`` is the default pitch and plays sounds unaltered. :ref:`pitch_scale<class_AudioEffectPitchShift_property_pitch_scale>` can range from ``0.0`` (infinitely low pitch, inaudible) to ``16`` (16 times higher than the initial pitch).
+The pitch scale to use. ``1.0`` is the default pitch and plays sounds unaffected. :ref:`pitch_scale<class_AudioEffectPitchShift_property_pitch_scale>` can range from ``0.0`` (infinitely low pitch, inaudible) to ``16`` (16 times higher than the initial pitch).
 
 .. |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.)`

+ 31 - 0
classes/class_audiostream.rst

@@ -51,6 +51,8 @@ Methods
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                             | :ref:`_get_length<class_AudioStream_private_method__get_length>` **(** **)** |virtual| |const|                     |
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Dictionary[]<class_Dictionary>`                 | :ref:`_get_parameter_list<class_AudioStream_private_method__get_parameter_list>` **(** **)** |virtual| |const|     |
+   +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                           | :ref:`_get_stream_name<class_AudioStream_private_method__get_stream_name>` **(** **)** |virtual| |const|           |
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
    | :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` | :ref:`_instantiate_playback<class_AudioStream_private_method__instantiate_playback>` **(** **)** |virtual| |const| |
@@ -70,6 +72,23 @@ Methods
 
 .. rst-class:: classref-descriptions-group
 
+Signals
+-------
+
+.. _class_AudioStream_signal_parameter_list_changed:
+
+.. rst-class:: classref-signal
+
+**parameter_list_changed** **(** **)**
+
+Signal to be emitted to notify when the parameter list changed.
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
 Method Descriptions
 -------------------
 
@@ -115,6 +134,18 @@ Method Descriptions
 
 ----
 
+.. _class_AudioStream_private_method__get_parameter_list:
+
+.. rst-class:: classref-method
+
+:ref:`Dictionary[]<class_Dictionary>` **_get_parameter_list** **(** **)** |virtual| |const|
+
+Return the controllable parameters of this stream. This array contains dictionaries with a property info description format (see :ref:`Object.get_property_list<class_Object_method_get_property_list>`). Additionally, the default value for this parameter must be added tho each dictionary in "default_value" field.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AudioStream_private_method__get_stream_name:
 
 .. rst-class:: classref-method

+ 45 - 17
classes/class_audiostreamplayback.rst

@@ -38,23 +38,27 @@ Methods
 .. table::
    :widths: auto
 
-   +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`     | :ref:`_get_loop_count<class_AudioStreamPlayback_private_method__get_loop_count>` **(** **)** |virtual| |const|                                                          |
-   +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>` | :ref:`_get_playback_position<class_AudioStreamPlayback_private_method__get_playback_position>` **(** **)** |virtual| |const|                                            |
-   +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`   | :ref:`_is_playing<class_AudioStreamPlayback_private_method__is_playing>` **(** **)** |virtual| |const|                                                                  |
-   +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`     | :ref:`_mix<class_AudioStreamPlayback_private_method__mix>` **(** AudioFrame* buffer, :ref:`float<class_float>` rate_scale, :ref:`int<class_int>` frames **)** |virtual| |
-   +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                      | :ref:`_seek<class_AudioStreamPlayback_private_method__seek>` **(** :ref:`float<class_float>` position **)** |virtual|                                                   |
-   +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                      | :ref:`_start<class_AudioStreamPlayback_private_method__start>` **(** :ref:`float<class_float>` from_pos **)** |virtual|                                                 |
-   +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                      | :ref:`_stop<class_AudioStreamPlayback_private_method__stop>` **(** **)** |virtual|                                                                                      |
-   +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                      | :ref:`_tag_used_streams<class_AudioStreamPlayback_private_method__tag_used_streams>` **(** **)** |virtual|                                                              |
-   +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`         | :ref:`_get_loop_count<class_AudioStreamPlayback_private_method__get_loop_count>` **(** **)** |virtual| |const|                                                                     |
+   +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Variant<class_Variant>` | :ref:`_get_parameter<class_AudioStreamPlayback_private_method__get_parameter>` **(** :ref:`StringName<class_StringName>` name **)** |virtual| |const|                              |
+   +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`     | :ref:`_get_playback_position<class_AudioStreamPlayback_private_method__get_playback_position>` **(** **)** |virtual| |const|                                                       |
+   +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`       | :ref:`_is_playing<class_AudioStreamPlayback_private_method__is_playing>` **(** **)** |virtual| |const|                                                                             |
+   +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`         | :ref:`_mix<class_AudioStreamPlayback_private_method__mix>` **(** AudioFrame* buffer, :ref:`float<class_float>` rate_scale, :ref:`int<class_int>` frames **)** |virtual|            |
+   +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                          | :ref:`_seek<class_AudioStreamPlayback_private_method__seek>` **(** :ref:`float<class_float>` position **)** |virtual|                                                              |
+   +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                          | :ref:`_set_parameter<class_AudioStreamPlayback_private_method__set_parameter>` **(** :ref:`StringName<class_StringName>` name, :ref:`Variant<class_Variant>` value **)** |virtual| |
+   +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                          | :ref:`_start<class_AudioStreamPlayback_private_method__start>` **(** :ref:`float<class_float>` from_pos **)** |virtual|                                                            |
+   +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                          | :ref:`_stop<class_AudioStreamPlayback_private_method__stop>` **(** **)** |virtual|                                                                                                 |
+   +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                          | :ref:`_tag_used_streams<class_AudioStreamPlayback_private_method__tag_used_streams>` **(** **)** |virtual|                                                                         |
+   +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -79,6 +83,18 @@ Method Descriptions
 
 ----
 
+.. _class_AudioStreamPlayback_private_method__get_parameter:
+
+.. rst-class:: classref-method
+
+:ref:`Variant<class_Variant>` **_get_parameter** **(** :ref:`StringName<class_StringName>` name **)** |virtual| |const|
+
+Return the current value of a playback parameter by name (see :ref:`AudioStream._get_parameter_list<class_AudioStream_private_method__get_parameter_list>`).
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AudioStreamPlayback_private_method__get_playback_position:
 
 .. rst-class:: classref-method
@@ -135,6 +151,18 @@ void **_seek** **(** :ref:`float<class_float>` position **)** |virtual|
 
 ----
 
+.. _class_AudioStreamPlayback_private_method__set_parameter:
+
+.. rst-class:: classref-method
+
+void **_set_parameter** **(** :ref:`StringName<class_StringName>` name, :ref:`Variant<class_Variant>` value **)** |virtual|
+
+Set the current value of a playback parameter by name (see :ref:`AudioStream._get_parameter_list<class_AudioStream_private_method__get_parameter_list>`).
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AudioStreamPlayback_private_method__start:
 
 .. rst-class:: classref-method

+ 1 - 1
classes/class_canvasitem.rst

@@ -1432,7 +1432,7 @@ Returns ``true`` if global transform notifications are communicated to children.
 
 :ref:`bool<class_bool>` **is_visible_in_tree** **(** **)** |const|
 
-Returns ``true`` if the node is present in the :ref:`SceneTree<class_SceneTree>`, its :ref:`visible<class_CanvasItem_property_visible>` property is ``true`` and all its ancestors are also visible. If any ancestor is hidden, this node will not be visible in the scene tree, and is consequently not drawn (see :ref:`_draw<class_CanvasItem_private_method__draw>`).
+Returns ``true`` if the node is present in the :ref:`SceneTree<class_SceneTree>`, its :ref:`visible<class_CanvasItem_property_visible>` property is ``true`` and all its ancestors are also visible. If any ancestor is hidden, this node will not be visible in the scene tree, and is therefore not drawn (see :ref:`_draw<class_CanvasItem_private_method__draw>`).
 
 .. rst-class:: classref-item-separator
 

+ 5 - 5
classes/class_displayserver.rst

@@ -1208,7 +1208,7 @@ enum **VSyncMode**:
 
 :ref:`VSyncMode<enum_DisplayServer_VSyncMode>` **VSYNC_DISABLED** = ``0``
 
-No vertical synchronization, which means the engine will display frames as fast as possible (tearing may be visible). Framerate is unlimited (notwithstanding :ref:`Engine.max_fps<class_Engine_property_max_fps>`).
+No vertical synchronization, which means the engine will display frames as fast as possible (tearing may be visible). Framerate is unlimited (regardless of :ref:`Engine.max_fps<class_Engine_property_max_fps>`).
 
 .. _class_DisplayServer_constant_VSYNC_ENABLED:
 
@@ -1216,7 +1216,7 @@ No vertical synchronization, which means the engine will display frames as fast
 
 :ref:`VSyncMode<enum_DisplayServer_VSyncMode>` **VSYNC_ENABLED** = ``1``
 
-Default vertical synchronization mode, the image is displayed only on vertical blanking intervals (no tearing is visible). Framerate is limited by the monitor refresh rate (notwithstanding :ref:`Engine.max_fps<class_Engine_property_max_fps>`).
+Default vertical synchronization mode, the image is displayed only on vertical blanking intervals (no tearing is visible). Framerate is limited by the monitor refresh rate (regardless of :ref:`Engine.max_fps<class_Engine_property_max_fps>`).
 
 .. _class_DisplayServer_constant_VSYNC_ADAPTIVE:
 
@@ -1224,7 +1224,7 @@ Default vertical synchronization mode, the image is displayed only on vertical b
 
 :ref:`VSyncMode<enum_DisplayServer_VSyncMode>` **VSYNC_ADAPTIVE** = ``2``
 
-Behaves like :ref:`VSYNC_DISABLED<class_DisplayServer_constant_VSYNC_DISABLED>` when the framerate drops below the screen's refresh rate to reduce stuttering (tearing may be visible). Otherwise, vertical synchronization is enabled to avoid tearing. Framerate is limited by the monitor refresh rate (notwithstanding :ref:`Engine.max_fps<class_Engine_property_max_fps>`). Behaves like :ref:`VSYNC_ENABLED<class_DisplayServer_constant_VSYNC_ENABLED>` when using the Compatibility rendering method.
+Behaves like :ref:`VSYNC_DISABLED<class_DisplayServer_constant_VSYNC_DISABLED>` when the framerate drops below the screen's refresh rate to reduce stuttering (tearing may be visible). Otherwise, vertical synchronization is enabled to avoid tearing. Framerate is limited by the monitor refresh rate (regardless of :ref:`Engine.max_fps<class_Engine_property_max_fps>`). Behaves like :ref:`VSYNC_ENABLED<class_DisplayServer_constant_VSYNC_ENABLED>` when using the Compatibility rendering method.
 
 .. _class_DisplayServer_constant_VSYNC_MAILBOX:
 
@@ -1232,7 +1232,7 @@ Behaves like :ref:`VSYNC_DISABLED<class_DisplayServer_constant_VSYNC_DISABLED>`
 
 :ref:`VSyncMode<enum_DisplayServer_VSyncMode>` **VSYNC_MAILBOX** = ``3``
 
-Displays the most recent image in the queue on vertical blanking intervals, while rendering to the other images (no tearing is visible). Framerate is unlimited (notwithstanding :ref:`Engine.max_fps<class_Engine_property_max_fps>`).
+Displays the most recent image in the queue on vertical blanking intervals, while rendering to the other images (no tearing is visible). Framerate is unlimited (regardless of :ref:`Engine.max_fps<class_Engine_property_max_fps>`).
 
 Although not guaranteed, the images can be rendered as fast as possible, which may reduce input lag (also called "Fast" V-Sync mode). :ref:`VSYNC_MAILBOX<class_DisplayServer_constant_VSYNC_MAILBOX>` works best when at least twice as many frames as the display refresh rate are rendered. Behaves like :ref:`VSYNC_ENABLED<class_DisplayServer_constant_VSYNC_ENABLED>` when using the Compatibility rendering method.
 
@@ -1403,7 +1403,7 @@ The ID of the main window spawned by the engine, which can be passed to methods
 
 **INVALID_WINDOW_ID** = ``-1``
 
-The ID that refers to a nonexisting window. This is be returned by some **DisplayServer** methods if no window matches the requested result.
+The ID that refers to a nonexistent window. This is returned by some **DisplayServer** methods if no window matches the requested result.
 
 .. rst-class:: classref-section-separator
 

+ 16 - 0
classes/class_editorexportplatformweb.rst

@@ -66,6 +66,8 @@ Properties
    +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`     | :ref:`variant/extensions_support<class_EditorExportPlatformWeb_property_variant/extensions_support>`                     |
    +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`     | :ref:`variant/thread_support<class_EditorExportPlatformWeb_property_variant/thread_support>`                             |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`     | :ref:`vram_texture_compression/for_desktop<class_EditorExportPlatformWeb_property_vram_texture_compression/for_desktop>` |
    +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`     | :ref:`vram_texture_compression/for_mobile<class_EditorExportPlatformWeb_property_vram_texture_compression/for_mobile>`   |
@@ -312,6 +314,20 @@ The canvas resize policy determines how the canvas should be resized by Godot.
 
 ----
 
+.. _class_EditorExportPlatformWeb_property_variant/thread_support:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **variant/thread_support**
+
+If enabled, the exported game will support threads. It requires `a "cross-origin isolated" website <https://web.dev/articles/coop-coep>`__, which can be difficult to setup and brings some limitations (e.g. not being able to communicate with third-party websites).
+
+If disabled, the exported game will not support threads. As a result, it is more prone to performance and audio issues, but will only require to be run on a HTTPS website.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorExportPlatformWeb_property_vram_texture_compression/for_desktop:
 
 .. rst-class:: classref-property

+ 28 - 0
classes/class_editorsceneformatimporter.rst

@@ -60,6 +60,10 @@ Constants
 
 **IMPORT_SCENE** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this constant. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_EditorSceneFormatImporter_constant_IMPORT_ANIMATION:
@@ -68,6 +72,10 @@ Constants
 
 **IMPORT_ANIMATION** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this constant. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_EditorSceneFormatImporter_constant_IMPORT_FAIL_ON_MISSING_DEPENDENCIES:
@@ -76,6 +84,10 @@ Constants
 
 **IMPORT_FAIL_ON_MISSING_DEPENDENCIES** = ``4``
 
+.. container:: contribute
+
+	There is currently no description for this constant. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_EditorSceneFormatImporter_constant_IMPORT_GENERATE_TANGENT_ARRAYS:
@@ -84,6 +96,10 @@ Constants
 
 **IMPORT_GENERATE_TANGENT_ARRAYS** = ``8``
 
+.. container:: contribute
+
+	There is currently no description for this constant. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_EditorSceneFormatImporter_constant_IMPORT_USE_NAMED_SKIN_BINDS:
@@ -92,6 +108,10 @@ Constants
 
 **IMPORT_USE_NAMED_SKIN_BINDS** = ``16``
 
+.. container:: contribute
+
+	There is currently no description for this constant. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_EditorSceneFormatImporter_constant_IMPORT_DISCARD_MESHES_AND_MATERIALS:
@@ -100,6 +120,10 @@ Constants
 
 **IMPORT_DISCARD_MESHES_AND_MATERIALS** = ``32``
 
+.. container:: contribute
+
+	There is currently no description for this constant. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_EditorSceneFormatImporter_constant_IMPORT_FORCE_DISABLE_MESH_COMPRESSION:
@@ -108,6 +132,10 @@ Constants
 
 **IMPORT_FORCE_DISABLE_MESH_COMPRESSION** = ``64``
 
+.. container:: contribute
+
+	There is currently no description for this constant. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-section-separator

+ 32 - 0
classes/class_editorscenepostimportplugin.rst

@@ -74,6 +74,10 @@ enum **InternalImportCategory**:
 
 :ref:`InternalImportCategory<enum_EditorScenePostImportPlugin_InternalImportCategory>` **INTERNAL_IMPORT_CATEGORY_NODE** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_EditorScenePostImportPlugin_constant_INTERNAL_IMPORT_CATEGORY_MESH_3D_NODE:
@@ -82,6 +86,10 @@ enum **InternalImportCategory**:
 
 :ref:`InternalImportCategory<enum_EditorScenePostImportPlugin_InternalImportCategory>` **INTERNAL_IMPORT_CATEGORY_MESH_3D_NODE** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_EditorScenePostImportPlugin_constant_INTERNAL_IMPORT_CATEGORY_MESH:
@@ -90,6 +98,10 @@ enum **InternalImportCategory**:
 
 :ref:`InternalImportCategory<enum_EditorScenePostImportPlugin_InternalImportCategory>` **INTERNAL_IMPORT_CATEGORY_MESH** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_EditorScenePostImportPlugin_constant_INTERNAL_IMPORT_CATEGORY_MATERIAL:
@@ -98,6 +110,10 @@ enum **InternalImportCategory**:
 
 :ref:`InternalImportCategory<enum_EditorScenePostImportPlugin_InternalImportCategory>` **INTERNAL_IMPORT_CATEGORY_MATERIAL** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_EditorScenePostImportPlugin_constant_INTERNAL_IMPORT_CATEGORY_ANIMATION:
@@ -106,6 +122,10 @@ enum **InternalImportCategory**:
 
 :ref:`InternalImportCategory<enum_EditorScenePostImportPlugin_InternalImportCategory>` **INTERNAL_IMPORT_CATEGORY_ANIMATION** = ``4``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_EditorScenePostImportPlugin_constant_INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE:
@@ -114,6 +134,10 @@ enum **InternalImportCategory**:
 
 :ref:`InternalImportCategory<enum_EditorScenePostImportPlugin_InternalImportCategory>` **INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE** = ``5``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_EditorScenePostImportPlugin_constant_INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE:
@@ -122,6 +146,10 @@ enum **InternalImportCategory**:
 
 :ref:`InternalImportCategory<enum_EditorScenePostImportPlugin_InternalImportCategory>` **INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE** = ``6``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_EditorScenePostImportPlugin_constant_INTERNAL_IMPORT_CATEGORY_MAX:
@@ -130,6 +158,10 @@ enum **InternalImportCategory**:
 
 :ref:`InternalImportCategory<enum_EditorScenePostImportPlugin_InternalImportCategory>` **INTERNAL_IMPORT_CATEGORY_MAX** = ``7``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-section-separator

+ 33 - 3
classes/class_editorsettings.rst

@@ -339,10 +339,12 @@ Properties
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Color<class_Color>`     | :ref:`interface/theme/accent_color<class_EditorSettings_property_interface/theme/accent_color>`                                                                                     |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`     | :ref:`interface/theme/additional_spacing<class_EditorSettings_property_interface/theme/additional_spacing>`                                                                         |
+   | :ref:`int<class_int>`         | :ref:`interface/theme/additional_spacing<class_EditorSettings_property_interface/theme/additional_spacing>`                                                                         |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Color<class_Color>`     | :ref:`interface/theme/base_color<class_EditorSettings_property_interface/theme/base_color>`                                                                                         |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`         | :ref:`interface/theme/base_spacing<class_EditorSettings_property_interface/theme/base_spacing>`                                                                                     |
+   +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`         | :ref:`interface/theme/border_size<class_EditorSettings_property_interface/theme/border_size>`                                                                                       |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`     | :ref:`interface/theme/contrast<class_EditorSettings_property_interface/theme/contrast>`                                                                                             |
@@ -361,6 +363,8 @@ Properties
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`     | :ref:`interface/theme/relationship_line_opacity<class_EditorSettings_property_interface/theme/relationship_line_opacity>`                                                           |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`   | :ref:`interface/theme/spacing_preset<class_EditorSettings_property_interface/theme/spacing_preset>`                                                                                 |
+   +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`       | :ref:`interface/touchscreen/enable_long_press_as_right_click<class_EditorSettings_property_interface/touchscreen/enable_long_press_as_right_click>`                                 |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`       | :ref:`interface/touchscreen/enable_pan_and_scale_gestures<class_EditorSettings_property_interface/touchscreen/enable_pan_and_scale_gestures>`                                       |
@@ -2469,9 +2473,11 @@ The color to use for "highlighted" user interface elements in the editor (presse
 
 .. rst-class:: classref-property
 
-:ref:`float<class_float>` **interface/theme/additional_spacing**
+:ref:`int<class_int>` **interface/theme/additional_spacing**
+
+The extra spacing to add to various GUI elements in the editor (in pixels). Increasing this value is useful to improve usability on touch screens, at the cost of reducing the amount of usable screen real estate.
 
-The spacing to add for buttons and list items in the editor (in pixels). Increasing this value is useful to improve usability on touch screens, at the cost of reducing the amount of usable screen real estate.
+ See also :ref:`interface/theme/spacing_preset<class_EditorSettings_property_interface/theme/spacing_preset>`.
 
 .. rst-class:: classref-item-separator
 
@@ -2489,6 +2495,18 @@ The base color to use for user interface elements in the editor. Secondary color
 
 ----
 
+.. _class_EditorSettings_property_interface/theme/base_spacing:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **interface/theme/base_spacing**
+
+The base spacing used by various GUI elements in the editor (in pixels). See also :ref:`interface/theme/spacing_preset<class_EditorSettings_property_interface/theme/spacing_preset>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorSettings_property_interface/theme/border_size:
 
 .. rst-class:: classref-property
@@ -2605,6 +2623,18 @@ The opacity to use when drawing relationship lines in the editor's :ref:`Tree<cl
 
 ----
 
+.. _class_EditorSettings_property_interface/theme/spacing_preset:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **interface/theme/spacing_preset**
+
+The editor theme spacing preset to use. See also :ref:`interface/theme/base_spacing<class_EditorSettings_property_interface/theme/base_spacing>` and :ref:`interface/theme/additional_spacing<class_EditorSettings_property_interface/theme/additional_spacing>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorSettings_property_interface/touchscreen/enable_long_press_as_right_click:
 
 .. rst-class:: classref-property

+ 1 - 1
classes/class_engine.rst

@@ -167,7 +167,7 @@ Controls the maximum number of physics steps that can be simulated each rendered
 - void **set_physics_jitter_fix** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_physics_jitter_fix** **(** **)**
 
-Controls how much physics ticks are synchronized with real time. For 0 or less, the ticks are synchronized. Such values are recommended for network games, where clock synchronization matters. Higher values cause higher deviation of the in-game clock and real clock but smooth out framerate jitters. The default value of 0.5 should be fine for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended.
+Controls how much physics ticks are synchronized with real time. For 0 or less, the ticks are synchronized. Such values are recommended for network games, where clock synchronization matters. Higher values cause higher deviation of the in-game clock and real clock but smooth out framerate jitters. The default value of 0.5 should be good enough for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended.
 
 \ **Note:** For best results, when using a custom physics interpolation solution, the physics jitter fix should be disabled by setting :ref:`physics_jitter_fix<class_Engine_property_physics_jitter_fix>` to ``0``.
 

+ 32 - 0
classes/class_generic6dofjoint3d.rst

@@ -312,6 +312,10 @@ The maximum force the linear motor will apply while trying to reach the velocity
 
 :ref:`Param<enum_Generic6DOFJoint3D_Param>` **PARAM_LINEAR_SPRING_STIFFNESS** = ``7``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Generic6DOFJoint3D_constant_PARAM_LINEAR_SPRING_DAMPING:
@@ -320,6 +324,10 @@ The maximum force the linear motor will apply while trying to reach the velocity
 
 :ref:`Param<enum_Generic6DOFJoint3D_Param>` **PARAM_LINEAR_SPRING_DAMPING** = ``8``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Generic6DOFJoint3D_constant_PARAM_LINEAR_SPRING_EQUILIBRIUM_POINT:
@@ -328,6 +336,10 @@ The maximum force the linear motor will apply while trying to reach the velocity
 
 :ref:`Param<enum_Generic6DOFJoint3D_Param>` **PARAM_LINEAR_SPRING_EQUILIBRIUM_POINT** = ``9``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Generic6DOFJoint3D_constant_PARAM_ANGULAR_LOWER_LIMIT:
@@ -408,6 +420,10 @@ Maximum acceleration for the motor at the axes.
 
 :ref:`Param<enum_Generic6DOFJoint3D_Param>` **PARAM_ANGULAR_SPRING_STIFFNESS** = ``19``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Generic6DOFJoint3D_constant_PARAM_ANGULAR_SPRING_DAMPING:
@@ -416,6 +432,10 @@ Maximum acceleration for the motor at the axes.
 
 :ref:`Param<enum_Generic6DOFJoint3D_Param>` **PARAM_ANGULAR_SPRING_DAMPING** = ``20``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Generic6DOFJoint3D_constant_PARAM_ANGULAR_SPRING_EQUILIBRIUM_POINT:
@@ -424,6 +444,10 @@ Maximum acceleration for the motor at the axes.
 
 :ref:`Param<enum_Generic6DOFJoint3D_Param>` **PARAM_ANGULAR_SPRING_EQUILIBRIUM_POINT** = ``21``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Generic6DOFJoint3D_constant_PARAM_MAX:
@@ -466,6 +490,10 @@ If enabled, rotational motion is possible within the given limits.
 
 :ref:`Flag<enum_Generic6DOFJoint3D_Flag>` **FLAG_ENABLE_LINEAR_SPRING** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Generic6DOFJoint3D_constant_FLAG_ENABLE_ANGULAR_SPRING:
@@ -474,6 +502,10 @@ If enabled, rotational motion is possible within the given limits.
 
 :ref:`Flag<enum_Generic6DOFJoint3D_Flag>` **FLAG_ENABLE_ANGULAR_SPRING** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Generic6DOFJoint3D_constant_FLAG_ENABLE_MOTOR:

+ 1 - 1
classes/class_geometryinstance3d.rst

@@ -292,7 +292,7 @@ The selected shadow casting flag. See :ref:`ShadowCastingSetting<enum_GeometryIn
 - void **set_custom_aabb** **(** :ref:`AABB<class_AABB>` value **)**
 - :ref:`AABB<class_AABB>` **get_custom_aabb** **(** **)**
 
-Overrides the bounding box of this node with a custom one. This can be used to avoid the expensive :ref:`AABB<class_AABB>` recalculation that happens when a skeleton is used with a :ref:`MeshInstance3D<class_MeshInstance3D>` or to have fine control over the :ref:`MeshInstance3D<class_MeshInstance3D>`'s bounding box. To use the default AABB, set value to an :ref:`AABB<class_AABB>` with all fields set to ``0.0``. To avoid frustum culling, set :ref:`custom_aabb<class_GeometryInstance3D_property_custom_aabb>` to a very large AABB that covers your entire game world such as ``AABB(-10000, -10000, -10000, 20000, 20000, 20000)``. To disable all forms of culling (including occlusion culling), call :ref:`RenderingServer.instance_set_ignore_culling<class_RenderingServer_method_instance_set_ignore_culling>` on the **GeometryInstance3D**'s :ref:`RID<class_RID>`.
+Overrides the bounding box of this node with a custom one. This can be used to avoid the expensive :ref:`AABB<class_AABB>` recalculation that happens when a skeleton is used with a :ref:`MeshInstance3D<class_MeshInstance3D>` or to have precise control over the :ref:`MeshInstance3D<class_MeshInstance3D>`'s bounding box. To use the default AABB, set value to an :ref:`AABB<class_AABB>` with all fields set to ``0.0``. To avoid frustum culling, set :ref:`custom_aabb<class_GeometryInstance3D_property_custom_aabb>` to a very large AABB that covers your entire game world such as ``AABB(-10000, -10000, -10000, 20000, 20000, 20000)``. To disable all forms of culling (including occlusion culling), call :ref:`RenderingServer.instance_set_ignore_culling<class_RenderingServer_method_instance_set_ignore_culling>` on the **GeometryInstance3D**'s :ref:`RID<class_RID>`.
 
 .. rst-class:: classref-item-separator
 

+ 12 - 5
classes/class_gltfaccessor.rst

@@ -12,15 +12,24 @@ GLTFAccessor
 
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Represents a GLTF accessor.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+GLTFAccessor is a data structure representing GLTF a ``accessor`` that would be found in the ``"accessors"`` array. A buffer is a blob of binary data. A buffer view is a slice of a buffer. An accessor is a typed interpretation of the data in a buffer view.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Most custom data stored in GLTF does not need accessors, only buffer views (see :ref:`GLTFBufferView<class_GLTFBufferView>`). Accessors are for more advanced use cases such as interleaved mesh data encoded for the GPU.
 
 .. rst-class:: classref-introduction-group
 
 Tutorials
 ---------
 
+- `Buffers, BufferViews, and Accessors in Khronos glTF specification <https://github.com/KhronosGroup/glTF-Tutorials/blob/master/gltfTutorial/gltfTutorial_005_BuffersBufferViewsAccessors.md>`__
+
 - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>`
 
 .. rst-class:: classref-reftable-group
@@ -81,9 +90,7 @@ Property Descriptions
 - void **set_buffer_view** **(** :ref:`int<class_int>` value **)**
 - :ref:`int<class_int>` **get_buffer_view** **(** **)**
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The index of the buffer view this accessor is referencing. If ``-1``, this accessor is not referencing any buffer view.
 
 .. rst-class:: classref-item-separator
 

+ 44 - 16
classes/class_gltfbufferview.rst

@@ -12,15 +12,24 @@ GLTFBufferView
 
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Represents a GLTF buffer view.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+GLTFBufferView is a data structure representing GLTF a ``bufferView`` that would be found in the ``"bufferViews"`` array. A buffer is a blob of binary data. A buffer view is a slice of a buffer that can be used to identify and extract data from the buffer.
+
+Most custom uses of buffers only need to use the :ref:`buffer<class_GLTFBufferView_property_buffer>`, :ref:`byte_length<class_GLTFBufferView_property_byte_length>`, and :ref:`byte_offset<class_GLTFBufferView_property_byte_offset>`. The :ref:`byte_stride<class_GLTFBufferView_property_byte_stride>` and :ref:`indices<class_GLTFBufferView_property_indices>` properties are for more advanced use cases such as interleaved mesh data encoded for the GPU.
 
 .. rst-class:: classref-introduction-group
 
 Tutorials
 ---------
 
+- `Buffers, BufferViews, and Accessors in Khronos glTF specification <https://github.com/KhronosGroup/glTF-Tutorials/blob/master/gltfTutorial/gltfTutorial_005_BuffersBufferViewsAccessors.md>`__
+
 - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>`
 
 .. rst-class:: classref-reftable-group
@@ -43,6 +52,18 @@ Properties
    | :ref:`bool<class_bool>` | :ref:`indices<class_GLTFBufferView_property_indices>`         | ``false`` |
    +-------------------------+---------------------------------------------------------------+-----------+
 
+.. rst-class:: classref-reftable-group
+
+Methods
+-------
+
+.. table::
+   :widths: auto
+
+   +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`load_buffer_view_data<class_GLTFBufferView_method_load_buffer_view_data>` **(** :ref:`GLTFState<class_GLTFState>` state **)** |const| |
+   +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+
 .. rst-class:: classref-section-separator
 
 ----
@@ -63,9 +84,7 @@ Property Descriptions
 - void **set_buffer** **(** :ref:`int<class_int>` value **)**
 - :ref:`int<class_int>` **get_buffer** **(** **)**
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The index of the buffer this buffer view is referencing. If ``-1``, this buffer view is not referencing any buffer.
 
 .. rst-class:: classref-item-separator
 
@@ -82,9 +101,7 @@ Property Descriptions
 - void **set_byte_length** **(** :ref:`int<class_int>` value **)**
 - :ref:`int<class_int>` **get_byte_length** **(** **)**
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The length, in bytes, of this buffer view. If ``0``, this buffer view is empty.
 
 .. rst-class:: classref-item-separator
 
@@ -101,9 +118,7 @@ Property Descriptions
 - void **set_byte_offset** **(** :ref:`int<class_int>` value **)**
 - :ref:`int<class_int>` **get_byte_offset** **(** **)**
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The offset, in bytes, from the start of the buffer to the start of this buffer view.
 
 .. rst-class:: classref-item-separator
 
@@ -120,9 +135,7 @@ Property Descriptions
 - void **set_byte_stride** **(** :ref:`int<class_int>` value **)**
 - :ref:`int<class_int>` **get_byte_stride** **(** **)**
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The stride, in bytes, between interleaved data. If ``-1``, this buffer view is not interleaved.
 
 .. rst-class:: classref-item-separator
 
@@ -139,9 +152,24 @@ Property Descriptions
 - void **set_indices** **(** :ref:`bool<class_bool>` value **)**
 - :ref:`bool<class_bool>` **get_indices** **(** **)**
 
-.. container:: contribute
+True if the GLTFBufferView's OpenGL GPU buffer type is an ``ELEMENT_ARRAY_BUFFER`` used for vertex indices (integer constant ``34963``). False if the buffer type is ``ARRAY_BUFFER`` used for vertex attributes (integer constant ``34962``) or when any other value. See `Buffers, BufferViews, and Accessors <https://github.com/KhronosGroup/glTF-Tutorials/blob/master/gltfTutorial/gltfTutorial_005_BuffersBufferViewsAccessors.md>`__ for possible values. This property is set but never used, setting this property will do nothing.
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Method Descriptions
+-------------------
+
+.. _class_GLTFBufferView_method_load_buffer_view_data:
+
+.. rst-class:: classref-method
+
+:ref:`PackedByteArray<class_PackedByteArray>` **load_buffer_view_data** **(** :ref:`GLTFState<class_GLTFState>` state **)** |const|
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Loads the buffer view data from the buffer referenced by this buffer view in the given :ref:`GLTFState<class_GLTFState>`. Interleaved data with a byte stride is not yet supported by this method. The data is returned as a :ref:`PackedByteArray<class_PackedByteArray>`.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 2 - 2
classes/class_gltfdocumentextension.rst

@@ -113,7 +113,7 @@ Runs when converting the data from a Godot scene node. This method can be used t
 
 Part of the export process. This method is run after :ref:`_get_saveable_image_formats<class_GLTFDocumentExtension_private_method__get_saveable_image_formats>` and before :ref:`_export_post<class_GLTFDocumentExtension_private_method__export_post>`. If this **GLTFDocumentExtension** is used for exporting images, this runs after :ref:`_serialize_texture_json<class_GLTFDocumentExtension_private_method__serialize_texture_json>`.
 
-This method can be used to modify the final JSON of each node.
+This method can be used to modify the final JSON of each node. Data should be primarily stored in ``gltf_node`` prior to serializing the JSON, but the original Godot ``node`` is also provided if available. The node may be null if not available, such as when exporting GLTF data not generated from a Godot scene.
 
 .. rst-class:: classref-item-separator
 
@@ -253,7 +253,7 @@ This method can be used to modify the final Godot scene generated by the import
 
 Part of the import process. This method is run after :ref:`_parse_node_extensions<class_GLTFDocumentExtension_private_method__parse_node_extensions>` and before :ref:`_generate_scene_node<class_GLTFDocumentExtension_private_method__generate_scene_node>`.
 
-This method can be used to modify any of the data imported so far, including any scene nodes, before running the final per-node import step.
+This method can be used to modify any of the data imported so far after parsing, before generating the nodes and then running the final per-node import step.
 
 .. rst-class:: classref-item-separator
 

+ 14 - 0
classes/class_gltfstate.rst

@@ -77,6 +77,8 @@ Methods
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                  | :ref:`add_used_extension<class_GLTFState_method_add_used_extension>` **(** :ref:`String<class_String>` extension_name, :ref:`bool<class_bool>` required **)**                        |
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                 | :ref:`append_data_to_buffers<class_GLTFState_method_append_data_to_buffers>` **(** :ref:`PackedByteArray<class_PackedByteArray>` data, :ref:`bool<class_bool>` deduplication **)**   |
+   +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`GLTFAccessor[]<class_GLTFAccessor>`             | :ref:`get_accessors<class_GLTFState_method_get_accessors>` **(** **)**                                                                                                               |
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Variant<class_Variant>`                         | :ref:`get_additional_data<class_GLTFState_method_get_additional_data>` **(** :ref:`StringName<class_StringName>` extension_name **)**                                                |
@@ -439,6 +441,18 @@ Appends an extension to the list of extensions used by this GLTF file during ser
 
 ----
 
+.. _class_GLTFState_method_append_data_to_buffers:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **append_data_to_buffers** **(** :ref:`PackedByteArray<class_PackedByteArray>` data, :ref:`bool<class_bool>` deduplication **)**
+
+Appends the given byte array data to the buffers and creates a :ref:`GLTFBufferView<class_GLTFBufferView>` for it. The index of the destination :ref:`GLTFBufferView<class_GLTFBufferView>` is returned. If ``deduplication`` is true, the buffers will first be searched for duplicate data, otherwise new bytes will always be appended.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_GLTFState_method_get_accessors:
 
 .. rst-class:: classref-method

+ 16 - 0
classes/class_gpuparticles3d.rst

@@ -254,6 +254,10 @@ enum **TransformAlign**:
 
 :ref:`TransformAlign<enum_GPUParticles3D_TransformAlign>` **TRANSFORM_ALIGN_DISABLED** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_GPUParticles3D_constant_TRANSFORM_ALIGN_Z_BILLBOARD:
@@ -262,6 +266,10 @@ enum **TransformAlign**:
 
 :ref:`TransformAlign<enum_GPUParticles3D_TransformAlign>` **TRANSFORM_ALIGN_Z_BILLBOARD** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_GPUParticles3D_constant_TRANSFORM_ALIGN_Y_TO_VELOCITY:
@@ -270,6 +278,10 @@ enum **TransformAlign**:
 
 :ref:`TransformAlign<enum_GPUParticles3D_TransformAlign>` **TRANSFORM_ALIGN_Y_TO_VELOCITY** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_GPUParticles3D_constant_TRANSFORM_ALIGN_Z_BILLBOARD_Y_TO_VELOCITY:
@@ -278,6 +290,10 @@ enum **TransformAlign**:
 
 :ref:`TransformAlign<enum_GPUParticles3D_TransformAlign>` **TRANSFORM_ALIGN_Z_BILLBOARD_Y_TO_VELOCITY** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-section-separator

+ 122 - 39
classes/class_graphedit.rst

@@ -40,7 +40,7 @@ Properties
    +----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
    | :ref:`float<class_float>`                          | :ref:`connection_lines_curvature<class_GraphEdit_property_connection_lines_curvature>`     | ``0.5``                                                                   |
    +----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                          | :ref:`connection_lines_thickness<class_GraphEdit_property_connection_lines_thickness>`     | ``2.0``                                                                   |
+   | :ref:`float<class_float>`                          | :ref:`connection_lines_thickness<class_GraphEdit_property_connection_lines_thickness>`     | ``4.0``                                                                   |
    +----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
    | :ref:`FocusMode<enum_Control_FocusMode>`           | focus_mode                                                                                 | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`)       |
    +----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
@@ -118,10 +118,14 @@ Methods
    +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`force_connection_drag_end<class_GraphEdit_method_force_connection_drag_end>` **(** **)**                                                                                                                                                                                          |
    +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`get_connection_line<class_GraphEdit_method_get_connection_line>` **(** :ref:`Vector2<class_Vector2>` from_node, :ref:`Vector2<class_Vector2>` to_node **)**                                                                                                                       |
+   | :ref:`Dictionary<class_Dictionary>`                 | :ref:`get_closest_connection_at_point<class_GraphEdit_method_get_closest_connection_at_point>` **(** :ref:`Vector2<class_Vector2>` point, :ref:`float<class_float>` max_distance=4.0 **)** |const|                                                                                      |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`get_connection_line<class_GraphEdit_method_get_connection_line>` **(** :ref:`Vector2<class_Vector2>` from_node, :ref:`Vector2<class_Vector2>` to_node **)** |const|                                                                                                               |
    +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Dictionary[]<class_Dictionary>`               | :ref:`get_connection_list<class_GraphEdit_method_get_connection_list>` **(** **)** |const|                                                                                                                                                                                              |
    +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Dictionary[]<class_Dictionary>`               | :ref:`get_connections_intersecting_with_rect<class_GraphEdit_method_get_connections_intersecting_with_rect>` **(** :ref:`Rect2<class_Rect2>` rect **)** |const|                                                                                                                         |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`HBoxContainer<class_HBoxContainer>`           | :ref:`get_menu_hbox<class_GraphEdit_method_get_menu_hbox>` **(** **)**                                                                                                                                                                                                                  |
    +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                             | :ref:`is_node_connected<class_GraphEdit_method_is_node_connected>` **(** :ref:`StringName<class_StringName>` from_node, :ref:`int<class_int>` from_port, :ref:`StringName<class_StringName>` to_node, :ref:`int<class_int>` to_port **)**                                               |
@@ -147,39 +151,45 @@ Theme Properties
 .. table::
    :widths: auto
 
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Color<class_Color>`         | :ref:`activity<class_GraphEdit_theme_color_activity>`                                      | ``Color(1, 1, 1, 1)``    |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Color<class_Color>`         | :ref:`grid_major<class_GraphEdit_theme_color_grid_major>`                                  | ``Color(1, 1, 1, 0.2)``  |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Color<class_Color>`         | :ref:`grid_minor<class_GraphEdit_theme_color_grid_minor>`                                  | ``Color(1, 1, 1, 0.05)`` |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Color<class_Color>`         | :ref:`selection_fill<class_GraphEdit_theme_color_selection_fill>`                          | ``Color(1, 1, 1, 0.3)``  |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Color<class_Color>`         | :ref:`selection_stroke<class_GraphEdit_theme_color_selection_stroke>`                      | ``Color(1, 1, 1, 0.8)``  |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`int<class_int>`             | :ref:`port_hotzone_inner_extent<class_GraphEdit_theme_constant_port_hotzone_inner_extent>` | ``22``                   |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`int<class_int>`             | :ref:`port_hotzone_outer_extent<class_GraphEdit_theme_constant_port_hotzone_outer_extent>` | ``26``                   |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`grid_toggle<class_GraphEdit_theme_icon_grid_toggle>`                                 |                          |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`layout<class_GraphEdit_theme_icon_layout>`                                           |                          |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`minimap_toggle<class_GraphEdit_theme_icon_minimap_toggle>`                           |                          |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`snapping_toggle<class_GraphEdit_theme_icon_snapping_toggle>`                         |                          |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`zoom_in<class_GraphEdit_theme_icon_zoom_in>`                                         |                          |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`zoom_out<class_GraphEdit_theme_icon_zoom_out>`                                       |                          |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`zoom_reset<class_GraphEdit_theme_icon_zoom_reset>`                                   |                          |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`StyleBox<class_StyleBox>`   | :ref:`menu_panel<class_GraphEdit_theme_style_menu_panel>`                                  |                          |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`StyleBox<class_StyleBox>`   | :ref:`panel<class_GraphEdit_theme_style_panel>`                                            |                          |
-   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Color<class_Color>`         | :ref:`activity<class_GraphEdit_theme_color_activity>`                                                     | ``Color(1, 1, 1, 1)``         |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Color<class_Color>`         | :ref:`connection_hover_tint_color<class_GraphEdit_theme_color_connection_hover_tint_color>`               | ``Color(0, 0, 0, 0.3)``       |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Color<class_Color>`         | :ref:`connection_rim_color<class_GraphEdit_theme_color_connection_rim_color>`                             | ``Color(0.1, 0.1, 0.1, 0.6)`` |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Color<class_Color>`         | :ref:`connection_valid_target_tint_color<class_GraphEdit_theme_color_connection_valid_target_tint_color>` | ``Color(1, 1, 1, 0.4)``       |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Color<class_Color>`         | :ref:`grid_major<class_GraphEdit_theme_color_grid_major>`                                                 | ``Color(1, 1, 1, 0.2)``       |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Color<class_Color>`         | :ref:`grid_minor<class_GraphEdit_theme_color_grid_minor>`                                                 | ``Color(1, 1, 1, 0.05)``      |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Color<class_Color>`         | :ref:`selection_fill<class_GraphEdit_theme_color_selection_fill>`                                         | ``Color(1, 1, 1, 0.3)``       |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Color<class_Color>`         | :ref:`selection_stroke<class_GraphEdit_theme_color_selection_stroke>`                                     | ``Color(1, 1, 1, 0.8)``       |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`int<class_int>`             | :ref:`port_hotzone_inner_extent<class_GraphEdit_theme_constant_port_hotzone_inner_extent>`                | ``22``                        |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`int<class_int>`             | :ref:`port_hotzone_outer_extent<class_GraphEdit_theme_constant_port_hotzone_outer_extent>`                | ``26``                        |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`grid_toggle<class_GraphEdit_theme_icon_grid_toggle>`                                                |                               |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`layout<class_GraphEdit_theme_icon_layout>`                                                          |                               |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`minimap_toggle<class_GraphEdit_theme_icon_minimap_toggle>`                                          |                               |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`snapping_toggle<class_GraphEdit_theme_icon_snapping_toggle>`                                        |                               |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`zoom_in<class_GraphEdit_theme_icon_zoom_in>`                                                        |                               |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`zoom_out<class_GraphEdit_theme_icon_zoom_out>`                                                      |                               |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`zoom_reset<class_GraphEdit_theme_icon_zoom_reset>`                                                  |                               |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`StyleBox<class_StyleBox>`   | :ref:`menu_panel<class_GraphEdit_theme_style_menu_panel>`                                                 |                               |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`StyleBox<class_StyleBox>`   | :ref:`panel<class_GraphEdit_theme_style_panel>`                                                           |                               |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -484,7 +494,7 @@ The curvature of the lines between the nodes. 0 results in straight lines.
 
 .. rst-class:: classref-property
 
-:ref:`float<class_float>` **connection_lines_thickness** = ``2.0``
+:ref:`float<class_float>` **connection_lines_thickness** = ``4.0``
 
 .. rst-class:: classref-property-setget
 
@@ -1033,6 +1043,31 @@ This is best used together with :ref:`connection_drag_started<class_GraphEdit_si
 
 \ **Note:** This method suppresses any other connection request signals apart from :ref:`connection_drag_ended<class_GraphEdit_signal_connection_drag_ended>`.
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_GraphEdit_method_get_closest_connection_at_point:
+
+.. rst-class:: classref-method
+
+:ref:`Dictionary<class_Dictionary>` **get_closest_connection_at_point** **(** :ref:`Vector2<class_Vector2>` point, :ref:`float<class_float>` max_distance=4.0 **)** |const|
+
+Returns the closest connection to the given point in screen space. If no connection is found within ``max_distance`` pixels, an empty :ref:`Dictionary<class_Dictionary>` is returned.
+
+A connection consists in a structure of the form ``{ from_port: 0, from_node: "GraphNode name 0", to_port: 1, to_node: "GraphNode name 1" }``.
+
+For example, getting a connection at a given mouse position can be achieved like this:
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var connection = get_closest_connection_at_point(mouse_event.get_position())
+
+
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -1041,7 +1076,7 @@ This is best used together with :ref:`connection_drag_started<class_GraphEdit_si
 
 .. rst-class:: classref-method
 
-:ref:`PackedVector2Array<class_PackedVector2Array>` **get_connection_line** **(** :ref:`Vector2<class_Vector2>` from_node, :ref:`Vector2<class_Vector2>` to_node **)**
+:ref:`PackedVector2Array<class_PackedVector2Array>` **get_connection_line** **(** :ref:`Vector2<class_Vector2>` from_node, :ref:`Vector2<class_Vector2>` to_node **)** |const|
 
 Returns the points which would make up a connection between ``from_node`` and ``to_node``.
 
@@ -1055,7 +1090,19 @@ Returns the points which would make up a connection between ``from_node`` and ``
 
 :ref:`Dictionary[]<class_Dictionary>` **get_connection_list** **(** **)** |const|
 
-Returns an Array containing the list of connections. A connection consists in a structure of the form ``{ from_port: 0, from_node: "GraphNode name 0", to_port: 1, to_node: "GraphNode name 1" }``.
+Returns an :ref:`Array<class_Array>` containing the list of connections. A connection consists in a structure of the form ``{ from_port: 0, from_node: "GraphNode name 0", to_port: 1, to_node: "GraphNode name 1" }``.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_GraphEdit_method_get_connections_intersecting_with_rect:
+
+.. rst-class:: classref-method
+
+:ref:`Dictionary[]<class_Dictionary>` **get_connections_intersecting_with_rect** **(** :ref:`Rect2<class_Rect2>` rect **)** |const|
+
+Returns an :ref:`Array<class_Array>` containing the list of connections that intersect with the given :ref:`Rect2<class_Rect2>`. A connection consists in a structure of the form ``{ from_port: 0, from_node: "GraphNode name 0", to_port: 1, to_node: "GraphNode name 1" }``.
 
 .. rst-class:: classref-item-separator
 
@@ -1174,7 +1221,43 @@ Theme Property Descriptions
 
 :ref:`Color<class_Color>` **activity** = ``Color(1, 1, 1, 1)``
 
-Color of the connection's activity (see :ref:`set_connection_activity<class_GraphEdit_method_set_connection_activity>`).
+Color the connection line is interpolated to based on the activity value of a connection (see :ref:`set_connection_activity<class_GraphEdit_method_set_connection_activity>`).
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_GraphEdit_theme_color_connection_hover_tint_color:
+
+.. rst-class:: classref-themeproperty
+
+:ref:`Color<class_Color>` **connection_hover_tint_color** = ``Color(0, 0, 0, 0.3)``
+
+Color which is blended with the connection line when the mouse is hovering over it.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_GraphEdit_theme_color_connection_rim_color:
+
+.. rst-class:: classref-themeproperty
+
+:ref:`Color<class_Color>` **connection_rim_color** = ``Color(0.1, 0.1, 0.1, 0.6)``
+
+Color of the rim around each connection line used for making intersecting lines more distinguishable.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_GraphEdit_theme_color_connection_valid_target_tint_color:
+
+.. rst-class:: classref-themeproperty
+
+:ref:`Color<class_Color>` **connection_valid_target_tint_color** = ``Color(1, 1, 1, 0.4)``
+
+Color which is blended with the connection line when the currently dragged connection is hovering over a valid target port.
 
 .. rst-class:: classref-item-separator
 

+ 4 - 0
classes/class_hingejoint3d.rst

@@ -122,6 +122,10 @@ The speed with which the rotation across the axis perpendicular to the hinge get
 
 :ref:`Param<enum_HingeJoint3D_Param>` **PARAM_LIMIT_SOFTNESS** = ``4``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_HingeJoint3D_constant_PARAM_LIMIT_RELAXATION:

+ 8 - 0
classes/class_httprequest.rst

@@ -290,6 +290,10 @@ Request successful.
 
 :ref:`Result<enum_HTTPRequest_Result>` **RESULT_CHUNKED_BODY_SIZE_MISMATCH** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_HTTPRequest_constant_RESULT_CANT_CONNECT:
@@ -346,6 +350,10 @@ Request exceeded its maximum size limit, see :ref:`body_size_limit<class_HTTPReq
 
 :ref:`Result<enum_HTTPRequest_Result>` **RESULT_BODY_DECOMPRESS_FAILED** = ``8``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_HTTPRequest_constant_RESULT_REQUEST_FAILED:

+ 12 - 0
classes/class_imageformatloader.rst

@@ -44,6 +44,10 @@ flags **LoaderFlags**:
 
 :ref:`LoaderFlags<enum_ImageFormatLoader_LoaderFlags>` **FLAG_NONE** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ImageFormatLoader_constant_FLAG_FORCE_LINEAR:
@@ -52,6 +56,10 @@ flags **LoaderFlags**:
 
 :ref:`LoaderFlags<enum_ImageFormatLoader_LoaderFlags>` **FLAG_FORCE_LINEAR** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ImageFormatLoader_constant_FLAG_CONVERT_COLORS:
@@ -60,6 +68,10 @@ flags **LoaderFlags**:
 
 :ref:`LoaderFlags<enum_ImageFormatLoader_LoaderFlags>` **FLAG_CONVERT_COLORS** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`

+ 16 - 0
classes/class_jsonrpc.rst

@@ -66,6 +66,10 @@ enum **ErrorCode**:
 
 :ref:`ErrorCode<enum_JSONRPC_ErrorCode>` **PARSE_ERROR** = ``-32700``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_JSONRPC_constant_INVALID_REQUEST:
@@ -74,6 +78,10 @@ enum **ErrorCode**:
 
 :ref:`ErrorCode<enum_JSONRPC_ErrorCode>` **INVALID_REQUEST** = ``-32600``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_JSONRPC_constant_METHOD_NOT_FOUND:
@@ -90,6 +98,10 @@ A method call was requested but no function of that name existed in the JSONRPC
 
 :ref:`ErrorCode<enum_JSONRPC_ErrorCode>` **INVALID_PARAMS** = ``-32602``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_JSONRPC_constant_INTERNAL_ERROR:
@@ -98,6 +110,10 @@ A method call was requested but no function of that name existed in the JSONRPC
 
 :ref:`ErrorCode<enum_JSONRPC_ErrorCode>` **INTERNAL_ERROR** = ``-32603``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-section-separator

+ 1 - 1
classes/class_mainloop.rst

@@ -23,7 +23,7 @@ Description
 
 **MainLoop** is the abstract base class for a Godot project's game loop. It is inherited by :ref:`SceneTree<class_SceneTree>`, which is the default game loop implementation used in Godot projects, though it is also possible to write and use one's own **MainLoop** subclass instead of the scene tree.
 
-Upon the application start, a **MainLoop** implementation must be provided to the OS; otherwise, the application will exit. This happens automatically (and a :ref:`SceneTree<class_SceneTree>` is created) unless a **MainLoop** :ref:`Script<class_Script>` is provided from the command line (with e.g. ``godot -s my_loop.gd`` or the "Main Loop Type" project setting is overwritten.
+Upon the application start, a **MainLoop** implementation must be provided to the OS; otherwise, the application will exit. This happens automatically (and a :ref:`SceneTree<class_SceneTree>` is created) unless a **MainLoop** :ref:`Script<class_Script>` is provided from the command line (with e.g. ``godot -s my_loop.gd``) or the "Main Loop Type" project setting is overwritten.
 
 Here is an example script implementing a simple **MainLoop**:
 

+ 1 - 1
classes/class_navigationserver2d.rst

@@ -1042,7 +1042,7 @@ This function immediately forces synchronization of the specified navigation ``m
 
 Due to technical restrictions the current NavigationServer command queue will be flushed. This means all already queued update commands for this physics frame will be executed, even those intended for other maps, regions and agents not part of the specified map. The expensive computation of the navigation meshes and region connections of a map will only be done for the specified map. Other maps will receive the normal synchronization at the end of the physics frame. Should the specified map receive changes after the forced update it will update again as well when the other maps receive their update.
 
-Avoidance processing and dispatch of the ``safe_velocity`` signals is untouched by this function and continues to happen for all maps and agents at the end of the physics frame.
+Avoidance processing and dispatch of the ``safe_velocity`` signals is unaffected by this function and continues to happen for all maps and agents at the end of the physics frame.
 
 \ **Note:** With great power comes great responsibility. This function should only be used by users that really know what they are doing and have a good reason for it. Forcing an immediate update of a navigation map requires locking the NavigationServer and flushing the entire NavigationServer command queue. Not only can this severely impact the performance of a game but it can also introduce bugs if used inappropriately without much foresight.
 

+ 1 - 1
classes/class_navigationserver3d.rst

@@ -1239,7 +1239,7 @@ This function immediately forces synchronization of the specified navigation ``m
 
 Due to technical restrictions the current NavigationServer command queue will be flushed. This means all already queued update commands for this physics frame will be executed, even those intended for other maps, regions and agents not part of the specified map. The expensive computation of the navigation meshes and region connections of a map will only be done for the specified map. Other maps will receive the normal synchronization at the end of the physics frame. Should the specified map receive changes after the forced update it will update again as well when the other maps receive their update.
 
-Avoidance processing and dispatch of the ``safe_velocity`` signals is untouched by this function and continues to happen for all maps and agents at the end of the physics frame.
+Avoidance processing and dispatch of the ``safe_velocity`` signals is unaffected by this function and continues to happen for all maps and agents at the end of the physics frame.
 
 \ **Note:** With great power comes great responsibility. This function should only be used by users that really know what they are doing and have a good reason for it. Forcing an immediate update of a navigation map requires locking the NavigationServer and flushing the entire NavigationServer command queue. Not only can this severely impact the performance of a game but it can also introduce bugs if used inappropriately without much foresight.
 

+ 12 - 0
classes/class_node.rst

@@ -524,6 +524,10 @@ flags **ProcessThreadMessages**:
 
 :ref:`ProcessThreadMessages<enum_Node_ProcessThreadMessages>` **FLAG_PROCESS_THREAD_MESSAGES** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Node_constant_FLAG_PROCESS_THREAD_MESSAGES_PHYSICS:
@@ -532,6 +536,10 @@ flags **ProcessThreadMessages**:
 
 :ref:`ProcessThreadMessages<enum_Node_ProcessThreadMessages>` **FLAG_PROCESS_THREAD_MESSAGES_PHYSICS** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Node_constant_FLAG_PROCESS_THREAD_MESSAGES_ALL:
@@ -540,6 +548,10 @@ flags **ProcessThreadMessages**:
 
 :ref:`ProcessThreadMessages<enum_Node_ProcessThreadMessages>` **FLAG_PROCESS_THREAD_MESSAGES_ALL** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-item-separator

+ 4 - 0
classes/class_openxraction.rst

@@ -88,6 +88,10 @@ This action provides a :ref:`Vector2<class_Vector2>` value and can be bound to e
 
 :ref:`ActionType<enum_OpenXRAction_ActionType>` **OPENXR_ACTION_POSE** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-section-separator

+ 55 - 0
classes/class_openxrhand.rst

@@ -25,6 +25,8 @@ If the skeleton is a hand (one of the hand bones is the root node of the skeleto
 
 If the hand bones are part of a full skeleton, then the root of the hand will keep its location with the assumption that IK is used to position the hand and arm.
 
+By default the skeleton hand bones are repositioned to match the size of the tracked hand. To preserve the modeled bone sizes change :ref:`bone_update<class_OpenXRHand_property_bone_update>` to apply rotation only.
+
 .. rst-class:: classref-reftable-group
 
 Properties
@@ -33,6 +35,8 @@ Properties
 .. table::
    :widths: auto
 
+   +-------------------------------------------------+---------------------------------------------------------------+------------------+
+   | :ref:`BoneUpdate<enum_OpenXRHand_BoneUpdate>`   | :ref:`bone_update<class_OpenXRHand_property_bone_update>`     | ``0``            |
    +-------------------------------------------------+---------------------------------------------------------------+------------------+
    | :ref:`Hands<enum_OpenXRHand_Hands>`             | :ref:`hand<class_OpenXRHand_property_hand>`                   | ``0``            |
    +-------------------------------------------------+---------------------------------------------------------------+------------------+
@@ -150,6 +154,40 @@ A :ref:`SkeletonProfileHumanoid<class_SkeletonProfileHumanoid>` compliant skelet
 
 Maximum supported hands.
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _enum_OpenXRHand_BoneUpdate:
+
+.. rst-class:: classref-enumeration
+
+enum **BoneUpdate**:
+
+.. _class_OpenXRHand_constant_BONE_UPDATE_FULL:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`BoneUpdate<enum_OpenXRHand_BoneUpdate>` **BONE_UPDATE_FULL** = ``0``
+
+The skeletons bones are fully updated (both position and rotation) to match the tracked bones.
+
+.. _class_OpenXRHand_constant_BONE_UPDATE_ROTATION_ONLY:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`BoneUpdate<enum_OpenXRHand_BoneUpdate>` **BONE_UPDATE_ROTATION_ONLY** = ``1``
+
+The skeletons bones are only rotated to align with the tracked bones, preserving bone length.
+
+.. _class_OpenXRHand_constant_BONE_UPDATE_MAX:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`BoneUpdate<enum_OpenXRHand_BoneUpdate>` **BONE_UPDATE_MAX** = ``2``
+
+Maximum supported bone update mode.
+
 .. rst-class:: classref-section-separator
 
 ----
@@ -159,6 +197,23 @@ Maximum supported hands.
 Property Descriptions
 ---------------------
 
+.. _class_OpenXRHand_property_bone_update:
+
+.. rst-class:: classref-property
+
+:ref:`BoneUpdate<enum_OpenXRHand_BoneUpdate>` **bone_update** = ``0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_bone_update** **(** :ref:`BoneUpdate<enum_OpenXRHand_BoneUpdate>` value **)**
+- :ref:`BoneUpdate<enum_OpenXRHand_BoneUpdate>` **get_bone_update** **(** **)**
+
+Specify the type of updates to perform on the bone.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_OpenXRHand_property_hand:
 
 .. rst-class:: classref-property

+ 20 - 0
classes/class_particleprocessmaterial.rst

@@ -456,6 +456,10 @@ Use with :ref:`set_particle_flag<class_ParticleProcessMaterial_method_set_partic
 
 :ref:`ParticleFlags<enum_ParticleProcessMaterial_ParticleFlags>` **PARTICLE_FLAG_DAMPING_AS_FRICTION** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ParticleProcessMaterial_constant_PARTICLE_FLAG_MAX:
@@ -556,6 +560,10 @@ enum **SubEmitterMode**:
 
 :ref:`SubEmitterMode<enum_ParticleProcessMaterial_SubEmitterMode>` **SUB_EMITTER_DISABLED** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ParticleProcessMaterial_constant_SUB_EMITTER_CONSTANT:
@@ -564,6 +572,10 @@ enum **SubEmitterMode**:
 
 :ref:`SubEmitterMode<enum_ParticleProcessMaterial_SubEmitterMode>` **SUB_EMITTER_CONSTANT** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ParticleProcessMaterial_constant_SUB_EMITTER_AT_END:
@@ -572,6 +584,10 @@ enum **SubEmitterMode**:
 
 :ref:`SubEmitterMode<enum_ParticleProcessMaterial_SubEmitterMode>` **SUB_EMITTER_AT_END** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ParticleProcessMaterial_constant_SUB_EMITTER_AT_COLLISION:
@@ -580,6 +596,10 @@ enum **SubEmitterMode**:
 
 :ref:`SubEmitterMode<enum_ParticleProcessMaterial_SubEmitterMode>` **SUB_EMITTER_AT_COLLISION** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ParticleProcessMaterial_constant_SUB_EMITTER_MAX:

+ 24 - 0
classes/class_physicalbone3d.rst

@@ -132,6 +132,10 @@ enum **JointType**:
 
 :ref:`JointType<enum_PhysicalBone3D_JointType>` **JOINT_TYPE_NONE** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PhysicalBone3D_constant_JOINT_TYPE_PIN:
@@ -140,6 +144,10 @@ enum **JointType**:
 
 :ref:`JointType<enum_PhysicalBone3D_JointType>` **JOINT_TYPE_PIN** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PhysicalBone3D_constant_JOINT_TYPE_CONE:
@@ -148,6 +156,10 @@ enum **JointType**:
 
 :ref:`JointType<enum_PhysicalBone3D_JointType>` **JOINT_TYPE_CONE** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PhysicalBone3D_constant_JOINT_TYPE_HINGE:
@@ -156,6 +168,10 @@ enum **JointType**:
 
 :ref:`JointType<enum_PhysicalBone3D_JointType>` **JOINT_TYPE_HINGE** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PhysicalBone3D_constant_JOINT_TYPE_SLIDER:
@@ -164,6 +180,10 @@ enum **JointType**:
 
 :ref:`JointType<enum_PhysicalBone3D_JointType>` **JOINT_TYPE_SLIDER** = ``4``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PhysicalBone3D_constant_JOINT_TYPE_6DOF:
@@ -172,6 +192,10 @@ enum **JointType**:
 
 :ref:`JointType<enum_PhysicalBone3D_JointType>` **JOINT_TYPE_6DOF** = ``5``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-section-separator

+ 28 - 0
classes/class_physicsserver3d.rst

@@ -464,6 +464,10 @@ The speed with which the rotation across the axis perpendicular to the hinge get
 
 :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` **HINGE_JOINT_LIMIT_SOFTNESS** = ``4``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PhysicsServer3D_constant_HINGE_JOINT_LIMIT_RELAXATION:
@@ -1588,6 +1592,10 @@ enum **BodyAxis**:
 
 :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_LINEAR_X** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PhysicsServer3D_constant_BODY_AXIS_LINEAR_Y:
@@ -1596,6 +1604,10 @@ enum **BodyAxis**:
 
 :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_LINEAR_Y** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PhysicsServer3D_constant_BODY_AXIS_LINEAR_Z:
@@ -1604,6 +1616,10 @@ enum **BodyAxis**:
 
 :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_LINEAR_Z** = ``4``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PhysicsServer3D_constant_BODY_AXIS_ANGULAR_X:
@@ -1612,6 +1628,10 @@ enum **BodyAxis**:
 
 :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_ANGULAR_X** = ``8``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PhysicsServer3D_constant_BODY_AXIS_ANGULAR_Y:
@@ -1620,6 +1640,10 @@ enum **BodyAxis**:
 
 :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_ANGULAR_Y** = ``16``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PhysicsServer3D_constant_BODY_AXIS_ANGULAR_Z:
@@ -1628,6 +1652,10 @@ enum **BodyAxis**:
 
 :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_ANGULAR_Z** = ``32``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-section-separator

+ 24 - 0
classes/class_portablecompressedtexture2d.rst

@@ -88,6 +88,10 @@ enum **CompressionMode**:
 
 :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>` **COMPRESSION_MODE_LOSSLESS** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PortableCompressedTexture2D_constant_COMPRESSION_MODE_LOSSY:
@@ -96,6 +100,10 @@ enum **CompressionMode**:
 
 :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>` **COMPRESSION_MODE_LOSSY** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PortableCompressedTexture2D_constant_COMPRESSION_MODE_BASIS_UNIVERSAL:
@@ -104,6 +112,10 @@ enum **CompressionMode**:
 
 :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>` **COMPRESSION_MODE_BASIS_UNIVERSAL** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PortableCompressedTexture2D_constant_COMPRESSION_MODE_S3TC:
@@ -112,6 +124,10 @@ enum **CompressionMode**:
 
 :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>` **COMPRESSION_MODE_S3TC** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PortableCompressedTexture2D_constant_COMPRESSION_MODE_ETC2:
@@ -120,6 +136,10 @@ enum **CompressionMode**:
 
 :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>` **COMPRESSION_MODE_ETC2** = ``4``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_PortableCompressedTexture2D_constant_COMPRESSION_MODE_BPTC:
@@ -128,6 +148,10 @@ enum **CompressionMode**:
 
 :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>` **COMPRESSION_MODE_BPTC** = ``5``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-section-separator

+ 1 - 3
classes/class_primitivemesh.rst

@@ -166,9 +166,7 @@ Method Descriptions
 
 :ref:`Array<class_Array>` **_create_mesh_array** **(** **)** |virtual| |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override this method to customize how this primitive mesh should be generated. Should return an :ref:`Array<class_Array>` where each element is another Array of values required for the mesh (see the :ref:`ArrayType<enum_Mesh_ArrayType>` constants).
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_proceduralskymaterial.rst

@@ -23,7 +23,7 @@ Description
 
 \ **ProceduralSkyMaterial** supports up to 4 suns, using the color, and energy, direction, and angular distance of the first four :ref:`DirectionalLight3D<class_DirectionalLight3D>` nodes in the scene. This means that the suns are defined individually by the properties of their corresponding :ref:`DirectionalLight3D<class_DirectionalLight3D>`\ s and globally by :ref:`sun_angle_max<class_ProceduralSkyMaterial_property_sun_angle_max>` and :ref:`sun_curve<class_ProceduralSkyMaterial_property_sun_curve>`.
 
-\ **ProceduralSkyMaterial** uses a lightweight shader to draw the sky and is therefore suited for real time updates. This makes it a great option for a sky that is simple and computationally cheap, but unrealistic. If you need a more realistic procedural option, use :ref:`PhysicalSkyMaterial<class_PhysicalSkyMaterial>`.
+\ **ProceduralSkyMaterial** uses a lightweight shader to draw the sky and is therefore suited for real-time updates. This makes it a great option for a sky that is simple and computationally cheap, but unrealistic. If you need a more realistic procedural option, use :ref:`PhysicalSkyMaterial<class_PhysicalSkyMaterial>`.
 
 .. rst-class:: classref-reftable-group
 

+ 3 - 5
classes/class_projectsettings.rst

@@ -2242,7 +2242,7 @@ If ``true``, text-to-speech support is enabled, see :ref:`DisplayServer.tts_get_
 
 :ref:`int<class_int>` **audio/video/video_delay_compensation_ms** = ``0``
 
-Setting to hardcode audio delay when playing video. Best to leave this untouched unless you know what you are doing.
+Setting to hardcode audio delay when playing video. Best to leave this unchanged unless you know what you are doing.
 
 .. rst-class:: classref-item-separator
 
@@ -9100,7 +9100,7 @@ Controls the maximum number of physics steps that can be simulated each rendered
 
 :ref:`float<class_float>` **physics/common/physics_jitter_fix** = ``0.5``
 
-Controls how much physics ticks are synchronized with real time. For 0 or less, the ticks are synchronized. Such values are recommended for network games, where clock synchronization matters. Higher values cause higher deviation of in-game clock and real clock, but allows smoothing out framerate jitters. The default value of 0.5 should be fine for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended.
+Controls how much physics ticks are synchronized with real time. For 0 or less, the ticks are synchronized. Such values are recommended for network games, where clock synchronization matters. Higher values cause higher deviation of in-game clock and real clock, but allows smoothing out framerate jitters. The default value of 0.5 should be good enough for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended.
 
 \ **Note:** For best results, when using a custom physics interpolation solution, the physics jitter fix should be disabled by setting :ref:`physics/common/physics_jitter_fix<class_ProjectSettings_property_physics/common/physics_jitter_fix>` to ``0``.
 
@@ -10362,9 +10362,7 @@ Max number of positional lights renderable in a frame. If more lights than this
 
 :ref:`int<class_int>` **rendering/limits/spatial_indexer/threaded_cull_minimum_instances** = ``1000``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The minimum number of instances that must be present in a scene to enable culling computations on multiple threads. If a scene has fewer instances than this number, culling is done on a single thread.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_randomnumbergenerator.rst

@@ -23,7 +23,7 @@ RandomNumberGenerator is a class for generating pseudo-random numbers. It curren
 
 \ **Note:** The underlying algorithm is an implementation detail and should not be depended upon.
 
-To generate a random float number (within a given range) based on a time-dependant seed:
+To generate a random float number (within a given range) based on a time-dependent seed:
 
 ::
 

+ 32 - 0
classes/class_renderingdevice.rst

@@ -2931,6 +2931,10 @@ flags **StorageBufferUsage**:
 
 :ref:`StorageBufferUsage<enum_RenderingDevice_StorageBufferUsage>` **STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-item-separator
@@ -3761,6 +3765,10 @@ flags **PipelineDynamicStateFlags**:
 
 :ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>` **DYNAMIC_STATE_LINE_WIDTH** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingDevice_constant_DYNAMIC_STATE_DEPTH_BIAS:
@@ -3769,6 +3777,10 @@ flags **PipelineDynamicStateFlags**:
 
 :ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>` **DYNAMIC_STATE_DEPTH_BIAS** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingDevice_constant_DYNAMIC_STATE_BLEND_CONSTANTS:
@@ -3777,6 +3789,10 @@ flags **PipelineDynamicStateFlags**:
 
 :ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>` **DYNAMIC_STATE_BLEND_CONSTANTS** = ``4``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingDevice_constant_DYNAMIC_STATE_DEPTH_BOUNDS:
@@ -3785,6 +3801,10 @@ flags **PipelineDynamicStateFlags**:
 
 :ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>` **DYNAMIC_STATE_DEPTH_BOUNDS** = ``8``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingDevice_constant_DYNAMIC_STATE_STENCIL_COMPARE_MASK:
@@ -3793,6 +3813,10 @@ flags **PipelineDynamicStateFlags**:
 
 :ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>` **DYNAMIC_STATE_STENCIL_COMPARE_MASK** = ``16``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingDevice_constant_DYNAMIC_STATE_STENCIL_WRITE_MASK:
@@ -3801,6 +3825,10 @@ flags **PipelineDynamicStateFlags**:
 
 :ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>` **DYNAMIC_STATE_STENCIL_WRITE_MASK** = ``32``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingDevice_constant_DYNAMIC_STATE_STENCIL_REFERENCE:
@@ -3809,6 +3837,10 @@ flags **PipelineDynamicStateFlags**:
 
 :ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>` **DYNAMIC_STATE_STENCIL_REFERENCE** = ``64``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-item-separator

+ 136 - 0
classes/class_renderingserver.rst

@@ -1510,6 +1510,10 @@ Flag used to mark an index array.
 
 :ref:`ArrayFormat<enum_RenderingServer_ArrayFormat>` **ARRAY_FORMAT_BLEND_SHAPE_MASK** = ``7``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_ARRAY_FORMAT_CUSTOM_BASE:
@@ -1518,6 +1522,10 @@ Flag used to mark an index array.
 
 :ref:`ArrayFormat<enum_RenderingServer_ArrayFormat>` **ARRAY_FORMAT_CUSTOM_BASE** = ``13``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_ARRAY_FORMAT_CUSTOM_BITS:
@@ -1526,6 +1534,10 @@ Flag used to mark an index array.
 
 :ref:`ArrayFormat<enum_RenderingServer_ArrayFormat>` **ARRAY_FORMAT_CUSTOM_BITS** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_ARRAY_FORMAT_CUSTOM0_SHIFT:
@@ -1534,6 +1546,10 @@ Flag used to mark an index array.
 
 :ref:`ArrayFormat<enum_RenderingServer_ArrayFormat>` **ARRAY_FORMAT_CUSTOM0_SHIFT** = ``13``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_ARRAY_FORMAT_CUSTOM1_SHIFT:
@@ -1542,6 +1558,10 @@ Flag used to mark an index array.
 
 :ref:`ArrayFormat<enum_RenderingServer_ArrayFormat>` **ARRAY_FORMAT_CUSTOM1_SHIFT** = ``16``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_ARRAY_FORMAT_CUSTOM2_SHIFT:
@@ -1550,6 +1570,10 @@ Flag used to mark an index array.
 
 :ref:`ArrayFormat<enum_RenderingServer_ArrayFormat>` **ARRAY_FORMAT_CUSTOM2_SHIFT** = ``19``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_ARRAY_FORMAT_CUSTOM3_SHIFT:
@@ -1558,6 +1582,10 @@ Flag used to mark an index array.
 
 :ref:`ArrayFormat<enum_RenderingServer_ArrayFormat>` **ARRAY_FORMAT_CUSTOM3_SHIFT** = ``22``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_ARRAY_FORMAT_CUSTOM_MASK:
@@ -1566,6 +1594,10 @@ Flag used to mark an index array.
 
 :ref:`ArrayFormat<enum_RenderingServer_ArrayFormat>` **ARRAY_FORMAT_CUSTOM_MASK** = ``7``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_ARRAY_COMPRESS_FLAGS_BASE:
@@ -1574,6 +1606,10 @@ Flag used to mark an index array.
 
 :ref:`ArrayFormat<enum_RenderingServer_ArrayFormat>` **ARRAY_COMPRESS_FLAGS_BASE** = ``25``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_ARRAY_FLAG_USE_2D_VERTICES:
@@ -1590,6 +1626,10 @@ Flag used to mark that the array contains 2D vertices.
 
 :ref:`ArrayFormat<enum_RenderingServer_ArrayFormat>` **ARRAY_FLAG_USE_DYNAMIC_UPDATE** = ``67108864``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_ARRAY_FLAG_USE_8_BONE_WEIGHTS:
@@ -2034,6 +2074,10 @@ Blurs the edges of the shadow. Can be used to hide pixel artifacts in low resolu
 
 :ref:`LightParam<enum_RenderingServer_LightParam>` **LIGHT_PARAM_TRANSMITTANCE_BIAS** = ``19``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_LIGHT_PARAM_INTENSITY:
@@ -2484,6 +2528,10 @@ enum **ParticlesTransformAlign**:
 
 :ref:`ParticlesTransformAlign<enum_RenderingServer_ParticlesTransformAlign>` **PARTICLES_TRANSFORM_ALIGN_DISABLED** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_TRANSFORM_ALIGN_Z_BILLBOARD:
@@ -2492,6 +2540,10 @@ enum **ParticlesTransformAlign**:
 
 :ref:`ParticlesTransformAlign<enum_RenderingServer_ParticlesTransformAlign>` **PARTICLES_TRANSFORM_ALIGN_Z_BILLBOARD** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_TRANSFORM_ALIGN_Y_TO_VELOCITY:
@@ -2500,6 +2552,10 @@ enum **ParticlesTransformAlign**:
 
 :ref:`ParticlesTransformAlign<enum_RenderingServer_ParticlesTransformAlign>` **PARTICLES_TRANSFORM_ALIGN_Y_TO_VELOCITY** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_TRANSFORM_ALIGN_Z_BILLBOARD_Y_TO_VELOCITY:
@@ -2508,6 +2564,10 @@ enum **ParticlesTransformAlign**:
 
 :ref:`ParticlesTransformAlign<enum_RenderingServer_ParticlesTransformAlign>` **PARTICLES_TRANSFORM_ALIGN_Z_BILLBOARD_Y_TO_VELOCITY** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-item-separator
@@ -2568,6 +2628,10 @@ enum **ParticlesCollisionType**:
 
 :ref:`ParticlesCollisionType<enum_RenderingServer_ParticlesCollisionType>` **PARTICLES_COLLISION_TYPE_SPHERE_ATTRACT** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_COLLISION_TYPE_BOX_ATTRACT:
@@ -2576,6 +2640,10 @@ enum **ParticlesCollisionType**:
 
 :ref:`ParticlesCollisionType<enum_RenderingServer_ParticlesCollisionType>` **PARTICLES_COLLISION_TYPE_BOX_ATTRACT** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_COLLISION_TYPE_VECTOR_FIELD_ATTRACT:
@@ -2584,6 +2652,10 @@ enum **ParticlesCollisionType**:
 
 :ref:`ParticlesCollisionType<enum_RenderingServer_ParticlesCollisionType>` **PARTICLES_COLLISION_TYPE_VECTOR_FIELD_ATTRACT** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_COLLISION_TYPE_SPHERE_COLLIDE:
@@ -2592,6 +2664,10 @@ enum **ParticlesCollisionType**:
 
 :ref:`ParticlesCollisionType<enum_RenderingServer_ParticlesCollisionType>` **PARTICLES_COLLISION_TYPE_SPHERE_COLLIDE** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_COLLISION_TYPE_BOX_COLLIDE:
@@ -2600,6 +2676,10 @@ enum **ParticlesCollisionType**:
 
 :ref:`ParticlesCollisionType<enum_RenderingServer_ParticlesCollisionType>` **PARTICLES_COLLISION_TYPE_BOX_COLLIDE** = ``4``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_COLLISION_TYPE_SDF_COLLIDE:
@@ -2608,6 +2688,10 @@ enum **ParticlesCollisionType**:
 
 :ref:`ParticlesCollisionType<enum_RenderingServer_ParticlesCollisionType>` **PARTICLES_COLLISION_TYPE_SDF_COLLIDE** = ``5``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_COLLISION_TYPE_HEIGHTFIELD_COLLIDE:
@@ -2616,6 +2700,10 @@ enum **ParticlesCollisionType**:
 
 :ref:`ParticlesCollisionType<enum_RenderingServer_ParticlesCollisionType>` **PARTICLES_COLLISION_TYPE_HEIGHTFIELD_COLLIDE** = ``6``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-item-separator
@@ -2634,6 +2722,10 @@ enum **ParticlesCollisionHeightfieldResolution**:
 
 :ref:`ParticlesCollisionHeightfieldResolution<enum_RenderingServer_ParticlesCollisionHeightfieldResolution>` **PARTICLES_COLLISION_HEIGHTFIELD_RESOLUTION_256** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_COLLISION_HEIGHTFIELD_RESOLUTION_512:
@@ -2642,6 +2734,10 @@ enum **ParticlesCollisionHeightfieldResolution**:
 
 :ref:`ParticlesCollisionHeightfieldResolution<enum_RenderingServer_ParticlesCollisionHeightfieldResolution>` **PARTICLES_COLLISION_HEIGHTFIELD_RESOLUTION_512** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_COLLISION_HEIGHTFIELD_RESOLUTION_1024:
@@ -2650,6 +2746,10 @@ enum **ParticlesCollisionHeightfieldResolution**:
 
 :ref:`ParticlesCollisionHeightfieldResolution<enum_RenderingServer_ParticlesCollisionHeightfieldResolution>` **PARTICLES_COLLISION_HEIGHTFIELD_RESOLUTION_1024** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_COLLISION_HEIGHTFIELD_RESOLUTION_2048:
@@ -2658,6 +2758,10 @@ enum **ParticlesCollisionHeightfieldResolution**:
 
 :ref:`ParticlesCollisionHeightfieldResolution<enum_RenderingServer_ParticlesCollisionHeightfieldResolution>` **PARTICLES_COLLISION_HEIGHTFIELD_RESOLUTION_2048** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_COLLISION_HEIGHTFIELD_RESOLUTION_4096:
@@ -2666,6 +2770,10 @@ enum **ParticlesCollisionHeightfieldResolution**:
 
 :ref:`ParticlesCollisionHeightfieldResolution<enum_RenderingServer_ParticlesCollisionHeightfieldResolution>` **PARTICLES_COLLISION_HEIGHTFIELD_RESOLUTION_4096** = ``4``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_COLLISION_HEIGHTFIELD_RESOLUTION_8192:
@@ -2674,6 +2782,10 @@ enum **ParticlesCollisionHeightfieldResolution**:
 
 :ref:`ParticlesCollisionHeightfieldResolution<enum_RenderingServer_ParticlesCollisionHeightfieldResolution>` **PARTICLES_COLLISION_HEIGHTFIELD_RESOLUTION_8192** = ``5``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_COLLISION_HEIGHTFIELD_RESOLUTION_MAX:
@@ -4788,6 +4900,10 @@ Parent is used for clipping child, but parent is also drawn underneath child as
 
 :ref:`CanvasGroupMode<enum_RenderingServer_CanvasGroupMode>` **CANVAS_GROUP_MODE_TRANSPARENT** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-item-separator
@@ -5347,6 +5463,10 @@ The number of custom data arrays available (:ref:`ARRAY_CUSTOM0<class_RenderingS
 
 **PARTICLES_EMIT_FLAG_POSITION** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this constant. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_EMIT_FLAG_ROTATION_SCALE:
@@ -5355,6 +5475,10 @@ The number of custom data arrays available (:ref:`ARRAY_CUSTOM0<class_RenderingS
 
 **PARTICLES_EMIT_FLAG_ROTATION_SCALE** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this constant. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_EMIT_FLAG_VELOCITY:
@@ -5363,6 +5487,10 @@ The number of custom data arrays available (:ref:`ARRAY_CUSTOM0<class_RenderingS
 
 **PARTICLES_EMIT_FLAG_VELOCITY** = ``4``
 
+.. container:: contribute
+
+	There is currently no description for this constant. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_EMIT_FLAG_COLOR:
@@ -5371,6 +5499,10 @@ The number of custom data arrays available (:ref:`ARRAY_CUSTOM0<class_RenderingS
 
 **PARTICLES_EMIT_FLAG_COLOR** = ``8``
 
+.. container:: contribute
+
+	There is currently no description for this constant. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_RenderingServer_constant_PARTICLES_EMIT_FLAG_CUSTOM:
@@ -5379,6 +5511,10 @@ The number of custom data arrays available (:ref:`ARRAY_CUSTOM0<class_RenderingS
 
 **PARTICLES_EMIT_FLAG_CUSTOM** = ``16``
 
+.. container:: contribute
+
+	There is currently no description for this constant. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-section-separator

+ 12 - 0
classes/class_resourceformatloader.rst

@@ -78,6 +78,10 @@ enum **CacheMode**:
 
 :ref:`CacheMode<enum_ResourceFormatLoader_CacheMode>` **CACHE_MODE_IGNORE** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ResourceFormatLoader_constant_CACHE_MODE_REUSE:
@@ -86,6 +90,10 @@ enum **CacheMode**:
 
 :ref:`CacheMode<enum_ResourceFormatLoader_CacheMode>` **CACHE_MODE_REUSE** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ResourceFormatLoader_constant_CACHE_MODE_REPLACE:
@@ -94,6 +102,10 @@ enum **CacheMode**:
 
 :ref:`CacheMode<enum_ResourceFormatLoader_CacheMode>` **CACHE_MODE_REPLACE** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-section-separator

+ 1 - 1
classes/class_resourceimporterobj.rst

@@ -12,7 +12,7 @@ ResourceImporterOBJ
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-Imports an OBJ 3D model as a standalone :ref:`Mesh<class_Mesh>` or scene.
+Imports an OBJ 3D model as an independent :ref:`Mesh<class_Mesh>` or scene.
 
 .. rst-class:: classref-introduction-group
 

+ 1 - 1
classes/class_resourceimporterscene.rst

@@ -19,7 +19,7 @@ Imports a glTF, FBX, Collada or Blender 3D scene.
 Description
 -----------
 
-See also :ref:`ResourceImporterOBJ<class_ResourceImporterOBJ>`, which is used for OBJ models that can be imported as a standalone :ref:`Mesh<class_Mesh>` or a scene.
+See also :ref:`ResourceImporterOBJ<class_ResourceImporterOBJ>`, which is used for OBJ models that can be imported as an independent :ref:`Mesh<class_Mesh>` or a scene.
 
 Additional options (such as extracting individual meshes or materials to files) are available in the **Advanced Import Settings** dialog. This dialog can be accessed by double-clicking a 3D scene in the FileSystem dock or by selecting a 3D scene in the FileSystem dock, going to the Import dock and choosing **Advanced**.
 

+ 84 - 0
classes/class_scriptlanguageextension.rst

@@ -159,6 +159,10 @@ enum **LookupResultType**:
 
 :ref:`LookupResultType<enum_ScriptLanguageExtension_LookupResultType>` **LOOKUP_RESULT_SCRIPT_LOCATION** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_LOOKUP_RESULT_CLASS:
@@ -167,6 +171,10 @@ enum **LookupResultType**:
 
 :ref:`LookupResultType<enum_ScriptLanguageExtension_LookupResultType>` **LOOKUP_RESULT_CLASS** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_LOOKUP_RESULT_CLASS_CONSTANT:
@@ -175,6 +183,10 @@ enum **LookupResultType**:
 
 :ref:`LookupResultType<enum_ScriptLanguageExtension_LookupResultType>` **LOOKUP_RESULT_CLASS_CONSTANT** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_LOOKUP_RESULT_CLASS_PROPERTY:
@@ -183,6 +195,10 @@ enum **LookupResultType**:
 
 :ref:`LookupResultType<enum_ScriptLanguageExtension_LookupResultType>` **LOOKUP_RESULT_CLASS_PROPERTY** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_LOOKUP_RESULT_CLASS_METHOD:
@@ -191,6 +207,10 @@ enum **LookupResultType**:
 
 :ref:`LookupResultType<enum_ScriptLanguageExtension_LookupResultType>` **LOOKUP_RESULT_CLASS_METHOD** = ``4``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_LOOKUP_RESULT_CLASS_SIGNAL:
@@ -199,6 +219,10 @@ enum **LookupResultType**:
 
 :ref:`LookupResultType<enum_ScriptLanguageExtension_LookupResultType>` **LOOKUP_RESULT_CLASS_SIGNAL** = ``5``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_LOOKUP_RESULT_CLASS_ENUM:
@@ -207,6 +231,10 @@ enum **LookupResultType**:
 
 :ref:`LookupResultType<enum_ScriptLanguageExtension_LookupResultType>` **LOOKUP_RESULT_CLASS_ENUM** = ``6``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_LOOKUP_RESULT_CLASS_TBD_GLOBALSCOPE:
@@ -215,6 +243,10 @@ enum **LookupResultType**:
 
 :ref:`LookupResultType<enum_ScriptLanguageExtension_LookupResultType>` **LOOKUP_RESULT_CLASS_TBD_GLOBALSCOPE** = ``7``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_LOOKUP_RESULT_CLASS_ANNOTATION:
@@ -223,6 +255,10 @@ enum **LookupResultType**:
 
 :ref:`LookupResultType<enum_ScriptLanguageExtension_LookupResultType>` **LOOKUP_RESULT_CLASS_ANNOTATION** = ``8``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_LOOKUP_RESULT_MAX:
@@ -231,6 +267,10 @@ enum **LookupResultType**:
 
 :ref:`LookupResultType<enum_ScriptLanguageExtension_LookupResultType>` **LOOKUP_RESULT_MAX** = ``9``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-item-separator
@@ -291,6 +331,10 @@ enum **CodeCompletionKind**:
 
 :ref:`CodeCompletionKind<enum_ScriptLanguageExtension_CodeCompletionKind>` **CODE_COMPLETION_KIND_CLASS** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_CODE_COMPLETION_KIND_FUNCTION:
@@ -299,6 +343,10 @@ enum **CodeCompletionKind**:
 
 :ref:`CodeCompletionKind<enum_ScriptLanguageExtension_CodeCompletionKind>` **CODE_COMPLETION_KIND_FUNCTION** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_CODE_COMPLETION_KIND_SIGNAL:
@@ -307,6 +355,10 @@ enum **CodeCompletionKind**:
 
 :ref:`CodeCompletionKind<enum_ScriptLanguageExtension_CodeCompletionKind>` **CODE_COMPLETION_KIND_SIGNAL** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_CODE_COMPLETION_KIND_VARIABLE:
@@ -315,6 +367,10 @@ enum **CodeCompletionKind**:
 
 :ref:`CodeCompletionKind<enum_ScriptLanguageExtension_CodeCompletionKind>` **CODE_COMPLETION_KIND_VARIABLE** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_CODE_COMPLETION_KIND_MEMBER:
@@ -323,6 +379,10 @@ enum **CodeCompletionKind**:
 
 :ref:`CodeCompletionKind<enum_ScriptLanguageExtension_CodeCompletionKind>` **CODE_COMPLETION_KIND_MEMBER** = ``4``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_CODE_COMPLETION_KIND_ENUM:
@@ -331,6 +391,10 @@ enum **CodeCompletionKind**:
 
 :ref:`CodeCompletionKind<enum_ScriptLanguageExtension_CodeCompletionKind>` **CODE_COMPLETION_KIND_ENUM** = ``5``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_CODE_COMPLETION_KIND_CONSTANT:
@@ -339,6 +403,10 @@ enum **CodeCompletionKind**:
 
 :ref:`CodeCompletionKind<enum_ScriptLanguageExtension_CodeCompletionKind>` **CODE_COMPLETION_KIND_CONSTANT** = ``6``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_CODE_COMPLETION_KIND_NODE_PATH:
@@ -347,6 +415,10 @@ enum **CodeCompletionKind**:
 
 :ref:`CodeCompletionKind<enum_ScriptLanguageExtension_CodeCompletionKind>` **CODE_COMPLETION_KIND_NODE_PATH** = ``7``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_CODE_COMPLETION_KIND_FILE_PATH:
@@ -355,6 +427,10 @@ enum **CodeCompletionKind**:
 
 :ref:`CodeCompletionKind<enum_ScriptLanguageExtension_CodeCompletionKind>` **CODE_COMPLETION_KIND_FILE_PATH** = ``8``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_CODE_COMPLETION_KIND_PLAIN_TEXT:
@@ -363,6 +439,10 @@ enum **CodeCompletionKind**:
 
 :ref:`CodeCompletionKind<enum_ScriptLanguageExtension_CodeCompletionKind>` **CODE_COMPLETION_KIND_PLAIN_TEXT** = ``9``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_ScriptLanguageExtension_constant_CODE_COMPLETION_KIND_MAX:
@@ -371,6 +451,10 @@ enum **CodeCompletionKind**:
 
 :ref:`CodeCompletionKind<enum_ScriptLanguageExtension_CodeCompletionKind>` **CODE_COMPLETION_KIND_MAX** = ``10``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-section-separator

+ 4 - 0
classes/class_skeleton3d.rst

@@ -214,6 +214,10 @@ Constants
 
 **NOTIFICATION_UPDATE_SKELETON** = ``50``
 
+.. container:: contribute
+
+	There is currently no description for this constant. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-section-separator

+ 5 - 11
classes/class_softbody3d.rst

@@ -185,9 +185,7 @@ The physics layers this SoftBody3D **scans**. Collision objects can scan one or
 - void **set_damping_coefficient** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_damping_coefficient** **(** **)**
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The body's damping coefficient. Higher values will slow down the body more noticeably when forces are applied.
 
 .. rst-class:: classref-item-separator
 
@@ -221,9 +219,9 @@ Defines the behavior in physics when :ref:`Node.process_mode<class_Node_property
 - void **set_drag_coefficient** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_drag_coefficient** **(** **)**
 
-.. container:: contribute
+The body's drag coefficient. Higher values increase this body's air resistance.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** This value is currently unused by Godot's default physics implementation.
 
 .. rst-class:: classref-item-separator
 
@@ -274,9 +272,7 @@ Higher values will result in a stiffer body, while lower values will increase th
 - void **set_pressure_coefficient** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_pressure_coefficient** **(** **)**
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The pressure coefficient of this soft body. Simulate pressure build-up from inside this body. Higher values increase the strength of this effect.
 
 .. rst-class:: classref-item-separator
 
@@ -392,9 +388,7 @@ Returns whether or not the specified layer of the :ref:`collision_mask<class_Sof
 
 :ref:`RID<class_RID>` **get_physics_rid** **(** **)** |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Returns the internal :ref:`RID<class_RID>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>` for this body.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_surfacetool.rst

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

+ 1 - 1
classes/class_systemfont.rst

@@ -25,7 +25,7 @@ It will attempt to match font style, but it's not guaranteed.
 
 The returned font might be part of a font collection or be a variable font with OpenType "weight", "width" and/or "italic" features set.
 
-You can create :ref:`FontVariation<class_FontVariation>` of the system font for fine control over its features.
+You can create :ref:`FontVariation<class_FontVariation>` of the system font for precise control over its features.
 
 \ **Note:** This class is implemented on iOS, Linux, macOS and Windows, on other platforms it will fallback to default theme font.
 

+ 1 - 1
classes/class_textedit.rst

@@ -1134,7 +1134,7 @@ Allow moving caret, selecting and removing the individual composite character co
 
 If ``true``, a right-click moves the caret at the mouse position before displaying the context menu.
 
-If ``false``, the context menu disregards mouse location.
+If ``false``, the context menu ignores mouse location.
 
 .. rst-class:: classref-item-separator
 

+ 4 - 0
classes/class_treeitem.rst

@@ -304,6 +304,10 @@ Cell contains an icon.
 
 :ref:`TreeCellMode<enum_TreeItem_TreeCellMode>` **CELL_MODE_CUSTOM** = ``4``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-section-separator

+ 1 - 1
classes/class_tween.rst

@@ -21,7 +21,7 @@ Description
 
 Tweens are mostly useful for animations requiring a numerical property to be interpolated over a range of values. The name *tween* comes from *in-betweening*, an animation technique where you specify *keyframes* and the computer interpolates the frames that appear between them. Animating something with a **Tween** is called tweening.
 
-\ **Tween** is more suited than :ref:`AnimationPlayer<class_AnimationPlayer>` for animations where you don't know the final values in advance. For example, interpolating a dynamically-chosen camera zoom value is best done with a **Tween**; it would be difficult to do the same thing with an :ref:`AnimationPlayer<class_AnimationPlayer>` node. Tweens are also more light-weight than :ref:`AnimationPlayer<class_AnimationPlayer>`, so they are very much suited for simple animations or general tasks that don't require visual tweaking provided by the editor. They can be used in a fire-and-forget manner for some logic that normally would be done by code. You can e.g. make something shoot periodically by using a looped :ref:`CallbackTweener<class_CallbackTweener>` with a delay.
+\ **Tween** is more suited than :ref:`AnimationPlayer<class_AnimationPlayer>` for animations where you don't know the final values in advance. For example, interpolating a dynamically-chosen camera zoom value is best done with a **Tween**; it would be difficult to do the same thing with an :ref:`AnimationPlayer<class_AnimationPlayer>` node. Tweens are also more light-weight than :ref:`AnimationPlayer<class_AnimationPlayer>`, so they are very much suited for simple animations or general tasks that don't require visual tweaking provided by the editor. They can be used in a "fire-and-forget" manner for some logic that normally would be done by code. You can e.g. make something shoot periodically by using a looped :ref:`CallbackTweener<class_CallbackTweener>` with a delay.
 
 A **Tween** can be created by using either :ref:`SceneTree.create_tween<class_SceneTree_method_create_tween>` or :ref:`Node.create_tween<class_Node_method_create_tween>`. **Tween**\ s created manually (i.e. by using ``Tween.new()``) are invalid and can't be used for tweening values.
 

+ 100 - 0
classes/class_viewport.rst

@@ -510,6 +510,10 @@ enum **RenderInfoType**:
 
 :ref:`RenderInfoType<enum_Viewport_RenderInfoType>` **RENDER_INFO_TYPE_VISIBLE** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_RENDER_INFO_TYPE_SHADOW:
@@ -518,6 +522,10 @@ enum **RenderInfoType**:
 
 :ref:`RenderInfoType<enum_Viewport_RenderInfoType>` **RENDER_INFO_TYPE_SHADOW** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_RENDER_INFO_TYPE_MAX:
@@ -526,6 +534,10 @@ enum **RenderInfoType**:
 
 :ref:`RenderInfoType<enum_Viewport_RenderInfoType>` **RENDER_INFO_TYPE_MAX** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-item-separator
@@ -560,6 +572,10 @@ Objects are displayed without light information.
 
 :ref:`DebugDraw<enum_Viewport_DebugDraw>` **DEBUG_DRAW_LIGHTING** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_DEBUG_DRAW_OVERDRAW:
@@ -584,6 +600,10 @@ Objects are displayed in wireframe style.
 
 :ref:`DebugDraw<enum_Viewport_DebugDraw>` **DEBUG_DRAW_NORMAL_BUFFER** = ``5``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_DEBUG_DRAW_VOXEL_GI_ALBEDO:
@@ -632,6 +652,10 @@ Draws the shadow atlas that stores shadows from :ref:`DirectionalLight3D<class_D
 
 :ref:`DebugDraw<enum_Viewport_DebugDraw>` **DEBUG_DRAW_SCENE_LUMINANCE** = ``11``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_DEBUG_DRAW_SSAO:
@@ -672,6 +696,10 @@ Draws the decal atlas used by :ref:`Decal<class_Decal>`\ s and light projector t
 
 :ref:`DebugDraw<enum_Viewport_DebugDraw>` **DEBUG_DRAW_SDFGI** = ``16``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_DEBUG_DRAW_SDFGI_PROBES:
@@ -680,6 +708,10 @@ Draws the decal atlas used by :ref:`Decal<class_Decal>`\ s and light projector t
 
 :ref:`DebugDraw<enum_Viewport_DebugDraw>` **DEBUG_DRAW_SDFGI_PROBES** = ``17``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_DEBUG_DRAW_GI_BUFFER:
@@ -688,6 +720,10 @@ Draws the decal atlas used by :ref:`Decal<class_Decal>`\ s and light projector t
 
 :ref:`DebugDraw<enum_Viewport_DebugDraw>` **DEBUG_DRAW_GI_BUFFER** = ``18``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_DEBUG_DRAW_DISABLE_LOD:
@@ -696,6 +732,10 @@ Draws the decal atlas used by :ref:`Decal<class_Decal>`\ s and light projector t
 
 :ref:`DebugDraw<enum_Viewport_DebugDraw>` **DEBUG_DRAW_DISABLE_LOD** = ``19``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_DEBUG_DRAW_CLUSTER_OMNI_LIGHTS:
@@ -704,6 +744,10 @@ Draws the decal atlas used by :ref:`Decal<class_Decal>`\ s and light projector t
 
 :ref:`DebugDraw<enum_Viewport_DebugDraw>` **DEBUG_DRAW_CLUSTER_OMNI_LIGHTS** = ``20``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_DEBUG_DRAW_CLUSTER_SPOT_LIGHTS:
@@ -712,6 +756,10 @@ Draws the decal atlas used by :ref:`Decal<class_Decal>`\ s and light projector t
 
 :ref:`DebugDraw<enum_Viewport_DebugDraw>` **DEBUG_DRAW_CLUSTER_SPOT_LIGHTS** = ``21``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_DEBUG_DRAW_CLUSTER_DECALS:
@@ -720,6 +768,10 @@ Draws the decal atlas used by :ref:`Decal<class_Decal>`\ s and light projector t
 
 :ref:`DebugDraw<enum_Viewport_DebugDraw>` **DEBUG_DRAW_CLUSTER_DECALS** = ``22``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_DEBUG_DRAW_CLUSTER_REFLECTION_PROBES:
@@ -728,6 +780,10 @@ Draws the decal atlas used by :ref:`Decal<class_Decal>`\ s and light projector t
 
 :ref:`DebugDraw<enum_Viewport_DebugDraw>` **DEBUG_DRAW_CLUSTER_REFLECTION_PROBES** = ``23``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_DEBUG_DRAW_OCCLUDERS:
@@ -736,6 +792,10 @@ Draws the decal atlas used by :ref:`Decal<class_Decal>`\ s and light projector t
 
 :ref:`DebugDraw<enum_Viewport_DebugDraw>` **DEBUG_DRAW_OCCLUDERS** = ``24``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_DEBUG_DRAW_MOTION_VECTORS:
@@ -744,6 +804,10 @@ Draws the decal atlas used by :ref:`Decal<class_Decal>`\ s and light projector t
 
 :ref:`DebugDraw<enum_Viewport_DebugDraw>` **DEBUG_DRAW_MOTION_VECTORS** = ``25``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_DEBUG_DRAW_INTERNAL_BUFFER:
@@ -866,6 +930,10 @@ enum **SDFOversize**:
 
 :ref:`SDFOversize<enum_Viewport_SDFOversize>` **SDF_OVERSIZE_100_PERCENT** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_SDF_OVERSIZE_120_PERCENT:
@@ -874,6 +942,10 @@ enum **SDFOversize**:
 
 :ref:`SDFOversize<enum_Viewport_SDFOversize>` **SDF_OVERSIZE_120_PERCENT** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_SDF_OVERSIZE_150_PERCENT:
@@ -882,6 +954,10 @@ enum **SDFOversize**:
 
 :ref:`SDFOversize<enum_Viewport_SDFOversize>` **SDF_OVERSIZE_150_PERCENT** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_SDF_OVERSIZE_200_PERCENT:
@@ -890,6 +966,10 @@ enum **SDFOversize**:
 
 :ref:`SDFOversize<enum_Viewport_SDFOversize>` **SDF_OVERSIZE_200_PERCENT** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_SDF_OVERSIZE_MAX:
@@ -898,6 +978,10 @@ enum **SDFOversize**:
 
 :ref:`SDFOversize<enum_Viewport_SDFOversize>` **SDF_OVERSIZE_MAX** = ``4``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-item-separator
@@ -916,6 +1000,10 @@ enum **SDFScale**:
 
 :ref:`SDFScale<enum_Viewport_SDFScale>` **SDF_SCALE_100_PERCENT** = ``0``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_SDF_SCALE_50_PERCENT:
@@ -924,6 +1012,10 @@ enum **SDFScale**:
 
 :ref:`SDFScale<enum_Viewport_SDFScale>` **SDF_SCALE_50_PERCENT** = ``1``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_SDF_SCALE_25_PERCENT:
@@ -932,6 +1024,10 @@ enum **SDFScale**:
 
 :ref:`SDFScale<enum_Viewport_SDFScale>` **SDF_SCALE_25_PERCENT** = ``2``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. _class_Viewport_constant_SDF_SCALE_MAX:
@@ -940,6 +1036,10 @@ enum **SDFScale**:
 
 :ref:`SDFScale<enum_Viewport_SDFScale>` **SDF_SCALE_MAX** = ``3``
 
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
 
 .. rst-class:: classref-item-separator

+ 21 - 0
classes/class_window.rst

@@ -84,6 +84,8 @@ Properties
    +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
    | :ref:`bool<class_bool>`                                         | :ref:`transient<class_Window_property_transient>`                                 | ``false``                |
    +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
+   | :ref:`bool<class_bool>`                                         | :ref:`transient_to_focused<class_Window_property_transient_to_focused>`           | ``false``                |
+   +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
    | :ref:`bool<class_bool>`                                         | :ref:`transparent<class_Window_property_transparent>`                             | ``false``                |
    +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
    | :ref:`bool<class_bool>`                                         | :ref:`unfocusable<class_Window_property_unfocusable>`                             | ``false``                |
@@ -1365,6 +1367,23 @@ Note that behavior might be different depending on the platform.
 
 ----
 
+.. _class_Window_property_transient_to_focused:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **transient_to_focused** = ``false``
+
+.. rst-class:: classref-property-setget
+
+- void **set_transient_to_focused** **(** :ref:`bool<class_bool>` value **)**
+- :ref:`bool<class_bool>` **is_transient_to_focused** **(** **)**
+
+If ``true``, and the **Window** is :ref:`transient<class_Window_property_transient>`, this window will (at the time of becoming visible) become transient to the currently focused window instead of the immediate parent window in the hierarchy. Note that the transient parent is assigned at the time this window becomes visible, so changing it afterwards has no effect until re-shown.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_Window_property_transparent:
 
 .. rst-class:: classref-property
@@ -2077,6 +2096,8 @@ void **move_to_foreground** **(** **)**
 
 Moves the **Window** on top of other windows and focuses it.
 
+\ *Deprecated.* Use :ref:`grab_focus<class_Window_method_grab_focus>` instead.
+
 .. rst-class:: classref-item-separator
 
 ----