Forráskód Böngészése

classref: Sync with current master branch (ef34c3d)

Godot Organization 4 hete
szülő
commit
7b4ae2ad8c
36 módosított fájl, 1384 hozzáadás és 215 törlés
  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():
         var id = get_instance_id()
         var instance = instance_from_id(id)
-        print(instance.foo) # Prints "water"
+        print(instance.drink) # Prints "water"
 
  .. 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.
 
-\ **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
 

+ 120 - 27
classes/class_boneconstraint3d.rst

@@ -31,33 +31,74 @@ Methods
 .. table::
    :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
 
@@ -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:
 
 .. 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:
 
 .. 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.
 
+This notification is sent in reversed order.
+
 .. _class_CanvasItem_constant_NOTIFICATION_WORLD_2D_CHANGED:
 
 .. 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``
 
-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
 
@@ -1285,6 +1285,8 @@ Sent when the node grabs focus.
 
 Sent when the node loses focus.
 
+This notification is sent in reversed order.
+
 .. _class_Control_constant_NOTIFICATION_THEME_CHANGED:
 
 .. 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.
 
+\ **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
 
 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.
 
+\ **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
 
 Properties

+ 184 - 138
classes/class_cpuparticles2d.rst

@@ -38,143 +38,147 @@ Properties
 .. table::
    :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
 
@@ -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>`.
 
+.. _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:
 
 .. 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.
 
@@ -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:
 
 .. 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.
 
-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.
 

+ 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>`
 
+**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>`.
 
 .. |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/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/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_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/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_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|                                                        |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |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:`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_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:`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_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:
 
 .. 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:
 
 .. 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
 
 ----
@@ -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:
 
 .. 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:
 
 .. 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:
 
 .. 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_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``                           |
    +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+
@@ -1169,7 +1169,7 @@ The bleed scale of the HDR glow.
 
 .. 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
 

+ 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:`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:`Dictionary<class_Dictionary>`                                        | :ref:`json<class_GLTFState_property_json>`                                         | ``{}``                 |
@@ -170,6 +172,57 @@ Methods
 
 .. 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
 ---------
 
@@ -179,6 +232,8 @@ Constants
 
 **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.
 
 .. _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>`
 
+**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.
 
 .. _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>`
 
+**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.
 
 .. _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>`
 
+**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.
 
 .. 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:
 
 .. 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>`
 
-.. 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
 
@@ -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>`
 
-.. 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
 

+ 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:`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_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_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_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:
 
 .. 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:
 
 .. 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).
 
+.. 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.)`
 .. |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.)`

+ 3 - 1
classes/class_httprequest.rst

@@ -501,7 +501,9 @@ Maximum number of allowed redirects.
 - |void| **set_timeout**\ (\ value\: :ref:`float<class_float>`\ )
 - :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
 

+ 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:`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_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>`\ )                                                                                                                                                                                                                 |
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :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>`\ )                                                                                                                                                                                                           |
    +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :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:
 
 .. 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:
 
 .. 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>`
 
-Pseudo inverse Jacobian matrix based inverse kinematics solver.
+Jacobian transpose based inverse kinematics solver.
 
 .. 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.
 
+.. _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
 
 ----
@@ -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 sent in reversed order.
+
 .. _class_Node_constant_NOTIFICATION_MOVED_IN_PARENT:
 
 .. 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:** 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
 
 ----

+ 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>`).
 
+This notification is sent in reversed order.
+
 .. _class_Node3D_constant_NOTIFICATION_VISIBILITY_CHANGED:
 
 .. 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.
 
+This notification is sent in reversed order.
+
 .. _class_Object_constant_NOTIFICATION_EXTENSION_RELOADED:
 
 .. 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:** 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
 

+ 55 - 13
classes/class_openxrextensionwrapper.rst

@@ -12,7 +12,7 @@ OpenXRExtensionWrapper
 
 **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.
 
@@ -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:`_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_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_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_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:
 
 .. 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>`
 
-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>`.
 
@@ -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>`
 
-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>`.
 
@@ -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>`
 
-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>`.
 
@@ -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>`
 
-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
 
@@ -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>`
 
-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
 
@@ -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>`
 
-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.
 
@@ -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>`
 
-Adds additional data structures to ``XrReferenceSpaceCreateInfo``.
+Add additional data structures to ``XrReferenceSpaceCreateInfo``.
 
 .. 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>`
 
-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
 
@@ -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>`
 
-Adds additional data structures when creating OpenXR swapchains.
+Add additional data structures when creating OpenXR swapchains.
 
 .. 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>`
 
-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
 
@@ -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>`
 
-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>`.
 
@@ -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>`
 
-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>`.
 

+ 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>`
 
-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.
 
@@ -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 --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"]
 
-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
 

+ 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:`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:`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:
 
 .. 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/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_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.
 
+\ **Note:** When left empty, the application name is translated using the project translations.
+
 .. 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:
 
 .. rst-class:: classref-property

+ 32 - 11
classes/class_rdvertexattribute.rst

@@ -29,17 +29,19 @@ Properties
 .. table::
    :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
 
@@ -50,6 +52,25 @@ Properties
 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:
 
 .. 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_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_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:
 
 .. 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>`
 
-**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.
 

+ 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>`
 
-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
 

+ 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>`
 
-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
 
@@ -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>`
 
-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
 
@@ -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>`
 
-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
 

+ 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>`
 
-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
 
@@ -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>`
 
-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
 
@@ -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>`
 
-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
 

+ 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:`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_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:`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_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:`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|                                                                                                                                           |
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |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:
 
 .. 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:
 
 .. 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:
 
 .. 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>`)   |
    +--------------------------------------------------------+-----------------------+--------------------------------------------------------------------------------+
 
+.. 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.)`
 .. |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.)`

+ 2 - 0
classes/index.rst

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