Sfoglia il codice sorgente

classref: Sync with current master branch (dc5f1b7)

Godot Organization 7 mesi fa
parent
commit
cb88777732
72 ha cambiato i file con 2957 aggiunte e 410 eliminazioni
  1. 43 1
      classes/[email protected]
  2. 0 2
      classes/[email protected]
  3. 18 18
      classes/class_aabb.rst
  4. 31 1
      classes/class_animationnode.rst
  5. 94 0
      classes/class_animationnodeextension.rst
  6. 1 1
      classes/class_animationrootnode.rst
  7. 9 9
      classes/class_array.rst
  8. 2 2
      classes/class_astargrid2d.rst
  9. 28 0
      classes/class_audiostream.rst
  10. 30 5
      classes/class_audiostreamplaybackinteractive.rst
  11. 12 12
      classes/class_basis.rst
  12. 1 1
      classes/class_button.rst
  13. 1 1
      classes/class_callable.rst
  14. 67 0
      classes/class_colorpalette.rst
  15. 14 0
      classes/class_colorpicker.rst
  16. 4 4
      classes/class_dictionary.rst
  17. 39 1
      classes/class_displayserver.rst
  18. 14 0
      classes/class_editorimportplugin.rst
  19. 19 5
      classes/class_editorinspector.rst
  20. 153 111
      classes/class_editorinterface.rst
  21. 142 15
      classes/class_editorproperty.rst
  22. 18 2
      classes/class_editorsettings.rst
  23. 4 4
      classes/class_engine.rst
  24. 3 3
      classes/class_float.rst
  25. 2 2
      classes/class_geometry2d.rst
  26. 2 0
      classes/class_gpuparticles2d.rst
  27. 2 0
      classes/class_gpuparticles3d.rst
  28. 1 1
      classes/class_hboxcontainer.rst
  29. 22 8
      classes/class_json.rst
  30. 64 39
      classes/class_lightmapgi.rst
  31. 63 5
      classes/class_lightmapgidata.rst
  32. 4 0
      classes/class_mainloop.rst
  33. 8 0
      classes/class_navigationpathqueryparameters2d.rst
  34. 8 0
      classes/class_navigationpathqueryparameters3d.rst
  35. 5 5
      classes/class_navigationserver2d.rst
  36. 5 5
      classes/class_navigationserver3d.rst
  37. 9 1
      classes/class_node.rst
  38. 4 4
      classes/class_object.rst
  39. 33 0
      classes/class_openxractionbindingmodifier.rst
  40. 124 0
      classes/class_openxranalogthresholdmodifier.rst
  41. 249 49
      classes/class_openxrapiextension.rst
  42. 78 0
      classes/class_openxrbindingmodifier.rst
  43. 103 0
      classes/class_openxrbindingmodifiereditor.rst
  44. 223 0
      classes/class_openxrdpadbindingmodifier.rst
  45. 14 0
      classes/class_openxrextensionwrapperextension.rst
  46. 33 0
      classes/class_openxrhapticbase.rst
  47. 103 0
      classes/class_openxrhapticvibration.rst
  48. 52 5
      classes/class_openxrinteractionprofile.rst
  49. 31 0
      classes/class_openxrinteractionprofileeditor.rst
  50. 76 0
      classes/class_openxrinteractionprofileeditorbase.rst
  51. 63 16
      classes/class_openxripbinding.rst
  52. 33 0
      classes/class_openxripbindingmodifier.rst
  53. 4 4
      classes/class_os.rst
  54. 1 1
      classes/class_panelcontainer.rst
  55. 2 2
      classes/class_polygonpathfinder.rst
  56. 600 10
      classes/class_projectsettings.rst
  57. 19 0
      classes/class_reflectionprobe.rst
  58. 58 0
      classes/class_renderingdevice.rst
  59. 14 0
      classes/class_renderingserver.rst
  60. 0 0
      classes/class_resource.rst
  61. 2 2
      classes/class_string.rst
  62. 2 2
      classes/class_stringname.rst
  63. 6 6
      classes/class_texturebutton.rst
  64. 1 1
      classes/class_transform2d.rst
  65. 8 8
      classes/class_vector2.rst
  66. 8 8
      classes/class_vector2i.rst
  67. 5 5
      classes/class_vector3.rst
  68. 8 8
      classes/class_vector3i.rst
  69. 6 6
      classes/class_vector4.rst
  70. 8 8
      classes/class_vector4i.rst
  71. 32 1
      classes/class_window.rst
  72. 12 0
      classes/index.rst

+ 43 - 1
classes/[email protected]

@@ -787,7 +787,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
 
@@ -893,6 +893,48 @@ Mark the following statement to ignore the specified ``warning``. See :doc:`GDSc
         @warning_ignore("unreachable_code")
         print("unreachable")
 
+See also :ref:`@warning_ignore_start<class_@GDScript_annotation_@warning_ignore_start>` and :ref:`@warning_ignore_restore<class_@GDScript_annotation_@warning_ignore_restore>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_@GDScript_annotation_@warning_ignore_restore:
+
+.. rst-class:: classref-annotation
+
+**@warning_ignore_restore**\ (\ warning\: :ref:`String<class_String>`, ...\ ) |vararg| :ref:`🔗<class_@GDScript_annotation_@warning_ignore_restore>`
+
+Stops ignoring the listed warning types after :ref:`@warning_ignore_start<class_@GDScript_annotation_@warning_ignore_start>`. Ignoring the specified warning types will be reset to Project Settings. This annotation can be omitted to ignore the warning types until the end of the file.
+
+\ **Note:** Unlike most other annotations, arguments of the :ref:`@warning_ignore_restore<class_@GDScript_annotation_@warning_ignore_restore>` annotation must be string literals (constant expressions are not supported).
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_@GDScript_annotation_@warning_ignore_start:
+
+.. rst-class:: classref-annotation
+
+**@warning_ignore_start**\ (\ warning\: :ref:`String<class_String>`, ...\ ) |vararg| :ref:`🔗<class_@GDScript_annotation_@warning_ignore_start>`
+
+Starts ignoring the listed warning types until the end of the file or the :ref:`@warning_ignore_restore<class_@GDScript_annotation_@warning_ignore_restore>` annotation with the given warning type.
+
+::
+
+    func test():
+        var a = 1 # Warning (if enabled in the Project Settings).
+        @warning_ignore_start("unused_variable")
+        var b = 2 # No warning.
+        var c = 3 # No warning.
+        @warning_ignore_restore("unused_variable")
+        var d = 4 # Warning (if enabled in the Project Settings).
+
+\ **Note:** To suppress a single warning, use :ref:`@warning_ignore<class_@GDScript_annotation_@warning_ignore>` instead.
+
+\ **Note:** Unlike most other annotations, arguments of the :ref:`@warning_ignore_start<class_@GDScript_annotation_@warning_ignore_start>` annotation must be string literals (constant expressions are not supported).
+
 .. rst-class:: classref-section-separator
 
 ----

+ 0 - 2
classes/[email protected]

@@ -6473,8 +6473,6 @@ Converts one or more arguments of any type to string in the best way possible an
 
 The following BBCode tags are supported: ``b``, ``i``, ``u``, ``s``, ``indent``, ``code``, ``url``, ``center``, ``right``, ``color``, ``bgcolor``, ``fgcolor``.
 
-Color tags only support the following named colors: ``black``, ``red``, ``green``, ``yellow``, ``blue``, ``magenta``, ``pink``, ``purple``, ``cyan``, ``white``, ``orange``, ``gray``. Hexadecimal color codes are not supported.
-
 URL tags only support URLs wrapped by a URL tag, not URLs with a different title.
 
 When printing to standard output, the supported subset of BBCode is converted to ANSI escape codes for the terminal emulator to display. Support for ANSI escape codes varies across terminal emulators, especially for italic and strikethrough. In standard output, ``code`` is represented with faint text but without any font change. Unsupported tags are left as-is in standard output.

+ 18 - 18
classes/class_aabb.rst

@@ -252,8 +252,8 @@ Returns an **AABB** equivalent to this bounding box, with its width, height, and
 
     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)
+    print(absolute.position) # Prints (-15.0, -10.0, 0.0)
+    print(absolute.size)     # Prints (20.0, 10.0, 5.0)
 
  .. code-tab:: csharp
 
@@ -323,12 +323,12 @@ Returns a copy of this bounding box expanded to align the edges with the given `
     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)
+    print(box.position) # Prints (0.0, 0.0, 0.0)
+    print(box.size)     # Prints (10.0, 2.0, 5.0)
     
     box = box.expand(Vector3(-5, 0, 5))
-    print(box.position) # Prints (-5, 0, 0)
-    print(box.size)     # Prints (15, 2, 5)
+    print(box.position) # Prints (-5.0, 0.0, 0.0)
+    print(box.size)     # Prints (15.0, 2.0, 5.0)
 
  .. code-tab:: csharp
 
@@ -387,16 +387,16 @@ Returns the longest normalized axis of this bounding box's :ref:`size<class_AABB
 
     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())       # Prints (0.0, 0.0, 1.0)
     print(box.get_longest_axis_index()) # Prints 2
-    print(box.get_longest_axis_size())  # Prints 8
+    print(box.get_longest_axis_size())  # Prints 8.0
 
  .. 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.GetLongestAxisIndex()); // Prints Z
     GD.Print(box.GetLongestAxisSize());  // Prints 8
 
 
@@ -450,16 +450,16 @@ Returns the shortest normalized axis of this bounding box's :ref:`size<class_AAB
 
     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())       # Prints (1.0, 0.0, 0.0)
     print(box.get_shortest_axis_index()) # Prints 0
-    print(box.get_shortest_axis_size())  # Prints 2
+    print(box.get_shortest_axis_size())  # Prints 2.0
 
  .. 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.GetShortestAxisIndex()); // Prints X
     GD.Print(box.GetShortestAxisSize());  // Prints 2
 
 
@@ -536,12 +536,12 @@ Returns a copy of this bounding box extended on all sides by the given amount ``
  .. 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)
+    print(a.position) # Prints (0.0, 0.0, 0.0)
+    print(a.size)     # Prints (16.0, 16.0, 16.0)
     
     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)
+    print(b.position) # Prints (-2.0, -2.0, -2.0)
+    print(b.size)     # Prints (12.0, 8.0, 6.0)
 
  .. code-tab:: csharp
 
@@ -614,8 +614,8 @@ Returns the intersection between this bounding box and ``with``. If the boxes do
     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)
+    print(intersection.position) # Prints (2.0, 0.0, 2.0)
+    print(intersection.size)     # Prints (3.0, 2.0, 4.0)
 
  .. code-tab:: csharp
 

+ 31 - 1
classes/class_animationnode.rst

@@ -95,8 +95,12 @@ Methods
    +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Variant<class_Variant>`             | :ref:`get_parameter<class_AnimationNode_method_get_parameter>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const|                                                                                                                                                                                                                                                                                                                                                |
    +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                     | :ref:`get_processing_animation_tree_instance_id<class_AnimationNode_method_get_processing_animation_tree_instance_id>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                    |
+   +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                   | :ref:`is_path_filtered<class_AnimationNode_method_is_path_filtered>`\ (\ path\: :ref:`NodePath<class_NodePath>`\ ) |const|                                                                                                                                                                                                                                                                                                                                              |
    +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                   | :ref:`is_process_testing<class_AnimationNode_method_is_process_testing>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                                                                  |
+   +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                    | :ref:`remove_input<class_AnimationNode_method_remove_input>`\ (\ index\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                                                                                                                                                                       |
    +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                    | :ref:`set_filter_path<class_AnimationNode_method_set_filter_path>`\ (\ path\: :ref:`NodePath<class_NodePath>`, enable\: :ref:`bool<class_bool>`\ )                                                                                                                                                                                                                                                                                                                      |
@@ -425,13 +429,39 @@ Gets the value of a parameter. Parameters are custom local memory used for your
 
 ----
 
+.. _class_AnimationNode_method_get_processing_animation_tree_instance_id:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **get_processing_animation_tree_instance_id**\ (\ ) |const| :ref:`🔗<class_AnimationNode_method_get_processing_animation_tree_instance_id>`
+
+Returns the object id of the :ref:`AnimationTree<class_AnimationTree>` that owns this node.
+
+\ **Note:** This method should only be called from within the :ref:`AnimationNodeExtension._process<class_AnimationNodeExtension_private_method__process>` method, and will return an invalid id otherwise.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AnimationNode_method_is_path_filtered:
 
 .. rst-class:: classref-method
 
 :ref:`bool<class_bool>` **is_path_filtered**\ (\ path\: :ref:`NodePath<class_NodePath>`\ ) |const| :ref:`🔗<class_AnimationNode_method_is_path_filtered>`
 
-Returns whether the given path is filtered.
+Returns ``true`` if the given path is filtered.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimationNode_method_is_process_testing:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **is_process_testing**\ (\ ) |const| :ref:`🔗<class_AnimationNode_method_is_process_testing>`
+
+Returns ``true`` if this animation node is being processed in test-only mode.
 
 .. rst-class:: classref-item-separator
 

+ 94 - 0
classes/class_animationnodeextension.rst

@@ -0,0 +1,94 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeExtension.xml.
+
+.. _class_AnimationNodeExtension:
+
+AnimationNodeExtension
+======================
+
+**Experimental:** This class may be changed or removed in future versions.
+
+**Inherits:** :ref:`AnimationRootNode<class_AnimationRootNode>` **<** :ref:`AnimationNode<class_AnimationNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Base class for extending :ref:`AnimationRootNode<class_AnimationRootNode>`\ s from GDScript, C#, or C++.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+**AnimationNodeExtension** exposes the APIs of :ref:`AnimationRootNode<class_AnimationRootNode>` to allow users to extend it from GDScript, C#, or C++. This class is not meant to be used directly, but to be extended by other classes. It is used to create custom nodes for the :ref:`AnimationTree<class_AnimationTree>` system.
+
+.. rst-class:: classref-reftable-group
+
+Methods
+-------
+
+.. table::
+   :widths: auto
+
+   +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PackedFloat32Array<class_PackedFloat32Array>` | :ref:`_process<class_AnimationNodeExtension_private_method__process>`\ (\ playback_info\: :ref:`PackedFloat64Array<class_PackedFloat64Array>`, test_only\: :ref:`bool<class_bool>`\ ) |virtual|         |
+   +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                           | :ref:`get_remaining_time<class_AnimationNodeExtension_method_get_remaining_time>`\ (\ node_info\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`, break_loop\: :ref:`bool<class_bool>`\ ) |static| |
+   +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                             | :ref:`is_looping<class_AnimationNodeExtension_method_is_looping>`\ (\ node_info\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`\ ) |static|                                                       |
+   +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Method Descriptions
+-------------------
+
+.. _class_AnimationNodeExtension_private_method__process:
+
+.. rst-class:: classref-method
+
+:ref:`PackedFloat32Array<class_PackedFloat32Array>` **_process**\ (\ playback_info\: :ref:`PackedFloat64Array<class_PackedFloat64Array>`, test_only\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_AnimationNodeExtension_private_method__process>`
+
+A version of the :ref:`AnimationNode._process<class_AnimationNode_private_method__process>` method that is meant to be overridden by custom nodes. It returns a :ref:`PackedFloat32Array<class_PackedFloat32Array>` with the processed animation data.
+
+The :ref:`PackedFloat64Array<class_PackedFloat64Array>` parameter contains the playback information, containing the following values encoded as floating point numbers (in order): playback time and delta, start and end times, whether a seek was requested (encoded as a float greater than ``0``), whether the seek request was externally requested (encoded as a float greater than ``0``), the current :ref:`LoopedFlag<enum_Animation_LoopedFlag>` (encoded as a float), and the current blend weight.
+
+The function must return a :ref:`PackedFloat32Array<class_PackedFloat32Array>` of the node's time info, containing the following values (in order): animation length, time position, delta, :ref:`LoopMode<enum_Animation_LoopMode>` (encoded as a float), whether the animation is about to end (encoded as a float greater than ``0``) and whether the animation is infinite (encoded as a float greater than ``0``). All values must be included in the returned array.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimationNodeExtension_method_get_remaining_time:
+
+.. rst-class:: classref-method
+
+:ref:`float<class_float>` **get_remaining_time**\ (\ node_info\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`, break_loop\: :ref:`bool<class_bool>`\ ) |static| :ref:`🔗<class_AnimationNodeExtension_method_get_remaining_time>`
+
+Returns the animation's remaining time for the given node info. For looping animations, it will only return the remaining time if ``break_loop`` is ``true``, a large integer value will be returned otherwise.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimationNodeExtension_method_is_looping:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **is_looping**\ (\ node_info\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`\ ) |static| :ref:`🔗<class_AnimationNodeExtension_method_is_looping>`
+
+Returns ``true`` if the animation for the given ``node_info`` is looping.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
+.. |void| replace:: :abbr:`void (No return value.)`

+ 1 - 1
classes/class_animationrootnode.rst

@@ -12,7 +12,7 @@ AnimationRootNode
 
 **Inherits:** :ref:`AnimationNode<class_AnimationNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`AnimationNodeAnimation<class_AnimationNodeAnimation>`, :ref:`AnimationNodeBlendSpace1D<class_AnimationNodeBlendSpace1D>`, :ref:`AnimationNodeBlendSpace2D<class_AnimationNodeBlendSpace2D>`, :ref:`AnimationNodeBlendTree<class_AnimationNodeBlendTree>`, :ref:`AnimationNodeStateMachine<class_AnimationNodeStateMachine>`
+**Inherited By:** :ref:`AnimationNodeAnimation<class_AnimationNodeAnimation>`, :ref:`AnimationNodeBlendSpace1D<class_AnimationNodeBlendSpace1D>`, :ref:`AnimationNodeBlendSpace2D<class_AnimationNodeBlendSpace2D>`, :ref:`AnimationNodeBlendTree<class_AnimationNodeBlendTree>`, :ref:`AnimationNodeExtension<class_AnimationNodeExtension>`, :ref:`AnimationNodeStateMachine<class_AnimationNodeStateMachine>`
 
 Base class for :ref:`AnimationNode<class_AnimationNode>`\ s that hold one or multiple composite animations. Usually used for :ref:`AnimationTree.tree_root<class_AnimationTree_property_tree_root>`.
 

+ 9 - 9
classes/class_array.rst

@@ -444,17 +444,17 @@ The ``method`` should take one :ref:`Variant<class_Variant>` parameter (the curr
     
     public override void _Ready()
     {
-        // Prints true (3/3 elements evaluate to true).
+        // Prints True (3/3 elements evaluate to true).
         GD.Print(new Godot.Collections.Array>int< { 6, 10, 6 }.All(GreaterThan5));
-        // Prints false (1/3 elements evaluate to true).
+        // Prints False (1/3 elements evaluate to true).
         GD.Print(new Godot.Collections.Array>int< { 4, 10, 4 }.All(GreaterThan5));
-        // Prints false (0/3 elements evaluate to true).
+        // Prints False (0/3 elements evaluate to true).
         GD.Print(new Godot.Collections.Array>int< { 4, 4, 4 }.All(GreaterThan5));
-        // Prints true (0/0 elements evaluate to true).
+        // Prints True (0/0 elements evaluate to true).
         GD.Print(new Godot.Collections.Array>int< { }.All(GreaterThan5));
     
         // Same as the first line above, but using a lambda function.
-        GD.Print(new Godot.Collections.Array>int< { 6, 10, 6 }.All(element => element > 5)); // Prints true
+        GD.Print(new Godot.Collections.Array>int< { 6, 10, 6 }.All(element => element > 5)); // Prints True
     }
 
 
@@ -876,10 +876,10 @@ Returns ``true`` if the array contains the given ``value``.
 
     var arr = new Godot.Collections.Array { "inside", 7 };
     // By C# convention, this method is renamed to `Contains`.
-    GD.Print(arr.Contains("inside"));  // Prints true
-    GD.Print(arr.Contains("outside")); // Prints false
-    GD.Print(arr.Contains(7));         // Prints true
-    GD.Print(arr.Contains("7"));       // Prints false
+    GD.Print(arr.Contains("inside"));  // Prints True
+    GD.Print(arr.Contains("outside")); // Prints False
+    GD.Print(arr.Contains(7));         // Prints True
+    GD.Print(arr.Contains("7"));       // Prints False
 
 
 

+ 2 - 2
classes/class_astargrid2d.rst

@@ -32,8 +32,8 @@ To use **AStarGrid2D**, you only need to set the :ref:`region<class_AStarGrid2D_
     astar_grid.region = Rect2i(0, 0, 32, 32)
     astar_grid.cell_size = Vector2(16, 16)
     astar_grid.update()
-    print(astar_grid.get_id_path(Vector2i(0, 0), Vector2i(3, 4))) # prints (0, 0), (1, 1), (2, 2), (3, 3), (3, 4)
-    print(astar_grid.get_point_path(Vector2i(0, 0), Vector2i(3, 4))) # prints (0, 0), (16, 16), (32, 32), (48, 48), (48, 64)
+    print(astar_grid.get_id_path(Vector2i(0, 0), Vector2i(3, 4))) # Prints [(0, 0), (1, 1), (2, 2), (3, 3), (3, 4)]
+    print(astar_grid.get_point_path(Vector2i(0, 0), Vector2i(3, 4))) # Prints [(0, 0), (16, 16), (32, 32), (48, 48), (48, 64)]
 
  .. code-tab:: csharp
 

+ 28 - 0
classes/class_audiostream.rst

@@ -44,6 +44,8 @@ Methods
 .. table::
    :widths: auto
 
+   +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                            | :ref:`_get_bar_beats<class_AudioStream_private_method__get_bar_beats>`\ (\ ) |virtual| |const|               |
    +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                            | :ref:`_get_beat_count<class_AudioStream_private_method__get_beat_count>`\ (\ ) |virtual| |const|             |
    +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
@@ -55,6 +57,8 @@ Methods
    +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                                      | :ref:`_get_stream_name<class_AudioStream_private_method__get_stream_name>`\ (\ ) |virtual| |const|           |
    +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                          | :ref:`_has_loop<class_AudioStream_private_method__has_loop>`\ (\ ) |virtual| |const|                         |
+   +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
    | :ref:`AudioStreamPlayback<class_AudioStreamPlayback>`            | :ref:`_instantiate_playback<class_AudioStream_private_method__instantiate_playback>`\ (\ ) |virtual| |const| |
    +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                          | :ref:`_is_monophonic<class_AudioStream_private_method__is_monophonic>`\ (\ ) |virtual| |const|               |
@@ -98,6 +102,18 @@ Signal to be emitted to notify when the parameter list changed.
 Method Descriptions
 -------------------
 
+.. _class_AudioStream_private_method__get_bar_beats:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **_get_bar_beats**\ (\ ) |virtual| |const| :ref:`🔗<class_AudioStream_private_method__get_bar_beats>`
+
+Override this method to return the bar beats of this stream.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AudioStream_private_method__get_beat_count:
 
 .. rst-class:: classref-method
@@ -162,6 +178,18 @@ Override this method to customize the name assigned to this audio stream. Unused
 
 ----
 
+.. _class_AudioStream_private_method__has_loop:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **_has_loop**\ (\ ) |virtual| |const| :ref:`🔗<class_AudioStream_private_method__has_loop>`
+
+Override this method to return ``true`` if this stream has a loop.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AudioStream_private_method__instantiate_playback:
 
 .. rst-class:: classref-method

+ 30 - 5
classes/class_audiostreamplaybackinteractive.rst

@@ -29,11 +29,13 @@ Methods
 .. table::
    :widths: auto
 
-   +--------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void| | :ref:`switch_to_clip<class_AudioStreamPlaybackInteractive_method_switch_to_clip>`\ (\ clip_index\: :ref:`int<class_int>`\ )                              |
-   +--------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void| | :ref:`switch_to_clip_by_name<class_AudioStreamPlaybackInteractive_method_switch_to_clip_by_name>`\ (\ clip_name\: :ref:`StringName<class_StringName>`\ ) |
-   +--------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+   +-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>` | :ref:`get_current_clip_index<class_AudioStreamPlaybackInteractive_method_get_current_clip_index>`\ (\ ) |const|                                          |
+   +-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                | :ref:`switch_to_clip<class_AudioStreamPlaybackInteractive_method_switch_to_clip>`\ (\ clip_index\: :ref:`int<class_int>`\ )                              |
+   +-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                | :ref:`switch_to_clip_by_name<class_AudioStreamPlaybackInteractive_method_switch_to_clip_by_name>`\ (\ clip_name\: :ref:`StringName<class_StringName>`\ ) |
+   +-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -44,6 +46,29 @@ Methods
 Method Descriptions
 -------------------
 
+.. _class_AudioStreamPlaybackInteractive_method_get_current_clip_index:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **get_current_clip_index**\ (\ ) |const| :ref:`🔗<class_AudioStreamPlaybackInteractive_method_get_current_clip_index>`
+
+Return the index of the currently playing clip. You can use this to get the name of the currently playing clip with :ref:`AudioStreamInteractive.get_clip_name<class_AudioStreamInteractive_method_get_clip_name>`.
+
+\ **Example:** Get the currently playing clip name from inside an :ref:`AudioStreamPlayer<class_AudioStreamPlayer>` node.
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var playing_clip_name = stream.get_clip_name(get_stream_playback().get_current_clip_index())
+
+
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AudioStreamPlaybackInteractive_method_switch_to_clip:
 
 .. rst-class:: classref-method

+ 12 - 12
classes/class_basis.rst

@@ -403,7 +403,7 @@ Constructs a new **Basis** that only represents rotation from the given :ref:`Ve
     # Creates a Basis whose z axis points down.
     var my_basis = Basis.from_euler(Vector3(TAU / 4, 0, 0))
     
-    print(my_basis.z) # Prints (0, -1, 0)
+    print(my_basis.z) # Prints (0.0, -1.0, 0.0)
 
  .. code-tab:: csharp
 
@@ -435,9 +435,9 @@ Constructs a new **Basis** that only represents scale, with no rotation or shear
 
     var my_basis = Basis.from_scale(Vector3(2, 4, 8))
     
-    print(my_basis.x) # Prints (2, 0, 0)
-    print(my_basis.y) # Prints (0, 4, 0)
-    print(my_basis.z) # Prints (0, 0, 8)
+    print(my_basis.x) # Prints (2.0, 0.0, 0.0)
+    print(my_basis.y) # Prints (0.0, 4.0, 0.0)
+    print(my_basis.z) # Prints (0.0, 0.0, 8.0)
 
  .. code-tab:: csharp
 
@@ -517,7 +517,7 @@ Returns the length of each axis of this basis, as a :ref:`Vector3<class_Vector3>
     my_basis = my_basis.rotated(Vector3.UP, TAU / 2)
     my_basis = my_basis.rotated(Vector3.RIGHT, TAU / 4)
     
-    print(my_basis.get_scale()) # Prints (2, 4, 8)
+    print(my_basis.get_scale()) # Prints (2.0, 4.0, 8.0)
 
  .. code-tab:: csharp
 
@@ -701,9 +701,9 @@ The basis matrix's rows are multiplied by ``scale``'s components. This operation
     )
     my_basis = my_basis.scaled(Vector3(0, 2, -2))
     
-    print(my_basis.x) # Prints (0, 2, -2)
-    print(my_basis.y) # Prints (0, 4, -4)
-    print(my_basis.z) # Prints (0, 6, -6)
+    print(my_basis.x) # Prints (0.0, 2.0, -2.0)
+    print(my_basis.y) # Prints (0.0, 4.0, -4.0)
+    print(my_basis.z) # Prints (0.0, 6.0, -6.0)
 
  .. code-tab:: csharp
 
@@ -811,9 +811,9 @@ Returns the transposed version of this basis. This turns the basis matrix's colu
     )
     my_basis = my_basis.transposed()
     
-    print(my_basis.x) # Prints (1, 4, 7)
-    print(my_basis.y) # Prints (2, 5, 8)
-    print(my_basis.z) # Prints (3, 6, 9)
+    print(my_basis.x) # Prints (1.0, 4.0, 7.0)
+    print(my_basis.y) # Prints (2.0, 5.0, 8.0)
+    print(my_basis.z) # Prints (3.0, 6.0, 9.0)
 
  .. code-tab:: csharp
 
@@ -882,7 +882,7 @@ Transforms (multiplies) the ``right`` vector by this basis, returning a :ref:`Ve
 
     # Basis that swaps the X/Z axes and doubles the scale.
     var my_basis = Basis(Vector3(0, 2, 0), Vector3(2, 0, 0), Vector3(0, 0, 2))
-    print(my_basis * Vector3(1, 2, 3)) # Prints (4, 2, 6)
+    print(my_basis * Vector3(1, 2, 3)) # Prints (4.0, 2.0, 6.0)
 
  .. code-tab:: csharp
 

+ 1 - 1
classes/class_button.rst

@@ -231,7 +231,7 @@ If set to something other than :ref:`TextServer.AUTOWRAP_OFF<class_TextServer_co
 - |void| **set_clip_text**\ (\ value\: :ref:`bool<class_bool>`\ )
 - :ref:`bool<class_bool>` **get_clip_text**\ (\ )
 
-When this property is enabled, text that is too large to fit the button is clipped, when disabled the Button will always be wide enough to hold the text.
+If ``true``, text that is too large to fit the button is clipped horizontally. If ``false``, the button will always be wide enough to hold the text. The text is not vertically clipped, and the button's height is not affected by this property.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_callable.rst

@@ -30,7 +30,7 @@ Description
     func test():
         var callable = Callable(self, "print_args")
         callable.call("hello", "world")  # Prints "hello world ".
-        callable.call(Vector2.UP, 42, callable)  # Prints "(0, -1) 42 Node(node.gd)::print_args".
+        callable.call(Vector2.UP, 42, callable)  # Prints "(0.0, -1.0) 42 Node(node.gd)::print_args".
         callable.call("invalid")  # Invalid call, should have at least 2 arguments.
 
  .. code-tab:: csharp

+ 67 - 0
classes/class_colorpalette.rst

@@ -0,0 +1,67 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ColorPalette.xml.
+
+.. _class_ColorPalette:
+
+ColorPalette
+============
+
+**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+A resource class for managing a palette of colors, which can be loaded and saved using :ref:`ColorPicker<class_ColorPicker>`.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+The **ColorPalette** resource is designed to store and manage a collection of colors. This resource is useful in scenarios where a predefined set of colors is required, such as for creating themes, designing user interfaces, or managing game assets. The built-in :ref:`ColorPicker<class_ColorPicker>` control can also make use of **ColorPalette** without additional code.
+
+.. rst-class:: classref-reftable-group
+
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +-------------------------------------------------+---------------------------------------------------+------------------------+
+   | :ref:`PackedColorArray<class_PackedColorArray>` | :ref:`colors<class_ColorPalette_property_colors>` | ``PackedColorArray()`` |
+   +-------------------------------------------------+---------------------------------------------------+------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Property Descriptions
+---------------------
+
+.. _class_ColorPalette_property_colors:
+
+.. rst-class:: classref-property
+
+:ref:`PackedColorArray<class_PackedColorArray>` **colors** = ``PackedColorArray()`` :ref:`🔗<class_ColorPalette_property_colors>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_colors**\ (\ value\: :ref:`PackedColorArray<class_PackedColorArray>`\ )
+- :ref:`PackedColorArray<class_PackedColorArray>` **get_colors**\ (\ )
+
+A :ref:`PackedColorArray<class_PackedColorArray>` containing the colors in the palette.
+
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedColorArray<class_PackedColorArray>` for more details.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
+.. |void| replace:: :abbr:`void (No return value.)`

+ 14 - 0
classes/class_colorpicker.rst

@@ -117,6 +117,8 @@ Theme Properties
    +-----------------------------------+----------------------------------------------------------------------------------------+---------+
    | :ref:`Texture2D<class_Texture2D>` | :ref:`folded_arrow<class_ColorPicker_theme_icon_folded_arrow>`                         |         |
    +-----------------------------------+----------------------------------------------------------------------------------------+---------+
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`menu_option<class_ColorPicker_theme_icon_menu_option>`                           |         |
+   +-----------------------------------+----------------------------------------------------------------------------------------+---------+
    | :ref:`Texture2D<class_Texture2D>` | :ref:`overbright_indicator<class_ColorPicker_theme_icon_overbright_indicator>`         |         |
    +-----------------------------------+----------------------------------------------------------------------------------------+---------+
    | :ref:`Texture2D<class_Texture2D>` | :ref:`picker_cursor<class_ColorPicker_theme_icon_picker_cursor>`                       |         |
@@ -702,6 +704,18 @@ The icon for color preset drop down menu when folded.
 
 ----
 
+.. _class_ColorPicker_theme_icon_menu_option:
+
+.. rst-class:: classref-themeproperty
+
+:ref:`Texture2D<class_Texture2D>` **menu_option** :ref:`🔗<class_ColorPicker_theme_icon_menu_option>`
+
+The icon for color preset option menu.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ColorPicker_theme_icon_overbright_indicator:
 
 .. rst-class:: classref-themeproperty

+ 4 - 4
classes/class_dictionary.rst

@@ -548,9 +548,9 @@ Returns ``true`` if the dictionary contains an entry with the given ``key``.
         { 210, default },
     };
     
-    GD.Print(myDict.ContainsKey("Godot")); // Prints true
-    GD.Print(myDict.ContainsKey(210));     // Prints true
-    GD.Print(myDict.ContainsKey(4));       // Prints false
+    GD.Print(myDict.ContainsKey("Godot")); // Prints True
+    GD.Print(myDict.ContainsKey(210));     // Prints True
+    GD.Print(myDict.ContainsKey(4));       // Prints False
 
 
 
@@ -608,7 +608,7 @@ Returns a hashed 32-bit integer value representing the dictionary contents.
     var dict2 = new Godot.Collections.Dictionary{{"A", 10}, {"B", 2}};
     
     // Godot.Collections.Dictionary has no Hash() method. Use GD.Hash() instead.
-    GD.Print(GD.Hash(dict1) == GD.Hash(dict2)); // Prints true
+    GD.Print(GD.Hash(dict1) == GD.Hash(dict2)); // Prints True
 
 
 

+ 39 - 1
classes/class_displayserver.rst

@@ -242,6 +242,8 @@ Methods
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Image<class_Image>`                                               | :ref:`screen_get_image<class_DisplayServer_method_screen_get_image>`\ (\ screen\: :ref:`int<class_int>` = -1\ ) |const|                                                                                                                                                                                                                                                                                                                                                                                                                                             |
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Image<class_Image>`                                               | :ref:`screen_get_image_rect<class_DisplayServer_method_screen_get_image_rect>`\ (\ rect\: :ref:`Rect2i<class_Rect2i>`\ ) |const|                                                                                                                                                                                                                                                                                                                                                                                                                                    |
+   +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                                               | :ref:`screen_get_max_scale<class_DisplayServer_method_screen_get_max_scale>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`ScreenOrientation<enum_DisplayServer_ScreenOrientation>`          | :ref:`screen_get_orientation<class_DisplayServer_method_screen_get_orientation>`\ (\ screen\: :ref:`int<class_int>` = -1\ ) |const|                                                                                                                                                                                                                                                                                                                                                                                                                                 |
@@ -640,6 +642,14 @@ The display server supports all features of :ref:`FEATURE_NATIVE_DIALOG_FILE<cla
 
 The display server supports initiating window drag operation on demand. See :ref:`window_start_drag<class_DisplayServer_method_window_start_drag>`.
 
+.. _class_DisplayServer_constant_FEATURE_SCREEN_EXCLUDE_FROM_CAPTURE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Feature<enum_DisplayServer_Feature>` **FEATURE_SCREEN_EXCLUDE_FROM_CAPTURE** = ``28``
+
+Display server supports :ref:`WINDOW_FLAG_EXCLUDE_FROM_CAPTURE<class_DisplayServer_constant_WINDOW_FLAG_EXCLUDE_FROM_CAPTURE>` window flag.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -1204,11 +1214,23 @@ Window style is overridden, forcing sharp corners.
 
 \ **Note:** This flag is implemented only on Windows (11).
 
+.. _class_DisplayServer_constant_WINDOW_FLAG_EXCLUDE_FROM_CAPTURE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`WindowFlags<enum_DisplayServer_WindowFlags>` **WINDOW_FLAG_EXCLUDE_FROM_CAPTURE** = ``9``
+
+Windows is excluded from screenshots taken by :ref:`screen_get_image<class_DisplayServer_method_screen_get_image>`, :ref:`screen_get_image_rect<class_DisplayServer_method_screen_get_image_rect>`, and :ref:`screen_get_pixel<class_DisplayServer_method_screen_get_pixel>`.
+
+\ **Note:** This flag is implemented on macOS and Windows.
+
+\ **Note:** Setting this flag will **NOT** prevent other apps from capturing an image, it should not be used as a security measure.
+
 .. _class_DisplayServer_constant_WINDOW_FLAG_MAX:
 
 .. rst-class:: classref-enumeration-constant
 
-:ref:`WindowFlags<enum_DisplayServer_WindowFlags>` **WINDOW_FLAG_MAX** = ``9``
+:ref:`WindowFlags<enum_DisplayServer_WindowFlags>` **WINDOW_FLAG_MAX** = ``10``
 
 Max value of the :ref:`WindowFlags<enum_DisplayServer_WindowFlags>`.
 
@@ -3316,6 +3338,22 @@ Returns screenshot of the ``screen``.
 
 ----
 
+.. _class_DisplayServer_method_screen_get_image_rect:
+
+.. rst-class:: classref-method
+
+:ref:`Image<class_Image>` **screen_get_image_rect**\ (\ rect\: :ref:`Rect2i<class_Rect2i>`\ ) |const| :ref:`🔗<class_DisplayServer_method_screen_get_image_rect>`
+
+Returns screenshot of the screen ``rect``.
+
+\ **Note:** This method is implemented on macOS and Windows.
+
+\ **Note:** On macOS, this method requires "Screen Recording" permission, if permission is not granted it will return desktop wallpaper color.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_DisplayServer_method_screen_get_max_scale:
 
 .. rst-class:: classref-method

+ 14 - 0
classes/class_editorimportplugin.rst

@@ -157,6 +157,8 @@ Methods
    +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                          | :ref:`_can_import_threaded<class_EditorImportPlugin_private_method__can_import_threaded>`\ (\ ) |virtual| |const|                                                                                                                                                                                                                                                              |
    +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                            | :ref:`_get_format_version<class_EditorImportPlugin_private_method__get_format_version>`\ (\ ) |virtual| |const|                                                                                                                                                                                                                                                                |
+   +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] | :ref:`_get_import_options<class_EditorImportPlugin_private_method__get_import_options>`\ (\ path\: :ref:`String<class_String>`, preset_index\: :ref:`int<class_int>`\ ) |virtual| |const|                                                                                                                                                                                      |
    +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                            | :ref:`_get_import_order<class_EditorImportPlugin_private_method__get_import_order>`\ (\ ) |virtual| |const|                                                                                                                                                                                                                                                                    |
@@ -209,6 +211,18 @@ If this importer's implementation is thread-safe and can be run in parallel, ove
 
 ----
 
+.. _class_EditorImportPlugin_private_method__get_format_version:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **_get_format_version**\ (\ ) |virtual| |const| :ref:`🔗<class_EditorImportPlugin_private_method__get_format_version>`
+
+Gets the format version of this importer. Increment this version when making incompatible changes to the format of the imported resources.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorImportPlugin_private_method__get_import_options:
 
 .. rst-class:: classref-method

+ 19 - 5
classes/class_editorinspector.rst

@@ -57,11 +57,13 @@ Methods
 .. table::
    :widths: auto
 
-   +-----------------------------+----------------------------------------------------------------------------------------+
-   | :ref:`Object<class_Object>` | :ref:`get_edited_object<class_EditorInspector_method_get_edited_object>`\ (\ )         |
-   +-----------------------------+----------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>` | :ref:`get_selected_path<class_EditorInspector_method_get_selected_path>`\ (\ ) |const| |
-   +-----------------------------+----------------------------------------------------------------------------------------+
+   +---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Object<class_Object>`                 | :ref:`get_edited_object<class_EditorInspector_method_get_edited_object>`\ (\ )                                                                                                                                                                                                                                                                                                                                                |
+   +---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                 | :ref:`get_selected_path<class_EditorInspector_method_get_selected_path>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                        |
+   +---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`EditorProperty<class_EditorProperty>` | :ref:`instantiate_property_editor<class_EditorInspector_method_instantiate_property_editor>`\ (\ object\: :ref:`Object<class_Object>`, type\: :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>`, path\: :ref:`String<class_String>`, hint\: :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>`, hint_text\: :ref:`String<class_String>`, usage\: :ref:`int<class_int>`, wide\: :ref:`bool<class_bool>` = false\ ) |static| |
+   +---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -207,6 +209,18 @@ Returns the object currently selected in this inspector.
 
 Gets the path of the currently selected property.
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorInspector_method_instantiate_property_editor:
+
+.. rst-class:: classref-method
+
+:ref:`EditorProperty<class_EditorProperty>` **instantiate_property_editor**\ (\ object\: :ref:`Object<class_Object>`, type\: :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>`, path\: :ref:`String<class_String>`, hint\: :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>`, hint_text\: :ref:`String<class_String>`, usage\: :ref:`int<class_int>`, wide\: :ref:`bool<class_bool>` = false\ ) |static| :ref:`🔗<class_EditorInspector_method_instantiate_property_editor>`
+
+Creates a property editor that can be used by plugin UI to edit the specified property of an ``object``.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 153 - 111
classes/class_editorinterface.rst

@@ -59,117 +59,119 @@ Methods
 .. table::
    :widths: auto
 
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`edit_node<class_EditorInterface_method_edit_node>`\ (\ node\: :ref:`Node<class_Node>`\ )                                                                                                                                                                                                                     |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`edit_resource<class_EditorInterface_method_edit_resource>`\ (\ resource\: :ref:`Resource<class_Resource>`\ )                                                                                                                                                                                                 |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`edit_script<class_EditorInterface_method_edit_script>`\ (\ script\: :ref:`Script<class_Script>`, line\: :ref:`int<class_int>` = -1, column\: :ref:`int<class_int>` = 0, grab_focus\: :ref:`bool<class_bool>` = true\ )                                                                                       |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Control<class_Control>`                                  | :ref:`get_base_control<class_EditorInterface_method_get_base_control>`\ (\ ) |const|                                                                                                                                                                                                                               |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`EditorCommandPalette<class_EditorCommandPalette>`        | :ref:`get_command_palette<class_EditorInterface_method_get_command_palette>`\ (\ ) |const|                                                                                                                                                                                                                         |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                                    | :ref:`get_current_directory<class_EditorInterface_method_get_current_directory>`\ (\ ) |const|                                                                                                                                                                                                                     |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                                    | :ref:`get_current_feature_profile<class_EditorInterface_method_get_current_feature_profile>`\ (\ ) |const|                                                                                                                                                                                                         |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                                    | :ref:`get_current_path<class_EditorInterface_method_get_current_path>`\ (\ ) |const|                                                                                                                                                                                                                               |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Node<class_Node>`                                        | :ref:`get_edited_scene_root<class_EditorInterface_method_get_edited_scene_root>`\ (\ ) |const|                                                                                                                                                                                                                     |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`VBoxContainer<class_VBoxContainer>`                      | :ref:`get_editor_main_screen<class_EditorInterface_method_get_editor_main_screen>`\ (\ ) |const|                                                                                                                                                                                                                   |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`EditorPaths<class_EditorPaths>`                          | :ref:`get_editor_paths<class_EditorInterface_method_get_editor_paths>`\ (\ ) |const|                                                                                                                                                                                                                               |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                      | :ref:`get_editor_scale<class_EditorInterface_method_get_editor_scale>`\ (\ ) |const|                                                                                                                                                                                                                               |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`EditorSettings<class_EditorSettings>`                    | :ref:`get_editor_settings<class_EditorInterface_method_get_editor_settings>`\ (\ ) |const|                                                                                                                                                                                                                         |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Theme<class_Theme>`                                      | :ref:`get_editor_theme<class_EditorInterface_method_get_editor_theme>`\ (\ ) |const|                                                                                                                                                                                                                               |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`EditorToaster<class_EditorToaster>`                      | :ref:`get_editor_toaster<class_EditorInterface_method_get_editor_toaster>`\ (\ ) |const|                                                                                                                                                                                                                           |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`EditorUndoRedoManager<class_EditorUndoRedoManager>`      | :ref:`get_editor_undo_redo<class_EditorInterface_method_get_editor_undo_redo>`\ (\ ) |const|                                                                                                                                                                                                                       |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`SubViewport<class_SubViewport>`                          | :ref:`get_editor_viewport_2d<class_EditorInterface_method_get_editor_viewport_2d>`\ (\ ) |const|                                                                                                                                                                                                                   |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`SubViewport<class_SubViewport>`                          | :ref:`get_editor_viewport_3d<class_EditorInterface_method_get_editor_viewport_3d>`\ (\ idx\: :ref:`int<class_int>` = 0\ ) |const|                                                                                                                                                                                  |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`FileSystemDock<class_FileSystemDock>`                    | :ref:`get_file_system_dock<class_EditorInterface_method_get_file_system_dock>`\ (\ ) |const|                                                                                                                                                                                                                       |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`EditorInspector<class_EditorInspector>`                  | :ref:`get_inspector<class_EditorInterface_method_get_inspector>`\ (\ ) |const|                                                                                                                                                                                                                                     |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PackedStringArray<class_PackedStringArray>`              | :ref:`get_open_scenes<class_EditorInterface_method_get_open_scenes>`\ (\ ) |const|                                                                                                                                                                                                                                 |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                                    | :ref:`get_playing_scene<class_EditorInterface_method_get_playing_scene>`\ (\ ) |const|                                                                                                                                                                                                                             |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`EditorFileSystem<class_EditorFileSystem>`                | :ref:`get_resource_filesystem<class_EditorInterface_method_get_resource_filesystem>`\ (\ ) |const|                                                                                                                                                                                                                 |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`EditorResourcePreview<class_EditorResourcePreview>`      | :ref:`get_resource_previewer<class_EditorInterface_method_get_resource_previewer>`\ (\ ) |const|                                                                                                                                                                                                                   |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`ScriptEditor<class_ScriptEditor>`                        | :ref:`get_script_editor<class_EditorInterface_method_get_script_editor>`\ (\ ) |const|                                                                                                                                                                                                                             |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PackedStringArray<class_PackedStringArray>`              | :ref:`get_selected_paths<class_EditorInterface_method_get_selected_paths>`\ (\ ) |const|                                                                                                                                                                                                                           |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`EditorSelection<class_EditorSelection>`                  | :ref:`get_selection<class_EditorInterface_method_get_selection>`\ (\ ) |const|                                                                                                                                                                                                                                     |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`inspect_object<class_EditorInterface_method_inspect_object>`\ (\ object\: :ref:`Object<class_Object>`, for_property\: :ref:`String<class_String>` = "", inspector_only\: :ref:`bool<class_bool>` = false\ )                                                                                                  |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                        | :ref:`is_multi_window_enabled<class_EditorInterface_method_is_multi_window_enabled>`\ (\ ) |const|                                                                                                                                                                                                                 |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                        | :ref:`is_playing_scene<class_EditorInterface_method_is_playing_scene>`\ (\ ) |const|                                                                                                                                                                                                                               |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                        | :ref:`is_plugin_enabled<class_EditorInterface_method_is_plugin_enabled>`\ (\ plugin\: :ref:`String<class_String>`\ ) |const|                                                                                                                                                                                       |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Array<class_Array>`\[:ref:`Texture2D<class_Texture2D>`\] | :ref:`make_mesh_previews<class_EditorInterface_method_make_mesh_previews>`\ (\ meshes\: :ref:`Array<class_Array>`\[:ref:`Mesh<class_Mesh>`\], preview_size\: :ref:`int<class_int>`\ )                                                                                                                              |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`mark_scene_as_unsaved<class_EditorInterface_method_mark_scene_as_unsaved>`\ (\ )                                                                                                                                                                                                                             |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`open_scene_from_path<class_EditorInterface_method_open_scene_from_path>`\ (\ scene_filepath\: :ref:`String<class_String>`\ )                                                                                                                                                                                 |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`play_current_scene<class_EditorInterface_method_play_current_scene>`\ (\ )                                                                                                                                                                                                                                   |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`play_custom_scene<class_EditorInterface_method_play_custom_scene>`\ (\ scene_filepath\: :ref:`String<class_String>`\ )                                                                                                                                                                                       |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`play_main_scene<class_EditorInterface_method_play_main_scene>`\ (\ )                                                                                                                                                                                                                                         |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`popup_dialog<class_EditorInterface_method_popup_dialog>`\ (\ dialog\: :ref:`Window<class_Window>`, rect\: :ref:`Rect2i<class_Rect2i>` = Rect2i(0, 0, 0, 0)\ )                                                                                                                                                |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`popup_dialog_centered<class_EditorInterface_method_popup_dialog_centered>`\ (\ dialog\: :ref:`Window<class_Window>`, minsize\: :ref:`Vector2i<class_Vector2i>` = Vector2i(0, 0)\ )                                                                                                                           |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`popup_dialog_centered_clamped<class_EditorInterface_method_popup_dialog_centered_clamped>`\ (\ dialog\: :ref:`Window<class_Window>`, minsize\: :ref:`Vector2i<class_Vector2i>` = Vector2i(0, 0), fallback_ratio\: :ref:`float<class_float>` = 0.75\ )                                                        |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`popup_dialog_centered_ratio<class_EditorInterface_method_popup_dialog_centered_ratio>`\ (\ dialog\: :ref:`Window<class_Window>`, ratio\: :ref:`float<class_float>` = 0.8\ )                                                                                                                                  |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`popup_method_selector<class_EditorInterface_method_popup_method_selector>`\ (\ object\: :ref:`Object<class_Object>`, callback\: :ref:`Callable<class_Callable>`, current_value\: :ref:`String<class_String>` = ""\ )                                                                                         |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`popup_node_selector<class_EditorInterface_method_popup_node_selector>`\ (\ callback\: :ref:`Callable<class_Callable>`, valid_types\: :ref:`Array<class_Array>`\[:ref:`StringName<class_StringName>`\] = [], current_value\: :ref:`Node<class_Node>` = null\ )                                                |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`popup_property_selector<class_EditorInterface_method_popup_property_selector>`\ (\ object\: :ref:`Object<class_Object>`, callback\: :ref:`Callable<class_Callable>`, type_filter\: :ref:`PackedInt32Array<class_PackedInt32Array>` = PackedInt32Array(), current_value\: :ref:`String<class_String>` = ""\ ) |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`popup_quick_open<class_EditorInterface_method_popup_quick_open>`\ (\ callback\: :ref:`Callable<class_Callable>`, base_types\: :ref:`Array<class_Array>`\[:ref:`StringName<class_StringName>`\] = []\ )                                                                                                       |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`reload_scene_from_path<class_EditorInterface_method_reload_scene_from_path>`\ (\ scene_filepath\: :ref:`String<class_String>`\ )                                                                                                                                                                             |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`restart_editor<class_EditorInterface_method_restart_editor>`\ (\ save\: :ref:`bool<class_bool>` = true\ )                                                                                                                                                                                                    |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`save_all_scenes<class_EditorInterface_method_save_all_scenes>`\ (\ )                                                                                                                                                                                                                                         |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Error<enum_@GlobalScope_Error>`                          | :ref:`save_scene<class_EditorInterface_method_save_scene>`\ (\ )                                                                                                                                                                                                                                                   |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`save_scene_as<class_EditorInterface_method_save_scene_as>`\ (\ path\: :ref:`String<class_String>`, with_preview\: :ref:`bool<class_bool>` = true\ )                                                                                                                                                          |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`select_file<class_EditorInterface_method_select_file>`\ (\ file\: :ref:`String<class_String>`\ )                                                                                                                                                                                                             |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`set_current_feature_profile<class_EditorInterface_method_set_current_feature_profile>`\ (\ profile_name\: :ref:`String<class_String>`\ )                                                                                                                                                                     |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`set_main_screen_editor<class_EditorInterface_method_set_main_screen_editor>`\ (\ name\: :ref:`String<class_String>`\ )                                                                                                                                                                                       |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`set_plugin_enabled<class_EditorInterface_method_set_plugin_enabled>`\ (\ plugin\: :ref:`String<class_String>`, enabled\: :ref:`bool<class_bool>`\ )                                                                                                                                                          |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                         | :ref:`stop_playing_scene<class_EditorInterface_method_stop_playing_scene>`\ (\ )                                                                                                                                                                                                                                   |
-   +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`edit_node<class_EditorInterface_method_edit_node>`\ (\ node\: :ref:`Node<class_Node>`\ )                                                                                                                                                                                                                                                                                                                                           |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`edit_resource<class_EditorInterface_method_edit_resource>`\ (\ resource\: :ref:`Resource<class_Resource>`\ )                                                                                                                                                                                                                                                                                                                       |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`edit_script<class_EditorInterface_method_edit_script>`\ (\ script\: :ref:`Script<class_Script>`, line\: :ref:`int<class_int>` = -1, column\: :ref:`int<class_int>` = 0, grab_focus\: :ref:`bool<class_bool>` = true\ )                                                                                                                                                                                                             |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Control<class_Control>`                                  | :ref:`get_base_control<class_EditorInterface_method_get_base_control>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                                     |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`EditorCommandPalette<class_EditorCommandPalette>`        | :ref:`get_command_palette<class_EditorInterface_method_get_command_palette>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                               |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                                    | :ref:`get_current_directory<class_EditorInterface_method_get_current_directory>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                           |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                                    | :ref:`get_current_feature_profile<class_EditorInterface_method_get_current_feature_profile>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                               |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                                    | :ref:`get_current_path<class_EditorInterface_method_get_current_path>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                                     |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Node<class_Node>`                                        | :ref:`get_edited_scene_root<class_EditorInterface_method_get_edited_scene_root>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                           |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`VBoxContainer<class_VBoxContainer>`                      | :ref:`get_editor_main_screen<class_EditorInterface_method_get_editor_main_screen>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                         |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`EditorPaths<class_EditorPaths>`                          | :ref:`get_editor_paths<class_EditorInterface_method_get_editor_paths>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                                     |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                      | :ref:`get_editor_scale<class_EditorInterface_method_get_editor_scale>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                                     |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`EditorSettings<class_EditorSettings>`                    | :ref:`get_editor_settings<class_EditorInterface_method_get_editor_settings>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                               |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Theme<class_Theme>`                                      | :ref:`get_editor_theme<class_EditorInterface_method_get_editor_theme>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                                     |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`EditorToaster<class_EditorToaster>`                      | :ref:`get_editor_toaster<class_EditorInterface_method_get_editor_toaster>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                                 |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`EditorUndoRedoManager<class_EditorUndoRedoManager>`      | :ref:`get_editor_undo_redo<class_EditorInterface_method_get_editor_undo_redo>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                             |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`SubViewport<class_SubViewport>`                          | :ref:`get_editor_viewport_2d<class_EditorInterface_method_get_editor_viewport_2d>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                         |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`SubViewport<class_SubViewport>`                          | :ref:`get_editor_viewport_3d<class_EditorInterface_method_get_editor_viewport_3d>`\ (\ idx\: :ref:`int<class_int>` = 0\ ) |const|                                                                                                                                                                                                                                                                                                        |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`FileSystemDock<class_FileSystemDock>`                    | :ref:`get_file_system_dock<class_EditorInterface_method_get_file_system_dock>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                             |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`EditorInspector<class_EditorInspector>`                  | :ref:`get_inspector<class_EditorInterface_method_get_inspector>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                                           |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PackedStringArray<class_PackedStringArray>`              | :ref:`get_open_scenes<class_EditorInterface_method_get_open_scenes>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                                       |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                                    | :ref:`get_playing_scene<class_EditorInterface_method_get_playing_scene>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                                   |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`EditorFileSystem<class_EditorFileSystem>`                | :ref:`get_resource_filesystem<class_EditorInterface_method_get_resource_filesystem>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                       |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`EditorResourcePreview<class_EditorResourcePreview>`      | :ref:`get_resource_previewer<class_EditorInterface_method_get_resource_previewer>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                         |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`ScriptEditor<class_ScriptEditor>`                        | :ref:`get_script_editor<class_EditorInterface_method_get_script_editor>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                                   |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PackedStringArray<class_PackedStringArray>`              | :ref:`get_selected_paths<class_EditorInterface_method_get_selected_paths>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                                 |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`EditorSelection<class_EditorSelection>`                  | :ref:`get_selection<class_EditorInterface_method_get_selection>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                                           |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`inspect_object<class_EditorInterface_method_inspect_object>`\ (\ object\: :ref:`Object<class_Object>`, for_property\: :ref:`String<class_String>` = "", inspector_only\: :ref:`bool<class_bool>` = false\ )                                                                                                                                                                                                                        |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                        | :ref:`is_multi_window_enabled<class_EditorInterface_method_is_multi_window_enabled>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                       |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                        | :ref:`is_playing_scene<class_EditorInterface_method_is_playing_scene>`\ (\ ) |const|                                                                                                                                                                                                                                                                                                                                                     |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                        | :ref:`is_plugin_enabled<class_EditorInterface_method_is_plugin_enabled>`\ (\ plugin\: :ref:`String<class_String>`\ ) |const|                                                                                                                                                                                                                                                                                                             |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Array<class_Array>`\[:ref:`Texture2D<class_Texture2D>`\] | :ref:`make_mesh_previews<class_EditorInterface_method_make_mesh_previews>`\ (\ meshes\: :ref:`Array<class_Array>`\[:ref:`Mesh<class_Mesh>`\], preview_size\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                                                    |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`mark_scene_as_unsaved<class_EditorInterface_method_mark_scene_as_unsaved>`\ (\ )                                                                                                                                                                                                                                                                                                                                                   |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`open_scene_from_path<class_EditorInterface_method_open_scene_from_path>`\ (\ scene_filepath\: :ref:`String<class_String>`\ )                                                                                                                                                                                                                                                                                                       |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`play_current_scene<class_EditorInterface_method_play_current_scene>`\ (\ )                                                                                                                                                                                                                                                                                                                                                         |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`play_custom_scene<class_EditorInterface_method_play_custom_scene>`\ (\ scene_filepath\: :ref:`String<class_String>`\ )                                                                                                                                                                                                                                                                                                             |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`play_main_scene<class_EditorInterface_method_play_main_scene>`\ (\ )                                                                                                                                                                                                                                                                                                                                                               |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`popup_create_dialog<class_EditorInterface_method_popup_create_dialog>`\ (\ callback\: :ref:`Callable<class_Callable>`, base_type\: :ref:`StringName<class_StringName>` = "", current_type\: :ref:`String<class_String>` = "", dialog_title\: :ref:`String<class_String>` = "", type_blocklist\: :ref:`Array<class_Array>`\[:ref:`StringName<class_StringName>`\] = [], type_suffixes\: :ref:`Dictionary<class_Dictionary>` = {}\ ) |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`popup_dialog<class_EditorInterface_method_popup_dialog>`\ (\ dialog\: :ref:`Window<class_Window>`, rect\: :ref:`Rect2i<class_Rect2i>` = Rect2i(0, 0, 0, 0)\ )                                                                                                                                                                                                                                                                      |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`popup_dialog_centered<class_EditorInterface_method_popup_dialog_centered>`\ (\ dialog\: :ref:`Window<class_Window>`, minsize\: :ref:`Vector2i<class_Vector2i>` = Vector2i(0, 0)\ )                                                                                                                                                                                                                                                 |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`popup_dialog_centered_clamped<class_EditorInterface_method_popup_dialog_centered_clamped>`\ (\ dialog\: :ref:`Window<class_Window>`, minsize\: :ref:`Vector2i<class_Vector2i>` = Vector2i(0, 0), fallback_ratio\: :ref:`float<class_float>` = 0.75\ )                                                                                                                                                                              |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`popup_dialog_centered_ratio<class_EditorInterface_method_popup_dialog_centered_ratio>`\ (\ dialog\: :ref:`Window<class_Window>`, ratio\: :ref:`float<class_float>` = 0.8\ )                                                                                                                                                                                                                                                        |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`popup_method_selector<class_EditorInterface_method_popup_method_selector>`\ (\ object\: :ref:`Object<class_Object>`, callback\: :ref:`Callable<class_Callable>`, current_value\: :ref:`String<class_String>` = ""\ )                                                                                                                                                                                                               |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`popup_node_selector<class_EditorInterface_method_popup_node_selector>`\ (\ callback\: :ref:`Callable<class_Callable>`, valid_types\: :ref:`Array<class_Array>`\[:ref:`StringName<class_StringName>`\] = [], current_value\: :ref:`Node<class_Node>` = null\ )                                                                                                                                                                      |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`popup_property_selector<class_EditorInterface_method_popup_property_selector>`\ (\ object\: :ref:`Object<class_Object>`, callback\: :ref:`Callable<class_Callable>`, type_filter\: :ref:`PackedInt32Array<class_PackedInt32Array>` = PackedInt32Array(), current_value\: :ref:`String<class_String>` = ""\ )                                                                                                                       |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`popup_quick_open<class_EditorInterface_method_popup_quick_open>`\ (\ callback\: :ref:`Callable<class_Callable>`, base_types\: :ref:`Array<class_Array>`\[:ref:`StringName<class_StringName>`\] = []\ )                                                                                                                                                                                                                             |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`reload_scene_from_path<class_EditorInterface_method_reload_scene_from_path>`\ (\ scene_filepath\: :ref:`String<class_String>`\ )                                                                                                                                                                                                                                                                                                   |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`restart_editor<class_EditorInterface_method_restart_editor>`\ (\ save\: :ref:`bool<class_bool>` = true\ )                                                                                                                                                                                                                                                                                                                          |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`save_all_scenes<class_EditorInterface_method_save_all_scenes>`\ (\ )                                                                                                                                                                                                                                                                                                                                                               |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Error<enum_@GlobalScope_Error>`                          | :ref:`save_scene<class_EditorInterface_method_save_scene>`\ (\ )                                                                                                                                                                                                                                                                                                                                                                         |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`save_scene_as<class_EditorInterface_method_save_scene_as>`\ (\ path\: :ref:`String<class_String>`, with_preview\: :ref:`bool<class_bool>` = true\ )                                                                                                                                                                                                                                                                                |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`select_file<class_EditorInterface_method_select_file>`\ (\ file\: :ref:`String<class_String>`\ )                                                                                                                                                                                                                                                                                                                                   |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`set_current_feature_profile<class_EditorInterface_method_set_current_feature_profile>`\ (\ profile_name\: :ref:`String<class_String>`\ )                                                                                                                                                                                                                                                                                           |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`set_main_screen_editor<class_EditorInterface_method_set_main_screen_editor>`\ (\ name\: :ref:`String<class_String>`\ )                                                                                                                                                                                                                                                                                                             |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`set_plugin_enabled<class_EditorInterface_method_set_plugin_enabled>`\ (\ plugin\: :ref:`String<class_String>`, enabled\: :ref:`bool<class_bool>`\ )                                                                                                                                                                                                                                                                                |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                         | :ref:`stop_playing_scene<class_EditorInterface_method_stop_playing_scene>`\ (\ )                                                                                                                                                                                                                                                                                                                                                         |
+   +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -691,6 +693,46 @@ Plays the main scene.
 
 ----
 
+.. _class_EditorInterface_method_popup_create_dialog:
+
+.. rst-class:: classref-method
+
+|void| **popup_create_dialog**\ (\ callback\: :ref:`Callable<class_Callable>`, base_type\: :ref:`StringName<class_StringName>` = "", current_type\: :ref:`String<class_String>` = "", dialog_title\: :ref:`String<class_String>` = "", type_blocklist\: :ref:`Array<class_Array>`\[:ref:`StringName<class_StringName>`\] = [], type_suffixes\: :ref:`Dictionary<class_Dictionary>` = {}\ ) :ref:`🔗<class_EditorInterface_method_popup_create_dialog>`
+
+Pops up an editor dialog for creating an object.
+
+The ``callback`` must take a single argument of type :ref:`StringName<class_StringName>` which will contain the type name of the selected object or be empty if no item is selected.
+
+The ``base_type`` specifies the base type of objects to display. For example, if you set this to "Resource", all types derived from :ref:`Resource<class_Resource>` will display in the create dialog.
+
+The ``current_type`` will be passed in the search box of the create dialog, and the specified type can be immediately selected when the dialog pops up. If the ``current_type`` is not derived from ``base_type``, there will be no result of the type in the dialog.
+
+The ``dialog_title`` allows you to define a custom title for the dialog. This is useful if you want to accurately hint the usage of the dialog. If the ``dialog_title`` is an empty string, the dialog will use "Create New 'Base Type'" as the default title.
+
+The ``type_blocklist`` contains a list of type names, and the types in the blocklist will be hidden from the create dialog.
+
+The ``type_suffixes`` is a dictionary, with keys being :ref:`StringName<class_StringName>`\ s and values being :ref:`String<class_String>`\ s. Custom suffixes override the default suffixes which are file names of their scripts. For example, if you set a custom suffix as "Custom Suffix" for a global script type,
+
+.. code:: text
+
+    Node
+    |- MyCustomNode (my_custom_node.gd)
+
+will be
+
+.. code:: text
+
+    Node
+    |- MyCustomNode (Custom Suffix)
+
+Bear in mind that when a built-in type does not have any custom suffix, its suffix will be removed. The suffix of a type created from a script will fall back to its script file name. For global types by scripts, if you customize their suffixes to an empty string, their suffixes will be removed.
+
+\ **Note:** Trying to list the base type in the ``type_blocklist`` will hide all types derived from the base type from the create dialog.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorInterface_method_popup_dialog:
 
 .. rst-class:: classref-method

+ 142 - 15
classes/class_editorproperty.rst

@@ -29,21 +29,27 @@ Properties
 .. table::
    :widths: auto
 
-   +-----------------------------+-----------------------------------------------------------------+-----------+
-   | :ref:`bool<class_bool>`     | :ref:`checkable<class_EditorProperty_property_checkable>`       | ``false`` |
-   +-----------------------------+-----------------------------------------------------------------+-----------+
-   | :ref:`bool<class_bool>`     | :ref:`checked<class_EditorProperty_property_checked>`           | ``false`` |
-   +-----------------------------+-----------------------------------------------------------------+-----------+
-   | :ref:`bool<class_bool>`     | :ref:`deletable<class_EditorProperty_property_deletable>`       | ``false`` |
-   +-----------------------------+-----------------------------------------------------------------+-----------+
-   | :ref:`bool<class_bool>`     | :ref:`draw_warning<class_EditorProperty_property_draw_warning>` | ``false`` |
-   +-----------------------------+-----------------------------------------------------------------+-----------+
-   | :ref:`bool<class_bool>`     | :ref:`keying<class_EditorProperty_property_keying>`             | ``false`` |
-   +-----------------------------+-----------------------------------------------------------------+-----------+
-   | :ref:`String<class_String>` | :ref:`label<class_EditorProperty_property_label>`               | ``""``    |
-   +-----------------------------+-----------------------------------------------------------------+-----------+
-   | :ref:`bool<class_bool>`     | :ref:`read_only<class_EditorProperty_property_read_only>`       | ``false`` |
-   +-----------------------------+-----------------------------------------------------------------+-----------+
+   +-----------------------------+-------------------------------------------------------------------------+-----------+
+   | :ref:`bool<class_bool>`     | :ref:`checkable<class_EditorProperty_property_checkable>`               | ``false`` |
+   +-----------------------------+-------------------------------------------------------------------------+-----------+
+   | :ref:`bool<class_bool>`     | :ref:`checked<class_EditorProperty_property_checked>`                   | ``false`` |
+   +-----------------------------+-------------------------------------------------------------------------+-----------+
+   | :ref:`bool<class_bool>`     | :ref:`deletable<class_EditorProperty_property_deletable>`               | ``false`` |
+   +-----------------------------+-------------------------------------------------------------------------+-----------+
+   | :ref:`bool<class_bool>`     | :ref:`draw_warning<class_EditorProperty_property_draw_warning>`         | ``false`` |
+   +-----------------------------+-------------------------------------------------------------------------+-----------+
+   | :ref:`bool<class_bool>`     | :ref:`keying<class_EditorProperty_property_keying>`                     | ``false`` |
+   +-----------------------------+-------------------------------------------------------------------------+-----------+
+   | :ref:`String<class_String>` | :ref:`label<class_EditorProperty_property_label>`                       | ``""``    |
+   +-----------------------------+-------------------------------------------------------------------------+-----------+
+   | :ref:`float<class_float>`   | :ref:`name_split_ratio<class_EditorProperty_property_name_split_ratio>` | ``0.5``   |
+   +-----------------------------+-------------------------------------------------------------------------+-----------+
+   | :ref:`bool<class_bool>`     | :ref:`read_only<class_EditorProperty_property_read_only>`               | ``false`` |
+   +-----------------------------+-------------------------------------------------------------------------+-----------+
+   | :ref:`bool<class_bool>`     | :ref:`selectable<class_EditorProperty_property_selectable>`             | ``true``  |
+   +-----------------------------+-------------------------------------------------------------------------+-----------+
+   | :ref:`bool<class_bool>`     | :ref:`use_folding<class_EditorProperty_property_use_folding>`           | ``false`` |
+   +-----------------------------+-------------------------------------------------------------------------+-----------+
 
 .. rst-class:: classref-reftable-group
 
@@ -60,14 +66,24 @@ Methods
    +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                              | :ref:`add_focusable<class_EditorProperty_method_add_focusable>`\ (\ control\: :ref:`Control<class_Control>`\ )                                                                                                                                            |
    +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                              | :ref:`deselect<class_EditorProperty_method_deselect>`\ (\ )                                                                                                                                                                                               |
+   +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                              | :ref:`emit_changed<class_EditorProperty_method_emit_changed>`\ (\ property\: :ref:`StringName<class_StringName>`, value\: :ref:`Variant<class_Variant>`, field\: :ref:`StringName<class_StringName>` = &"", changing\: :ref:`bool<class_bool>` = false\ ) |
    +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Object<class_Object>`         | :ref:`get_edited_object<class_EditorProperty_method_get_edited_object>`\ (\ )                                                                                                                                                                             |
    +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`StringName<class_StringName>` | :ref:`get_edited_property<class_EditorProperty_method_get_edited_property>`\ (\ ) |const|                                                                                                                                                                 |
    +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`             | :ref:`is_selected<class_EditorProperty_method_is_selected>`\ (\ ) |const|                                                                                                                                                                                 |
+   +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                              | :ref:`select<class_EditorProperty_method_select>`\ (\ focusable\: :ref:`int<class_int>` = -1\ )                                                                                                                                                           |
+   +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                              | :ref:`set_bottom_editor<class_EditorProperty_method_set_bottom_editor>`\ (\ editor\: :ref:`Control<class_Control>`\ )                                                                                                                                     |
    +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                              | :ref:`set_label_reference<class_EditorProperty_method_set_label_reference>`\ (\ control\: :ref:`Control<class_Control>`\ )                                                                                                                                |
+   +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                              | :ref:`set_object_and_property<class_EditorProperty_method_set_object_and_property>`\ (\ object\: :ref:`Object<class_Object>`, property\: :ref:`StringName<class_StringName>`\ )                                                                           |
+   +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                              | :ref:`update_property<class_EditorProperty_method_update_property>`\ (\ )                                                                                                                                                                                 |
    +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
@@ -333,6 +349,23 @@ Set this property to change the label (if you want to show one).
 
 ----
 
+.. _class_EditorProperty_property_name_split_ratio:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **name_split_ratio** = ``0.5`` :ref:`🔗<class_EditorProperty_property_name_split_ratio>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_name_split_ratio**\ (\ value\: :ref:`float<class_float>`\ )
+- :ref:`float<class_float>` **get_name_split_ratio**\ (\ )
+
+Space distribution ratio between the label and the editing field.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorProperty_property_read_only:
 
 .. rst-class:: classref-property
@@ -346,6 +379,40 @@ Set this property to change the label (if you want to show one).
 
 Used by the inspector, set to ``true`` when the property is read-only.
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorProperty_property_selectable:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **selectable** = ``true`` :ref:`🔗<class_EditorProperty_property_selectable>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_selectable**\ (\ value\: :ref:`bool<class_bool>`\ )
+- :ref:`bool<class_bool>` **is_selectable**\ (\ )
+
+Used by the inspector, set to ``true`` when the property is selectable.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorProperty_property_use_folding:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **use_folding** = ``false`` :ref:`🔗<class_EditorProperty_property_use_folding>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_use_folding**\ (\ value\: :ref:`bool<class_bool>`\ )
+- :ref:`bool<class_bool>` **is_using_folding**\ (\ )
+
+Used by the inspector, set to ``true`` when the property is using folding.
+
 .. rst-class:: classref-section-separator
 
 ----
@@ -391,6 +458,18 @@ If any of the controls added can gain keyboard focus, add it here. This ensures
 
 ----
 
+.. _class_EditorProperty_method_deselect:
+
+.. rst-class:: classref-method
+
+|void| **deselect**\ (\ ) :ref:`🔗<class_EditorProperty_method_deselect>`
+
+Draw property as not selected. Used by the inspector.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorProperty_method_emit_changed:
 
 .. rst-class:: classref-method
@@ -427,6 +506,30 @@ Gets the edited property. If your editor is for a single property (added via :re
 
 ----
 
+.. _class_EditorProperty_method_is_selected:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **is_selected**\ (\ ) |const| :ref:`🔗<class_EditorProperty_method_is_selected>`
+
+Returns ``true`` if property is drawn as selected. Used by the inspector.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorProperty_method_select:
+
+.. rst-class:: classref-method
+
+|void| **select**\ (\ focusable\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_EditorProperty_method_select>`
+
+Draw property as selected. Used by the inspector.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorProperty_method_set_bottom_editor:
 
 .. rst-class:: classref-method
@@ -439,6 +542,30 @@ Puts the ``editor`` control below the property label. The control must be previo
 
 ----
 
+.. _class_EditorProperty_method_set_label_reference:
+
+.. rst-class:: classref-method
+
+|void| **set_label_reference**\ (\ control\: :ref:`Control<class_Control>`\ ) :ref:`🔗<class_EditorProperty_method_set_label_reference>`
+
+Used by the inspector, set to a control that will be used as a reference to calculate the size of the label.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorProperty_method_set_object_and_property:
+
+.. rst-class:: classref-method
+
+|void| **set_object_and_property**\ (\ object\: :ref:`Object<class_Object>`, property\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_EditorProperty_method_set_object_and_property>`
+
+Assigns object and property to edit.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorProperty_method_update_property:
 
 .. rst-class:: classref-method

+ 18 - 2
classes/class_editorsettings.rst

@@ -191,6 +191,8 @@ Properties
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                         | :ref:`editors/3d/navigation_feel/translation_inertia<class_EditorSettings_property_editors/3d/navigation_feel/translation_inertia>`                                                                               |
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`editors/3d/navigation_feel/translation_sensitivity<class_EditorSettings_property_editors/3d/navigation_feel/translation_sensitivity>`                                                                       |
+   +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                         | :ref:`editors/3d/navigation_feel/zoom_inertia<class_EditorSettings_property_editors/3d/navigation_feel/zoom_inertia>`                                                                                             |
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Color<class_Color>`                         | :ref:`editors/3d/primary_grid_color<class_EditorSettings_property_editors/3d/primary_grid_color>`                                                                                                                 |
@@ -1629,7 +1631,7 @@ If ``true``, invert the vertical mouse axis when panning, orbiting, or using fre
 
 :ref:`int<class_int>` **editors/3d/navigation/navigation_scheme** :ref:`🔗<class_EditorSettings_property_editors/3d/navigation/navigation_scheme>`
 
-The navigation scheme preset to use in the 3D editor. Changing this setting will affect the mouse button and modifier controls used to navigate the 3D editor viewport.
+The navigation scheme preset to use in the 3D editor. Changing this setting will affect the mouse button and modifier keys used to navigate the 3D editor viewport.
 
 All schemes can use :kbd:`Mouse wheel` to zoom.
 
@@ -1639,7 +1641,9 @@ All schemes can use :kbd:`Mouse wheel` to zoom.
 
 - **Modo:** :kbd:`Alt + Left mouse button` to orbit. :kbd:`Alt + Shift + Left mouse button` to pan. :kbd:`Ctrl + Alt + Left mouse button` to zoom.
 
-See also :ref:`editors/3d/navigation/orbit_mouse_button<class_EditorSettings_property_editors/3d/navigation/orbit_mouse_button>`, :ref:`editors/3d/navigation/pan_mouse_button<class_EditorSettings_property_editors/3d/navigation/pan_mouse_button>`, :ref:`editors/3d/navigation/zoom_mouse_button<class_EditorSettings_property_editors/3d/navigation/zoom_mouse_button>`, and :ref:`editors/3d/freelook/freelook_navigation_scheme<class_EditorSettings_property_editors/3d/freelook/freelook_navigation_scheme>`.
+- **Tablet/Trackpad:** :kbd:`Alt` to orbit. :kbd:`Shift` to pan. :kbd:`Ctrl` to zoom. Enables 3-button mouse emulation mode.
+
+See also :ref:`editors/3d/navigation/orbit_mouse_button<class_EditorSettings_property_editors/3d/navigation/orbit_mouse_button>`, :ref:`editors/3d/navigation/pan_mouse_button<class_EditorSettings_property_editors/3d/navigation/pan_mouse_button>`, :ref:`editors/3d/navigation/zoom_mouse_button<class_EditorSettings_property_editors/3d/navigation/zoom_mouse_button>`, :ref:`editors/3d/freelook/freelook_navigation_scheme<class_EditorSettings_property_editors/3d/freelook/freelook_navigation_scheme>`, and :ref:`editors/3d/navigation/emulate_3_button_mouse<class_EditorSettings_property_editors/3d/navigation/emulate_3_button_mouse>`.
 
 \ **Note:** On certain window managers on Linux, the :kbd:`Alt` key will be intercepted by the window manager when clicking a mouse button at the same time. This means Godot will not see the modifier key as being pressed.
 
@@ -1767,6 +1771,18 @@ The inertia to use when panning in the 3D editor. Higher values make the camera
 
 ----
 
+.. _class_EditorSettings_property_editors/3d/navigation_feel/translation_sensitivity:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **editors/3d/navigation_feel/translation_sensitivity** :ref:`🔗<class_EditorSettings_property_editors/3d/navigation_feel/translation_sensitivity>`
+
+The mouse sensitivity to use when panning in the 3D editor.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorSettings_property_editors/3d/navigation_feel/zoom_inertia:
 
 .. rst-class:: classref-property

+ 4 - 4
classes/class_engine.rst

@@ -623,10 +623,10 @@ Returns ``true`` if a singleton with the given ``name`` exists in the global sco
 
  .. code-tab:: csharp
 
-    GD.Print(Engine.HasSingleton("OS"));          // Prints true
-    GD.Print(Engine.HasSingleton("Engine"));      // Prints true
-    GD.Print(Engine.HasSingleton("AudioServer")); // Prints true
-    GD.Print(Engine.HasSingleton("Unknown"));     // Prints false
+    GD.Print(Engine.HasSingleton("OS"));          // Prints True
+    GD.Print(Engine.HasSingleton("Engine"));      // Prints True
+    GD.Print(Engine.HasSingleton("AudioServer")); // Prints True
+    GD.Print(Engine.HasSingleton("Unknown"));     // Prints False
 
 
 

+ 3 - 3
classes/class_float.rst

@@ -272,7 +272,7 @@ Multiplies each component of the :ref:`Vector2i<class_Vector2i>` by the given **
 
 ::
 
-    print(0.9 * Vector2i(10, 15)) # Prints "(9, 13.5)"
+    print(0.9 * Vector2i(10, 15)) # Prints (9.0, 13.5)
 
 .. rst-class:: classref-item-separator
 
@@ -300,7 +300,7 @@ Multiplies each component of the :ref:`Vector3i<class_Vector3i>` by the given **
 
 ::
 
-    print(0.9 * Vector3i(10, 15, 20)) # Prints "(9, 13.5, 18)"
+    print(0.9 * Vector3i(10, 15, 20)) # Prints (9.0, 13.5, 18.0)
 
 .. rst-class:: classref-item-separator
 
@@ -328,7 +328,7 @@ Multiplies each component of the :ref:`Vector4i<class_Vector4i>` by the given **
 
 ::
 
-    print(0.9 * Vector4i(10, 15, 20, -10)) # Prints "(9, 13.5, 18, -9)"
+    print(0.9 * Vector4i(10, 15, 20, -10)) # Prints (9.0, 13.5, 18.0, -9.0)
 
 .. rst-class:: classref-item-separator
 

+ 2 - 2
classes/class_geometry2d.rst

@@ -496,14 +496,14 @@ The operation may result in an outer polygon (boundary) and inner polygon (hole)
     var polygon = PackedVector2Array([Vector2(0, 0), Vector2(100, 0), Vector2(100, 100), Vector2(0, 100)])
     var offset = Vector2(50, 50)
     polygon = Transform2D(0, offset) * polygon
-    print(polygon) # prints [(50, 50), (150, 50), (150, 150), (50, 150)]
+    print(polygon) # Prints [(50.0, 50.0), (150.0, 50.0), (150.0, 150.0), (50.0, 150.0)]
 
  .. code-tab:: csharp
 
     var polygon = new Vector2[] { new Vector2(0, 0), new Vector2(100, 0), new Vector2(100, 100), new Vector2(0, 100) };
     var offset = new Vector2(50, 50);
     polygon = new Transform2D(0, offset) * polygon;
-    GD.Print((Variant)polygon); // prints [(50, 50), (150, 50), (150, 150), (50, 150)]
+    GD.Print((Variant)polygon); // Prints [(50, 50), (150, 50), (150, 150), (50, 150)]
 
 
 

+ 2 - 0
classes/class_gpuparticles2d.rst

@@ -700,6 +700,8 @@ Emits a single particle. Whether ``xform``, ``velocity``, ``color`` and ``custom
 
 The default ParticleProcessMaterial will overwrite ``color`` and use the contents of ``custom`` as ``(rotation, age, animation, lifetime)``.
 
+\ **Note:** :ref:`emit_particle<class_GPUParticles2D_method_emit_particle>` is only supported on the Forward+ and Mobile rendering methods, not Compatibility.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 2 - 0
classes/class_gpuparticles3d.rst

@@ -867,6 +867,8 @@ Emits a single particle. Whether ``xform``, ``velocity``, ``color`` and ``custom
 
 The default ParticleProcessMaterial will overwrite ``color`` and use the contents of ``custom`` as ``(rotation, age, animation, lifetime)``.
 
+\ **Note:** :ref:`emit_particle<class_GPUParticles3D_method_emit_particle>` is only supported on the Forward+ and Mobile rendering methods, not Compatibility.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 1 - 1
classes/class_hboxcontainer.rst

@@ -12,7 +12,7 @@ HBoxContainer
 
 **Inherits:** :ref:`BoxContainer<class_BoxContainer>` **<** :ref:`Container<class_Container>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`EditorResourcePicker<class_EditorResourcePicker>`, :ref:`EditorToaster<class_EditorToaster>`
+**Inherited By:** :ref:`EditorResourcePicker<class_EditorResourcePicker>`, :ref:`EditorToaster<class_EditorToaster>`, :ref:`OpenXRInteractionProfileEditorBase<class_OpenXRInteractionProfileEditorBase>`
 
 A container that arranges its child controls horizontally.
 

+ 22 - 8
classes/class_json.rst

@@ -80,7 +80,7 @@ Methods
    :widths: auto
 
    +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Variant<class_Variant>`         | :ref:`from_native<class_JSON_method_from_native>`\ (\ variant\: :ref:`Variant<class_Variant>`, allow_classes\: :ref:`bool<class_bool>` = false, allow_scripts\: :ref:`bool<class_bool>` = false\ ) |static|                                 |
+   | :ref:`Variant<class_Variant>`         | :ref:`from_native<class_JSON_method_from_native>`\ (\ variant\: :ref:`Variant<class_Variant>`, full_objects\: :ref:`bool<class_bool>` = false\ ) |static|                                                                                   |
    +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                 | :ref:`get_error_line<class_JSON_method_get_error_line>`\ (\ ) |const|                                                                                                                                                                       |
    +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -94,7 +94,7 @@ Methods
    +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`           | :ref:`stringify<class_JSON_method_stringify>`\ (\ data\: :ref:`Variant<class_Variant>`, indent\: :ref:`String<class_String>` = "", sort_keys\: :ref:`bool<class_bool>` = true, full_precision\: :ref:`bool<class_bool>` = false\ ) |static| |
    +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Variant<class_Variant>`         | :ref:`to_native<class_JSON_method_to_native>`\ (\ json\: :ref:`Variant<class_Variant>`, allow_classes\: :ref:`bool<class_bool>` = false, allow_scripts\: :ref:`bool<class_bool>` = false\ ) |static|                                        |
+   | :ref:`Variant<class_Variant>`         | :ref:`to_native<class_JSON_method_to_native>`\ (\ json\: :ref:`Variant<class_Variant>`, allow_objects\: :ref:`bool<class_bool>` = false\ ) |static|                                                                                         |
    +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
@@ -132,11 +132,18 @@ Method Descriptions
 
 .. rst-class:: classref-method
 
-:ref:`Variant<class_Variant>` **from_native**\ (\ variant\: :ref:`Variant<class_Variant>`, allow_classes\: :ref:`bool<class_bool>` = false, allow_scripts\: :ref:`bool<class_bool>` = false\ ) |static| :ref:`🔗<class_JSON_method_from_native>`
+:ref:`Variant<class_Variant>` **from_native**\ (\ variant\: :ref:`Variant<class_Variant>`, full_objects\: :ref:`bool<class_bool>` = false\ ) |static| :ref:`🔗<class_JSON_method_from_native>`
 
-Converts a native engine type to a JSON-compliant dictionary.
+Converts a native engine type to a JSON-compliant value.
 
-By default, classes and scripts are ignored for security reasons, unless ``allow_classes`` or ``allow_scripts`` are specified.
+By default, objects are ignored for security reasons, unless ``full_objects`` is ``true``.
+
+You can convert a native value to a JSON string like this:
+
+::
+
+    func encode_data(value, full_objects = false):
+        return JSON.stringify(JSON.from_native(value, full_objects))
 
 .. rst-class:: classref-item-separator
 
@@ -269,11 +276,18 @@ The ``indent`` parameter controls if and how something is indented; its contents
 
 .. rst-class:: classref-method
 
-:ref:`Variant<class_Variant>` **to_native**\ (\ json\: :ref:`Variant<class_Variant>`, allow_classes\: :ref:`bool<class_bool>` = false, allow_scripts\: :ref:`bool<class_bool>` = false\ ) |static| :ref:`🔗<class_JSON_method_to_native>`
+:ref:`Variant<class_Variant>` **to_native**\ (\ json\: :ref:`Variant<class_Variant>`, allow_objects\: :ref:`bool<class_bool>` = false\ ) |static| :ref:`🔗<class_JSON_method_to_native>`
 
-Converts a JSON-compliant dictionary that was created with :ref:`from_native<class_JSON_method_from_native>` back to native engine types.
+Converts a JSON-compliant value that was created with :ref:`from_native<class_JSON_method_from_native>` back to native engine types.
+
+By default, objects are ignored for security reasons, unless ``allow_objects`` is ``true``.
+
+You can convert a JSON string back to a native value like this:
+
+::
 
-By default, classes and scripts are ignored for security reasons, unless ``allow_classes`` or ``allow_scripts`` are specified.
+    func decode_data(string, allow_objects = false):
+        return JSON.to_native(JSON.parse_string(string), allow_objects)
 
 .. |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.)`

+ 64 - 39
classes/class_lightmapgi.rst

@@ -48,45 +48,47 @@ Properties
 .. table::
    :widths: auto
 
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`float<class_float>`                               | :ref:`bias<class_LightmapGI_property_bias>`                                           | ``0.0005`` |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`float<class_float>`                               | :ref:`bounce_indirect_energy<class_LightmapGI_property_bounce_indirect_energy>`       | ``1.0``    |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`int<class_int>`                                   | :ref:`bounces<class_LightmapGI_property_bounces>`                                     | ``3``      |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`CameraAttributes<class_CameraAttributes>`         | :ref:`camera_attributes<class_LightmapGI_property_camera_attributes>`                 |            |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`int<class_int>`                                   | :ref:`denoiser_range<class_LightmapGI_property_denoiser_range>`                       | ``10``     |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`float<class_float>`                               | :ref:`denoiser_strength<class_LightmapGI_property_denoiser_strength>`                 | ``0.1``    |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`bool<class_bool>`                                 | :ref:`directional<class_LightmapGI_property_directional>`                             | ``false``  |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`Color<class_Color>`                               | :ref:`environment_custom_color<class_LightmapGI_property_environment_custom_color>`   |            |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`float<class_float>`                               | :ref:`environment_custom_energy<class_LightmapGI_property_environment_custom_energy>` |            |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`Sky<class_Sky>`                                   | :ref:`environment_custom_sky<class_LightmapGI_property_environment_custom_sky>`       |            |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`EnvironmentMode<enum_LightmapGI_EnvironmentMode>` | :ref:`environment_mode<class_LightmapGI_property_environment_mode>`                   | ``1``      |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`GenerateProbes<enum_LightmapGI_GenerateProbes>`   | :ref:`generate_probes_subdiv<class_LightmapGI_property_generate_probes_subdiv>`       | ``2``      |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`bool<class_bool>`                                 | :ref:`interior<class_LightmapGI_property_interior>`                                   | ``false``  |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`LightmapGIData<class_LightmapGIData>`             | :ref:`light_data<class_LightmapGI_property_light_data>`                               |            |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`int<class_int>`                                   | :ref:`max_texture_size<class_LightmapGI_property_max_texture_size>`                   | ``16384``  |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`BakeQuality<enum_LightmapGI_BakeQuality>`         | :ref:`quality<class_LightmapGI_property_quality>`                                     | ``1``      |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`float<class_float>`                               | :ref:`texel_scale<class_LightmapGI_property_texel_scale>`                             | ``1.0``    |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`bool<class_bool>`                                 | :ref:`use_denoiser<class_LightmapGI_property_use_denoiser>`                           | ``true``   |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
-   | :ref:`bool<class_bool>`                                 | :ref:`use_texture_for_bounces<class_LightmapGI_property_use_texture_for_bounces>`     | ``true``   |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`float<class_float>`                                 | :ref:`bias<class_LightmapGI_property_bias>`                                           | ``0.0005`` |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`float<class_float>`                                 | :ref:`bounce_indirect_energy<class_LightmapGI_property_bounce_indirect_energy>`       | ``1.0``    |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`int<class_int>`                                     | :ref:`bounces<class_LightmapGI_property_bounces>`                                     | ``3``      |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`CameraAttributes<class_CameraAttributes>`           | :ref:`camera_attributes<class_LightmapGI_property_camera_attributes>`                 |            |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`int<class_int>`                                     | :ref:`denoiser_range<class_LightmapGI_property_denoiser_range>`                       | ``10``     |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`float<class_float>`                                 | :ref:`denoiser_strength<class_LightmapGI_property_denoiser_strength>`                 | ``0.1``    |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`bool<class_bool>`                                   | :ref:`directional<class_LightmapGI_property_directional>`                             | ``false``  |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`Color<class_Color>`                                 | :ref:`environment_custom_color<class_LightmapGI_property_environment_custom_color>`   |            |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`float<class_float>`                                 | :ref:`environment_custom_energy<class_LightmapGI_property_environment_custom_energy>` |            |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`Sky<class_Sky>`                                     | :ref:`environment_custom_sky<class_LightmapGI_property_environment_custom_sky>`       |            |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`EnvironmentMode<enum_LightmapGI_EnvironmentMode>`   | :ref:`environment_mode<class_LightmapGI_property_environment_mode>`                   | ``1``      |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`GenerateProbes<enum_LightmapGI_GenerateProbes>`     | :ref:`generate_probes_subdiv<class_LightmapGI_property_generate_probes_subdiv>`       | ``2``      |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`bool<class_bool>`                                   | :ref:`interior<class_LightmapGI_property_interior>`                                   | ``false``  |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`LightmapGIData<class_LightmapGIData>`               | :ref:`light_data<class_LightmapGI_property_light_data>`                               |            |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`int<class_int>`                                     | :ref:`max_texture_size<class_LightmapGI_property_max_texture_size>`                   | ``16384``  |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`BakeQuality<enum_LightmapGI_BakeQuality>`           | :ref:`quality<class_LightmapGI_property_quality>`                                     | ``1``      |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`ShadowmaskMode<enum_LightmapGIData_ShadowmaskMode>` | :ref:`shadowmask_mode<class_LightmapGI_property_shadowmask_mode>`                     | ``0``      |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`float<class_float>`                                 | :ref:`texel_scale<class_LightmapGI_property_texel_scale>`                             | ``1.0``    |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`bool<class_bool>`                                   | :ref:`use_denoiser<class_LightmapGI_property_use_denoiser>`                           | ``true``   |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`bool<class_bool>`                                   | :ref:`use_texture_for_bounces<class_LightmapGI_property_use_texture_for_bounces>`     | ``true``   |
+   +-----------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
 
 .. rst-class:: classref-section-separator
 
@@ -626,6 +628,29 @@ To further speed up bake times, decrease :ref:`bounces<class_LightmapGI_property
 
 ----
 
+.. _class_LightmapGI_property_shadowmask_mode:
+
+.. rst-class:: classref-property
+
+:ref:`ShadowmaskMode<enum_LightmapGIData_ShadowmaskMode>` **shadowmask_mode** = ``0`` :ref:`🔗<class_LightmapGI_property_shadowmask_mode>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_shadowmask_mode**\ (\ value\: :ref:`ShadowmaskMode<enum_LightmapGIData_ShadowmaskMode>`\ )
+- :ref:`ShadowmaskMode<enum_LightmapGIData_ShadowmaskMode>` **get_shadowmask_mode**\ (\ )
+
+**Experimental:** This property may be changed or removed in future versions.
+
+The shadowmasking policy to use for directional shadows on static objects that are baked with this **LightmapGI** instance.
+
+Shadowmasking allows :ref:`DirectionalLight3D<class_DirectionalLight3D>` nodes to cast shadows even outside the range defined by their :ref:`DirectionalLight3D.directional_shadow_max_distance<class_DirectionalLight3D_property_directional_shadow_max_distance>` property. This is done by baking a texture that contains a shadowmap for the directional light, then using this texture according to the current shadowmask mode.
+
+\ **Note:** The shadowmask texture is only created if :ref:`shadowmask_mode<class_LightmapGI_property_shadowmask_mode>` is not :ref:`LightmapGIData.SHADOWMASK_MODE_NONE<class_LightmapGIData_constant_SHADOWMASK_MODE_NONE>`. To see a difference, you need to bake lightmaps again after switching from :ref:`LightmapGIData.SHADOWMASK_MODE_NONE<class_LightmapGIData_constant_SHADOWMASK_MODE_NONE>` to any other mode.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_LightmapGI_property_texel_scale:
 
 .. rst-class:: classref-property

+ 63 - 5
classes/class_lightmapgidata.rst

@@ -29,11 +29,13 @@ Properties
 .. table::
    :widths: auto
 
-   +--------------------------------------------------------------------------+---------------------------------------------------------------------------+--------+
-   | :ref:`TextureLayered<class_TextureLayered>`                              | :ref:`light_texture<class_LightmapGIData_property_light_texture>`         |        |
-   +--------------------------------------------------------------------------+---------------------------------------------------------------------------+--------+
-   | :ref:`Array<class_Array>`\[:ref:`TextureLayered<class_TextureLayered>`\] | :ref:`lightmap_textures<class_LightmapGIData_property_lightmap_textures>` | ``[]`` |
-   +--------------------------------------------------------------------------+---------------------------------------------------------------------------+--------+
+   +--------------------------------------------------------------------------+-------------------------------------------------------------------------------+--------+
+   | :ref:`TextureLayered<class_TextureLayered>`                              | :ref:`light_texture<class_LightmapGIData_property_light_texture>`             |        |
+   +--------------------------------------------------------------------------+-------------------------------------------------------------------------------+--------+
+   | :ref:`Array<class_Array>`\[:ref:`TextureLayered<class_TextureLayered>`\] | :ref:`lightmap_textures<class_LightmapGIData_property_lightmap_textures>`     | ``[]`` |
+   +--------------------------------------------------------------------------+-------------------------------------------------------------------------------+--------+
+   | :ref:`Array<class_Array>`\[:ref:`TextureLayered<class_TextureLayered>`\] | :ref:`shadowmask_textures<class_LightmapGIData_property_shadowmask_textures>` | ``[]`` |
+   +--------------------------------------------------------------------------+-------------------------------------------------------------------------------+--------+
 
 .. rst-class:: classref-reftable-group
 
@@ -63,6 +65,45 @@ Methods
 
 .. rst-class:: classref-descriptions-group
 
+Enumerations
+------------
+
+.. _enum_LightmapGIData_ShadowmaskMode:
+
+.. rst-class:: classref-enumeration
+
+enum **ShadowmaskMode**: :ref:`🔗<enum_LightmapGIData_ShadowmaskMode>`
+
+.. _class_LightmapGIData_constant_SHADOWMASK_MODE_NONE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ShadowmaskMode<enum_LightmapGIData_ShadowmaskMode>` **SHADOWMASK_MODE_NONE** = ``0``
+
+Shadowmasking is disabled. No shadowmask texture will be created when baking lightmaps. Existing shadowmask textures will be removed during baking.
+
+.. _class_LightmapGIData_constant_SHADOWMASK_MODE_REPLACE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ShadowmaskMode<enum_LightmapGIData_ShadowmaskMode>` **SHADOWMASK_MODE_REPLACE** = ``1``
+
+Shadowmasking is enabled. Directional shadows that are outside the :ref:`DirectionalLight3D.directional_shadow_max_distance<class_DirectionalLight3D_property_directional_shadow_max_distance>` will be rendered using the shadowmask texture. Shadows that are inside the range will be rendered using real-time shadows exclusively. This mode allows for more precise real-time shadows up close, without the potential "smearing" effect that can occur when using lightmaps with a high texel size. The downside is that when the camera moves fast, the transition between the real-time light and shadowmask can be obvious. Also, objects that only have shadows baked in the shadowmask (and no real-time shadows) won't display any shadows up close.
+
+.. _class_LightmapGIData_constant_SHADOWMASK_MODE_OVERLAY:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ShadowmaskMode<enum_LightmapGIData_ShadowmaskMode>` **SHADOWMASK_MODE_OVERLAY** = ``2``
+
+Shadowmasking is enabled. Directional shadows will be rendered with real-time shadows overlaid on top of the shadowmask texture. This mode makes for smoother shadow transitions when the camera moves fast, at the cost of a potential smearing effect for directional shadows that are up close (due to the real-time shadow being mixed with a low-resolution shadowmask). Objects that only have shadows baked in the shadowmask (and no real-time shadows) will keep their shadows up close.
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
 Property Descriptions
 ---------------------
 
@@ -98,6 +139,23 @@ The lightmap atlas texture generated by the lightmapper.
 
 The lightmap atlas textures generated by the lightmapper.
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_LightmapGIData_property_shadowmask_textures:
+
+.. rst-class:: classref-property
+
+:ref:`Array<class_Array>`\[:ref:`TextureLayered<class_TextureLayered>`\] **shadowmask_textures** = ``[]`` :ref:`🔗<class_LightmapGIData_property_shadowmask_textures>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_shadowmask_textures**\ (\ value\: :ref:`Array<class_Array>`\[:ref:`TextureLayered<class_TextureLayered>`\]\ )
+- :ref:`Array<class_Array>`\[:ref:`TextureLayered<class_TextureLayered>`\] **get_shadowmask_textures**\ (\ )
+
+The shadowmask atlas textures generated by the lightmapper.
+
 .. rst-class:: classref-section-separator
 
 ----

+ 4 - 0
classes/class_mainloop.rst

@@ -266,6 +266,8 @@ Called each physics frame with the time since the last physics frame as argument
 
 If implemented, the method must return a boolean value. ``true`` ends the main loop, while ``false`` lets it proceed to the next frame.
 
+\ **Note:** ``delta`` will be larger than expected if running at a framerate lower than :ref:`Engine.physics_ticks_per_second<class_Engine_property_physics_ticks_per_second>` / :ref:`Engine.max_physics_steps_per_frame<class_Engine_property_max_physics_steps_per_frame>` FPS. This is done to avoid "spiral of death" scenarios where performance would plummet due to an ever-increasing number of physics steps per frame. This behavior affects both :ref:`_process<class_MainLoop_private_method__process>` and :ref:`_physics_process<class_MainLoop_private_method__physics_process>`. As a result, avoid using ``delta`` for time measurements in real-world seconds. Use the :ref:`Time<class_Time>` singleton's methods for this purpose instead, such as :ref:`Time.get_ticks_usec<class_Time_method_get_ticks_usec>`.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -280,6 +282,8 @@ Called each process (idle) frame with the time since the last process frame as a
 
 If implemented, the method must return a boolean value. ``true`` ends the main loop, while ``false`` lets it proceed to the next frame.
 
+\ **Note:** ``delta`` will be larger than expected if running at a framerate lower than :ref:`Engine.physics_ticks_per_second<class_Engine_property_physics_ticks_per_second>` / :ref:`Engine.max_physics_steps_per_frame<class_Engine_property_max_physics_steps_per_frame>` FPS. This is done to avoid "spiral of death" scenarios where performance would plummet due to an ever-increasing number of physics steps per frame. This behavior affects both :ref:`_process<class_MainLoop_private_method__process>` and :ref:`_physics_process<class_MainLoop_private_method__physics_process>`. As a result, avoid using ``delta`` for time measurements in real-world seconds. Use the :ref:`Time<class_Time>` singleton's methods for this purpose instead, such as :ref:`Time.get_ticks_usec<class_Time_method_get_ticks_usec>`.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 8 - 0
classes/class_navigationpathqueryparameters2d.rst

@@ -107,6 +107,14 @@ Applies a funnel algorithm to the raw path corridor found by the pathfinding alg
 
 Centers every path position in the middle of the traveled navigation mesh polygon edge. This creates better paths for tile- or gridbased layouts that restrict the movement to the cells center.
 
+.. _class_NavigationPathQueryParameters2D_constant_PATH_POSTPROCESSING_NONE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`PathPostProcessing<enum_NavigationPathQueryParameters2D_PathPostProcessing>` **PATH_POSTPROCESSING_NONE** = ``2``
+
+Applies no postprocessing and returns the raw path corridor as found by the pathfinding algorithm.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 8 - 0
classes/class_navigationpathqueryparameters3d.rst

@@ -107,6 +107,14 @@ Applies a funnel algorithm to the raw path corridor found by the pathfinding alg
 
 Centers every path position in the middle of the traveled navigation mesh polygon edge. This creates better paths for tile- or gridbased layouts that restrict the movement to the cells center.
 
+.. _class_NavigationPathQueryParameters3D_constant_PATH_POSTPROCESSING_NONE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`PathPostProcessing<enum_NavigationPathQueryParameters3D_PathPostProcessing>` **PATH_POSTPROCESSING_NONE** = ``2``
+
+Applies no postprocessing and returns the raw path corridor as found by the pathfinding algorithm.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 5 - 5
classes/class_navigationserver2d.rst

@@ -193,7 +193,7 @@ Methods
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\]  | :ref:`map_get_obstacles<class_NavigationServer2D_method_map_get_obstacles>`\ (\ map\: :ref:`RID<class_RID>`\ ) |const|                                                                                                                                                                                                                                                                |
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`map_get_path<class_NavigationServer2D_method_map_get_path>`\ (\ map\: :ref:`RID<class_RID>`, origin\: :ref:`Vector2<class_Vector2>`, destination\: :ref:`Vector2<class_Vector2>`, optimize\: :ref:`bool<class_bool>`, navigation_layers\: :ref:`int<class_int>` = 1\ ) |const|                                                                                                  |
+   | :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`map_get_path<class_NavigationServer2D_method_map_get_path>`\ (\ map\: :ref:`RID<class_RID>`, origin\: :ref:`Vector2<class_Vector2>`, destination\: :ref:`Vector2<class_Vector2>`, optimize\: :ref:`bool<class_bool>`, navigation_layers\: :ref:`int<class_int>` = 1\ )                                                                                                          |
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Vector2<class_Vector2>`                       | :ref:`map_get_random_point<class_NavigationServer2D_method_map_get_random_point>`\ (\ map\: :ref:`RID<class_RID>`, navigation_layers\: :ref:`int<class_int>`, uniformly\: :ref:`bool<class_bool>`\ ) |const|                                                                                                                                                                          |
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -249,7 +249,7 @@ Methods
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                              | :ref:`parse_source_geometry_data<class_NavigationServer2D_method_parse_source_geometry_data>`\ (\ navigation_polygon\: :ref:`NavigationPolygon<class_NavigationPolygon>`, source_geometry_data\: :ref:`NavigationMeshSourceGeometryData2D<class_NavigationMeshSourceGeometryData2D>`, root_node\: :ref:`Node<class_Node>`, callback\: :ref:`Callable<class_Callable>` = Callable()\ ) |
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                              | :ref:`query_path<class_NavigationServer2D_method_query_path>`\ (\ parameters\: :ref:`NavigationPathQueryParameters2D<class_NavigationPathQueryParameters2D>`, result\: :ref:`NavigationPathQueryResult2D<class_NavigationPathQueryResult2D>`\ ) |const|                                                                                                                               |
+   | |void|                                              | :ref:`query_path<class_NavigationServer2D_method_query_path>`\ (\ parameters\: :ref:`NavigationPathQueryParameters2D<class_NavigationPathQueryParameters2D>`, result\: :ref:`NavigationPathQueryResult2D<class_NavigationPathQueryResult2D>`, callback\: :ref:`Callable<class_Callable>` = Callable()\ )                                                                              |
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID<class_RID>`                               | :ref:`region_create<class_NavigationServer2D_method_region_create>`\ (\ )                                                                                                                                                                                                                                                                                                             |
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -1190,7 +1190,7 @@ Returns all navigation obstacle :ref:`RID<class_RID>`\ s that are currently assi
 
 .. rst-class:: classref-method
 
-:ref:`PackedVector2Array<class_PackedVector2Array>` **map_get_path**\ (\ map\: :ref:`RID<class_RID>`, origin\: :ref:`Vector2<class_Vector2>`, destination\: :ref:`Vector2<class_Vector2>`, optimize\: :ref:`bool<class_bool>`, navigation_layers\: :ref:`int<class_int>` = 1\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_get_path>`
+:ref:`PackedVector2Array<class_PackedVector2Array>` **map_get_path**\ (\ map\: :ref:`RID<class_RID>`, origin\: :ref:`Vector2<class_Vector2>`, destination\: :ref:`Vector2<class_Vector2>`, optimize\: :ref:`bool<class_bool>`, navigation_layers\: :ref:`int<class_int>` = 1\ ) :ref:`🔗<class_NavigationServer2D_method_map_get_path>`
 
 Returns the navigation path to reach the destination from the origin. ``navigation_layers`` is a bitmask of all region navigation layers that are allowed to be in the path.
 
@@ -1534,9 +1534,9 @@ Parses the :ref:`SceneTree<class_SceneTree>` for source geometry according to th
 
 .. rst-class:: classref-method
 
-|void| **query_path**\ (\ parameters\: :ref:`NavigationPathQueryParameters2D<class_NavigationPathQueryParameters2D>`, result\: :ref:`NavigationPathQueryResult2D<class_NavigationPathQueryResult2D>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_query_path>`
+|void| **query_path**\ (\ parameters\: :ref:`NavigationPathQueryParameters2D<class_NavigationPathQueryParameters2D>`, result\: :ref:`NavigationPathQueryResult2D<class_NavigationPathQueryResult2D>`, callback\: :ref:`Callable<class_Callable>` = Callable()\ ) :ref:`🔗<class_NavigationServer2D_method_query_path>`
 
-Queries a path in a given navigation map. Start and target position and other parameters are defined through :ref:`NavigationPathQueryParameters2D<class_NavigationPathQueryParameters2D>`. Updates the provided :ref:`NavigationPathQueryResult2D<class_NavigationPathQueryResult2D>` result object with the path among other results requested by the query.
+Queries a path in a given navigation map. Start and target position and other parameters are defined through :ref:`NavigationPathQueryParameters2D<class_NavigationPathQueryParameters2D>`. Updates the provided :ref:`NavigationPathQueryResult2D<class_NavigationPathQueryResult2D>` result object with the path among other results requested by the query. After the process is finished the optional ``callback`` will be called.
 
 .. rst-class:: classref-item-separator
 

+ 5 - 5
classes/class_navigationserver3d.rst

@@ -211,7 +211,7 @@ Methods
    +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\]  | :ref:`map_get_obstacles<class_NavigationServer3D_method_map_get_obstacles>`\ (\ map\: :ref:`RID<class_RID>`\ ) |const|                                                                                                                                                                                                                                                       |
    +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`map_get_path<class_NavigationServer3D_method_map_get_path>`\ (\ map\: :ref:`RID<class_RID>`, origin\: :ref:`Vector3<class_Vector3>`, destination\: :ref:`Vector3<class_Vector3>`, optimize\: :ref:`bool<class_bool>`, navigation_layers\: :ref:`int<class_int>` = 1\ ) |const|                                                                                         |
+   | :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`map_get_path<class_NavigationServer3D_method_map_get_path>`\ (\ map\: :ref:`RID<class_RID>`, origin\: :ref:`Vector3<class_Vector3>`, destination\: :ref:`Vector3<class_Vector3>`, optimize\: :ref:`bool<class_bool>`, navigation_layers\: :ref:`int<class_int>` = 1\ )                                                                                                 |
    +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Vector3<class_Vector3>`                       | :ref:`map_get_random_point<class_NavigationServer3D_method_map_get_random_point>`\ (\ map\: :ref:`RID<class_RID>`, navigation_layers\: :ref:`int<class_int>`, uniformly\: :ref:`bool<class_bool>`\ ) |const|                                                                                                                                                                 |
    +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -283,7 +283,7 @@ Methods
    +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                              | :ref:`parse_source_geometry_data<class_NavigationServer3D_method_parse_source_geometry_data>`\ (\ navigation_mesh\: :ref:`NavigationMesh<class_NavigationMesh>`, source_geometry_data\: :ref:`NavigationMeshSourceGeometryData3D<class_NavigationMeshSourceGeometryData3D>`, root_node\: :ref:`Node<class_Node>`, callback\: :ref:`Callable<class_Callable>` = Callable()\ ) |
    +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                              | :ref:`query_path<class_NavigationServer3D_method_query_path>`\ (\ parameters\: :ref:`NavigationPathQueryParameters3D<class_NavigationPathQueryParameters3D>`, result\: :ref:`NavigationPathQueryResult3D<class_NavigationPathQueryResult3D>`\ ) |const|                                                                                                                      |
+   | |void|                                              | :ref:`query_path<class_NavigationServer3D_method_query_path>`\ (\ parameters\: :ref:`NavigationPathQueryParameters3D<class_NavigationPathQueryParameters3D>`, result\: :ref:`NavigationPathQueryResult3D<class_NavigationPathQueryResult3D>`, callback\: :ref:`Callable<class_Callable>` = Callable()\ )                                                                     |
    +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                              | :ref:`region_bake_navigation_mesh<class_NavigationServer3D_method_region_bake_navigation_mesh>`\ (\ navigation_mesh\: :ref:`NavigationMesh<class_NavigationMesh>`, root_node\: :ref:`Node<class_Node>`\ )                                                                                                                                                                    |
    +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -1453,7 +1453,7 @@ Returns all navigation obstacle :ref:`RID<class_RID>`\ s that are currently assi
 
 .. rst-class:: classref-method
 
-:ref:`PackedVector3Array<class_PackedVector3Array>` **map_get_path**\ (\ map\: :ref:`RID<class_RID>`, origin\: :ref:`Vector3<class_Vector3>`, destination\: :ref:`Vector3<class_Vector3>`, optimize\: :ref:`bool<class_bool>`, navigation_layers\: :ref:`int<class_int>` = 1\ ) |const| :ref:`🔗<class_NavigationServer3D_method_map_get_path>`
+:ref:`PackedVector3Array<class_PackedVector3Array>` **map_get_path**\ (\ map\: :ref:`RID<class_RID>`, origin\: :ref:`Vector3<class_Vector3>`, destination\: :ref:`Vector3<class_Vector3>`, optimize\: :ref:`bool<class_bool>`, navigation_layers\: :ref:`int<class_int>` = 1\ ) :ref:`🔗<class_NavigationServer3D_method_map_get_path>`
 
 Returns the navigation path to reach the destination from the origin. ``navigation_layers`` is a bitmask of all region navigation layers that are allowed to be in the path.
 
@@ -1893,9 +1893,9 @@ Parses the :ref:`SceneTree<class_SceneTree>` for source geometry according to th
 
 .. rst-class:: classref-method
 
-|void| **query_path**\ (\ parameters\: :ref:`NavigationPathQueryParameters3D<class_NavigationPathQueryParameters3D>`, result\: :ref:`NavigationPathQueryResult3D<class_NavigationPathQueryResult3D>`\ ) |const| :ref:`🔗<class_NavigationServer3D_method_query_path>`
+|void| **query_path**\ (\ parameters\: :ref:`NavigationPathQueryParameters3D<class_NavigationPathQueryParameters3D>`, result\: :ref:`NavigationPathQueryResult3D<class_NavigationPathQueryResult3D>`, callback\: :ref:`Callable<class_Callable>` = Callable()\ ) :ref:`🔗<class_NavigationServer3D_method_query_path>`
 
-Queries a path in a given navigation map. Start and target position and other parameters are defined through :ref:`NavigationPathQueryParameters3D<class_NavigationPathQueryParameters3D>`. Updates the provided :ref:`NavigationPathQueryResult3D<class_NavigationPathQueryResult3D>` result object with the path among other results requested by the query.
+Queries a path in a given navigation map. Start and target position and other parameters are defined through :ref:`NavigationPathQueryParameters3D<class_NavigationPathQueryParameters3D>`. Updates the provided :ref:`NavigationPathQueryResult3D<class_NavigationPathQueryResult3D>` result object with the path among other results requested by the query. After the process is finished the optional ``callback`` will be called.
 
 .. rst-class:: classref-item-separator
 

+ 9 - 1
classes/class_node.rst

@@ -1471,7 +1471,7 @@ For gameplay input, :ref:`_unhandled_input<class_Node_private_method__unhandled_
 
 |void| **_physics_process**\ (\ delta\: :ref:`float<class_float>`\ ) |virtual| :ref:`🔗<class_Node_private_method__physics_process>`
 
-Called during the physics processing step of the main loop. Physics processing means that the frame rate is synced to the physics, i.e. the ``delta`` variable should be constant. ``delta`` is in seconds.
+Called during the physics processing step of the main loop. Physics processing means that the frame rate is synced to the physics, i.e. the ``delta`` parameter will *generally* be constant (see exceptions below). ``delta`` is in seconds.
 
 It is only called if physics processing is enabled, which is done automatically if this method is overridden, and can be toggled with :ref:`set_physics_process<class_Node_method_set_physics_process>`.
 
@@ -1481,6 +1481,8 @@ Corresponds to the :ref:`NOTIFICATION_PHYSICS_PROCESS<class_Node_constant_NOTIFI
 
 \ **Note:** This method is only called if the node is present in the scene tree (i.e. if it's not an orphan).
 
+\ **Note:** ``delta`` will be larger than expected if running at a framerate lower than :ref:`Engine.physics_ticks_per_second<class_Engine_property_physics_ticks_per_second>` / :ref:`Engine.max_physics_steps_per_frame<class_Engine_property_max_physics_steps_per_frame>` FPS. This is done to avoid "spiral of death" scenarios where performance would plummet due to an ever-increasing number of physics steps per frame. This behavior affects both :ref:`_process<class_Node_private_method__process>` and :ref:`_physics_process<class_Node_private_method__physics_process>`. As a result, avoid using ``delta`` for time measurements in real-world seconds. Use the :ref:`Time<class_Time>` singleton's methods for this purpose instead, such as :ref:`Time.get_ticks_usec<class_Time_method_get_ticks_usec>`.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -1501,6 +1503,8 @@ Corresponds to the :ref:`NOTIFICATION_PROCESS<class_Node_constant_NOTIFICATION_P
 
 \ **Note:** This method is only called if the node is present in the scene tree (i.e. if it's not an orphan).
 
+\ **Note:** ``delta`` will be larger than expected if running at a framerate lower than :ref:`Engine.physics_ticks_per_second<class_Engine_property_physics_ticks_per_second>` / :ref:`Engine.max_physics_steps_per_frame<class_Engine_property_max_physics_steps_per_frame>` FPS. This is done to avoid "spiral of death" scenarios where performance would plummet due to an ever-increasing number of physics steps per frame. This behavior affects both :ref:`_process<class_Node_private_method__process>` and :ref:`_physics_process<class_Node_private_method__physics_process>`. As a result, avoid using ``delta`` for time measurements in real-world seconds. Use the :ref:`Time<class_Time>` singleton's methods for this purpose instead, such as :ref:`Time.get_ticks_usec<class_Time_method_get_ticks_usec>`.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -2153,6 +2157,8 @@ If ``use_unique_path`` is ``true``, returns the shortest path accounting for thi
 
 Returns the time elapsed (in seconds) since the last physics callback. This value is identical to :ref:`_physics_process<class_Node_private_method__physics_process>`'s ``delta`` parameter, and is often consistent at run-time, unless :ref:`Engine.physics_ticks_per_second<class_Engine_property_physics_ticks_per_second>` is changed. See also :ref:`NOTIFICATION_PHYSICS_PROCESS<class_Node_constant_NOTIFICATION_PHYSICS_PROCESS>`.
 
+\ **Note:** The returned value will be larger than expected if running at a framerate lower than :ref:`Engine.physics_ticks_per_second<class_Engine_property_physics_ticks_per_second>` / :ref:`Engine.max_physics_steps_per_frame<class_Engine_property_max_physics_steps_per_frame>` FPS. This is done to avoid "spiral of death" scenarios where performance would plummet due to an ever-increasing number of physics steps per frame. This behavior affects both :ref:`_process<class_Node_private_method__process>` and :ref:`_physics_process<class_Node_private_method__physics_process>`. As a result, avoid using ``delta`` for time measurements in real-world seconds. Use the :ref:`Time<class_Time>` singleton's methods for this purpose instead, such as :ref:`Time.get_ticks_usec<class_Time_method_get_ticks_usec>`.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -2165,6 +2171,8 @@ Returns the time elapsed (in seconds) since the last physics callback. This valu
 
 Returns the time elapsed (in seconds) since the last process callback. This value is identical to :ref:`_process<class_Node_private_method__process>`'s ``delta`` parameter, and may vary from frame to frame. See also :ref:`NOTIFICATION_PROCESS<class_Node_constant_NOTIFICATION_PROCESS>`.
 
+\ **Note:** The returned value will be larger than expected if running at a framerate lower than :ref:`Engine.physics_ticks_per_second<class_Engine_property_physics_ticks_per_second>` / :ref:`Engine.max_physics_steps_per_frame<class_Engine_property_max_physics_steps_per_frame>` FPS. This is done to avoid "spiral of death" scenarios where performance would plummet due to an ever-increasing number of physics steps per frame. This behavior affects both :ref:`_process<class_Node_private_method__process>` and :ref:`_physics_process<class_Node_private_method__physics_process>`. As a result, avoid using ``delta`` for time measurements in real-world seconds. Use the :ref:`Time<class_Time>` singleton's methods for this purpose instead, such as :ref:`Time.get_ticks_usec<class_Time_method_get_ticks_usec>`.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 4 - 4
classes/class_object.rst

@@ -1704,13 +1704,13 @@ Assigns ``value`` to the given ``property``. If the property does not exist or t
 
     var node = Node2D.new()
     node.set("global_scale", Vector2(8, 2.5))
-    print(node.global_scale) # Prints (8, 2.5)
+    print(node.global_scale) # Prints (8.0, 2.5)
 
  .. code-tab:: csharp
 
     var node = new Node2D();
-    node.Set(Node2D.PropertyName.GlobalScale, new Vector2(8, 2.5));
-    GD.Print(node.GlobalScale); // Prints Vector2(8, 2.5)
+    node.Set(Node2D.PropertyName.GlobalScale, new Vector2(8, 2.5f));
+    GD.Print(node.GlobalScale); // Prints (8, 2.5)
 
 
 
@@ -1789,7 +1789,7 @@ Assigns a new ``value`` to the property identified by the ``property_path``. The
     var node = Node2D.new()
     node.set_indexed("position", Vector2(42, 0))
     node.set_indexed("position:y", -10)
-    print(node.position) # Prints (42, -10)
+    print(node.position) # Prints (42.0, -10.0)
 
  .. code-tab:: csharp
 

+ 33 - 0
classes/class_openxractionbindingmodifier.rst

@@ -0,0 +1,33 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/modules/openxr/doc_classes/OpenXRActionBindingModifier.xml.
+
+.. _class_OpenXRActionBindingModifier:
+
+OpenXRActionBindingModifier
+===========================
+
+**Inherits:** :ref:`OpenXRBindingModifier<class_OpenXRBindingModifier>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+**Inherited By:** :ref:`OpenXRAnalogThresholdModifier<class_OpenXRAnalogThresholdModifier>`
+
+Binding modifier that applies on individual actions related to an interaction profile.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+Binding modifier that applies on individual actions related to an interaction profile.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
+.. |void| replace:: :abbr:`void (No return value.)`

+ 124 - 0
classes/class_openxranalogthresholdmodifier.rst

@@ -0,0 +1,124 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/modules/openxr/doc_classes/OpenXRAnalogThresholdModifier.xml.
+
+.. _class_OpenXRAnalogThresholdModifier:
+
+OpenXRAnalogThresholdModifier
+=============================
+
+**Inherits:** :ref:`OpenXRActionBindingModifier<class_OpenXRActionBindingModifier>` **<** :ref:`OpenXRBindingModifier<class_OpenXRBindingModifier>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+The analog threshold binding modifier can modify a float input to a boolean input with specified thresholds.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+The analog threshold binding modifier can modify a float input to a boolean input with specified thresholds.
+
+See `XR_VALVE_analog_threshold <https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#XR_VALVE_analog_threshold>`__ for in-depth details.
+
+.. rst-class:: classref-reftable-group
+
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +-------------------------------------------------+----------------------------------------------------------------------------------+---------+
+   | :ref:`OpenXRHapticBase<class_OpenXRHapticBase>` | :ref:`off_haptic<class_OpenXRAnalogThresholdModifier_property_off_haptic>`       |         |
+   +-------------------------------------------------+----------------------------------------------------------------------------------+---------+
+   | :ref:`float<class_float>`                       | :ref:`off_threshold<class_OpenXRAnalogThresholdModifier_property_off_threshold>` | ``0.4`` |
+   +-------------------------------------------------+----------------------------------------------------------------------------------+---------+
+   | :ref:`OpenXRHapticBase<class_OpenXRHapticBase>` | :ref:`on_haptic<class_OpenXRAnalogThresholdModifier_property_on_haptic>`         |         |
+   +-------------------------------------------------+----------------------------------------------------------------------------------+---------+
+   | :ref:`float<class_float>`                       | :ref:`on_threshold<class_OpenXRAnalogThresholdModifier_property_on_threshold>`   | ``0.6`` |
+   +-------------------------------------------------+----------------------------------------------------------------------------------+---------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Property Descriptions
+---------------------
+
+.. _class_OpenXRAnalogThresholdModifier_property_off_haptic:
+
+.. rst-class:: classref-property
+
+:ref:`OpenXRHapticBase<class_OpenXRHapticBase>` **off_haptic** :ref:`🔗<class_OpenXRAnalogThresholdModifier_property_off_haptic>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_off_haptic**\ (\ value\: :ref:`OpenXRHapticBase<class_OpenXRHapticBase>`\ )
+- :ref:`OpenXRHapticBase<class_OpenXRHapticBase>` **get_off_haptic**\ (\ )
+
+Haptic pulse to emit when the user releases the input.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAnalogThresholdModifier_property_off_threshold:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **off_threshold** = ``0.4`` :ref:`🔗<class_OpenXRAnalogThresholdModifier_property_off_threshold>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_off_threshold**\ (\ value\: :ref:`float<class_float>`\ )
+- :ref:`float<class_float>` **get_off_threshold**\ (\ )
+
+When our input value falls below this, our output becomes false.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAnalogThresholdModifier_property_on_haptic:
+
+.. rst-class:: classref-property
+
+:ref:`OpenXRHapticBase<class_OpenXRHapticBase>` **on_haptic** :ref:`🔗<class_OpenXRAnalogThresholdModifier_property_on_haptic>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_on_haptic**\ (\ value\: :ref:`OpenXRHapticBase<class_OpenXRHapticBase>`\ )
+- :ref:`OpenXRHapticBase<class_OpenXRHapticBase>` **get_on_haptic**\ (\ )
+
+Haptic pulse to emit when the user presses the input.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAnalogThresholdModifier_property_on_threshold:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **on_threshold** = ``0.6`` :ref:`🔗<class_OpenXRAnalogThresholdModifier_property_on_threshold>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_on_threshold**\ (\ value\: :ref:`float<class_float>`\ )
+- :ref:`float<class_float>` **get_on_threshold**\ (\ )
+
+When our input value is equal or larger than this value, our output becomes true. It stays true until it falls under the :ref:`off_threshold<class_OpenXRAnalogThresholdModifier_property_off_threshold>` value.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
+.. |void| replace:: :abbr:`void (No return value.)`

+ 249 - 49
classes/class_openxrapiextension.rst

@@ -50,55 +50,83 @@ Methods
 .. table::
    :widths: auto
 
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                                                  | :ref:`begin_debug_label_region<class_OpenXRAPIExtension_method_begin_debug_label_region>`\ (\ label_name\: :ref:`String<class_String>`\ )                                                                            |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                                                 | :ref:`can_render<class_OpenXRAPIExtension_method_can_render>`\ (\ )                                                                                                                                                  |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                                                  | :ref:`end_debug_label_region<class_OpenXRAPIExtension_method_end_debug_label_region>`\ (\ )                                                                                                                          |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                                                             | :ref:`get_error_string<class_OpenXRAPIExtension_method_get_error_string>`\ (\ result\: :ref:`int<class_int>`\ )                                                                                                      |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                                                                   | :ref:`get_hand_tracker<class_OpenXRAPIExtension_method_get_hand_tracker>`\ (\ hand_index\: :ref:`int<class_int>`\ )                                                                                                  |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                                                                   | :ref:`get_instance<class_OpenXRAPIExtension_method_get_instance>`\ (\ )                                                                                                                                              |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                                                                   | :ref:`get_instance_proc_addr<class_OpenXRAPIExtension_method_get_instance_proc_addr>`\ (\ name\: :ref:`String<class_String>`\ )                                                                                      |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                                                                   | :ref:`get_next_frame_time<class_OpenXRAPIExtension_method_get_next_frame_time>`\ (\ )                                                                                                                                |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                                                                   | :ref:`get_play_space<class_OpenXRAPIExtension_method_get_play_space>`\ (\ )                                                                                                                                          |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                                                                   | :ref:`get_predicted_display_time<class_OpenXRAPIExtension_method_get_predicted_display_time>`\ (\ )                                                                                                                  |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                                                                   | :ref:`get_session<class_OpenXRAPIExtension_method_get_session>`\ (\ )                                                                                                                                                |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                                                             | :ref:`get_swapchain_format_name<class_OpenXRAPIExtension_method_get_swapchain_format_name>`\ (\ swapchain_format\: :ref:`int<class_int>`\ )                                                                          |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                                                                   | :ref:`get_system_id<class_OpenXRAPIExtension_method_get_system_id>`\ (\ )                                                                                                                                            |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                                                  | :ref:`insert_debug_label<class_OpenXRAPIExtension_method_insert_debug_label>`\ (\ label_name\: :ref:`String<class_String>`\ )                                                                                        |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` | :ref:`is_environment_blend_mode_alpha_supported<class_OpenXRAPIExtension_method_is_environment_blend_mode_alpha_supported>`\ (\ )                                                                                    |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                                                 | :ref:`is_initialized<class_OpenXRAPIExtension_method_is_initialized>`\ (\ )                                                                                                                                          |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                                                 | :ref:`is_running<class_OpenXRAPIExtension_method_is_running>`\ (\ )                                                                                                                                                  |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                                                 | :ref:`openxr_is_enabled<class_OpenXRAPIExtension_method_openxr_is_enabled>`\ (\ check_run_in_editor\: :ref:`bool<class_bool>`\ ) |static|                                                                            |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                                                  | :ref:`register_composition_layer_provider<class_OpenXRAPIExtension_method_register_composition_layer_provider>`\ (\ extension\: :ref:`OpenXRExtensionWrapperExtension<class_OpenXRExtensionWrapperExtension>`\ )     |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                                                  | :ref:`set_emulate_environment_blend_mode_alpha_blend<class_OpenXRAPIExtension_method_set_emulate_environment_blend_mode_alpha_blend>`\ (\ enabled\: :ref:`bool<class_bool>`\ )                                       |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                                                  | :ref:`set_object_name<class_OpenXRAPIExtension_method_set_object_name>`\ (\ object_type\: :ref:`int<class_int>`, object_handle\: :ref:`int<class_int>`, object_name\: :ref:`String<class_String>`\ )                 |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Transform3D<class_Transform3D>`                                                   | :ref:`transform_from_pose<class_OpenXRAPIExtension_method_transform_from_pose>`\ (\ pose\: ``const void*``\ )                                                                                                        |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                                                                                  | :ref:`unregister_composition_layer_provider<class_OpenXRAPIExtension_method_unregister_composition_layer_provider>`\ (\ extension\: :ref:`OpenXRExtensionWrapperExtension<class_OpenXRExtensionWrapperExtension>`\ ) |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                                                 | :ref:`xr_result<class_OpenXRAPIExtension_method_xr_result>`\ (\ result\: :ref:`int<class_int>`, format\: :ref:`String<class_String>`, args\: :ref:`Array<class_Array>`\ )                                            |
-   +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                                  | :ref:`begin_debug_label_region<class_OpenXRAPIExtension_method_begin_debug_label_region>`\ (\ label_name\: :ref:`String<class_String>`\ )                                                                                                                                                                                                                   |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                                                 | :ref:`can_render<class_OpenXRAPIExtension_method_can_render>`\ (\ )                                                                                                                                                                                                                                                                                         |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                                  | :ref:`end_debug_label_region<class_OpenXRAPIExtension_method_end_debug_label_region>`\ (\ )                                                                                                                                                                                                                                                                 |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                                                             | :ref:`get_error_string<class_OpenXRAPIExtension_method_get_error_string>`\ (\ result\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                                             |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                                                   | :ref:`get_hand_tracker<class_OpenXRAPIExtension_method_get_hand_tracker>`\ (\ hand_index\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                                         |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                                                   | :ref:`get_instance<class_OpenXRAPIExtension_method_get_instance>`\ (\ )                                                                                                                                                                                                                                                                                     |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                                                   | :ref:`get_instance_proc_addr<class_OpenXRAPIExtension_method_get_instance_proc_addr>`\ (\ name\: :ref:`String<class_String>`\ )                                                                                                                                                                                                                             |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                                                   | :ref:`get_next_frame_time<class_OpenXRAPIExtension_method_get_next_frame_time>`\ (\ )                                                                                                                                                                                                                                                                       |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                                                   | :ref:`get_play_space<class_OpenXRAPIExtension_method_get_play_space>`\ (\ )                                                                                                                                                                                                                                                                                 |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                                                   | :ref:`get_predicted_display_time<class_OpenXRAPIExtension_method_get_predicted_display_time>`\ (\ )                                                                                                                                                                                                                                                         |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                                               | :ref:`get_render_state_z_far<class_OpenXRAPIExtension_method_get_render_state_z_far>`\ (\ )                                                                                                                                                                                                                                                                 |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                                               | :ref:`get_render_state_z_near<class_OpenXRAPIExtension_method_get_render_state_z_near>`\ (\ )                                                                                                                                                                                                                                                               |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                                                   | :ref:`get_session<class_OpenXRAPIExtension_method_get_session>`\ (\ )                                                                                                                                                                                                                                                                                       |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PackedInt64Array<class_PackedInt64Array>`                                         | :ref:`get_supported_swapchain_formats<class_OpenXRAPIExtension_method_get_supported_swapchain_formats>`\ (\ )                                                                                                                                                                                                                                               |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                                                             | :ref:`get_swapchain_format_name<class_OpenXRAPIExtension_method_get_swapchain_format_name>`\ (\ swapchain_format\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                 |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                                                   | :ref:`get_system_id<class_OpenXRAPIExtension_method_get_system_id>`\ (\ )                                                                                                                                                                                                                                                                                   |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                                  | :ref:`insert_debug_label<class_OpenXRAPIExtension_method_insert_debug_label>`\ (\ label_name\: :ref:`String<class_String>`\ )                                                                                                                                                                                                                               |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` | :ref:`is_environment_blend_mode_alpha_supported<class_OpenXRAPIExtension_method_is_environment_blend_mode_alpha_supported>`\ (\ )                                                                                                                                                                                                                           |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                                                 | :ref:`is_initialized<class_OpenXRAPIExtension_method_is_initialized>`\ (\ )                                                                                                                                                                                                                                                                                 |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                                                 | :ref:`is_running<class_OpenXRAPIExtension_method_is_running>`\ (\ )                                                                                                                                                                                                                                                                                         |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                                                 | :ref:`openxr_is_enabled<class_OpenXRAPIExtension_method_openxr_is_enabled>`\ (\ check_run_in_editor\: :ref:`bool<class_bool>`\ ) |static|                                                                                                                                                                                                                   |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                                  | :ref:`openxr_swapchain_acquire<class_OpenXRAPIExtension_method_openxr_swapchain_acquire>`\ (\ swapchain\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                          |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                                                   | :ref:`openxr_swapchain_create<class_OpenXRAPIExtension_method_openxr_swapchain_create>`\ (\ create_flags\: :ref:`int<class_int>`, usage_flags\: :ref:`int<class_int>`, swapchain_format\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`, height\: :ref:`int<class_int>`, sample_count\: :ref:`int<class_int>`, array_size\: :ref:`int<class_int>`\ ) |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                                  | :ref:`openxr_swapchain_free<class_OpenXRAPIExtension_method_openxr_swapchain_free>`\ (\ swapchain\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                                |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`                                                                   | :ref:`openxr_swapchain_get_image<class_OpenXRAPIExtension_method_openxr_swapchain_get_image>`\ (\ swapchain\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                      |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                                                   | :ref:`openxr_swapchain_get_swapchain<class_OpenXRAPIExtension_method_openxr_swapchain_get_swapchain>`\ (\ swapchain\: :ref:`int<class_int>`\ )                                                                                                                                                                                                              |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                                  | :ref:`openxr_swapchain_release<class_OpenXRAPIExtension_method_openxr_swapchain_release>`\ (\ swapchain\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                          |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                                  | :ref:`register_composition_layer_provider<class_OpenXRAPIExtension_method_register_composition_layer_provider>`\ (\ extension\: :ref:`OpenXRExtensionWrapperExtension<class_OpenXRExtensionWrapperExtension>`\ )                                                                                                                                            |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                                  | :ref:`register_projection_views_extension<class_OpenXRAPIExtension_method_register_projection_views_extension>`\ (\ extension\: :ref:`OpenXRExtensionWrapperExtension<class_OpenXRExtensionWrapperExtension>`\ )                                                                                                                                            |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                                  | :ref:`set_emulate_environment_blend_mode_alpha_blend<class_OpenXRAPIExtension_method_set_emulate_environment_blend_mode_alpha_blend>`\ (\ enabled\: :ref:`bool<class_bool>`\ )                                                                                                                                                                              |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                                  | :ref:`set_object_name<class_OpenXRAPIExtension_method_set_object_name>`\ (\ object_type\: :ref:`int<class_int>`, object_handle\: :ref:`int<class_int>`, object_name\: :ref:`String<class_String>`\ )                                                                                                                                                        |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                                  | :ref:`set_velocity_depth_texture<class_OpenXRAPIExtension_method_set_velocity_depth_texture>`\ (\ render_target\: :ref:`RID<class_RID>`\ )                                                                                                                                                                                                                  |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                                  | :ref:`set_velocity_target_size<class_OpenXRAPIExtension_method_set_velocity_target_size>`\ (\ target_size\: :ref:`Vector2i<class_Vector2i>`\ )                                                                                                                                                                                                              |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                                  | :ref:`set_velocity_texture<class_OpenXRAPIExtension_method_set_velocity_texture>`\ (\ render_target\: :ref:`RID<class_RID>`\ )                                                                                                                                                                                                                              |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Transform3D<class_Transform3D>`                                                   | :ref:`transform_from_pose<class_OpenXRAPIExtension_method_transform_from_pose>`\ (\ pose\: ``const void*``\ )                                                                                                                                                                                                                                               |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                                  | :ref:`unregister_composition_layer_provider<class_OpenXRAPIExtension_method_unregister_composition_layer_provider>`\ (\ extension\: :ref:`OpenXRExtensionWrapperExtension<class_OpenXRExtensionWrapperExtension>`\ )                                                                                                                                        |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                                  | :ref:`unregister_projection_views_extension<class_OpenXRAPIExtension_method_unregister_projection_views_extension>`\ (\ extension\: :ref:`OpenXRExtensionWrapperExtension<class_OpenXRExtensionWrapperExtension>`\ )                                                                                                                                        |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                                                 | :ref:`xr_result<class_OpenXRAPIExtension_method_xr_result>`\ (\ result\: :ref:`int<class_int>`, format\: :ref:`String<class_String>`, args\: :ref:`Array<class_Array>`\ )                                                                                                                                                                                   |
+   +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -270,6 +298,34 @@ Returns the predicted display timing for the current frame.
 
 ----
 
+.. _class_OpenXRAPIExtension_method_get_render_state_z_far:
+
+.. rst-class:: classref-method
+
+:ref:`float<class_float>` **get_render_state_z_far**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_render_state_z_far>`
+
+Returns the far boundary value of the camera frustum.
+
+\ **Note:** This is only accessible in the render thread.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_get_render_state_z_near:
+
+.. rst-class:: classref-method
+
+:ref:`float<class_float>` **get_render_state_z_near**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_render_state_z_near>`
+
+Returns the near boundary value of the camera frustum.
+
+\ **Note:** This is only accessible in the render thread.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_OpenXRAPIExtension_method_get_session:
 
 .. rst-class:: classref-method
@@ -282,6 +338,18 @@ Returns the OpenXR session, which is an `XrSession <https://registry.khronos.org
 
 ----
 
+.. _class_OpenXRAPIExtension_method_get_supported_swapchain_formats:
+
+.. rst-class:: classref-method
+
+:ref:`PackedInt64Array<class_PackedInt64Array>` **get_supported_swapchain_formats**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_supported_swapchain_formats>`
+
+Returns an array of supported swapchain formats.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_OpenXRAPIExtension_method_get_swapchain_format_name:
 
 .. rst-class:: classref-method
@@ -366,6 +434,78 @@ Returns ``true`` if OpenXR is enabled.
 
 ----
 
+.. _class_OpenXRAPIExtension_method_openxr_swapchain_acquire:
+
+.. rst-class:: classref-method
+
+|void| **openxr_swapchain_acquire**\ (\ swapchain\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_openxr_swapchain_acquire>`
+
+Acquires the image of the provided swapchain.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_openxr_swapchain_create:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **openxr_swapchain_create**\ (\ create_flags\: :ref:`int<class_int>`, usage_flags\: :ref:`int<class_int>`, swapchain_format\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`, height\: :ref:`int<class_int>`, sample_count\: :ref:`int<class_int>`, array_size\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_openxr_swapchain_create>`
+
+Returns a pointer to a new swapchain created using the provided parameters.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_openxr_swapchain_free:
+
+.. rst-class:: classref-method
+
+|void| **openxr_swapchain_free**\ (\ swapchain\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_openxr_swapchain_free>`
+
+Destroys the provided swapchain and frees it from memory.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_openxr_swapchain_get_image:
+
+.. rst-class:: classref-method
+
+:ref:`RID<class_RID>` **openxr_swapchain_get_image**\ (\ swapchain\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_openxr_swapchain_get_image>`
+
+Returns the RID of the provided swapchain's image.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_openxr_swapchain_get_swapchain:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **openxr_swapchain_get_swapchain**\ (\ swapchain\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_openxr_swapchain_get_swapchain>`
+
+Returns the ``XrSwapchain`` handle of the provided swapchain.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_openxr_swapchain_release:
+
+.. rst-class:: classref-method
+
+|void| **openxr_swapchain_release**\ (\ swapchain\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_openxr_swapchain_release>`
+
+Releases the image of the provided swapchain.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_OpenXRAPIExtension_method_register_composition_layer_provider:
 
 .. rst-class:: classref-method
@@ -378,6 +518,18 @@ Registers the given extension as a composition layer provider.
 
 ----
 
+.. _class_OpenXRAPIExtension_method_register_projection_views_extension:
+
+.. rst-class:: classref-method
+
+|void| **register_projection_views_extension**\ (\ extension\: :ref:`OpenXRExtensionWrapperExtension<class_OpenXRExtensionWrapperExtension>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_register_projection_views_extension>`
+
+Registers the given extension as a provider of additional data structures to projections views.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_OpenXRAPIExtension_method_set_emulate_environment_blend_mode_alpha_blend:
 
 .. rst-class:: classref-method
@@ -402,6 +554,42 @@ Set the object name of an OpenXR object, used for debug output. ``object_type``
 
 ----
 
+.. _class_OpenXRAPIExtension_method_set_velocity_depth_texture:
+
+.. rst-class:: classref-method
+
+|void| **set_velocity_depth_texture**\ (\ render_target\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_set_velocity_depth_texture>`
+
+Sets the render target of the velocity depth texture.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_set_velocity_target_size:
+
+.. rst-class:: classref-method
+
+|void| **set_velocity_target_size**\ (\ target_size\: :ref:`Vector2i<class_Vector2i>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_set_velocity_target_size>`
+
+Sets the target size of the velocity and velocity depth textures.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_set_velocity_texture:
+
+.. rst-class:: classref-method
+
+|void| **set_velocity_texture**\ (\ render_target\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_set_velocity_texture>`
+
+Sets the render target of the velocity texture.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_OpenXRAPIExtension_method_transform_from_pose:
 
 .. rst-class:: classref-method
@@ -426,6 +614,18 @@ Unregisters the given extension as a composition layer provider.
 
 ----
 
+.. _class_OpenXRAPIExtension_method_unregister_projection_views_extension:
+
+.. rst-class:: classref-method
+
+|void| **unregister_projection_views_extension**\ (\ extension\: :ref:`OpenXRExtensionWrapperExtension<class_OpenXRExtensionWrapperExtension>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_unregister_projection_views_extension>`
+
+Unregisters the given extension as a provider of additional data structures to projections views.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_OpenXRAPIExtension_method_xr_result:
 
 .. rst-class:: classref-method

+ 78 - 0
classes/class_openxrbindingmodifier.rst

@@ -0,0 +1,78 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/modules/openxr/doc_classes/OpenXRBindingModifier.xml.
+
+.. _class_OpenXRBindingModifier:
+
+OpenXRBindingModifier
+=====================
+
+**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+**Inherited By:** :ref:`OpenXRActionBindingModifier<class_OpenXRActionBindingModifier>`, :ref:`OpenXRIPBindingModifier<class_OpenXRIPBindingModifier>`
+
+Binding modifier base class.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+Binding modifier base class. Subclasses implement various modifiers that alter how an OpenXR runtime processes inputs.
+
+.. rst-class:: classref-reftable-group
+
+Methods
+-------
+
+.. table::
+   :widths: auto
+
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                   | :ref:`_get_description<class_OpenXRBindingModifier_private_method__get_description>`\ (\ ) |virtual| |const| |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------+
+   | :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`_get_ip_modification<class_OpenXRBindingModifier_private_method__get_ip_modification>`\ (\ ) |virtual| |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Method Descriptions
+-------------------
+
+.. _class_OpenXRBindingModifier_private_method__get_description:
+
+.. rst-class:: classref-method
+
+:ref:`String<class_String>` **_get_description**\ (\ ) |virtual| |const| :ref:`🔗<class_OpenXRBindingModifier_private_method__get_description>`
+
+Return the description of this class that is used for the title bar of the binding modifier editor.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRBindingModifier_private_method__get_ip_modification:
+
+.. rst-class:: classref-method
+
+:ref:`PackedByteArray<class_PackedByteArray>` **_get_ip_modification**\ (\ ) |virtual| :ref:`🔗<class_OpenXRBindingModifier_private_method__get_ip_modification>`
+
+Returns the data that is sent to OpenXR when submitting the suggested interacting bindings this modifier is a part of.
+
+\ **Note:** This must be data compatible with a ``XrBindingModificationBaseHeaderKHR`` structure.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
+.. |void| replace:: :abbr:`void (No return value.)`

+ 103 - 0
classes/class_openxrbindingmodifiereditor.rst

@@ -0,0 +1,103 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/modules/openxr/doc_classes/OpenXRBindingModifierEditor.xml.
+
+.. _class_OpenXRBindingModifierEditor:
+
+OpenXRBindingModifierEditor
+===========================
+
+**Inherits:** :ref:`PanelContainer<class_PanelContainer>` **<** :ref:`Container<class_Container>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+
+Binding modifier editor.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This is the default binding modifier editor used in the OpenXR action map.
+
+.. rst-class:: classref-reftable-group
+
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +--------------------------------------------------------+-----------------------+--------------------------------------------------------------------------------+
+   | |bitfield|\[:ref:`SizeFlags<enum_Control_SizeFlags>`\] | size_flags_horizontal | ``3`` (overrides :ref:`Control<class_Control_property_size_flags_horizontal>`) |
+   +--------------------------------------------------------+-----------------------+--------------------------------------------------------------------------------+
+
+.. rst-class:: classref-reftable-group
+
+Methods
+-------
+
+.. table::
+   :widths: auto
+
+   +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`OpenXRBindingModifier<class_OpenXRBindingModifier>` | :ref:`get_binding_modifier<class_OpenXRBindingModifierEditor_method_get_binding_modifier>`\ (\ ) |const|                                                                                                     |
+   +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                    | :ref:`setup<class_OpenXRBindingModifierEditor_method_setup>`\ (\ action_map\: :ref:`OpenXRActionMap<class_OpenXRActionMap>`, binding_modifier\: :ref:`OpenXRBindingModifier<class_OpenXRBindingModifier>`\ ) |
+   +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Signals
+-------
+
+.. _class_OpenXRBindingModifierEditor_signal_binding_modifier_removed:
+
+.. rst-class:: classref-signal
+
+**binding_modifier_removed**\ (\ binding_modifier_editor\: :ref:`Object<class_Object>`\ ) :ref:`🔗<class_OpenXRBindingModifierEditor_signal_binding_modifier_removed>`
+
+Signal emitted when the user presses the delete binding modifier button for this modifier.
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Method Descriptions
+-------------------
+
+.. _class_OpenXRBindingModifierEditor_method_get_binding_modifier:
+
+.. rst-class:: classref-method
+
+:ref:`OpenXRBindingModifier<class_OpenXRBindingModifier>` **get_binding_modifier**\ (\ ) |const| :ref:`🔗<class_OpenXRBindingModifierEditor_method_get_binding_modifier>`
+
+Returns the :ref:`OpenXRBindingModifier<class_OpenXRBindingModifier>` currently being edited.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRBindingModifierEditor_method_setup:
+
+.. rst-class:: classref-method
+
+|void| **setup**\ (\ action_map\: :ref:`OpenXRActionMap<class_OpenXRActionMap>`, binding_modifier\: :ref:`OpenXRBindingModifier<class_OpenXRBindingModifier>`\ ) :ref:`🔗<class_OpenXRBindingModifierEditor_method_setup>`
+
+Setup this editor for the provided ``action_map`` and ``binding_modifier``.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
+.. |void| replace:: :abbr:`void (No return value.)`

+ 223 - 0
classes/class_openxrdpadbindingmodifier.rst

@@ -0,0 +1,223 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/modules/openxr/doc_classes/OpenXRDpadBindingModifier.xml.
+
+.. _class_OpenXRDpadBindingModifier:
+
+OpenXRDpadBindingModifier
+=========================
+
+**Inherits:** :ref:`OpenXRIPBindingModifier<class_OpenXRIPBindingModifier>` **<** :ref:`OpenXRBindingModifier<class_OpenXRBindingModifier>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+The DPad binding modifier converts an axis input to a dpad output.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+The DPad binding modifier converts an axis input to a dpad output, emulating a DPad. New input paths for each dpad direction will be added to the interaction profile. When bound to actions the DPad emulation will be activated. You should **not** combine dpad inputs with normal inputs in the same action set for the same control, this will result in an error being returned when suggested bindings are submitted to OpenXR.
+
+See `XR_EXT_dpad_binding <https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_dpad_binding>`__ for in-depth details.
+
+\ **Note:** If the DPad binding modifier extension is enabled, all dpad binding paths will be available in the action map. Adding the modifier to an interaction profile allows you to further customize the behavior.
+
+.. rst-class:: classref-reftable-group
+
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
+   | :ref:`OpenXRActionSet<class_OpenXRActionSet>`   | :ref:`action_set<class_OpenXRDpadBindingModifier_property_action_set>`                 |            |
+   +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
+   | :ref:`float<class_float>`                       | :ref:`center_region<class_OpenXRDpadBindingModifier_property_center_region>`           | ``0.1``    |
+   +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
+   | :ref:`String<class_String>`                     | :ref:`input_path<class_OpenXRDpadBindingModifier_property_input_path>`                 | ``""``     |
+   +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
+   | :ref:`bool<class_bool>`                         | :ref:`is_sticky<class_OpenXRDpadBindingModifier_property_is_sticky>`                   | ``false``  |
+   +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
+   | :ref:`OpenXRHapticBase<class_OpenXRHapticBase>` | :ref:`off_haptic<class_OpenXRDpadBindingModifier_property_off_haptic>`                 |            |
+   +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
+   | :ref:`OpenXRHapticBase<class_OpenXRHapticBase>` | :ref:`on_haptic<class_OpenXRDpadBindingModifier_property_on_haptic>`                   |            |
+   +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
+   | :ref:`float<class_float>`                       | :ref:`threshold<class_OpenXRDpadBindingModifier_property_threshold>`                   | ``0.6``    |
+   +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
+   | :ref:`float<class_float>`                       | :ref:`threshold_released<class_OpenXRDpadBindingModifier_property_threshold_released>` | ``0.4``    |
+   +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
+   | :ref:`float<class_float>`                       | :ref:`wedge_angle<class_OpenXRDpadBindingModifier_property_wedge_angle>`               | ``1.5708`` |
+   +-------------------------------------------------+----------------------------------------------------------------------------------------+------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Property Descriptions
+---------------------
+
+.. _class_OpenXRDpadBindingModifier_property_action_set:
+
+.. rst-class:: classref-property
+
+:ref:`OpenXRActionSet<class_OpenXRActionSet>` **action_set** :ref:`🔗<class_OpenXRDpadBindingModifier_property_action_set>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_action_set**\ (\ value\: :ref:`OpenXRActionSet<class_OpenXRActionSet>`\ )
+- :ref:`OpenXRActionSet<class_OpenXRActionSet>` **get_action_set**\ (\ )
+
+Action set for which this dpad binding modifier is active.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRDpadBindingModifier_property_center_region:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **center_region** = ``0.1`` :ref:`🔗<class_OpenXRDpadBindingModifier_property_center_region>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_center_region**\ (\ value\: :ref:`float<class_float>`\ )
+- :ref:`float<class_float>` **get_center_region**\ (\ )
+
+Center region in which our center position of our dpad return ``true``.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRDpadBindingModifier_property_input_path:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **input_path** = ``""`` :ref:`🔗<class_OpenXRDpadBindingModifier_property_input_path>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_input_path**\ (\ value\: :ref:`String<class_String>`\ )
+- :ref:`String<class_String>` **get_input_path**\ (\ )
+
+Input path for this dpad binding modifier.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRDpadBindingModifier_property_is_sticky:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **is_sticky** = ``false`` :ref:`🔗<class_OpenXRDpadBindingModifier_property_is_sticky>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_is_sticky**\ (\ value\: :ref:`bool<class_bool>`\ )
+- :ref:`bool<class_bool>` **get_is_sticky**\ (\ )
+
+If ``false``, when the joystick enters a new dpad zone this becomes true.
+
+If ``true``, when the joystick remains in active dpad zone, this remains true even if we overlap with another zone.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRDpadBindingModifier_property_off_haptic:
+
+.. rst-class:: classref-property
+
+:ref:`OpenXRHapticBase<class_OpenXRHapticBase>` **off_haptic** :ref:`🔗<class_OpenXRDpadBindingModifier_property_off_haptic>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_off_haptic**\ (\ value\: :ref:`OpenXRHapticBase<class_OpenXRHapticBase>`\ )
+- :ref:`OpenXRHapticBase<class_OpenXRHapticBase>` **get_off_haptic**\ (\ )
+
+Haptic pulse to emit when the user releases the input.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRDpadBindingModifier_property_on_haptic:
+
+.. rst-class:: classref-property
+
+:ref:`OpenXRHapticBase<class_OpenXRHapticBase>` **on_haptic** :ref:`🔗<class_OpenXRDpadBindingModifier_property_on_haptic>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_on_haptic**\ (\ value\: :ref:`OpenXRHapticBase<class_OpenXRHapticBase>`\ )
+- :ref:`OpenXRHapticBase<class_OpenXRHapticBase>` **get_on_haptic**\ (\ )
+
+Haptic pulse to emit when the user presses the input.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRDpadBindingModifier_property_threshold:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **threshold** = ``0.6`` :ref:`🔗<class_OpenXRDpadBindingModifier_property_threshold>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_threshold**\ (\ value\: :ref:`float<class_float>`\ )
+- :ref:`float<class_float>` **get_threshold**\ (\ )
+
+When our input value is equal or larger than this value, our dpad in that direction becomes true. It stays true until it falls under the :ref:`threshold_released<class_OpenXRDpadBindingModifier_property_threshold_released>` value.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRDpadBindingModifier_property_threshold_released:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **threshold_released** = ``0.4`` :ref:`🔗<class_OpenXRDpadBindingModifier_property_threshold_released>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_threshold_released**\ (\ value\: :ref:`float<class_float>`\ )
+- :ref:`float<class_float>` **get_threshold_released**\ (\ )
+
+When our input value falls below this, our output becomes false.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRDpadBindingModifier_property_wedge_angle:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **wedge_angle** = ``1.5708`` :ref:`🔗<class_OpenXRDpadBindingModifier_property_wedge_angle>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_wedge_angle**\ (\ value\: :ref:`float<class_float>`\ )
+- :ref:`float<class_float>` **get_wedge_angle**\ (\ )
+
+The angle of each wedge that identifies the 4 directions of the emulated dpad.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
+.. |void| replace:: :abbr:`void (No return value.)`

+ 14 - 0
classes/class_openxrextensionwrapperextension.rst

@@ -92,6 +92,8 @@ Methods
    +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                            | :ref:`_set_instance_create_info_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_private_method__set_instance_create_info_and_get_next_pointer>`\ (\ next_pointer\: ``void*``\ ) |virtual|                                                                                             |
    +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                            | :ref:`_set_projection_views_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_private_method__set_projection_views_and_get_next_pointer>`\ (\ view_index\: :ref:`int<class_int>`, next_pointer\: ``void*``\ ) |virtual|                                                                 |
+   +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                            | :ref:`_set_session_create_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_private_method__set_session_create_and_get_next_pointer>`\ (\ next_pointer\: ``void*``\ ) |virtual|                                                                                                         |
    +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                            | :ref:`_set_swapchain_create_info_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_private_method__set_swapchain_create_info_and_get_next_pointer>`\ (\ next_pointer\: ``void*``\ ) |virtual|                                                                                           |
@@ -504,6 +506,18 @@ Adds additional data structures when the OpenXR instance is created.
 
 ----
 
+.. _class_OpenXRExtensionWrapperExtension_private_method__set_projection_views_and_get_next_pointer:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **_set_projection_views_and_get_next_pointer**\ (\ view_index\: :ref:`int<class_int>`, next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapperExtension_private_method__set_projection_views_and_get_next_pointer>`
+
+Adds additional data structures to the projection view of the given ``view_index``.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_OpenXRExtensionWrapperExtension_private_method__set_session_create_and_get_next_pointer:
 
 .. rst-class:: classref-method

+ 33 - 0
classes/class_openxrhapticbase.rst

@@ -0,0 +1,33 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/modules/openxr/doc_classes/OpenXRHapticBase.xml.
+
+.. _class_OpenXRHapticBase:
+
+OpenXRHapticBase
+================
+
+**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+**Inherited By:** :ref:`OpenXRHapticVibration<class_OpenXRHapticVibration>`
+
+OpenXR Haptic feedback base class.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This is a base class for haptic feedback resources.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
+.. |void| replace:: :abbr:`void (No return value.)`

+ 103 - 0
classes/class_openxrhapticvibration.rst

@@ -0,0 +1,103 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/modules/openxr/doc_classes/OpenXRHapticVibration.xml.
+
+.. _class_OpenXRHapticVibration:
+
+OpenXRHapticVibration
+=====================
+
+**Inherits:** :ref:`OpenXRHapticBase<class_OpenXRHapticBase>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Vibration haptic feedback.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This haptic feedback resource makes it possible to define a vibration based haptic feedback pulse that can be triggered through actions in the OpenXR action map.
+
+.. rst-class:: classref-reftable-group
+
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +---------------------------+------------------------------------------------------------------+---------+
+   | :ref:`float<class_float>` | :ref:`amplitude<class_OpenXRHapticVibration_property_amplitude>` | ``1.0`` |
+   +---------------------------+------------------------------------------------------------------+---------+
+   | :ref:`int<class_int>`     | :ref:`duration<class_OpenXRHapticVibration_property_duration>`   | ``-1``  |
+   +---------------------------+------------------------------------------------------------------+---------+
+   | :ref:`float<class_float>` | :ref:`frequency<class_OpenXRHapticVibration_property_frequency>` | ``0.0`` |
+   +---------------------------+------------------------------------------------------------------+---------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Property Descriptions
+---------------------
+
+.. _class_OpenXRHapticVibration_property_amplitude:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **amplitude** = ``1.0`` :ref:`🔗<class_OpenXRHapticVibration_property_amplitude>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_amplitude**\ (\ value\: :ref:`float<class_float>`\ )
+- :ref:`float<class_float>` **get_amplitude**\ (\ )
+
+The amplitude of the pulse between ``0.0`` and ``1.0``.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRHapticVibration_property_duration:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **duration** = ``-1`` :ref:`🔗<class_OpenXRHapticVibration_property_duration>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_duration**\ (\ value\: :ref:`int<class_int>`\ )
+- :ref:`int<class_int>` **get_duration**\ (\ )
+
+The duration of the pulse in nanoseconds. Use ``-1`` for a minimum duration pulse for the current XR runtime.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRHapticVibration_property_frequency:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **frequency** = ``0.0`` :ref:`🔗<class_OpenXRHapticVibration_property_frequency>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_frequency**\ (\ value\: :ref:`float<class_float>`\ )
+- :ref:`float<class_float>` **get_frequency**\ (\ )
+
+The frequency of the pulse in Hz. ``0.0`` will let the XR runtime chose an optimal frequency for the device used.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
+.. |void| replace:: :abbr:`void (No return value.)`

+ 52 - 5
classes/class_openxrinteractionprofile.rst

@@ -31,6 +31,8 @@ Properties
 .. table::
    :widths: auto
 
+   +-----------------------------+---------------------------------------------------------------------------------------------------+--------+
+   | :ref:`Array<class_Array>`   | :ref:`binding_modifiers<class_OpenXRInteractionProfile_property_binding_modifiers>`               | ``[]`` |
    +-----------------------------+---------------------------------------------------------------------------------------------------+--------+
    | :ref:`Array<class_Array>`   | :ref:`bindings<class_OpenXRInteractionProfile_property_bindings>`                                 | ``[]`` |
    +-----------------------------+---------------------------------------------------------------------------------------------------+--------+
@@ -45,11 +47,15 @@ Methods
 .. table::
    :widths: auto
 
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
-   | :ref:`OpenXRIPBinding<class_OpenXRIPBinding>` | :ref:`get_binding<class_OpenXRInteractionProfile_method_get_binding>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                         | :ref:`get_binding_count<class_OpenXRInteractionProfile_method_get_binding_count>`\ (\ ) |const|                    |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
+   +---------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`OpenXRIPBinding<class_OpenXRIPBinding>`                 | :ref:`get_binding<class_OpenXRInteractionProfile_method_get_binding>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                   |
+   +---------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                         | :ref:`get_binding_count<class_OpenXRInteractionProfile_method_get_binding_count>`\ (\ ) |const|                                      |
+   +---------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`OpenXRIPBindingModifier<class_OpenXRIPBindingModifier>` | :ref:`get_binding_modifier<class_OpenXRInteractionProfile_method_get_binding_modifier>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+   +---------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                         | :ref:`get_binding_modifier_count<class_OpenXRInteractionProfile_method_get_binding_modifier_count>`\ (\ ) |const|                    |
+   +---------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -60,6 +66,23 @@ Methods
 Property Descriptions
 ---------------------
 
+.. _class_OpenXRInteractionProfile_property_binding_modifiers:
+
+.. rst-class:: classref-property
+
+:ref:`Array<class_Array>` **binding_modifiers** = ``[]`` :ref:`🔗<class_OpenXRInteractionProfile_property_binding_modifiers>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_binding_modifiers**\ (\ value\: :ref:`Array<class_Array>`\ )
+- :ref:`Array<class_Array>` **get_binding_modifiers**\ (\ )
+
+Binding modifiers for this interaction profile.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_OpenXRInteractionProfile_property_bindings:
 
 .. rst-class:: classref-property
@@ -119,6 +142,30 @@ Retrieve the binding at this index.
 
 Get the number of bindings in this interaction profile.
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRInteractionProfile_method_get_binding_modifier:
+
+.. rst-class:: classref-method
+
+:ref:`OpenXRIPBindingModifier<class_OpenXRIPBindingModifier>` **get_binding_modifier**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_OpenXRInteractionProfile_method_get_binding_modifier>`
+
+Get the :ref:`OpenXRBindingModifier<class_OpenXRBindingModifier>` at this index.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRInteractionProfile_method_get_binding_modifier_count:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **get_binding_modifier_count**\ (\ ) |const| :ref:`🔗<class_OpenXRInteractionProfile_method_get_binding_modifier_count>`
+
+Get the number of binding modifiers in this interaction profile.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 31 - 0
classes/class_openxrinteractionprofileeditor.rst

@@ -0,0 +1,31 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/modules/openxr/doc_classes/OpenXRInteractionProfileEditor.xml.
+
+.. _class_OpenXRInteractionProfileEditor:
+
+OpenXRInteractionProfileEditor
+==============================
+
+**Inherits:** :ref:`OpenXRInteractionProfileEditorBase<class_OpenXRInteractionProfileEditorBase>` **<** :ref:`HBoxContainer<class_HBoxContainer>` **<** :ref:`BoxContainer<class_BoxContainer>` **<** :ref:`Container<class_Container>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+
+Default OpenXR interaction profile editor.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This is the default OpenXR interaction profile editor that provides a generic interface for editing any interaction profile for which no custom editor has been defined.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
+.. |void| replace:: :abbr:`void (No return value.)`

+ 76 - 0
classes/class_openxrinteractionprofileeditorbase.rst

@@ -0,0 +1,76 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/modules/openxr/doc_classes/OpenXRInteractionProfileEditorBase.xml.
+
+.. _class_OpenXRInteractionProfileEditorBase:
+
+OpenXRInteractionProfileEditorBase
+==================================
+
+**Inherits:** :ref:`HBoxContainer<class_HBoxContainer>` **<** :ref:`BoxContainer<class_BoxContainer>` **<** :ref:`Container<class_Container>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+
+**Inherited By:** :ref:`OpenXRInteractionProfileEditor<class_OpenXRInteractionProfileEditor>`
+
+Base class for editing interaction profiles.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This is a base class for interaction profile editors used by the OpenXR action map editor. It can be used to create bespoke editors for specific interaction profiles.
+
+.. rst-class:: classref-reftable-group
+
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +--------------------------------------------------------+-----------------------+--------------------------------------------------------------------------------+
+   | |bitfield|\[:ref:`SizeFlags<enum_Control_SizeFlags>`\] | size_flags_horizontal | ``3`` (overrides :ref:`Control<class_Control_property_size_flags_horizontal>`) |
+   +--------------------------------------------------------+-----------------------+--------------------------------------------------------------------------------+
+   | |bitfield|\[:ref:`SizeFlags<enum_Control_SizeFlags>`\] | size_flags_vertical   | ``3`` (overrides :ref:`Control<class_Control_property_size_flags_vertical>`)   |
+   +--------------------------------------------------------+-----------------------+--------------------------------------------------------------------------------+
+
+.. rst-class:: classref-reftable-group
+
+Methods
+-------
+
+.. table::
+   :widths: auto
+
+   +--------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void| | :ref:`setup<class_OpenXRInteractionProfileEditorBase_method_setup>`\ (\ action_map\: :ref:`OpenXRActionMap<class_OpenXRActionMap>`, interaction_profile\: :ref:`OpenXRInteractionProfile<class_OpenXRInteractionProfile>`\ ) |
+   +--------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Method Descriptions
+-------------------
+
+.. _class_OpenXRInteractionProfileEditorBase_method_setup:
+
+.. rst-class:: classref-method
+
+|void| **setup**\ (\ action_map\: :ref:`OpenXRActionMap<class_OpenXRActionMap>`, interaction_profile\: :ref:`OpenXRInteractionProfile<class_OpenXRInteractionProfile>`\ ) :ref:`🔗<class_OpenXRInteractionProfileEditorBase_method_setup>`
+
+Setup this editor for the provided ``action_map`` and ``interaction_profile``.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
+.. |void| replace:: :abbr:`void (No return value.)`

+ 63 - 16
classes/class_openxripbinding.rst

@@ -29,13 +29,15 @@ Properties
 .. table::
    :widths: auto
 
-   +---------------------------------------------------+------------------------------------------------------------------+--------+
-   | :ref:`OpenXRAction<class_OpenXRAction>`           | :ref:`action<class_OpenXRIPBinding_property_action>`             |        |
-   +---------------------------------------------------+------------------------------------------------------------------+--------+
-   | :ref:`String<class_String>`                       | :ref:`binding_path<class_OpenXRIPBinding_property_binding_path>` | ``""`` |
-   +---------------------------------------------------+------------------------------------------------------------------+--------+
-   | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`paths<class_OpenXRIPBinding_property_paths>`               |        |
-   +---------------------------------------------------+------------------------------------------------------------------+--------+
+   +---------------------------------------------------+----------------------------------------------------------------------------+--------+
+   | :ref:`OpenXRAction<class_OpenXRAction>`           | :ref:`action<class_OpenXRIPBinding_property_action>`                       |        |
+   +---------------------------------------------------+----------------------------------------------------------------------------+--------+
+   | :ref:`Array<class_Array>`                         | :ref:`binding_modifiers<class_OpenXRIPBinding_property_binding_modifiers>` | ``[]`` |
+   +---------------------------------------------------+----------------------------------------------------------------------------+--------+
+   | :ref:`String<class_String>`                       | :ref:`binding_path<class_OpenXRIPBinding_property_binding_path>`           | ``""`` |
+   +---------------------------------------------------+----------------------------------------------------------------------------+--------+
+   | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`paths<class_OpenXRIPBinding_property_paths>`                         |        |
+   +---------------------------------------------------+----------------------------------------------------------------------------+--------+
 
 .. rst-class:: classref-reftable-group
 
@@ -45,15 +47,19 @@ Methods
 .. table::
    :widths: auto
 
-   +-------------------------+----------------------------------------------------------------------------------------------------------+
-   | |void|                  | :ref:`add_path<class_OpenXRIPBinding_method_add_path>`\ (\ path\: :ref:`String<class_String>`\ )         |
-   +-------------------------+----------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`   | :ref:`get_path_count<class_OpenXRIPBinding_method_get_path_count>`\ (\ ) |const|                         |
-   +-------------------------+----------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>` | :ref:`has_path<class_OpenXRIPBinding_method_has_path>`\ (\ path\: :ref:`String<class_String>`\ ) |const| |
-   +-------------------------+----------------------------------------------------------------------------------------------------------+
-   | |void|                  | :ref:`remove_path<class_OpenXRIPBinding_method_remove_path>`\ (\ path\: :ref:`String<class_String>`\ )   |
-   +-------------------------+----------------------------------------------------------------------------------------------------------+
+   +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                | :ref:`add_path<class_OpenXRIPBinding_method_add_path>`\ (\ path\: :ref:`String<class_String>`\ )                            |
+   +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`OpenXRActionBindingModifier<class_OpenXRActionBindingModifier>` | :ref:`get_binding_modifier<class_OpenXRIPBinding_method_get_binding_modifier>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+   +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                                 | :ref:`get_binding_modifier_count<class_OpenXRIPBinding_method_get_binding_modifier_count>`\ (\ ) |const|                    |
+   +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                                 | :ref:`get_path_count<class_OpenXRIPBinding_method_get_path_count>`\ (\ ) |const|                                            |
+   +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                               | :ref:`has_path<class_OpenXRIPBinding_method_has_path>`\ (\ path\: :ref:`String<class_String>`\ ) |const|                    |
+   +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                | :ref:`remove_path<class_OpenXRIPBinding_method_remove_path>`\ (\ path\: :ref:`String<class_String>`\ )                      |
+   +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -81,6 +87,23 @@ Property Descriptions
 
 ----
 
+.. _class_OpenXRIPBinding_property_binding_modifiers:
+
+.. rst-class:: classref-property
+
+:ref:`Array<class_Array>` **binding_modifiers** = ``[]`` :ref:`🔗<class_OpenXRIPBinding_property_binding_modifiers>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_binding_modifiers**\ (\ value\: :ref:`Array<class_Array>`\ )
+- :ref:`Array<class_Array>` **get_binding_modifiers**\ (\ )
+
+Binding modifiers for this binding.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_OpenXRIPBinding_property_binding_path:
 
 .. rst-class:: classref-property
@@ -140,6 +163,30 @@ Add an input/output path to this binding.
 
 ----
 
+.. _class_OpenXRIPBinding_method_get_binding_modifier:
+
+.. rst-class:: classref-method
+
+:ref:`OpenXRActionBindingModifier<class_OpenXRActionBindingModifier>` **get_binding_modifier**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_OpenXRIPBinding_method_get_binding_modifier>`
+
+Get the :ref:`OpenXRBindingModifier<class_OpenXRBindingModifier>` at this index.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRIPBinding_method_get_binding_modifier_count:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **get_binding_modifier_count**\ (\ ) |const| :ref:`🔗<class_OpenXRIPBinding_method_get_binding_modifier_count>`
+
+Get the number of binding modifiers for this binding.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_OpenXRIPBinding_method_get_path_count:
 
 .. rst-class:: classref-method

+ 33 - 0
classes/class_openxripbindingmodifier.rst

@@ -0,0 +1,33 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/modules/openxr/doc_classes/OpenXRIPBindingModifier.xml.
+
+.. _class_OpenXRIPBindingModifier:
+
+OpenXRIPBindingModifier
+=======================
+
+**Inherits:** :ref:`OpenXRBindingModifier<class_OpenXRBindingModifier>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+**Inherited By:** :ref:`OpenXRDpadBindingModifier<class_OpenXRDpadBindingModifier>`
+
+Binding modifier that applies directly on an interaction profile.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+Binding modifier that applies directly on an interaction profile.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
+.. |void| replace:: :abbr:`void (No return value.)`

+ 4 - 4
classes/class_os.rst

@@ -1501,10 +1501,10 @@ Returns ``true`` if the input keycode corresponds to a Unicode character. For a
 
  .. code-tab:: csharp
 
-    GD.Print(OS.IsKeycodeUnicode((long)Key.G));      // Prints true
-    GD.Print(OS.IsKeycodeUnicode((long)Key.Kp4));    // Prints true
-    GD.Print(OS.IsKeycodeUnicode((long)Key.Tab));    // Prints false
-    GD.Print(OS.IsKeycodeUnicode((long)Key.Escape)); // Prints false
+    GD.Print(OS.IsKeycodeUnicode((long)Key.G));      // Prints True
+    GD.Print(OS.IsKeycodeUnicode((long)Key.Kp4));    // Prints True
+    GD.Print(OS.IsKeycodeUnicode((long)Key.Tab));    // Prints False
+    GD.Print(OS.IsKeycodeUnicode((long)Key.Escape)); // Prints False
 
 
 

+ 1 - 1
classes/class_panelcontainer.rst

@@ -12,7 +12,7 @@ PanelContainer
 
 **Inherits:** :ref:`Container<class_Container>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`ScriptEditor<class_ScriptEditor>`
+**Inherited By:** :ref:`OpenXRBindingModifierEditor<class_OpenXRBindingModifierEditor>`, :ref:`ScriptEditor<class_ScriptEditor>`
 
 A container that keeps its child controls within the area of a :ref:`StyleBox<class_StyleBox>`.
 

+ 2 - 2
classes/class_polygonpathfinder.rst

@@ -152,8 +152,8 @@ Returns ``true`` if ``point`` falls inside the polygon area.
     };
     var connections = new int[] { 0, 1, 1, 2, 2, 0 };
     polygonPathFinder.Setup(points, connections);
-    GD.Print(polygonPathFinder.IsPointInside(new Vector2(0.2f, 0.2f))); // Prints true
-    GD.Print(polygonPathFinder.IsPointInside(new Vector2(1.0f, 1.0f))); // Prints false
+    GD.Print(polygonPathFinder.IsPointInside(new Vector2(0.2f, 0.2f))); // Prints True
+    GD.Print(polygonPathFinder.IsPointInside(new Vector2(1.0f, 1.0f))); // Prints False
 
 
 

+ 600 - 10
classes/class_projectsettings.rst

@@ -1209,6 +1209,8 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`navigation/baking/use_crash_prevention_checks<class_ProjectSettings_property_navigation/baking/use_crash_prevention_checks>`                                                                         | ``true``                                                                                         |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`navigation/pathfinding/max_threads<class_ProjectSettings_property_navigation/pathfinding/max_threads>`                                                                                               | ``4``                                                                                            |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`network/limits/debugger/max_chars_per_second<class_ProjectSettings_property_network/limits/debugger/max_chars_per_second>`                                                                           | ``32768``                                                                                        |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`network/limits/debugger/max_errors_per_second<class_ProjectSettings_property_network/limits/debugger/max_errors_per_second>`                                                                         | ``400``                                                                                          |
@@ -1293,9 +1295,75 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>`                                                                                     | ``60``                                                                                           |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/collisions/active_edge_threshold<class_ProjectSettings_property_physics/jolt_physics_3d/collisions/active_edge_threshold>`                                                   | ``0.872665``                                                                                     |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/collisions/collision_margin_fraction<class_ProjectSettings_property_physics/jolt_physics_3d/collisions/collision_margin_fraction>`                                           | ``0.08``                                                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`physics/jolt_physics_3d/joints/world_node<class_ProjectSettings_property_physics/jolt_physics_3d/joints/world_node>`                                                                                 | ``0``                                                                                            |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/limits/max_angular_velocity<class_ProjectSettings_property_physics/jolt_physics_3d/limits/max_angular_velocity>`                                                             | ``47.1239``                                                                                      |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`physics/jolt_physics_3d/limits/max_bodies<class_ProjectSettings_property_physics/jolt_physics_3d/limits/max_bodies>`                                                                                 | ``10240``                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`physics/jolt_physics_3d/limits/max_body_pairs<class_ProjectSettings_property_physics/jolt_physics_3d/limits/max_body_pairs>`                                                                         | ``65536``                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`physics/jolt_physics_3d/limits/max_contact_constraints<class_ProjectSettings_property_physics/jolt_physics_3d/limits/max_contact_constraints>`                                                       | ``20480``                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/limits/max_linear_velocity<class_ProjectSettings_property_physics/jolt_physics_3d/limits/max_linear_velocity>`                                                               | ``500.0``                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`physics/jolt_physics_3d/limits/temporary_memory_buffer_size<class_ProjectSettings_property_physics/jolt_physics_3d/limits/temporary_memory_buffer_size>`                                             | ``32``                                                                                           |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/limits/world_boundary_shape_size<class_ProjectSettings_property_physics/jolt_physics_3d/limits/world_boundary_shape_size>`                                                   | ``2000.0``                                                                                       |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/motion_queries/recovery_amount<class_ProjectSettings_property_physics/jolt_physics_3d/motion_queries/recovery_amount>`                                                       | ``0.4``                                                                                          |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`physics/jolt_physics_3d/motion_queries/recovery_iterations<class_ProjectSettings_property_physics/jolt_physics_3d/motion_queries/recovery_iterations>`                                               | ``4``                                                                                            |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`physics/jolt_physics_3d/motion_queries/use_enhanced_internal_edge_removal<class_ProjectSettings_property_physics/jolt_physics_3d/motion_queries/use_enhanced_internal_edge_removal>`                 | ``true``                                                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`physics/jolt_physics_3d/queries/enable_ray_cast_face_index<class_ProjectSettings_property_physics/jolt_physics_3d/queries/enable_ray_cast_face_index>`                                               | ``false``                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`physics/jolt_physics_3d/queries/use_enhanced_internal_edge_removal<class_ProjectSettings_property_physics/jolt_physics_3d/queries/use_enhanced_internal_edge_removal>`                               | ``false``                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`physics/jolt_physics_3d/simulation/allow_sleep<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/allow_sleep>`                                                                       | ``true``                                                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`physics/jolt_physics_3d/simulation/areas_detect_static_bodies<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/areas_detect_static_bodies>`                                         | ``false``                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/simulation/baumgarte_stabilization_factor<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/baumgarte_stabilization_factor>`                                 | ``0.2``                                                                                          |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/simulation/body_pair_contact_cache_angle_threshold<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/body_pair_contact_cache_angle_threshold>`               | ``0.0349066``                                                                                    |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/simulation/body_pair_contact_cache_distance_threshold<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/body_pair_contact_cache_distance_threshold>`         | ``0.001``                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`physics/jolt_physics_3d/simulation/body_pair_contact_cache_enabled<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/body_pair_contact_cache_enabled>`                               | ``true``                                                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/simulation/bounce_velocity_threshold<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/bounce_velocity_threshold>`                                           | ``1.0``                                                                                          |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/simulation/continuous_cd_max_penetration<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/continuous_cd_max_penetration>`                                   | ``0.25``                                                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/simulation/continuous_cd_movement_threshold<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/continuous_cd_movement_threshold>`                             | ``0.75``                                                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`physics/jolt_physics_3d/simulation/generate_all_kinematic_contacts<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/generate_all_kinematic_contacts>`                               | ``false``                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/simulation/penetration_slop<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/penetration_slop>`                                                             | ``0.02``                                                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`physics/jolt_physics_3d/simulation/position_steps<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/position_steps>`                                                                 | ``2``                                                                                            |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/simulation/sleep_time_threshold<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/sleep_time_threshold>`                                                     | ``0.5``                                                                                          |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/simulation/sleep_velocity_threshold<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/sleep_velocity_threshold>`                                             | ``0.03``                                                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/simulation/soft_body_point_radius<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/soft_body_point_radius>`                                                 | ``0.01``                                                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`physics/jolt_physics_3d/simulation/speculative_contact_distance<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/speculative_contact_distance>`                                     | ``0.02``                                                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`physics/jolt_physics_3d/simulation/use_enhanced_internal_edge_removal<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/use_enhanced_internal_edge_removal>`                         | ``true``                                                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`physics/jolt_physics_3d/simulation/velocity_steps<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/velocity_steps>`                                                                 | ``10``                                                                                           |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`rendering/2d/batching/item_buffer_size<class_ProjectSettings_property_rendering/2d/batching/item_buffer_size>`                                                                                       | ``16384``                                                                                        |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                             | :ref:`rendering/2d/batching/uniform_set_cache_size<class_ProjectSettings_property_rendering/2d/batching/uniform_set_cache_size>`                                                                           | ``256``                                                                                          |
+   | :ref:`int<class_int>`                             | :ref:`rendering/2d/batching/uniform_set_cache_size<class_ProjectSettings_property_rendering/2d/batching/uniform_set_cache_size>`                                                                           | ``4096``                                                                                         |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`rendering/2d/sdf/oversize<class_ProjectSettings_property_rendering/2d/sdf/oversize>`                                                                                                                 | ``1``                                                                                            |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
@@ -1563,6 +1631,8 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`rendering/rendering_device/staging_buffer/max_size_mb<class_ProjectSettings_property_rendering/rendering_device/staging_buffer/max_size_mb>`                                                         | ``128``                                                                                          |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`rendering/rendering_device/staging_buffer/texture_download_region_size_px<class_ProjectSettings_property_rendering/rendering_device/staging_buffer/texture_download_region_size_px>`                 | ``64``                                                                                           |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`rendering/rendering_device/staging_buffer/texture_upload_region_size_px<class_ProjectSettings_property_rendering/rendering_device/staging_buffer/texture_upload_region_size_px>`                     | ``64``                                                                                           |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`rendering/rendering_device/vsync/frame_queue_size<class_ProjectSettings_property_rendering/rendering_device/vsync/frame_queue_size>`                                                                 | ``2``                                                                                            |
@@ -1633,6 +1703,10 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`threading/worker_pool/max_threads<class_ProjectSettings_property_threading/worker_pool/max_threads>`                                                                                                 | ``-1``                                                                                           |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`xr/openxr/binding_modifiers/analog_threshold<class_ProjectSettings_property_xr/openxr/binding_modifiers/analog_threshold>`                                                                           | ``false``                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`xr/openxr/binding_modifiers/dpad_binding<class_ProjectSettings_property_xr/openxr/binding_modifiers/dpad_binding>`                                                                                   | ``false``                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                       | :ref:`xr/openxr/default_action_map<class_ProjectSettings_property_xr/openxr/default_action_map>`                                                                                                           | ``"res://openxr_action_map.tres"``                                                               |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`xr/openxr/enabled<class_ProjectSettings_property_xr/openxr/enabled>`                                                                                                                                 | ``false``                                                                                        |
@@ -9108,6 +9182,18 @@ If enabled, and baking would potentially lead to an engine crash, the baking wil
 
 ----
 
+.. _class_ProjectSettings_property_navigation/pathfinding/max_threads:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **navigation/pathfinding/max_threads** = ``4`` :ref:`🔗<class_ProjectSettings_property_navigation/pathfinding/max_threads>`
+
+Maximum number of threads that can run pathfinding queries simultaneously on the same pathfinding graph, for example the same navigation map. Additional threads increase memory consumption and synchronization time due to the need for extra data copies prepared for each thread. A value of ``-1`` means unlimited and the maximum available OS processor count is used. Defaults to ``1`` when the OS does not support threads.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_network/limits/debugger/max_chars_per_second:
 
 .. rst-class:: classref-property
@@ -9744,6 +9830,466 @@ The number of fixed iterations per second. This controls how often physics simul
 
 ----
 
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/collisions/active_edge_threshold:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/collisions/active_edge_threshold** = ``0.872665`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/collisions/active_edge_threshold>`
+
+The maximum angle, in radians, between two adjacent triangles in a :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>` or :ref:`HeightMapShape3D<class_HeightMapShape3D>` for which the edge between those triangles is considered inactive.
+
+Collisions against an inactive edge will have its normal overridden to instead be the surface normal of the triangle. This can help alleviate ghost collisions.
+
+\ **Note:** Setting this too high can result in objects not depenetrating properly.
+
+\ **Note:** This applies to all shape queries, as well as physics bodies within the simulation.
+
+\ **Note:** This does not apply when enabling Jolt's enhanced internal edge removal, which supersedes this.
+
+\ **Note:** This setting will only be read once during the lifetime of the application.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/collisions/collision_margin_fraction:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/collisions/collision_margin_fraction** = ``0.08`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/collisions/collision_margin_fraction>`
+
+The amount of collision margin to use for certain convex collision shapes, such as :ref:`BoxShape3D<class_BoxShape3D>`, :ref:`CylinderShape3D<class_CylinderShape3D>` and :ref:`ConvexPolygonShape3D<class_ConvexPolygonShape3D>`, as a fraction of the shape's shortest axis, with :ref:`Shape3D.margin<class_Shape3D_property_margin>` as the upper bound. This is mainly used to speed up collision detection with convex shapes.
+
+\ **Note:** Collision margins in Jolt do not add any extra size to the shape. Instead the shape is first shrunk by the margin and then expanded by the same amount, resulting in a shape with rounded corners.
+
+\ **Note:** Setting this value too close to ``0.0`` may also negatively affect the accuracy of the collision detection with convex shapes.
+
+\ **Note:** This setting will only be read once during the lifetime of the application.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/joints/world_node:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **physics/jolt_physics_3d/joints/world_node** = ``0`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/joints/world_node>`
+
+Which of the two nodes bound by a joint should represent the world when one of the two is omitted, as either :ref:`Joint3D.node_a<class_Joint3D_property_node_a>` or :ref:`Joint3D.node_b<class_Joint3D_property_node_b>`. This can be thought of as having the omitted node be a :ref:`StaticBody3D<class_StaticBody3D>` at the joint's position. Joint limits are more easily expressed when :ref:`Joint3D.node_a<class_Joint3D_property_node_a>` represents the world.
+
+\ **Note:** In Godot Physics, only :ref:`Joint3D.node_b<class_Joint3D_property_node_b>` can represent the world.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/limits/max_angular_velocity:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/limits/max_angular_velocity** = ``47.1239`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/limits/max_angular_velocity>`
+
+The maximum angular velocity that a :ref:`RigidBody3D<class_RigidBody3D>` can reach, in radians per second.
+
+This is mainly used as a fail-safe, to prevent the simulation from exploding, as fast-moving objects colliding with complex physics structures can otherwise cause them to go out of control. Fast-moving objects can also cause a lot of stress on the collision detection system, which can slow down the simulation considerably.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/limits/max_bodies:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **physics/jolt_physics_3d/limits/max_bodies** = ``10240`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/limits/max_bodies>`
+
+The maximum number of :ref:`PhysicsBody3D<class_PhysicsBody3D>` to support at the same time, awake or sleeping. When this limit is exceeded, an error is reported and anything past that point is undefined behavior.
+
+\ **Note:** This limit also applies within the editor.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/limits/max_body_pairs:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **physics/jolt_physics_3d/limits/max_body_pairs** = ``65536`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/limits/max_body_pairs>`
+
+The maximum number of body pairs to allow processing of. When this limit is exceeded, a warning is reported and collisions will randomly be ignored while bodies pass through each other.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/limits/max_contact_constraints:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **physics/jolt_physics_3d/limits/max_contact_constraints** = ``20480`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/limits/max_contact_constraints>`
+
+The maximum number of contact constraints to allow processing of. When this limit is exceeded, a warning is reported and collisions will randomly be ignored while bodies pass through each other.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/limits/max_linear_velocity:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/limits/max_linear_velocity** = ``500.0`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/limits/max_linear_velocity>`
+
+The maximum linear velocity that a :ref:`RigidBody3D<class_RigidBody3D>` can reach, in meters per second.
+
+This is mainly used as a fail-safe, to prevent the simulation from exploding, as fast-moving objects colliding with complex physics structures can otherwise cause them to go out of control. Fast-moving objects can also cause a lot of stress on the collision detection system, which can slow down the simulation considerably.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/limits/temporary_memory_buffer_size:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **physics/jolt_physics_3d/limits/temporary_memory_buffer_size** = ``32`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/limits/temporary_memory_buffer_size>`
+
+The amount of memory to pre-allocate for the stack allocator used within Jolt, in MiB. This allocator is used within the physics step to store things that are only needed during it, like which bodies are in contact, how they form islands and the data needed to solve the contacts.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/limits/world_boundary_shape_size:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/limits/world_boundary_shape_size** = ``2000.0`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/limits/world_boundary_shape_size>`
+
+The size of :ref:`WorldBoundaryShape3D<class_WorldBoundaryShape3D>` boundaries, for all three dimensions. The plane is effectively centered within a box of this size, and anything outside of the box will not collide with it. This is necessary as :ref:`WorldBoundaryShape3D<class_WorldBoundaryShape3D>` is not unbounded when using Jolt, in order to prevent precision issues.
+
+\ **Note:** Setting this value too high can make collision detection less accurate.
+
+\ **Note:** Collisions against the effective edges of a :ref:`WorldBoundaryShape3D<class_WorldBoundaryShape3D>` will be inconsistent.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/motion_queries/recovery_amount:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/motion_queries/recovery_amount** = ``0.4`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/motion_queries/recovery_amount>`
+
+Fraction of the total penetration to depenetrate per iteration during motion queries.
+
+\ **Note:** This affects methods :ref:`CharacterBody3D.move_and_slide<class_CharacterBody3D_method_move_and_slide>`, :ref:`PhysicsBody3D.move_and_collide<class_PhysicsBody3D_method_move_and_collide>`, :ref:`PhysicsBody3D.test_move<class_PhysicsBody3D_method_test_move>` and :ref:`PhysicsServer3D.body_test_motion<class_PhysicsServer3D_method_body_test_motion>`.
+
+\ **Note:** This setting will only be read once during the lifetime of the application.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/motion_queries/recovery_iterations:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **physics/jolt_physics_3d/motion_queries/recovery_iterations** = ``4`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/motion_queries/recovery_iterations>`
+
+The number of iterations to run when depenetrating during motion queries.
+
+\ **Note:** This affects methods :ref:`CharacterBody3D.move_and_slide<class_CharacterBody3D_method_move_and_slide>`, :ref:`PhysicsBody3D.move_and_collide<class_PhysicsBody3D_method_move_and_collide>`, :ref:`PhysicsBody3D.test_move<class_PhysicsBody3D_method_test_move>` and :ref:`PhysicsServer3D.body_test_motion<class_PhysicsServer3D_method_body_test_motion>`.
+
+\ **Note:** This setting will only be read once during the lifetime of the application.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/motion_queries/use_enhanced_internal_edge_removal:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **physics/jolt_physics_3d/motion_queries/use_enhanced_internal_edge_removal** = ``true`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/motion_queries/use_enhanced_internal_edge_removal>`
+
+If ``true``, enables Jolt's enhanced internal edge removal during motion queries. This can help alleviate ghost collisions, but only with edges within a single body, meaning edges between separate bodies can still cause ghost collisions.
+
+\ **Note:** This affects methods :ref:`CharacterBody3D.move_and_slide<class_CharacterBody3D_method_move_and_slide>`, :ref:`PhysicsBody3D.move_and_collide<class_PhysicsBody3D_method_move_and_collide>`, :ref:`PhysicsBody3D.test_move<class_PhysicsBody3D_method_test_move>` and :ref:`PhysicsServer3D.body_test_motion<class_PhysicsServer3D_method_body_test_motion>`.
+
+\ **Note:** This setting will only be read once during the lifetime of the application.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/queries/enable_ray_cast_face_index:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **physics/jolt_physics_3d/queries/enable_ray_cast_face_index** = ``false`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/queries/enable_ray_cast_face_index>`
+
+If ``true``, populates the ``face_index`` field in the results of :ref:`PhysicsDirectSpaceState3D.intersect_ray<class_PhysicsDirectSpaceState3D_method_intersect_ray>`, also accessed through :ref:`RayCast3D.get_collision_face_index<class_RayCast3D_method_get_collision_face_index>`. If ``false``, the ``face_index`` field will be left at its default value of ``-1``.
+
+\ **Note:** Enabling this setting will increase Jolt's memory usage for :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>` by around 25%.
+
+\ **Note:** This setting will only be read once during the lifetime of the application.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/queries/use_enhanced_internal_edge_removal:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **physics/jolt_physics_3d/queries/use_enhanced_internal_edge_removal** = ``false`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/queries/use_enhanced_internal_edge_removal>`
+
+If ``true``, enables Jolt's enhanced internal edge removal during shape queries. This can help alleviate ghost collisions when using shape queries for things like character movement, but only with edges within a single body, meaning edges between separate bodies can still cause ghost collisions.
+
+\ **Note:** This affects methods :ref:`PhysicsDirectSpaceState3D.cast_motion<class_PhysicsDirectSpaceState3D_method_cast_motion>`, :ref:`PhysicsDirectSpaceState3D.collide_shape<class_PhysicsDirectSpaceState3D_method_collide_shape>`, :ref:`PhysicsDirectSpaceState3D.get_rest_info<class_PhysicsDirectSpaceState3D_method_get_rest_info>` and :ref:`PhysicsDirectSpaceState3D.intersect_shape<class_PhysicsDirectSpaceState3D_method_intersect_shape>`.
+
+\ **Note:** Enabling this setting can cause certain shapes to be culled from the results entirely, but you will get at least one intersection per body.
+
+\ **Note:** This setting will only be read once during the lifetime of the application.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/allow_sleep:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **physics/jolt_physics_3d/simulation/allow_sleep** = ``true`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/allow_sleep>`
+
+If ``true``, :ref:`RigidBody3D<class_RigidBody3D>` nodes are allowed to go to sleep if their velocity is below the threshold defined in :ref:`physics/jolt_physics_3d/simulation/sleep_velocity_threshold<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/sleep_velocity_threshold>` for the duration set in :ref:`physics/jolt_physics_3d/simulation/sleep_time_threshold<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/sleep_time_threshold>`. This can improve physics simulation performance when there are non-moving :ref:`RigidBody3D<class_RigidBody3D>` nodes, at the cost of some nodes possibly failing to wake up in certain scenarios. Consider disabling this temporarily to troubleshoot :ref:`RigidBody3D<class_RigidBody3D>` nodes not moving when they should.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/areas_detect_static_bodies:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **physics/jolt_physics_3d/simulation/areas_detect_static_bodies** = ``false`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/areas_detect_static_bodies>`
+
+If ``true``, :ref:`Area3D<class_Area3D>` nodes are able to detect overlaps with :ref:`StaticBody3D<class_StaticBody3D>` nodes.
+
+\ **Note:** Enabling this setting can come at a heavy CPU and memory cost if you allow many/large :ref:`Area3D<class_Area3D>` to overlap with complex static geometry, such as :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>` or :ref:`HeightMapShape3D<class_HeightMapShape3D>`. It is strongly recommended that you set up your collision layers and masks in such a way that only a few small :ref:`Area3D<class_Area3D>` nodes can detect :ref:`StaticBody3D<class_StaticBody3D>` nodes.
+
+\ **Note:** This also applies to overlaps with a :ref:`RigidBody3D<class_RigidBody3D>` frozen with :ref:`RigidBody3D.FREEZE_MODE_STATIC<class_RigidBody3D_constant_FREEZE_MODE_STATIC>`.
+
+\ **Note:** This is not needed to detect overlaps with :ref:`AnimatableBody3D<class_AnimatableBody3D>`, as it is a kinematic body, despite inheriting from :ref:`StaticBody3D<class_StaticBody3D>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/baumgarte_stabilization_factor:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/simulation/baumgarte_stabilization_factor** = ``0.2`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/baumgarte_stabilization_factor>`
+
+How much of the position error of a :ref:`RigidBody3D<class_RigidBody3D>` to fix during a physics step, where ``0.0`` is none and ``1.0`` is the full amount. This affects things like how quickly bodies depenetrate.
+
+\ **Note:** Setting this value too high can make :ref:`RigidBody3D<class_RigidBody3D>` nodes unstable.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/body_pair_contact_cache_angle_threshold:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/simulation/body_pair_contact_cache_angle_threshold** = ``0.0349066`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/body_pair_contact_cache_angle_threshold>`
+
+The maximum relative angle by which a body pair can move and still reuse the collision results from the previous physics step, in radians.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/body_pair_contact_cache_distance_threshold:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/simulation/body_pair_contact_cache_distance_threshold** = ``0.001`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/body_pair_contact_cache_distance_threshold>`
+
+The maximum relative distance by which a body pair can move and still reuse the collision results from the previous physics step, in meters.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/body_pair_contact_cache_enabled:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **physics/jolt_physics_3d/simulation/body_pair_contact_cache_enabled** = ``true`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/body_pair_contact_cache_enabled>`
+
+If ``true``, enables the body pair contact cache, which removes the need for potentially expensive collision detection when the relative orientation between two bodies hasn't changed much.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/bounce_velocity_threshold:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/simulation/bounce_velocity_threshold** = ``1.0`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/bounce_velocity_threshold>`
+
+The minimum velocity needed before a collision can be bouncy, in meters per second.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/continuous_cd_max_penetration:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/simulation/continuous_cd_max_penetration** = ``0.25`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/continuous_cd_max_penetration>`
+
+Fraction of a body's inner radius that may penetrate another body while using continuous collision detection.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/continuous_cd_movement_threshold:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/simulation/continuous_cd_movement_threshold** = ``0.75`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/continuous_cd_movement_threshold>`
+
+Fraction of a body's inner radius that the body must move per step to make use of continuous collision detection.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/generate_all_kinematic_contacts:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **physics/jolt_physics_3d/simulation/generate_all_kinematic_contacts** = ``false`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/generate_all_kinematic_contacts>`
+
+If ``true``, a :ref:`RigidBody3D<class_RigidBody3D>` frozen with :ref:`RigidBody3D.FREEZE_MODE_KINEMATIC<class_RigidBody3D_constant_FREEZE_MODE_KINEMATIC>` is able to collide with other kinematic and static bodies, and therefore generate contacts for them.
+
+\ **Note:** This setting can come at a heavy CPU and memory cost if you allow many/large frozen kinematic bodies with a non-zero :ref:`RigidBody3D.max_contacts_reported<class_RigidBody3D_property_max_contacts_reported>` to overlap with complex static geometry, such as :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>` or :ref:`HeightMapShape3D<class_HeightMapShape3D>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/penetration_slop:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/simulation/penetration_slop** = ``0.02`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/penetration_slop>`
+
+How much bodies are allowed to penetrate each other, in meters.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/position_steps:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **physics/jolt_physics_3d/simulation/position_steps** = ``2`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/position_steps>`
+
+Number of solver position iterations. The greater the number of iterations, the more accurate the simulation will be, at the cost of CPU performance.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/sleep_time_threshold:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/simulation/sleep_time_threshold** = ``0.5`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/sleep_time_threshold>`
+
+Time in seconds a :ref:`RigidBody3D<class_RigidBody3D>` will spend below the sleep velocity threshold before going to sleep.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/sleep_velocity_threshold:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/simulation/sleep_velocity_threshold** = ``0.03`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/sleep_velocity_threshold>`
+
+The linear velocity of specific points on the bounding box of a :ref:`RigidBody3D<class_RigidBody3D>`, below which it can be put to sleep, in meters per second. These points help capture both the linear and angular motion of a :ref:`RigidBody3D<class_RigidBody3D>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/soft_body_point_radius:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/simulation/soft_body_point_radius** = ``0.01`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/soft_body_point_radius>`
+
+How big the points of a :ref:`SoftBody3D<class_SoftBody3D>` are, in meters. A higher value can prevent behavior such as cloth laying perfectly flush against other surfaces and causing Z-fighting.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/speculative_contact_distance:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **physics/jolt_physics_3d/simulation/speculative_contact_distance** = ``0.02`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/speculative_contact_distance>`
+
+Radius around physics bodies, inside which speculative contact points will be detected, in meters. This is mainly used to prevent tunneling/penetration for :ref:`RigidBody3D<class_RigidBody3D>` nodes during simulation.
+
+\ **Note:** Setting this too high may result in ghost collisions, as speculative contacts are based on the closest points during the collision detection step which may not be the actual closest points by the time the two bodies hit.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/use_enhanced_internal_edge_removal:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **physics/jolt_physics_3d/simulation/use_enhanced_internal_edge_removal** = ``true`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/use_enhanced_internal_edge_removal>`
+
+If ``true``, enables Jolt's enhanced internal edge removal for :ref:`RigidBody3D<class_RigidBody3D>`. This can help alleviate ghost collisions when, for example, a :ref:`RigidBody3D<class_RigidBody3D>` collides with the edges of two perfectly joined :ref:`BoxShape3D<class_BoxShape3D>`. The removal only applies to edges internal to a single body, meaning edges between separate bodies can still cause ghost collisions.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_physics/jolt_physics_3d/simulation/velocity_steps:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **physics/jolt_physics_3d/simulation/velocity_steps** = ``10`` :ref:`🔗<class_ProjectSettings_property_physics/jolt_physics_3d/simulation/velocity_steps>`
+
+Number of solver velocity iterations. The greater the number of iterations, the more accurate the simulation will be, at the cost of CPU performance.
+
+\ **Note:** This needs to be at least ``2`` in order for friction to work, as friction is applied using the non-penetration impulse from the previous iteration.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_rendering/2d/batching/item_buffer_size:
 
 .. rst-class:: classref-property
@@ -9760,7 +10306,7 @@ Maximum number of canvas item commands that can be batched into a single draw ca
 
 .. rst-class:: classref-property
 
-:ref:`int<class_int>` **rendering/2d/batching/uniform_set_cache_size** = ``256`` :ref:`🔗<class_ProjectSettings_property_rendering/2d/batching/uniform_set_cache_size>`
+:ref:`int<class_int>` **rendering/2d/batching/uniform_set_cache_size** = ``4096`` :ref:`🔗<class_ProjectSettings_property_rendering/2d/batching/uniform_set_cache_size>`
 
 Maximum number of uniform sets that will be cached by the 2D renderer when batching draw calls.
 
@@ -11506,9 +12052,9 @@ Determines at which interval pipeline cache is saved to disk. The lower the valu
 
 :ref:`int<class_int>` **rendering/rendering_device/staging_buffer/block_size_kb** = ``256`` :ref:`🔗<class_ProjectSettings_property_rendering/rendering_device/staging_buffer/block_size_kb>`
 
-.. container:: contribute
+The size of a block allocated in the staging buffers. Staging buffers are the intermediate resources the engine uses to upload or download data to the GPU. This setting determines the max amount of data that can be transferred in a copy operation. Increasing this will result in faster data transfers at the cost of extra memory.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** This property is only read when the project starts. There is currently no way to change this value at run-time.
 
 .. rst-class:: classref-item-separator
 
@@ -11520,9 +12066,25 @@ Determines at which interval pipeline cache is saved to disk. The lower the valu
 
 :ref:`int<class_int>` **rendering/rendering_device/staging_buffer/max_size_mb** = ``128`` :ref:`🔗<class_ProjectSettings_property_rendering/rendering_device/staging_buffer/max_size_mb>`
 
-.. container:: contribute
+The maximum amount of memory allowed to be used by staging buffers. If the amount of data being uploaded or downloaded exceeds this amount, the GPU will stall and wait for previous frames to finish.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** This property is only read when the project starts. There is currently no way to change this value at run-time.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_rendering/rendering_device/staging_buffer/texture_download_region_size_px:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **rendering/rendering_device/staging_buffer/texture_download_region_size_px** = ``64`` :ref:`🔗<class_ProjectSettings_property_rendering/rendering_device/staging_buffer/texture_download_region_size_px>`
+
+The region size in pixels used to download texture data from the GPU when using methods like :ref:`RenderingDevice.texture_get_data_async<class_RenderingDevice_method_texture_get_data_async>`.
+
+\ **Note:** This property's upper limit is controlled by :ref:`rendering/rendering_device/staging_buffer/block_size_kb<class_ProjectSettings_property_rendering/rendering_device/staging_buffer/block_size_kb>` and whether it's possible to allocate a single block of texture data with this region size in the format that is requested.
+
+\ **Note:** This property is only read when the project starts. There is currently no way to change this value at run-time.
 
 .. rst-class:: classref-item-separator
 
@@ -11534,9 +12096,11 @@ Determines at which interval pipeline cache is saved to disk. The lower the valu
 
 :ref:`int<class_int>` **rendering/rendering_device/staging_buffer/texture_upload_region_size_px** = ``64`` :ref:`🔗<class_ProjectSettings_property_rendering/rendering_device/staging_buffer/texture_upload_region_size_px>`
 
-.. container:: contribute
+The region size in pixels used to upload texture data from the GPU when using methods like :ref:`RenderingDevice.texture_update<class_RenderingDevice_method_texture_update>`.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** This property's upper limit is controlled by :ref:`rendering/rendering_device/staging_buffer/block_size_kb<class_ProjectSettings_property_rendering/rendering_device/staging_buffer/block_size_kb>` and whether it's possible to allocate a single block of texture data with this region size in the format that is requested.
+
+\ **Note:** This property is only read when the project starts. There is currently no way to change this value at run-time.
 
 .. rst-class:: classref-item-separator
 
@@ -11588,9 +12152,11 @@ Try the `V-Sync Simulator <https://darksylinc.github.io/vsync_simulator/>`__, an
 
 :ref:`int<class_int>` **rendering/rendering_device/vulkan/max_descriptors_per_pool** = ``64`` :ref:`🔗<class_ProjectSettings_property_rendering/rendering_device/vulkan/max_descriptors_per_pool>`
 
-.. container:: contribute
+The number of descriptors per pool. Godot's Vulkan backend uses linear pools for descriptors that will be created and destroyed within a single frame. Instead of destroying every single descriptor every frame, they all can be destroyed at once by resetting the pool they belong to.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+A larger number is more efficient up to a limit, after that it will only waste RAM (maximum efficiency is achieved when there is no more than 1 pool per frame). A small number could end up with one pool per descriptor, which negatively impacts performance.
+
+\ **Note:** Changing this property requires a restart to take effect.
 
 .. rst-class:: classref-item-separator
 
@@ -12023,6 +12589,30 @@ Maximum number of threads to be used by :ref:`WorkerThreadPool<class_WorkerThrea
 
 ----
 
+.. _class_ProjectSettings_property_xr/openxr/binding_modifiers/analog_threshold:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **xr/openxr/binding_modifiers/analog_threshold** = ``false`` :ref:`🔗<class_ProjectSettings_property_xr/openxr/binding_modifiers/analog_threshold>`
+
+If ``true``, enables the analog threshold binding modifier if supported by the XR runtime.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_xr/openxr/binding_modifiers/dpad_binding:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **xr/openxr/binding_modifiers/dpad_binding** = ``false`` :ref:`🔗<class_ProjectSettings_property_xr/openxr/binding_modifiers/dpad_binding>`
+
+If ``true``, enables the D-pad binding modifier if supported by the XR runtime.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_xr/openxr/default_action_map:
 
 .. rst-class:: classref-property

+ 19 - 0
classes/class_reflectionprobe.rst

@@ -54,6 +54,8 @@ Properties
    +------------------------------------------------------+----------------------------------------------------------------------------------+-------------------------+
    | :ref:`AmbientMode<enum_ReflectionProbe_AmbientMode>` | :ref:`ambient_mode<class_ReflectionProbe_property_ambient_mode>`                 | ``1``                   |
    +------------------------------------------------------+----------------------------------------------------------------------------------+-------------------------+
+   | :ref:`float<class_float>`                            | :ref:`blend_distance<class_ReflectionProbe_property_blend_distance>`             | ``1.0``                 |
+   +------------------------------------------------------+----------------------------------------------------------------------------------+-------------------------+
    | :ref:`bool<class_bool>`                              | :ref:`box_projection<class_ReflectionProbe_property_box_projection>`             | ``false``               |
    +------------------------------------------------------+----------------------------------------------------------------------------------+-------------------------+
    | :ref:`int<class_int>`                                | :ref:`cull_mask<class_ReflectionProbe_property_cull_mask>`                       | ``1048575``             |
@@ -202,6 +204,23 @@ The ambient color to use within the **ReflectionProbe**'s box defined by its :re
 
 ----
 
+.. _class_ReflectionProbe_property_blend_distance:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **blend_distance** = ``1.0`` :ref:`🔗<class_ReflectionProbe_property_blend_distance>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_blend_distance**\ (\ value\: :ref:`float<class_float>`\ )
+- :ref:`float<class_float>` **get_blend_distance**\ (\ )
+
+Defines the distance in meters over which a probe blends into the scene.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ReflectionProbe_property_box_projection:
 
 .. rst-class:: classref-property

+ 58 - 0
classes/class_renderingdevice.rst

@@ -53,6 +53,8 @@ Methods
    +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`PackedByteArray<class_PackedByteArray>`              | :ref:`buffer_get_data<class_RenderingDevice_method_buffer_get_data>`\ (\ buffer\: :ref:`RID<class_RID>`, offset_bytes\: :ref:`int<class_int>` = 0, size_bytes\: :ref:`int<class_int>` = 0\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
    +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Error<enum_@GlobalScope_Error>`                      | :ref:`buffer_get_data_async<class_RenderingDevice_method_buffer_get_data_async>`\ (\ buffer\: :ref:`RID<class_RID>`, callback\: :ref:`Callable<class_Callable>`, offset_bytes\: :ref:`int<class_int>` = 0, size_bytes\: :ref:`int<class_int>` = 0\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
+   +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Error<enum_@GlobalScope_Error>`                      | :ref:`buffer_update<class_RenderingDevice_method_buffer_update>`\ (\ buffer\: :ref:`RID<class_RID>`, offset\: :ref:`int<class_int>`, size_bytes\: :ref:`int<class_int>`, data\: :ref:`PackedByteArray<class_PackedByteArray>`\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
    +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                                     | :ref:`capture_timestamp<class_RenderingDevice_method_capture_timestamp>`\ (\ name\: :ref:`String<class_String>`\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
@@ -241,6 +243,8 @@ Methods
    +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`PackedByteArray<class_PackedByteArray>`              | :ref:`texture_get_data<class_RenderingDevice_method_texture_get_data>`\ (\ texture\: :ref:`RID<class_RID>`, layer\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
    +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Error<enum_@GlobalScope_Error>`                      | :ref:`texture_get_data_async<class_RenderingDevice_method_texture_get_data_async>`\ (\ texture\: :ref:`RID<class_RID>`, layer\: :ref:`int<class_int>`, callback\: :ref:`Callable<class_Callable>`\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
+   +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RDTextureFormat<class_RDTextureFormat>`              | :ref:`texture_get_format<class_RenderingDevice_method_texture_get_format>`\ (\ texture\: :ref:`RID<class_RID>`\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
    +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                      | :ref:`texture_get_native_handle<class_RenderingDevice_method_texture_get_native_handle>`\ (\ texture\: :ref:`RID<class_RID>`\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
@@ -5041,6 +5045,33 @@ Prints an error if:
 
 Returns a copy of the data of the specified ``buffer``, optionally ``offset_bytes`` and ``size_bytes`` can be set to copy only a portion of the buffer.
 
+\ **Note:** This method will block the GPU from working until the data is retrieved. Refer to :ref:`buffer_get_data_async<class_RenderingDevice_method_buffer_get_data_async>` for an alternative that returns the data in more performant way.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderingDevice_method_buffer_get_data_async:
+
+.. rst-class:: classref-method
+
+:ref:`Error<enum_@GlobalScope_Error>` **buffer_get_data_async**\ (\ buffer\: :ref:`RID<class_RID>`, callback\: :ref:`Callable<class_Callable>`, offset_bytes\: :ref:`int<class_int>` = 0, size_bytes\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_RenderingDevice_method_buffer_get_data_async>`
+
+Asynchronous version of :ref:`buffer_get_data<class_RenderingDevice_method_buffer_get_data>`. RenderingDevice will call ``callback`` in a certain amount of frames with the data the buffer had at the time of the request.
+
+\ **Note:** At the moment, the delay corresponds to the amount of frames specified by :ref:`ProjectSettings.rendering/rendering_device/vsync/frame_queue_size<class_ProjectSettings_property_rendering/rendering_device/vsync/frame_queue_size>`.
+
+\ **Note:** Downloading large buffers can have a prohibitive cost for real-time even when using the asynchronous method due to hardware bandwidth limitations. When dealing with large resources, you can adjust settings such as :ref:`ProjectSettings.rendering/rendering_device/staging_buffer/block_size_kb<class_ProjectSettings_property_rendering/rendering_device/staging_buffer/block_size_kb>` to improve the transfer speed at the cost of extra memory.
+
+::
+
+    func _buffer_get_data_callback(array):
+        value = array.decode_u32(0)
+    
+    ...
+    
+    rd.buffer_get_data_async(buffer, _buffer_get_data_callback)
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -6378,6 +6409,33 @@ Returns the ``texture`` data for the specified ``layer`` as raw binary data. For
 
 \ **Note:** ``texture`` requires the :ref:`TEXTURE_USAGE_CAN_COPY_FROM_BIT<class_RenderingDevice_constant_TEXTURE_USAGE_CAN_COPY_FROM_BIT>` to be retrieved. Otherwise, an error is printed and a empty :ref:`PackedByteArray<class_PackedByteArray>` is returned.
 
+\ **Note:** This method will block the GPU from working until the data is retrieved. Refer to :ref:`texture_get_data_async<class_RenderingDevice_method_texture_get_data_async>` for an alternative that returns the data in more performant way.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderingDevice_method_texture_get_data_async:
+
+.. rst-class:: classref-method
+
+:ref:`Error<enum_@GlobalScope_Error>` **texture_get_data_async**\ (\ texture\: :ref:`RID<class_RID>`, layer\: :ref:`int<class_int>`, callback\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_RenderingDevice_method_texture_get_data_async>`
+
+Asynchronous version of :ref:`texture_get_data<class_RenderingDevice_method_texture_get_data>`. RenderingDevice will call ``callback`` in a certain amount of frames with the data the texture had at the time of the request.
+
+\ **Note:** At the moment, the delay corresponds to the amount of frames specified by :ref:`ProjectSettings.rendering/rendering_device/vsync/frame_queue_size<class_ProjectSettings_property_rendering/rendering_device/vsync/frame_queue_size>`.
+
+\ **Note:** Downloading large textures can have a prohibitive cost for real-time even when using the asynchronous method due to hardware bandwidth limitations. When dealing with large resources, you can adjust settings such as :ref:`ProjectSettings.rendering/rendering_device/staging_buffer/texture_download_region_size_px<class_ProjectSettings_property_rendering/rendering_device/staging_buffer/texture_download_region_size_px>` and :ref:`ProjectSettings.rendering/rendering_device/staging_buffer/block_size_kb<class_ProjectSettings_property_rendering/rendering_device/staging_buffer/block_size_kb>` to improve the transfer speed at the cost of extra memory.
+
+::
+
+    func _texture_get_data_callback(array):
+        value = array.decode_u32(0)
+    
+    ...
+    
+    rd.texture_get_data_async(texture, 0, _texture_get_data_callback)
+
 .. rst-class:: classref-item-separator
 
 ----

+ 14 - 0
classes/class_renderingserver.rst

@@ -799,6 +799,8 @@ Methods
    +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                                                           | :ref:`reflection_probe_set_as_interior<class_RenderingServer_method_reflection_probe_set_as_interior>`\ (\ probe\: :ref:`RID<class_RID>`, enable\: :ref:`bool<class_bool>`\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
    +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                                           | :ref:`reflection_probe_set_blend_distance<class_RenderingServer_method_reflection_probe_set_blend_distance>`\ (\ probe\: :ref:`RID<class_RID>`, blend_distance\: :ref:`float<class_float>`\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
+   +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                                                           | :ref:`reflection_probe_set_cull_mask<class_RenderingServer_method_reflection_probe_set_cull_mask>`\ (\ probe\: :ref:`RID<class_RID>`, layers\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
    +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                                                           | :ref:`reflection_probe_set_enable_box_projection<class_RenderingServer_method_reflection_probe_set_enable_box_projection>`\ (\ probe\: :ref:`RID<class_RID>`, enable\: :ref:`bool<class_bool>`\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
@@ -10697,6 +10699,18 @@ If ``true``, reflections will ignore sky contribution. Equivalent to :ref:`Refle
 
 ----
 
+.. _class_RenderingServer_method_reflection_probe_set_blend_distance:
+
+.. rst-class:: classref-method
+
+|void| **reflection_probe_set_blend_distance**\ (\ probe\: :ref:`RID<class_RID>`, blend_distance\: :ref:`float<class_float>`\ ) :ref:`🔗<class_RenderingServer_method_reflection_probe_set_blend_distance>`
+
+Sets the distance in meters over which a probe blends into the scene.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_RenderingServer_method_reflection_probe_set_cull_mask:
 
 .. rst-class:: classref-method

File diff suppressed because it is too large
+ 0 - 0
classes/class_resource.rst


+ 2 - 2
classes/class_string.rst

@@ -536,8 +536,8 @@ Returns ``true`` if the string contains ``what``. In GDScript, this corresponds
 
  .. code-tab:: csharp
 
-    GD.Print("Node".Contains("de")); // Prints true
-    GD.Print("team".Contains("I"));  // Prints false
+    GD.Print("Node".Contains("de")); // Prints True
+    GD.Print("team".Contains("I"));  // Prints False
 
 
 

+ 2 - 2
classes/class_stringname.rst

@@ -490,8 +490,8 @@ Returns ``true`` if the string contains ``what``. In GDScript, this corresponds
 
  .. code-tab:: csharp
 
-    GD.Print("Node".Contains("de")); // Prints true
-    GD.Print("team".Contains("I"));  // Prints false
+    GD.Print("Node".Contains("de")); // Prints True
+    GD.Print("team".Contains("I"));  // Prints False
 
 
 

+ 6 - 6
classes/class_texturebutton.rst

@@ -21,10 +21,10 @@ Description
 
 **TextureButton** has the same functionality as :ref:`Button<class_Button>`, except it uses sprites instead of Godot's :ref:`Theme<class_Theme>` resource. It is faster to create, but it doesn't support localization like more complex :ref:`Control<class_Control>`\ s.
 
-The "normal" state must contain a texture (:ref:`texture_normal<class_TextureButton_property_texture_normal>`); other textures are optional.
-
 See also :ref:`BaseButton<class_BaseButton>` which contains common properties and methods associated with this node.
 
+\ **Note:** Setting a texture for the "normal" state (:ref:`texture_normal<class_TextureButton_property_texture_normal>`) is recommended. If :ref:`texture_normal<class_TextureButton_property_texture_normal>` is not set, the **TextureButton** will still receive input events and be clickable, but the user will not be able to see it unless they activate another one of its states with a texture assigned (e.g., hover over it to show :ref:`texture_hover<class_TextureButton_property_texture_hover>`).
+
 .. rst-class:: classref-introduction-group
 
 Tutorials
@@ -238,7 +238,7 @@ Pure black and white :ref:`BitMap<class_BitMap>` image to use for click detectio
 - |void| **set_texture_disabled**\ (\ value\: :ref:`Texture2D<class_Texture2D>`\ )
 - :ref:`Texture2D<class_Texture2D>` **get_texture_disabled**\ (\ )
 
-Texture to display when the node is disabled. See :ref:`BaseButton.disabled<class_BaseButton_property_disabled>`.
+Texture to display when the node is disabled. See :ref:`BaseButton.disabled<class_BaseButton_property_disabled>`. If not assigned, the **TextureButton** displays :ref:`texture_normal<class_TextureButton_property_texture_normal>` instead.
 
 .. rst-class:: classref-item-separator
 
@@ -255,7 +255,7 @@ Texture to display when the node is disabled. See :ref:`BaseButton.disabled<clas
 - |void| **set_texture_focused**\ (\ value\: :ref:`Texture2D<class_Texture2D>`\ )
 - :ref:`Texture2D<class_Texture2D>` **get_texture_focused**\ (\ )
 
-Texture to display when the node has mouse or keyboard focus. :ref:`texture_focused<class_TextureButton_property_texture_focused>` is displayed *over* the base texture, so a partially transparent texture should be used to ensure the base texture remains visible. A texture that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a fully transparent texture of any size. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
+Texture to *overlay on the base texture* when the node has mouse or keyboard focus. Because :ref:`texture_focused<class_TextureButton_property_texture_focused>` is displayed on top of the base texture, a partially transparent texture should be used to ensure the base texture remains visible. A texture that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a fully transparent texture of any size. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
 
 .. rst-class:: classref-item-separator
 
@@ -272,7 +272,7 @@ Texture to display when the node has mouse or keyboard focus. :ref:`texture_focu
 - |void| **set_texture_hover**\ (\ value\: :ref:`Texture2D<class_Texture2D>`\ )
 - :ref:`Texture2D<class_Texture2D>` **get_texture_hover**\ (\ )
 
-Texture to display when the mouse hovers the node.
+Texture to display when the mouse hovers over the node. If not assigned, the **TextureButton** displays :ref:`texture_normal<class_TextureButton_property_texture_normal>` instead when hovered over.
 
 .. rst-class:: classref-item-separator
 
@@ -306,7 +306,7 @@ Texture to display by default, when the node is **not** in the disabled, hover o
 - |void| **set_texture_pressed**\ (\ value\: :ref:`Texture2D<class_Texture2D>`\ )
 - :ref:`Texture2D<class_Texture2D>` **get_texture_pressed**\ (\ )
 
-Texture to display on mouse down over the node, if the node has keyboard focus and the player presses the Enter key or if the player presses the :ref:`BaseButton.shortcut<class_BaseButton_property_shortcut>` key.
+Texture to display on mouse down over the node, if the node has keyboard focus and the player presses the Enter key or if the player presses the :ref:`BaseButton.shortcut<class_BaseButton_property_shortcut>` key. If not assigned, the **TextureButton** displays :ref:`texture_hover<class_TextureButton_property_texture_hover>` instead when pressed.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 1 - 1
classes/class_transform2d.rst

@@ -434,7 +434,7 @@ Returns the length of both :ref:`x<class_Transform2D_property_x>` and :ref:`y<cl
     # Rotating the Transform2D in any way preserves its scale.
     my_transform = my_transform.rotated(TAU / 2)
     
-    print(my_transform.get_scale()) # Prints (2, 4)
+    print(my_transform.get_scale()) # Prints (2.0, 4.0)
 
  .. code-tab:: csharp
 

+ 8 - 8
classes/class_vector2.rst

@@ -673,9 +673,9 @@ Creates a unit **Vector2** rotated to the given ``angle`` in radians. This is eq
 
 ::
 
-    print(Vector2.from_angle(0)) # Prints (1, 0).
-    print(Vector2(1, 0).angle()) # Prints 0, which is the angle used above.
-    print(Vector2.from_angle(PI / 2)) # Prints (0, 1).
+    print(Vector2.from_angle(0)) # Prints (1.0, 0.0).
+    print(Vector2(1, 0).angle()) # Prints 0.0, which is the angle used above.
+    print(Vector2.from_angle(PI / 2)) # Prints (0.0, 1.0).
 
 .. rst-class:: classref-item-separator
 
@@ -775,7 +775,7 @@ Returns the result of the linear interpolation between this vector and ``to`` by
 
 :ref:`Vector2<class_Vector2>` **limit_length**\ (\ length\: :ref:`float<class_float>` = 1.0\ ) |const| :ref:`🔗<class_Vector2_method_limit_length>`
 
-Returns the vector with a maximum length by limiting its length to ``length``.
+Returns the vector with a maximum length by limiting its length to ``length``. If the vector is non-finite, the result is undefined.
 
 .. rst-class:: classref-item-separator
 
@@ -1078,7 +1078,7 @@ Multiplies each component of the **Vector2** by the components of the given **Ve
 
 ::
 
-    print(Vector2(10, 20) * Vector2(3, 4)) # Prints "(30, 80)"
+    print(Vector2(10, 20) * Vector2(3, 4)) # Prints (30.0, 80.0)
 
 .. rst-class:: classref-item-separator
 
@@ -1118,7 +1118,7 @@ Adds each component of the **Vector2** by the components of the given **Vector2*
 
 ::
 
-    print(Vector2(10, 20) + Vector2(3, 4)) # Prints "(13, 24)"
+    print(Vector2(10, 20) + Vector2(3, 4)) # Prints (13.0, 24.0)
 
 .. rst-class:: classref-item-separator
 
@@ -1134,7 +1134,7 @@ Subtracts each component of the **Vector2** by the components of the given **Vec
 
 ::
 
-    print(Vector2(10, 20) - Vector2(3, 4)) # Prints "(7, 16)"
+    print(Vector2(10, 20) - Vector2(3, 4)) # Prints (7.0, 16.0)
 
 .. rst-class:: classref-item-separator
 
@@ -1150,7 +1150,7 @@ Divides each component of the **Vector2** by the components of the given **Vecto
 
 ::
 
-    print(Vector2(10, 20) / Vector2(2, 5)) # Prints "(5, 4)"
+    print(Vector2(10, 20) / Vector2(2, 5)) # Prints (5.0, 4.0)
 
 .. rst-class:: classref-item-separator
 

+ 8 - 8
classes/class_vector2i.rst

@@ -582,7 +582,7 @@ Gets the remainder of each component of the **Vector2i** with the components of
 
 ::
 
-    print(Vector2i(10, -20) % Vector2i(7, 8)) # Prints "(3, -4)"
+    print(Vector2i(10, -20) % Vector2i(7, 8)) # Prints (3, -4)
 
 .. rst-class:: classref-item-separator
 
@@ -598,7 +598,7 @@ Gets the remainder of each component of the **Vector2i** with the given :ref:`in
 
 ::
 
-    print(Vector2i(10, -20) % 7) # Prints "(3, -6)"
+    print(Vector2i(10, -20) % 7) # Prints (3, -6)
 
 .. rst-class:: classref-item-separator
 
@@ -614,7 +614,7 @@ Multiplies each component of the **Vector2i** by the components of the given **V
 
 ::
 
-    print(Vector2i(10, 20) * Vector2i(3, 4)) # Prints "(30, 80)"
+    print(Vector2i(10, 20) * Vector2i(3, 4)) # Prints (30, 80)
 
 .. rst-class:: classref-item-separator
 
@@ -630,7 +630,7 @@ Multiplies each component of the **Vector2i** by the given :ref:`float<class_flo
 
 ::
 
-    print(Vector2i(10, 15) * 0.9) # Prints "(9, 13.5)"
+    print(Vector2i(10, 15) * 0.9) # Prints (9.0, 13.5)
 
 .. rst-class:: classref-item-separator
 
@@ -658,7 +658,7 @@ Adds each component of the **Vector2i** by the components of the given **Vector2
 
 ::
 
-    print(Vector2i(10, 20) + Vector2i(3, 4)) # Prints "(13, 24)"
+    print(Vector2i(10, 20) + Vector2i(3, 4)) # Prints (13, 24)
 
 .. rst-class:: classref-item-separator
 
@@ -674,7 +674,7 @@ Subtracts each component of the **Vector2i** by the components of the given **Ve
 
 ::
 
-    print(Vector2i(10, 20) - Vector2i(3, 4)) # Prints "(7, 16)"
+    print(Vector2i(10, 20) - Vector2i(3, 4)) # Prints (7, 16)
 
 .. rst-class:: classref-item-separator
 
@@ -690,7 +690,7 @@ Divides each component of the **Vector2i** by the components of the given **Vect
 
 ::
 
-    print(Vector2i(10, 20) / Vector2i(2, 5)) # Prints "(5, 4)"
+    print(Vector2i(10, 20) / Vector2i(2, 5)) # Prints (5, 4)
 
 .. rst-class:: classref-item-separator
 
@@ -706,7 +706,7 @@ Divides each component of the **Vector2i** by the given :ref:`float<class_float>
 
 ::
 
-    print(Vector2i(10, 20) / 2.9) # Prints "(5, 10)"
+    print(Vector2i(10, 20) / 2.9) # Prints (5.0, 10.0)
 
 .. rst-class:: classref-item-separator
 

+ 5 - 5
classes/class_vector3.rst

@@ -809,7 +809,7 @@ Returns the result of the linear interpolation between this vector and ``to`` by
 
 :ref:`Vector3<class_Vector3>` **limit_length**\ (\ length\: :ref:`float<class_float>` = 1.0\ ) |const| :ref:`🔗<class_Vector3_method_limit_length>`
 
-Returns the vector with a maximum length by limiting its length to ``length``.
+Returns the vector with a maximum length by limiting its length to ``length``. If the vector is non-finite, the result is undefined.
 
 .. rst-class:: classref-item-separator
 
@@ -1182,7 +1182,7 @@ Multiplies each component of the **Vector3** by the components of the given **Ve
 
 ::
 
-    print(Vector3(10, 20, 30) * Vector3(3, 4, 5)) # Prints "(30, 80, 150)"
+    print(Vector3(10, 20, 30) * Vector3(3, 4, 5)) # Prints (30.0, 80.0, 150.0)
 
 .. rst-class:: classref-item-separator
 
@@ -1222,7 +1222,7 @@ Adds each component of the **Vector3** by the components of the given **Vector3*
 
 ::
 
-    print(Vector3(10, 20, 30) + Vector3(3, 4, 5)) # Prints "(13, 24, 35)"
+    print(Vector3(10, 20, 30) + Vector3(3, 4, 5)) # Prints (13.0, 24.0, 35.0)
 
 .. rst-class:: classref-item-separator
 
@@ -1238,7 +1238,7 @@ Subtracts each component of the **Vector3** by the components of the given **Vec
 
 ::
 
-    print(Vector3(10, 20, 30) - Vector3(3, 4, 5)) # Prints "(7, 16, 25)"
+    print(Vector3(10, 20, 30) - Vector3(3, 4, 5)) # Prints (7.0, 16.0, 25.0)
 
 .. rst-class:: classref-item-separator
 
@@ -1254,7 +1254,7 @@ Divides each component of the **Vector3** by the components of the given **Vecto
 
 ::
 
-    print(Vector3(10, 20, 30) / Vector3(2, 5, 3)) # Prints "(5, 4, 10)"
+    print(Vector3(10, 20, 30) / Vector3(2, 5, 3)) # Prints (5.0, 4.0, 10.0)
 
 .. rst-class:: classref-item-separator
 

+ 8 - 8
classes/class_vector3i.rst

@@ -606,7 +606,7 @@ Gets the remainder of each component of the **Vector3i** with the components of
 
 ::
 
-    print(Vector3i(10, -20, 30) % Vector3i(7, 8, 9)) # Prints "(3, -4, 3)"
+    print(Vector3i(10, -20, 30) % Vector3i(7, 8, 9)) # Prints (3, -4, 3)
 
 .. rst-class:: classref-item-separator
 
@@ -622,7 +622,7 @@ Gets the remainder of each component of the **Vector3i** with the given :ref:`in
 
 ::
 
-    print(Vector3i(10, -20, 30) % 7) # Prints "(3, -6, 2)"
+    print(Vector3i(10, -20, 30) % 7) # Prints (3, -6, 2)
 
 .. rst-class:: classref-item-separator
 
@@ -638,7 +638,7 @@ Multiplies each component of the **Vector3i** by the components of the given **V
 
 ::
 
-    print(Vector3i(10, 20, 30) * Vector3i(3, 4, 5)) # Prints "(30, 80, 150)"
+    print(Vector3i(10, 20, 30) * Vector3i(3, 4, 5)) # Prints (30, 80, 150)
 
 .. rst-class:: classref-item-separator
 
@@ -654,7 +654,7 @@ Multiplies each component of the **Vector3i** by the given :ref:`float<class_flo
 
 ::
 
-    print(Vector3i(10, 15, 20) * 0.9) # Prints "(9, 13.5, 18)"
+    print(Vector3i(10, 15, 20) * 0.9) # Prints (9.0, 13.5, 18.0)
 
 .. rst-class:: classref-item-separator
 
@@ -682,7 +682,7 @@ Adds each component of the **Vector3i** by the components of the given **Vector3
 
 ::
 
-    print(Vector3i(10, 20, 30) + Vector3i(3, 4, 5)) # Prints "(13, 24, 35)"
+    print(Vector3i(10, 20, 30) + Vector3i(3, 4, 5)) # Prints (13, 24, 35)
 
 .. rst-class:: classref-item-separator
 
@@ -698,7 +698,7 @@ Subtracts each component of the **Vector3i** by the components of the given **Ve
 
 ::
 
-    print(Vector3i(10, 20, 30) - Vector3i(3, 4, 5)) # Prints "(7, 16, 25)"
+    print(Vector3i(10, 20, 30) - Vector3i(3, 4, 5)) # Prints (7, 16, 25)
 
 .. rst-class:: classref-item-separator
 
@@ -714,7 +714,7 @@ Divides each component of the **Vector3i** by the components of the given **Vect
 
 ::
 
-    print(Vector3i(10, 20, 30) / Vector3i(2, 5, 3)) # Prints "(5, 4, 10)"
+    print(Vector3i(10, 20, 30) / Vector3i(2, 5, 3)) # Prints (5, 4, 10)
 
 .. rst-class:: classref-item-separator
 
@@ -730,7 +730,7 @@ Divides each component of the **Vector3i** by the given :ref:`float<class_float>
 
 ::
 
-    print(Vector3i(10, 20, 30) / 2.9) # Prints "(5, 10, 15)"
+    print(Vector3i(10, 20, 30) / 2.9) # Prints (5.0, 10.0, 15.0)
 
 .. rst-class:: classref-item-separator
 

+ 6 - 6
classes/class_vector4.rst

@@ -809,7 +809,7 @@ Multiplies each component of the **Vector4** by the components of the given **Ve
 
 ::
 
-    print(Vector4(10, 20, 30, 40) * Vector4(3, 4, 5, 6)) # Prints "(30, 80, 150, 240)"
+    print(Vector4(10, 20, 30, 40) * Vector4(3, 4, 5, 6)) # Prints (30.0, 80.0, 150.0, 240.0)
 
 .. rst-class:: classref-item-separator
 
@@ -825,7 +825,7 @@ Multiplies each component of the **Vector4** by the given :ref:`float<class_floa
 
 ::
 
-    print(Vector4(10, 20, 30, 40) * 2) # Prints "(20, 40, 60, 80)"
+    print(Vector4(10, 20, 30, 40) * 2) # Prints (20.0, 40.0, 60.0, 80.0)
 
 .. rst-class:: classref-item-separator
 
@@ -853,7 +853,7 @@ Adds each component of the **Vector4** by the components of the given **Vector4*
 
 ::
 
-    print(Vector4(10, 20, 30, 40) + Vector4(3, 4, 5, 6)) # Prints "(13, 24, 35, 46)"
+    print(Vector4(10, 20, 30, 40) + Vector4(3, 4, 5, 6)) # Prints (13.0, 24.0, 35.0, 46.0)
 
 .. rst-class:: classref-item-separator
 
@@ -869,7 +869,7 @@ Subtracts each component of the **Vector4** by the components of the given **Vec
 
 ::
 
-    print(Vector4(10, 20, 30, 40) - Vector4(3, 4, 5, 6)) # Prints "(7, 16, 25, 34)"
+    print(Vector4(10, 20, 30, 40) - Vector4(3, 4, 5, 6)) # Prints (7.0, 16.0, 25.0, 34.0)
 
 .. rst-class:: classref-item-separator
 
@@ -885,7 +885,7 @@ Divides each component of the **Vector4** by the components of the given **Vecto
 
 ::
 
-    print(Vector4(10, 20, 30, 40) / Vector4(2, 5, 3, 4)) # Prints "(5, 4, 10, 10)"
+    print(Vector4(10, 20, 30, 40) / Vector4(2, 5, 3, 4)) # Prints (5.0, 4.0, 10.0, 10.0)
 
 .. rst-class:: classref-item-separator
 
@@ -901,7 +901,7 @@ Divides each component of the **Vector4** by the given :ref:`float<class_float>`
 
 ::
 
-    print(Vector4(10, 20, 30, 40) / 2 # Prints "(5, 10, 15, 20)"
+    print(Vector4(10, 20, 30, 40) / 2 # Prints (5.0, 10.0, 15.0, 20.0)
 
 .. rst-class:: classref-item-separator
 

+ 8 - 8
classes/class_vector4i.rst

@@ -569,7 +569,7 @@ Gets the remainder of each component of the **Vector4i** with the components of
 
 ::
 
-    print(Vector4i(10, -20, 30, -40) % Vector4i(7, 8, 9, 10))  # Prints "(3, -4, 3, 0)"
+    print(Vector4i(10, -20, 30, -40) % Vector4i(7, 8, 9, 10))  # Prints (3, -4, 3, 0)
 
 .. rst-class:: classref-item-separator
 
@@ -585,7 +585,7 @@ Gets the remainder of each component of the **Vector4i** with the given :ref:`in
 
 ::
 
-    print(Vector4i(10, -20, 30, -40) % 7)  # Prints "(3, -6, 2, -5)"
+    print(Vector4i(10, -20, 30, -40) % 7)  # Prints (3, -6, 2, -5)
 
 .. rst-class:: classref-item-separator
 
@@ -601,7 +601,7 @@ Multiplies each component of the **Vector4i** by the components of the given **V
 
 ::
 
-    print(Vector4i(10, 20, 30, 40) * Vector4i(3, 4, 5, 6)) # Prints "(30, 80, 150, 240)"
+    print(Vector4i(10, 20, 30, 40) * Vector4i(3, 4, 5, 6)) # Prints (30, 80, 150, 240)
 
 .. rst-class:: classref-item-separator
 
@@ -619,7 +619,7 @@ Returns a Vector4 value due to floating-point operations.
 
 ::
 
-    print(Vector4i(10, 20, 30, 40) * 2) # Prints "(20, 40, 60, 80)"
+    print(Vector4i(10, 20, 30, 40) * 2) # Prints (20.0, 40.0, 60.0, 80.0)
 
 .. rst-class:: classref-item-separator
 
@@ -647,7 +647,7 @@ Adds each component of the **Vector4i** by the components of the given **Vector4
 
 ::
 
-    print(Vector4i(10, 20, 30, 40) + Vector4i(3, 4, 5, 6)) # Prints "(13, 24, 35, 46)"
+    print(Vector4i(10, 20, 30, 40) + Vector4i(3, 4, 5, 6)) # Prints (13, 24, 35, 46)
 
 .. rst-class:: classref-item-separator
 
@@ -663,7 +663,7 @@ Subtracts each component of the **Vector4i** by the components of the given **Ve
 
 ::
 
-    print(Vector4i(10, 20, 30, 40) - Vector4i(3, 4, 5, 6)) # Prints "(7, 16, 25, 34)"
+    print(Vector4i(10, 20, 30, 40) - Vector4i(3, 4, 5, 6)) # Prints (7, 16, 25, 34)
 
 .. rst-class:: classref-item-separator
 
@@ -679,7 +679,7 @@ Divides each component of the **Vector4i** by the components of the given **Vect
 
 ::
 
-    print(Vector4i(10, 20, 30, 40) / Vector4i(2, 5, 3, 4)) # Prints "(5, 4, 10, 10)"
+    print(Vector4i(10, 20, 30, 40) / Vector4i(2, 5, 3, 4)) # Prints (5, 4, 10, 10)
 
 .. rst-class:: classref-item-separator
 
@@ -697,7 +697,7 @@ Returns a Vector4 value due to floating-point operations.
 
 ::
 
-    print(Vector4i(10, 20, 30, 40) / 2 # Prints "(5, 10, 15, 20)"
+    print(Vector4i(10, 20, 30, 40) / 2 # Prints (5.0, 10.0, 15.0, 20.0)
 
 .. rst-class:: classref-item-separator
 

+ 32 - 1
classes/class_window.rst

@@ -52,6 +52,8 @@ Properties
    +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
    | :ref:`int<class_int>`                                           | :ref:`current_screen<class_Window_property_current_screen>`                       |                          |
    +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
+   | :ref:`bool<class_bool>`                                         | :ref:`exclude_from_capture<class_Window_property_exclude_from_capture>`           | ``false``                |
+   +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
    | :ref:`bool<class_bool>`                                         | :ref:`exclusive<class_Window_property_exclusive>`                                 | ``false``                |
    +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
    | :ref:`bool<class_bool>`                                         | :ref:`extend_to_title<class_Window_property_extend_to_title>`                     | ``false``                |
@@ -639,11 +641,23 @@ Window style is overridden, forcing sharp corners.
 
 \ **Note:** This flag is implemented only on Windows (11).
 
+.. _class_Window_constant_FLAG_EXCLUDE_FROM_CAPTURE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Flags<enum_Window_Flags>` **FLAG_EXCLUDE_FROM_CAPTURE** = ``9``
+
+Windows is excluded from screenshots taken by :ref:`DisplayServer.screen_get_image<class_DisplayServer_method_screen_get_image>`, :ref:`DisplayServer.screen_get_image_rect<class_DisplayServer_method_screen_get_image_rect>`, and :ref:`DisplayServer.screen_get_pixel<class_DisplayServer_method_screen_get_pixel>`.
+
+\ **Note:** This flag is implemented on macOS and Windows.
+
+\ **Note:** Setting this flag will **NOT** prevent other apps from capturing an image, it should not be used as a security measure.
+
 .. _class_Window_constant_FLAG_MAX:
 
 .. rst-class:: classref-enumeration-constant
 
-:ref:`Flags<enum_Window_Flags>` **FLAG_MAX** = ``9``
+:ref:`Flags<enum_Window_Flags>` **FLAG_MAX** = ``10``
 
 Max value of the :ref:`Flags<enum_Window_Flags>`.
 
@@ -1080,6 +1094,23 @@ The screen the window is currently on.
 
 ----
 
+.. _class_Window_property_exclude_from_capture:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **exclude_from_capture** = ``false`` :ref:`🔗<class_Window_property_exclude_from_capture>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`, enabled\: :ref:`bool<class_bool>`\ )
+- :ref:`bool<class_bool>` **get_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`\ ) |const|
+
+Windows is excluded from screenshots taken by :ref:`DisplayServer.screen_get_image<class_DisplayServer_method_screen_get_image>`, :ref:`DisplayServer.screen_get_image_rect<class_DisplayServer_method_screen_get_image_rect>`, and :ref:`DisplayServer.screen_get_pixel<class_DisplayServer_method_screen_get_pixel>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_Window_property_exclusive:
 
 .. rst-class:: classref-property

+ 12 - 0
classes/index.rst

@@ -174,11 +174,14 @@ Nodes
     class_node3d
     class_occluderinstance3d
     class_omnilight3d
+    class_openxrbindingmodifiereditor
     class_openxrcompositionlayer
     class_openxrcompositionlayercylinder
     class_openxrcompositionlayerequirect
     class_openxrcompositionlayerquad
     class_openxrhand
+    class_openxrinteractionprofileeditor
+    class_openxrinteractionprofileeditorbase
     class_openxrvisibilitymask
     class_optionbutton
     class_panel
@@ -302,6 +305,7 @@ Resources
     class_animationnodeblendspace1d
     class_animationnodeblendspace2d
     class_animationnodeblendtree
+    class_animationnodeextension
     class_animationnodeoneshot
     class_animationnodeoutput
     class_animationnodestatemachine
@@ -374,6 +378,7 @@ Resources
     class_capsuleshape3d
     class_circleshape2d
     class_codehighlighter
+    class_colorpalette
     class_compositor
     class_compositoreffect
     class_compressedcubemap
@@ -477,10 +482,17 @@ Resources
     class_occluderpolygon2d
     class_oggpacketsequence
     class_openxraction
+    class_openxractionbindingmodifier
     class_openxractionmap
     class_openxractionset
+    class_openxranalogthresholdmodifier
+    class_openxrbindingmodifier
+    class_openxrdpadbindingmodifier
+    class_openxrhapticbase
+    class_openxrhapticvibration
     class_openxrinteractionprofile
     class_openxripbinding
+    class_openxripbindingmodifier
     class_optimizedtranslation
     class_ormmaterial3d
     class_packeddatacontainer

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