Bladeren bron

classref: Sync with current master branch (e0de3573f)

Rémi Verschelde 2 jaren geleden
bovenliggende
commit
1dc22280b6
54 gewijzigde bestanden met toevoegingen van 464 en 405 verwijderingen
  1. 35 0
      classes/[email protected]
  2. 1 1
      classes/[email protected]
  3. 3 1
      classes/class_animatedtexture.rst
  4. 1 1
      classes/class_animation.rst
  5. 1 1
      classes/class_astar2d.rst
  6. 1 1
      classes/class_basematerial3d.rst
  7. 0 28
      classes/class_bone2d.rst
  8. 2 2
      classes/class_boneattachment3d.rst
  9. 1 1
      classes/class_boxmesh.rst
  10. 2 2
      classes/class_codeedit.rst
  11. 1 1
      classes/class_codehighlighter.rst
  12. 3 1
      classes/class_control.rst
  13. 1 1
      classes/class_decal.rst
  14. 18 2
      classes/class_displayserver.rst
  15. 35 0
      classes/class_editorfiledialog.rst
  16. 2 2
      classes/class_editorinspectorplugin.rst
  17. 2 2
      classes/class_editornode3dgizmoplugin.rst
  18. 4 4
      classes/class_editorplugin.rst
  19. 50 18
      classes/class_editorsettings.rst
  20. 17 1
      classes/class_fileaccess.rst
  21. 2 2
      classes/class_geometryinstance3d.rst
  22. 0 21
      classes/class_gltfnode.rst
  23. 1 1
      classes/class_inputevent.rst
  24. 1 1
      classes/class_light2d.rst
  25. 1 1
      classes/class_menubar.rst
  26. 12 0
      classes/class_multiplayersynchronizer.rst
  27. 4 0
      classes/class_navigationagent2d.rst
  28. 10 6
      classes/class_navigationagent3d.rst
  29. 62 6
      classes/class_navigationlink2d.rst
  30. 62 6
      classes/class_navigationlink3d.rst
  31. 1 1
      classes/class_navigationpathqueryresult2d.rst
  32. 1 1
      classes/class_navigationpathqueryresult3d.rst
  33. 28 0
      classes/class_navigationserver2d.rst
  34. 28 18
      classes/class_navigationserver3d.rst
  35. 2 0
      classes/class_node2d.rst
  36. 3 1
      classes/class_node3d.rst
  37. 3 1
      classes/class_omnilight3d.rst
  38. 2 2
      classes/class_packedbytearray.rst
  39. 8 8
      classes/class_popupmenu.rst
  40. 19 19
      classes/class_projectsettings.rst
  41. 1 227
      classes/class_richtextlabel.rst
  42. 16 0
      classes/class_scriptextension.rst
  43. 4 2
      classes/class_spotlight3d.rst
  44. 2 2
      classes/class_spriteframes.rst
  45. 1 1
      classes/class_string.rst
  46. 1 1
      classes/class_stringname.rst
  47. 1 1
      classes/class_styleboxflat.rst
  48. 1 1
      classes/class_styleboxtexture.rst
  49. 1 1
      classes/class_textserver.rst
  50. 2 0
      classes/class_texturerect.rst
  51. 1 1
      classes/class_time.rst
  52. 1 1
      classes/class_visibleonscreenenabler2d.rst
  53. 1 1
      classes/class_voxelgi.rst
  54. 1 1
      classes/class_xrinterface.rst

+ 35 - 0
classes/[email protected]

@@ -51,6 +51,8 @@ Methods
    +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Dictionary<class_Dictionary>` | :ref:`inst_to_dict<class_@GDScript_method_inst_to_dict>` **(** :ref:`Object<class_Object>` instance **)**                                                           |
    +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`             | :ref:`is_instance_of<class_@GDScript_method_is_instance_of>` **(** :ref:`Variant<class_Variant>` value, :ref:`Variant<class_Variant>` type **)**                    |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`               | :ref:`len<class_@GDScript_method_len>` **(** :ref:`Variant<class_Variant>` var **)**                                                                                |
    +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Resource<class_Resource>`     | :ref:`load<class_@GDScript_method_load>` **(** :ref:`String<class_String>` path **)**                                                                               |
@@ -860,6 +862,39 @@ Prints out:
 
 ----
 
+.. _class_@GDScript_method_is_instance_of:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **is_instance_of** **(** :ref:`Variant<class_Variant>` value, :ref:`Variant<class_Variant>` type **)**
+
+Returns ``true`` if ``value`` is an instance of ``type``. The ``type`` value must be one of the following:
+
+- A constant from the :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` enumeration, for example :ref:`@GlobalScope.TYPE_INT<class_@GlobalScope_constant_TYPE_INT>`.
+
+- An :ref:`Object<class_Object>`-derived class which exists in :ref:`ClassDB<class_ClassDB>`, for example :ref:`Node<class_Node>`.
+
+- A :ref:`Script<class_Script>` (you can use any class, including inner one).
+
+Unlike the right operand of the ``is`` operator, ``type`` can be a non-constant value. The ``is`` operator supports more features (such as typed arrays) and is more performant. Use the operator instead of this method if you do not need dynamic type checking.
+
+Examples:
+
+::
+
+    print(is_instance_of(a, TYPE_INT))
+    print(is_instance_of(a, Node))
+    print(is_instance_of(a, MyClass))
+    print(is_instance_of(a, MyClass.InnerClass))
+
+\ **Note:** If ``value`` and/or ``type`` are freed objects (see :ref:`@GlobalScope.is_instance_valid<class_@GlobalScope_method_is_instance_valid>`), or ``type`` is not one of the above options, this method will raise an runtime error.
+
+See also :ref:`@GlobalScope.typeof<class_@GlobalScope_method_typeof>`, :ref:`type_exists<class_@GDScript_method_type_exists>`, :ref:`Array.is_same_typed<class_Array_method_is_same_typed>` (and other :ref:`Array<class_Array>` methods).
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_@GDScript_method_len:
 
 .. rst-class:: classref-method

+ 1 - 1
classes/[email protected]

@@ -6731,7 +6731,7 @@ Returns the same type of :ref:`Variant<class_Variant>` as ``x``, with ``-1`` for
 
 :ref:`float<class_float>` **signf** **(** :ref:`float<class_float>` x **)**
 
-Returns ``-1.0`` if ``x`` is negative, ``1.0`` if ``x`` is positive, and ``0.0`` if if ``x`` is zero.
+Returns ``-1.0`` if ``x`` is negative, ``1.0`` if ``x`` is positive, and ``0.0`` if ``x`` is zero.
 
 ::
 

+ 3 - 1
classes/class_animatedtexture.rst

@@ -27,6 +27,8 @@ The playback of the animation is controlled by the :ref:`speed_scale<class_Anima
 
 \ **Note:** AnimatedTexture doesn't support using :ref:`AtlasTexture<class_AtlasTexture>`\ s. Each frame needs to be a separate :ref:`Texture2D<class_Texture2D>`.
 
+\ **Warning:** AnimatedTexture is deprecated, and might be removed in a future release. Its current implementation is not efficient for the modern renderers.
+
 .. rst-class:: classref-reftable-group
 
 Properties
@@ -104,7 +106,7 @@ Property Descriptions
 - void **set_current_frame** **(** :ref:`int<class_int>` value **)**
 - :ref:`int<class_int>` **get_current_frame** **(** **)**
 
-Sets the currently visible frame of the texture.
+Sets the currently visible frame of the texture. Setting this frame while playing resets the current frame time, so the newly selected frame plays for its whole configured frame duration.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_animation.rst

@@ -661,7 +661,7 @@ Inserts an Audio Track key at the given ``time`` in seconds. The ``track_idx`` m
 
 :ref:`bool<class_bool>` **audio_track_is_use_blend** **(** :ref:`int<class_int>` track_idx **)** |const|
 
-Returns ``true`` if the track at ``idx`` will be blended with other animations.
+Returns ``true`` if the track at ``track_idx`` will be blended with other animations.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_astar2d.rst

@@ -331,7 +331,7 @@ If you change the 2nd point's weight to 3, then the result will be ``[1, 4, 3]``
 
 :ref:`int<class_int>` **get_point_capacity** **(** **)** |const|
 
-Returns the capacity of the structure backing the points, useful in conjunction with ``reserve_space``.
+Returns the capacity of the structure backing the points, useful in conjunction with :ref:`reserve_space<class_AStar2D_method_reserve_space>`.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_basematerial3d.rst

@@ -1694,7 +1694,7 @@ Texture used to control the backlight effect per-pixel. Added to :ref:`backlight
 - void **set_flag** **(** :ref:`Flags<enum_BaseMaterial3D_Flags>` flag, :ref:`bool<class_bool>` enable **)**
 - :ref:`bool<class_bool>` **get_flag** **(** :ref:`Flags<enum_BaseMaterial3D_Flags>` flag **)** |const|
 
-If ``true``, the shader will keep the scale set for the mesh. Otherwise, the scale is lost when billboarding. Only applies when :ref:`billboard_mode<class_BaseMaterial3D_property_billboard_mode>` is :ref:`BILLBOARD_ENABLED<class_BaseMaterial3D_constant_BILLBOARD_ENABLED>`.
+If ``true``, the shader will keep the scale set for the mesh. Otherwise, the scale is lost when billboarding. Only applies when :ref:`billboard_mode<class_BaseMaterial3D_property_billboard_mode>` is not :ref:`BILLBOARD_DISABLED<class_BaseMaterial3D_constant_BILLBOARD_DISABLED>`.
 
 .. rst-class:: classref-item-separator
 

+ 0 - 28
classes/class_bone2d.rst

@@ -54,8 +54,6 @@ Methods
    +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`             | :ref:`get_bone_angle<class_Bone2D_method_get_bone_angle>` **(** **)** |const|                                                                        |
    +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`             | :ref:`get_default_length<class_Bone2D_method_get_default_length>` **(** **)** |const|                                                                |
-   +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                 | :ref:`get_index_in_skeleton<class_Bone2D_method_get_index_in_skeleton>` **(** **)** |const|                                                          |
    +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`             | :ref:`get_length<class_Bone2D_method_get_length>` **(** **)** |const|                                                                                |
@@ -66,8 +64,6 @@ Methods
    +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                  | :ref:`set_bone_angle<class_Bone2D_method_set_bone_angle>` **(** :ref:`float<class_float>` angle **)**                                                |
    +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                  | :ref:`set_default_length<class_Bone2D_method_set_default_length>` **(** :ref:`float<class_float>` default_length **)**                               |
-   +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                  | :ref:`set_length<class_Bone2D_method_set_length>` **(** :ref:`float<class_float>` length **)**                                                       |
    +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 
@@ -140,18 +136,6 @@ Returns the angle of the bone in the ``Bone2D`` node.
 
 ----
 
-.. _class_Bone2D_method_get_default_length:
-
-.. rst-class:: classref-method
-
-:ref:`float<class_float>` **get_default_length** **(** **)** |const|
-
-Deprecated. Please use  ``get_length`` instead.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_Bone2D_method_get_index_in_skeleton:
 
 .. rst-class:: classref-method
@@ -214,18 +198,6 @@ Sets the bone angle for the ``Bone2D`` node. This is typically set to the rotati
 
 ----
 
-.. _class_Bone2D_method_set_default_length:
-
-.. rst-class:: classref-method
-
-void **set_default_length** **(** :ref:`float<class_float>` default_length **)**
-
-Deprecated. Please use ``set_length`` instead.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_Bone2D_method_set_length:
 
 .. rst-class:: classref-method

+ 2 - 2
classes/class_boneattachment3d.rst

@@ -166,7 +166,7 @@ A function that is called automatically when the :ref:`Skeleton3D<class_Skeleton
 
 void **set_external_skeleton** **(** :ref:`NodePath<class_NodePath>` external_skeleton **)**
 
-Sets the :ref:`NodePath<class_NodePath>` to the external skeleton that the BoneAttachment3D node should use. The external :ref:`Skeleton3D<class_Skeleton3D>` node is only used when ``use_external_skeleton`` is set to ``true``.
+Sets the :ref:`NodePath<class_NodePath>` to the external skeleton that the BoneAttachment3D node should use. See :ref:`set_use_external_skeleton<class_BoneAttachment3D_method_set_use_external_skeleton>` to enable the external :ref:`Skeleton3D<class_Skeleton3D>` node.
 
 .. rst-class:: classref-item-separator
 
@@ -178,7 +178,7 @@ Sets the :ref:`NodePath<class_NodePath>` to the external skeleton that the BoneA
 
 void **set_use_external_skeleton** **(** :ref:`bool<class_bool>` use_external_skeleton **)**
 
-Sets whether the BoneAttachment3D node will use an extenral :ref:`Skeleton3D<class_Skeleton3D>` node rather than attenpting to use its parent node as the :ref:`Skeleton3D<class_Skeleton3D>`. When set to ``true``, the BoneAttachment3D node will use the external :ref:`Skeleton3D<class_Skeleton3D>` node set in ``set_external_skeleton``.
+Sets whether the BoneAttachment3D node will use an extenral :ref:`Skeleton3D<class_Skeleton3D>` node rather than attenpting to use its parent node as the :ref:`Skeleton3D<class_Skeleton3D>`. When set to ``true``, the BoneAttachment3D node will use the external :ref:`Skeleton3D<class_Skeleton3D>` node set in :ref:`set_external_skeleton<class_BoneAttachment3D_method_set_external_skeleton>`.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 1 - 1
classes/class_boxmesh.rst

@@ -21,7 +21,7 @@ Description
 
 Generate an axis-aligned box :ref:`PrimitiveMesh<class_PrimitiveMesh>`.
 
-The box's UV layout is arranged in a 3×2 layout that allows texturing each face individually. To apply the same texture on all faces, change the material's UV property to ``Vector3(3, 2, 1)``.
+The box's UV layout is arranged in a 3×2 layout that allows texturing each face individually. To apply the same texture on all faces, change the material's UV property to ``Vector3(3, 2, 1)``. This is equivalent to adding ``UV *= vec2(3.0, 2.0)`` in a vertex shader.
 
 \ **Note:** When using a large textured **BoxMesh** (e.g. as a floor), you may stumble upon UV jittering issues depending on the camera angle. To solve this, increase :ref:`subdivide_depth<class_BoxMesh_property_subdivide_depth>`, :ref:`subdivide_height<class_BoxMesh_property_subdivide_height>` and :ref:`subdivide_width<class_BoxMesh_property_subdivide_width>` until you no longer notice UV jittering.
 

+ 2 - 2
classes/class_codeedit.rst

@@ -881,7 +881,7 @@ Adds a comment delimiter.
 
 Both the start and end keys must be symbols. Only the start key has to be unique.
 
-Line only denotes if the region should continue until the end of the line or carry over on to the next line. If the end key is blank this is automatically set to ``true``.
+\ ``line_only`` denotes if the region should continue until the end of the line or carry over on to the next line. If the end key is blank this is automatically set to ``true``.
 
 .. rst-class:: classref-item-separator
 
@@ -897,7 +897,7 @@ Adds a string delimiter.
 
 Both the start and end keys must be symbols. Only the start key has to be unique.
 
-Line only denotes if the region should continue until the end of the line or carry over on to the next line. If the end key is blank this is automatically set to ``true``.
+\ ``line_only`` denotes if the region should continue until the end of the line or carry over on to the next line. If the end key is blank this is automatically set to ``true``.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_codehighlighter.rst

@@ -226,7 +226,7 @@ Adds a color region such as comments or strings.
 
 Both the start and end keys must be symbols. Only the start key has to be unique.
 
-Line only denotes if the region should continue until the end of the line or carry over on to the next line. If the end key is blank this is automatically set to ``true``.
+\ ``line_only`` denotes if the region should continue until the end of the line or carry over on to the next line. If the end key is blank this is automatically set to ``true``.
 
 .. rst-class:: classref-item-separator
 

+ 3 - 1
classes/class_control.rst

@@ -1651,6 +1651,8 @@ The node's position, relative to its containing node. It corresponds to the rect
 
 The node's rotation around its pivot, in radians. See :ref:`pivot_offset<class_Control_property_pivot_offset>` to change the pivot's position.
 
+\ **Note:** This property is edited in the inspector in degrees. If you want to use degrees in a script, use :ref:`rotation_degrees<class_Control_property_rotation_degrees>`.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -3131,7 +3133,7 @@ Shows the given control at the mouse pointer. A good time to call this method is
 
  .. code-tab:: gdscript
 
-    export (Color, RGBA) var color = Color(1, 0, 0, 1)
+    @export var color = Color(1, 0, 0, 1)
     
     func _get_drag_data(position):
         # Use a control that is not in the tree

+ 1 - 1
classes/class_decal.rst

@@ -353,7 +353,7 @@ Sets the size of the :ref:`AABB<class_AABB>` used by the decal. All dimensions m
 - void **set_texture** **(** :ref:`DecalTexture<enum_Decal_DecalTexture>` type, :ref:`Texture2D<class_Texture2D>` texture **)**
 - :ref:`Texture2D<class_Texture2D>` **get_texture** **(** :ref:`DecalTexture<enum_Decal_DecalTexture>` type **)** |const|
 
-:ref:`Texture2D<class_Texture2D>` with the emission :ref:`Color<class_Color>` of the Decal. Either this or the :ref:`texture_emission<class_Decal_property_texture_emission>` must be set for the Decal to be visible. Use the alpha channel like a mask to smoothly blend the edges of the decal with the underlying object.
+:ref:`Texture2D<class_Texture2D>` with the emission :ref:`Color<class_Color>` of the Decal. Either this or the :ref:`texture_albedo<class_Decal_property_texture_albedo>` must be set for the Decal to be visible. Use the alpha channel like a mask to smoothly blend the edges of the decal with the underlying object.
 
 \ **Note:** Unlike :ref:`BaseMaterial3D<class_BaseMaterial3D>` whose filter mode can be adjusted on a per-material basis, the filter mode for **Decal** textures is set globally with :ref:`ProjectSettings.rendering/textures/decals/filter<class_ProjectSettings_property_rendering/textures/decals/filter>`.
 

+ 18 - 2
classes/class_displayserver.rst

@@ -898,7 +898,7 @@ Minimized window mode, i.e. :ref:`Window<class_Window>` is not visible and avail
 
 :ref:`WindowMode<enum_DisplayServer_WindowMode>` **WINDOW_MODE_MAXIMIZED** = ``2``
 
-Maximized window mode, i.e. :ref:`Window<class_Window>` will occupy whole screen area except task bar and still display its borders. Normally happens when the minimize button is pressed.
+Maximized window mode, i.e. :ref:`Window<class_Window>` will occupy whole screen area except task bar and still display its borders. Normally happens when the maximize button is pressed.
 
 .. _class_DisplayServer_constant_WINDOW_MODE_FULLSCREEN:
 
@@ -1613,6 +1613,8 @@ Adds a new checkable item with text ``label`` to the global menu with ID ``menu_
 
 Returns index of the inserted item, it's not guaranteed to be the same as ``index`` value.
 
+An ``accelerator`` can optionally be defined, which is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. The ``accelerator`` is generally a combination of :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>`\ s and :ref:`Key<enum_@GlobalScope_Key>`\ s using boolean OR such as ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`).
+
 \ **Note:** The ``callback`` and ``key_callback`` Callables need to accept exactly one Variant parameter, the parameter passed to the Callables will be the value passed to ``tag``.
 
 \ **Note:** This method is implemented on macOS.
@@ -1638,6 +1640,8 @@ Adds a new checkable item with text ``label`` and icon ``icon`` to the global me
 
 Returns index of the inserted item, it's not guaranteed to be the same as ``index`` value.
 
+An ``accelerator`` can optionally be defined, which is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. The ``accelerator`` is generally a combination of :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>`\ s and :ref:`Key<enum_@GlobalScope_Key>`\ s using boolean OR such as ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`).
+
 \ **Note:** The ``callback`` and ``key_callback`` Callables need to accept exactly one Variant parameter, the parameter passed to the Callables will be the value passed to ``tag``.
 
 \ **Note:** This method is implemented on macOS.
@@ -1663,6 +1667,8 @@ Adds a new item with text ``label`` and icon ``icon`` to the global menu with ID
 
 Returns index of the inserted item, it's not guaranteed to be the same as ``index`` value.
 
+An ``accelerator`` can optionally be defined, which is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. The ``accelerator`` is generally a combination of :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>`\ s and :ref:`Key<enum_@GlobalScope_Key>`\ s using boolean OR such as ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`).
+
 \ **Note:** The ``callback`` and ``key_callback`` Callables need to accept exactly one Variant parameter, the parameter passed to the Callables will be the value passed to ``tag``.
 
 \ **Note:** This method is implemented on macOS.
@@ -1688,6 +1694,8 @@ Adds a new radio-checkable item with text ``label`` and icon ``icon`` to the glo
 
 Returns index of the inserted item, it's not guaranteed to be the same as ``index`` value.
 
+An ``accelerator`` can optionally be defined, which is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. The ``accelerator`` is generally a combination of :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>`\ s and :ref:`Key<enum_@GlobalScope_Key>`\ s using boolean OR such as ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`).
+
 \ **Note:** Radio-checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See :ref:`global_menu_set_item_checked<class_DisplayServer_method_global_menu_set_item_checked>` for more info on how to control it.
 
 \ **Note:** The ``callback`` and ``key_callback`` Callables need to accept exactly one Variant parameter, the parameter passed to the Callables will be the value passed to ``tag``.
@@ -1715,6 +1723,8 @@ Adds a new item with text ``label`` to the global menu with ID ``menu_root``.
 
 Returns index of the inserted item, it's not guaranteed to be the same as ``index`` value.
 
+An ``accelerator`` can optionally be defined, which is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. The ``accelerator`` is generally a combination of :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>`\ s and :ref:`Key<enum_@GlobalScope_Key>`\ s using boolean OR such as ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`).
+
 \ **Note:** The ``callback`` and ``key_callback`` Callables need to accept exactly one Variant parameter, the parameter passed to the Callables will be the value passed to ``tag``.
 
 \ **Note:** This method is implemented on macOS.
@@ -1742,6 +1752,8 @@ Contrarily to normal binary items, multistate items can have more than two state
 
 Returns index of the inserted item, it's not guaranteed to be the same as ``index`` value.
 
+An ``accelerator`` can optionally be defined, which is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. The ``accelerator`` is generally a combination of :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>`\ s and :ref:`Key<enum_@GlobalScope_Key>`\ s using boolean OR such as ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`).
+
 \ **Note:** By default, there's no indication of the current item state, it should be changed manually.
 
 \ **Note:** The ``callback`` and ``key_callback`` Callables need to accept exactly one Variant parameter, the parameter passed to the Callables will be the value passed to ``tag``.
@@ -1769,6 +1781,8 @@ Adds a new radio-checkable item with text ``label`` to the global menu with ID `
 
 Returns index of the inserted item, it's not guaranteed to be the same as ``index`` value.
 
+An ``accelerator`` can optionally be defined, which is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. The ``accelerator`` is generally a combination of :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>`\ s and :ref:`Key<enum_@GlobalScope_Key>`\ s using boolean OR such as ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`).
+
 \ **Note:** Radio-checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See :ref:`global_menu_set_item_checked<class_DisplayServer_method_global_menu_set_item_checked>` for more info on how to control it.
 
 \ **Note:** The ``callback`` and ``key_callback`` Callables need to accept exactly one Variant parameter, the parameter passed to the Callables will be the value passed to ``tag``.
@@ -2131,7 +2145,7 @@ Removes the item at index ``idx`` from the global menu ``menu_root``.
 
 void **global_menu_set_item_accelerator** **(** :ref:`String<class_String>` menu_root, :ref:`int<class_int>` idx, :ref:`Key<enum_@GlobalScope_Key>` keycode **)**
 
-Sets the accelerator of the item at index ``idx``.
+Sets the accelerator of the item at index ``idx``. ``keycode`` can be a single :ref:`Key<enum_@GlobalScope_Key>`, or a combination of :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>`\ s and :ref:`Key<enum_@GlobalScope_Key>`\ s using boolean OR such as ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`).
 
 \ **Note:** This method is implemented on macOS.
 
@@ -2841,6 +2855,8 @@ Each :ref:`Dictionary<class_Dictionary>` contains two :ref:`String<class_String>
 
 - ``language`` is language code in ``lang_Variant`` format. ``lang`` part is a 2 or 3-letter code based on the ISO-639 standard, in lowercase. And ``Variant`` part is an engine dependent string describing country, region or/and dialect.
 
+Note that Godot depends on system libraries for text-to-speech functionality. These libraries are installed by default on Windows and MacOS, but not on all Linux distributions. If they are not present, this method will return an empty list. This applies to both Godot users on Linux, as well as end-users on Linux running Godot games that use text-to-speech.
+
 \ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows.
 
 .. rst-class:: classref-item-separator

+ 35 - 0
classes/class_editorfiledialog.rst

@@ -46,6 +46,8 @@ Properties
    +-------------------------------------------------------+---------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+
    | :ref:`FileMode<enum_EditorFileDialog_FileMode>`       | :ref:`file_mode<class_EditorFileDialog_property_file_mode>`                                 | ``4``                                                                                    |
    +-------------------------------------------------------+---------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+
+   | :ref:`PackedStringArray<class_PackedStringArray>`     | :ref:`filters<class_EditorFileDialog_property_filters>`                                     | ``PackedStringArray()``                                                                  |
+   +-------------------------------------------------------+---------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                               | :ref:`show_hidden_files<class_EditorFileDialog_property_show_hidden_files>`                 | ``false``                                                                                |
    +-------------------------------------------------------+---------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                           | title                                                                                       | ``"Save a File"`` (overrides :ref:`Window<class_Window_property_title>`)                 |
@@ -64,6 +66,8 @@ Methods
    +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                      | :ref:`clear_filters<class_EditorFileDialog_method_clear_filters>` **(** **)**                                                                          |
    +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`LineEdit<class_LineEdit>`           | :ref:`get_line_edit<class_EditorFileDialog_method_get_line_edit>` **(** **)**                                                                          |
+   +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`VBoxContainer<class_VBoxContainer>` | :ref:`get_vbox<class_EditorFileDialog_method_get_vbox>` **(** **)**                                                                                    |
    +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                      | :ref:`invalidate<class_EditorFileDialog_method_invalidate>` **(** **)**                                                                                |
@@ -353,6 +357,23 @@ The dialog's open or save mode, which affects the selection behavior. See :ref:`
 
 ----
 
+.. _class_EditorFileDialog_property_filters:
+
+.. rst-class:: classref-property
+
+:ref:`PackedStringArray<class_PackedStringArray>` **filters** = ``PackedStringArray()``
+
+.. rst-class:: classref-property-setget
+
+- void **set_filters** **(** :ref:`PackedStringArray<class_PackedStringArray>` value **)**
+- :ref:`PackedStringArray<class_PackedStringArray>` **get_filters** **(** **)**
+
+The available file type filters. For example, this shows only ``.png`` and ``.gd`` files: ``set_filters(PackedStringArray(["*.png ; PNG Images","*.gd ; GDScript Files"]))``. Multiple file types can also be specified in a single filter. ``"*.png, *.jpg, *.jpeg ; Supported Images"`` will show both PNG and JPEG files when selected.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorFileDialog_property_show_hidden_files:
 
 .. rst-class:: classref-property
@@ -403,6 +424,20 @@ Removes all filters except for "All Files (\*)".
 
 ----
 
+.. _class_EditorFileDialog_method_get_line_edit:
+
+.. rst-class:: classref-method
+
+:ref:`LineEdit<class_LineEdit>` **get_line_edit** **(** **)**
+
+Returns the LineEdit for the selected file.
+
+\ **Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorFileDialog_method_get_vbox:
 
 .. rst-class:: classref-method

+ 2 - 2
classes/class_editorinspectorplugin.rst

@@ -49,7 +49,7 @@ Methods
    :widths: auto
 
    +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>` | :ref:`_can_handle<class_EditorInspectorPlugin_method__can_handle>` **(** :ref:`Variant<class_Variant>` object **)** |virtual| |const|                                                                                                                                                                                                                                                                                                              |
+   | :ref:`bool<class_bool>` | :ref:`_can_handle<class_EditorInspectorPlugin_method__can_handle>` **(** :ref:`Object<class_Object>` object **)** |virtual| |const|                                                                                                                                                                                                                                                                                                                |
    +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                    | :ref:`_parse_begin<class_EditorInspectorPlugin_method__parse_begin>` **(** :ref:`Object<class_Object>` object **)** |virtual|                                                                                                                                                                                                                                                                                                                      |
    +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -81,7 +81,7 @@ Method Descriptions
 
 .. rst-class:: classref-method
 
-:ref:`bool<class_bool>` **_can_handle** **(** :ref:`Variant<class_Variant>` object **)** |virtual| |const|
+:ref:`bool<class_bool>` **_can_handle** **(** :ref:`Object<class_Object>` object **)** |virtual| |const|
 
 Returns ``true`` if this object can be handled by this plugin.
 

+ 2 - 2
classes/class_editornode3dgizmoplugin.rst

@@ -285,7 +285,7 @@ Called for this plugin's active gizmos.
 
 void **_set_subgizmo_transform** **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` subgizmo_id, :ref:`Transform3D<class_Transform3D>` transform **)** |virtual|
 
-Override this method to update the node properties during subgizmo editing (see :ref:`_subgizmos_intersect_ray<class_EditorNode3DGizmoPlugin_method__subgizmos_intersect_ray>` and :ref:`_subgizmos_intersect_frustum<class_EditorNode3DGizmoPlugin_method__subgizmos_intersect_frustum>`). The ``transform`` is given in the Node3D's local coordinate system.  Called for this plugin's active gizmos.
+Override this method to update the node properties during subgizmo editing (see :ref:`_subgizmos_intersect_ray<class_EditorNode3DGizmoPlugin_method__subgizmos_intersect_ray>` and :ref:`_subgizmos_intersect_frustum<class_EditorNode3DGizmoPlugin_method__subgizmos_intersect_frustum>`). The ``transform`` is given in the Node3D's local coordinate system. Called for this plugin's active gizmos.
 
 .. rst-class:: classref-item-separator
 
@@ -297,7 +297,7 @@ Override this method to update the node properties during subgizmo editing (see
 
 :ref:`PackedInt32Array<class_PackedInt32Array>` **_subgizmos_intersect_frustum** **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`Camera3D<class_Camera3D>` camera, :ref:`Plane[]<class_Plane>` frustum_planes **)** |virtual| |const|
 
-Override this method to allow selecting subgizmos using mouse drag box selection. Given a ``camera`` and ``frustum_planes``, this method should return which subgizmos are contained within the frustums. The ``frustum_planes`` argument consists of an ``Array`` with all the ``Plane``\ s that make up the selection frustum. The returned value should contain a list of unique subgizmo identifiers, these identifiers can have any non-negative value and will be used in other virtual methods like :ref:`_get_subgizmo_transform<class_EditorNode3DGizmoPlugin_method__get_subgizmo_transform>` or :ref:`_commit_subgizmos<class_EditorNode3DGizmoPlugin_method__commit_subgizmos>`.  Called for this plugin's active gizmos.
+Override this method to allow selecting subgizmos using mouse drag box selection. Given a ``camera`` and ``frustum_planes``, this method should return which subgizmos are contained within the frustums. The ``frustum_planes`` argument consists of an ``Array`` with all the ``Plane``\ s that make up the selection frustum. The returned value should contain a list of unique subgizmo identifiers, these identifiers can have any non-negative value and will be used in other virtual methods like :ref:`_get_subgizmo_transform<class_EditorNode3DGizmoPlugin_method__get_subgizmo_transform>` or :ref:`_commit_subgizmos<class_EditorNode3DGizmoPlugin_method__commit_subgizmos>`. Called for this plugin's active gizmos.
 
 .. rst-class:: classref-item-separator
 

+ 4 - 4
classes/class_editorplugin.rst

@@ -45,7 +45,7 @@ Methods
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                      | :ref:`_disable_plugin<class_EditorPlugin_method__disable_plugin>` **(** **)** |virtual|                                                                                                                                                               |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                      | :ref:`_edit<class_EditorPlugin_method__edit>` **(** :ref:`Variant<class_Variant>` object **)** |virtual|                                                                                                                                              |
+   | void                                                      | :ref:`_edit<class_EditorPlugin_method__edit>` **(** :ref:`Object<class_Object>` object **)** |virtual|                                                                                                                                                |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                      | :ref:`_enable_plugin<class_EditorPlugin_method__enable_plugin>` **(** **)** |virtual|                                                                                                                                                                 |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -71,7 +71,7 @@ Methods
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                      | :ref:`_get_window_layout<class_EditorPlugin_method__get_window_layout>` **(** :ref:`ConfigFile<class_ConfigFile>` configuration **)** |virtual|                                                                                                       |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                   | :ref:`_handles<class_EditorPlugin_method__handles>` **(** :ref:`Variant<class_Variant>` object **)** |virtual| |const|                                                                                                                                |
+   | :ref:`bool<class_bool>`                                   | :ref:`_handles<class_EditorPlugin_method__handles>` **(** :ref:`Object<class_Object>` object **)** |virtual| |const|                                                                                                                                  |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                   | :ref:`_has_main_screen<class_EditorPlugin_method__has_main_screen>` **(** **)** |virtual| |const|                                                                                                                                                     |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -527,7 +527,7 @@ Called by the engine when the user disables the **EditorPlugin** in the Plugin t
 
 .. rst-class:: classref-method
 
-void **_edit** **(** :ref:`Variant<class_Variant>` object **)** |virtual|
+void **_edit** **(** :ref:`Object<class_Object>` object **)** |virtual|
 
 This function is used for plugins that edit specific object types (nodes or resources). It requests the editor to edit the given object.
 
@@ -906,7 +906,7 @@ Use :ref:`_set_window_layout<class_EditorPlugin_method__set_window_layout>` to r
 
 .. rst-class:: classref-method
 
-:ref:`bool<class_bool>` **_handles** **(** :ref:`Variant<class_Variant>` object **)** |virtual| |const|
+:ref:`bool<class_bool>` **_handles** **(** :ref:`Object<class_Object>` object **)** |virtual| |const|
 
 Implement this function if your plugin edits a specific type of object (Resource or Node). If you return ``true``, then you will get the functions :ref:`_edit<class_EditorPlugin_method__edit>` and :ref:`_make_visible<class_EditorPlugin_method__make_visible>` called when the editor requests them. If you have declared the methods :ref:`_forward_canvas_gui_input<class_EditorPlugin_method__forward_canvas_gui_input>` and :ref:`_forward_3d_gui_input<class_EditorPlugin_method__forward_3d_gui_input>` these will be called too.
 

+ 50 - 18
classes/class_editorsettings.rst

@@ -315,8 +315,6 @@ Properties
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`       | :ref:`interface/theme/draw_extra_borders<class_EditorSettings_property_interface/theme/draw_extra_borders>`                                                                         |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`       | :ref:`interface/theme/enable_touchscreen_touch_area<class_EditorSettings_property_interface/theme/enable_touchscreen_touch_area>`                                                   |
-   +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`         | :ref:`interface/theme/icon_and_font_color<class_EditorSettings_property_interface/theme/icon_and_font_color>`                                                                       |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`     | :ref:`interface/theme/icon_saturation<class_EditorSettings_property_interface/theme/icon_saturation>`                                                                               |
@@ -325,6 +323,12 @@ Properties
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`     | :ref:`interface/theme/relationship_line_opacity<class_EditorSettings_property_interface/theme/relationship_line_opacity>`                                                           |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`       | :ref:`interface/touchscreen/enable_long_press_as_right_click<class_EditorSettings_property_interface/touchscreen/enable_long_press_as_right_click>`                                 |
+   +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`       | :ref:`interface/touchscreen/enable_pan_and_scale_gestures<class_EditorSettings_property_interface/touchscreen/enable_pan_and_scale_gestures>`                                       |
+   +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`       | :ref:`interface/touchscreen/increase_scrollbar_touch_area<class_EditorSettings_property_interface/touchscreen/increase_scrollbar_touch_area>`                                       |
+   +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`   | :ref:`network/debug/remote_host<class_EditorSettings_property_network/debug/remote_host>`                                                                                           |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`         | :ref:`network/debug/remote_port<class_EditorSettings_property_network/debug/remote_port>`                                                                                           |
@@ -667,7 +671,7 @@ The thumbnail size to use in the FileSystem dock (in pixels). See also :ref:`fil
 
 :ref:`float<class_float>` **docks/property_editor/auto_refresh_interval**
 
-The refresh interval to use for the Inspector dock's properties. The effect of this setting is mainly noticeable when adjusting gizmos in the 2D/3D editor and looking at the inspector at the same time. Lower values make the inspector more often, but take up more CPU time.
+The refresh interval to use for the Inspector dock's properties. The effect of this setting is mainly noticeable when adjusting gizmos in the 2D/3D editor and looking at the inspector at the same time. Lower values make the inspector refresh more often, but take up more CPU time.
 
 .. rst-class:: classref-item-separator
 
@@ -2229,20 +2233,6 @@ If ``true``, draws additional borders around interactive UI elements in the edit
 
 ----
 
-.. _class_EditorSettings_property_interface/theme/enable_touchscreen_touch_area:
-
-.. rst-class:: classref-property
-
-:ref:`bool<class_bool>` **interface/theme/enable_touchscreen_touch_area**
-
-If ``true``, increases the touch area for the UI elements to improve usability on touchscreen devices.
-
-\ **Note:** Defaults to ``true`` on touchscreen devices.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_EditorSettings_property_interface/theme/icon_and_font_color:
 
 .. rst-class:: classref-property
@@ -2299,6 +2289,48 @@ The opacity to use when drawing relationship lines in the editor's :ref:`Tree<cl
 
 ----
 
+.. _class_EditorSettings_property_interface/touchscreen/enable_long_press_as_right_click:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **interface/touchscreen/enable_long_press_as_right_click**
+
+If ``true``, long press on touchscreen is treated as right click.
+
+\ **Note:** Defaults to ``true`` on touchscreen devices.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorSettings_property_interface/touchscreen/enable_pan_and_scale_gestures:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **interface/touchscreen/enable_pan_and_scale_gestures**
+
+If ``true``, enable two finger pan and scale gestures on touchscreen devices.
+
+\ **Note:** Defaults to ``true`` on touchscreen devices.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorSettings_property_interface/touchscreen/increase_scrollbar_touch_area:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **interface/touchscreen/increase_scrollbar_touch_area**
+
+If ``true``, increases the scrollbar touch area to improve usability on touchscreen devices.
+
+\ **Note:** Defaults to ``true`` on touchscreen devices.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorSettings_property_network/debug/remote_host:
 
 .. rst-class:: classref-property
@@ -2815,7 +2847,7 @@ When using tab indentation, determines the length of each tab. When using space
 
 The indentation style to use (tabs or spaces).
 
-\ **Note:** The :doc:`GDScript style guide <../getting_started/scripting/gdscript/gdscript_styleguide>` recommends using tabs for indentation. It is advised to change this setting only if you need to work on a project that currently uses spaces for indentation.
+\ **Note:** The :doc:`GDScript style guide <../tutorials/scripting/gdscript/gdscript_styleguide>` recommends using tabs for indentation. It is advised to change this setting only if you need to work on a project that currently uses spaces for indentation.
 
 .. rst-class:: classref-item-separator
 

+ 17 - 1
classes/class_fileaccess.rst

@@ -56,7 +56,7 @@ Here's a sample on how to write and read from a file:
 
 In the example above, the file will be saved in the user data folder as specified in the :doc:`Data paths <../tutorials/io/data_paths>` documentation.
 
-There is no method to close a file in order to free it from use. Instead, **FileAccess** will close when it's freed, which happens when it goes out of scope or when it gets assigned with ``null``. In C# the reference must be disposed after we are done using it, this can be done with the ``using`` statement or calling the ``Dispose`` method directly.
+\ **FileAccess** will close when it's freed, which happens when it goes out of scope or when it gets assigned with ``null``. In C# the reference must be disposed after we are done using it, this can be done with the ``using`` statement or calling the ``Dispose`` method directly.
 
 
 .. tabs::
@@ -106,6 +106,8 @@ Methods
 .. table::
    :widths: auto
 
+   +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`close<class_FileAccess_method_close>` **(** **)**                                                                                                                                                                                                   |
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`eof_reached<class_FileAccess_method_eof_reached>` **(** **)** |const|                                                                                                                                                                               |
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -326,6 +328,20 @@ If ``true``, the file is read with big-endian `endianness <https://en.wikipedia.
 Method Descriptions
 -------------------
 
+.. _class_FileAccess_method_close:
+
+.. rst-class:: classref-method
+
+void **close** **(** **)**
+
+Closes the currently opened file and prevents subsequent read/write operations. Use :ref:`flush<class_FileAccess_method_flush>` to persist the data to disk without closing the file.
+
+\ **Note:** **FileAccess** will automatically close when it's freed, which happens when it goes out of scope or when it gets assigned with ``null``. In C# the reference must be disposed after we are done using it, this can be done with the ``using`` statement or calling the ``Dispose`` method directly.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_FileAccess_method_eof_reached:
 
 .. rst-class:: classref-method

+ 2 - 2
classes/class_geometryinstance3d.rst

@@ -355,7 +355,7 @@ The global illumination mode to use for the whole geometry. To avoid inconsisten
 - void **set_ignore_occlusion_culling** **(** :ref:`bool<class_bool>` value **)**
 - :ref:`bool<class_bool>` **is_ignoring_occlusion_culling** **(** **)**
 
-If ``true``, disables occlusion culling for this instance.  Useful for gizmos that must be rendered even when occlusion culling is in use.
+If ``true``, disables occlusion culling for this instance. Useful for gizmos that must be rendered even when occlusion culling is in use.
 
 .. rst-class:: classref-item-separator
 
@@ -372,7 +372,7 @@ If ``true``, disables occlusion culling for this instance.  Useful for gizmos th
 - void **set_lod_bias** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_lod_bias** **(** **)**
 
-Changes how quickly the mesh transitions to a lower level of detail.  A value of 0 will force the mesh to its lowest level of detail, a value of 1 will use the default settings, and larger values will keep the mesh in a higher level of detail at farther distances.
+Changes how quickly the mesh transitions to a lower level of detail. A value of 0 will force the mesh to its lowest level of detail, a value of 1 will use the default settings, and larger values will keep the mesh in a higher level of detail at farther distances.
 
 Useful for testing level of detail transitions in the editor.
 

+ 0 - 21
classes/class_gltfnode.rst

@@ -43,8 +43,6 @@ Properties
    +-------------------------------------------------+---------------------------------------------------+-----------------------------------------------------+
    | :ref:`int<class_int>`                           | :ref:`height<class_GLTFNode_property_height>`     | ``-1``                                              |
    +-------------------------------------------------+---------------------------------------------------+-----------------------------------------------------+
-   | :ref:`bool<class_bool>`                         | :ref:`joint<class_GLTFNode_property_joint>`       | ``false``                                           |
-   +-------------------------------------------------+---------------------------------------------------+-----------------------------------------------------+
    | :ref:`int<class_int>`                           | :ref:`light<class_GLTFNode_property_light>`       | ``-1``                                              |
    +-------------------------------------------------+---------------------------------------------------+-----------------------------------------------------+
    | :ref:`int<class_int>`                           | :ref:`mesh<class_GLTFNode_property_mesh>`         | ``-1``                                              |
@@ -144,25 +142,6 @@ Property Descriptions
 
 ----
 
-.. _class_GLTFNode_property_joint:
-
-.. rst-class:: classref-property
-
-:ref:`bool<class_bool>` **joint** = ``false``
-
-.. rst-class:: classref-property-setget
-
-- void **set_joint** **(** :ref:`bool<class_bool>` value **)**
-- :ref:`bool<class_bool>` **get_joint** **(** **)**
-
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_GLTFNode_property_light:
 
 .. rst-class:: classref-property

+ 1 - 1
classes/class_inputevent.rst

@@ -215,7 +215,7 @@ Returns ``true`` if this input event's type is one that can be assigned to an in
 
 :ref:`bool<class_bool>` **is_echo** **(** **)** |const|
 
-Returns ``true`` if this input event is an echo event (only for events of type :ref:`InputEventKey<class_InputEventKey>`).
+Returns ``true`` if this input event is an echo event (only for events of type :ref:`InputEventKey<class_InputEventKey>`). Any other event type returns ``false``.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_light2d.rst

@@ -121,7 +121,7 @@ Percentage closer filtering (5 samples) applies to the shadow map. This is slowe
 
 :ref:`ShadowFilter<enum_Light2D_ShadowFilter>` **SHADOW_FILTER_PCF13** = ``2``
 
-Percentage closer filtering (13 samples) applies to the shadow map. This is the slowest shadow filtereing mode, and should be used sparingly. See :ref:`shadow_filter<class_Light2D_property_shadow_filter>`.
+Percentage closer filtering (13 samples) applies to the shadow map. This is the slowest shadow filtering mode, and should be used sparingly. See :ref:`shadow_filter<class_Light2D_property_shadow_filter>`.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_menubar.rst

@@ -19,7 +19,7 @@ A horizontal menu bar, which displays :ref:`PopupMenu<class_PopupMenu>`\ s or sy
 Description
 -----------
 
-New items can be created by adding :ref:`PopupMenu<class_PopupMenu>` nodes to his node.
+New items can be created by adding :ref:`PopupMenu<class_PopupMenu>` nodes to this node.
 
 .. rst-class:: classref-reftable-group
 

+ 12 - 0
classes/class_multiplayersynchronizer.rst

@@ -76,6 +76,18 @@ Methods
 Signals
 -------
 
+.. _class_MultiplayerSynchronizer_signal_synchronized:
+
+.. rst-class:: classref-signal
+
+**synchronized** **(** **)**
+
+Emitted when a new synchronization state is received by this synchronizer after the variables have been updated.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_MultiplayerSynchronizer_signal_visibility_changed:
 
 .. rst-class:: classref-signal

+ 4 - 0
classes/class_navigationagent2d.rst

@@ -141,6 +141,10 @@ The details dictionary may contain the following keys depending on the value of
 
 - ``owner``: The object which manages the link (usually :ref:`NavigationLink2D<class_NavigationLink2D>`).
 
+- ``link_entry_position``: If ``owner`` is available and the owner is a :ref:`NavigationLink2D<class_NavigationLink2D>`, it will contain the global position of the link's point the agent is entering.
+
+- ``link_exit_position``: If ``owner`` is available and the owner is a :ref:`NavigationLink2D<class_NavigationLink2D>`, it will contain the global position of the link's point which the agent is exiting.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 10 - 6
classes/class_navigationagent3d.rst

@@ -63,17 +63,17 @@ Properties
    +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-----------------------+
    | :ref:`float<class_float>`                                                        | :ref:`path_desired_distance<class_NavigationAgent3D_property_path_desired_distance>`               | ``1.0``               |
    +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-----------------------+
-   | :ref:`float<class_float>`                                                        | :ref:`path_max_distance<class_NavigationAgent3D_property_path_max_distance>`                       | ``3.0``               |
+   | :ref:`float<class_float>`                                                        | :ref:`path_max_distance<class_NavigationAgent3D_property_path_max_distance>`                       | ``5.0``               |
    +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-----------------------+
    | :ref:`PathMetadataFlags<enum_NavigationPathQueryParameters3D_PathMetadataFlags>` | :ref:`path_metadata_flags<class_NavigationAgent3D_property_path_metadata_flags>`                   | ``7``                 |
    +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-----------------------+
-   | :ref:`float<class_float>`                                                        | :ref:`radius<class_NavigationAgent3D_property_radius>`                                             | ``1.0``               |
+   | :ref:`float<class_float>`                                                        | :ref:`radius<class_NavigationAgent3D_property_radius>`                                             | ``0.5``               |
    +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-----------------------+
    | :ref:`float<class_float>`                                                        | :ref:`target_desired_distance<class_NavigationAgent3D_property_target_desired_distance>`           | ``1.0``               |
    +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-----------------------+
    | :ref:`Vector3<class_Vector3>`                                                    | :ref:`target_position<class_NavigationAgent3D_property_target_position>`                           | ``Vector3(0, 0, 0)``  |
    +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-----------------------+
-   | :ref:`float<class_float>`                                                        | :ref:`time_horizon<class_NavigationAgent3D_property_time_horizon>`                                 | ``5.0``               |
+   | :ref:`float<class_float>`                                                        | :ref:`time_horizon<class_NavigationAgent3D_property_time_horizon>`                                 | ``1.0``               |
    +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-----------------------+
 
 .. rst-class:: classref-reftable-group
@@ -143,6 +143,10 @@ The details dictionary may contain the following keys depending on the value of
 
 - ``owner``: The object which manages the link (usually :ref:`NavigationLink3D<class_NavigationLink3D>`).
 
+- ``link_entry_position``: If ``owner`` is available and the owner is a :ref:`NavigationLink2D<class_NavigationLink2D>`, it will contain the global position of the link's point the agent is entering.
+
+- ``link_exit_position``: If ``owner`` is available and the owner is a :ref:`NavigationLink2D<class_NavigationLink2D>`, it will contain the global position of the link's point which the agent is exiting.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -430,7 +434,7 @@ The distance threshold before a path point is considered to be reached. This wil
 
 .. rst-class:: classref-property
 
-:ref:`float<class_float>` **path_max_distance** = ``3.0``
+:ref:`float<class_float>` **path_max_distance** = ``5.0``
 
 .. rst-class:: classref-property-setget
 
@@ -464,7 +468,7 @@ Additional information to return with the navigation path.
 
 .. rst-class:: classref-property
 
-:ref:`float<class_float>` **radius** = ``1.0``
+:ref:`float<class_float>` **radius** = ``0.5``
 
 .. rst-class:: classref-property-setget
 
@@ -517,7 +521,7 @@ The user-defined target position. Setting this property will clear the current n
 
 .. rst-class:: classref-property
 
-:ref:`float<class_float>` **time_horizon** = ``5.0``
+:ref:`float<class_float>` **time_horizon** = ``1.0``
 
 .. rst-class:: classref-property-setget
 

+ 62 - 6
classes/class_navigationlink2d.rst

@@ -19,7 +19,7 @@ Creates a link between two positions that :ref:`NavigationServer2D<class_Navigat
 Description
 -----------
 
-Creates a link between two positions that :ref:`NavigationServer2D<class_NavigationServer2D>` can route agents through.  Links can be used to express navigation methods that aren't just traveling along the surface of the navigation mesh, like zip-lines, teleporters, or jumping across gaps.
+Creates a link between two positions that :ref:`NavigationServer2D<class_NavigationServer2D>` can route agents through. Links can be used to express navigation methods that aren't just traveling along the surface of the navigation mesh, like zip-lines, teleporters, or jumping across gaps.
 
 .. rst-class:: classref-introduction-group
 
@@ -60,11 +60,19 @@ Methods
 .. table::
    :widths: auto
 
-   +-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>` | :ref:`get_navigation_layer_value<class_NavigationLink2D_method_get_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number **)** |const|                        |
-   +-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                    | :ref:`set_navigation_layer_value<class_NavigationLink2D_method_set_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number, :ref:`bool<class_bool>` value **)** |
-   +-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Vector2<class_Vector2>` | :ref:`get_global_end_position<class_NavigationLink2D_method_get_global_end_position>` **(** **)** |const|                                                                 |
+   +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Vector2<class_Vector2>` | :ref:`get_global_start_position<class_NavigationLink2D_method_get_global_start_position>` **(** **)** |const|                                                             |
+   +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`       | :ref:`get_navigation_layer_value<class_NavigationLink2D_method_get_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number **)** |const|                        |
+   +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                          | :ref:`set_global_end_position<class_NavigationLink2D_method_set_global_end_position>` **(** :ref:`Vector2<class_Vector2>` position **)**                                  |
+   +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                          | :ref:`set_global_start_position<class_NavigationLink2D_method_set_global_start_position>` **(** :ref:`Vector2<class_Vector2>` position **)**                              |
+   +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                          | :ref:`set_navigation_layer_value<class_NavigationLink2D_method_set_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number, :ref:`bool<class_bool>` value **)** |
+   +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -207,6 +215,30 @@ When pathfinding moves along the link the traveled distance is multiplied with `
 Method Descriptions
 -------------------
 
+.. _class_NavigationLink2D_method_get_global_end_position:
+
+.. rst-class:: classref-method
+
+:ref:`Vector2<class_Vector2>` **get_global_end_position** **(** **)** |const|
+
+Returns the :ref:`end_position<class_NavigationLink2D_property_end_position>` that is relative to the link as a global position.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_NavigationLink2D_method_get_global_start_position:
+
+.. rst-class:: classref-method
+
+:ref:`Vector2<class_Vector2>` **get_global_start_position** **(** **)** |const|
+
+Returns the :ref:`start_position<class_NavigationLink2D_property_start_position>` that is relative to the link as a global position.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationLink2D_method_get_navigation_layer_value:
 
 .. rst-class:: classref-method
@@ -219,6 +251,30 @@ Returns whether or not the specified layer of the :ref:`navigation_layers<class_
 
 ----
 
+.. _class_NavigationLink2D_method_set_global_end_position:
+
+.. rst-class:: classref-method
+
+void **set_global_end_position** **(** :ref:`Vector2<class_Vector2>` position **)**
+
+Sets the :ref:`end_position<class_NavigationLink2D_property_end_position>` that is relative to the link from a global ``position``.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_NavigationLink2D_method_set_global_start_position:
+
+.. rst-class:: classref-method
+
+void **set_global_start_position** **(** :ref:`Vector2<class_Vector2>` position **)**
+
+Sets the :ref:`start_position<class_NavigationLink2D_property_start_position>` that is relative to the link from a global ``position``.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationLink2D_method_set_navigation_layer_value:
 
 .. rst-class:: classref-method

+ 62 - 6
classes/class_navigationlink3d.rst

@@ -19,7 +19,7 @@ Creates a link between two positions that :ref:`NavigationServer3D<class_Navigat
 Description
 -----------
 
-Creates a link between two positions that :ref:`NavigationServer3D<class_NavigationServer3D>` can route agents through.  Links can be used to express navigation methods that aren't just traveling along the surface of the navigation mesh, like zip-lines, teleporters, or jumping across gaps.
+Creates a link between two positions that :ref:`NavigationServer3D<class_NavigationServer3D>` can route agents through. Links can be used to express navigation methods that aren't just traveling along the surface of the navigation mesh, like zip-lines, teleporters, or jumping across gaps.
 
 .. rst-class:: classref-introduction-group
 
@@ -60,11 +60,19 @@ Methods
 .. table::
    :widths: auto
 
-   +-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>` | :ref:`get_navigation_layer_value<class_NavigationLink3D_method_get_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number **)** |const|                        |
-   +-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                    | :ref:`set_navigation_layer_value<class_NavigationLink3D_method_set_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number, :ref:`bool<class_bool>` value **)** |
-   +-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Vector3<class_Vector3>` | :ref:`get_global_end_position<class_NavigationLink3D_method_get_global_end_position>` **(** **)** |const|                                                                 |
+   +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Vector3<class_Vector3>` | :ref:`get_global_start_position<class_NavigationLink3D_method_get_global_start_position>` **(** **)** |const|                                                             |
+   +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`       | :ref:`get_navigation_layer_value<class_NavigationLink3D_method_get_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number **)** |const|                        |
+   +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                          | :ref:`set_global_end_position<class_NavigationLink3D_method_set_global_end_position>` **(** :ref:`Vector3<class_Vector3>` position **)**                                  |
+   +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                          | :ref:`set_global_start_position<class_NavigationLink3D_method_set_global_start_position>` **(** :ref:`Vector3<class_Vector3>` position **)**                              |
+   +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                          | :ref:`set_navigation_layer_value<class_NavigationLink3D_method_set_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number, :ref:`bool<class_bool>` value **)** |
+   +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -207,6 +215,30 @@ When pathfinding moves along the link the traveled distance is multiplied with `
 Method Descriptions
 -------------------
 
+.. _class_NavigationLink3D_method_get_global_end_position:
+
+.. rst-class:: classref-method
+
+:ref:`Vector3<class_Vector3>` **get_global_end_position** **(** **)** |const|
+
+Returns the :ref:`end_position<class_NavigationLink3D_property_end_position>` that is relative to the link as a global position.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_NavigationLink3D_method_get_global_start_position:
+
+.. rst-class:: classref-method
+
+:ref:`Vector3<class_Vector3>` **get_global_start_position** **(** **)** |const|
+
+Returns the :ref:`start_position<class_NavigationLink3D_property_start_position>` that is relative to the link as a global position.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationLink3D_method_get_navigation_layer_value:
 
 .. rst-class:: classref-method
@@ -219,6 +251,30 @@ Returns whether or not the specified layer of the :ref:`navigation_layers<class_
 
 ----
 
+.. _class_NavigationLink3D_method_set_global_end_position:
+
+.. rst-class:: classref-method
+
+void **set_global_end_position** **(** :ref:`Vector3<class_Vector3>` position **)**
+
+Sets the :ref:`end_position<class_NavigationLink3D_property_end_position>` that is relative to the link from a global ``position``.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_NavigationLink3D_method_set_global_start_position:
+
+.. rst-class:: classref-method
+
+void **set_global_start_position** **(** :ref:`Vector3<class_Vector3>` position **)**
+
+Sets the :ref:`start_position<class_NavigationLink3D_property_start_position>` that is relative to the link from a global ``position``.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationLink3D_method_set_navigation_layer_value:
 
 .. rst-class:: classref-method

+ 1 - 1
classes/class_navigationpathqueryresult2d.rst

@@ -177,7 +177,7 @@ Method Descriptions
 
 void **reset** **(** **)**
 
-Reset the result object to its initial state.  This is useful to reuse the object across multiple queries.
+Reset the result object to its initial state. This is useful to reuse the object across multiple queries.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 1 - 1
classes/class_navigationpathqueryresult3d.rst

@@ -177,7 +177,7 @@ Method Descriptions
 
 void **reset** **(** **)**
 
-Reset the result object to its initial state.  This is useful to reuse the object across multiple queries.
+Reset the result object to its initial state. This is useful to reuse the object across multiple queries.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 28 - 0
classes/class_navigationserver2d.rst

@@ -81,6 +81,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`free_rid<class_NavigationServer2D_method_free_rid>` **(** :ref:`RID<class_RID>` rid **)**                                                                                                                                                                               |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                             | :ref:`get_debug_enabled<class_NavigationServer2D_method_get_debug_enabled>` **(** **)** |const|                                                                                                                                                                               |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID[]<class_RID>`                             | :ref:`get_maps<class_NavigationServer2D_method_get_maps>` **(** **)** |const|                                                                                                                                                                                                 |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID<class_RID>`                               | :ref:`link_create<class_NavigationServer2D_method_link_create>` **(** **)**                                                                                                                                                                                                   |
@@ -185,6 +187,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`region_set_travel_cost<class_NavigationServer2D_method_region_set_travel_cost>` **(** :ref:`RID<class_RID>` region, :ref:`float<class_float>` travel_cost **)**                                                                                                         |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`set_debug_enabled<class_NavigationServer2D_method_set_debug_enabled>` **(** :ref:`bool<class_bool>` enabled **)**                                                                                                                                                       |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -394,6 +398,18 @@ Destroys the given RID.
 
 ----
 
+.. _class_NavigationServer2D_method_get_debug_enabled:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **get_debug_enabled** **(** **)** |const|
+
+Returns ``true`` when the NavigationServer has debug enabled.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationServer2D_method_get_maps:
 
 .. rst-class:: classref-method
@@ -1024,6 +1040,18 @@ void **region_set_travel_cost** **(** :ref:`RID<class_RID>` region, :ref:`float<
 
 Sets the ``travel_cost`` for this ``region``.
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_NavigationServer2D_method_set_debug_enabled:
+
+.. rst-class:: classref-method
+
+void **set_debug_enabled** **(** :ref:`bool<class_bool>` enabled **)**
+
+If ``true`` enables debug mode on the NavigationServer.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 28 - 18
classes/class_navigationserver3d.rst

@@ -81,6 +81,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`free_rid<class_NavigationServer3D_method_free_rid>` **(** :ref:`RID<class_RID>` rid **)**                                                                                                                                                                               |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                             | :ref:`get_debug_enabled<class_NavigationServer3D_method_get_debug_enabled>` **(** **)** |const|                                                                                                                                                                               |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID[]<class_RID>`                             | :ref:`get_maps<class_NavigationServer3D_method_get_maps>` **(** **)** |const|                                                                                                                                                                                                 |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                               | :ref:`get_process_info<class_NavigationServer3D_method_get_process_info>` **(** :ref:`ProcessInfo<enum_NavigationServer3D_ProcessInfo>` process_info **)** |const|                                                                                                            |
@@ -159,8 +161,6 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`map_set_up<class_NavigationServer3D_method_map_set_up>` **(** :ref:`RID<class_RID>` map, :ref:`Vector3<class_Vector3>` up **)**                                                                                                                                         |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                | :ref:`process<class_NavigationServer3D_method_process>` **(** :ref:`float<class_float>` delta_time **)**                                                                                                                                                                      |
-   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`query_path<class_NavigationServer3D_method_query_path>` **(** :ref:`NavigationPathQueryParameters3D<class_NavigationPathQueryParameters3D>` parameters, :ref:`NavigationPathQueryResult3D<class_NavigationPathQueryResult3D>` result **)** |const|                      |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`region_bake_navigation_mesh<class_NavigationServer3D_method_region_bake_navigation_mesh>` **(** :ref:`NavigationMesh<class_NavigationMesh>` navigation_mesh, :ref:`Node<class_Node>` root_node **)**                                                                    |
@@ -201,6 +201,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`set_active<class_NavigationServer3D_method_set_active>` **(** :ref:`bool<class_bool>` active **)**                                                                                                                                                                      |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`set_debug_enabled<class_NavigationServer3D_method_set_debug_enabled>` **(** :ref:`bool<class_bool>` enabled **)**                                                                                                                                                       |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -497,6 +499,18 @@ Destroys the given RID.
 
 ----
 
+.. _class_NavigationServer3D_method_get_debug_enabled:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **get_debug_enabled** **(** **)** |const|
+
+Returns ``true`` when the NavigationServer has debug enabled.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationServer3D_method_get_maps:
 
 .. rst-class:: classref-method
@@ -971,22 +985,6 @@ Sets the map up direction.
 
 ----
 
-.. _class_NavigationServer3D_method_process:
-
-.. rst-class:: classref-method
-
-void **process** **(** :ref:`float<class_float>` delta_time **)**
-
-Process the collision avoidance agents.
-
-The result of this process is needed by the physics server, so this must be called in the main thread.
-
-\ **Note:** This function is not thread safe.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_NavigationServer3D_method_query_path:
 
 .. rst-class:: classref-method
@@ -1227,6 +1225,18 @@ void **set_active** **(** :ref:`bool<class_bool>` active **)**
 
 Control activation of this server.
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_NavigationServer3D_method_set_debug_enabled:
+
+.. rst-class:: classref-method
+
+void **set_debug_enabled** **(** :ref:`bool<class_bool>` enabled **)**
+
+If ``true`` enables debug mode on the NavigationServer.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 2 - 0
classes/class_node2d.rst

@@ -239,6 +239,8 @@ Position, relative to the node's parent.
 
 Rotation in radians, relative to the node's parent.
 
+\ **Note:** This property is edited in the inspector in degrees. If you want to use degrees in a script, use :ref:`rotation_degrees<class_Node2D_property_rotation_degrees>`.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 3 - 1
classes/class_node3d.rst

@@ -21,7 +21,7 @@ Most basic 3D game object, parent of all 3D-related nodes.
 Description
 -----------
 
-Most basic 3D game object, with a 3D :ref:`Transform3D<class_Transform3D>` and visibility settings. All other 3D game objects inherit from Node3D. Use **Node3D** as a parent node to move, scale, rotate and show/hide children in a 3D project.
+Most basic 3D game object, with a :ref:`Transform3D<class_Transform3D>` and visibility settings. All other 3D game objects inherit from Node3D. Use **Node3D** as a parent node to move, scale, rotate and show/hide children in a 3D project.
 
 Affine operations (rotate, scale, translate) happen in parent's local coordinate system, unless the **Node3D** object is set as top-level. Affine operations in this coordinate system correspond to direct affine operations on the **Node3D**'s transform. The word local below refers to this coordinate system. The coordinate system that is attached to the **Node3D** object itself is referred to as object-local coordinate system.
 
@@ -414,6 +414,8 @@ Rotation part of the local transformation in radians, specified in terms of Eule
 
 \ **Note:** In the mathematical sense, rotation is a matrix and not a vector. The three Euler angles, which are the three independent parameters of the Euler-angle parametrization of the rotation matrix, are stored in a :ref:`Vector3<class_Vector3>` data structure not because the rotation is a vector, but only because :ref:`Vector3<class_Vector3>` exists as a convenient data-structure to store 3 floating-point numbers. Therefore, applying affine operations on the rotation "vector" is not meaningful.
 
+\ **Note:** This property is edited in the inspector in degrees. If you want to use degrees in a script, use :ref:`rotation_degrees<class_Node3D_property_rotation_degrees>`.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 3 - 1
classes/class_omnilight3d.rst

@@ -101,7 +101,9 @@ Property Descriptions
 - void **set_param** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_param** **(** **)**
 
-The light's attenuation (drop-off) curve. A number of presets are available in the **Inspector** by right-clicking the curve.
+The light's attenuation (drop-off) curve. A number of presets are available in the **Inspector** by right-clicking the curve. Zero and negative values are allowed but can produce unusual effects.
+
+\ **Note:** Very high :ref:`omni_attenuation<class_OmniLight3D_property_omni_attenuation>` values (typically above 10) can impact performance negatively if the light is made to use a larger :ref:`omni_range<class_OmniLight3D_property_omni_range>` to compensate. This is because culling opportunities will become less common and shading costs will be increased (as the light will cover more pixels on screen while resulting in the same amount of brightness). To improve performance, use the lowest :ref:`omni_attenuation<class_OmniLight3D_property_omni_attenuation>` value possible for the visuals you're trying to achieve.
 
 .. rst-class:: classref-item-separator
 

+ 2 - 2
classes/class_packedbytearray.rst

@@ -551,7 +551,7 @@ Encodes a 16-bit signed integer number as bytes at the index of ``byte_offset``
 
 void **encode_s32** **(** :ref:`int<class_int>` byte_offset, :ref:`int<class_int>` value **)**
 
-Encodes a 32-bit signed integer number as bytes at the index of ``byte_offset`` bytes. The array must have at least 2 bytes of space, starting at the offset.
+Encodes a 32-bit signed integer number as bytes at the index of ``byte_offset`` bytes. The array must have at least 4 bytes of space, starting at the offset.
 
 .. rst-class:: classref-item-separator
 
@@ -563,7 +563,7 @@ Encodes a 32-bit signed integer number as bytes at the index of ``byte_offset``
 
 void **encode_s64** **(** :ref:`int<class_int>` byte_offset, :ref:`int<class_int>` value **)**
 
-Encodes a 64-bit signed integer number as bytes at the index of ``byte_offset`` bytes. The array must have at least 2 bytes of space, starting at the offset.
+Encodes a 64-bit signed integer number as bytes at the index of ``byte_offset`` bytes. The array must have at least 8 bytes of space, starting at the offset.
 
 .. rst-class:: classref-item-separator
 

+ 8 - 8
classes/class_popupmenu.rst

@@ -434,7 +434,7 @@ void **add_check_item** **(** :ref:`String<class_String>` label, :ref:`int<class
 
 Adds a new checkable item with text ``label``.
 
-An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided then the default ``0`` will be assigned to it. See :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
+An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided, then the default value of 0 (corresponding to :ref:`@GlobalScope.KEY_NONE<class_@GlobalScope_constant_KEY_NONE>`) will be assigned to the item (which means it won't have any accelerator). See :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
 
 \ **Note:** Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See :ref:`set_item_checked<class_PopupMenu_method_set_item_checked>` for more info on how to control it.
 
@@ -466,7 +466,7 @@ void **add_icon_check_item** **(** :ref:`Texture2D<class_Texture2D>` texture, :r
 
 Adds a new checkable item with text ``label`` and icon ``texture``.
 
-An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided then the default ``0`` will be assigned to it. See :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
+An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided, then the default value of 0 (corresponding to :ref:`@GlobalScope.KEY_NONE<class_@GlobalScope_constant_KEY_NONE>`) will be assigned to the item (which means it won't have any accelerator). See :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
 
 \ **Note:** Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See :ref:`set_item_checked<class_PopupMenu_method_set_item_checked>` for more info on how to control it.
 
@@ -498,7 +498,7 @@ void **add_icon_item** **(** :ref:`Texture2D<class_Texture2D>` texture, :ref:`St
 
 Adds a new item with text ``label`` and icon ``texture``.
 
-An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided then the default ``0`` will be assigned to it. See :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
+An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided, then the default value of 0 (corresponding to :ref:`@GlobalScope.KEY_NONE<class_@GlobalScope_constant_KEY_NONE>`) will be assigned to the item (which means it won't have any accelerator). See :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
 
 .. rst-class:: classref-item-separator
 
@@ -550,7 +550,7 @@ void **add_item** **(** :ref:`String<class_String>` label, :ref:`int<class_int>`
 
 Adds a new item with text ``label``.
 
-An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided then the default ``0`` will be assigned to it. See :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
+An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided, then the default value of 0 (corresponding to :ref:`@GlobalScope.KEY_NONE<class_@GlobalScope_constant_KEY_NONE>`) will be assigned to the item (which means it won't have any accelerator). See :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
 
 \ **Note:** The provided ``id`` is used only in :ref:`id_pressed<class_PopupMenu_signal_id_pressed>` and :ref:`id_focused<class_PopupMenu_signal_id_focused>` signals. It's not related to the ``index`` arguments in e.g. :ref:`set_item_checked<class_PopupMenu_method_set_item_checked>`.
 
@@ -568,7 +568,7 @@ Adds a new multistate item with text ``label``.
 
 Contrarily to normal binary items, multistate items can have more than two states, as defined by ``max_states``. Each press or activate of the item will increase the state by one. The default value is defined by ``default_state``.
 
-An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided then the default ``0`` will be assigned to it. See :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
+An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided, then the default value of 0 (corresponding to :ref:`@GlobalScope.KEY_NONE<class_@GlobalScope_constant_KEY_NONE>`) will be assigned to the item (which means it won't have any accelerator). See :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
 
 .. rst-class:: classref-item-separator
 
@@ -582,7 +582,7 @@ void **add_radio_check_item** **(** :ref:`String<class_String>` label, :ref:`int
 
 Adds a new radio check button with text ``label``.
 
-An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided then the default ``0`` will be assigned to it. See :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
+An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided, then the default value of 0 (corresponding to :ref:`@GlobalScope.KEY_NONE<class_@GlobalScope_constant_KEY_NONE>`) will be assigned to the item (which means it won't have any accelerator). See :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators.
 
 \ **Note:** Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See :ref:`set_item_checked<class_PopupMenu_method_set_item_checked>` for more info on how to control it.
 
@@ -678,7 +678,7 @@ Returns the index of the currently focused item. Returns ``-1`` if no item is fo
 
 :ref:`Key<enum_@GlobalScope_Key>` **get_item_accelerator** **(** :ref:`int<class_int>` index **)** |const|
 
-Returns the accelerator of the item at the given ``index``. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
+Returns the accelerator of the item at the given ``index``. An accelerator is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. The return value is an integer which is generally a combination of :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>`\ s and :ref:`Key<enum_@GlobalScope_Key>`\ s using boolean OR such as ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`). If no accelerator is defined for the specified ``index``, :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` returns ``0`` (corresponding to :ref:`@GlobalScope.KEY_NONE<class_@GlobalScope_constant_KEY_NONE>`).
 
 .. rst-class:: classref-item-separator
 
@@ -940,7 +940,7 @@ Passing ``-1`` as the index makes so that no item is focused.
 
 void **set_item_accelerator** **(** :ref:`int<class_int>` index, :ref:`Key<enum_@GlobalScope_Key>` accel **)**
 
-Sets the accelerator of the item at the given ``index``. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
+Sets the accelerator of the item at the given ``index``. An accelerator is a keyboard shortcut that can be pressed to trigger the menu button even if it's not currently open. ``accel`` is generally a combination of :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>`\ s and :ref:`Key<enum_@GlobalScope_Key>`\ s using boolean OR such as ``KEY_MASK_CTRL | KEY_A`` (:kbd:`Ctrl + A`).
 
 .. rst-class:: classref-item-separator
 

+ 19 - 19
classes/class_projectsettings.rst

@@ -557,6 +557,8 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`Dictionary<class_Dictionary>`               | :ref:`input/ui_text_select_word_under_caret<class_ProjectSettings_property_input/ui_text_select_word_under_caret>`                                                                                         |                                                                                                  |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`Dictionary<class_Dictionary>`               | :ref:`input/ui_text_select_word_under_caret.macos<class_ProjectSettings_property_input/ui_text_select_word_under_caret.macos>`                                                                             |                                                                                                  |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`Dictionary<class_Dictionary>`               | :ref:`input/ui_text_submit<class_ProjectSettings_property_input/ui_text_submit>`                                                                                                                           |                                                                                                  |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`Dictionary<class_Dictionary>`               | :ref:`input/ui_text_toggle_insert_mode<class_ProjectSettings_property_input/ui_text_toggle_insert_mode>`                                                                                                   |                                                                                                  |
@@ -575,8 +577,6 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`input_devices/pointing/emulate_touch_from_mouse<class_ProjectSettings_property_input_devices/pointing/emulate_touch_from_mouse>`                                                                     | ``false``                                                                                        |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                         | :ref:`input_devices/pointing/ios/touch_delay<class_ProjectSettings_property_input_devices/pointing/ios/touch_delay>`                                                                                       | ``0.15``                                                                                         |
-   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                       | :ref:`internationalization/locale/fallback<class_ProjectSettings_property_internationalization/locale/fallback>`                                                                                           | ``"en"``                                                                                         |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`internationalization/locale/include_text_server_data<class_ProjectSettings_property_internationalization/locale/include_text_server_data>`                                                           | ``false``                                                                                        |
@@ -1319,9 +1319,9 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`rendering/textures/lossless_compression/force_png<class_ProjectSettings_property_rendering/textures/lossless_compression/force_png>`                                                                 | ``false``                                                                                        |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`rendering/textures/vram_compression/import_etc2_astc<class_ProjectSettings_property_rendering/textures/vram_compression/import_etc2_astc>`                                                           | ``false``                                                                                        |
+   | :ref:`bool<class_bool>`                           | :ref:`rendering/textures/vram_compression/import_etc2_astc<class_ProjectSettings_property_rendering/textures/vram_compression/import_etc2_astc>`                                                           |                                                                                                  |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`rendering/textures/vram_compression/import_s3tc_bptc<class_ProjectSettings_property_rendering/textures/vram_compression/import_s3tc_bptc>`                                                           | ``true``                                                                                         |
+   | :ref:`bool<class_bool>`                           | :ref:`rendering/textures/vram_compression/import_s3tc_bptc<class_ProjectSettings_property_rendering/textures/vram_compression/import_s3tc_bptc>`                                                           |                                                                                                  |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`rendering/textures/webp_compression/compression_method<class_ProjectSettings_property_rendering/textures/webp_compression/compression_method>`                                                       | ``2``                                                                                            |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
@@ -3115,7 +3115,7 @@ Main window initial position.
 
 \ ``1`` - "Primary Screen Center".
 
-\ ``2`` - "Other Screen Center", :ref:`display/window/size/initial_screen<class_ProjectSettings_property_display/window/size/initial_screen>` is used to set window position.
+\ ``2`` - "Other Screen Center", :ref:`display/window/size/initial_screen<class_ProjectSettings_property_display/window/size/initial_screen>` is used to set the screen.
 
 .. rst-class:: classref-item-separator
 
@@ -4713,6 +4713,18 @@ If no selection is currently active, selects the word currently under the caret
 
 ----
 
+.. _class_ProjectSettings_property_input/ui_text_select_word_under_caret.macos:
+
+.. rst-class:: classref-property
+
+:ref:`Dictionary<class_Dictionary>` **input/ui_text_select_word_under_caret.macos**
+
+macOS specific override for the shortcut to select the word currently under the caret.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_input/ui_text_submit:
 
 .. rst-class:: classref-property
@@ -4837,18 +4849,6 @@ If ``true``, sends touch input events when clicking or dragging the mouse.
 
 ----
 
-.. _class_ProjectSettings_property_input_devices/pointing/ios/touch_delay:
-
-.. rst-class:: classref-property
-
-:ref:`float<class_float>` **input_devices/pointing/ios/touch_delay** = ``0.15``
-
-Default delay for touch events. This only affects iOS devices.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_ProjectSettings_property_internationalization/locale/fallback:
 
 .. rst-class:: classref-property
@@ -9533,7 +9533,7 @@ If ``true``, the texture importer will import lossless textures using the PNG fo
 
 .. rst-class:: classref-property
 
-:ref:`bool<class_bool>` **rendering/textures/vram_compression/import_etc2_astc** = ``false``
+:ref:`bool<class_bool>` **rendering/textures/vram_compression/import_etc2_astc**
 
 If ``true``, the texture importer will import VRAM-compressed textures using the Ericsson Texture Compression 2 algorithm for lower quality textures and normalmaps and Adaptable Scalable Texture Compression algorithm for high quality textures (in 4x4 block size).
 
@@ -9547,7 +9547,7 @@ If ``true``, the texture importer will import VRAM-compressed textures using the
 
 .. rst-class:: classref-property
 
-:ref:`bool<class_bool>` **rendering/textures/vram_compression/import_s3tc_bptc** = ``true``
+:ref:`bool<class_bool>` **rendering/textures/vram_compression/import_s3tc_bptc**
 
 If ``true``, the texture importer will import VRAM-compressed textures using the S3 Texture Compression algorithm (DXT1-5) for lower quality textures and the the BPTC algorithm (BC6H and BC7) for high quality textures. This algorithm is only supported on PC desktop platforms and consoles.
 

+ 1 - 227
classes/class_richtextlabel.rst

@@ -402,232 +402,6 @@ Each list item has a roman number marker.
 
 Each list item has a filled circle marker.
 
-.. rst-class:: classref-item-separator
-
-----
-
-.. _enum_RichTextLabel_ItemType:
-
-.. rst-class:: classref-enumeration
-
-enum **ItemType**:
-
-.. _class_RichTextLabel_constant_ITEM_FRAME:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_FRAME** = ``0``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_TEXT:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_TEXT** = ``1``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_IMAGE:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_IMAGE** = ``2``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_NEWLINE:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_NEWLINE** = ``3``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_FONT:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_FONT** = ``4``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_FONT_SIZE:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_FONT_SIZE** = ``5``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_FONT_FEATURES:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_FONT_FEATURES** = ``6``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_COLOR:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_COLOR** = ``7``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_OUTLINE_SIZE:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_OUTLINE_SIZE** = ``8``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_OUTLINE_COLOR:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_OUTLINE_COLOR** = ``9``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_UNDERLINE:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_UNDERLINE** = ``10``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_STRIKETHROUGH:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_STRIKETHROUGH** = ``11``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_PARAGRAPH:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_PARAGRAPH** = ``12``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_INDENT:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_INDENT** = ``13``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_LIST:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_LIST** = ``14``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_TABLE:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_TABLE** = ``15``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_FADE:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_FADE** = ``16``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_SHAKE:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_SHAKE** = ``17``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_WAVE:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_WAVE** = ``18``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_TORNADO:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_TORNADO** = ``19``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_RAINBOW:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_RAINBOW** = ``20``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_BGCOLOR:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_BGCOLOR** = ``21``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_FGCOLOR:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_FGCOLOR** = ``22``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_META:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_META** = ``23``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_HINT:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_HINT** = ``24``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_DROPCAP:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_DROPCAP** = ``25``
-
-
-
-.. _class_RichTextLabel_constant_ITEM_CUSTOMFX:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`ItemType<enum_RichTextLabel_ItemType>` **ITEM_CUSTOMFX** = ``26``
-
-
-
 .. rst-class:: classref-item-separator
 
 ----
@@ -1684,7 +1458,7 @@ Adds ``[ol]`` or ``[ul]`` tag to the tag stack. Multiplies ``level`` by current
 
 void **push_meta** **(** :ref:`Variant<class_Variant>` data **)**
 
-Adds a ``[meta]`` tag to the tag stack. Similar to the BBCode ``[url=something]{text}[/url]``, but supports non-:ref:`String<class_String>` metadata types.
+Adds a meta tag to the tag stack. Similar to the BBCode ``[url=something]{text}[/url]``, but supports non-:ref:`String<class_String>` metadata types.
 
 .. rst-class:: classref-item-separator
 

+ 16 - 0
classes/class_scriptextension.rst

@@ -35,6 +35,8 @@ Methods
    +---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Dictionary[]<class_Dictionary>`       | :ref:`_get_documentation<class_ScriptExtension_method__get_documentation>` **(** **)** |virtual| |const|                                                                |
    +---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`StringName<class_StringName>`         | :ref:`_get_global_name<class_ScriptExtension_method__get_global_name>` **(** **)** |virtual| |const|                                                                    |
+   +---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`StringName<class_StringName>`         | :ref:`_get_instance_base_type<class_ScriptExtension_method__get_instance_base_type>` **(** **)** |virtual| |const|                                                      |
    +---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`ScriptLanguage<class_ScriptLanguage>` | :ref:`_get_language<class_ScriptExtension_method__get_language>` **(** **)** |virtual| |const|                                                                          |
@@ -167,6 +169,20 @@ Method Descriptions
 
 ----
 
+.. _class_ScriptExtension_method__get_global_name:
+
+.. rst-class:: classref-method
+
+:ref:`StringName<class_StringName>` **_get_global_name** **(** **)** |virtual| |const|
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ScriptExtension_method__get_instance_base_type:
 
 .. rst-class:: classref-method

+ 4 - 2
classes/class_spotlight3d.rst

@@ -95,7 +95,7 @@ The spotlight's angle in degrees.
 - void **set_param** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_param** **(** **)**
 
-The spotlight's angular attenuation curve.
+The spotlight's *angular* attenuation curve. See also :ref:`spot_attenuation<class_SpotLight3D_property_spot_attenuation>`.
 
 .. rst-class:: classref-item-separator
 
@@ -112,7 +112,9 @@ The spotlight's angular attenuation curve.
 - void **set_param** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_param** **(** **)**
 
-The spotlight's light energy attenuation curve.
+The spotlight's light energy (drop-off) attenuation curve. A number of presets are available in the **Inspector** by right-clicking the curve. Zero and negative values are allowed but can produce unusual effects. See also :ref:`spot_angle_attenuation<class_SpotLight3D_property_spot_angle_attenuation>`.
+
+\ **Note:** Very high :ref:`spot_attenuation<class_SpotLight3D_property_spot_attenuation>` values (typically above 10) can impact performance negatively if the light is made to use a larger :ref:`spot_range<class_SpotLight3D_property_spot_range>` to compensate. This is because culling opportunities will become less common and shading costs will be increased (as the light will cover more pixels on screen while resulting in the same amount of brightness). To improve performance, use the lowest :ref:`spot_attenuation<class_SpotLight3D_property_spot_attenuation>` value possible for the visuals you're trying to achieve.
 
 .. rst-class:: classref-item-separator
 

+ 2 - 2
classes/class_spriteframes.rst

@@ -180,9 +180,9 @@ Returns a relative duration of the frame ``idx`` in the ``anim`` animation (defa
 
 ::
 
-    absolute_duration = relative_duration / (animation_fps * abs(speed_scale))
+    absolute_duration = relative_duration / (animation_fps * abs(playing_speed))
 
-In this example, ``speed_scale`` refers to either :ref:`AnimatedSprite2D.speed_scale<class_AnimatedSprite2D_property_speed_scale>` or :ref:`AnimatedSprite3D.speed_scale<class_AnimatedSprite3D_property_speed_scale>`.
+In this example, ``playing_speed`` refers to either :ref:`AnimatedSprite2D.get_playing_speed<class_AnimatedSprite2D_method_get_playing_speed>` or :ref:`AnimatedSprite3D.get_playing_speed<class_AnimatedSprite3D_method_get_playing_speed>`.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_string.rst

@@ -2009,7 +2009,7 @@ Formats the **String**, replacing the placeholders with one or more parameters.
 
     print("I caught %d fishes!" % 2) # Prints "I caught 2 fishes!"
     
-    var my_message = "Travelling to %s, at %2.2f per second."
+    var my_message = "Travelling to %s, at %2.2f km/h."
     var location = "Deep Valley"
     var speed = 40.3485
     print(my_message % [location, speed]) # Prints "Travelling to Deep Valley, at 40.35 km/h."

+ 1 - 1
classes/class_stringname.rst

@@ -1084,7 +1084,7 @@ Removes a set of characters defined in ``chars`` from the string's beginning. Se
 
 :ref:`bool<class_bool>` **match** **(** :ref:`String<class_String>` expr **)** |const|
 
-Does a simple expression match, where ``*`` matches zero or more arbitrary characters and ``?`` matches any single character except a period (``.``). An empty string or empty expression always evaluates to ``false``.
+Does a simple expression match (also called "glob" or "globbing"), where ``*`` matches zero or more arbitrary characters and ``?`` matches any single character except a period (``.``). An empty string or empty expression always evaluates to ``false``.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_styleboxflat.rst

@@ -667,7 +667,7 @@ Sets the expand margin to ``size`` pixels for the specified :ref:`Side<enum_@Glo
 
 void **set_expand_margin_all** **(** :ref:`float<class_float>` size **)**
 
-Sets the expand margin to ``size`` pixels for all margins.
+Sets the expand margin to ``size`` pixels for all sides.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 1 - 1
classes/class_styleboxtexture.rst

@@ -434,7 +434,7 @@ Sets the expand margin to ``size`` pixels for the specified :ref:`Side<enum_@Glo
 
 void **set_expand_margin_all** **(** :ref:`float<class_float>` size **)**
 
-Sets the expand margin to ``size`` pixels for all margins.
+Sets the expand margin to ``size`` pixels for all sides.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_textserver.rst

@@ -1437,7 +1437,7 @@ Method Descriptions
 
 :ref:`RID<class_RID>` **create_font** **(** **)**
 
-Creates new, empty font cache entry resource. To free the resulting resourec, use :ref:`free_rid<class_TextServer_method_free_rid>` method.
+Creates new, empty font cache entry resource. To free the resulting resource, use :ref:`free_rid<class_TextServer_method_free_rid>` method.
 
 .. rst-class:: classref-item-separator
 

+ 2 - 0
classes/class_texturerect.rst

@@ -201,6 +201,8 @@ Property Descriptions
 
 Defines how minimum size is determined based on the texture's size. See :ref:`ExpandMode<enum_TextureRect_ExpandMode>` for options.
 
+\ **Note:** Using :ref:`EXPAND_FIT_WIDTH<class_TextureRect_constant_EXPAND_FIT_WIDTH>`, :ref:`EXPAND_FIT_WIDTH_PROPORTIONAL<class_TextureRect_constant_EXPAND_FIT_WIDTH_PROPORTIONAL>`, :ref:`EXPAND_FIT_HEIGHT<class_TextureRect_constant_EXPAND_FIT_HEIGHT>` or :ref:`EXPAND_FIT_HEIGHT_PROPORTIONAL<class_TextureRect_constant_EXPAND_FIT_HEIGHT_PROPORTIONAL>` may result in unstable behavior in some containers. This functionality is being re-evaluated and will change in the future.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 1 - 1
classes/class_time.rst

@@ -353,7 +353,7 @@ Returns the current date as a dictionary of keys: ``year``, ``month``, ``day``,
 
 :ref:`Dictionary<class_Dictionary>` **get_datetime_dict_from_unix_time** **(** :ref:`int<class_int>` unix_time_val **)** |const|
 
-Converts the given Unix timestamp to a dictionary of keys: ``year``, ``month``, ``day``, and ``weekday``.
+Converts the given Unix timestamp to a dictionary of keys: ``year``, ``month``, ``day``, ``weekday``, ``hour``, ``minute``, and ``second``.
 
 The returned Dictionary's values will be the same as the :ref:`get_datetime_dict_from_system<class_Time_method_get_datetime_dict_from_system>` if the Unix timestamp is the current time, with the exception of Daylight Savings Time as it cannot be determined from the epoch.
 

+ 1 - 1
classes/class_visibleonscreenenabler2d.rst

@@ -72,7 +72,7 @@ Corresponds to :ref:`Node.PROCESS_MODE_ALWAYS<class_Node_constant_PROCESS_MODE_A
 
 :ref:`EnableMode<enum_VisibleOnScreenEnabler2D_EnableMode>` **ENABLE_MODE_WHEN_PAUSED** = ``2``
 
-Corresponds to [constant Node.PROCESS_MODE_WHEN_PAUSED.
+Corresponds to :ref:`Node.PROCESS_MODE_WHEN_PAUSED<class_Node_constant_PROCESS_MODE_WHEN_PAUSED>`.
 
 .. rst-class:: classref-section-separator
 

+ 1 - 1
classes/class_voxelgi.rst

@@ -34,7 +34,7 @@ Description
 Tutorials
 ---------
 
-- :doc:`GI probes <../tutorials/3d/gi_probes>`
+- :doc:`VoxelGI <../tutorials/3d/using_voxel_gi>`
 
 - `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
 

+ 1 - 1
classes/class_xrinterface.rst

@@ -170,7 +170,7 @@ This interface supports quad rendering (not yet supported by Godot).
 
 :ref:`Capabilities<enum_XRInterface_Capabilities>` **XR_VR** = ``8``
 
-this interface supports VR.
+This interface supports VR.
 
 .. _class_XRInterface_constant_XR_AR: