Browse Source

Merge pull request #11469 from godotengine/classref/sync-ef34c3d

classref: Sync with current master branch (ef34c3d)
Max Hilbrunner 4 weeks ago
parent
commit
d38c980d85
36 changed files with 1384 additions and 215 deletions
  1. 1 1
      classes/[email protected]
  2. 1 1
      classes/class_array.rst
  3. 120 27
      classes/class_boneconstraint3d.rst
  4. 2 0
      classes/class_canvasitem.rst
  5. 3 1
      classes/class_control.rst
  6. 2 0
      classes/class_converttransformmodifier3d.rst
  7. 2 0
      classes/class_copytransformmodifier3d.rst
  8. 184 138
      classes/class_cpuparticles2d.rst
  9. 1 1
      classes/class_editorinterface.rst
  10. 2 0
      classes/class_editorscript.rst
  11. 139 0
      classes/class_editorsettings.rst
  12. 2 2
      classes/class_environment.rst
  13. 84 4
      classes/class_gltfstate.rst
  14. 56 0
      classes/class_graphnode.rst
  15. 47 0
      classes/class_hscrollbar.rst
  16. 3 1
      classes/class_httprequest.rst
  17. 34 0
      classes/class_input.rst
  18. 1 1
      classes/class_jacobianik3d.rst
  19. 279 0
      classes/class_limitangularvelocitymodifier3d.rst
  20. 25 0
      classes/class_node.rst
  21. 2 0
      classes/class_node3d.rst
  22. 3 1
      classes/class_object.rst
  23. 55 13
      classes/class_openxrextensionwrapper.rst
  24. 128 0
      classes/class_openxrframesynthesisextension.rst
  25. 10 4
      classes/class_os.rst
  26. 14 0
      classes/class_popupmenu.rst
  27. 18 0
      classes/class_projectsettings.rst
  28. 32 11
      classes/class_rdvertexattribute.rst
  29. 14 0
      classes/class_renderingdevice.rst
  30. 1 1
      classes/class_skeletonmodifier3d.rst
  31. 1 1
      classes/class_tabbar.rst
  32. 14 4
      classes/class_textserver.rst
  33. 13 3
      classes/class_textserverextension.rst
  34. 42 0
      classes/class_translationserver.rst
  35. 47 0
      classes/class_vscrollbar.rst
  36. 2 0
      classes/index.rst

+ 1 - 1
classes/[email protected]

@@ -6027,7 +6027,7 @@ Returns the :ref:`Object<class_Object>` that corresponds to ``instance_id``. All
     func _ready():
     func _ready():
         var id = get_instance_id()
         var id = get_instance_id()
         var instance = instance_from_id(id)
         var instance = instance_from_id(id)
-        print(instance.foo) # Prints "water"
+        print(instance.drink) # Prints "water"
 
 
  .. code-tab:: csharp
  .. code-tab:: csharp
 
 

+ 1 - 1
classes/class_array.rst

@@ -930,7 +930,7 @@ In GDScript, this is equivalent to the ``in`` operator:
 
 
 Returns a hashed 32-bit integer value representing the array and its contents.
 Returns a hashed 32-bit integer value representing the array and its contents.
 
 
-\ **Note:** Arrays with equal hash values are *not* guaranteed to be the same, as a result of hash collisions. On the countrary, arrays with different hash values are guaranteed to be different.
+\ **Note:** Arrays with equal hash values are *not* guaranteed to be the same, as a result of hash collisions. On the contrary, arrays with different hash values are guaranteed to be different.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 120 - 27
classes/class_boneconstraint3d.rst

@@ -31,33 +31,74 @@ Methods
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                      | :ref:`clear_setting<class_BoneConstraint3D_method_clear_setting>`\ (\ )                                                                                             |
-   +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`   | :ref:`get_amount<class_BoneConstraint3D_method_get_amount>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                                            |
-   +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`       | :ref:`get_apply_bone<class_BoneConstraint3D_method_get_apply_bone>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                                    |
-   +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>` | :ref:`get_apply_bone_name<class_BoneConstraint3D_method_get_apply_bone_name>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                          |
-   +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`       | :ref:`get_reference_bone<class_BoneConstraint3D_method_get_reference_bone>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                            |
-   +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>` | :ref:`get_reference_bone_name<class_BoneConstraint3D_method_get_reference_bone_name>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                  |
-   +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`       | :ref:`get_setting_count<class_BoneConstraint3D_method_get_setting_count>`\ (\ ) |const|                                                                             |
-   +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                      | :ref:`set_amount<class_BoneConstraint3D_method_set_amount>`\ (\ index\: :ref:`int<class_int>`, amount\: :ref:`float<class_float>`\ )                                |
-   +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                      | :ref:`set_apply_bone<class_BoneConstraint3D_method_set_apply_bone>`\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ )                              |
-   +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                      | :ref:`set_apply_bone_name<class_BoneConstraint3D_method_set_apply_bone_name>`\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ )         |
-   +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                      | :ref:`set_reference_bone<class_BoneConstraint3D_method_set_reference_bone>`\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ )                      |
-   +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                      | :ref:`set_reference_bone_name<class_BoneConstraint3D_method_set_reference_bone_name>`\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) |
-   +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                      | :ref:`set_setting_count<class_BoneConstraint3D_method_set_setting_count>`\ (\ count\: :ref:`int<class_int>`\ )                                                      |
-   +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                    | :ref:`clear_setting<class_BoneConstraint3D_method_clear_setting>`\ (\ )                                                                                                            |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                 | :ref:`get_amount<class_BoneConstraint3D_method_get_amount>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                                                           |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                     | :ref:`get_apply_bone<class_BoneConstraint3D_method_get_apply_bone>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                                                   |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                               | :ref:`get_apply_bone_name<class_BoneConstraint3D_method_get_apply_bone_name>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                                         |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                     | :ref:`get_reference_bone<class_BoneConstraint3D_method_get_reference_bone>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                                           |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                               | :ref:`get_reference_bone_name<class_BoneConstraint3D_method_get_reference_bone_name>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                                 |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`NodePath<class_NodePath>`                           | :ref:`get_reference_node<class_BoneConstraint3D_method_get_reference_node>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                                           |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`ReferenceType<enum_BoneConstraint3D_ReferenceType>` | :ref:`get_reference_type<class_BoneConstraint3D_method_get_reference_type>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                                           |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                     | :ref:`get_setting_count<class_BoneConstraint3D_method_get_setting_count>`\ (\ ) |const|                                                                                            |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                    | :ref:`set_amount<class_BoneConstraint3D_method_set_amount>`\ (\ index\: :ref:`int<class_int>`, amount\: :ref:`float<class_float>`\ )                                               |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                    | :ref:`set_apply_bone<class_BoneConstraint3D_method_set_apply_bone>`\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ )                                             |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                    | :ref:`set_apply_bone_name<class_BoneConstraint3D_method_set_apply_bone_name>`\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ )                        |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                    | :ref:`set_reference_bone<class_BoneConstraint3D_method_set_reference_bone>`\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ )                                     |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                    | :ref:`set_reference_bone_name<class_BoneConstraint3D_method_set_reference_bone_name>`\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ )                |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                    | :ref:`set_reference_node<class_BoneConstraint3D_method_set_reference_node>`\ (\ index\: :ref:`int<class_int>`, node\: :ref:`NodePath<class_NodePath>`\ )                           |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                    | :ref:`set_reference_type<class_BoneConstraint3D_method_set_reference_type>`\ (\ index\: :ref:`int<class_int>`, type\: :ref:`ReferenceType<enum_BoneConstraint3D_ReferenceType>`\ ) |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                    | :ref:`set_setting_count<class_BoneConstraint3D_method_set_setting_count>`\ (\ count\: :ref:`int<class_int>`\ )                                                                     |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Enumerations
+------------
+
+.. _enum_BoneConstraint3D_ReferenceType:
+
+.. rst-class:: classref-enumeration
+
+enum **ReferenceType**: :ref:`🔗<enum_BoneConstraint3D_ReferenceType>`
+
+.. _class_BoneConstraint3D_constant_REFERENCE_TYPE_BONE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ReferenceType<enum_BoneConstraint3D_ReferenceType>` **REFERENCE_TYPE_BONE** = ``0``
+
+The reference target is a bone. In this case, the reference target spaces is local space.
+
+.. _class_BoneConstraint3D_constant_REFERENCE_TYPE_NODE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ReferenceType<enum_BoneConstraint3D_ReferenceType>` **REFERENCE_TYPE_NODE** = ``1``
+
+The reference target is a :ref:`Node3D<class_Node3D>`. In this case, the reference target spaces is model space.
+
+In other words, the reference target's coordinates are treated as if it were placed directly under :ref:`Skeleton3D<class_Skeleton3D>` which parent of the **BoneConstraint3D**.
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -144,6 +185,32 @@ This bone will be only referenced and not modified by this modifier.
 
 
 ----
 ----
 
 
+.. _class_BoneConstraint3D_method_get_reference_node:
+
+.. rst-class:: classref-method
+
+:ref:`NodePath<class_NodePath>` **get_reference_node**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_BoneConstraint3D_method_get_reference_node>`
+
+Returns the reference node path of the setting at ``index``.
+
+This node will be only referenced and not modified by this modifier.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_BoneConstraint3D_method_get_reference_type:
+
+.. rst-class:: classref-method
+
+:ref:`ReferenceType<enum_BoneConstraint3D_ReferenceType>` **get_reference_type**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_BoneConstraint3D_method_get_reference_type>`
+
+Returns the reference target type of the setting at ``index``. See also :ref:`ReferenceType<enum_BoneConstraint3D_ReferenceType>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_BoneConstraint3D_method_get_setting_count:
 .. _class_BoneConstraint3D_method_get_setting_count:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -220,6 +287,32 @@ This bone will be only referenced and not modified by this modifier.
 
 
 ----
 ----
 
 
+.. _class_BoneConstraint3D_method_set_reference_node:
+
+.. rst-class:: classref-method
+
+|void| **set_reference_node**\ (\ index\: :ref:`int<class_int>`, node\: :ref:`NodePath<class_NodePath>`\ ) :ref:`🔗<class_BoneConstraint3D_method_set_reference_node>`
+
+Sets the reference node path of the setting at ``index`` to ``node``.
+
+This node will be only referenced and not modified by this modifier.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_BoneConstraint3D_method_set_reference_type:
+
+.. rst-class:: classref-method
+
+|void| **set_reference_type**\ (\ index\: :ref:`int<class_int>`, type\: :ref:`ReferenceType<enum_BoneConstraint3D_ReferenceType>`\ ) :ref:`🔗<class_BoneConstraint3D_method_set_reference_type>`
+
+Sets the reference target type of the setting at ``index`` to ``type``. See also :ref:`ReferenceType<enum_BoneConstraint3D_ReferenceType>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_BoneConstraint3D_method_set_setting_count:
 .. _class_BoneConstraint3D_method_set_setting_count:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 2 - 0
classes/class_canvasitem.rst

@@ -515,6 +515,8 @@ The **CanvasItem** has entered the canvas.
 
 
 The **CanvasItem** has exited the canvas.
 The **CanvasItem** has exited the canvas.
 
 
+This notification is sent in reversed order.
+
 .. _class_CanvasItem_constant_NOTIFICATION_WORLD_2D_CHANGED:
 .. _class_CanvasItem_constant_NOTIFICATION_WORLD_2D_CHANGED:
 
 
 .. rst-class:: classref-constant
 .. rst-class:: classref-constant

+ 3 - 1
classes/class_control.rst

@@ -604,7 +604,7 @@ Prevents the control from receiving mouse input. :ref:`get_mouse_filter_with_ove
 
 
 :ref:`MouseBehaviorRecursive<enum_Control_MouseBehaviorRecursive>` **MOUSE_BEHAVIOR_ENABLED** = ``2``
 :ref:`MouseBehaviorRecursive<enum_Control_MouseBehaviorRecursive>` **MOUSE_BEHAVIOR_ENABLED** = ``2``
 
 
-Allows the control to be receive mouse input, depending on the :ref:`mouse_filter<class_Control_property_mouse_filter>`. This can be used to ignore the parent's :ref:`mouse_behavior_recursive<class_Control_property_mouse_behavior_recursive>`. :ref:`get_mouse_filter_with_override()<class_Control_method_get_mouse_filter_with_override>` will return the :ref:`mouse_filter<class_Control_property_mouse_filter>`.
+Allows the control to receive mouse input, depending on the :ref:`mouse_filter<class_Control_property_mouse_filter>`. This can be used to ignore the parent's :ref:`mouse_behavior_recursive<class_Control_property_mouse_behavior_recursive>`. :ref:`get_mouse_filter_with_override()<class_Control_method_get_mouse_filter_with_override>` will return the :ref:`mouse_filter<class_Control_property_mouse_filter>`.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -1285,6 +1285,8 @@ Sent when the node grabs focus.
 
 
 Sent when the node loses focus.
 Sent when the node loses focus.
 
 
+This notification is sent in reversed order.
+
 .. _class_Control_constant_NOTIFICATION_THEME_CHANGED:
 .. _class_Control_constant_NOTIFICATION_THEME_CHANGED:
 
 
 .. rst-class:: classref-constant
 .. rst-class:: classref-constant

+ 2 - 0
classes/class_converttransformmodifier3d.rst

@@ -39,6 +39,8 @@ There are 4 ways to apply the transform, depending on the combination of :ref:`s
 
 
 - Extract reference pose absolutely and the apply bone's pose is replaced with it.
 - Extract reference pose absolutely and the apply bone's pose is replaced with it.
 
 
+\ **Note:** Relative option is available only in the case :ref:`BoneConstraint3D.get_reference_type()<class_BoneConstraint3D_method_get_reference_type>` is :ref:`BoneConstraint3D.REFERENCE_TYPE_BONE<class_BoneConstraint3D_constant_REFERENCE_TYPE_BONE>`. See also :ref:`ReferenceType<enum_BoneConstraint3D_ReferenceType>`.
+
 .. rst-class:: classref-reftable-group
 .. rst-class:: classref-reftable-group
 
 
 Properties
 Properties

+ 2 - 0
classes/class_copytransformmodifier3d.rst

@@ -39,6 +39,8 @@ There are 4 ways to apply the transform, depending on the combination of :ref:`s
 
 
 - Extract reference pose absolutely and the apply bone's pose is replaced with it.
 - Extract reference pose absolutely and the apply bone's pose is replaced with it.
 
 
+\ **Note:** Relative option is available only in the case :ref:`BoneConstraint3D.get_reference_type()<class_BoneConstraint3D_method_get_reference_type>` is :ref:`BoneConstraint3D.REFERENCE_TYPE_BONE<class_BoneConstraint3D_constant_REFERENCE_TYPE_BONE>`. See also :ref:`ReferenceType<enum_BoneConstraint3D_ReferenceType>`.
+
 .. rst-class:: classref-reftable-group
 .. rst-class:: classref-reftable-group
 
 
 Properties
 Properties

+ 184 - 138
classes/class_cpuparticles2d.rst

@@ -38,143 +38,147 @@ Properties
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                                               | :ref:`amount<class_CPUParticles2D_property_amount>`                                 | ``8``                                                                         |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Curve<class_Curve>`                                           | :ref:`angle_curve<class_CPUParticles2D_property_angle_curve>`                       |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`angle_max<class_CPUParticles2D_property_angle_max>`                           | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`angle_min<class_CPUParticles2D_property_angle_min>`                           | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Curve<class_Curve>`                                           | :ref:`angular_velocity_curve<class_CPUParticles2D_property_angular_velocity_curve>` |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`angular_velocity_max<class_CPUParticles2D_property_angular_velocity_max>`     | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`angular_velocity_min<class_CPUParticles2D_property_angular_velocity_min>`     | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Curve<class_Curve>`                                           | :ref:`anim_offset_curve<class_CPUParticles2D_property_anim_offset_curve>`           |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`anim_offset_max<class_CPUParticles2D_property_anim_offset_max>`               | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`anim_offset_min<class_CPUParticles2D_property_anim_offset_min>`               | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Curve<class_Curve>`                                           | :ref:`anim_speed_curve<class_CPUParticles2D_property_anim_speed_curve>`             |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`anim_speed_max<class_CPUParticles2D_property_anim_speed_max>`                 | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`anim_speed_min<class_CPUParticles2D_property_anim_speed_min>`                 | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Color<class_Color>`                                           | :ref:`color<class_CPUParticles2D_property_color>`                                   | ``Color(1, 1, 1, 1)``                                                         |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Gradient<class_Gradient>`                                     | :ref:`color_initial_ramp<class_CPUParticles2D_property_color_initial_ramp>`         |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Gradient<class_Gradient>`                                     | :ref:`color_ramp<class_CPUParticles2D_property_color_ramp>`                         |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Curve<class_Curve>`                                           | :ref:`damping_curve<class_CPUParticles2D_property_damping_curve>`                   |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`damping_max<class_CPUParticles2D_property_damping_max>`                       | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`damping_min<class_CPUParticles2D_property_damping_min>`                       | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Vector2<class_Vector2>`                                       | :ref:`direction<class_CPUParticles2D_property_direction>`                           | ``Vector2(1, 0)``                                                             |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`DrawOrder<enum_CPUParticles2D_DrawOrder>`                     | :ref:`draw_order<class_CPUParticles2D_property_draw_order>`                         | ``0``                                                                         |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`PackedColorArray<class_PackedColorArray>`                     | :ref:`emission_colors<class_CPUParticles2D_property_emission_colors>`               |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`PackedVector2Array<class_PackedVector2Array>`                 | :ref:`emission_normals<class_CPUParticles2D_property_emission_normals>`             |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`PackedVector2Array<class_PackedVector2Array>`                 | :ref:`emission_points<class_CPUParticles2D_property_emission_points>`               |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Vector2<class_Vector2>`                                       | :ref:`emission_rect_extents<class_CPUParticles2D_property_emission_rect_extents>`   |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>`             | :ref:`emission_shape<class_CPUParticles2D_property_emission_shape>`                 | ``0``                                                                         |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`emission_sphere_radius<class_CPUParticles2D_property_emission_sphere_radius>` |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                             | :ref:`emitting<class_CPUParticles2D_property_emitting>`                             | ``true``                                                                      |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`explosiveness<class_CPUParticles2D_property_explosiveness>`                   | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                                               | :ref:`fixed_fps<class_CPUParticles2D_property_fixed_fps>`                           | ``0``                                                                         |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                             | :ref:`fract_delta<class_CPUParticles2D_property_fract_delta>`                       | ``true``                                                                      |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Vector2<class_Vector2>`                                       | :ref:`gravity<class_CPUParticles2D_property_gravity>`                               | ``Vector2(0, 980)``                                                           |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Curve<class_Curve>`                                           | :ref:`hue_variation_curve<class_CPUParticles2D_property_hue_variation_curve>`       |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`hue_variation_max<class_CPUParticles2D_property_hue_variation_max>`           | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`hue_variation_min<class_CPUParticles2D_property_hue_variation_min>`           | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`initial_velocity_max<class_CPUParticles2D_property_initial_velocity_max>`     | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`initial_velocity_min<class_CPUParticles2D_property_initial_velocity_min>`     | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`lifetime<class_CPUParticles2D_property_lifetime>`                             | ``1.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`lifetime_randomness<class_CPUParticles2D_property_lifetime_randomness>`       | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Curve<class_Curve>`                                           | :ref:`linear_accel_curve<class_CPUParticles2D_property_linear_accel_curve>`         |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`linear_accel_max<class_CPUParticles2D_property_linear_accel_max>`             | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`linear_accel_min<class_CPUParticles2D_property_linear_accel_min>`             | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                             | :ref:`local_coords<class_CPUParticles2D_property_local_coords>`                     | ``false``                                                                     |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                             | :ref:`one_shot<class_CPUParticles2D_property_one_shot>`                             | ``false``                                                                     |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Curve<class_Curve>`                                           | :ref:`orbit_velocity_curve<class_CPUParticles2D_property_orbit_velocity_curve>`     |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`orbit_velocity_max<class_CPUParticles2D_property_orbit_velocity_max>`         | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`orbit_velocity_min<class_CPUParticles2D_property_orbit_velocity_min>`         | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                             | :ref:`particle_flag_align_y<class_CPUParticles2D_property_particle_flag_align_y>`   | ``false``                                                                     |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`PhysicsInterpolationMode<enum_Node_PhysicsInterpolationMode>` | physics_interpolation_mode                                                          | ``2`` (overrides :ref:`Node<class_Node_property_physics_interpolation_mode>`) |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`preprocess<class_CPUParticles2D_property_preprocess>`                         | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Curve<class_Curve>`                                           | :ref:`radial_accel_curve<class_CPUParticles2D_property_radial_accel_curve>`         |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`radial_accel_max<class_CPUParticles2D_property_radial_accel_max>`             | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`radial_accel_min<class_CPUParticles2D_property_radial_accel_min>`             | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`randomness<class_CPUParticles2D_property_randomness>`                         | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Curve<class_Curve>`                                           | :ref:`scale_amount_curve<class_CPUParticles2D_property_scale_amount_curve>`         |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`scale_amount_max<class_CPUParticles2D_property_scale_amount_max>`             | ``1.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`scale_amount_min<class_CPUParticles2D_property_scale_amount_min>`             | ``1.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Curve<class_Curve>`                                           | :ref:`scale_curve_x<class_CPUParticles2D_property_scale_curve_x>`                   |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Curve<class_Curve>`                                           | :ref:`scale_curve_y<class_CPUParticles2D_property_scale_curve_y>`                   |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                                               | :ref:`seed<class_CPUParticles2D_property_seed>`                                     | ``0``                                                                         |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`speed_scale<class_CPUParticles2D_property_speed_scale>`                       | ``1.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                             | :ref:`split_scale<class_CPUParticles2D_property_split_scale>`                       | ``false``                                                                     |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`spread<class_CPUParticles2D_property_spread>`                                 | ``45.0``                                                                      |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Curve<class_Curve>`                                           | :ref:`tangential_accel_curve<class_CPUParticles2D_property_tangential_accel_curve>` |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`tangential_accel_max<class_CPUParticles2D_property_tangential_accel_max>`     | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`tangential_accel_min<class_CPUParticles2D_property_tangential_accel_min>`     | ``0.0``                                                                       |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`Texture2D<class_Texture2D>`                                   | :ref:`texture<class_CPUParticles2D_property_texture>`                               |                                                                               |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                             | :ref:`use_fixed_seed<class_CPUParticles2D_property_use_fixed_seed>`                 | ``false``                                                                     |
-   +---------------------------------------------------------------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                               | :ref:`amount<class_CPUParticles2D_property_amount>`                                         | ``8``                                                                         |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Curve<class_Curve>`                                           | :ref:`angle_curve<class_CPUParticles2D_property_angle_curve>`                               |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`angle_max<class_CPUParticles2D_property_angle_max>`                                   | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`angle_min<class_CPUParticles2D_property_angle_min>`                                   | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Curve<class_Curve>`                                           | :ref:`angular_velocity_curve<class_CPUParticles2D_property_angular_velocity_curve>`         |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`angular_velocity_max<class_CPUParticles2D_property_angular_velocity_max>`             | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`angular_velocity_min<class_CPUParticles2D_property_angular_velocity_min>`             | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Curve<class_Curve>`                                           | :ref:`anim_offset_curve<class_CPUParticles2D_property_anim_offset_curve>`                   |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`anim_offset_max<class_CPUParticles2D_property_anim_offset_max>`                       | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`anim_offset_min<class_CPUParticles2D_property_anim_offset_min>`                       | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Curve<class_Curve>`                                           | :ref:`anim_speed_curve<class_CPUParticles2D_property_anim_speed_curve>`                     |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`anim_speed_max<class_CPUParticles2D_property_anim_speed_max>`                         | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`anim_speed_min<class_CPUParticles2D_property_anim_speed_min>`                         | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Color<class_Color>`                                           | :ref:`color<class_CPUParticles2D_property_color>`                                           | ``Color(1, 1, 1, 1)``                                                         |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Gradient<class_Gradient>`                                     | :ref:`color_initial_ramp<class_CPUParticles2D_property_color_initial_ramp>`                 |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Gradient<class_Gradient>`                                     | :ref:`color_ramp<class_CPUParticles2D_property_color_ramp>`                                 |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Curve<class_Curve>`                                           | :ref:`damping_curve<class_CPUParticles2D_property_damping_curve>`                           |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`damping_max<class_CPUParticles2D_property_damping_max>`                               | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`damping_min<class_CPUParticles2D_property_damping_min>`                               | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Vector2<class_Vector2>`                                       | :ref:`direction<class_CPUParticles2D_property_direction>`                                   | ``Vector2(1, 0)``                                                             |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`DrawOrder<enum_CPUParticles2D_DrawOrder>`                     | :ref:`draw_order<class_CPUParticles2D_property_draw_order>`                                 | ``0``                                                                         |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`PackedColorArray<class_PackedColorArray>`                     | :ref:`emission_colors<class_CPUParticles2D_property_emission_colors>`                       |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`PackedVector2Array<class_PackedVector2Array>`                 | :ref:`emission_normals<class_CPUParticles2D_property_emission_normals>`                     |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`PackedVector2Array<class_PackedVector2Array>`                 | :ref:`emission_points<class_CPUParticles2D_property_emission_points>`                       |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Vector2<class_Vector2>`                                       | :ref:`emission_rect_extents<class_CPUParticles2D_property_emission_rect_extents>`           |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`emission_ring_inner_radius<class_CPUParticles2D_property_emission_ring_inner_radius>` |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`emission_ring_radius<class_CPUParticles2D_property_emission_ring_radius>`             |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>`             | :ref:`emission_shape<class_CPUParticles2D_property_emission_shape>`                         | ``0``                                                                         |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`emission_sphere_radius<class_CPUParticles2D_property_emission_sphere_radius>`         |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                             | :ref:`emitting<class_CPUParticles2D_property_emitting>`                                     | ``true``                                                                      |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`explosiveness<class_CPUParticles2D_property_explosiveness>`                           | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                               | :ref:`fixed_fps<class_CPUParticles2D_property_fixed_fps>`                                   | ``0``                                                                         |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                             | :ref:`fract_delta<class_CPUParticles2D_property_fract_delta>`                               | ``true``                                                                      |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Vector2<class_Vector2>`                                       | :ref:`gravity<class_CPUParticles2D_property_gravity>`                                       | ``Vector2(0, 980)``                                                           |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Curve<class_Curve>`                                           | :ref:`hue_variation_curve<class_CPUParticles2D_property_hue_variation_curve>`               |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`hue_variation_max<class_CPUParticles2D_property_hue_variation_max>`                   | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`hue_variation_min<class_CPUParticles2D_property_hue_variation_min>`                   | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`initial_velocity_max<class_CPUParticles2D_property_initial_velocity_max>`             | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`initial_velocity_min<class_CPUParticles2D_property_initial_velocity_min>`             | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`lifetime<class_CPUParticles2D_property_lifetime>`                                     | ``1.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`lifetime_randomness<class_CPUParticles2D_property_lifetime_randomness>`               | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Curve<class_Curve>`                                           | :ref:`linear_accel_curve<class_CPUParticles2D_property_linear_accel_curve>`                 |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`linear_accel_max<class_CPUParticles2D_property_linear_accel_max>`                     | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`linear_accel_min<class_CPUParticles2D_property_linear_accel_min>`                     | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                             | :ref:`local_coords<class_CPUParticles2D_property_local_coords>`                             | ``false``                                                                     |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                             | :ref:`one_shot<class_CPUParticles2D_property_one_shot>`                                     | ``false``                                                                     |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Curve<class_Curve>`                                           | :ref:`orbit_velocity_curve<class_CPUParticles2D_property_orbit_velocity_curve>`             |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`orbit_velocity_max<class_CPUParticles2D_property_orbit_velocity_max>`                 | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`orbit_velocity_min<class_CPUParticles2D_property_orbit_velocity_min>`                 | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                             | :ref:`particle_flag_align_y<class_CPUParticles2D_property_particle_flag_align_y>`           | ``false``                                                                     |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`PhysicsInterpolationMode<enum_Node_PhysicsInterpolationMode>` | physics_interpolation_mode                                                                  | ``2`` (overrides :ref:`Node<class_Node_property_physics_interpolation_mode>`) |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`preprocess<class_CPUParticles2D_property_preprocess>`                                 | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Curve<class_Curve>`                                           | :ref:`radial_accel_curve<class_CPUParticles2D_property_radial_accel_curve>`                 |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`radial_accel_max<class_CPUParticles2D_property_radial_accel_max>`                     | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`radial_accel_min<class_CPUParticles2D_property_radial_accel_min>`                     | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`randomness<class_CPUParticles2D_property_randomness>`                                 | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Curve<class_Curve>`                                           | :ref:`scale_amount_curve<class_CPUParticles2D_property_scale_amount_curve>`                 |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`scale_amount_max<class_CPUParticles2D_property_scale_amount_max>`                     | ``1.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`scale_amount_min<class_CPUParticles2D_property_scale_amount_min>`                     | ``1.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Curve<class_Curve>`                                           | :ref:`scale_curve_x<class_CPUParticles2D_property_scale_curve_x>`                           |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Curve<class_Curve>`                                           | :ref:`scale_curve_y<class_CPUParticles2D_property_scale_curve_y>`                           |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                               | :ref:`seed<class_CPUParticles2D_property_seed>`                                             | ``0``                                                                         |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`speed_scale<class_CPUParticles2D_property_speed_scale>`                               | ``1.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                             | :ref:`split_scale<class_CPUParticles2D_property_split_scale>`                               | ``false``                                                                     |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`spread<class_CPUParticles2D_property_spread>`                                         | ``45.0``                                                                      |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Curve<class_Curve>`                                           | :ref:`tangential_accel_curve<class_CPUParticles2D_property_tangential_accel_curve>`         |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`tangential_accel_max<class_CPUParticles2D_property_tangential_accel_max>`             | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                           | :ref:`tangential_accel_min<class_CPUParticles2D_property_tangential_accel_min>`             | ``0.0``                                                                       |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`Texture2D<class_Texture2D>`                                   | :ref:`texture<class_CPUParticles2D_property_texture>`                                       |                                                                               |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                             | :ref:`use_fixed_seed<class_CPUParticles2D_property_use_fixed_seed>`                         | ``false``                                                                     |
+   +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
 
 
 .. rst-class:: classref-reftable-group
 .. rst-class:: classref-reftable-group
 
 
@@ -470,11 +474,19 @@ Particles will be emitted at a position chosen randomly among :ref:`emission_poi
 
 
 Particles will be emitted at a position chosen randomly among :ref:`emission_points<class_CPUParticles2D_property_emission_points>`. Particle velocity and rotation will be set based on :ref:`emission_normals<class_CPUParticles2D_property_emission_normals>`. Particle color will be modulated by :ref:`emission_colors<class_CPUParticles2D_property_emission_colors>`.
 Particles will be emitted at a position chosen randomly among :ref:`emission_points<class_CPUParticles2D_property_emission_points>`. Particle velocity and rotation will be set based on :ref:`emission_normals<class_CPUParticles2D_property_emission_normals>`. Particle color will be modulated by :ref:`emission_colors<class_CPUParticles2D_property_emission_colors>`.
 
 
+.. _class_CPUParticles2D_constant_EMISSION_SHAPE_RING:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` **EMISSION_SHAPE_RING** = ``6``
+
+Particles will be emitted in the area of a ring parameterized by its outer and inner radius.
+
 .. _class_CPUParticles2D_constant_EMISSION_SHAPE_MAX:
 .. _class_CPUParticles2D_constant_EMISSION_SHAPE_MAX:
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` **EMISSION_SHAPE_MAX** = ``6``
+:ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` **EMISSION_SHAPE_MAX** = ``7``
 
 
 Represents the size of the :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` enum.
 Represents the size of the :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` enum.
 
 
@@ -920,6 +932,40 @@ The rectangle's extents if :ref:`emission_shape<class_CPUParticles2D_property_em
 
 
 ----
 ----
 
 
+.. _class_CPUParticles2D_property_emission_ring_inner_radius:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **emission_ring_inner_radius** :ref:`🔗<class_CPUParticles2D_property_emission_ring_inner_radius>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_emission_ring_inner_radius**\ (\ value\: :ref:`float<class_float>`\ )
+- :ref:`float<class_float>` **get_emission_ring_inner_radius**\ (\ )
+
+The ring's inner radius if :ref:`emission_shape<class_CPUParticles2D_property_emission_shape>` is set to :ref:`EMISSION_SHAPE_RING<class_CPUParticles2D_constant_EMISSION_SHAPE_RING>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_CPUParticles2D_property_emission_ring_radius:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **emission_ring_radius** :ref:`🔗<class_CPUParticles2D_property_emission_ring_radius>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_emission_ring_radius**\ (\ value\: :ref:`float<class_float>`\ )
+- :ref:`float<class_float>` **get_emission_ring_radius**\ (\ )
+
+The ring's outer radius if :ref:`emission_shape<class_CPUParticles2D_property_emission_shape>` is set to :ref:`EMISSION_SHAPE_RING<class_CPUParticles2D_constant_EMISSION_SHAPE_RING>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_CPUParticles2D_property_emission_shape:
 .. _class_CPUParticles2D_property_emission_shape:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property

+ 1 - 1
classes/class_editorinterface.rst

@@ -815,7 +815,7 @@ Plays the main scene.
 
 
 Pops up an editor dialog for creating an object.
 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 ``callback`` must take a single argument of type :ref:`String<class_String>`, which will contain the type name of the selected object (or the script path of the type, if the type is created from a script), or be an empty string 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 ``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.
 
 

+ 2 - 0
classes/class_editorscript.rst

@@ -128,6 +128,8 @@ Returns the :ref:`EditorInterface<class_EditorInterface>` singleton instance.
 
 
 :ref:`Node<class_Node>` **get_scene**\ (\ ) |const| :ref:`🔗<class_EditorScript_method_get_scene>`
 :ref:`Node<class_Node>` **get_scene**\ (\ ) |const| :ref:`🔗<class_EditorScript_method_get_scene>`
 
 
+**Deprecated:** Use :ref:`EditorInterface.get_edited_scene_root()<class_EditorInterface_method_get_edited_scene_root>` instead.
+
 Returns the edited (current) scene's root :ref:`Node<class_Node>`. Equivalent of :ref:`EditorInterface.get_edited_scene_root()<class_EditorInterface_method_get_edited_scene_root>`.
 Returns the edited (current) scene's root :ref:`Node<class_Node>`. Equivalent of :ref:`EditorInterface.get_edited_scene_root()<class_EditorInterface_method_get_edited_scene_root>`.
 
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`

+ 139 - 0
classes/class_editorsettings.rst

@@ -579,6 +579,8 @@ Properties
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`interface/multi_window/restore_windows_on_load<class_EditorSettings_property_interface/multi_window/restore_windows_on_load>`                                                                               |
    | :ref:`bool<class_bool>`                           | :ref:`interface/multi_window/restore_windows_on_load<class_EditorSettings_property_interface/multi_window/restore_windows_on_load>`                                                                               |
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`interface/scene_tabs/auto_select_current_scene_file<class_EditorSettings_property_interface/scene_tabs/auto_select_current_scene_file>`                                                                     |
+   +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`interface/scene_tabs/display_close_button<class_EditorSettings_property_interface/scene_tabs/display_close_button>`                                                                                         |
    | :ref:`int<class_int>`                             | :ref:`interface/scene_tabs/display_close_button<class_EditorSettings_property_interface/scene_tabs/display_close_button>`                                                                                         |
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`interface/scene_tabs/maximum_width<class_EditorSettings_property_interface/scene_tabs/maximum_width>`                                                                                                       |
    | :ref:`int<class_int>`                             | :ref:`interface/scene_tabs/maximum_width<class_EditorSettings_property_interface/scene_tabs/maximum_width>`                                                                                                       |
@@ -923,6 +925,8 @@ Properties
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Color<class_Color>`                         | :ref:`text_editor/theme/highlighting/string_color<class_EditorSettings_property_text_editor/theme/highlighting/string_color>`                                                                                     |
    | :ref:`Color<class_Color>`                         | :ref:`text_editor/theme/highlighting/string_color<class_EditorSettings_property_text_editor/theme/highlighting/string_color>`                                                                                     |
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Color<class_Color>`                         | :ref:`text_editor/theme/highlighting/string_placeholder_color<class_EditorSettings_property_text_editor/theme/highlighting/string_placeholder_color>`                                                             |
+   +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Color<class_Color>`                         | :ref:`text_editor/theme/highlighting/symbol_color<class_EditorSettings_property_text_editor/theme/highlighting/symbol_color>`                                                                                     |
    | :ref:`Color<class_Color>`                         | :ref:`text_editor/theme/highlighting/symbol_color<class_EditorSettings_property_text_editor/theme/highlighting/symbol_color>`                                                                                     |
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Color<class_Color>`                         | :ref:`text_editor/theme/highlighting/text_color<class_EditorSettings_property_text_editor/theme/highlighting/text_color>`                                                                                         |
    | :ref:`Color<class_Color>`                         | :ref:`text_editor/theme/highlighting/text_color<class_EditorSettings_property_text_editor/theme/highlighting/text_color>`                                                                                         |
@@ -953,6 +957,8 @@ Methods
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                            | :ref:`add_property_info<class_EditorSettings_method_add_property_info>`\ (\ info\: :ref:`Dictionary<class_Dictionary>`\ )                                                                                              |
    | |void|                                            | :ref:`add_property_info<class_EditorSettings_method_add_property_info>`\ (\ info\: :ref:`Dictionary<class_Dictionary>`\ )                                                                                              |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                            | :ref:`add_shortcut<class_EditorSettings_method_add_shortcut>`\ (\ path\: :ref:`String<class_String>`, shortcut\: :ref:`Shortcut<class_Shortcut>`\ )                                                                    |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`check_changed_settings_in_group<class_EditorSettings_method_check_changed_settings_in_group>`\ (\ setting_prefix\: :ref:`String<class_String>`\ ) |const|                                                        |
    | :ref:`bool<class_bool>`                           | :ref:`check_changed_settings_in_group<class_EditorSettings_method_check_changed_settings_in_group>`\ (\ setting_prefix\: :ref:`String<class_String>`\ ) |const|                                                        |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                            | :ref:`erase<class_EditorSettings_method_erase>`\ (\ property\: :ref:`String<class_String>`\ )                                                                                                                          |
    | |void|                                            | :ref:`erase<class_EditorSettings_method_erase>`\ (\ property\: :ref:`String<class_String>`\ )                                                                                                                          |
@@ -967,10 +973,20 @@ Methods
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Variant<class_Variant>`                     | :ref:`get_setting<class_EditorSettings_method_get_setting>`\ (\ name\: :ref:`String<class_String>`\ ) |const|                                                                                                          |
    | :ref:`Variant<class_Variant>`                     | :ref:`get_setting<class_EditorSettings_method_get_setting>`\ (\ name\: :ref:`String<class_String>`\ ) |const|                                                                                                          |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Shortcut<class_Shortcut>`                   | :ref:`get_shortcut<class_EditorSettings_method_get_shortcut>`\ (\ path\: :ref:`String<class_String>`\ ) |const|                                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_shortcut_list<class_EditorSettings_method_get_shortcut_list>`\ (\ )                                                                                                                                          |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`has_setting<class_EditorSettings_method_has_setting>`\ (\ name\: :ref:`String<class_String>`\ ) |const|                                                                                                          |
    | :ref:`bool<class_bool>`                           | :ref:`has_setting<class_EditorSettings_method_has_setting>`\ (\ name\: :ref:`String<class_String>`\ ) |const|                                                                                                          |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`has_shortcut<class_EditorSettings_method_has_shortcut>`\ (\ path\: :ref:`String<class_String>`\ ) |const|                                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`is_shortcut<class_EditorSettings_method_is_shortcut>`\ (\ path\: :ref:`String<class_String>`, event\: :ref:`InputEvent<class_InputEvent>`\ ) |const|                                                             |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                            | :ref:`mark_setting_changed<class_EditorSettings_method_mark_setting_changed>`\ (\ setting\: :ref:`String<class_String>`\ )                                                                                             |
    | |void|                                            | :ref:`mark_setting_changed<class_EditorSettings_method_mark_setting_changed>`\ (\ setting\: :ref:`String<class_String>`\ )                                                                                             |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                            | :ref:`remove_shortcut<class_EditorSettings_method_remove_shortcut>`\ (\ path\: :ref:`String<class_String>`\ )                                                                                                          |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                            | :ref:`set_builtin_action_override<class_EditorSettings_method_set_builtin_action_override>`\ (\ name\: :ref:`String<class_String>`, actions_list\: :ref:`Array<class_Array>`\[:ref:`InputEvent<class_InputEvent>`\]\ ) |
    | |void|                                            | :ref:`set_builtin_action_override<class_EditorSettings_method_set_builtin_action_override>`\ (\ name\: :ref:`String<class_String>`, actions_list\: :ref:`Array<class_Array>`\[:ref:`InputEvent<class_InputEvent>`\]\ ) |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                            | :ref:`set_favorites<class_EditorSettings_method_set_favorites>`\ (\ dirs\: :ref:`PackedStringArray<class_PackedStringArray>`\ )                                                                                        |
    | |void|                                            | :ref:`set_favorites<class_EditorSettings_method_set_favorites>`\ (\ dirs\: :ref:`PackedStringArray<class_PackedStringArray>`\ )                                                                                        |
@@ -4378,6 +4394,18 @@ If ``true``, the floating panel position, size, and screen will be saved on edit
 
 
 ----
 ----
 
 
+.. _class_EditorSettings_property_interface/scene_tabs/auto_select_current_scene_file:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **interface/scene_tabs/auto_select_current_scene_file** :ref:`🔗<class_EditorSettings_property_interface/scene_tabs/auto_select_current_scene_file>`
+
+If ``true``, the FileSystem dock will automatically navigate to the currently selected scene tab.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorSettings_property_interface/scene_tabs/display_close_button:
 .. _class_EditorSettings_property_interface/scene_tabs/display_close_button:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
@@ -6546,6 +6574,20 @@ The script editor's color for strings (single-line and multi-line).
 
 
 ----
 ----
 
 
+.. _class_EditorSettings_property_text_editor/theme/highlighting/string_placeholder_color:
+
+.. rst-class:: classref-property
+
+:ref:`Color<class_Color>` **text_editor/theme/highlighting/string_placeholder_color** :ref:`🔗<class_EditorSettings_property_text_editor/theme/highlighting/string_placeholder_color>`
+
+The script editor's color for string placeholders, such as ``%s`` and ``{_}``. Refer to the :doc:`GDScript format strings documentation <../tutorials/scripting/gdscript/gdscript_format_string>` for more details.
+
+\ **Note:** Only the default ``{_}`` placeholder patterns are highlighted for the :ref:`String.format()<class_String_method_format>` method. Custom patterns still appear as plain strings.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorSettings_property_text_editor/theme/highlighting/symbol_color:
 .. _class_EditorSettings_property_text_editor/theme/highlighting/symbol_color:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
@@ -6707,6 +6749,43 @@ Adds a custom property info to a property. The dictionary must contain:
 
 
 
 
 
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorSettings_method_add_shortcut:
+
+.. rst-class:: classref-method
+
+|void| **add_shortcut**\ (\ path\: :ref:`String<class_String>`, shortcut\: :ref:`Shortcut<class_Shortcut>`\ ) :ref:`🔗<class_EditorSettings_method_add_shortcut>`
+
+Adds a ``shortcut`` whose path is specified by ``path``.
+
+The ``path`` determines how the shortcut is organized and displayed in the editor's shortcut settings. The path format affects the display as follows:
+
+- ``"name"`` (no slash): Creates a category named ``name`` with the shortcut displayed as ``name``.
+
+- ``"category/name"`` (single slash): Displays as ``name`` in the ``category`` section.
+
+- ``"category/name/extra"`` (multiple slashes): Extra path components are ignored, so this behaves the same as ``"category/name"``.
+
+\ **Note:** Shortcuts are only saved to the editor settings if they differ from their original/default state. This means empty shortcuts that were originally empty will not persist between editor sessions and must be re-added. If a shortcut with the same ``path`` already exists, this method will update it with the new ``shortcut`` instead of creating a duplicate.
+
+::
+
+    # Add a custom shortcut for a plugin action.
+    var my_shortcut = Shortcut.new()
+    var input_event = InputEventKey.new()
+    input_event.keycode = KEY_F5
+    input_event.ctrl_pressed = true
+    my_shortcut.events.append(input_event)
+
+    # This will appear under the "My Plugin" category as "Reload Data".
+    EditorInterface.get_editor_settings().add_shortcut("my_plugin/reload_data", my_shortcut)
+
+    # This will appear under the "Test Action" category as "Test Action".
+    EditorInterface.get_editor_settings().add_shortcut("test_action", my_shortcut)
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -6795,6 +6874,30 @@ Returns the value of the setting specified by ``name``. This is equivalent to us
 
 
 ----
 ----
 
 
+.. _class_EditorSettings_method_get_shortcut:
+
+.. rst-class:: classref-method
+
+:ref:`Shortcut<class_Shortcut>` **get_shortcut**\ (\ path\: :ref:`String<class_String>`\ ) |const| :ref:`🔗<class_EditorSettings_method_get_shortcut>`
+
+Returns the shortcut specified by ``path``. Tries to find a built-in action if no shortcut with the provided path is found in the shortcut list. If found, adds it to the list and returns it, otherwise returns ``null``.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorSettings_method_get_shortcut_list:
+
+.. rst-class:: classref-method
+
+:ref:`PackedStringArray<class_PackedStringArray>` **get_shortcut_list**\ (\ ) :ref:`🔗<class_EditorSettings_method_get_shortcut_list>`
+
+Returns the list of stored shortcut paths.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorSettings_method_has_setting:
 .. _class_EditorSettings_method_has_setting:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -6807,6 +6910,30 @@ Returns ``true`` if the setting specified by ``name`` exists, ``false`` otherwis
 
 
 ----
 ----
 
 
+.. _class_EditorSettings_method_has_shortcut:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **has_shortcut**\ (\ path\: :ref:`String<class_String>`\ ) |const| :ref:`🔗<class_EditorSettings_method_has_shortcut>`
+
+Returns ``true`` if the shortcut specified by ``path`` exists, ``false`` otherwise.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorSettings_method_is_shortcut:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **is_shortcut**\ (\ path\: :ref:`String<class_String>`, event\: :ref:`InputEvent<class_InputEvent>`\ ) |const| :ref:`🔗<class_EditorSettings_method_is_shortcut>`
+
+Returns ``true`` if the shortcut specified by ``path`` matches the event specified by ``event``, ``false`` otherwise.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorSettings_method_mark_setting_changed:
 .. _class_EditorSettings_method_mark_setting_changed:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -6819,6 +6946,18 @@ Marks the passed editor setting as being changed, see :ref:`get_changed_settings
 
 
 ----
 ----
 
 
+.. _class_EditorSettings_method_remove_shortcut:
+
+.. rst-class:: classref-method
+
+|void| **remove_shortcut**\ (\ path\: :ref:`String<class_String>`\ ) :ref:`🔗<class_EditorSettings_method_remove_shortcut>`
+
+Removes the shortcut specified by ``path``.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorSettings_method_set_builtin_action_override:
 .. _class_EditorSettings_method_set_builtin_action_override:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 2 - 2
classes/class_environment.rst

@@ -119,7 +119,7 @@ Properties
    +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+
    +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+
    | :ref:`float<class_float>`                                  | :ref:`glow_hdr_scale<class_Environment_property_glow_hdr_scale>`                                                             | ``2.0``                           |
    | :ref:`float<class_float>`                                  | :ref:`glow_hdr_scale<class_Environment_property_glow_hdr_scale>`                                                             | ``2.0``                           |
    +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+
    +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+
-   | :ref:`float<class_float>`                                  | :ref:`glow_hdr_threshold<class_Environment_property_glow_hdr_threshold>`                                                     | ``0.0``                           |
+   | :ref:`float<class_float>`                                  | :ref:`glow_hdr_threshold<class_Environment_property_glow_hdr_threshold>`                                                     | ``1.0``                           |
    +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+
    +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+
    | :ref:`float<class_float>`                                  | :ref:`glow_intensity<class_Environment_property_glow_intensity>`                                                             | ``0.3``                           |
    | :ref:`float<class_float>`                                  | :ref:`glow_intensity<class_Environment_property_glow_intensity>`                                                             | ``0.3``                           |
    +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+
    +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+
@@ -1169,7 +1169,7 @@ The bleed scale of the HDR glow.
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`float<class_float>` **glow_hdr_threshold** = ``0.0`` :ref:`🔗<class_Environment_property_glow_hdr_threshold>`
+:ref:`float<class_float>` **glow_hdr_threshold** = ``1.0`` :ref:`🔗<class_Environment_property_glow_hdr_threshold>`
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 

+ 84 - 4
classes/class_gltfstate.rst

@@ -57,6 +57,8 @@ Properties
    +----------------------------------------------------------------------------+------------------------------------------------------------------------------------+------------------------+
    +----------------------------------------------------------------------------+------------------------------------------------------------------------------------+------------------------+
    | :ref:`PackedByteArray<class_PackedByteArray>`                              | :ref:`glb_data<class_GLTFState_property_glb_data>`                                 | ``PackedByteArray()``  |
    | :ref:`PackedByteArray<class_PackedByteArray>`                              | :ref:`glb_data<class_GLTFState_property_glb_data>`                                 | ``PackedByteArray()``  |
    +----------------------------------------------------------------------------+------------------------------------------------------------------------------------+------------------------+
    +----------------------------------------------------------------------------+------------------------------------------------------------------------------------+------------------------+
+   | :ref:`HandleBinaryImageMode<enum_GLTFState_HandleBinaryImageMode>`         | :ref:`handle_binary_image_mode<class_GLTFState_property_handle_binary_image_mode>` | ``1``                  |
+   +----------------------------------------------------------------------------+------------------------------------------------------------------------------------+------------------------+
    | :ref:`bool<class_bool>`                                                    | :ref:`import_as_skeleton_bones<class_GLTFState_property_import_as_skeleton_bones>` | ``false``              |
    | :ref:`bool<class_bool>`                                                    | :ref:`import_as_skeleton_bones<class_GLTFState_property_import_as_skeleton_bones>` | ``false``              |
    +----------------------------------------------------------------------------+------------------------------------------------------------------------------------+------------------------+
    +----------------------------------------------------------------------------+------------------------------------------------------------------------------------+------------------------+
    | :ref:`Dictionary<class_Dictionary>`                                        | :ref:`json<class_GLTFState_property_json>`                                         | ``{}``                 |
    | :ref:`Dictionary<class_Dictionary>`                                        | :ref:`json<class_GLTFState_property_json>`                                         | ``{}``                 |
@@ -170,6 +172,57 @@ Methods
 
 
 .. rst-class:: classref-descriptions-group
 .. rst-class:: classref-descriptions-group
 
 
+Enumerations
+------------
+
+.. _enum_GLTFState_HandleBinaryImageMode:
+
+.. rst-class:: classref-enumeration
+
+enum **HandleBinaryImageMode**: :ref:`🔗<enum_GLTFState_HandleBinaryImageMode>`
+
+.. _class_GLTFState_constant_HANDLE_BINARY_IMAGE_MODE_DISCARD_TEXTURES:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`HandleBinaryImageMode<enum_GLTFState_HandleBinaryImageMode>` **HANDLE_BINARY_IMAGE_MODE_DISCARD_TEXTURES** = ``0``
+
+When importing a glTF file with embedded binary images, discards all images and uses untextured materials in their place. Images stored as separate files in the ``res://`` folder are not affected by this; those will be used as Godot imported them.
+
+.. _class_GLTFState_constant_HANDLE_BINARY_IMAGE_MODE_EXTRACT_TEXTURES:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`HandleBinaryImageMode<enum_GLTFState_HandleBinaryImageMode>` **HANDLE_BINARY_IMAGE_MODE_EXTRACT_TEXTURES** = ``1``
+
+When importing a glTF file with embedded binary images, extracts them and saves them to their own files. This allows the image to be imported by Godot's image importer, which can then have their import options customized by the user, including optionally compressing the image to VRAM texture formats.
+
+This will save the images's bytes exactly as-is, without recompression. For image formats supplied by glTF extensions, the file will have a filename ending with the file extension supplied by :ref:`GLTFDocumentExtension._get_image_file_extension()<class_GLTFDocumentExtension_private_method__get_image_file_extension>` of the extension class.
+
+\ **Note:** This option is editor-only. At runtime, this acts the same as :ref:`HANDLE_BINARY_IMAGE_MODE_EMBED_AS_UNCOMPRESSED<class_GLTFState_constant_HANDLE_BINARY_IMAGE_MODE_EMBED_AS_UNCOMPRESSED>`.
+
+.. _class_GLTFState_constant_HANDLE_BINARY_IMAGE_MODE_EMBED_AS_BASISU:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`HandleBinaryImageMode<enum_GLTFState_HandleBinaryImageMode>` **HANDLE_BINARY_IMAGE_MODE_EMBED_AS_BASISU** = ``2``
+
+When importing a glTF file with embedded binary images, embeds textures VRAM compressed with Basis Universal into the generated scene. Images stored as separate files in the ``res://`` folder are not affected by this; those will be used as Godot imported them.
+
+.. _class_GLTFState_constant_HANDLE_BINARY_IMAGE_MODE_EMBED_AS_UNCOMPRESSED:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`HandleBinaryImageMode<enum_GLTFState_HandleBinaryImageMode>` **HANDLE_BINARY_IMAGE_MODE_EMBED_AS_UNCOMPRESSED** = ``3``
+
+When importing a glTF file with embedded binary images, embeds textures compressed losslessly into the generated scene. Images stored as separate files in the ``res://`` folder are not affected by this; those will be used as Godot imported them.
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
 Constants
 Constants
 ---------
 ---------
 
 
@@ -179,6 +232,8 @@ Constants
 
 
 **HANDLE_BINARY_DISCARD_TEXTURES** = ``0`` :ref:`🔗<class_GLTFState_constant_HANDLE_BINARY_DISCARD_TEXTURES>`
 **HANDLE_BINARY_DISCARD_TEXTURES** = ``0`` :ref:`🔗<class_GLTFState_constant_HANDLE_BINARY_DISCARD_TEXTURES>`
 
 
+**Deprecated:** Use :ref:`HANDLE_BINARY_IMAGE_MODE_DISCARD_TEXTURES<class_GLTFState_constant_HANDLE_BINARY_IMAGE_MODE_DISCARD_TEXTURES>` instead.
+
 Discards all embedded textures and uses untextured materials.
 Discards all embedded textures and uses untextured materials.
 
 
 .. _class_GLTFState_constant_HANDLE_BINARY_EXTRACT_TEXTURES:
 .. _class_GLTFState_constant_HANDLE_BINARY_EXTRACT_TEXTURES:
@@ -187,6 +242,8 @@ Discards all embedded textures and uses untextured materials.
 
 
 **HANDLE_BINARY_EXTRACT_TEXTURES** = ``1`` :ref:`🔗<class_GLTFState_constant_HANDLE_BINARY_EXTRACT_TEXTURES>`
 **HANDLE_BINARY_EXTRACT_TEXTURES** = ``1`` :ref:`🔗<class_GLTFState_constant_HANDLE_BINARY_EXTRACT_TEXTURES>`
 
 
+**Deprecated:** Use :ref:`HANDLE_BINARY_IMAGE_MODE_EXTRACT_TEXTURES<class_GLTFState_constant_HANDLE_BINARY_IMAGE_MODE_EXTRACT_TEXTURES>` instead.
+
 Extracts embedded textures to be reimported and compressed. Editor only. Acts as uncompressed at runtime.
 Extracts embedded textures to be reimported and compressed. Editor only. Acts as uncompressed at runtime.
 
 
 .. _class_GLTFState_constant_HANDLE_BINARY_EMBED_AS_BASISU:
 .. _class_GLTFState_constant_HANDLE_BINARY_EMBED_AS_BASISU:
@@ -195,6 +252,8 @@ Extracts embedded textures to be reimported and compressed. Editor only. Acts as
 
 
 **HANDLE_BINARY_EMBED_AS_BASISU** = ``2`` :ref:`🔗<class_GLTFState_constant_HANDLE_BINARY_EMBED_AS_BASISU>`
 **HANDLE_BINARY_EMBED_AS_BASISU** = ``2`` :ref:`🔗<class_GLTFState_constant_HANDLE_BINARY_EMBED_AS_BASISU>`
 
 
+**Deprecated:** Use :ref:`HANDLE_BINARY_IMAGE_MODE_EMBED_AS_BASISU<class_GLTFState_constant_HANDLE_BINARY_IMAGE_MODE_EMBED_AS_BASISU>` instead.
+
 Embeds textures VRAM compressed with Basis Universal into the generated scene.
 Embeds textures VRAM compressed with Basis Universal into the generated scene.
 
 
 .. _class_GLTFState_constant_HANDLE_BINARY_EMBED_AS_UNCOMPRESSED:
 .. _class_GLTFState_constant_HANDLE_BINARY_EMBED_AS_UNCOMPRESSED:
@@ -203,6 +262,8 @@ Embeds textures VRAM compressed with Basis Universal into the generated scene.
 
 
 **HANDLE_BINARY_EMBED_AS_UNCOMPRESSED** = ``3`` :ref:`🔗<class_GLTFState_constant_HANDLE_BINARY_EMBED_AS_UNCOMPRESSED>`
 **HANDLE_BINARY_EMBED_AS_UNCOMPRESSED** = ``3`` :ref:`🔗<class_GLTFState_constant_HANDLE_BINARY_EMBED_AS_UNCOMPRESSED>`
 
 
+**Deprecated:** Use :ref:`HANDLE_BINARY_IMAGE_MODE_EMBED_AS_UNCOMPRESSED<class_GLTFState_constant_HANDLE_BINARY_IMAGE_MODE_EMBED_AS_UNCOMPRESSED>` instead.
+
 Embeds textures compressed losslessly into the generated scene, matching old behavior.
 Embeds textures compressed losslessly into the generated scene, matching old behavior.
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
@@ -339,6 +400,25 @@ The binary buffer attached to a .glb file.
 
 
 ----
 ----
 
 
+.. _class_GLTFState_property_handle_binary_image_mode:
+
+.. rst-class:: classref-property
+
+:ref:`HandleBinaryImageMode<enum_GLTFState_HandleBinaryImageMode>` **handle_binary_image_mode** = ``1`` :ref:`🔗<class_GLTFState_property_handle_binary_image_mode>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_handle_binary_image_mode**\ (\ value\: :ref:`HandleBinaryImageMode<enum_GLTFState_HandleBinaryImageMode>`\ )
+- :ref:`HandleBinaryImageMode<enum_GLTFState_HandleBinaryImageMode>` **get_handle_binary_image_mode**\ (\ )
+
+When importing a glTF file with unimported raw binary images embedded inside of binary blob buffers, in data URIs, or separate files not imported by Godot, this controls how the images are handled. Images can be discarded, saved as separate files, or embedded in the scene lossily or losslessly. See :ref:`HandleBinaryImageMode<enum_GLTFState_HandleBinaryImageMode>` for options.
+
+This property does nothing for image files in the ``res://`` folder imported by Godot, as those are handled by Godot's image importer directly, and then the Godot scene generated from the glTF file will use the images as Godot imported them.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_GLTFState_property_import_as_skeleton_bones:
 .. _class_GLTFState_property_import_as_skeleton_bones:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
@@ -607,9 +687,9 @@ Returns an array of all :ref:`GLTFCamera<class_GLTFCamera>`\ s in the glTF file.
 
 
 :ref:`int<class_int>` **get_handle_binary_image**\ (\ ) :ref:`🔗<class_GLTFState_method_get_handle_binary_image>`
 :ref:`int<class_int>` **get_handle_binary_image**\ (\ ) :ref:`🔗<class_GLTFState_method_get_handle_binary_image>`
 
 
-.. container:: contribute
+**Deprecated:** Use :ref:`handle_binary_image_mode<class_GLTFState_property_handle_binary_image_mode>` instead.
 
 
-	There is currently no description for this method. Please help us by `contributing one <https://contributing.godotengine.org/en/latest/documentation/class_reference.html>`__!
+Deprecated untyped alias for :ref:`handle_binary_image_mode<class_GLTFState_property_handle_binary_image_mode>`. When importing a glTF file with unimported raw binary images embedded inside of binary blob buffers, in data URIs, or separate files not imported by Godot, this controls how the images are handled.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -851,9 +931,9 @@ Sets the :ref:`GLTFCamera<class_GLTFCamera>`\ s in the state. These are the came
 
 
 |void| **set_handle_binary_image**\ (\ method\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GLTFState_method_set_handle_binary_image>`
 |void| **set_handle_binary_image**\ (\ method\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GLTFState_method_set_handle_binary_image>`
 
 
-.. container:: contribute
+**Deprecated:** Use :ref:`handle_binary_image_mode<class_GLTFState_property_handle_binary_image_mode>` instead.
 
 
-	There is currently no description for this method. Please help us by `contributing one <https://contributing.godotengine.org/en/latest/documentation/class_reference.html>`__!
+Deprecated untyped alias for :ref:`handle_binary_image_mode<class_GLTFState_property_handle_binary_image_mode>`. When importing a glTF file with unimported raw binary images embedded inside of binary blob buffers, in data URIs, or separate files not imported by Godot, this controls how the images are handled.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 56 - 0
classes/class_graphnode.rst

@@ -92,6 +92,10 @@ Methods
    +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Texture2D<class_Texture2D>`         | :ref:`get_slot_custom_icon_right<class_GraphNode_method_get_slot_custom_icon_right>`\ (\ slot_index\: :ref:`int<class_int>`\ ) |const|                                                                                                                                                                                                                                                                                                                                                                                 |
    | :ref:`Texture2D<class_Texture2D>`         | :ref:`get_slot_custom_icon_right<class_GraphNode_method_get_slot_custom_icon_right>`\ (\ slot_index\: :ref:`int<class_int>`\ ) |const|                                                                                                                                                                                                                                                                                                                                                                                 |
    +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Variant<class_Variant>`             | :ref:`get_slot_metadata_left<class_GraphNode_method_get_slot_metadata_left>`\ (\ slot_index\: :ref:`int<class_int>`\ ) |const|                                                                                                                                                                                                                                                                                                                                                                                         |
+   +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Variant<class_Variant>`             | :ref:`get_slot_metadata_right<class_GraphNode_method_get_slot_metadata_right>`\ (\ slot_index\: :ref:`int<class_int>`\ ) |const|                                                                                                                                                                                                                                                                                                                                                                                       |
+   +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                     | :ref:`get_slot_type_left<class_GraphNode_method_get_slot_type_left>`\ (\ slot_index\: :ref:`int<class_int>`\ ) |const|                                                                                                                                                                                                                                                                                                                                                                                                 |
    | :ref:`int<class_int>`                     | :ref:`get_slot_type_left<class_GraphNode_method_get_slot_type_left>`\ (\ slot_index\: :ref:`int<class_int>`\ ) |const|                                                                                                                                                                                                                                                                                                                                                                                                 |
    +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                     | :ref:`get_slot_type_right<class_GraphNode_method_get_slot_type_right>`\ (\ slot_index\: :ref:`int<class_int>`\ ) |const|                                                                                                                                                                                                                                                                                                                                                                                               |
    | :ref:`int<class_int>`                     | :ref:`get_slot_type_right<class_GraphNode_method_get_slot_type_right>`\ (\ slot_index\: :ref:`int<class_int>`\ ) |const|                                                                                                                                                                                                                                                                                                                                                                                               |
@@ -120,6 +124,10 @@ Methods
    +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                    | :ref:`set_slot_enabled_right<class_GraphNode_method_set_slot_enabled_right>`\ (\ slot_index\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`\ )                                                                                                                                                                                                                                                                                                                                                               |
    | |void|                                    | :ref:`set_slot_enabled_right<class_GraphNode_method_set_slot_enabled_right>`\ (\ slot_index\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`\ )                                                                                                                                                                                                                                                                                                                                                               |
    +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                    | :ref:`set_slot_metadata_left<class_GraphNode_method_set_slot_metadata_left>`\ (\ slot_index\: :ref:`int<class_int>`, value\: :ref:`Variant<class_Variant>`\ )                                                                                                                                                                                                                                                                                                                                                          |
+   +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                    | :ref:`set_slot_metadata_right<class_GraphNode_method_set_slot_metadata_right>`\ (\ slot_index\: :ref:`int<class_int>`, value\: :ref:`Variant<class_Variant>`\ )                                                                                                                                                                                                                                                                                                                                                        |
+   +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                    | :ref:`set_slot_type_left<class_GraphNode_method_set_slot_type_left>`\ (\ slot_index\: :ref:`int<class_int>`, type\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                                                                                                                                                                           |
    | |void|                                    | :ref:`set_slot_type_left<class_GraphNode_method_set_slot_type_left>`\ (\ slot_index\: :ref:`int<class_int>`, type\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                                                                                                                                                                           |
    +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                    | :ref:`set_slot_type_right<class_GraphNode_method_set_slot_type_right>`\ (\ slot_index\: :ref:`int<class_int>`, type\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                                                                                                                                                                         |
    | |void|                                    | :ref:`set_slot_type_right<class_GraphNode_method_set_slot_type_right>`\ (\ slot_index\: :ref:`int<class_int>`, type\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                                                                                                                                                                         |
@@ -463,6 +471,30 @@ Returns the right (output) custom :ref:`Texture2D<class_Texture2D>` of the slot
 
 
 ----
 ----
 
 
+.. _class_GraphNode_method_get_slot_metadata_left:
+
+.. rst-class:: classref-method
+
+:ref:`Variant<class_Variant>` **get_slot_metadata_left**\ (\ slot_index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_GraphNode_method_get_slot_metadata_left>`
+
+Returns the left (input) metadata of the slot with the given ``slot_index``.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_GraphNode_method_get_slot_metadata_right:
+
+.. rst-class:: classref-method
+
+:ref:`Variant<class_Variant>` **get_slot_metadata_right**\ (\ slot_index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_GraphNode_method_get_slot_metadata_right>`
+
+Returns the right (output) metadata of the slot with the given ``slot_index``.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_GraphNode_method_get_slot_type_left:
 .. _class_GraphNode_method_get_slot_type_left:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -643,6 +675,30 @@ Toggles the right (output) side of the slot with the given ``slot_index``. If ``
 
 
 ----
 ----
 
 
+.. _class_GraphNode_method_set_slot_metadata_left:
+
+.. rst-class:: classref-method
+
+|void| **set_slot_metadata_left**\ (\ slot_index\: :ref:`int<class_int>`, value\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_GraphNode_method_set_slot_metadata_left>`
+
+Sets the custom metadata for the left (input) side of the slot with the given ``slot_index`` to ``value``.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_GraphNode_method_set_slot_metadata_right:
+
+.. rst-class:: classref-method
+
+|void| **set_slot_metadata_right**\ (\ slot_index\: :ref:`int<class_int>`, value\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_GraphNode_method_set_slot_metadata_right>`
+
+Sets the custom metadata for the right (output) side of the slot with the given ``slot_index`` to ``value``.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_GraphNode_method_set_slot_type_left:
 .. _class_GraphNode_method_set_slot_type_left:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 47 - 0
classes/class_hscrollbar.rst

@@ -21,6 +21,53 @@ Description
 
 
 A horizontal scrollbar, typically used to navigate through content that extends beyond the visible width of a control. It is a :ref:`Range<class_Range>`-based control and goes from left (min) to right (max).
 A horizontal scrollbar, typically used to navigate through content that extends beyond the visible width of a control. It is a :ref:`Range<class_Range>`-based control and goes from left (min) to right (max).
 
 
+.. rst-class:: classref-reftable-group
+
+Theme Properties
+----------------
+
+.. table::
+   :widths: auto
+
+   +-----------------------+-----------------------------------------------------------------------+-------+
+   | :ref:`int<class_int>` | :ref:`padding_bottom<class_HScrollBar_theme_constant_padding_bottom>` | ``0`` |
+   +-----------------------+-----------------------------------------------------------------------+-------+
+   | :ref:`int<class_int>` | :ref:`padding_top<class_HScrollBar_theme_constant_padding_top>`       | ``0`` |
+   +-----------------------+-----------------------------------------------------------------------+-------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Theme Property Descriptions
+---------------------------
+
+.. _class_HScrollBar_theme_constant_padding_bottom:
+
+.. rst-class:: classref-themeproperty
+
+:ref:`int<class_int>` **padding_bottom** = ``0`` :ref:`🔗<class_HScrollBar_theme_constant_padding_bottom>`
+
+Padding between the bottom of the :ref:`ScrollBar.scroll<class_ScrollBar_theme_style_scroll>` element and the :ref:`ScrollBar.grabber<class_ScrollBar_theme_style_grabber>`.
+
+\ **Note:** To apply horizontal padding, modify the left/right content margins of :ref:`ScrollBar.scroll<class_ScrollBar_theme_style_scroll>` instead.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_HScrollBar_theme_constant_padding_top:
+
+.. rst-class:: classref-themeproperty
+
+:ref:`int<class_int>` **padding_top** = ``0`` :ref:`🔗<class_HScrollBar_theme_constant_padding_top>`
+
+Padding between the top of the :ref:`ScrollBar.scroll<class_ScrollBar_theme_style_scroll>` element and the :ref:`ScrollBar.grabber<class_ScrollBar_theme_style_grabber>`.
+
+\ **Note:** To apply horizontal padding, modify the left/right content margins of :ref:`ScrollBar.scroll<class_ScrollBar_theme_style_scroll>` instead.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
 .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 3 - 1
classes/class_httprequest.rst

@@ -501,7 +501,9 @@ Maximum number of allowed redirects.
 - |void| **set_timeout**\ (\ value\: :ref:`float<class_float>`\ )
 - |void| **set_timeout**\ (\ value\: :ref:`float<class_float>`\ )
 - :ref:`float<class_float>` **get_timeout**\ (\ )
 - :ref:`float<class_float>` **get_timeout**\ (\ )
 
 
-The duration to wait in seconds before a request times out. If :ref:`timeout<class_HTTPRequest_property_timeout>` is set to ``0.0`` then the request will never time out. For simple requests, such as communication with a REST API, it is recommended that :ref:`timeout<class_HTTPRequest_property_timeout>` is set to a value suitable for the server response time (e.g. between ``1.0`` and ``10.0``). This will help prevent unwanted timeouts caused by variation in server response times while still allowing the application to detect when a request has timed out. For larger requests such as file downloads it is suggested the :ref:`timeout<class_HTTPRequest_property_timeout>` be set to ``0.0``, disabling the timeout functionality. This will help to prevent large transfers from failing due to exceeding the timeout value.
+The duration to wait before a request times out, in seconds (independent of :ref:`Engine.time_scale<class_Engine_property_time_scale>`). If :ref:`timeout<class_HTTPRequest_property_timeout>` is set to ``0.0``, the request will never time out.
+
+For simple requests, such as communication with a REST API, it is recommended to set :ref:`timeout<class_HTTPRequest_property_timeout>` to a value suitable for the server response time (commonly between ``1.0`` and ``10.0``). This will help prevent unwanted timeouts caused by variation in response times while still allowing the application to detect when a request has timed out. For larger requests such as file downloads, it is recommended to set :ref:`timeout<class_HTTPRequest_property_timeout>` to ``0.0``, disabling the timeout functionality. This will help prevent large transfers from failing due to exceeding the timeout value.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 34 - 0
classes/class_input.rst

@@ -107,6 +107,8 @@ Methods
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Vector2<class_Vector2>`                                           | :ref:`get_vector<class_Input_method_get_vector>`\ (\ negative_x\: :ref:`StringName<class_StringName>`, positive_x\: :ref:`StringName<class_StringName>`, negative_y\: :ref:`StringName<class_StringName>`, positive_y\: :ref:`StringName<class_StringName>`, deadzone\: :ref:`float<class_float>` = -1.0\ ) |const| |
    | :ref:`Vector2<class_Vector2>`                                           | :ref:`get_vector<class_Input_method_get_vector>`\ (\ negative_x\: :ref:`StringName<class_StringName>`, positive_x\: :ref:`StringName<class_StringName>`, negative_y\: :ref:`StringName<class_StringName>`, positive_y\: :ref:`StringName<class_StringName>`, deadzone\: :ref:`float<class_float>` = -1.0\ ) |const| |
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                                 | :ref:`has_joy_light<class_Input_method_has_joy_light>`\ (\ device\: :ref:`int<class_int>`\ ) |const|                                                                                                                                                                                                                |
+   +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                                 | :ref:`is_action_just_pressed<class_Input_method_is_action_just_pressed>`\ (\ action\: :ref:`StringName<class_StringName>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const|                                                                                                                                 |
    | :ref:`bool<class_bool>`                                                 | :ref:`is_action_just_pressed<class_Input_method_is_action_just_pressed>`\ (\ action\: :ref:`StringName<class_StringName>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const|                                                                                                                                 |
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                                 | :ref:`is_action_just_pressed_by_event<class_Input_method_is_action_just_pressed_by_event>`\ (\ action\: :ref:`StringName<class_StringName>`, event\: :ref:`InputEvent<class_InputEvent>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const|                                                                  |
    | :ref:`bool<class_bool>`                                                 | :ref:`is_action_just_pressed_by_event<class_Input_method_is_action_just_pressed_by_event>`\ (\ action\: :ref:`StringName<class_StringName>`, event\: :ref:`InputEvent<class_InputEvent>`, exact_match\: :ref:`bool<class_bool>` = false\ ) |const|                                                                  |
@@ -145,6 +147,8 @@ Methods
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                                                  | :ref:`set_gyroscope<class_Input_method_set_gyroscope>`\ (\ value\: :ref:`Vector3<class_Vector3>`\ )                                                                                                                                                                                                                 |
    | |void|                                                                  | :ref:`set_gyroscope<class_Input_method_set_gyroscope>`\ (\ value\: :ref:`Vector3<class_Vector3>`\ )                                                                                                                                                                                                                 |
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                                 | :ref:`set_joy_light<class_Input_method_set_joy_light>`\ (\ device\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ )                                                                                                                                                                                     |
+   +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                                                  | :ref:`set_magnetometer<class_Input_method_set_magnetometer>`\ (\ value\: :ref:`Vector3<class_Vector3>`\ )                                                                                                                                                                                                           |
    | |void|                                                                  | :ref:`set_magnetometer<class_Input_method_set_magnetometer>`\ (\ value\: :ref:`Vector3<class_Vector3>`\ )                                                                                                                                                                                                           |
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                                 | :ref:`should_ignore_device<class_Input_method_should_ignore_device>`\ (\ vendor_id\: :ref:`int<class_int>`, product_id\: :ref:`int<class_int>`\ ) |const|                                                                                                                                                           |
    | :ref:`bool<class_bool>`                                                 | :ref:`should_ignore_device<class_Input_method_should_ignore_device>`\ (\ vendor_id\: :ref:`int<class_int>`, product_id\: :ref:`int<class_int>`\ ) |const|                                                                                                                                                           |
@@ -802,6 +806,20 @@ By default, the deadzone is automatically calculated from the average of the act
 
 
 ----
 ----
 
 
+.. _class_Input_method_has_joy_light:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **has_joy_light**\ (\ device\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_Input_method_has_joy_light>`
+
+Returns ``true`` if the joypad has an LED light that can change colors and/or brightness. See also :ref:`set_joy_light()<class_Input_method_set_joy_light>`.
+
+\ **Note:** This feature is only supported on Windows, Linux, and macOS.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_Input_method_is_action_just_pressed:
 .. _class_Input_method_is_action_just_pressed:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -1115,6 +1133,22 @@ Sets the value of the rotation rate of the gyroscope sensor. Can be used for deb
 
 
 ----
 ----
 
 
+.. _class_Input_method_set_joy_light:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **set_joy_light**\ (\ device\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_Input_method_set_joy_light>`
+
+Sets the joypad's LED light, if available, to the specified color. Returns ``true`` if the operation was successful. See also :ref:`has_joy_light()<class_Input_method_has_joy_light>`.
+
+\ **Note:** There is no way to get the color of the light from a joypad. If you need to know the assigned color, store it separately.
+
+\ **Note:** This feature is only supported on Windows, Linux, and macOS.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_Input_method_set_magnetometer:
 .. _class_Input_method_set_magnetometer:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 1 - 1
classes/class_jacobianik3d.rst

@@ -12,7 +12,7 @@ JacobianIK3D
 
 
 **Inherits:** :ref:`IterateIK3D<class_IterateIK3D>` **<** :ref:`ChainIK3D<class_ChainIK3D>` **<** :ref:`IKModifier3D<class_IKModifier3D>` **<** :ref:`SkeletonModifier3D<class_SkeletonModifier3D>` **<** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 **Inherits:** :ref:`IterateIK3D<class_IterateIK3D>` **<** :ref:`ChainIK3D<class_ChainIK3D>` **<** :ref:`IKModifier3D<class_IKModifier3D>` **<** :ref:`SkeletonModifier3D<class_SkeletonModifier3D>` **<** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 
-Pseudo inverse Jacobian matrix based inverse kinematics solver.
+Jacobian transpose based inverse kinematics solver.
 
 
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 

+ 279 - 0
classes/class_limitangularvelocitymodifier3d.rst

@@ -0,0 +1,279 @@
+: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/LimitAngularVelocityModifier3D.xml.
+
+.. _class_LimitAngularVelocityModifier3D:
+
+LimitAngularVelocityModifier3D
+==============================
+
+**Inherits:** :ref:`SkeletonModifier3D<class_SkeletonModifier3D>` **<** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+
+Limit bone rotation angular velocity.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This modifier limits bone rotation angular velocity by comparing poses between previous and current frame.
+
+You can add bone chains by specifying their root and end bones, then add the bones between them to a list. Modifier processes either that list or the bones excluding those in the list depending on the option :ref:`exclude<class_LimitAngularVelocityModifier3D_property_exclude>`.
+
+.. rst-class:: classref-reftable-group
+
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +---------------------------+-------------------------------------------------------------------------------------------------+---------------+
+   | :ref:`int<class_int>`     | :ref:`chain_count<class_LimitAngularVelocityModifier3D_property_chain_count>`                   | ``0``         |
+   +---------------------------+-------------------------------------------------------------------------------------------------+---------------+
+   | :ref:`bool<class_bool>`   | :ref:`exclude<class_LimitAngularVelocityModifier3D_property_exclude>`                           | ``false``     |
+   +---------------------------+-------------------------------------------------------------------------------------------------+---------------+
+   | :ref:`int<class_int>`     | :ref:`joint_count<class_LimitAngularVelocityModifier3D_property_joint_count>`                   | ``0``         |
+   +---------------------------+-------------------------------------------------------------------------------------------------+---------------+
+   | :ref:`float<class_float>` | :ref:`max_angular_velocity<class_LimitAngularVelocityModifier3D_property_max_angular_velocity>` | ``6.2831855`` |
+   +---------------------------+-------------------------------------------------------------------------------------------------+---------------+
+
+.. rst-class:: classref-reftable-group
+
+Methods
+-------
+
+.. table::
+   :widths: auto
+
+   +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                      | :ref:`clear_chains<class_LimitAngularVelocityModifier3D_method_clear_chains>`\ (\ )                                                                                     |
+   +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`       | :ref:`get_end_bone<class_LimitAngularVelocityModifier3D_method_get_end_bone>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                              |
+   +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>` | :ref:`get_end_bone_name<class_LimitAngularVelocityModifier3D_method_get_end_bone_name>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                    |
+   +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`       | :ref:`get_root_bone<class_LimitAngularVelocityModifier3D_method_get_root_bone>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                            |
+   +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>` | :ref:`get_root_bone_name<class_LimitAngularVelocityModifier3D_method_get_root_bone_name>`\ (\ index\: :ref:`int<class_int>`\ ) |const|                                  |
+   +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                      | :ref:`reset<class_LimitAngularVelocityModifier3D_method_reset>`\ (\ )                                                                                                   |
+   +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                      | :ref:`set_end_bone<class_LimitAngularVelocityModifier3D_method_set_end_bone>`\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ )                        |
+   +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                      | :ref:`set_end_bone_name<class_LimitAngularVelocityModifier3D_method_set_end_bone_name>`\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ )   |
+   +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                      | :ref:`set_root_bone<class_LimitAngularVelocityModifier3D_method_set_root_bone>`\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ )                      |
+   +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                      | :ref:`set_root_bone_name<class_LimitAngularVelocityModifier3D_method_set_root_bone_name>`\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) |
+   +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Property Descriptions
+---------------------
+
+.. _class_LimitAngularVelocityModifier3D_property_chain_count:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **chain_count** = ``0`` :ref:`🔗<class_LimitAngularVelocityModifier3D_property_chain_count>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_chain_count**\ (\ value\: :ref:`int<class_int>`\ )
+- :ref:`int<class_int>` **get_chain_count**\ (\ )
+
+The number of chains.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_LimitAngularVelocityModifier3D_property_exclude:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **exclude** = ``false`` :ref:`🔗<class_LimitAngularVelocityModifier3D_property_exclude>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_exclude**\ (\ value\: :ref:`bool<class_bool>`\ )
+- :ref:`bool<class_bool>` **is_exclude**\ (\ )
+
+If ``true``, the modifier processes bones not included in the bone list.
+
+If ``false``, the bones processed by the modifier are equal to the bone list.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_LimitAngularVelocityModifier3D_property_joint_count:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **joint_count** = ``0`` :ref:`🔗<class_LimitAngularVelocityModifier3D_property_joint_count>`
+
+The number of joints in the list which created by chains dynamically.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_LimitAngularVelocityModifier3D_property_max_angular_velocity:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **max_angular_velocity** = ``6.2831855`` :ref:`🔗<class_LimitAngularVelocityModifier3D_property_max_angular_velocity>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_max_angular_velocity**\ (\ value\: :ref:`float<class_float>`\ )
+- :ref:`float<class_float>` **get_max_angular_velocity**\ (\ )
+
+The maximum angular velocity per second.
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Method Descriptions
+-------------------
+
+.. _class_LimitAngularVelocityModifier3D_method_clear_chains:
+
+.. rst-class:: classref-method
+
+|void| **clear_chains**\ (\ ) :ref:`🔗<class_LimitAngularVelocityModifier3D_method_clear_chains>`
+
+Clear all chains.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_LimitAngularVelocityModifier3D_method_get_end_bone:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **get_end_bone**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_LimitAngularVelocityModifier3D_method_get_end_bone>`
+
+Returns the end bone index of the bone chain.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_LimitAngularVelocityModifier3D_method_get_end_bone_name:
+
+.. rst-class:: classref-method
+
+:ref:`String<class_String>` **get_end_bone_name**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_LimitAngularVelocityModifier3D_method_get_end_bone_name>`
+
+Returns the end bone name of the bone chain.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_LimitAngularVelocityModifier3D_method_get_root_bone:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **get_root_bone**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_LimitAngularVelocityModifier3D_method_get_root_bone>`
+
+Returns the root bone index of the bone chain.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_LimitAngularVelocityModifier3D_method_get_root_bone_name:
+
+.. rst-class:: classref-method
+
+:ref:`String<class_String>` **get_root_bone_name**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_LimitAngularVelocityModifier3D_method_get_root_bone_name>`
+
+Returns the root bone name of the bone chain.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_LimitAngularVelocityModifier3D_method_reset:
+
+.. rst-class:: classref-method
+
+|void| **reset**\ (\ ) :ref:`🔗<class_LimitAngularVelocityModifier3D_method_reset>`
+
+Sets the reference pose for angle comparison to the current pose with the influence of constraints removed. This function is automatically triggered when joints change or upon activation.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_LimitAngularVelocityModifier3D_method_set_end_bone:
+
+.. rst-class:: classref-method
+
+|void| **set_end_bone**\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ ) :ref:`🔗<class_LimitAngularVelocityModifier3D_method_set_end_bone>`
+
+Sets the end bone index of the bone chain.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_LimitAngularVelocityModifier3D_method_set_end_bone_name:
+
+.. rst-class:: classref-method
+
+|void| **set_end_bone_name**\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_LimitAngularVelocityModifier3D_method_set_end_bone_name>`
+
+Sets the end bone name of the bone chain.
+
+\ **Note:** End bone must be the root bone or a child of the root bone.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_LimitAngularVelocityModifier3D_method_set_root_bone:
+
+.. rst-class:: classref-method
+
+|void| **set_root_bone**\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ ) :ref:`🔗<class_LimitAngularVelocityModifier3D_method_set_root_bone>`
+
+Sets the root bone index of the bone chain.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_LimitAngularVelocityModifier3D_method_set_root_bone_name:
+
+.. rst-class:: classref-method
+
+|void| **set_root_bone_name**\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_LimitAngularVelocityModifier3D_method_set_root_bone_name>`
+
+Sets the root bone name of the bone chain.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
+.. |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.)`

+ 25 - 0
classes/class_node.rst

@@ -662,6 +662,27 @@ Duplicate the node's script (also overriding the duplicated children's scripts,
 
 
 Duplicate using :ref:`PackedScene.instantiate()<class_PackedScene_method_instantiate>`. If the node comes from a scene saved on disk, reuses :ref:`PackedScene.instantiate()<class_PackedScene_method_instantiate>` as the base for the duplicated node and its children.
 Duplicate using :ref:`PackedScene.instantiate()<class_PackedScene_method_instantiate>`. If the node comes from a scene saved on disk, reuses :ref:`PackedScene.instantiate()<class_PackedScene_method_instantiate>` as the base for the duplicated node and its children.
 
 
+.. _class_Node_constant_DUPLICATE_INTERNAL_STATE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`DuplicateFlags<enum_Node_DuplicateFlags>` **DUPLICATE_INTERNAL_STATE** = ``16``
+
+Duplicate also non-serializable variables (i.e. without :ref:`@GlobalScope.PROPERTY_USAGE_STORAGE<class_@GlobalScope_constant_PROPERTY_USAGE_STORAGE>`).
+
+.. _class_Node_constant_DUPLICATE_DEFAULT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`DuplicateFlags<enum_Node_DuplicateFlags>` **DUPLICATE_DEFAULT** = ``15``
+
+Duplicate using default flags. This constant is useful to add or remove a single flag.
+
+::
+
+    # Duplicate non-exported variables.
+    var dupe = duplicate(DUPLICATE_DEFAULT | DUPLICATE_INTERNAL_STATE)
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -761,6 +782,8 @@ Notification received when the node is about to exit a :ref:`SceneTree<class_Sce
 
 
 This notification is received *after* the related :ref:`tree_exiting<class_Node_signal_tree_exiting>` signal.
 This notification is received *after* the related :ref:`tree_exiting<class_Node_signal_tree_exiting>` signal.
 
 
+This notification is sent in reversed order.
+
 .. _class_Node_constant_NOTIFICATION_MOVED_IN_PARENT:
 .. _class_Node_constant_NOTIFICATION_MOVED_IN_PARENT:
 
 
 .. rst-class:: classref-constant
 .. rst-class:: classref-constant
@@ -1891,6 +1914,8 @@ Duplicates the node, returning a new node with all of its properties, signals, g
 
 
 \ **Note:** For nodes with a :ref:`Script<class_Script>` attached, if :ref:`Object._init()<class_Object_private_method__init>` has been defined with required parameters, the duplicated node will not have a :ref:`Script<class_Script>`.
 \ **Note:** For nodes with a :ref:`Script<class_Script>` attached, if :ref:`Object._init()<class_Object_private_method__init>` has been defined with required parameters, the duplicated node will not have a :ref:`Script<class_Script>`.
 
 
+\ **Note:** By default, this method will duplicate only properties marked for serialization (i.e. using :ref:`@GlobalScope.PROPERTY_USAGE_STORAGE<class_@GlobalScope_constant_PROPERTY_USAGE_STORAGE>`, or in GDScript, :ref:`@GDScript.@export<class_@GDScript_annotation_@export>`). If you want to duplicate all properties, use :ref:`DUPLICATE_INTERNAL_STATE<class_Node_constant_DUPLICATE_INTERNAL_STATE>`.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----

+ 2 - 0
classes/class_node3d.rst

@@ -264,6 +264,8 @@ Notification received when this node is registered to a new :ref:`World3D<class_
 
 
 Notification received when this node is unregistered from the current :ref:`World3D<class_World3D>` (see :ref:`get_world_3d()<class_Node3D_method_get_world_3d>`).
 Notification received when this node is unregistered from the current :ref:`World3D<class_World3D>` (see :ref:`get_world_3d()<class_Node3D_method_get_world_3d>`).
 
 
+This notification is sent in reversed order.
+
 .. _class_Node3D_constant_NOTIFICATION_VISIBILITY_CHANGED:
 .. _class_Node3D_constant_NOTIFICATION_VISIBILITY_CHANGED:
 
 
 .. rst-class:: classref-constant
 .. rst-class:: classref-constant

+ 3 - 1
classes/class_object.rst

@@ -307,6 +307,8 @@ Notification received when the object is initialized, before its script is attac
 
 
 Notification received when the object is about to be deleted. Can be used like destructors in object-oriented programming languages.
 Notification received when the object is about to be deleted. Can be used like destructors in object-oriented programming languages.
 
 
+This notification is sent in reversed order.
+
 .. _class_Object_constant_NOTIFICATION_EXTENSION_RELOADED:
 .. _class_Object_constant_NOTIFICATION_EXTENSION_RELOADED:
 
 
 .. rst-class:: classref-constant
 .. rst-class:: classref-constant
@@ -625,7 +627,7 @@ Called when the object receives a notification, which can be identified in ``wha
 
 
 \ **Note:** The base **Object** defines a few notifications (:ref:`NOTIFICATION_POSTINITIALIZE<class_Object_constant_NOTIFICATION_POSTINITIALIZE>` and :ref:`NOTIFICATION_PREDELETE<class_Object_constant_NOTIFICATION_PREDELETE>`). Inheriting classes such as :ref:`Node<class_Node>` define a lot more notifications, which are also received by this method.
 \ **Note:** The base **Object** defines a few notifications (:ref:`NOTIFICATION_POSTINITIALIZE<class_Object_constant_NOTIFICATION_POSTINITIALIZE>` and :ref:`NOTIFICATION_PREDELETE<class_Object_constant_NOTIFICATION_PREDELETE>`). Inheriting classes such as :ref:`Node<class_Node>` define a lot more notifications, which are also received by this method.
 
 
-\ **Note:** Unlike other virtual methods, this method is called automatically for every script that overrides it. This means that the base implementation should not be called via ``super`` in GDScript or its equivalents in other languages. The bottom-most sub-class will be called first, with subsequent calls ascending the class hierarchy.
+\ **Note:** Unlike other virtual methods, this method is called automatically for every script that overrides it. This means that the base implementation should not be called via ``super`` in GDScript or its equivalents in other languages. Call order depends on the ``reversed`` argument of :ref:`notification()<class_Object_method_notification>` and varies between different notifications. Most notifications are sent in the forward order (i.e. Object class first, most derived class last).
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 55 - 13
classes/class_openxrextensionwrapper.rst

@@ -12,7 +12,7 @@ OpenXRExtensionWrapper
 
 
 **Inherits:** :ref:`Object<class_Object>`
 **Inherits:** :ref:`Object<class_Object>`
 
 
-**Inherited By:** :ref:`OpenXRExtensionWrapperExtension<class_OpenXRExtensionWrapperExtension>`, :ref:`OpenXRFutureExtension<class_OpenXRFutureExtension>`, :ref:`OpenXRRenderModelExtension<class_OpenXRRenderModelExtension>`, :ref:`OpenXRSpatialAnchorCapability<class_OpenXRSpatialAnchorCapability>`, :ref:`OpenXRSpatialEntityExtension<class_OpenXRSpatialEntityExtension>`, :ref:`OpenXRSpatialMarkerTrackingCapability<class_OpenXRSpatialMarkerTrackingCapability>`, :ref:`OpenXRSpatialPlaneTrackingCapability<class_OpenXRSpatialPlaneTrackingCapability>`
+**Inherited By:** :ref:`OpenXRExtensionWrapperExtension<class_OpenXRExtensionWrapperExtension>`, :ref:`OpenXRFrameSynthesisExtension<class_OpenXRFrameSynthesisExtension>`, :ref:`OpenXRFutureExtension<class_OpenXRFutureExtension>`, :ref:`OpenXRRenderModelExtension<class_OpenXRRenderModelExtension>`, :ref:`OpenXRSpatialAnchorCapability<class_OpenXRSpatialAnchorCapability>`, :ref:`OpenXRSpatialEntityExtension<class_OpenXRSpatialEntityExtension>`, :ref:`OpenXRSpatialMarkerTrackingCapability<class_OpenXRSpatialMarkerTrackingCapability>`, :ref:`OpenXRSpatialPlaneTrackingCapability<class_OpenXRSpatialPlaneTrackingCapability>`
 
 
 Allows implementing OpenXR extensions with GDExtension.
 Allows implementing OpenXR extensions with GDExtension.
 
 
@@ -100,6 +100,10 @@ Methods
    +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                                           | :ref:`_on_viewport_composition_layer_destroyed<class_OpenXRExtensionWrapper_private_method__on_viewport_composition_layer_destroyed>`\ (\ layer\: ``const void*``\ ) |virtual|                                                                                                          |
    | |void|                                                           | :ref:`_on_viewport_composition_layer_destroyed<class_OpenXRExtensionWrapper_private_method__on_viewport_composition_layer_destroyed>`\ (\ layer\: ``const void*``\ ) |virtual|                                                                                                          |
    +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                           | :ref:`_prepare_view_configuration<class_OpenXRExtensionWrapper_private_method__prepare_view_configuration>`\ (\ view_count\: :ref:`int<class_int>`\ ) |virtual|                                                                                                                         |
+   +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                           | :ref:`_print_view_configuration_info<class_OpenXRExtensionWrapper_private_method__print_view_configuration_info>`\ (\ view\: :ref:`int<class_int>`\ ) |virtual| |const|                                                                                                                 |
+   +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                            | :ref:`_set_android_surface_swapchain_create_info_and_get_next_pointer<class_OpenXRExtensionWrapper_private_method__set_android_surface_swapchain_create_info_and_get_next_pointer>`\ (\ property_values\: :ref:`Dictionary<class_Dictionary>`, next_pointer\: ``void*``\ ) |virtual|    |
    | :ref:`int<class_int>`                                            | :ref:`_set_android_surface_swapchain_create_info_and_get_next_pointer<class_OpenXRExtensionWrapper_private_method__set_android_surface_swapchain_create_info_and_get_next_pointer>`\ (\ property_values\: :ref:`Dictionary<class_Dictionary>`, next_pointer\: ``void*``\ ) |virtual|    |
    +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                            | :ref:`_set_frame_end_info_and_get_next_pointer<class_OpenXRExtensionWrapper_private_method__set_frame_end_info_and_get_next_pointer>`\ (\ next_pointer\: ``void*``\ ) |virtual|                                                                                                         |
    | :ref:`int<class_int>`                                            | :ref:`_set_frame_end_info_and_get_next_pointer<class_OpenXRExtensionWrapper_private_method__set_frame_end_info_and_get_next_pointer>`\ (\ next_pointer\: ``void*``\ ) |virtual|                                                                                                         |
@@ -120,6 +124,8 @@ Methods
    +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                            | :ref:`_set_system_properties_and_get_next_pointer<class_OpenXRExtensionWrapper_private_method__set_system_properties_and_get_next_pointer>`\ (\ next_pointer\: ``void*``\ ) |virtual|                                                                                                   |
    | :ref:`int<class_int>`                                            | :ref:`_set_system_properties_and_get_next_pointer<class_OpenXRExtensionWrapper_private_method__set_system_properties_and_get_next_pointer>`\ (\ next_pointer\: ``void*``\ ) |virtual|                                                                                                   |
    +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                            | :ref:`_set_view_configuration_and_get_next_pointer<class_OpenXRExtensionWrapper_private_method__set_view_configuration_and_get_next_pointer>`\ (\ view\: :ref:`int<class_int>`, next_pointer\: ``void*``\ ) |virtual|                                                                   |
+   +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                            | :ref:`_set_view_locate_info_and_get_next_pointer<class_OpenXRExtensionWrapper_private_method__set_view_locate_info_and_get_next_pointer>`\ (\ next_pointer\: ``void*``\ ) |virtual|                                                                                                     |
    | :ref:`int<class_int>`                                            | :ref:`_set_view_locate_info_and_get_next_pointer<class_OpenXRExtensionWrapper_private_method__set_view_locate_info_and_get_next_pointer>`\ (\ next_pointer\: ``void*``\ ) |virtual|                                                                                                     |
    +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                            | :ref:`_set_viewport_composition_layer_and_get_next_pointer<class_OpenXRExtensionWrapper_private_method__set_viewport_composition_layer_and_get_next_pointer>`\ (\ layer\: ``const void*``, property_values\: :ref:`Dictionary<class_Dictionary>`, next_pointer\: ``void*``\ ) |virtual| |
    | :ref:`int<class_int>`                                            | :ref:`_set_viewport_composition_layer_and_get_next_pointer<class_OpenXRExtensionWrapper_private_method__set_viewport_composition_layer_and_get_next_pointer>`\ (\ layer\: ``const void*``, property_values\: :ref:`Dictionary<class_Dictionary>`, next_pointer\: ``void*``\ ) |virtual| |
@@ -528,13 +534,37 @@ Called when a composition layer created via :ref:`OpenXRCompositionLayer<class_O
 
 
 ----
 ----
 
 
+.. _class_OpenXRExtensionWrapper_private_method__prepare_view_configuration:
+
+.. rst-class:: classref-method
+
+|void| **_prepare_view_configuration**\ (\ view_count\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__prepare_view_configuration>`
+
+Called before :ref:`_set_view_configuration_and_get_next_pointer()<class_OpenXRExtensionWrapper_private_method__set_view_configuration_and_get_next_pointer>` to allow the extension to reserve data for the given number of views.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapper_private_method__print_view_configuration_info:
+
+.. rst-class:: classref-method
+
+|void| **_print_view_configuration_info**\ (\ view\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__print_view_configuration_info>`
+
+Called to allow an extension to print additional information about its view configuration, if applicable. This will only be called if verbose output is enabled.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_OpenXRExtensionWrapper_private_method__set_android_surface_swapchain_create_info_and_get_next_pointer:
 .. _class_OpenXRExtensionWrapper_private_method__set_android_surface_swapchain_create_info_and_get_next_pointer:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
 :ref:`int<class_int>` **_set_android_surface_swapchain_create_info_and_get_next_pointer**\ (\ property_values\: :ref:`Dictionary<class_Dictionary>`, next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_android_surface_swapchain_create_info_and_get_next_pointer>`
 :ref:`int<class_int>` **_set_android_surface_swapchain_create_info_and_get_next_pointer**\ (\ property_values\: :ref:`Dictionary<class_Dictionary>`, next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_android_surface_swapchain_create_info_and_get_next_pointer>`
 
 
-Adds additional data structures to Android surface swapchains created by :ref:`OpenXRCompositionLayer<class_OpenXRCompositionLayer>`.
+Add additional data structures to Android surface swapchains created by :ref:`OpenXRCompositionLayer<class_OpenXRCompositionLayer>`.
 
 
 \ ``property_values`` contains the values of the properties returned by :ref:`_get_viewport_composition_layer_extension_properties()<class_OpenXRExtensionWrapper_private_method__get_viewport_composition_layer_extension_properties>`.
 \ ``property_values`` contains the values of the properties returned by :ref:`_get_viewport_composition_layer_extension_properties()<class_OpenXRExtensionWrapper_private_method__get_viewport_composition_layer_extension_properties>`.
 
 
@@ -550,7 +580,7 @@ Adds additional data structures to Android surface swapchains created by :ref:`O
 
 
 :ref:`int<class_int>` **_set_frame_end_info_and_get_next_pointer**\ (\ next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_frame_end_info_and_get_next_pointer>`
 :ref:`int<class_int>` **_set_frame_end_info_and_get_next_pointer**\ (\ next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_frame_end_info_and_get_next_pointer>`
 
 
-Adds additional data structures to ``XrFrameEndInfo``.
+Add additional data structures to ``XrFrameEndInfo``.
 
 
 This will only be called if the extension previously registered itself with :ref:`OpenXRAPIExtension.register_frame_info_extension()<class_OpenXRAPIExtension_method_register_frame_info_extension>`.
 This will only be called if the extension previously registered itself with :ref:`OpenXRAPIExtension.register_frame_info_extension()<class_OpenXRAPIExtension_method_register_frame_info_extension>`.
 
 
@@ -566,7 +596,7 @@ This will only be called if the extension previously registered itself with :ref
 
 
 :ref:`int<class_int>` **_set_frame_wait_info_and_get_next_pointer**\ (\ next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_frame_wait_info_and_get_next_pointer>`
 :ref:`int<class_int>` **_set_frame_wait_info_and_get_next_pointer**\ (\ next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_frame_wait_info_and_get_next_pointer>`
 
 
-Adds additional data structures to ``XrFrameWaitInfo``.
+Add additional data structures to ``XrFrameWaitInfo``.
 
 
 This will only be called if the extension previously registered itself with :ref:`OpenXRAPIExtension.register_frame_info_extension()<class_OpenXRAPIExtension_method_register_frame_info_extension>`.
 This will only be called if the extension previously registered itself with :ref:`OpenXRAPIExtension.register_frame_info_extension()<class_OpenXRAPIExtension_method_register_frame_info_extension>`.
 
 
@@ -582,7 +612,7 @@ This will only be called if the extension previously registered itself with :ref
 
 
 :ref:`int<class_int>` **_set_hand_joint_locations_and_get_next_pointer**\ (\ hand_index\: :ref:`int<class_int>`, next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_hand_joint_locations_and_get_next_pointer>`
 :ref:`int<class_int>` **_set_hand_joint_locations_and_get_next_pointer**\ (\ hand_index\: :ref:`int<class_int>`, next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_hand_joint_locations_and_get_next_pointer>`
 
 
-Adds additional data structures when each hand tracker is created.
+Add additional data structures when each hand tracker is created.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -594,7 +624,7 @@ Adds additional data structures when each hand tracker is created.
 
 
 :ref:`int<class_int>` **_set_instance_create_info_and_get_next_pointer**\ (\ next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_instance_create_info_and_get_next_pointer>`
 :ref:`int<class_int>` **_set_instance_create_info_and_get_next_pointer**\ (\ next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_instance_create_info_and_get_next_pointer>`
 
 
-Adds additional data structures when the OpenXR instance is created.
+Add additional data structures when the OpenXR instance is created.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -606,7 +636,7 @@ Adds additional data structures when the OpenXR instance is created.
 
 
 :ref:`int<class_int>` **_set_projection_views_and_get_next_pointer**\ (\ view_index\: :ref:`int<class_int>`, next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_projection_views_and_get_next_pointer>`
 :ref:`int<class_int>` **_set_projection_views_and_get_next_pointer**\ (\ view_index\: :ref:`int<class_int>`, next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_projection_views_and_get_next_pointer>`
 
 
-Adds additional data structures to the projection view of the given ``view_index``.
+Add additional data structures to the projection view of the given ``view_index``.
 
 
 \ **Note:** This virtual method will be called on the render thread. Additionally, the data it returns will be used shortly after this method is called, so it needs to remain valid until the next time :ref:`_on_pre_render()<class_OpenXRExtensionWrapper_private_method__on_pre_render>` runs.
 \ **Note:** This virtual method will be called on the render thread. Additionally, the data it returns will be used shortly after this method is called, so it needs to remain valid until the next time :ref:`_on_pre_render()<class_OpenXRExtensionWrapper_private_method__on_pre_render>` runs.
 
 
@@ -620,7 +650,7 @@ Adds additional data structures to the projection view of the given ``view_index
 
 
 :ref:`int<class_int>` **_set_reference_space_create_info_and_get_next_pointer**\ (\ reference_space_type\: :ref:`int<class_int>`, next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_reference_space_create_info_and_get_next_pointer>`
 :ref:`int<class_int>` **_set_reference_space_create_info_and_get_next_pointer**\ (\ reference_space_type\: :ref:`int<class_int>`, next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_reference_space_create_info_and_get_next_pointer>`
 
 
-Adds additional data structures to ``XrReferenceSpaceCreateInfo``.
+Add additional data structures to ``XrReferenceSpaceCreateInfo``.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -632,7 +662,7 @@ Adds additional data structures to ``XrReferenceSpaceCreateInfo``.
 
 
 :ref:`int<class_int>` **_set_session_create_and_get_next_pointer**\ (\ next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_session_create_and_get_next_pointer>`
 :ref:`int<class_int>` **_set_session_create_and_get_next_pointer**\ (\ next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_session_create_and_get_next_pointer>`
 
 
-Adds additional data structures when the OpenXR session is created.
+Add additional data structures when the OpenXR session is created.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -644,7 +674,7 @@ Adds additional data structures when the OpenXR session is created.
 
 
 :ref:`int<class_int>` **_set_swapchain_create_info_and_get_next_pointer**\ (\ next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_swapchain_create_info_and_get_next_pointer>`
 :ref:`int<class_int>` **_set_swapchain_create_info_and_get_next_pointer**\ (\ next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_swapchain_create_info_and_get_next_pointer>`
 
 
-Adds additional data structures when creating OpenXR swapchains.
+Add additional data structures when creating OpenXR swapchains.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -656,7 +686,19 @@ Adds additional data structures when creating OpenXR swapchains.
 
 
 :ref:`int<class_int>` **_set_system_properties_and_get_next_pointer**\ (\ next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_system_properties_and_get_next_pointer>`
 :ref:`int<class_int>` **_set_system_properties_and_get_next_pointer**\ (\ next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_system_properties_and_get_next_pointer>`
 
 
-Adds additional data structures when querying OpenXR system abilities.
+Add additional data structures when querying OpenXR system abilities.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapper_private_method__set_view_configuration_and_get_next_pointer:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **_set_view_configuration_and_get_next_pointer**\ (\ view\: :ref:`int<class_int>`, next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_view_configuration_and_get_next_pointer>`
+
+Add additional data structures when querying OpenXR view configuration.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -668,7 +710,7 @@ Adds additional data structures when querying OpenXR system abilities.
 
 
 :ref:`int<class_int>` **_set_view_locate_info_and_get_next_pointer**\ (\ next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_view_locate_info_and_get_next_pointer>`
 :ref:`int<class_int>` **_set_view_locate_info_and_get_next_pointer**\ (\ next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_view_locate_info_and_get_next_pointer>`
 
 
-Adds additional data structures to ``XrViewLocateInfo``.
+Add additional data structures to ``XrViewLocateInfo``.
 
 
 This will only be called if the extension previously registered itself with :ref:`OpenXRAPIExtension.register_frame_info_extension()<class_OpenXRAPIExtension_method_register_frame_info_extension>`.
 This will only be called if the extension previously registered itself with :ref:`OpenXRAPIExtension.register_frame_info_extension()<class_OpenXRAPIExtension_method_register_frame_info_extension>`.
 
 
@@ -684,7 +726,7 @@ This will only be called if the extension previously registered itself with :ref
 
 
 :ref:`int<class_int>` **_set_viewport_composition_layer_and_get_next_pointer**\ (\ layer\: ``const void*``, property_values\: :ref:`Dictionary<class_Dictionary>`, next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_viewport_composition_layer_and_get_next_pointer>`
 :ref:`int<class_int>` **_set_viewport_composition_layer_and_get_next_pointer**\ (\ layer\: ``const void*``, property_values\: :ref:`Dictionary<class_Dictionary>`, next_pointer\: ``void*``\ ) |virtual| :ref:`🔗<class_OpenXRExtensionWrapper_private_method__set_viewport_composition_layer_and_get_next_pointer>`
 
 
-Adds additional data structures to composition layers created by :ref:`OpenXRCompositionLayer<class_OpenXRCompositionLayer>`.
+Add additional data structures to composition layers created by :ref:`OpenXRCompositionLayer<class_OpenXRCompositionLayer>`.
 
 
 \ ``property_values`` contains the values of the properties returned by :ref:`_get_viewport_composition_layer_extension_properties()<class_OpenXRExtensionWrapper_private_method__get_viewport_composition_layer_extension_properties>`.
 \ ``property_values`` contains the values of the properties returned by :ref:`_get_viewport_composition_layer_extension_properties()<class_OpenXRExtensionWrapper_private_method__get_viewport_composition_layer_extension_properties>`.
 
 

+ 128 - 0
classes/class_openxrframesynthesisextension.rst

@@ -0,0 +1,128 @@
+: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/OpenXRFrameSynthesisExtension.xml.
+
+.. _class_OpenXRFrameSynthesisExtension:
+
+OpenXRFrameSynthesisExtension
+=============================
+
+**Inherits:** :ref:`OpenXRExtensionWrapper<class_OpenXRExtensionWrapper>` **<** :ref:`Object<class_Object>`
+
+The OpenXR Frame synthesis extension allows for advanced reprojection at low(er) framerates.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This class implements the `OpenXR Frame synthesis extension <https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_frame_synthesis>`__. When enabled in the project settings and supported by the XR runtime in use, frame synthesis uses advanced reprojection techniques to inject additional frames so that your XR experience hits the full frame rate of the device.
+
+.. rst-class:: classref-reftable-group
+
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +-------------------------+------------------------------------------------------------------------------------------------+-----------+
+   | :ref:`bool<class_bool>` | :ref:`enabled<class_OpenXRFrameSynthesisExtension_property_enabled>`                           | ``false`` |
+   +-------------------------+------------------------------------------------------------------------------------------------+-----------+
+   | :ref:`bool<class_bool>` | :ref:`relax_frame_interval<class_OpenXRFrameSynthesisExtension_property_relax_frame_interval>` | ``false`` |
+   +-------------------------+------------------------------------------------------------------------------------------------+-----------+
+
+.. rst-class:: classref-reftable-group
+
+Methods
+-------
+
+.. table::
+   :widths: auto
+
+   +-------------------------+--------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>` | :ref:`is_available<class_OpenXRFrameSynthesisExtension_method_is_available>`\ (\ ) |const| |
+   +-------------------------+--------------------------------------------------------------------------------------------+
+   | |void|                  | :ref:`skip_next_frame<class_OpenXRFrameSynthesisExtension_method_skip_next_frame>`\ (\ )   |
+   +-------------------------+--------------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Property Descriptions
+---------------------
+
+.. _class_OpenXRFrameSynthesisExtension_property_enabled:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **enabled** = ``false`` :ref:`🔗<class_OpenXRFrameSynthesisExtension_property_enabled>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
+- :ref:`bool<class_bool>` **is_enabled**\ (\ )
+
+Enable frame synthesis. When ``true`` motion vector and depth data is provided to the XR runtime.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRFrameSynthesisExtension_property_relax_frame_interval:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **relax_frame_interval** = ``false`` :ref:`🔗<class_OpenXRFrameSynthesisExtension_property_relax_frame_interval>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_relax_frame_interval**\ (\ value\: :ref:`bool<class_bool>`\ )
+- :ref:`bool<class_bool>` **get_relax_frame_interval**\ (\ )
+
+If ``true`` this informs the XR runtime we will be providing frames at a greatly reduced rate. Enable this when you expect your application to run at low framerates and wish to inject multiple reprojected frames.
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Method Descriptions
+-------------------
+
+.. _class_OpenXRFrameSynthesisExtension_method_is_available:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **is_available**\ (\ ) |const| :ref:`🔗<class_OpenXRFrameSynthesisExtension_method_is_available>`
+
+Returns ``true`` if frame synthesis is enabled in the project settings and the current XR runtime supports frame synthesis. The value returned will only be valid once OpenXR has been initialized.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRFrameSynthesisExtension_method_skip_next_frame:
+
+.. rst-class:: classref-method
+
+|void| **skip_next_frame**\ (\ ) :ref:`🔗<class_OpenXRFrameSynthesisExtension_method_skip_next_frame>`
+
+Queues the next frame to be skipped when supplying motion vector and depth data. Call this after teleporting your player or a similar action has moved the player to prevent incorrect reprojection results due to this movement.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
+.. |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.)`

+ 10 - 4
classes/class_os.rst

@@ -744,7 +744,13 @@ Not to be confused with :ref:`get_user_data_dir()<class_OS_method_get_user_data_
 
 
 :ref:`PackedStringArray<class_PackedStringArray>` **get_cmdline_args**\ (\ ) :ref:`🔗<class_OS_method_get_cmdline_args>`
 :ref:`PackedStringArray<class_PackedStringArray>` **get_cmdline_args**\ (\ ) :ref:`🔗<class_OS_method_get_cmdline_args>`
 
 
-Returns the command-line arguments passed to the engine.
+Returns the command-line arguments passed to the engine, excluding arguments processed by the engine, such as ``--headless`` and ``--fullscreen``.
+
+::
+
+    # Godot has been executed with the following command:
+    # godot --headless --verbose --scene my_scene.tscn --custom
+    OS.get_cmdline_args() # Returns ["--scene", "my_scene.tscn", "--custom"]
 
 
 Command-line arguments can be written in any form, including both ``--key value`` and ``--key=value`` forms so they can be properly parsed, as long as custom command-line arguments do not conflict with engine arguments.
 Command-line arguments can be written in any form, including both ``--key value`` and ``--key=value`` forms so they can be properly parsed, as long as custom command-line arguments do not conflict with engine arguments.
 
 
@@ -806,12 +812,12 @@ Returns the command-line user arguments passed to the engine. User arguments are
 ::
 ::
 
 
     # Godot has been executed with the following command:
     # Godot has been executed with the following command:
-    # godot --fullscreen -- --level=2 --hardcore
+    # godot --fullscreen --custom -- --level=2 --hardcore
 
 
-    OS.get_cmdline_args()      # Returns ["--fullscreen", "--level=2", "--hardcore"]
+    OS.get_cmdline_args()      # Returns ["--custom"]
     OS.get_cmdline_user_args() # Returns ["--level=2", "--hardcore"]
     OS.get_cmdline_user_args() # Returns ["--level=2", "--hardcore"]
 
 
-To get all passed arguments, use :ref:`get_cmdline_args()<class_OS_method_get_cmdline_args>`.
+To get arguments passed before ``--`` or ``++``, use :ref:`get_cmdline_args()<class_OS_method_get_cmdline_args>`.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 14 - 0
classes/class_popupmenu.rst

@@ -240,6 +240,8 @@ Theme Properties
    +-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
    +-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
    | :ref:`Color<class_Color>`         | :ref:`font_separator_outline_color<class_PopupMenu_theme_color_font_separator_outline_color>` | ``Color(0, 0, 0, 1)``             |
    | :ref:`Color<class_Color>`         | :ref:`font_separator_outline_color<class_PopupMenu_theme_color_font_separator_outline_color>` | ``Color(0, 0, 0, 1)``             |
    +-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
    +-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
+   | :ref:`int<class_int>`             | :ref:`gutter_compact<class_PopupMenu_theme_constant_gutter_compact>`                          | ``1``                             |
+   +-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
    | :ref:`int<class_int>`             | :ref:`h_separation<class_PopupMenu_theme_constant_h_separation>`                              | ``4``                             |
    | :ref:`int<class_int>`             | :ref:`h_separation<class_PopupMenu_theme_constant_h_separation>`                              | ``4``                             |
    +-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
    +-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
    | :ref:`int<class_int>`             | :ref:`icon_max_width<class_PopupMenu_theme_constant_icon_max_width>`                          | ``0``                             |
    | :ref:`int<class_int>`             | :ref:`icon_max_width<class_PopupMenu_theme_constant_icon_max_width>`                          | ``0``                             |
@@ -1561,6 +1563,18 @@ The tint of text outline of the labeled separator.
 
 
 ----
 ----
 
 
+.. _class_PopupMenu_theme_constant_gutter_compact:
+
+.. rst-class:: classref-themeproperty
+
+:ref:`int<class_int>` **gutter_compact** = ``1`` :ref:`🔗<class_PopupMenu_theme_constant_gutter_compact>`
+
+If not ``0``, the icon gutter will be merged with the checkbox gutter when possible. This acts as a boolean.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_PopupMenu_theme_constant_h_separation:
 .. _class_PopupMenu_theme_constant_h_separation:
 
 
 .. rst-class:: classref-themeproperty
 .. rst-class:: classref-themeproperty

+ 18 - 0
classes/class_projectsettings.rst

@@ -1865,6 +1865,8 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`xr/openxr/extensions/eye_gaze_interaction<class_ProjectSettings_property_xr/openxr/extensions/eye_gaze_interaction>`                                                                                 | ``false``                                                                                        |
    | :ref:`bool<class_bool>`                           | :ref:`xr/openxr/extensions/eye_gaze_interaction<class_ProjectSettings_property_xr/openxr/extensions/eye_gaze_interaction>`                                                                                 | ``false``                                                                                        |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`xr/openxr/extensions/frame_synthesis<class_ProjectSettings_property_xr/openxr/extensions/frame_synthesis>`                                                                                           | ``false``                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`xr/openxr/extensions/hand_interaction_profile<class_ProjectSettings_property_xr/openxr/extensions/hand_interaction_profile>`                                                                         | ``false``                                                                                        |
    | :ref:`bool<class_bool>`                           | :ref:`xr/openxr/extensions/hand_interaction_profile<class_ProjectSettings_property_xr/openxr/extensions/hand_interaction_profile>`                                                                         | ``false``                                                                                        |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`xr/openxr/extensions/hand_tracking<class_ProjectSettings_property_xr/openxr/extensions/hand_tracking>`                                                                                               | ``false``                                                                                        |
    | :ref:`bool<class_bool>`                           | :ref:`xr/openxr/extensions/hand_tracking<class_ProjectSettings_property_xr/openxr/extensions/hand_tracking>`                                                                                               | ``false``                                                                                        |
@@ -2234,6 +2236,8 @@ The project's name. It is used both by the Project Manager and by exporters. The
 
 
 Translations of the project's name. This setting is used by OS tools to translate application name on Android, iOS and macOS.
 Translations of the project's name. This setting is used by OS tools to translate application name on Android, iOS and macOS.
 
 
+\ **Note:** When left empty, the application name is translated using the project translations.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -13939,6 +13943,20 @@ Specify whether to enable eye tracking for this project. Depending on the platfo
 
 
 ----
 ----
 
 
+.. _class_ProjectSettings_property_xr/openxr/extensions/frame_synthesis:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **xr/openxr/extensions/frame_synthesis** = ``false`` :ref:`🔗<class_ProjectSettings_property_xr/openxr/extensions/frame_synthesis>`
+
+If ``true`` the frame synthesis extension will be activated if supported by the platform.
+
+\ **Note:** This feature should not be enabled in conjunction with Application Space Warp, if supported this replaces ASW.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_xr/openxr/extensions/hand_interaction_profile:
 .. _class_ProjectSettings_property_xr/openxr/extensions/hand_interaction_profile:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property

+ 32 - 11
classes/class_rdvertexattribute.rst

@@ -29,17 +29,19 @@ Properties
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +--------------------------------------------------------------+--------------------------------------------------------------+---------+
-   | :ref:`DataFormat<enum_RenderingDevice_DataFormat>`           | :ref:`format<class_RDVertexAttribute_property_format>`       | ``232`` |
-   +--------------------------------------------------------------+--------------------------------------------------------------+---------+
-   | :ref:`VertexFrequency<enum_RenderingDevice_VertexFrequency>` | :ref:`frequency<class_RDVertexAttribute_property_frequency>` | ``0``   |
-   +--------------------------------------------------------------+--------------------------------------------------------------+---------+
-   | :ref:`int<class_int>`                                        | :ref:`location<class_RDVertexAttribute_property_location>`   | ``0``   |
-   +--------------------------------------------------------------+--------------------------------------------------------------+---------+
-   | :ref:`int<class_int>`                                        | :ref:`offset<class_RDVertexAttribute_property_offset>`       | ``0``   |
-   +--------------------------------------------------------------+--------------------------------------------------------------+---------+
-   | :ref:`int<class_int>`                                        | :ref:`stride<class_RDVertexAttribute_property_stride>`       | ``0``   |
-   +--------------------------------------------------------------+--------------------------------------------------------------+---------+
+   +--------------------------------------------------------------+--------------------------------------------------------------+----------------+
+   | :ref:`int<class_int>`                                        | :ref:`binding<class_RDVertexAttribute_property_binding>`     | ``4294967295`` |
+   +--------------------------------------------------------------+--------------------------------------------------------------+----------------+
+   | :ref:`DataFormat<enum_RenderingDevice_DataFormat>`           | :ref:`format<class_RDVertexAttribute_property_format>`       | ``232``        |
+   +--------------------------------------------------------------+--------------------------------------------------------------+----------------+
+   | :ref:`VertexFrequency<enum_RenderingDevice_VertexFrequency>` | :ref:`frequency<class_RDVertexAttribute_property_frequency>` | ``0``          |
+   +--------------------------------------------------------------+--------------------------------------------------------------+----------------+
+   | :ref:`int<class_int>`                                        | :ref:`location<class_RDVertexAttribute_property_location>`   | ``0``          |
+   +--------------------------------------------------------------+--------------------------------------------------------------+----------------+
+   | :ref:`int<class_int>`                                        | :ref:`offset<class_RDVertexAttribute_property_offset>`       | ``0``          |
+   +--------------------------------------------------------------+--------------------------------------------------------------+----------------+
+   | :ref:`int<class_int>`                                        | :ref:`stride<class_RDVertexAttribute_property_stride>`       | ``0``          |
+   +--------------------------------------------------------------+--------------------------------------------------------------+----------------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -50,6 +52,25 @@ Properties
 Property Descriptions
 Property Descriptions
 ---------------------
 ---------------------
 
 
+.. _class_RDVertexAttribute_property_binding:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **binding** = ``4294967295`` :ref:`🔗<class_RDVertexAttribute_property_binding>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_binding**\ (\ value\: :ref:`int<class_int>`\ )
+- :ref:`int<class_int>` **get_binding**\ (\ )
+
+The index of the buffer in the vertex buffer array to bind this vertex attribute. When set to ``-1``, it defaults to the index of the attribute.
+
+\ **Note:** You cannot mix binding explicitly assigned attributes with implicitly assigned ones (i.e. ``-1``). Either all attributes must have their binding set to ``-1``, or all must have explicit bindings.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_RDVertexAttribute_property_format:
 .. _class_RDVertexAttribute_property_format:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property

+ 14 - 0
classes/class_renderingdevice.rst

@@ -103,6 +103,8 @@ Methods
    +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                                     | :ref:`draw_list_bind_vertex_array<class_RenderingDevice_method_draw_list_bind_vertex_array>`\ (\ draw_list\: :ref:`int<class_int>`, vertex_array\: :ref:`RID<class_RID>`\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
    | |void|                                                     | :ref:`draw_list_bind_vertex_array<class_RenderingDevice_method_draw_list_bind_vertex_array>`\ (\ draw_list\: :ref:`int<class_int>`, vertex_array\: :ref:`RID<class_RID>`\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
    +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                                     | :ref:`draw_list_bind_vertex_buffers_format<class_RenderingDevice_method_draw_list_bind_vertex_buffers_format>`\ (\ draw_list\: :ref:`int<class_int>`, vertex_format\: :ref:`int<class_int>`, vertex_count\: :ref:`int<class_int>`, vertex_buffers\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\], offsets\: :ref:`PackedInt64Array<class_PackedInt64Array>` = PackedInt64Array()\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
+   +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                                     | :ref:`draw_list_disable_scissor<class_RenderingDevice_method_draw_list_disable_scissor>`\ (\ draw_list\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
    | |void|                                                     | :ref:`draw_list_disable_scissor<class_RenderingDevice_method_draw_list_disable_scissor>`\ (\ draw_list\: :ref:`int<class_int>`\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
    +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                                     | :ref:`draw_list_draw<class_RenderingDevice_method_draw_list_draw>`\ (\ draw_list\: :ref:`int<class_int>`, use_indices\: :ref:`bool<class_bool>`, instances\: :ref:`int<class_int>`, procedural_vertex_count\: :ref:`int<class_int>` = 0\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
    | |void|                                                     | :ref:`draw_list_draw<class_RenderingDevice_method_draw_list_draw>`\ (\ draw_list\: :ref:`int<class_int>`, use_indices\: :ref:`bool<class_bool>`, instances\: :ref:`int<class_int>`, procedural_vertex_count\: :ref:`int<class_int>` = 0\ )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
@@ -5706,6 +5708,18 @@ Binds ``vertex_array`` to the specified ``draw_list``.
 
 
 ----
 ----
 
 
+.. _class_RenderingDevice_method_draw_list_bind_vertex_buffers_format:
+
+.. rst-class:: classref-method
+
+|void| **draw_list_bind_vertex_buffers_format**\ (\ draw_list\: :ref:`int<class_int>`, vertex_format\: :ref:`int<class_int>`, vertex_count\: :ref:`int<class_int>`, vertex_buffers\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\], offsets\: :ref:`PackedInt64Array<class_PackedInt64Array>` = PackedInt64Array()\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_bind_vertex_buffers_format>`
+
+Binds a set of ``vertex_buffers`` directly to the specified ``draw_list`` using ``vertex_format`` without creating a vertex array RID. Provide the number of vertices in ``vertex_count``; optional per-buffer byte ``offsets`` may also be supplied.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_RenderingDevice_method_draw_list_disable_scissor:
 .. _class_RenderingDevice_method_draw_list_disable_scissor:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 1 - 1
classes/class_skeletonmodifier3d.rst

@@ -12,7 +12,7 @@ SkeletonModifier3D
 
 
 **Inherits:** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 **Inherits:** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 
-**Inherited By:** :ref:`BoneConstraint3D<class_BoneConstraint3D>`, :ref:`IKModifier3D<class_IKModifier3D>`, :ref:`LookAtModifier3D<class_LookAtModifier3D>`, :ref:`ModifierBoneTarget3D<class_ModifierBoneTarget3D>`, :ref:`PhysicalBoneSimulator3D<class_PhysicalBoneSimulator3D>`, :ref:`RetargetModifier3D<class_RetargetModifier3D>`, :ref:`SkeletonIK3D<class_SkeletonIK3D>`, :ref:`SpringBoneSimulator3D<class_SpringBoneSimulator3D>`, :ref:`XRBodyModifier3D<class_XRBodyModifier3D>`, :ref:`XRHandModifier3D<class_XRHandModifier3D>`
+**Inherited By:** :ref:`BoneConstraint3D<class_BoneConstraint3D>`, :ref:`IKModifier3D<class_IKModifier3D>`, :ref:`LimitAngularVelocityModifier3D<class_LimitAngularVelocityModifier3D>`, :ref:`LookAtModifier3D<class_LookAtModifier3D>`, :ref:`ModifierBoneTarget3D<class_ModifierBoneTarget3D>`, :ref:`PhysicalBoneSimulator3D<class_PhysicalBoneSimulator3D>`, :ref:`RetargetModifier3D<class_RetargetModifier3D>`, :ref:`SkeletonIK3D<class_SkeletonIK3D>`, :ref:`SpringBoneSimulator3D<class_SpringBoneSimulator3D>`, :ref:`XRBodyModifier3D<class_XRBodyModifier3D>`, :ref:`XRHandModifier3D<class_XRHandModifier3D>`
 
 
 A node that may modify a Skeleton3D's bones.
 A node that may modify a Skeleton3D's bones.
 
 

+ 1 - 1
classes/class_tabbar.rst

@@ -307,7 +307,7 @@ Emitted when a tab is hovered by the mouse.
 
 
 **tab_rmb_clicked**\ (\ tab\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TabBar_signal_tab_rmb_clicked>`
 **tab_rmb_clicked**\ (\ tab\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TabBar_signal_tab_rmb_clicked>`
 
 
-Emitted when a tab is right-clicked. :ref:`select_with_rmb<class_TabBar_property_select_with_rmb>` must be enabled.
+Emitted when a tab is right-clicked.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 14 - 4
classes/class_textserver.rst

@@ -3246,9 +3246,11 @@ Returns the dictionary of the supported OpenType variation coordinates.
 
 
 :ref:`String<class_String>` **format_number**\ (\ number\: :ref:`String<class_String>`, language\: :ref:`String<class_String>` = ""\ ) |const| :ref:`🔗<class_TextServer_method_format_number>`
 :ref:`String<class_String>` **format_number**\ (\ number\: :ref:`String<class_String>`, language\: :ref:`String<class_String>` = ""\ ) |const| :ref:`🔗<class_TextServer_method_format_number>`
 
 
-Converts a number from the Western Arabic (0..9) to the numeral systems used in ``language``.
+**Deprecated:** Use :ref:`TranslationServer.format_number()<class_TranslationServer_method_format_number>` instead.
 
 
-If ``language`` is omitted, the active locale will be used.
+Converts a number from Western Arabic (0..9) to the numeral system used in the given ``language``.
+
+If ``language`` is an empty string, the active locale will be used.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -3462,7 +3464,11 @@ Converts readable feature, variation, script, or language name to OpenType tag.
 
 
 :ref:`String<class_String>` **parse_number**\ (\ number\: :ref:`String<class_String>`, language\: :ref:`String<class_String>` = ""\ ) |const| :ref:`🔗<class_TextServer_method_parse_number>`
 :ref:`String<class_String>` **parse_number**\ (\ number\: :ref:`String<class_String>`, language\: :ref:`String<class_String>` = ""\ ) |const| :ref:`🔗<class_TextServer_method_parse_number>`
 
 
-Converts ``number`` from the numeral systems used in ``language`` to Western Arabic (0..9).
+**Deprecated:** Use :ref:`TranslationServer.parse_number()<class_TranslationServer_method_parse_number>` instead.
+
+Converts ``number`` from the numeral system used in the given ``language`` to Western Arabic (0..9).
+
+If ``language`` is an empty string, the active locale will be used.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -3486,7 +3492,11 @@ Default implementation of the BiDi algorithm override function.
 
 
 :ref:`String<class_String>` **percent_sign**\ (\ language\: :ref:`String<class_String>` = ""\ ) |const| :ref:`🔗<class_TextServer_method_percent_sign>`
 :ref:`String<class_String>` **percent_sign**\ (\ language\: :ref:`String<class_String>` = ""\ ) |const| :ref:`🔗<class_TextServer_method_percent_sign>`
 
 
-Returns percent sign used in the ``language``.
+**Deprecated:** Use :ref:`TranslationServer.get_percent_sign()<class_TranslationServer_method_get_percent_sign>` instead.
+
+Returns the percent sign used in the given ``language``.
+
+If ``language`` is an empty string, the active locale will be used.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 13 - 3
classes/class_textserverextension.rst

@@ -2078,7 +2078,11 @@ Returns the dictionary of the supported OpenType variation coordinates.
 
 
 :ref:`String<class_String>` **_format_number**\ (\ number\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__format_number>`
 :ref:`String<class_String>` **_format_number**\ (\ number\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__format_number>`
 
 
-Converts a number from the Western Arabic (0..9) to the numeral systems used in ``language``.
+**Deprecated:** Use :ref:`TranslationServer.format_number()<class_TranslationServer_method_format_number>` instead.
+
+Converts a number from Western Arabic (0..9) to the numeral system used in the given ``language``.
+
+If ``language`` is an empty string, the active locale will be used.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -2272,7 +2276,11 @@ Converts readable feature, variation, script, or language name to OpenType tag.
 
 
 :ref:`String<class_String>` **_parse_number**\ (\ number\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__parse_number>`
 :ref:`String<class_String>` **_parse_number**\ (\ number\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__parse_number>`
 
 
-Converts ``number`` from the numeral systems used in ``language`` to Western Arabic (0..9).
+**Deprecated:** Use :ref:`TranslationServer.parse_number()<class_TranslationServer_method_parse_number>` instead.
+
+Converts ``number`` from the numeral system used in the given ``language`` to Western Arabic (0..9).
+
+If ``language`` is an empty string, the active locale will be used.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -2296,7 +2304,9 @@ Default implementation of the BiDi algorithm override function.
 
 
 :ref:`String<class_String>` **_percent_sign**\ (\ language\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__percent_sign>`
 :ref:`String<class_String>` **_percent_sign**\ (\ language\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__percent_sign>`
 
 
-Returns percent sign used in the ``language``.
+**Deprecated:** Use :ref:`TranslationServer.get_percent_sign()<class_TranslationServer_method_get_percent_sign>` instead.
+
+Returns percent sign used in the given ``language``.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 42 - 0
classes/class_translationserver.rst

@@ -59,6 +59,8 @@ Methods
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`compare_locales<class_TranslationServer_method_compare_locales>`\ (\ locale_a\: :ref:`String<class_String>`, locale_b\: :ref:`String<class_String>`\ ) |const|                                                                                                        |
    | :ref:`int<class_int>`                             | :ref:`compare_locales<class_TranslationServer_method_compare_locales>`\ (\ locale_a\: :ref:`String<class_String>`, locale_b\: :ref:`String<class_String>`\ ) |const|                                                                                                        |
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`format_number<class_TranslationServer_method_format_number>`\ (\ number\: :ref:`String<class_String>`, locale\: :ref:`String<class_String>`\ ) |const|                                                                                                                |
+   +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_all_countries<class_TranslationServer_method_get_all_countries>`\ (\ ) |const|                                                                                                                                                                                    |
    | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_all_countries<class_TranslationServer_method_get_all_countries>`\ (\ ) |const|                                                                                                                                                                                    |
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_all_languages<class_TranslationServer_method_get_all_languages>`\ (\ ) |const|                                                                                                                                                                                    |
    | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_all_languages<class_TranslationServer_method_get_all_languages>`\ (\ ) |const|                                                                                                                                                                                    |
@@ -77,6 +79,8 @@ Methods
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`TranslationDomain<class_TranslationDomain>` | :ref:`get_or_add_domain<class_TranslationServer_method_get_or_add_domain>`\ (\ domain\: :ref:`StringName<class_StringName>`\ )                                                                                                                                              |
    | :ref:`TranslationDomain<class_TranslationDomain>` | :ref:`get_or_add_domain<class_TranslationServer_method_get_or_add_domain>`\ (\ domain\: :ref:`StringName<class_StringName>`\ )                                                                                                                                              |
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`get_percent_sign<class_TranslationServer_method_get_percent_sign>`\ (\ locale\: :ref:`String<class_String>`\ ) |const|                                                                                                                                                |
+   +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                       | :ref:`get_plural_rules<class_TranslationServer_method_get_plural_rules>`\ (\ locale\: :ref:`String<class_String>`\ ) |const|                                                                                                                                                |
    | :ref:`String<class_String>`                       | :ref:`get_plural_rules<class_TranslationServer_method_get_plural_rules>`\ (\ locale\: :ref:`String<class_String>`\ ) |const|                                                                                                                                                |
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                       | :ref:`get_script_name<class_TranslationServer_method_get_script_name>`\ (\ script\: :ref:`String<class_String>`\ ) |const|                                                                                                                                                  |
    | :ref:`String<class_String>`                       | :ref:`get_script_name<class_TranslationServer_method_get_script_name>`\ (\ script\: :ref:`String<class_String>`\ ) |const|                                                                                                                                                  |
@@ -87,6 +91,8 @@ Methods
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`has_domain<class_TranslationServer_method_has_domain>`\ (\ domain\: :ref:`StringName<class_StringName>`\ ) |const|                                                                                                                                                    |
    | :ref:`bool<class_bool>`                           | :ref:`has_domain<class_TranslationServer_method_has_domain>`\ (\ domain\: :ref:`StringName<class_StringName>`\ ) |const|                                                                                                                                                    |
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`parse_number<class_TranslationServer_method_parse_number>`\ (\ number\: :ref:`String<class_String>`, locale\: :ref:`String<class_String>`\ ) |const|                                                                                                                  |
+   +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`StringName<class_StringName>`               | :ref:`pseudolocalize<class_TranslationServer_method_pseudolocalize>`\ (\ message\: :ref:`StringName<class_StringName>`\ ) |const|                                                                                                                                           |
    | :ref:`StringName<class_StringName>`               | :ref:`pseudolocalize<class_TranslationServer_method_pseudolocalize>`\ (\ message\: :ref:`StringName<class_StringName>`\ ) |const|                                                                                                                                           |
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                            | :ref:`reload_pseudolocalization<class_TranslationServer_method_reload_pseudolocalization>`\ (\ )                                                                                                                                                                            |
    | |void|                                            | :ref:`reload_pseudolocalization<class_TranslationServer_method_reload_pseudolocalization>`\ (\ )                                                                                                                                                                            |
@@ -171,6 +177,18 @@ Compares two locales and returns a similarity score between ``0`` (no match) and
 
 
 ----
 ----
 
 
+.. _class_TranslationServer_method_format_number:
+
+.. rst-class:: classref-method
+
+:ref:`String<class_String>` **format_number**\ (\ number\: :ref:`String<class_String>`, locale\: :ref:`String<class_String>`\ ) |const| :ref:`🔗<class_TranslationServer_method_format_number>`
+
+Converts a number from Western Arabic (0..9) to the numeral system used in the given ``locale``.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_TranslationServer_method_get_all_countries:
 .. _class_TranslationServer_method_get_all_countries:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -281,6 +299,18 @@ Returns the translation domain with the specified name. An empty translation dom
 
 
 ----
 ----
 
 
+.. _class_TranslationServer_method_get_percent_sign:
+
+.. rst-class:: classref-method
+
+:ref:`String<class_String>` **get_percent_sign**\ (\ locale\: :ref:`String<class_String>`\ ) |const| :ref:`🔗<class_TranslationServer_method_get_percent_sign>`
+
+Returns the percent sign used in the given ``locale``.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_TranslationServer_method_get_plural_rules:
 .. _class_TranslationServer_method_get_plural_rules:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -343,6 +373,18 @@ Returns ``true`` if a translation domain with the specified name exists.
 
 
 ----
 ----
 
 
+.. _class_TranslationServer_method_parse_number:
+
+.. rst-class:: classref-method
+
+:ref:`String<class_String>` **parse_number**\ (\ number\: :ref:`String<class_String>`, locale\: :ref:`String<class_String>`\ ) |const| :ref:`🔗<class_TranslationServer_method_parse_number>`
+
+Converts ``number`` from the numeral system used in the given ``locale`` to Western Arabic (0..9).
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_TranslationServer_method_pseudolocalize:
 .. _class_TranslationServer_method_pseudolocalize:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 47 - 0
classes/class_vscrollbar.rst

@@ -35,6 +35,53 @@ Properties
    | |bitfield|\[:ref:`SizeFlags<enum_Control_SizeFlags>`\] | size_flags_vertical   | ``1`` (overrides :ref:`Control<class_Control_property_size_flags_vertical>`)   |
    | |bitfield|\[:ref:`SizeFlags<enum_Control_SizeFlags>`\] | size_flags_vertical   | ``1`` (overrides :ref:`Control<class_Control_property_size_flags_vertical>`)   |
    +--------------------------------------------------------+-----------------------+--------------------------------------------------------------------------------+
    +--------------------------------------------------------+-----------------------+--------------------------------------------------------------------------------+
 
 
+.. rst-class:: classref-reftable-group
+
+Theme Properties
+----------------
+
+.. table::
+   :widths: auto
+
+   +-----------------------+---------------------------------------------------------------------+-------+
+   | :ref:`int<class_int>` | :ref:`padding_left<class_VScrollBar_theme_constant_padding_left>`   | ``0`` |
+   +-----------------------+---------------------------------------------------------------------+-------+
+   | :ref:`int<class_int>` | :ref:`padding_right<class_VScrollBar_theme_constant_padding_right>` | ``0`` |
+   +-----------------------+---------------------------------------------------------------------+-------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Theme Property Descriptions
+---------------------------
+
+.. _class_VScrollBar_theme_constant_padding_left:
+
+.. rst-class:: classref-themeproperty
+
+:ref:`int<class_int>` **padding_left** = ``0`` :ref:`🔗<class_VScrollBar_theme_constant_padding_left>`
+
+Padding between the left of the :ref:`ScrollBar.scroll<class_ScrollBar_theme_style_scroll>` element and the :ref:`ScrollBar.grabber<class_ScrollBar_theme_style_grabber>`.
+
+\ **Note:** To apply vertical padding, modify the top/bottom content margins of :ref:`ScrollBar.scroll<class_ScrollBar_theme_style_scroll>` instead.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_VScrollBar_theme_constant_padding_right:
+
+.. rst-class:: classref-themeproperty
+
+:ref:`int<class_int>` **padding_right** = ``0`` :ref:`🔗<class_VScrollBar_theme_constant_padding_right>`
+
+Padding between the right of the :ref:`ScrollBar.scroll<class_ScrollBar_theme_style_scroll>` element and the :ref:`ScrollBar.grabber<class_ScrollBar_theme_style_grabber>`.
+
+\ **Note:** To apply vertical padding, modify the top/bottom content margins of :ref:`ScrollBar.scroll<class_ScrollBar_theme_style_scroll>` instead.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
 .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 2 - 0
classes/index.rst

@@ -158,6 +158,7 @@ Nodes
     class_lightmapgi
     class_lightmapgi
     class_lightmapprobe
     class_lightmapprobe
     class_lightoccluder2d
     class_lightoccluder2d
+    class_limitangularvelocitymodifier3d
     class_line2d
     class_line2d
     class_lineedit
     class_lineedit
     class_linkbutton
     class_linkbutton
@@ -872,6 +873,7 @@ Other objects
     class_openxrapiextension
     class_openxrapiextension
     class_openxrextensionwrapper
     class_openxrextensionwrapper
     class_openxrextensionwrapperextension
     class_openxrextensionwrapperextension
+    class_openxrframesynthesisextension
     class_openxrfutureextension
     class_openxrfutureextension
     class_openxrfutureresult
     class_openxrfutureresult
     class_openxrinteractionprofilemetadata
     class_openxrinteractionprofilemetadata