Răsfoiți Sursa

classref: Sync with current master branch (518b9e580)

Rémi Verschelde 2 ani în urmă
părinte
comite
fe259f74ff
100 a modificat fișierele cu 2633 adăugiri și 1522 ștergeri
  1. 5 1
      classes/[email protected]
  2. 165 596
      classes/[email protected]
  3. 1 1
      classes/class_aabb.rst
  4. 3 3
      classes/class_acceptdialog.rst
  5. 2 0
      classes/class_animatablebody3d.rst
  6. 196 58
      classes/class_animatedsprite2d.rst
  7. 189 49
      classes/class_animatedsprite3d.rst
  8. 14 0
      classes/class_animationnode.rst
  9. 34 0
      classes/class_animationnodeoneshot.rst
  10. 53 19
      classes/class_animationnodestatemachineplayback.rst
  11. 35 16
      classes/class_animationnodestatemachinetransition.rst
  12. 25 21
      classes/class_animationnodetransition.rst
  13. 115 79
      classes/class_animationplayer.rst
  14. 26 12
      classes/class_animationtree.rst
  15. 2 0
      classes/class_area3d.rst
  16. 33 33
      classes/class_array.rst
  17. 52 46
      classes/class_arraymesh.rst
  18. 4 4
      classes/class_astargrid2d.rst
  19. 1 1
      classes/class_audiostream.rst
  20. 1 1
      classes/class_audiostreamplayback.rst
  21. 137 0
      classes/class_audiostreamplaybackpolyphonic.rst
  22. 65 0
      classes/class_audiostreampolyphonic.rst
  23. 2 2
      classes/class_backbuffercopy.rst
  24. 1 1
      classes/class_basebutton.rst
  25. 22 63
      classes/class_boneattachment3d.rst
  26. 1 1
      classes/class_bool.rst
  27. 7 5
      classes/class_callable.rst
  28. 3 1
      classes/class_canvasgroup.rst
  29. 41 21
      classes/class_canvasitem.rst
  30. 4 2
      classes/class_characterbody3d.rst
  31. 1 15
      classes/class_codeedit.rst
  32. 5 3
      classes/class_collisionobject3d.rst
  33. 2 0
      classes/class_collisionpolygon3d.rst
  34. 2 0
      classes/class_collisionshape3d.rst
  35. 1 1
      classes/class_color.rst
  36. 2 2
      classes/class_confirmationdialog.rst
  37. 19 9
      classes/class_control.rst
  38. 1 1
      classes/class_convexpolygonshape3d.rst
  39. 29 0
      classes/class_cubemap.rst
  40. 29 0
      classes/class_cubemaparray.rst
  41. 2 2
      classes/class_curve2d.rst
  42. 1 1
      classes/class_curve3d.rst
  43. 29 1
      classes/class_dictionary.rst
  44. 13 3
      classes/class_displayserver.rst
  45. 2 2
      classes/class_dtlsserver.rst
  46. 1 1
      classes/class_editorcommandpalette.rst
  47. 9 2
      classes/class_editorexportplatform.rst
  48. 12 14
      classes/class_editorfilesystem.rst
  49. 35 3
      classes/class_editorplugin.rst
  50. 34 11
      classes/class_editorresourceconversionplugin.rst
  51. 60 4
      classes/class_editorsettings.rst
  52. 1 1
      classes/class_editorundoredomanager.rst
  53. 1 1
      classes/class_expression.rst
  54. 14 0
      classes/class_filesystemdock.rst
  55. 3 17
      classes/class_gdscript.rst
  56. 7 1
      classes/class_geometryinstance3d.rst
  57. 4 4
      classes/class_gltfdocument.rst
  58. 65 0
      classes/class_gltfstate.rst
  59. 4 4
      classes/class_gpuparticles2d.rst
  60. 17 17
      classes/class_graphnode.rst
  61. 2 2
      classes/class_heightmapshape3d.rst
  62. 2 2
      classes/class_httprequest.rst
  63. 3 3
      classes/class_image.rst
  64. 11 3
      classes/class_importermesh.rst
  65. 19 1
      classes/class_input.rst
  66. 103 4
      classes/class_inputeventkey.rst
  67. 17 3
      classes/class_inputeventwithmodifiers.rst
  68. 1 1
      classes/class_javascriptbridge.rst
  69. 20 4
      classes/class_json.rst
  70. 1 1
      classes/class_light3d.rst
  71. 22 6
      classes/class_lightmapgi.rst
  72. 83 22
      classes/class_lineedit.rst
  73. 1 1
      classes/class_marshalls.rst
  74. 25 11
      classes/class_material.rst
  75. 24 2
      classes/class_mesh.rst
  76. 5 26
      classes/class_meshinstance2d.rst
  77. 5 26
      classes/class_multimeshinstance2d.rst
  78. 2 2
      classes/class_multiplayerapi.rst
  79. 36 36
      classes/class_navigationagent2d.rst
  80. 26 26
      classes/class_navigationagent3d.rst
  81. 13 13
      classes/class_navigationlink2d.rst
  82. 13 13
      classes/class_navigationlink3d.rst
  83. 17 17
      classes/class_navigationserver2d.rst
  84. 118 17
      classes/class_navigationserver3d.rst
  85. 9 1
      classes/class_node.rst
  86. 0 0
      classes/class_object.rst
  87. 2 2
      classes/class_openxraction.rst
  88. 24 8
      classes/class_os.rst
  89. 3 1
      classes/class_particleprocessmaterial.rst
  90. 102 22
      classes/class_performance.rst
  91. 5 2
      classes/class_physicalbone3d.rst
  92. 3 1
      classes/class_physicsbody3d.rst
  93. 1 1
      classes/class_physicsserver3dmanager.rst
  94. 15 9
      classes/class_plane.rst
  95. 54 54
      classes/class_projection.rst
  96. 167 10
      classes/class_projectsettings.rst
  97. 3 3
      classes/class_rect2i.rst
  98. 0 0
      classes/class_refcounted.rst
  99. 3 3
      classes/class_remotetransform2d.rst
  100. 29 7
      classes/class_renderingserver.rst

+ 5 - 1
classes/[email protected]

@@ -482,7 +482,7 @@ See also :ref:`@GlobalScope.PROPERTY_HINT_NODE_PATH_VALID_TYPES<class_@GlobalSco
 
 
 ::
 ::
 
 
-    @export_node_path(Button, TouchScreenButton) var some_button
+    @export_node_path("Button", "TouchScreenButton") var some_button
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -577,6 +577,8 @@ Add a custom icon to the current script. The script must be registered as a glob
 
 
 \ **Note:** Only the script can have a custom icon. Inner classes are not supported.
 \ **Note:** Only the script can have a custom icon. Inner classes are not supported.
 
 
+\ **Note:** As annotations describe their subject, the ``@icon`` annotation must be placed before the class definition and inheritance.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -626,6 +628,8 @@ Mark the current script as a tool script, allowing it to be loaded and executed
     @tool
     @tool
     extends Node
     extends Node
 
 
+\ **Note:** As annotations describe their subject, the ``@tool`` annotation must be placed before the class definition and inheritance.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----

Fișier diff suprimat deoarece este prea mare
+ 165 - 596
classes/[email protected]


+ 1 - 1
classes/class_aabb.rst

@@ -280,7 +280,7 @@ Returns a copy of this **AABB** expanded to include a given point.
  .. code-tab:: csharp
  .. code-tab:: csharp
 
 
     // position (-3, 2, 0), size (1, 1, 1)
     // position (-3, 2, 0), size (1, 1, 1)
-    var box = new AABB(new Vector3(-3, 2, 0), new Vector3(1, 1, 1));
+    var box = new Aabb(new Vector3(-3, 2, 0), new Vector3(1, 1, 1));
     // position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB and Vector3(0, -1, 2)
     // position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB and Vector3(0, -1, 2)
     var box2 = box.Expand(new Vector3(0, -1, 2));
     var box2 = box.Expand(new Vector3(0, -1, 2));
 
 

+ 3 - 3
classes/class_acceptdialog.rst

@@ -98,11 +98,11 @@ Theme Properties
 Signals
 Signals
 -------
 -------
 
 
-.. _class_AcceptDialog_signal_cancelled:
+.. _class_AcceptDialog_signal_canceled:
 
 
 .. rst-class:: classref-signal
 .. rst-class:: classref-signal
 
 
-**cancelled** **(** **)**
+**canceled** **(** **)**
 
 
 Emitted when the dialog is closed or the button created with :ref:`add_cancel_button<class_AcceptDialog_method_add_cancel_button>` is pressed.
 Emitted when the dialog is closed or the button created with :ref:`add_cancel_button<class_AcceptDialog_method_add_cancel_button>` is pressed.
 
 
@@ -307,7 +307,7 @@ Registers a :ref:`LineEdit<class_LineEdit>` in the dialog. When the enter key is
 
 
 void **remove_button** **(** :ref:`Control<class_Control>` button **)**
 void **remove_button** **(** :ref:`Control<class_Control>` button **)**
 
 
-Removes the ``button`` from the dialog. Does NOT free the ``button``. The ``button`` must be a :ref:`Button<class_Button>` added with :ref:`add_button<class_AcceptDialog_method_add_button>` or :ref:`add_cancel_button<class_AcceptDialog_method_add_cancel_button>` method. After removal, pressing the ``button`` will no longer emit this dialog's :ref:`custom_action<class_AcceptDialog_signal_custom_action>` or :ref:`cancelled<class_AcceptDialog_signal_cancelled>` signals.
+Removes the ``button`` from the dialog. Does NOT free the ``button``. The ``button`` must be a :ref:`Button<class_Button>` added with :ref:`add_button<class_AcceptDialog_method_add_button>` or :ref:`add_cancel_button<class_AcceptDialog_method_add_cancel_button>` method. After removal, pressing the ``button`` will no longer emit this dialog's :ref:`custom_action<class_AcceptDialog_signal_custom_action>` or :ref:`canceled<class_AcceptDialog_signal_canceled>` signals.
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 

+ 2 - 0
classes/class_animatablebody3d.rst

@@ -25,6 +25,8 @@ An animatable body can't be moved by external forces or contacts, but can be mov
 
 
 When the body is moved manually, either from code or from an :ref:`AnimationPlayer<class_AnimationPlayer>` (with :ref:`AnimationPlayer.playback_process_mode<class_AnimationPlayer_property_playback_process_mode>` set to ``physics``), the physics will automatically compute an estimate of their linear and angular velocity. This makes them very useful for moving platforms or other AnimationPlayer-controlled objects (like a door, a bridge that opens, etc).
 When the body is moved manually, either from code or from an :ref:`AnimationPlayer<class_AnimationPlayer>` (with :ref:`AnimationPlayer.playback_process_mode<class_AnimationPlayer_property_playback_process_mode>` set to ``physics``), the physics will automatically compute an estimate of their linear and angular velocity. This makes them very useful for moving platforms or other AnimationPlayer-controlled objects (like a door, a bridge that opens, etc).
 
 
+\ **Warning:** With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
+
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 
 Tutorials
 Tutorials

+ 196 - 58
classes/class_animatedsprite2d.rst

@@ -21,12 +21,6 @@ Description
 
 
 **AnimatedSprite2D** is similar to the :ref:`Sprite2D<class_Sprite2D>` node, except it carries multiple textures as animation frames. Animations are created using a :ref:`SpriteFrames<class_SpriteFrames>` resource, which allows you to import image files (or a folder containing said files) to provide the animation frames for the sprite. The :ref:`SpriteFrames<class_SpriteFrames>` resource can be configured in the editor via the SpriteFrames bottom panel.
 **AnimatedSprite2D** is similar to the :ref:`Sprite2D<class_Sprite2D>` node, except it carries multiple textures as animation frames. Animations are created using a :ref:`SpriteFrames<class_SpriteFrames>` resource, which allows you to import image files (or a folder containing said files) to provide the animation frames for the sprite. The :ref:`SpriteFrames<class_SpriteFrames>` resource can be configured in the editor via the SpriteFrames bottom panel.
 
 
-After setting up :ref:`frames<class_AnimatedSprite2D_property_frames>`, :ref:`play<class_AnimatedSprite2D_method_play>` may be called. It's also possible to select an :ref:`animation<class_AnimatedSprite2D_property_animation>` and toggle :ref:`playing<class_AnimatedSprite2D_property_playing>`, even within the editor.
-
-To pause the current animation, set :ref:`playing<class_AnimatedSprite2D_property_playing>` to ``false``. Alternatively, setting :ref:`speed_scale<class_AnimatedSprite2D_property_speed_scale>` to ``0`` also preserves the current frame's elapsed time.
-
-\ **Note:** You can associate a set of normal or specular maps by creating additional :ref:`SpriteFrames<class_SpriteFrames>` resources with a ``_normal`` or ``_specular`` suffix. For example, having 3 :ref:`SpriteFrames<class_SpriteFrames>` resources ``run``, ``run_normal``, and ``run_specular`` will make it so the ``run`` animation uses normal and specular maps.
-
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 
 Tutorials
 Tutorials
@@ -44,25 +38,27 @@ Properties
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +-----------------------------------------+-----------------------------------------------------------------+-------------------+
-   | :ref:`StringName<class_StringName>`     | :ref:`animation<class_AnimatedSprite2D_property_animation>`     | ``&"default"``    |
-   +-----------------------------------------+-----------------------------------------------------------------+-------------------+
-   | :ref:`bool<class_bool>`                 | :ref:`centered<class_AnimatedSprite2D_property_centered>`       | ``true``          |
-   +-----------------------------------------+-----------------------------------------------------------------+-------------------+
-   | :ref:`bool<class_bool>`                 | :ref:`flip_h<class_AnimatedSprite2D_property_flip_h>`           | ``false``         |
-   +-----------------------------------------+-----------------------------------------------------------------+-------------------+
-   | :ref:`bool<class_bool>`                 | :ref:`flip_v<class_AnimatedSprite2D_property_flip_v>`           | ``false``         |
-   +-----------------------------------------+-----------------------------------------------------------------+-------------------+
-   | :ref:`int<class_int>`                   | :ref:`frame<class_AnimatedSprite2D_property_frame>`             | ``0``             |
-   +-----------------------------------------+-----------------------------------------------------------------+-------------------+
-   | :ref:`SpriteFrames<class_SpriteFrames>` | :ref:`frames<class_AnimatedSprite2D_property_frames>`           |                   |
-   +-----------------------------------------+-----------------------------------------------------------------+-------------------+
-   | :ref:`Vector2<class_Vector2>`           | :ref:`offset<class_AnimatedSprite2D_property_offset>`           | ``Vector2(0, 0)`` |
-   +-----------------------------------------+-----------------------------------------------------------------+-------------------+
-   | :ref:`bool<class_bool>`                 | :ref:`playing<class_AnimatedSprite2D_property_playing>`         | ``false``         |
-   +-----------------------------------------+-----------------------------------------------------------------+-------------------+
-   | :ref:`float<class_float>`               | :ref:`speed_scale<class_AnimatedSprite2D_property_speed_scale>` | ``1.0``           |
-   +-----------------------------------------+-----------------------------------------------------------------+-------------------+
+   +-----------------------------------------+-----------------------------------------------------------------------+-------------------+
+   | :ref:`StringName<class_StringName>`     | :ref:`animation<class_AnimatedSprite2D_property_animation>`           | ``&"default"``    |
+   +-----------------------------------------+-----------------------------------------------------------------------+-------------------+
+   | :ref:`String<class_String>`             | :ref:`autoplay<class_AnimatedSprite2D_property_autoplay>`             | ``""``            |
+   +-----------------------------------------+-----------------------------------------------------------------------+-------------------+
+   | :ref:`bool<class_bool>`                 | :ref:`centered<class_AnimatedSprite2D_property_centered>`             | ``true``          |
+   +-----------------------------------------+-----------------------------------------------------------------------+-------------------+
+   | :ref:`bool<class_bool>`                 | :ref:`flip_h<class_AnimatedSprite2D_property_flip_h>`                 | ``false``         |
+   +-----------------------------------------+-----------------------------------------------------------------------+-------------------+
+   | :ref:`bool<class_bool>`                 | :ref:`flip_v<class_AnimatedSprite2D_property_flip_v>`                 | ``false``         |
+   +-----------------------------------------+-----------------------------------------------------------------------+-------------------+
+   | :ref:`int<class_int>`                   | :ref:`frame<class_AnimatedSprite2D_property_frame>`                   | ``0``             |
+   +-----------------------------------------+-----------------------------------------------------------------------+-------------------+
+   | :ref:`float<class_float>`               | :ref:`frame_progress<class_AnimatedSprite2D_property_frame_progress>` | ``0.0``           |
+   +-----------------------------------------+-----------------------------------------------------------------------+-------------------+
+   | :ref:`Vector2<class_Vector2>`           | :ref:`offset<class_AnimatedSprite2D_property_offset>`                 | ``Vector2(0, 0)`` |
+   +-----------------------------------------+-----------------------------------------------------------------------+-------------------+
+   | :ref:`float<class_float>`               | :ref:`speed_scale<class_AnimatedSprite2D_property_speed_scale>`       | ``1.0``           |
+   +-----------------------------------------+-----------------------------------------------------------------------+-------------------+
+   | :ref:`SpriteFrames<class_SpriteFrames>` | :ref:`sprite_frames<class_AnimatedSprite2D_property_sprite_frames>`   |                   |
+   +-----------------------------------------+-----------------------------------------------------------------------+-------------------+
 
 
 .. rst-class:: classref-reftable-group
 .. rst-class:: classref-reftable-group
 
 
@@ -72,11 +68,21 @@ Methods
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +------+---------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void | :ref:`play<class_AnimatedSprite2D_method_play>` **(** :ref:`StringName<class_StringName>` anim=&"", :ref:`bool<class_bool>` backwards=false **)** |
-   +------+---------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void | :ref:`stop<class_AnimatedSprite2D_method_stop>` **(** **)**                                                                                       |
-   +------+---------------------------------------------------------------------------------------------------------------------------------------------------+
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>` | :ref:`get_playing_speed<class_AnimatedSprite2D_method_get_playing_speed>` **(** **)** |const|                                                                                                |
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`   | :ref:`is_playing<class_AnimatedSprite2D_method_is_playing>` **(** **)** |const|                                                                                                              |
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                      | :ref:`pause<class_AnimatedSprite2D_method_pause>` **(** **)**                                                                                                                                |
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                      | :ref:`play<class_AnimatedSprite2D_method_play>` **(** :ref:`StringName<class_StringName>` name=&"", :ref:`float<class_float>` custom_speed=1.0, :ref:`bool<class_bool>` from_end=false **)** |
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                      | :ref:`play_backwards<class_AnimatedSprite2D_method_play_backwards>` **(** :ref:`StringName<class_StringName>` name=&"" **)**                                                                 |
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                      | :ref:`set_frame_and_progress<class_AnimatedSprite2D_method_set_frame_and_progress>` **(** :ref:`int<class_int>` frame, :ref:`float<class_float>` progress **)**                              |
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                      | :ref:`stop<class_AnimatedSprite2D_method_stop>` **(** **)**                                                                                                                                  |
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -87,13 +93,37 @@ Methods
 Signals
 Signals
 -------
 -------
 
 
+.. _class_AnimatedSprite2D_signal_animation_changed:
+
+.. rst-class:: classref-signal
+
+**animation_changed** **(** **)**
+
+Emitted when :ref:`animation<class_AnimatedSprite2D_property_animation>` changes.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AnimatedSprite2D_signal_animation_finished:
 .. _class_AnimatedSprite2D_signal_animation_finished:
 
 
 .. rst-class:: classref-signal
 .. rst-class:: classref-signal
 
 
 **animation_finished** **(** **)**
 **animation_finished** **(** **)**
 
 
-Emitted when the animation reaches the end, or the start if it is played in reverse. If the animation is looping, this signal is emitted at the end of each loop.
+Emitted when the animation reaches the end, or the start if it is played in reverse. When the animation finishes, it pauses the playback.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimatedSprite2D_signal_animation_looped:
+
+.. rst-class:: classref-signal
+
+**animation_looped** **(** **)**
+
+Emitted when the animation loops.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -105,7 +135,19 @@ Emitted when the animation reaches the end, or the start if it is played in reve
 
 
 **frame_changed** **(** **)**
 **frame_changed** **(** **)**
 
 
-Emitted when :ref:`frame<class_AnimatedSprite2D_property_frame>` changed.
+Emitted when :ref:`frame<class_AnimatedSprite2D_property_frame>` changes.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimatedSprite2D_signal_sprite_frames_changed:
+
+.. rst-class:: classref-signal
+
+**sprite_frames_changed** **(** **)**
+
+Emitted when :ref:`sprite_frames<class_AnimatedSprite2D_property_sprite_frames>` changes.
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -127,7 +169,24 @@ Property Descriptions
 - void **set_animation** **(** :ref:`StringName<class_StringName>` value **)**
 - void **set_animation** **(** :ref:`StringName<class_StringName>` value **)**
 - :ref:`StringName<class_StringName>` **get_animation** **(** **)**
 - :ref:`StringName<class_StringName>` **get_animation** **(** **)**
 
 
-The current animation from the :ref:`frames<class_AnimatedSprite2D_property_frames>` resource. If this value changes, the ``frame`` counter is reset.
+The current animation from the :ref:`sprite_frames<class_AnimatedSprite2D_property_sprite_frames>` resource. If this value is changed, the :ref:`frame<class_AnimatedSprite2D_property_frame>` counter and the :ref:`frame_progress<class_AnimatedSprite2D_property_frame_progress>` are reset.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimatedSprite2D_property_autoplay:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **autoplay** = ``""``
+
+.. rst-class:: classref-property-setget
+
+- void **set_autoplay** **(** :ref:`String<class_String>` value **)**
+- :ref:`String<class_String>` **get_autoplay** **(** **)**
+
+The key of the animation to play when the scene loads.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -195,24 +254,24 @@ If ``true``, texture is flipped vertically.
 - void **set_frame** **(** :ref:`int<class_int>` value **)**
 - void **set_frame** **(** :ref:`int<class_int>` value **)**
 - :ref:`int<class_int>` **get_frame** **(** **)**
 - :ref:`int<class_int>` **get_frame** **(** **)**
 
 
-The displayed animation frame's index.
+The displayed animation frame's index. Setting this property also resets :ref:`frame_progress<class_AnimatedSprite2D_property_frame_progress>`. If this is not desired, use :ref:`set_frame_and_progress<class_AnimatedSprite2D_method_set_frame_and_progress>`.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
 
 
-.. _class_AnimatedSprite2D_property_frames:
+.. _class_AnimatedSprite2D_property_frame_progress:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`SpriteFrames<class_SpriteFrames>` **frames**
+:ref:`float<class_float>` **frame_progress** = ``0.0``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
-- void **set_sprite_frames** **(** :ref:`SpriteFrames<class_SpriteFrames>` value **)**
-- :ref:`SpriteFrames<class_SpriteFrames>` **get_sprite_frames** **(** **)**
+- void **set_frame_progress** **(** :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_frame_progress** **(** **)**
 
 
-The :ref:`SpriteFrames<class_SpriteFrames>` resource containing the animation(s). Allows you the option to load, edit, clear, make unique and save the states of the :ref:`SpriteFrames<class_SpriteFrames>` resource.
+The progress value between ``0.0`` and ``1.0`` until the current frame transitions to the next frame. If the animation is playing backwards, the value transitions from ``1.0`` to ``0.0``.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -235,39 +294,37 @@ The texture's drawing offset.
 
 
 ----
 ----
 
 
-.. _class_AnimatedSprite2D_property_playing:
+.. _class_AnimatedSprite2D_property_speed_scale:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`bool<class_bool>` **playing** = ``false``
+:ref:`float<class_float>` **speed_scale** = ``1.0``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
-- void **set_playing** **(** :ref:`bool<class_bool>` value **)**
-- :ref:`bool<class_bool>` **is_playing** **(** **)**
-
-If ``true``, the :ref:`animation<class_AnimatedSprite2D_property_animation>` is currently playing. Setting this property to ``false`` pauses the current animation. Use :ref:`stop<class_AnimatedSprite2D_method_stop>` to stop the animation at the current frame instead.
+- void **set_speed_scale** **(** :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_speed_scale** **(** **)**
 
 
-\ **Note:** Unlike :ref:`stop<class_AnimatedSprite2D_method_stop>`, changing this property to ``false`` preserves the current frame's elapsed time and the ``backwards`` flag of the current :ref:`animation<class_AnimatedSprite2D_property_animation>` (if it was previously set by :ref:`play<class_AnimatedSprite2D_method_play>`).
+The speed scaling ratio. For example, if this value is ``1``, then the animation plays at normal speed. If it's ``0.5``, then it plays at half speed. If it's ``2``, then it plays at double speed.
 
 
-\ **Note:** After a non-looping animation finishes, the property still remains ``true``.
+If set to a negative value, the animation is played in reverse. If set to ``0``, the animation will not advance.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
 
 
-.. _class_AnimatedSprite2D_property_speed_scale:
+.. _class_AnimatedSprite2D_property_sprite_frames:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`float<class_float>` **speed_scale** = ``1.0``
+:ref:`SpriteFrames<class_SpriteFrames>` **sprite_frames**
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
-- void **set_speed_scale** **(** :ref:`float<class_float>` value **)**
-- :ref:`float<class_float>` **get_speed_scale** **(** **)**
+- void **set_sprite_frames** **(** :ref:`SpriteFrames<class_SpriteFrames>` value **)**
+- :ref:`SpriteFrames<class_SpriteFrames>` **get_sprite_frames** **(** **)**
 
 
-The animation speed is multiplied by this value. If set to a negative value, the animation is played in reverse. If set to ``0``, the animation is paused, preserving the current frame's elapsed time.
+The :ref:`SpriteFrames<class_SpriteFrames>` resource containing the animation(s). Allows you the option to load, edit, clear, make unique and save the states of the :ref:`SpriteFrames<class_SpriteFrames>` resource.
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -278,15 +335,98 @@ The animation speed is multiplied by this value. If set to a negative value, the
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 
+.. _class_AnimatedSprite2D_method_get_playing_speed:
+
+.. rst-class:: classref-method
+
+:ref:`float<class_float>` **get_playing_speed** **(** **)** |const|
+
+Returns the actual playing speed of current animation or ``0`` if not playing. This speed is the :ref:`speed_scale<class_AnimatedSprite2D_property_speed_scale>` property multiplied by ``custom_speed`` argument specified when calling the :ref:`play<class_AnimatedSprite2D_method_play>` method.
+
+Returns a negative value if the current animation is playing backwards.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimatedSprite2D_method_is_playing:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **is_playing** **(** **)** |const|
+
+Returns ``true`` if an animation is currently playing (even if :ref:`speed_scale<class_AnimatedSprite2D_property_speed_scale>` and/or ``custom_speed`` are ``0``).
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimatedSprite2D_method_pause:
+
+.. rst-class:: classref-method
+
+void **pause** **(** **)**
+
+Pauses the currently playing animation. The :ref:`frame<class_AnimatedSprite2D_property_frame>` and :ref:`frame_progress<class_AnimatedSprite2D_property_frame_progress>` will be kept and calling :ref:`play<class_AnimatedSprite2D_method_play>` or :ref:`play_backwards<class_AnimatedSprite2D_method_play_backwards>` without arguments will resume the animation from the current playback position.
+
+See also :ref:`stop<class_AnimatedSprite2D_method_stop>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AnimatedSprite2D_method_play:
 .. _class_AnimatedSprite2D_method_play:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **play** **(** :ref:`StringName<class_StringName>` anim=&"", :ref:`bool<class_bool>` backwards=false **)**
+void **play** **(** :ref:`StringName<class_StringName>` name=&"", :ref:`float<class_float>` custom_speed=1.0, :ref:`bool<class_bool>` from_end=false **)**
+
+Plays the animation with key ``name``. If ``custom_speed`` is negative and ``from_end`` is ``true``, the animation will play backwards (which is equivalent to calling :ref:`play_backwards<class_AnimatedSprite2D_method_play_backwards>`).
+
+If this method is called with that same animation ``name``, or with no ``name`` parameter, the assigned animation will resume playing if it was paused.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimatedSprite2D_method_play_backwards:
+
+.. rst-class:: classref-method
+
+void **play_backwards** **(** :ref:`StringName<class_StringName>` name=&"" **)**
+
+Plays the animation with key ``name`` in reverse.
+
+This method is a shorthand for :ref:`play<class_AnimatedSprite2D_method_play>` with ``custom_speed = -1.0`` and ``from_end = true``, so see its description for more information.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimatedSprite2D_method_set_frame_and_progress:
+
+.. rst-class:: classref-method
+
+void **set_frame_and_progress** **(** :ref:`int<class_int>` frame, :ref:`float<class_float>` progress **)**
+
+The setter of :ref:`frame<class_AnimatedSprite2D_property_frame>` resets the :ref:`frame_progress<class_AnimatedSprite2D_property_frame_progress>` to ``0.0`` implicitly, but this method avoids that.
+
+This is useful when you want to carry over the current :ref:`frame_progress<class_AnimatedSprite2D_property_frame_progress>` to another :ref:`frame<class_AnimatedSprite2D_property_frame>`.
+
+\ **Example:**\ 
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    # Change the animation with keeping the frame index and progress.
+    var current_frame = animated_sprite.get_frame()
+    var current_progress = animated_sprite.get_frame_progress()
+    animated_sprite.play("walk_another_skin")
+    animated_sprite.set_frame_and_progress(current_frame, current_progress)
 
 
-Plays the animation named ``anim``. If no ``anim`` is provided, the current animation is played. If ``backwards`` is ``true``, the animation is played in reverse.
 
 
-\ **Note:** If :ref:`speed_scale<class_AnimatedSprite2D_property_speed_scale>` is negative, the animation direction specified by ``backwards`` will be inverted.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -298,9 +438,7 @@ Plays the animation named ``anim``. If no ``anim`` is provided, the current anim
 
 
 void **stop** **(** **)**
 void **stop** **(** **)**
 
 
-Stops the current :ref:`animation<class_AnimatedSprite2D_property_animation>` at the current :ref:`frame<class_AnimatedSprite2D_property_frame>`.
-
-\ **Note:** This method resets the current frame's elapsed time and removes the ``backwards`` flag from the current :ref:`animation<class_AnimatedSprite2D_property_animation>` (if it was previously set by :ref:`play<class_AnimatedSprite2D_method_play>`). If this behavior is undesired, set :ref:`playing<class_AnimatedSprite2D_property_playing>` to ``false`` instead.
+Stops the currently playing animation. The animation position is reset to ``0`` and the ``custom_speed`` is reset to ``1.0``. See also :ref:`pause<class_AnimatedSprite2D_method_pause>`.
 
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 189 - 49
classes/class_animatedsprite3d.rst

@@ -19,11 +19,7 @@ AnimatedSprite3D
 Description
 Description
 -----------
 -----------
 
 
-**AnimatedSprite3D** is similar to the :ref:`Sprite3D<class_Sprite3D>` node, except it carries multiple textures as animation :ref:`frames<class_AnimatedSprite3D_property_frames>`. Animations are created using a :ref:`SpriteFrames<class_SpriteFrames>` resource, which allows you to import image files (or a folder containing said files) to provide the animation frames for the sprite. The :ref:`SpriteFrames<class_SpriteFrames>` resource can be configured in the editor via the SpriteFrames bottom panel.
-
-After setting up :ref:`frames<class_AnimatedSprite3D_property_frames>`, :ref:`play<class_AnimatedSprite3D_method_play>` may be called. It's also possible to select an :ref:`animation<class_AnimatedSprite3D_property_animation>` and toggle :ref:`playing<class_AnimatedSprite3D_property_playing>`, even within the editor.
-
-To pause the current animation, set :ref:`playing<class_AnimatedSprite3D_property_playing>` to ``false``. Alternatively, setting :ref:`speed_scale<class_AnimatedSprite3D_property_speed_scale>` to ``0`` also preserves the current frame's elapsed time.
+**AnimatedSprite3D** is similar to the :ref:`Sprite3D<class_Sprite3D>` node, except it carries multiple textures as animation :ref:`sprite_frames<class_AnimatedSprite3D_property_sprite_frames>`. Animations are created using a :ref:`SpriteFrames<class_SpriteFrames>` resource, which allows you to import image files (or a folder containing said files) to provide the animation frames for the sprite. The :ref:`SpriteFrames<class_SpriteFrames>` resource can be configured in the editor via the SpriteFrames bottom panel.
 
 
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 
@@ -40,17 +36,19 @@ Properties
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +-----------------------------------------+-----------------------------------------------------------------+----------------+
-   | :ref:`StringName<class_StringName>`     | :ref:`animation<class_AnimatedSprite3D_property_animation>`     | ``&"default"`` |
-   +-----------------------------------------+-----------------------------------------------------------------+----------------+
-   | :ref:`int<class_int>`                   | :ref:`frame<class_AnimatedSprite3D_property_frame>`             | ``0``          |
-   +-----------------------------------------+-----------------------------------------------------------------+----------------+
-   | :ref:`SpriteFrames<class_SpriteFrames>` | :ref:`frames<class_AnimatedSprite3D_property_frames>`           |                |
-   +-----------------------------------------+-----------------------------------------------------------------+----------------+
-   | :ref:`bool<class_bool>`                 | :ref:`playing<class_AnimatedSprite3D_property_playing>`         | ``false``      |
-   +-----------------------------------------+-----------------------------------------------------------------+----------------+
-   | :ref:`float<class_float>`               | :ref:`speed_scale<class_AnimatedSprite3D_property_speed_scale>` | ``1.0``        |
-   +-----------------------------------------+-----------------------------------------------------------------+----------------+
+   +-----------------------------------------+-----------------------------------------------------------------------+----------------+
+   | :ref:`StringName<class_StringName>`     | :ref:`animation<class_AnimatedSprite3D_property_animation>`           | ``&"default"`` |
+   +-----------------------------------------+-----------------------------------------------------------------------+----------------+
+   | :ref:`String<class_String>`             | :ref:`autoplay<class_AnimatedSprite3D_property_autoplay>`             | ``""``         |
+   +-----------------------------------------+-----------------------------------------------------------------------+----------------+
+   | :ref:`int<class_int>`                   | :ref:`frame<class_AnimatedSprite3D_property_frame>`                   | ``0``          |
+   +-----------------------------------------+-----------------------------------------------------------------------+----------------+
+   | :ref:`float<class_float>`               | :ref:`frame_progress<class_AnimatedSprite3D_property_frame_progress>` | ``0.0``        |
+   +-----------------------------------------+-----------------------------------------------------------------------+----------------+
+   | :ref:`float<class_float>`               | :ref:`speed_scale<class_AnimatedSprite3D_property_speed_scale>`       | ``1.0``        |
+   +-----------------------------------------+-----------------------------------------------------------------------+----------------+
+   | :ref:`SpriteFrames<class_SpriteFrames>` | :ref:`sprite_frames<class_AnimatedSprite3D_property_sprite_frames>`   |                |
+   +-----------------------------------------+-----------------------------------------------------------------------+----------------+
 
 
 .. rst-class:: classref-reftable-group
 .. rst-class:: classref-reftable-group
 
 
@@ -60,11 +58,21 @@ Methods
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +------+---------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void | :ref:`play<class_AnimatedSprite3D_method_play>` **(** :ref:`StringName<class_StringName>` anim=&"", :ref:`bool<class_bool>` backwards=false **)** |
-   +------+---------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void | :ref:`stop<class_AnimatedSprite3D_method_stop>` **(** **)**                                                                                       |
-   +------+---------------------------------------------------------------------------------------------------------------------------------------------------+
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>` | :ref:`get_playing_speed<class_AnimatedSprite3D_method_get_playing_speed>` **(** **)** |const|                                                                                                |
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`   | :ref:`is_playing<class_AnimatedSprite3D_method_is_playing>` **(** **)** |const|                                                                                                              |
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                      | :ref:`pause<class_AnimatedSprite3D_method_pause>` **(** **)**                                                                                                                                |
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                      | :ref:`play<class_AnimatedSprite3D_method_play>` **(** :ref:`StringName<class_StringName>` name=&"", :ref:`float<class_float>` custom_speed=1.0, :ref:`bool<class_bool>` from_end=false **)** |
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                      | :ref:`play_backwards<class_AnimatedSprite3D_method_play_backwards>` **(** :ref:`StringName<class_StringName>` name=&"" **)**                                                                 |
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                      | :ref:`set_frame_and_progress<class_AnimatedSprite3D_method_set_frame_and_progress>` **(** :ref:`int<class_int>` frame, :ref:`float<class_float>` progress **)**                              |
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                      | :ref:`stop<class_AnimatedSprite3D_method_stop>` **(** **)**                                                                                                                                  |
+   +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -75,13 +83,37 @@ Methods
 Signals
 Signals
 -------
 -------
 
 
+.. _class_AnimatedSprite3D_signal_animation_changed:
+
+.. rst-class:: classref-signal
+
+**animation_changed** **(** **)**
+
+Emitted when :ref:`animation<class_AnimatedSprite3D_property_animation>` changes.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AnimatedSprite3D_signal_animation_finished:
 .. _class_AnimatedSprite3D_signal_animation_finished:
 
 
 .. rst-class:: classref-signal
 .. rst-class:: classref-signal
 
 
 **animation_finished** **(** **)**
 **animation_finished** **(** **)**
 
 
-Emitted when the animation reaches the end, or the start if it is played in reverse. If the animation is looping, this signal is emitted at the end of each loop.
+Emitted when the animation reaches the end, or the start if it is played in reverse. When the animation finishes, it pauses the playback.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimatedSprite3D_signal_animation_looped:
+
+.. rst-class:: classref-signal
+
+**animation_looped** **(** **)**
+
+Emitted when the animation loops.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -93,7 +125,19 @@ Emitted when the animation reaches the end, or the start if it is played in reve
 
 
 **frame_changed** **(** **)**
 **frame_changed** **(** **)**
 
 
-Emitted when :ref:`frame<class_AnimatedSprite3D_property_frame>` changed.
+Emitted when :ref:`frame<class_AnimatedSprite3D_property_frame>` changes.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimatedSprite3D_signal_sprite_frames_changed:
+
+.. rst-class:: classref-signal
+
+**sprite_frames_changed** **(** **)**
+
+Emitted when :ref:`sprite_frames<class_AnimatedSprite3D_property_sprite_frames>` changes.
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -115,7 +159,24 @@ Property Descriptions
 - void **set_animation** **(** :ref:`StringName<class_StringName>` value **)**
 - void **set_animation** **(** :ref:`StringName<class_StringName>` value **)**
 - :ref:`StringName<class_StringName>` **get_animation** **(** **)**
 - :ref:`StringName<class_StringName>` **get_animation** **(** **)**
 
 
-The current animation from the ``frames`` resource. If this value changes, the ``frame`` counter is reset.
+The current animation from the :ref:`sprite_frames<class_AnimatedSprite3D_property_sprite_frames>` resource. If this value is changed, the :ref:`frame<class_AnimatedSprite3D_property_frame>` counter and the :ref:`frame_progress<class_AnimatedSprite3D_property_frame_progress>` are reset.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimatedSprite3D_property_autoplay:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **autoplay** = ``""``
+
+.. rst-class:: classref-property-setget
+
+- void **set_autoplay** **(** :ref:`String<class_String>` value **)**
+- :ref:`String<class_String>` **get_autoplay** **(** **)**
+
+The key of the animation to play when the scene loads.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -132,62 +193,60 @@ The current animation from the ``frames`` resource. If this value changes, the `
 - void **set_frame** **(** :ref:`int<class_int>` value **)**
 - void **set_frame** **(** :ref:`int<class_int>` value **)**
 - :ref:`int<class_int>` **get_frame** **(** **)**
 - :ref:`int<class_int>` **get_frame** **(** **)**
 
 
-The displayed animation frame's index.
+The displayed animation frame's index. Setting this property also resets :ref:`frame_progress<class_AnimatedSprite3D_property_frame_progress>`. If this is not desired, use :ref:`set_frame_and_progress<class_AnimatedSprite3D_method_set_frame_and_progress>`.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
 
 
-.. _class_AnimatedSprite3D_property_frames:
+.. _class_AnimatedSprite3D_property_frame_progress:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`SpriteFrames<class_SpriteFrames>` **frames**
+:ref:`float<class_float>` **frame_progress** = ``0.0``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
-- void **set_sprite_frames** **(** :ref:`SpriteFrames<class_SpriteFrames>` value **)**
-- :ref:`SpriteFrames<class_SpriteFrames>` **get_sprite_frames** **(** **)**
+- void **set_frame_progress** **(** :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_frame_progress** **(** **)**
 
 
-The :ref:`SpriteFrames<class_SpriteFrames>` resource containing the animation(s).
+The progress value between ``0.0`` and ``1.0`` until the current frame transitions to the next frame. If the animation is playing backwards, the value transitions from ``1.0`` to ``0.0``.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
 
 
-.. _class_AnimatedSprite3D_property_playing:
+.. _class_AnimatedSprite3D_property_speed_scale:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`bool<class_bool>` **playing** = ``false``
+:ref:`float<class_float>` **speed_scale** = ``1.0``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
-- void **set_playing** **(** :ref:`bool<class_bool>` value **)**
-- :ref:`bool<class_bool>` **is_playing** **(** **)**
-
-If ``true``, the :ref:`animation<class_AnimatedSprite3D_property_animation>` is currently playing. Setting this property to ``false`` pauses the current animation. Use :ref:`stop<class_AnimatedSprite3D_method_stop>` to stop the animation at the current frame instead.
+- void **set_speed_scale** **(** :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_speed_scale** **(** **)**
 
 
-\ **Note:** Unlike :ref:`stop<class_AnimatedSprite3D_method_stop>`, changing this property to ``false`` preserves the current frame's elapsed time and the ``backwards`` flag of the current :ref:`animation<class_AnimatedSprite3D_property_animation>` (if it was previously set by :ref:`play<class_AnimatedSprite3D_method_play>`).
+The speed scaling ratio. For example, if this value is ``1``, then the animation plays at normal speed. If it's ``0.5``, then it plays at half speed. If it's ``2``, then it plays at double speed.
 
 
-\ **Note:** After a non-looping animation finishes, the property still remains ``true``.
+If set to a negative value, the animation is played in reverse. If set to ``0``, the animation will not advance.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
 
 
-.. _class_AnimatedSprite3D_property_speed_scale:
+.. _class_AnimatedSprite3D_property_sprite_frames:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`float<class_float>` **speed_scale** = ``1.0``
+:ref:`SpriteFrames<class_SpriteFrames>` **sprite_frames**
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
-- void **set_speed_scale** **(** :ref:`float<class_float>` value **)**
-- :ref:`float<class_float>` **get_speed_scale** **(** **)**
+- void **set_sprite_frames** **(** :ref:`SpriteFrames<class_SpriteFrames>` value **)**
+- :ref:`SpriteFrames<class_SpriteFrames>` **get_sprite_frames** **(** **)**
 
 
-The animation speed is multiplied by this value. If set to a negative value, the animation is played in reverse. If set to ``0``, the animation is paused, preserving the current frame's elapsed time.
+The :ref:`SpriteFrames<class_SpriteFrames>` resource containing the animation(s). Allows you the option to load, edit, clear, make unique and save the states of the :ref:`SpriteFrames<class_SpriteFrames>` resource.
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -198,15 +257,98 @@ The animation speed is multiplied by this value. If set to a negative value, the
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 
+.. _class_AnimatedSprite3D_method_get_playing_speed:
+
+.. rst-class:: classref-method
+
+:ref:`float<class_float>` **get_playing_speed** **(** **)** |const|
+
+Returns the actual playing speed of current animation or ``0`` if not playing. This speed is the :ref:`speed_scale<class_AnimatedSprite3D_property_speed_scale>` property multiplied by ``custom_speed`` argument specified when calling the :ref:`play<class_AnimatedSprite3D_method_play>` method.
+
+Returns a negative value if the current animation is playing backwards.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimatedSprite3D_method_is_playing:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **is_playing** **(** **)** |const|
+
+Returns ``true`` if an animation is currently playing (even if :ref:`speed_scale<class_AnimatedSprite3D_property_speed_scale>` and/or ``custom_speed`` are ``0``).
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimatedSprite3D_method_pause:
+
+.. rst-class:: classref-method
+
+void **pause** **(** **)**
+
+Pauses the currently playing animation. The :ref:`frame<class_AnimatedSprite3D_property_frame>` and :ref:`frame_progress<class_AnimatedSprite3D_property_frame_progress>` will be kept and calling :ref:`play<class_AnimatedSprite3D_method_play>` or :ref:`play_backwards<class_AnimatedSprite3D_method_play_backwards>` without arguments will resume the animation from the current playback position.
+
+See also :ref:`stop<class_AnimatedSprite3D_method_stop>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AnimatedSprite3D_method_play:
 .. _class_AnimatedSprite3D_method_play:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **play** **(** :ref:`StringName<class_StringName>` anim=&"", :ref:`bool<class_bool>` backwards=false **)**
+void **play** **(** :ref:`StringName<class_StringName>` name=&"", :ref:`float<class_float>` custom_speed=1.0, :ref:`bool<class_bool>` from_end=false **)**
+
+Plays the animation with key ``name``. If ``custom_speed`` is negative and ``from_end`` is ``true``, the animation will play backwards (which is equivalent to calling :ref:`play_backwards<class_AnimatedSprite3D_method_play_backwards>`).
+
+If this method is called with that same animation ``name``, or with no ``name`` parameter, the assigned animation will resume playing if it was paused.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimatedSprite3D_method_play_backwards:
+
+.. rst-class:: classref-method
+
+void **play_backwards** **(** :ref:`StringName<class_StringName>` name=&"" **)**
+
+Plays the animation with key ``name`` in reverse.
+
+This method is a shorthand for :ref:`play<class_AnimatedSprite3D_method_play>` with ``custom_speed = -1.0`` and ``from_end = true``, so see its description for more information.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimatedSprite3D_method_set_frame_and_progress:
+
+.. rst-class:: classref-method
+
+void **set_frame_and_progress** **(** :ref:`int<class_int>` frame, :ref:`float<class_float>` progress **)**
+
+The setter of :ref:`frame<class_AnimatedSprite3D_property_frame>` resets the :ref:`frame_progress<class_AnimatedSprite3D_property_frame_progress>` to ``0.0`` implicitly, but this method avoids that.
+
+This is useful when you want to carry over the current :ref:`frame_progress<class_AnimatedSprite3D_property_frame_progress>` to another :ref:`frame<class_AnimatedSprite3D_property_frame>`.
+
+\ **Example:**\ 
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    # Change the animation with keeping the frame index and progress.
+    var current_frame = animated_sprite.get_frame()
+    var current_progress = animated_sprite.get_frame_progress()
+    animated_sprite.play("walk_another_skin")
+    animated_sprite.set_frame_and_progress(current_frame, current_progress)
 
 
-Plays the animation named ``anim``. If no ``anim`` is provided, the current animation is played. If ``backwards`` is ``true``, the animation is played in reverse.
 
 
-\ **Note:** If :ref:`speed_scale<class_AnimatedSprite3D_property_speed_scale>` is negative, the animation direction specified by ``backwards`` will be inverted.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -218,9 +360,7 @@ Plays the animation named ``anim``. If no ``anim`` is provided, the current anim
 
 
 void **stop** **(** **)**
 void **stop** **(** **)**
 
 
-Stops the current :ref:`animation<class_AnimatedSprite3D_property_animation>` at the current :ref:`frame<class_AnimatedSprite3D_property_frame>`.
-
-\ **Note:** This method resets the current frame's elapsed time and removes the ``backwards`` flag from the current :ref:`animation<class_AnimatedSprite3D_property_animation>` (if it was previously set by :ref:`play<class_AnimatedSprite3D_method_play>`). If this behavior is undesired, set :ref:`playing<class_AnimatedSprite3D_property_playing>` to ``false`` instead.
+Stops the currently playing animation. The animation position is reset to ``0`` and the ``custom_speed`` is reset to ``1.0``. See also :ref:`pause<class_AnimatedSprite3D_method_pause>`.
 
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 14 - 0
classes/class_animationnode.rst

@@ -65,6 +65,8 @@ Methods
    +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                   | :ref:`_has_filter<class_AnimationNode_method__has_filter>` **(** **)** |virtual| |const|                                                                                                                                                                                                                                                                                                                    |
    | :ref:`bool<class_bool>`                   | :ref:`_has_filter<class_AnimationNode_method__has_filter>` **(** **)** |virtual| |const|                                                                                                                                                                                                                                                                                                                    |
    +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                   | :ref:`_is_parameter_read_only<class_AnimationNode_method__is_parameter_read_only>` **(** :ref:`StringName<class_StringName>` parameter **)** |virtual| |const|                                                                                                                                                                                                                                              |
+   +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                 | :ref:`_process<class_AnimationNode_method__process>` **(** :ref:`float<class_float>` time, :ref:`bool<class_bool>` seek, :ref:`bool<class_bool>` is_external_seeking **)** |virtual| |const|                                                                                                                                                                                                                |
    | :ref:`float<class_float>`                 | :ref:`_process<class_AnimationNode_method__process>` **(** :ref:`float<class_float>` time, :ref:`bool<class_bool>` seek, :ref:`bool<class_bool>` is_external_seeking **)** |virtual| |const|                                                                                                                                                                                                                |
    +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                      | :ref:`add_input<class_AnimationNode_method_add_input>` **(** :ref:`String<class_String>` name **)**                                                                                                                                                                                                                                                                                                         |
    | void                                      | :ref:`add_input<class_AnimationNode_method_add_input>` **(** :ref:`String<class_String>` name **)**                                                                                                                                                                                                                                                                                                         |
@@ -257,6 +259,18 @@ When inheriting from :ref:`AnimationRootNode<class_AnimationRootNode>`, implemen
 
 
 ----
 ----
 
 
+.. _class_AnimationNode_method__is_parameter_read_only:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **_is_parameter_read_only** **(** :ref:`StringName<class_StringName>` parameter **)** |virtual| |const|
+
+When inheriting from :ref:`AnimationRootNode<class_AnimationRootNode>`, implement this virtual method to return whether the ``parameter`` is read-only. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AnimationNode_method__process:
 .. _class_AnimationNode_method__process:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 34 - 0
classes/class_animationnodeoneshot.rst

@@ -61,6 +61,40 @@ Properties
 Enumerations
 Enumerations
 ------------
 ------------
 
 
+.. _enum_AnimationNodeOneShot_OneShotRequest:
+
+.. rst-class:: classref-enumeration
+
+enum **OneShotRequest**:
+
+.. _class_AnimationNodeOneShot_constant_ONE_SHOT_REQUEST_NONE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`OneShotRequest<enum_AnimationNodeOneShot_OneShotRequest>` **ONE_SHOT_REQUEST_NONE** = ``0``
+
+
+
+.. _class_AnimationNodeOneShot_constant_ONE_SHOT_REQUEST_FIRE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`OneShotRequest<enum_AnimationNodeOneShot_OneShotRequest>` **ONE_SHOT_REQUEST_FIRE** = ``1``
+
+
+
+.. _class_AnimationNodeOneShot_constant_ONE_SHOT_REQUEST_ABORT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`OneShotRequest<enum_AnimationNodeOneShot_OneShotRequest>` **ONE_SHOT_REQUEST_ABORT** = ``2``
+
+
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _enum_AnimationNodeOneShot_MixMode:
 .. _enum_AnimationNodeOneShot_MixMode:
 
 
 .. rst-class:: classref-enumeration
 .. rst-class:: classref-enumeration

+ 53 - 19
classes/class_animationnodestatemachineplayback.rst

@@ -65,23 +65,27 @@ Methods
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                         | :ref:`get_current_length<class_AnimationNodeStateMachinePlayback_method_get_current_length>` **(** **)** |const|               |
-   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`StringName<class_StringName>`               | :ref:`get_current_node<class_AnimationNodeStateMachinePlayback_method_get_current_node>` **(** **)** |const|                   |
-   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                         | :ref:`get_current_play_position<class_AnimationNodeStateMachinePlayback_method_get_current_play_position>` **(** **)** |const| |
-   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_travel_path<class_AnimationNodeStateMachinePlayback_method_get_travel_path>` **(** **)** |const|                     |
-   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`is_playing<class_AnimationNodeStateMachinePlayback_method_is_playing>` **(** **)** |const|                               |
-   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
-   | void                                              | :ref:`start<class_AnimationNodeStateMachinePlayback_method_start>` **(** :ref:`StringName<class_StringName>` node **)**        |
-   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
-   | void                                              | :ref:`stop<class_AnimationNodeStateMachinePlayback_method_stop>` **(** **)**                                                   |
-   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
-   | void                                              | :ref:`travel<class_AnimationNodeStateMachinePlayback_method_travel>` **(** :ref:`StringName<class_StringName>` to_node **)**   |
-   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`get_current_length<class_AnimationNodeStateMachinePlayback_method_get_current_length>` **(** **)** |const|                                                             |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`StringName<class_StringName>`               | :ref:`get_current_node<class_AnimationNodeStateMachinePlayback_method_get_current_node>` **(** **)** |const|                                                                 |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`get_current_play_position<class_AnimationNodeStateMachinePlayback_method_get_current_play_position>` **(** **)** |const|                                               |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`StringName<class_StringName>`               | :ref:`get_fading_from_node<class_AnimationNodeStateMachinePlayback_method_get_fading_from_node>` **(** **)** |const|                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_travel_path<class_AnimationNodeStateMachinePlayback_method_get_travel_path>` **(** **)** |const|                                                                   |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`is_playing<class_AnimationNodeStateMachinePlayback_method_is_playing>` **(** **)** |const|                                                                             |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`next<class_AnimationNodeStateMachinePlayback_method_next>` **(** **)**                                                                                                 |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`start<class_AnimationNodeStateMachinePlayback_method_start>` **(** :ref:`StringName<class_StringName>` node, :ref:`bool<class_bool>` reset=true **)**                  |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`stop<class_AnimationNodeStateMachinePlayback_method_stop>` **(** **)**                                                                                                 |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`travel<class_AnimationNodeStateMachinePlayback_method_travel>` **(** :ref:`StringName<class_StringName>` to_node, :ref:`bool<class_bool>` reset_on_teleport=true **)** |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -130,6 +134,18 @@ Returns the playback position within the current animation state.
 
 
 ----
 ----
 
 
+.. _class_AnimationNodeStateMachinePlayback_method_get_fading_from_node:
+
+.. rst-class:: classref-method
+
+:ref:`StringName<class_StringName>` **get_fading_from_node** **(** **)** |const|
+
+Returns the starting state of currently fading animation.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AnimationNodeStateMachinePlayback_method_get_travel_path:
 .. _class_AnimationNodeStateMachinePlayback_method_get_travel_path:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -154,14 +170,28 @@ Returns ``true`` if an animation is playing.
 
 
 ----
 ----
 
 
+.. _class_AnimationNodeStateMachinePlayback_method_next:
+
+.. rst-class:: classref-method
+
+void **next** **(** **)**
+
+If there is a next path by travel or auto advance, immediately transitions from the current state to the next state.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AnimationNodeStateMachinePlayback_method_start:
 .. _class_AnimationNodeStateMachinePlayback_method_start:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **start** **(** :ref:`StringName<class_StringName>` node **)**
+void **start** **(** :ref:`StringName<class_StringName>` node, :ref:`bool<class_bool>` reset=true **)**
 
 
 Starts playing the given animation.
 Starts playing the given animation.
 
 
+If ``reset`` is ``true``, the animation is played from the beginning.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -182,10 +212,14 @@ Stops the currently playing animation.
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **travel** **(** :ref:`StringName<class_StringName>` to_node **)**
+void **travel** **(** :ref:`StringName<class_StringName>` to_node, :ref:`bool<class_bool>` reset_on_teleport=true **)**
 
 
 Transitions from the current state to another one, following the shortest path.
 Transitions from the current state to another one, following the shortest path.
 
 
+If the path does not connect from the current state, the animation will play after the state teleports.
+
+If ``reset_on_teleport`` is ``true``, the animation is played from the beginning when the travel cause a teleportation.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 35 - 16
classes/class_animationnodestatemachinetransition.rst

@@ -31,21 +31,23 @@ Properties
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+---------+
-   | :ref:`StringName<class_StringName>`                                      | :ref:`advance_condition<class_AnimationNodeStateMachineTransition_property_advance_condition>`   | ``&""`` |
-   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+---------+
-   | :ref:`String<class_String>`                                              | :ref:`advance_expression<class_AnimationNodeStateMachineTransition_property_advance_expression>` | ``""``  |
-   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+---------+
-   | :ref:`AdvanceMode<enum_AnimationNodeStateMachineTransition_AdvanceMode>` | :ref:`advance_mode<class_AnimationNodeStateMachineTransition_property_advance_mode>`             | ``1``   |
-   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+---------+
-   | :ref:`int<class_int>`                                                    | :ref:`priority<class_AnimationNodeStateMachineTransition_property_priority>`                     | ``1``   |
-   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+---------+
-   | :ref:`SwitchMode<enum_AnimationNodeStateMachineTransition_SwitchMode>`   | :ref:`switch_mode<class_AnimationNodeStateMachineTransition_property_switch_mode>`               | ``0``   |
-   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+---------+
-   | :ref:`Curve<class_Curve>`                                                | :ref:`xfade_curve<class_AnimationNodeStateMachineTransition_property_xfade_curve>`               |         |
-   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+---------+
-   | :ref:`float<class_float>`                                                | :ref:`xfade_time<class_AnimationNodeStateMachineTransition_property_xfade_time>`                 | ``0.0`` |
-   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+---------+
+   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+----------+
+   | :ref:`StringName<class_StringName>`                                      | :ref:`advance_condition<class_AnimationNodeStateMachineTransition_property_advance_condition>`   | ``&""``  |
+   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+----------+
+   | :ref:`String<class_String>`                                              | :ref:`advance_expression<class_AnimationNodeStateMachineTransition_property_advance_expression>` | ``""``   |
+   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+----------+
+   | :ref:`AdvanceMode<enum_AnimationNodeStateMachineTransition_AdvanceMode>` | :ref:`advance_mode<class_AnimationNodeStateMachineTransition_property_advance_mode>`             | ``1``    |
+   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+----------+
+   | :ref:`int<class_int>`                                                    | :ref:`priority<class_AnimationNodeStateMachineTransition_property_priority>`                     | ``1``    |
+   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+----------+
+   | :ref:`bool<class_bool>`                                                  | :ref:`reset<class_AnimationNodeStateMachineTransition_property_reset>`                           | ``true`` |
+   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+----------+
+   | :ref:`SwitchMode<enum_AnimationNodeStateMachineTransition_SwitchMode>`   | :ref:`switch_mode<class_AnimationNodeStateMachineTransition_property_switch_mode>`               | ``0``    |
+   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+----------+
+   | :ref:`Curve<class_Curve>`                                                | :ref:`xfade_curve<class_AnimationNodeStateMachineTransition_property_xfade_curve>`               |          |
+   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+----------+
+   | :ref:`float<class_float>`                                                | :ref:`xfade_time<class_AnimationNodeStateMachineTransition_property_xfade_time>`                 | ``0.0``  |
+   +--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+----------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -168,7 +170,7 @@ Turn on auto advance when this condition is set. The provided name will become a
 
 
  .. code-tab:: csharp
  .. code-tab:: csharp
 
 
-    GetNode<AnimationTree>("animation_tree").Set("parameters/conditions/idle", IsOnFloor && (LinearVelocity.x == 0));
+    GetNode<AnimationTree>("animation_tree").Set("parameters/conditions/idle", IsOnFloor && (LinearVelocity.X == 0));
 
 
 
 
 
 
@@ -227,6 +229,23 @@ Lower priority transitions are preferred when travelling through the tree via :r
 
 
 ----
 ----
 
 
+.. _class_AnimationNodeStateMachineTransition_property_reset:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **reset** = ``true``
+
+.. rst-class:: classref-property-setget
+
+- void **set_reset** **(** :ref:`bool<class_bool>` value **)**
+- :ref:`bool<class_bool>` **is_reset** **(** **)**
+
+If ``true``, the destination animation is played back from the beginning when switched.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AnimationNodeStateMachineTransition_property_switch_mode:
 .. _class_AnimationNodeStateMachineTransition_property_switch_mode:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property

+ 25 - 21
classes/class_animationnodetransition.rst

@@ -43,7 +43,7 @@ Properties
    +---------------------------+------------------------------------------------------------------------------+----------+
    +---------------------------+------------------------------------------------------------------------------+----------+
    | :ref:`int<class_int>`     | :ref:`enabled_inputs<class_AnimationNodeTransition_property_enabled_inputs>` | ``0``    |
    | :ref:`int<class_int>`     | :ref:`enabled_inputs<class_AnimationNodeTransition_property_enabled_inputs>` | ``0``    |
    +---------------------------+------------------------------------------------------------------------------+----------+
    +---------------------------+------------------------------------------------------------------------------+----------+
-   | :ref:`bool<class_bool>`   | :ref:`from_start<class_AnimationNodeTransition_property_from_start>`         | ``true`` |
+   | :ref:`bool<class_bool>`   | :ref:`reset<class_AnimationNodeTransition_property_reset>`                   | ``true`` |
    +---------------------------+------------------------------------------------------------------------------+----------+
    +---------------------------+------------------------------------------------------------------------------+----------+
    | :ref:`Curve<class_Curve>` | :ref:`xfade_curve<class_AnimationNodeTransition_property_xfade_curve>`       |          |
    | :ref:`Curve<class_Curve>` | :ref:`xfade_curve<class_AnimationNodeTransition_property_xfade_curve>`       |          |
    +---------------------------+------------------------------------------------------------------------------+----------+
    +---------------------------+------------------------------------------------------------------------------+----------+
@@ -58,6 +58,8 @@ Methods
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`       | :ref:`find_input_caption<class_AnimationNodeTransition_method_find_input_caption>` **(** :ref:`String<class_String>` caption **)** |const|                               |
    +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>` | :ref:`get_input_caption<class_AnimationNodeTransition_method_get_input_caption>` **(** :ref:`int<class_int>` input **)** |const|                                         |
    | :ref:`String<class_String>` | :ref:`get_input_caption<class_AnimationNodeTransition_method_get_input_caption>` **(** :ref:`int<class_int>` input **)** |const|                                         |
    +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -88,22 +90,22 @@ Property Descriptions
 - void **set_enabled_inputs** **(** :ref:`int<class_int>` value **)**
 - void **set_enabled_inputs** **(** :ref:`int<class_int>` value **)**
 - :ref:`int<class_int>` **get_enabled_inputs** **(** **)**
 - :ref:`int<class_int>` **get_enabled_inputs** **(** **)**
 
 
-The number of enabled input ports for this node.
+The number of enabled input ports for this node. The maximum is ``31``.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
 
 
-.. _class_AnimationNodeTransition_property_from_start:
+.. _class_AnimationNodeTransition_property_reset:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`bool<class_bool>` **from_start** = ``true``
+:ref:`bool<class_bool>` **reset** = ``true``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
-- void **set_from_start** **(** :ref:`bool<class_bool>` value **)**
-- :ref:`bool<class_bool>` **is_from_start** **(** **)**
+- void **set_reset** **(** :ref:`bool<class_bool>` value **)**
+- :ref:`bool<class_bool>` **is_reset** **(** **)**
 
 
 If ``true``, the destination animation is played back from the beginning when switched.
 If ``true``, the destination animation is played back from the beginning when switched.
 
 
@@ -122,9 +124,7 @@ If ``true``, the destination animation is played back from the beginning when sw
 - void **set_xfade_curve** **(** :ref:`Curve<class_Curve>` value **)**
 - void **set_xfade_curve** **(** :ref:`Curve<class_Curve>` value **)**
 - :ref:`Curve<class_Curve>` **get_xfade_curve** **(** **)**
 - :ref:`Curve<class_Curve>` **get_xfade_curve** **(** **)**
 
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Determines how cross-fading between animations is eased. If empty, the transition will be linear.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -152,15 +152,25 @@ Cross-fading time (in seconds) between each animation connected to the inputs.
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 
+.. _class_AnimationNodeTransition_method_find_input_caption:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **find_input_caption** **(** :ref:`String<class_String>` caption **)** |const|
+
+Returns the input index which corresponds to ``caption``. If not found, returns ``-1``.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AnimationNodeTransition_method_get_input_caption:
 .. _class_AnimationNodeTransition_method_get_input_caption:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
 :ref:`String<class_String>` **get_input_caption** **(** :ref:`int<class_int>` input **)** |const|
 :ref:`String<class_String>` **get_input_caption** **(** :ref:`int<class_int>` input **)** |const|
 
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Returns the name of the input at the given ``input`` index. This name is displayed in the editor next to the node input.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -172,9 +182,7 @@ Method Descriptions
 
 
 :ref:`bool<class_bool>` **is_input_set_as_auto_advance** **(** :ref:`int<class_int>` input **)** |const|
 :ref:`bool<class_bool>` **is_input_set_as_auto_advance** **(** :ref:`int<class_int>` input **)** |const|
 
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Returns ``true`` if auto-advance is enabled for the given ``input`` index.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -186,9 +194,7 @@ Method Descriptions
 
 
 void **set_input_as_auto_advance** **(** :ref:`int<class_int>` input, :ref:`bool<class_bool>` enable **)**
 void **set_input_as_auto_advance** **(** :ref:`int<class_int>` input, :ref:`bool<class_bool>` enable **)**
 
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Enables or disables auto-advance for the given ``input`` index. If enabled, state changes to the next input after playing the animation once. If enabled for the last input state, it loops to the first.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -200,9 +206,7 @@ void **set_input_as_auto_advance** **(** :ref:`int<class_int>` input, :ref:`bool
 
 
 void **set_input_caption** **(** :ref:`int<class_int>` input, :ref:`String<class_String>` caption **)**
 void **set_input_caption** **(** :ref:`int<class_int>` input, :ref:`String<class_String>` caption **)**
 
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Sets the name of the input at the given ``input`` index. This name is displayed in the editor next to the node input.
 
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 115 - 79
classes/class_animationplayer.rst

@@ -67,12 +67,12 @@ Properties
    +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
    +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
    | :ref:`AnimationProcessCallback<enum_AnimationPlayer_AnimationProcessCallback>` | :ref:`playback_process_mode<class_AnimationPlayer_property_playback_process_mode>`             | ``1``              |
    | :ref:`AnimationProcessCallback<enum_AnimationPlayer_AnimationProcessCallback>` | :ref:`playback_process_mode<class_AnimationPlayer_property_playback_process_mode>`             | ``1``              |
    +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
    +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
-   | :ref:`float<class_float>`                                                      | :ref:`playback_speed<class_AnimationPlayer_property_playback_speed>`                           | ``1.0``            |
-   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
    | :ref:`bool<class_bool>`                                                        | :ref:`reset_on_save<class_AnimationPlayer_property_reset_on_save>`                             | ``true``           |
    | :ref:`bool<class_bool>`                                                        | :ref:`reset_on_save<class_AnimationPlayer_property_reset_on_save>`                             | ``true``           |
    +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
    +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
    | :ref:`NodePath<class_NodePath>`                                                | :ref:`root_node<class_AnimationPlayer_property_root_node>`                                     | ``NodePath("..")`` |
    | :ref:`NodePath<class_NodePath>`                                                | :ref:`root_node<class_AnimationPlayer_property_root_node>`                                     | ``NodePath("..")`` |
    +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
    +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
+   | :ref:`float<class_float>`                                                      | :ref:`speed_scale<class_AnimationPlayer_property_speed_scale>`                                 | ``1.0``            |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
 
 
 .. rst-class:: classref-reftable-group
 .. rst-class:: classref-reftable-group
 
 
@@ -82,59 +82,63 @@ Methods
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Error<enum_@GlobalScope_Error>`             | :ref:`add_animation_library<class_AnimationPlayer_method_add_animation_library>` **(** :ref:`StringName<class_StringName>` name, :ref:`AnimationLibrary<class_AnimationLibrary>` library **)**                                        |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                              | :ref:`advance<class_AnimationPlayer_method_advance>` **(** :ref:`float<class_float>` delta **)**                                                                                                                                      |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`StringName<class_StringName>`               | :ref:`animation_get_next<class_AnimationPlayer_method_animation_get_next>` **(** :ref:`StringName<class_StringName>` anim_from **)** |const|                                                                                          |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                              | :ref:`animation_set_next<class_AnimationPlayer_method_animation_set_next>` **(** :ref:`StringName<class_StringName>` anim_from, :ref:`StringName<class_StringName>` anim_to **)**                                                     |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                              | :ref:`clear_caches<class_AnimationPlayer_method_clear_caches>` **(** **)**                                                                                                                                                            |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                              | :ref:`clear_queue<class_AnimationPlayer_method_clear_queue>` **(** **)**                                                                                                                                                              |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`StringName<class_StringName>`               | :ref:`find_animation<class_AnimationPlayer_method_find_animation>` **(** :ref:`Animation<class_Animation>` animation **)** |const|                                                                                                    |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`StringName<class_StringName>`               | :ref:`find_animation_library<class_AnimationPlayer_method_find_animation_library>` **(** :ref:`Animation<class_Animation>` animation **)** |const|                                                                                    |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Animation<class_Animation>`                 | :ref:`get_animation<class_AnimationPlayer_method_get_animation>` **(** :ref:`StringName<class_StringName>` name **)** |const|                                                                                                         |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`AnimationLibrary<class_AnimationLibrary>`   | :ref:`get_animation_library<class_AnimationPlayer_method_get_animation_library>` **(** :ref:`StringName<class_StringName>` name **)** |const|                                                                                         |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`StringName[]<class_StringName>`             | :ref:`get_animation_library_list<class_AnimationPlayer_method_get_animation_library_list>` **(** **)** |const|                                                                                                                        |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_animation_list<class_AnimationPlayer_method_get_animation_list>` **(** **)** |const|                                                                                                                                        |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                         | :ref:`get_blend_time<class_AnimationPlayer_method_get_blend_time>` **(** :ref:`StringName<class_StringName>` anim_from, :ref:`StringName<class_StringName>` anim_to **)** |const|                                                     |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                         | :ref:`get_playing_speed<class_AnimationPlayer_method_get_playing_speed>` **(** **)** |const|                                                                                                                                          |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_queue<class_AnimationPlayer_method_get_queue>` **(** **)**                                                                                                                                                                  |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`has_animation<class_AnimationPlayer_method_has_animation>` **(** :ref:`StringName<class_StringName>` name **)** |const|                                                                                                         |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`has_animation_library<class_AnimationPlayer_method_has_animation_library>` **(** :ref:`StringName<class_StringName>` name **)** |const|                                                                                         |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`is_playing<class_AnimationPlayer_method_is_playing>` **(** **)** |const|                                                                                                                                                        |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                              | :ref:`play<class_AnimationPlayer_method_play>` **(** :ref:`StringName<class_StringName>` name="", :ref:`float<class_float>` custom_blend=-1, :ref:`float<class_float>` custom_speed=1.0, :ref:`bool<class_bool>` from_end=false **)** |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                              | :ref:`play_backwards<class_AnimationPlayer_method_play_backwards>` **(** :ref:`StringName<class_StringName>` name="", :ref:`float<class_float>` custom_blend=-1 **)**                                                                 |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                              | :ref:`queue<class_AnimationPlayer_method_queue>` **(** :ref:`StringName<class_StringName>` name **)**                                                                                                                                 |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                              | :ref:`remove_animation_library<class_AnimationPlayer_method_remove_animation_library>` **(** :ref:`StringName<class_StringName>` name **)**                                                                                           |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                              | :ref:`rename_animation_library<class_AnimationPlayer_method_rename_animation_library>` **(** :ref:`StringName<class_StringName>` name, :ref:`StringName<class_StringName>` newname **)**                                              |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                              | :ref:`seek<class_AnimationPlayer_method_seek>` **(** :ref:`float<class_float>` seconds, :ref:`bool<class_bool>` update=false **)**                                                                                                    |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                              | :ref:`set_blend_time<class_AnimationPlayer_method_set_blend_time>` **(** :ref:`StringName<class_StringName>` anim_from, :ref:`StringName<class_StringName>` anim_to, :ref:`float<class_float>` sec **)**                              |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                              | :ref:`stop<class_AnimationPlayer_method_stop>` **(** :ref:`bool<class_bool>` reset=true **)**                                                                                                                                         |
-   +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Variant<class_Variant>`                     | :ref:`_post_process_key_value<class_AnimationPlayer_method__post_process_key_value>` **(** :ref:`Animation<class_Animation>` animation, :ref:`int<class_int>` track, :ref:`Variant<class_Variant>` value, :ref:`Object<class_Object>` object, :ref:`int<class_int>` object_idx **)** |virtual| |const| |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Error<enum_@GlobalScope_Error>`             | :ref:`add_animation_library<class_AnimationPlayer_method_add_animation_library>` **(** :ref:`StringName<class_StringName>` name, :ref:`AnimationLibrary<class_AnimationLibrary>` library **)**                                                                                                         |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`advance<class_AnimationPlayer_method_advance>` **(** :ref:`float<class_float>` delta **)**                                                                                                                                                                                                       |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`StringName<class_StringName>`               | :ref:`animation_get_next<class_AnimationPlayer_method_animation_get_next>` **(** :ref:`StringName<class_StringName>` anim_from **)** |const|                                                                                                                                                           |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`animation_set_next<class_AnimationPlayer_method_animation_set_next>` **(** :ref:`StringName<class_StringName>` anim_from, :ref:`StringName<class_StringName>` anim_to **)**                                                                                                                      |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`clear_caches<class_AnimationPlayer_method_clear_caches>` **(** **)**                                                                                                                                                                                                                             |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`clear_queue<class_AnimationPlayer_method_clear_queue>` **(** **)**                                                                                                                                                                                                                               |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`StringName<class_StringName>`               | :ref:`find_animation<class_AnimationPlayer_method_find_animation>` **(** :ref:`Animation<class_Animation>` animation **)** |const|                                                                                                                                                                     |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`StringName<class_StringName>`               | :ref:`find_animation_library<class_AnimationPlayer_method_find_animation_library>` **(** :ref:`Animation<class_Animation>` animation **)** |const|                                                                                                                                                     |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Animation<class_Animation>`                 | :ref:`get_animation<class_AnimationPlayer_method_get_animation>` **(** :ref:`StringName<class_StringName>` name **)** |const|                                                                                                                                                                          |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`AnimationLibrary<class_AnimationLibrary>`   | :ref:`get_animation_library<class_AnimationPlayer_method_get_animation_library>` **(** :ref:`StringName<class_StringName>` name **)** |const|                                                                                                                                                          |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`StringName[]<class_StringName>`             | :ref:`get_animation_library_list<class_AnimationPlayer_method_get_animation_library_list>` **(** **)** |const|                                                                                                                                                                                         |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_animation_list<class_AnimationPlayer_method_get_animation_list>` **(** **)** |const|                                                                                                                                                                                                         |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`get_blend_time<class_AnimationPlayer_method_get_blend_time>` **(** :ref:`StringName<class_StringName>` anim_from, :ref:`StringName<class_StringName>` anim_to **)** |const|                                                                                                                      |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`get_playing_speed<class_AnimationPlayer_method_get_playing_speed>` **(** **)** |const|                                                                                                                                                                                                           |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_queue<class_AnimationPlayer_method_get_queue>` **(** **)**                                                                                                                                                                                                                                   |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`has_animation<class_AnimationPlayer_method_has_animation>` **(** :ref:`StringName<class_StringName>` name **)** |const|                                                                                                                                                                          |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`has_animation_library<class_AnimationPlayer_method_has_animation_library>` **(** :ref:`StringName<class_StringName>` name **)** |const|                                                                                                                                                          |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`is_playing<class_AnimationPlayer_method_is_playing>` **(** **)** |const|                                                                                                                                                                                                                         |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`pause<class_AnimationPlayer_method_pause>` **(** **)**                                                                                                                                                                                                                                           |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`play<class_AnimationPlayer_method_play>` **(** :ref:`StringName<class_StringName>` name="", :ref:`float<class_float>` custom_blend=-1, :ref:`float<class_float>` custom_speed=1.0, :ref:`bool<class_bool>` from_end=false **)**                                                                  |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`play_backwards<class_AnimationPlayer_method_play_backwards>` **(** :ref:`StringName<class_StringName>` name="", :ref:`float<class_float>` custom_blend=-1 **)**                                                                                                                                  |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`queue<class_AnimationPlayer_method_queue>` **(** :ref:`StringName<class_StringName>` name **)**                                                                                                                                                                                                  |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`remove_animation_library<class_AnimationPlayer_method_remove_animation_library>` **(** :ref:`StringName<class_StringName>` name **)**                                                                                                                                                            |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`rename_animation_library<class_AnimationPlayer_method_rename_animation_library>` **(** :ref:`StringName<class_StringName>` name, :ref:`StringName<class_StringName>` newname **)**                                                                                                               |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`seek<class_AnimationPlayer_method_seek>` **(** :ref:`float<class_float>` seconds, :ref:`bool<class_bool>` update=false **)**                                                                                                                                                                     |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`set_blend_time<class_AnimationPlayer_method_set_blend_time>` **(** :ref:`StringName<class_StringName>` anim_from, :ref:`StringName<class_StringName>` anim_to, :ref:`float<class_float>` sec **)**                                                                                               |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`stop<class_AnimationPlayer_method_stop>` **(** :ref:`bool<class_bool>` keep_state=false **)**                                                                                                                                                                                                    |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -463,23 +467,6 @@ The process notification in which to update animations.
 
 
 ----
 ----
 
 
-.. _class_AnimationPlayer_property_playback_speed:
-
-.. rst-class:: classref-property
-
-:ref:`float<class_float>` **playback_speed** = ``1.0``
-
-.. rst-class:: classref-property-setget
-
-- void **set_speed_scale** **(** :ref:`float<class_float>` value **)**
-- :ref:`float<class_float>` **get_speed_scale** **(** **)**
-
-The speed scaling ratio. For example, if this value is 1, then the animation plays at normal speed. If it's 0.5, then it plays at half speed. If it's 2, then it plays at double speed.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_AnimationPlayer_property_reset_on_save:
 .. _class_AnimationPlayer_property_reset_on_save:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
@@ -512,6 +499,25 @@ This makes it more convenient to preview and edit animations in the editor, as c
 
 
 The node from which node path references will travel.
 The node from which node path references will travel.
 
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimationPlayer_property_speed_scale:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **speed_scale** = ``1.0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_speed_scale** **(** :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_speed_scale** **(** **)**
+
+The speed scaling ratio. For example, if this value is ``1``, then the animation plays at normal speed. If it's ``0.5``, then it plays at half speed. If it's ``2``, then it plays at double speed.
+
+If set to a negative value, the animation is played in reverse. If set to ``0``, the animation will not advance.
+
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
 ----
 ----
@@ -521,6 +527,18 @@ The node from which node path references will travel.
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 
+.. _class_AnimationPlayer_method__post_process_key_value:
+
+.. rst-class:: classref-method
+
+:ref:`Variant<class_Variant>` **_post_process_key_value** **(** :ref:`Animation<class_Animation>` animation, :ref:`int<class_int>` track, :ref:`Variant<class_Variant>` value, :ref:`Object<class_Object>` object, :ref:`int<class_int>` object_idx **)** |virtual| |const|
+
+A virtual function for processing after key getting during playback.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AnimationPlayer_method_add_animation_library:
 .. _class_AnimationPlayer_method_add_animation_library:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -671,7 +689,7 @@ Returns the list of stored animation keys.
 
 
 :ref:`float<class_float>` **get_blend_time** **(** :ref:`StringName<class_StringName>` anim_from, :ref:`StringName<class_StringName>` anim_to **)** |const|
 :ref:`float<class_float>` **get_blend_time** **(** :ref:`StringName<class_StringName>` anim_from, :ref:`StringName<class_StringName>` anim_to **)** |const|
 
 
-Gets the blend time (in seconds) between two animations, referenced by their keys.
+Returns the blend time (in seconds) between two animations, referenced by their keys.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -683,7 +701,9 @@ Gets the blend time (in seconds) between two animations, referenced by their key
 
 
 :ref:`float<class_float>` **get_playing_speed** **(** **)** |const|
 :ref:`float<class_float>` **get_playing_speed** **(** **)** |const|
 
 
-Gets the actual playing speed of current animation or 0 if not playing. This speed is the :ref:`playback_speed<class_AnimationPlayer_property_playback_speed>` property multiplied by ``custom_speed`` argument specified when calling the :ref:`play<class_AnimationPlayer_method_play>` method.
+Returns the actual playing speed of current animation or ``0`` if not playing. This speed is the :ref:`speed_scale<class_AnimationPlayer_property_speed_scale>` property multiplied by ``custom_speed`` argument specified when calling the :ref:`play<class_AnimationPlayer_method_play>` method.
+
+Returns a negative value if the current animation is playing backwards.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -731,7 +751,21 @@ Returns ``true`` if the **AnimationPlayer** stores an :ref:`AnimationLibrary<cla
 
 
 :ref:`bool<class_bool>` **is_playing** **(** **)** |const|
 :ref:`bool<class_bool>` **is_playing** **(** **)** |const|
 
 
-Returns ``true`` if playing an animation.
+Returns ``true`` if an animation is currently playing (even if :ref:`speed_scale<class_AnimationPlayer_property_speed_scale>` and/or ``custom_speed`` are ``0``).
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AnimationPlayer_method_pause:
+
+.. rst-class:: classref-method
+
+void **pause** **(** **)**
+
+Pauses the currently playing animation. The :ref:`current_animation_position<class_AnimationPlayer_property_current_animation_position>` will be kept and calling :ref:`play<class_AnimationPlayer_method_play>` or :ref:`play_backwards<class_AnimationPlayer_method_play_backwards>` without arguments or with the same animation name as :ref:`assigned_animation<class_AnimationPlayer_property_assigned_animation>` will resume the animation.
+
+See also :ref:`stop<class_AnimationPlayer_method_stop>`.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -745,7 +779,7 @@ void **play** **(** :ref:`StringName<class_StringName>` name="", :ref:`float<cla
 
 
 Plays the animation with key ``name``. Custom blend times and speed can be set. If ``custom_speed`` is negative and ``from_end`` is ``true``, the animation will play backwards (which is equivalent to calling :ref:`play_backwards<class_AnimationPlayer_method_play_backwards>`).
 Plays the animation with key ``name``. Custom blend times and speed can be set. If ``custom_speed`` is negative and ``from_end`` is ``true``, the animation will play backwards (which is equivalent to calling :ref:`play_backwards<class_AnimationPlayer_method_play_backwards>`).
 
 
-The **AnimationPlayer** keeps track of its current or last played animation with :ref:`assigned_animation<class_AnimationPlayer_property_assigned_animation>`. If this method is called with that same animation ``name``, or with no ``name`` parameter, the assigned animation will resume playing if it was paused, or restart if it was stopped (see :ref:`stop<class_AnimationPlayer_method_stop>` for both pause and stop). If the animation was already playing, it will keep playing.
+The **AnimationPlayer** keeps track of its current or last played animation with :ref:`assigned_animation<class_AnimationPlayer_property_assigned_animation>`. If this method is called with that same animation ``name``, or with no ``name`` parameter, the assigned animation will resume playing if it was paused.
 
 
 \ **Note:** The animation will be updated the next time the **AnimationPlayer** is processed. If other variables are updated at the same time this is called, they may be updated too early. To perform the update immediately, call ``advance(0)``.
 \ **Note:** The animation will be updated the next time the **AnimationPlayer** is processed. If other variables are updated at the same time this is called, they may be updated too early. To perform the update immediately, call ``advance(0)``.
 
 
@@ -835,11 +869,13 @@ Specifies a blend time (in seconds) between two animations, referenced by their
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **stop** **(** :ref:`bool<class_bool>` reset=true **)**
+void **stop** **(** :ref:`bool<class_bool>` keep_state=false **)**
+
+Stops the currently playing animation. The animation position is reset to ``0`` and the ``custom_speed`` is reset to ``1.0``. See also :ref:`pause<class_AnimationPlayer_method_pause>`.
 
 
-Stops or pauses the currently playing animation. If ``reset`` is ``true``, the animation position is reset to ``0`` and the playback speed is reset to ``1.0``.
+If ``keep_state`` is ``true``, the animation state is not updated visually.
 
 
-If ``reset`` is ``false``, the :ref:`current_animation_position<class_AnimationPlayer_property_current_animation_position>` will be kept and calling :ref:`play<class_AnimationPlayer_method_play>` or :ref:`play_backwards<class_AnimationPlayer_method_play_backwards>` without arguments or with the same animation name as :ref:`assigned_animation<class_AnimationPlayer_property_assigned_animation>` will resume the animation.
+\ **Note:** The method / audio / animation playback tracks will not be processed by this method.
 
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 26 - 12
classes/class_animationtree.rst

@@ -62,17 +62,19 @@ Methods
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                | :ref:`advance<class_AnimationTree_method_advance>` **(** :ref:`float<class_float>` delta **)**                                                              |
-   +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Vector3<class_Vector3>`       | :ref:`get_root_motion_position<class_AnimationTree_method_get_root_motion_position>` **(** **)** |const|                                                    |
-   +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Quaternion<class_Quaternion>` | :ref:`get_root_motion_rotation<class_AnimationTree_method_get_root_motion_rotation>` **(** **)** |const|                                                    |
-   +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Vector3<class_Vector3>`       | :ref:`get_root_motion_scale<class_AnimationTree_method_get_root_motion_scale>` **(** **)** |const|                                                          |
-   +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                | :ref:`rename_parameter<class_AnimationTree_method_rename_parameter>` **(** :ref:`String<class_String>` old_name, :ref:`String<class_String>` new_name **)** |
-   +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Variant<class_Variant>`       | :ref:`_post_process_key_value<class_AnimationTree_method__post_process_key_value>` **(** :ref:`Animation<class_Animation>` animation, :ref:`int<class_int>` track, :ref:`Variant<class_Variant>` value, :ref:`Object<class_Object>` object, :ref:`int<class_int>` object_idx **)** |virtual| |const| |
+   +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                | :ref:`advance<class_AnimationTree_method_advance>` **(** :ref:`float<class_float>` delta **)**                                                                                                                                                                                                       |
+   +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Vector3<class_Vector3>`       | :ref:`get_root_motion_position<class_AnimationTree_method_get_root_motion_position>` **(** **)** |const|                                                                                                                                                                                             |
+   +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Quaternion<class_Quaternion>` | :ref:`get_root_motion_rotation<class_AnimationTree_method_get_root_motion_rotation>` **(** **)** |const|                                                                                                                                                                                             |
+   +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Vector3<class_Vector3>`       | :ref:`get_root_motion_scale<class_AnimationTree_method_get_root_motion_scale>` **(** **)** |const|                                                                                                                                                                                                   |
+   +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                | :ref:`rename_parameter<class_AnimationTree_method_rename_parameter>` **(** :ref:`String<class_String>` old_name, :ref:`String<class_String>` new_name **)**                                                                                                                                          |
+   +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -248,7 +250,7 @@ The process mode of this **AnimationTree**. See :ref:`AnimationProcessCallback<e
 
 
 The path to the Animation track used for root motion. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. To specify a track that controls properties or bones, append its name after the path, separated by ``":"``. For example, ``"character/skeleton:ankle"`` or ``"character/mesh:transform/local"``.
 The path to the Animation track used for root motion. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. To specify a track that controls properties or bones, append its name after the path, separated by ``":"``. For example, ``"character/skeleton:ankle"`` or ``"character/mesh:transform/local"``.
 
 
-If the track has type :ref:`Animation.TYPE_POSITION_3D<class_Animation_constant_TYPE_POSITION_3D>`, :ref:`Animation.TYPE_ROTATION_3D<class_Animation_constant_TYPE_ROTATION_3D>` or :ref:`Animation.TYPE_SCALE_3D<class_Animation_constant_TYPE_SCALE_3D>` the transformation will be cancelled visually, and the animation will appear to stay in place. See also :ref:`get_root_motion_position<class_AnimationTree_method_get_root_motion_position>`, :ref:`get_root_motion_rotation<class_AnimationTree_method_get_root_motion_rotation>`, :ref:`get_root_motion_scale<class_AnimationTree_method_get_root_motion_scale>` and :ref:`RootMotionView<class_RootMotionView>`.
+If the track has type :ref:`Animation.TYPE_POSITION_3D<class_Animation_constant_TYPE_POSITION_3D>`, :ref:`Animation.TYPE_ROTATION_3D<class_Animation_constant_TYPE_ROTATION_3D>` or :ref:`Animation.TYPE_SCALE_3D<class_Animation_constant_TYPE_SCALE_3D>` the transformation will be canceled visually, and the animation will appear to stay in place. See also :ref:`get_root_motion_position<class_AnimationTree_method_get_root_motion_position>`, :ref:`get_root_motion_rotation<class_AnimationTree_method_get_root_motion_rotation>`, :ref:`get_root_motion_scale<class_AnimationTree_method_get_root_motion_scale>` and :ref:`RootMotionView<class_RootMotionView>`.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -276,6 +278,18 @@ The root animation node of this **AnimationTree**. See :ref:`AnimationNode<class
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 
+.. _class_AnimationTree_method__post_process_key_value:
+
+.. rst-class:: classref-method
+
+:ref:`Variant<class_Variant>` **_post_process_key_value** **(** :ref:`Animation<class_Animation>` animation, :ref:`int<class_int>` track, :ref:`Variant<class_Variant>` value, :ref:`Object<class_Object>` object, :ref:`int<class_int>` object_idx **)** |virtual| |const|
+
+A virtual function for processing after key getting during playback.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AnimationTree_method_advance:
 .. _class_AnimationTree_method_advance:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 2 - 0
classes/class_area3d.rst

@@ -25,6 +25,8 @@ To give the area its shape, add a :ref:`CollisionShape3D<class_CollisionShape3D>
 
 
 \ **Warning:** See :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>` (also called "trimesh") for a warning about possibly unexpected behavior when using that shape for an area.
 \ **Warning:** See :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>` (also called "trimesh") for a warning about possibly unexpected behavior when using that shape for an area.
 
 
+\ **Warning:** With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
+
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 
 Tutorials
 Tutorials

+ 33 - 33
classes/class_array.rst

@@ -163,6 +163,8 @@ Methods
    +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`             | :ref:`is_typed<class_Array_method_is_typed>` **(** **)** |const|                                                                                                                               |
    | :ref:`bool<class_bool>`             | :ref:`is_typed<class_Array_method_is_typed>` **(** **)** |const|                                                                                                                               |
    +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                | :ref:`make_read_only<class_Array_method_make_read_only>` **(** **)**                                                                                                                           |
+   +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Array<class_Array>`           | :ref:`map<class_Array_method_map>` **(** :ref:`Callable<class_Callable>` method **)** |const|                                                                                                  |
    | :ref:`Array<class_Array>`           | :ref:`map<class_Array_method_map>` **(** :ref:`Callable<class_Callable>` method **)** |const|                                                                                                  |
    +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Variant<class_Variant>`       | :ref:`max<class_Array_method_max>` **(** **)** |const|                                                                                                                                         |
    | :ref:`Variant<class_Variant>`       | :ref:`max<class_Array_method_max>` **(** **)** |const|                                                                                                                                         |
@@ -191,8 +193,6 @@ Methods
    +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`               | :ref:`rfind<class_Array_method_rfind>` **(** :ref:`Variant<class_Variant>` what, :ref:`int<class_int>` from=-1 **)** |const|                                                                   |
    | :ref:`int<class_int>`               | :ref:`rfind<class_Array_method_rfind>` **(** :ref:`Variant<class_Variant>` what, :ref:`int<class_int>` from=-1 **)** |const|                                                                   |
    +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                | :ref:`set_read_only<class_Array_method_set_read_only>` **(** :ref:`bool<class_bool>` enable **)**                                                                                              |
-   +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                | :ref:`set_typed<class_Array_method_set_typed>` **(** :ref:`int<class_int>` type, :ref:`StringName<class_StringName>` class_name, :ref:`Variant<class_Variant>` script **)**                    |
    | void                                | :ref:`set_typed<class_Array_method_set_typed>` **(** :ref:`int<class_int>` type, :ref:`StringName<class_StringName>` class_name, :ref:`Variant<class_Variant>` script **)**                    |
    +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                | :ref:`shuffle<class_Array_method_shuffle>` **(** **)**                                                                                                                                         |
    | void                                | :ref:`shuffle<class_Array_method_shuffle>` **(** **)**                                                                                                                                         |
@@ -216,23 +216,23 @@ Operators
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +---------------------------+-------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`   | :ref:`operator !=<class_Array_operator_neq_Array>` **(** :ref:`Array<class_Array>` right **)**  |
-   +---------------------------+-------------------------------------------------------------------------------------------------+
-   | :ref:`Array<class_Array>` | :ref:`operator +<class_Array_operator_sum_Array>` **(** :ref:`Array<class_Array>` right **)**   |
-   +---------------------------+-------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`   | :ref:`operator \<<class_Array_operator_lt_Array>` **(** :ref:`Array<class_Array>` right **)**   |
-   +---------------------------+-------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`   | :ref:`operator \<=<class_Array_operator_lte_Array>` **(** :ref:`Array<class_Array>` right **)** |
-   +---------------------------+-------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`   | :ref:`operator ==<class_Array_operator_eq_Array>` **(** :ref:`Array<class_Array>` right **)**   |
-   +---------------------------+-------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`   | :ref:`operator ><class_Array_operator_gt_Array>` **(** :ref:`Array<class_Array>` right **)**    |
-   +---------------------------+-------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`   | :ref:`operator >=<class_Array_operator_gte_Array>` **(** :ref:`Array<class_Array>` right **)**  |
-   +---------------------------+-------------------------------------------------------------------------------------------------+
-   | void                      | :ref:`operator []<class_Array_operator_idx_int>` **(** :ref:`int<class_int>` index **)**        |
-   +---------------------------+-------------------------------------------------------------------------------------------------+
+   +-------------------------------+-------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`       | :ref:`operator !=<class_Array_operator_neq_Array>` **(** :ref:`Array<class_Array>` right **)**  |
+   +-------------------------------+-------------------------------------------------------------------------------------------------+
+   | :ref:`Array<class_Array>`     | :ref:`operator +<class_Array_operator_sum_Array>` **(** :ref:`Array<class_Array>` right **)**   |
+   +-------------------------------+-------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`       | :ref:`operator \<<class_Array_operator_lt_Array>` **(** :ref:`Array<class_Array>` right **)**   |
+   +-------------------------------+-------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`       | :ref:`operator \<=<class_Array_operator_lte_Array>` **(** :ref:`Array<class_Array>` right **)** |
+   +-------------------------------+-------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`       | :ref:`operator ==<class_Array_operator_eq_Array>` **(** :ref:`Array<class_Array>` right **)**   |
+   +-------------------------------+-------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`       | :ref:`operator ><class_Array_operator_gt_Array>` **(** :ref:`Array<class_Array>` right **)**    |
+   +-------------------------------+-------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`       | :ref:`operator >=<class_Array_operator_gte_Array>` **(** :ref:`Array<class_Array>` right **)**  |
+   +-------------------------------+-------------------------------------------------------------------------------------------------+
+   | :ref:`Variant<class_Variant>` | :ref:`operator []<class_Array_operator_idx_int>` **(** :ref:`int<class_int>` index **)**        |
+   +-------------------------------+-------------------------------------------------------------------------------------------------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -786,7 +786,7 @@ Returns ``true`` if the array is empty.
 
 
 :ref:`bool<class_bool>` **is_read_only** **(** **)** |const|
 :ref:`bool<class_bool>` **is_read_only** **(** **)** |const|
 
 
-Returns ``true`` if the array is read-only. See :ref:`set_read_only<class_Array_method_set_read_only>`. Arrays are automatically read-only if declared with ``const`` keyword.
+Returns ``true`` if the array is read-only. See :ref:`make_read_only<class_Array_method_make_read_only>`. Arrays are automatically read-only if declared with ``const`` keyword.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -804,6 +804,18 @@ Returns ``true`` if the array is typed. Typed arrays can only store elements of
 
 
 ----
 ----
 
 
+.. _class_Array_method_make_read_only:
+
+.. rst-class:: classref-method
+
+void **make_read_only** **(** **)**
+
+Makes the array read-only, i.e. disabled modifying of the array's elements. Does not apply to nested content, e.g. content of nested arrays.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_Array_method_map:
 .. _class_Array_method_map:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -1013,18 +1025,6 @@ Searches the array in reverse order. Optionally, a start search index can be pas
 
 
 ----
 ----
 
 
-.. _class_Array_method_set_read_only:
-
-.. rst-class:: classref-method
-
-void **set_read_only** **(** :ref:`bool<class_bool>` enable **)**
-
-Makes the **Array** read-only, i.e. disabled modifying of the array's elements. Does not apply to nested content, e.g. content of nested arrays.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_Array_method_set_typed:
 .. _class_Array_method_set_typed:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -1268,7 +1268,7 @@ Performs a comparison for each index between the left operand **Array** and the
 
 
 .. rst-class:: classref-operator
 .. rst-class:: classref-operator
 
 
-void **operator []** **(** :ref:`int<class_int>` index **)**
+:ref:`Variant<class_Variant>` **operator []** **(** :ref:`int<class_int>` index **)**
 
 
 Returns a reference to the element of type :ref:`Variant<class_Variant>` at the specified location. Arrays start at index 0. ``index`` can be a zero or positive value to start from the beginning, or a negative value to start from the end. Out-of-bounds array access causes a run-time error, which will result in an error being printed and the project execution pausing if run from the editor.
 Returns a reference to the element of type :ref:`Variant<class_Variant>` at the specified location. Arrays start at index 0. ``index`` can be a zero or positive value to start from the beginning, or a negative value to start from the end. Out-of-bounds array access causes a run-time error, which will result in an error being printed and the project execution pausing if run from the editor.
 
 

+ 52 - 46
classes/class_arraymesh.rst

@@ -103,45 +103,45 @@ Methods
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                          | :ref:`add_blend_shape<class_ArrayMesh_method_add_blend_shape>` **(** :ref:`StringName<class_StringName>` name **)**                                                                                                                                                                                                                        |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                          | :ref:`add_surface_from_arrays<class_ArrayMesh_method_add_surface_from_arrays>` **(** :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` primitive, :ref:`Array<class_Array>` arrays, :ref:`Array[]<class_Array>` blend_shapes=[], :ref:`Dictionary<class_Dictionary>` lods={}, :ref:`ArrayFormat<enum_Mesh_ArrayFormat>` compress_flags=0 **)** |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                          | :ref:`clear_blend_shapes<class_ArrayMesh_method_clear_blend_shapes>` **(** **)**                                                                                                                                                                                                                                                           |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                          | :ref:`clear_surfaces<class_ArrayMesh_method_clear_surfaces>` **(** **)**                                                                                                                                                                                                                                                                   |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                         | :ref:`get_blend_shape_count<class_ArrayMesh_method_get_blend_shape_count>` **(** **)** |const|                                                                                                                                                                                                                                             |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`StringName<class_StringName>`           | :ref:`get_blend_shape_name<class_ArrayMesh_method_get_blend_shape_name>` **(** :ref:`int<class_int>` index **)** |const|                                                                                                                                                                                                                   |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`lightmap_unwrap<class_ArrayMesh_method_lightmap_unwrap>` **(** :ref:`Transform3D<class_Transform3D>` transform, :ref:`float<class_float>` texel_size **)**                                                                                                                                                                           |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                          | :ref:`regen_normal_maps<class_ArrayMesh_method_regen_normal_maps>` **(** **)**                                                                                                                                                                                                                                                             |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                          | :ref:`set_blend_shape_name<class_ArrayMesh_method_set_blend_shape_name>` **(** :ref:`int<class_int>` index, :ref:`StringName<class_StringName>` name **)**                                                                                                                                                                                 |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                         | :ref:`surface_find_by_name<class_ArrayMesh_method_surface_find_by_name>` **(** :ref:`String<class_String>` name **)** |const|                                                                                                                                                                                                              |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                         | :ref:`surface_get_array_index_len<class_ArrayMesh_method_surface_get_array_index_len>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                                  |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                         | :ref:`surface_get_array_len<class_ArrayMesh_method_surface_get_array_len>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                                              |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`ArrayFormat<enum_Mesh_ArrayFormat>`     | :ref:`surface_get_format<class_ArrayMesh_method_surface_get_format>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                                                    |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                   | :ref:`surface_get_name<class_ArrayMesh_method_surface_get_name>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                                                        |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` | :ref:`surface_get_primitive_type<class_ArrayMesh_method_surface_get_primitive_type>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                                    |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                          | :ref:`surface_set_name<class_ArrayMesh_method_surface_set_name>` **(** :ref:`int<class_int>` surf_idx, :ref:`String<class_String>` name **)**                                                                                                                                                                                              |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                          | :ref:`surface_update_attribute_region<class_ArrayMesh_method_surface_update_attribute_region>` **(** :ref:`int<class_int>` surf_idx, :ref:`int<class_int>` offset, :ref:`PackedByteArray<class_PackedByteArray>` data **)**                                                                                                                |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                          | :ref:`surface_update_skin_region<class_ArrayMesh_method_surface_update_skin_region>` **(** :ref:`int<class_int>` surf_idx, :ref:`int<class_int>` offset, :ref:`PackedByteArray<class_PackedByteArray>` data **)**                                                                                                                          |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                          | :ref:`surface_update_vertex_region<class_ArrayMesh_method_surface_update_vertex_region>` **(** :ref:`int<class_int>` surf_idx, :ref:`int<class_int>` offset, :ref:`PackedByteArray<class_PackedByteArray>` data **)**                                                                                                                      |
-   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                          | :ref:`add_blend_shape<class_ArrayMesh_method_add_blend_shape>` **(** :ref:`StringName<class_StringName>` name **)**                                                                                                                                                                                                               |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                          | :ref:`add_surface_from_arrays<class_ArrayMesh_method_add_surface_from_arrays>` **(** :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` primitive, :ref:`Array<class_Array>` arrays, :ref:`Array[]<class_Array>` blend_shapes=[], :ref:`Dictionary<class_Dictionary>` lods={}, :ref:`ArrayFormat<enum_Mesh_ArrayFormat>` flags=0 **)** |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                          | :ref:`clear_blend_shapes<class_ArrayMesh_method_clear_blend_shapes>` **(** **)**                                                                                                                                                                                                                                                  |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                          | :ref:`clear_surfaces<class_ArrayMesh_method_clear_surfaces>` **(** **)**                                                                                                                                                                                                                                                          |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                         | :ref:`get_blend_shape_count<class_ArrayMesh_method_get_blend_shape_count>` **(** **)** |const|                                                                                                                                                                                                                                    |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`StringName<class_StringName>`           | :ref:`get_blend_shape_name<class_ArrayMesh_method_get_blend_shape_name>` **(** :ref:`int<class_int>` index **)** |const|                                                                                                                                                                                                          |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`lightmap_unwrap<class_ArrayMesh_method_lightmap_unwrap>` **(** :ref:`Transform3D<class_Transform3D>` transform, :ref:`float<class_float>` texel_size **)**                                                                                                                                                                  |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                          | :ref:`regen_normal_maps<class_ArrayMesh_method_regen_normal_maps>` **(** **)**                                                                                                                                                                                                                                                    |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                          | :ref:`set_blend_shape_name<class_ArrayMesh_method_set_blend_shape_name>` **(** :ref:`int<class_int>` index, :ref:`StringName<class_StringName>` name **)**                                                                                                                                                                        |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                         | :ref:`surface_find_by_name<class_ArrayMesh_method_surface_find_by_name>` **(** :ref:`String<class_String>` name **)** |const|                                                                                                                                                                                                     |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                         | :ref:`surface_get_array_index_len<class_ArrayMesh_method_surface_get_array_index_len>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                         |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                         | :ref:`surface_get_array_len<class_ArrayMesh_method_surface_get_array_len>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                                     |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`ArrayFormat<enum_Mesh_ArrayFormat>`     | :ref:`surface_get_format<class_ArrayMesh_method_surface_get_format>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                                           |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                   | :ref:`surface_get_name<class_ArrayMesh_method_surface_get_name>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                                               |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` | :ref:`surface_get_primitive_type<class_ArrayMesh_method_surface_get_primitive_type>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                           |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                          | :ref:`surface_set_name<class_ArrayMesh_method_surface_set_name>` **(** :ref:`int<class_int>` surf_idx, :ref:`String<class_String>` name **)**                                                                                                                                                                                     |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                          | :ref:`surface_update_attribute_region<class_ArrayMesh_method_surface_update_attribute_region>` **(** :ref:`int<class_int>` surf_idx, :ref:`int<class_int>` offset, :ref:`PackedByteArray<class_PackedByteArray>` data **)**                                                                                                       |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                          | :ref:`surface_update_skin_region<class_ArrayMesh_method_surface_update_skin_region>` **(** :ref:`int<class_int>` surf_idx, :ref:`int<class_int>` offset, :ref:`PackedByteArray<class_PackedByteArray>` data **)**                                                                                                                 |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                          | :ref:`surface_update_vertex_region<class_ArrayMesh_method_surface_update_vertex_region>` **(** :ref:`int<class_int>` surf_idx, :ref:`int<class_int>` offset, :ref:`PackedByteArray<class_PackedByteArray>` data **)**                                                                                                             |
+   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -197,9 +197,7 @@ Overrides the :ref:`AABB<class_AABB>` with one defined by user for use with frus
 - void **set_shadow_mesh** **(** :ref:`ArrayMesh<class_ArrayMesh>` value **)**
 - void **set_shadow_mesh** **(** :ref:`ArrayMesh<class_ArrayMesh>` value **)**
 - :ref:`ArrayMesh<class_ArrayMesh>` **get_shadow_mesh** **(** **)**
 - :ref:`ArrayMesh<class_ArrayMesh>` **get_shadow_mesh** **(** **)**
 
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+An optional mesh which is used for rendering shadows and can be used for the depth prepass. Can be used to increase performance of shadow rendering by using a mesh that only contains vertex position data (without normals, UVs, colors, etc.).
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -226,13 +224,21 @@ Adds name for a blend shape that will be added with :ref:`add_surface_from_array
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **add_surface_from_arrays** **(** :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` primitive, :ref:`Array<class_Array>` arrays, :ref:`Array[]<class_Array>` blend_shapes=[], :ref:`Dictionary<class_Dictionary>` lods={}, :ref:`ArrayFormat<enum_Mesh_ArrayFormat>` compress_flags=0 **)**
+void **add_surface_from_arrays** **(** :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` primitive, :ref:`Array<class_Array>` arrays, :ref:`Array[]<class_Array>` blend_shapes=[], :ref:`Dictionary<class_Dictionary>` lods={}, :ref:`ArrayFormat<enum_Mesh_ArrayFormat>` flags=0 **)**
+
+Creates a new surface. :ref:`Mesh.get_surface_count<class_Mesh_method_get_surface_count>` will become the ``surf_idx`` for this new surface.
+
+Surfaces are created to be rendered using a ``primitive``, which may be any of the values defined in :ref:`PrimitiveType<enum_Mesh_PrimitiveType>`.
+
+The ``arrays`` argument is an array of arrays. Each of the :ref:`Mesh.ARRAY_MAX<class_Mesh_constant_ARRAY_MAX>` elements contains an array with some of the mesh data for this surface as described by the corresponding member of :ref:`ArrayType<enum_Mesh_ArrayType>` or ``null`` if it is not used by the surface. For example, ``arrays[0]`` is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this surface into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array (or be an exact multiple of the vertex array's length, when multiple elements of a sub-array correspond to a single vertex) or be empty, except for :ref:`Mesh.ARRAY_INDEX<class_Mesh_constant_ARRAY_INDEX>` if it is used.
+
+The ``blend_shapes`` argument is an array of vertex data for each blend shape. Each element is an array of the same structure as ``arrays``, but :ref:`Mesh.ARRAY_VERTEX<class_Mesh_constant_ARRAY_VERTEX>`, :ref:`Mesh.ARRAY_NORMAL<class_Mesh_constant_ARRAY_NORMAL>`, and :ref:`Mesh.ARRAY_TANGENT<class_Mesh_constant_ARRAY_TANGENT>` are set if and only if they are set in ``arrays`` and all other entries are ``null``.
 
 
-Creates a new surface.
+The ``lods`` argument is a dictionary with :ref:`float<class_float>` keys and :ref:`PackedInt32Array<class_PackedInt32Array>` values. Each entry in the dictionary represents a LOD level of the surface, where the value is the :ref:`Mesh.ARRAY_INDEX<class_Mesh_constant_ARRAY_INDEX>` array to use for the LOD level and the key is roughly proportional to the distance at which the LOD stats being used. I.e., increasing the key of a LOD also increases the distance that the objects has to be from the camera before the LOD is used.
 
 
-Surfaces are created to be rendered using a ``primitive``, which may be any of the types defined in :ref:`PrimitiveType<enum_Mesh_PrimitiveType>`. (As a note, when using indices, it is recommended to only use points, lines, or triangles.) :ref:`Mesh.get_surface_count<class_Mesh_method_get_surface_count>` will become the ``surf_idx`` for this new surface.
+The ``flags`` argument is the bitwise or of, as required: One value of :ref:`ArrayCustomFormat<enum_Mesh_ArrayCustomFormat>` left shifted by ``ARRAY_FORMAT_CUSTOMn_SHIFT`` for each custom channel in use, :ref:`Mesh.ARRAY_FLAG_USE_DYNAMIC_UPDATE<class_Mesh_constant_ARRAY_FLAG_USE_DYNAMIC_UPDATE>`, :ref:`Mesh.ARRAY_FLAG_USE_8_BONE_WEIGHTS<class_Mesh_constant_ARRAY_FLAG_USE_8_BONE_WEIGHTS>`, or :ref:`Mesh.ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY<class_Mesh_constant_ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY>`.
 
 
-The ``arrays`` argument is an array of arrays. See :ref:`ArrayType<enum_Mesh_ArrayType>` for the values used in this array. For example, ``arrays[0]`` is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array (or be an exact multiple of the vertex array's length, when multiple elements of a sub-array correspond to a single vertex) or be empty, except for :ref:`Mesh.ARRAY_INDEX<class_Mesh_constant_ARRAY_INDEX>` if it is used.
+\ **Note:** When using indices, it is recommended to only use points, lines, or triangles.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 4 - 4
classes/class_astargrid2d.rst

@@ -38,11 +38,11 @@ In contrast to :ref:`AStar2D<class_AStar2D>`, you only need set the :ref:`size<c
  .. code-tab:: csharp
  .. code-tab:: csharp
 
 
     AStarGrid2D astarGrid = new AStarGrid2D();
     AStarGrid2D astarGrid = new AStarGrid2D();
-    astarGrid.Size = new Vector2i(32, 32);
-    astarGrid.CellSize = new Vector2i(16, 16);
+    astarGrid.Size = new Vector2I(32, 32);
+    astarGrid.CellSize = new Vector2I(16, 16);
     astarGrid.Update();
     astarGrid.Update();
-    GD.Print(astarGrid.GetIdPath(Vector2i.Zero, new Vector2i(3, 4))); // prints (0, 0), (1, 1), (2, 2), (3, 3), (3, 4)
-    GD.Print(astarGrid.GetPointPath(Vector2i.Zero, new Vector2i(3, 4))); // prints (0, 0), (16, 16), (32, 32), (48, 48), (48, 64)
+    GD.Print(astarGrid.GetIdPath(Vector2I.Zero, new Vector2I(3, 4))); // prints (0, 0), (1, 1), (2, 2), (3, 3), (3, 4)
+    GD.Print(astarGrid.GetPointPath(Vector2I.Zero, new Vector2I(3, 4))); // prints (0, 0), (16, 16), (32, 32), (48, 48), (48, 64)
 
 
 
 
 
 

+ 1 - 1
classes/class_audiostream.rst

@@ -12,7 +12,7 @@ AudioStream
 
 
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 
-**Inherited By:** :ref:`AudioStreamGenerator<class_AudioStreamGenerator>`, :ref:`AudioStreamMicrophone<class_AudioStreamMicrophone>`, :ref:`AudioStreamMP3<class_AudioStreamMP3>`, :ref:`AudioStreamOggVorbis<class_AudioStreamOggVorbis>`, :ref:`AudioStreamRandomizer<class_AudioStreamRandomizer>`, :ref:`AudioStreamWAV<class_AudioStreamWAV>`
+**Inherited By:** :ref:`AudioStreamGenerator<class_AudioStreamGenerator>`, :ref:`AudioStreamMicrophone<class_AudioStreamMicrophone>`, :ref:`AudioStreamMP3<class_AudioStreamMP3>`, :ref:`AudioStreamOggVorbis<class_AudioStreamOggVorbis>`, :ref:`AudioStreamPolyphonic<class_AudioStreamPolyphonic>`, :ref:`AudioStreamRandomizer<class_AudioStreamRandomizer>`, :ref:`AudioStreamWAV<class_AudioStreamWAV>`
 
 
 Base class for audio streams.
 Base class for audio streams.
 
 

+ 1 - 1
classes/class_audiostreamplayback.rst

@@ -12,7 +12,7 @@ AudioStreamPlayback
 
 
 **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 
-**Inherited By:** :ref:`AudioStreamPlaybackResampled<class_AudioStreamPlaybackResampled>`
+**Inherited By:** :ref:`AudioStreamPlaybackPolyphonic<class_AudioStreamPlaybackPolyphonic>`, :ref:`AudioStreamPlaybackResampled<class_AudioStreamPlaybackResampled>`
 
 
 Meta class for playing back audio.
 Meta class for playing back audio.
 
 

+ 137 - 0
classes/class_audiostreamplaybackpolyphonic.rst

@@ -0,0 +1,137 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPlaybackPolyphonic.xml.
+
+.. _class_AudioStreamPlaybackPolyphonic:
+
+AudioStreamPlaybackPolyphonic
+=============================
+
+**Inherits:** :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Playback instance for :ref:`AudioStreamPolyphonic<class_AudioStreamPolyphonic>`.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+Playback instance for :ref:`AudioStreamPolyphonic<class_AudioStreamPolyphonic>`. After setting the ``stream`` property of :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`, :ref:`AudioStreamPlayer2D<class_AudioStreamPlayer2D>`, or :ref:`AudioStreamPlayer3D<class_AudioStreamPlayer3D>`, the playback instance can be obtained by calling :ref:`AudioStreamPlayer.get_stream_playback<class_AudioStreamPlayer_method_get_stream_playback>`, :ref:`AudioStreamPlayer2D.get_stream_playback<class_AudioStreamPlayer2D_method_get_stream_playback>` or :ref:`AudioStreamPlayer3D.get_stream_playback<class_AudioStreamPlayer3D_method_get_stream_playback>` methods.
+
+.. rst-class:: classref-reftable-group
+
+Methods
+-------
+
+.. table::
+   :widths: auto
+
+   +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>` | :ref:`is_stream_playing<class_AudioStreamPlaybackPolyphonic_method_is_stream_playing>` **(** :ref:`int<class_int>` stream **)** |const|                                                                                                                        |
+   +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`   | :ref:`play_stream<class_AudioStreamPlaybackPolyphonic_method_play_stream>` **(** :ref:`AudioStream<class_AudioStream>` stream, :ref:`float<class_float>` from_offset=0, :ref:`float<class_float>` volume_db=0, :ref:`float<class_float>` pitch_scale=1.0 **)** |
+   +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                    | :ref:`set_stream_pitch_scale<class_AudioStreamPlaybackPolyphonic_method_set_stream_pitch_scale>` **(** :ref:`int<class_int>` stream, :ref:`float<class_float>` pitch_scale **)**                                                                               |
+   +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                    | :ref:`set_stream_volume<class_AudioStreamPlaybackPolyphonic_method_set_stream_volume>` **(** :ref:`int<class_int>` stream, :ref:`float<class_float>` volume_db **)**                                                                                           |
+   +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                    | :ref:`stop_stream<class_AudioStreamPlaybackPolyphonic_method_stop_stream>` **(** :ref:`int<class_int>` stream **)**                                                                                                                                            |
+   +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Constants
+---------
+
+.. _class_AudioStreamPlaybackPolyphonic_constant_INVALID_ID:
+
+.. rst-class:: classref-constant
+
+**INVALID_ID** = ``-1``
+
+Returned by :ref:`play_stream<class_AudioStreamPlaybackPolyphonic_method_play_stream>` in case it could not allocate a stream for playback.
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Method Descriptions
+-------------------
+
+.. _class_AudioStreamPlaybackPolyphonic_method_is_stream_playing:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **is_stream_playing** **(** :ref:`int<class_int>` stream **)** |const|
+
+Return true whether the stream associated with an integer ID is still playing. Check :ref:`play_stream<class_AudioStreamPlaybackPolyphonic_method_play_stream>` for information on when this ID becomes invalid.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AudioStreamPlaybackPolyphonic_method_play_stream:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **play_stream** **(** :ref:`AudioStream<class_AudioStream>` stream, :ref:`float<class_float>` from_offset=0, :ref:`float<class_float>` volume_db=0, :ref:`float<class_float>` pitch_scale=1.0 **)**
+
+Play an :ref:`AudioStream<class_AudioStream>` at a given offset, volume and pitch scale. Playback starts immediately.
+
+The return value is an unique integer ID that is associated to this playback stream and which can be used to control it.
+
+This ID becomes invalid when the stream ends (if it does not loop), when the **AudioStreamPlaybackPolyphonic** is stopped, or when :ref:`stop_stream<class_AudioStreamPlaybackPolyphonic_method_stop_stream>` is called.
+
+This function returns :ref:`INVALID_ID<class_AudioStreamPlaybackPolyphonic_constant_INVALID_ID>` if the amount of streams currently playing equals :ref:`AudioStreamPolyphonic.polyphony<class_AudioStreamPolyphonic_property_polyphony>`. If you need a higher amount of maximum polyphony, raise this value.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AudioStreamPlaybackPolyphonic_method_set_stream_pitch_scale:
+
+.. rst-class:: classref-method
+
+void **set_stream_pitch_scale** **(** :ref:`int<class_int>` stream, :ref:`float<class_float>` pitch_scale **)**
+
+Change the stream pitch scale. The ``stream`` argument is an integer ID returned by :ref:`play_stream<class_AudioStreamPlaybackPolyphonic_method_play_stream>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AudioStreamPlaybackPolyphonic_method_set_stream_volume:
+
+.. rst-class:: classref-method
+
+void **set_stream_volume** **(** :ref:`int<class_int>` stream, :ref:`float<class_float>` volume_db **)**
+
+Change the stream volume (in db). The ``stream`` argument is an integer ID returned by :ref:`play_stream<class_AudioStreamPlaybackPolyphonic_method_play_stream>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_AudioStreamPlaybackPolyphonic_method_stop_stream:
+
+.. rst-class:: classref-method
+
+void **stop_stream** **(** :ref:`int<class_int>` stream **)**
+
+Stop a stream. The ``stream`` argument is an integer ID returned by :ref:`play_stream<class_AudioStreamPlaybackPolyphonic_method_play_stream>`, which becomes invalid after calling this function.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`

+ 65 - 0
classes/class_audiostreampolyphonic.rst

@@ -0,0 +1,65 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPolyphonic.xml.
+
+.. _class_AudioStreamPolyphonic:
+
+AudioStreamPolyphonic
+=====================
+
+**Inherits:** :ref:`AudioStream<class_AudioStream>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+AudioStream that lets the user play custom streams at any time from code, simultaneously using a single player.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+AudioStream that lets the user play custom streams at any time from code, simultaneously using a single player.
+
+Playback control is done via the :ref:`AudioStreamPlaybackPolyphonic<class_AudioStreamPlaybackPolyphonic>` instance set inside the player, which can be obtained via :ref:`AudioStreamPlayer.get_stream_playback<class_AudioStreamPlayer_method_get_stream_playback>`, :ref:`AudioStreamPlayer2D.get_stream_playback<class_AudioStreamPlayer2D_method_get_stream_playback>` or :ref:`AudioStreamPlayer3D.get_stream_playback<class_AudioStreamPlayer3D_method_get_stream_playback>` methods. Obtaining the playback instance is only valid after the ``stream`` property is set as an **AudioStreamPolyphonic** in those players.
+
+.. rst-class:: classref-reftable-group
+
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +-----------------------+------------------------------------------------------------------+--------+
+   | :ref:`int<class_int>` | :ref:`polyphony<class_AudioStreamPolyphonic_property_polyphony>` | ``32`` |
+   +-----------------------+------------------------------------------------------------------+--------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Property Descriptions
+---------------------
+
+.. _class_AudioStreamPolyphonic_property_polyphony:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **polyphony** = ``32``
+
+.. rst-class:: classref-property-setget
+
+- void **set_polyphony** **(** :ref:`int<class_int>` value **)**
+- :ref:`int<class_int>` **get_polyphony** **(** **)**
+
+Maximum amount of simultaneous streams that can be played.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`

+ 2 - 2
classes/class_backbuffercopy.rst

@@ -12,14 +12,14 @@ BackBufferCopy
 
 
 **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 
-Copies a region of the screen (or the whole screen) to a buffer so it can be accessed in your shader scripts through the ``texture(SCREEN_TEXTURE, ...)`` function.
+Copies a region of the screen (or the whole screen) to a buffer so it can be accessed in your shader scripts using the screen texture (i.e. a uniform sampler with ``hint_screen_texture``).
 
 
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 
 Description
 Description
 -----------
 -----------
 
 
-Node for back-buffering the currently-displayed screen. The region defined in the **BackBufferCopy** node is buffered with the content of the screen it covers, or the entire screen according to the copy mode set. Use the ``texture(SCREEN_TEXTURE, ...)`` function in your shader scripts to access the buffer.
+Node for back-buffering the currently-displayed screen. The region defined in the **BackBufferCopy** node is buffered with the content of the screen it covers, or the entire screen according to the copy mode set. Use the screen texture in your shader scripts to access the buffer.
 
 
 \ **Note:** Since this node inherits from :ref:`Node2D<class_Node2D>` (and not :ref:`Control<class_Control>`), anchors and margins won't apply to child :ref:`Control<class_Control>`-derived nodes. This can be problematic when resizing the window. To avoid this, add :ref:`Control<class_Control>`-derived nodes as *siblings* to the **BackBufferCopy** node instead of adding them as children.
 \ **Note:** Since this node inherits from :ref:`Node2D<class_Node2D>` (and not :ref:`Control<class_Control>`), anchors and margins won't apply to child :ref:`Control<class_Control>`-derived nodes. This can be problematic when resizing the window. To avoid this, add :ref:`Control<class_Control>`-derived nodes as *siblings* to the **BackBufferCopy** node instead of adding them as children.
 
 

+ 1 - 1
classes/class_basebutton.rst

@@ -356,7 +356,7 @@ If ``true``, the button stays pressed when moving the cursor outside the button
 - void **set_shortcut_feedback** **(** :ref:`bool<class_bool>` value **)**
 - void **set_shortcut_feedback** **(** :ref:`bool<class_bool>` value **)**
 - :ref:`bool<class_bool>` **is_shortcut_feedback** **(** **)**
 - :ref:`bool<class_bool>` **is_shortcut_feedback** **(** **)**
 
 
-If ``true``, the button will appear pressed when its shortcut is activated. If ``false`` and :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` is ``false``, the shortcut will activate the button without appearing to press the button.
+If ``true``, the button will highlight for a short amount of time when its shortcut is activated. If ``false`` and :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` is ``false``, the shortcut will activate without any visual feedback.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 22 - 63
classes/class_boneattachment3d.rst

@@ -31,11 +31,13 @@ Properties
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +-----------------------------+-------------------------------------------------------------+--------+
-   | :ref:`int<class_int>`       | :ref:`bone_idx<class_BoneAttachment3D_property_bone_idx>`   | ``-1`` |
-   +-----------------------------+-------------------------------------------------------------+--------+
-   | :ref:`String<class_String>` | :ref:`bone_name<class_BoneAttachment3D_property_bone_name>` | ``""`` |
-   +-----------------------------+-------------------------------------------------------------+--------+
+   +-----------------------------+---------------------------------------------------------------------+-----------+
+   | :ref:`int<class_int>`       | :ref:`bone_idx<class_BoneAttachment3D_property_bone_idx>`           | ``-1``    |
+   +-----------------------------+---------------------------------------------------------------------+-----------+
+   | :ref:`String<class_String>` | :ref:`bone_name<class_BoneAttachment3D_property_bone_name>`         | ``""``    |
+   +-----------------------------+---------------------------------------------------------------------+-----------+
+   | :ref:`bool<class_bool>`     | :ref:`override_pose<class_BoneAttachment3D_property_override_pose>` | ``false`` |
+   +-----------------------------+---------------------------------------------------------------------+-----------+
 
 
 .. rst-class:: classref-reftable-group
 .. rst-class:: classref-reftable-group
 
 
@@ -48,20 +50,12 @@ Methods
    +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`NodePath<class_NodePath>` | :ref:`get_external_skeleton<class_BoneAttachment3D_method_get_external_skeleton>` **(** **)** |const|                                               |
    | :ref:`NodePath<class_NodePath>` | :ref:`get_external_skeleton<class_BoneAttachment3D_method_get_external_skeleton>` **(** **)** |const|                                               |
    +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`           | :ref:`get_override_mode<class_BoneAttachment3D_method_get_override_mode>` **(** **)** |const|                                                       |
-   +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`         | :ref:`get_override_pose<class_BoneAttachment3D_method_get_override_pose>` **(** **)** |const|                                                       |
-   +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`         | :ref:`get_use_external_skeleton<class_BoneAttachment3D_method_get_use_external_skeleton>` **(** **)** |const|                                       |
    | :ref:`bool<class_bool>`         | :ref:`get_use_external_skeleton<class_BoneAttachment3D_method_get_use_external_skeleton>` **(** **)** |const|                                       |
    +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                            | :ref:`on_bone_pose_update<class_BoneAttachment3D_method_on_bone_pose_update>` **(** :ref:`int<class_int>` bone_index **)**                          |
    | void                            | :ref:`on_bone_pose_update<class_BoneAttachment3D_method_on_bone_pose_update>` **(** :ref:`int<class_int>` bone_index **)**                          |
    +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                            | :ref:`set_external_skeleton<class_BoneAttachment3D_method_set_external_skeleton>` **(** :ref:`NodePath<class_NodePath>` external_skeleton **)**     |
    | void                            | :ref:`set_external_skeleton<class_BoneAttachment3D_method_set_external_skeleton>` **(** :ref:`NodePath<class_NodePath>` external_skeleton **)**     |
    +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                            | :ref:`set_override_mode<class_BoneAttachment3D_method_set_override_mode>` **(** :ref:`int<class_int>` override_mode **)**                           |
-   +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                            | :ref:`set_override_pose<class_BoneAttachment3D_method_set_override_pose>` **(** :ref:`bool<class_bool>` override_pose **)**                         |
-   +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                            | :ref:`set_use_external_skeleton<class_BoneAttachment3D_method_set_use_external_skeleton>` **(** :ref:`bool<class_bool>` use_external_skeleton **)** |
    | void                            | :ref:`set_use_external_skeleton<class_BoneAttachment3D_method_set_use_external_skeleton>` **(** :ref:`bool<class_bool>` use_external_skeleton **)** |
    +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
@@ -104,48 +98,39 @@ The index of the attached bone.
 
 
 The name of the attached bone.
 The name of the attached bone.
 
 
-.. rst-class:: classref-section-separator
+.. rst-class:: classref-item-separator
 
 
 ----
 ----
 
 
-.. rst-class:: classref-descriptions-group
+.. _class_BoneAttachment3D_property_override_pose:
 
 
-Method Descriptions
--------------------
+.. rst-class:: classref-property
 
 
-.. _class_BoneAttachment3D_method_get_external_skeleton:
+:ref:`bool<class_bool>` **override_pose** = ``false``
 
 
-.. rst-class:: classref-method
+.. rst-class:: classref-property-setget
 
 
-:ref:`NodePath<class_NodePath>` **get_external_skeleton** **(** **)** |const|
+- void **set_override_pose** **(** :ref:`bool<class_bool>` value **)**
+- :ref:`bool<class_bool>` **get_override_pose** **(** **)**
 
 
-Returns the :ref:`NodePath<class_NodePath>` to the external :ref:`Skeleton3D<class_Skeleton3D>` node, if one has been set.
+Whether the BoneAttachment3D node will override the bone pose of the bone it is attached to. When set to ``true``, the BoneAttachment3D node can change the pose of the bone. When set to ``false``, the BoneAttachment3D will always be set to the bone's transform.
 
 
-.. rst-class:: classref-item-separator
+.. rst-class:: classref-section-separator
 
 
 ----
 ----
 
 
-.. _class_BoneAttachment3D_method_get_override_mode:
-
-.. rst-class:: classref-method
-
-:ref:`int<class_int>` **get_override_mode** **(** **)** |const|
-
-Deprecated. Local pose overrides will be removed.
-
-Returns the override mode for the BoneAttachment3D node (0=global / 1=local).
-
-.. rst-class:: classref-item-separator
+.. rst-class:: classref-descriptions-group
 
 
-----
+Method Descriptions
+-------------------
 
 
-.. _class_BoneAttachment3D_method_get_override_pose:
+.. _class_BoneAttachment3D_method_get_external_skeleton:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`bool<class_bool>` **get_override_pose** **(** **)** |const|
+:ref:`NodePath<class_NodePath>` **get_external_skeleton** **(** **)** |const|
 
 
-Returns whether the BoneAttachment3D node is overriding the bone pose of the bone it's attached to.
+Returns the :ref:`NodePath<class_NodePath>` to the external :ref:`Skeleton3D<class_Skeleton3D>` node, if one has been set.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -187,32 +172,6 @@ Sets the :ref:`NodePath<class_NodePath>` to the external skeleton that the BoneA
 
 
 ----
 ----
 
 
-.. _class_BoneAttachment3D_method_set_override_mode:
-
-.. rst-class:: classref-method
-
-void **set_override_mode** **(** :ref:`int<class_int>` override_mode **)**
-
-Deprecated. Local pose overrides will be removed.
-
-Sets the override mode for the BoneAttachment3D node (0=global / 1=local). The override mode defines which of the bone poses the BoneAttachment3D node will override.
-
-.. rst-class:: classref-item-separator
-
-----
-
-.. _class_BoneAttachment3D_method_set_override_pose:
-
-.. rst-class:: classref-method
-
-void **set_override_pose** **(** :ref:`bool<class_bool>` override_pose **)**
-
-Sets whether the BoneAttachment3D node will override the bone pose of the bone it is attached to. When set to ``true``, the BoneAttachment3D node can change the pose of the bone.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_BoneAttachment3D_method_set_use_external_skeleton:
 .. _class_BoneAttachment3D_method_set_use_external_skeleton:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 1 - 1
classes/class_bool.rst

@@ -91,7 +91,7 @@ The following code will set ``can_shoot`` to ``false`` and start a timer. This w
             _can_shoot = false
             _can_shoot = false
             _cool_down.start()
             _cool_down.start()
     
     
-    func _on_CoolDownTimer_timeout():
+    func _on_cool_down_timer_timeout():
         _can_shoot = true
         _can_shoot = true
 
 
  .. code-tab:: csharp
  .. code-tab:: csharp

+ 7 - 5
classes/class_callable.rst

@@ -32,22 +32,24 @@ Description
     func test():
     func test():
         var callable = Callable(self, "print_args")
         var callable = Callable(self, "print_args")
         callable.call("hello", "world")  # Prints "hello world ".
         callable.call("hello", "world")  # Prints "hello world ".
-        callable.call(Vector2.UP, 42, callable)  # Prints "(0, -1) 42 Node(Node.gd)::print_args".
+        callable.call(Vector2.UP, 42, callable)  # Prints "(0, -1) 42 Node(node.gd)::print_args".
         callable.call("invalid")  # Invalid call, should have at least 2 arguments.
         callable.call("invalid")  # Invalid call, should have at least 2 arguments.
 
 
  .. code-tab:: csharp
  .. code-tab:: csharp
 
 
-    public void PrintArgs(object arg1, object arg2, object arg3 = null)
+    // Default parameter values are not supported.
+    public void PrintArgs(Variant arg1, Variant arg2, Variant arg3 = default)
     {
     {
         GD.PrintS(arg1, arg2, arg3);
         GD.PrintS(arg1, arg2, arg3);
     }
     }
     
     
     public void Test()
     public void Test()
     {
     {
-        Callable callable = new Callable(this, nameof(PrintArgs));
-        callable.Call("hello", "world"); // Prints "hello world null".
+        // Invalid calls fail silently.
+        Callable callable = new Callable(this, MethodName.PrintArgs);
+        callable.Call("hello", "world"); // Default parameter values are not supported, should have 3 arguments.
         callable.Call(Vector2.Up, 42, callable); // Prints "(0, -1) 42 Node(Node.cs)::PrintArgs".
         callable.Call(Vector2.Up, 42, callable); // Prints "(0, -1) 42 Node(Node.cs)::PrintArgs".
-        callable.Call("invalid"); // Invalid call, should have at least 2 arguments.
+        callable.Call("invalid"); // Invalid call, should have 3 arguments.
     }
     }
 
 
 
 

+ 3 - 1
classes/class_canvasgroup.rst

@@ -27,8 +27,10 @@ Child :ref:`CanvasItem<class_CanvasItem>` nodes of a **CanvasGroup** are drawn a
 
 
     shader_type canvas_item;
     shader_type canvas_item;
     
     
+    uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, filter_nearest;
+    
     void fragment() {
     void fragment() {
-        vec4 c = textureLod(SCREEN_TEXTURE, SCREEN_UV, 0.0);
+        vec4 c = textureLod(screen_texture, SCREEN_UV, 0.0);
     
     
         if (c.a > 0.0001) {
         if (c.a > 0.0001) {
             c.rgb /= c.a;
             c.rgb /= c.a;

+ 41 - 21
classes/class_canvasitem.rst

@@ -97,7 +97,7 @@ Methods
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                  | :ref:`draw_animation_slice<class_CanvasItem_method_draw_animation_slice>` **(** :ref:`float<class_float>` animation_length, :ref:`float<class_float>` slice_begin, :ref:`float<class_float>` slice_end, :ref:`float<class_float>` offset=0.0 **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
    | void                                  | :ref:`draw_animation_slice<class_CanvasItem_method_draw_animation_slice>` **(** :ref:`float<class_float>` animation_length, :ref:`float<class_float>` slice_begin, :ref:`float<class_float>` slice_end, :ref:`float<class_float>` offset=0.0 **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                  | :ref:`draw_arc<class_CanvasItem_method_draw_arc>` **(** :ref:`Vector2<class_Vector2>` center, :ref:`float<class_float>` radius, :ref:`float<class_float>` start_angle, :ref:`float<class_float>` end_angle, :ref:`int<class_int>` point_count, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                                                                                                                                                               |
+   | void                                  | :ref:`draw_arc<class_CanvasItem_method_draw_arc>` **(** :ref:`Vector2<class_Vector2>` center, :ref:`float<class_float>` radius, :ref:`float<class_float>` start_angle, :ref:`float<class_float>` end_angle, :ref:`int<class_int>` point_count, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=-1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                                                                                                                                                              |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                  | :ref:`draw_char<class_CanvasItem_method_draw_char>` **(** :ref:`Font<class_Font>` font, :ref:`Vector2<class_Vector2>` pos, :ref:`String<class_String>` char, :ref:`int<class_int>` font_size=16, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1) **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
    | void                                  | :ref:`draw_char<class_CanvasItem_method_draw_char>` **(** :ref:`Font<class_Font>` font, :ref:`Vector2<class_Vector2>` pos, :ref:`String<class_String>` char, :ref:`int<class_int>` font_size=16, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1) **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -107,21 +107,21 @@ Methods
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                  | :ref:`draw_colored_polygon<class_CanvasItem_method_draw_colored_polygon>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs=PackedVector2Array(), :ref:`Texture2D<class_Texture2D>` texture=null **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
    | void                                  | :ref:`draw_colored_polygon<class_CanvasItem_method_draw_colored_polygon>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs=PackedVector2Array(), :ref:`Texture2D<class_Texture2D>` texture=null **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                  | :ref:`draw_dashed_line<class_CanvasItem_method_draw_dashed_line>` **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`float<class_float>` dash=2.0 **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
+   | void                                  | :ref:`draw_dashed_line<class_CanvasItem_method_draw_dashed_line>` **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=-1.0, :ref:`float<class_float>` dash=2.0, :ref:`bool<class_bool>` aligned=true **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                  | :ref:`draw_end_animation<class_CanvasItem_method_draw_end_animation>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
    | void                                  | :ref:`draw_end_animation<class_CanvasItem_method_draw_end_animation>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                  | :ref:`draw_lcd_texture_rect_region<class_CanvasItem_method_draw_lcd_texture_rect_region>` **(** :ref:`Texture2D<class_Texture2D>` texture, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1) **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
    | void                                  | :ref:`draw_lcd_texture_rect_region<class_CanvasItem_method_draw_lcd_texture_rect_region>` **(** :ref:`Texture2D<class_Texture2D>` texture, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1) **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                  | :ref:`draw_line<class_CanvasItem_method_draw_line>` **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
+   | void                                  | :ref:`draw_line<class_CanvasItem_method_draw_line>` **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=-1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                  | :ref:`draw_mesh<class_CanvasItem_method_draw_mesh>` **(** :ref:`Mesh<class_Mesh>` mesh, :ref:`Texture2D<class_Texture2D>` texture, :ref:`Transform2D<class_Transform2D>` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1) **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
    | void                                  | :ref:`draw_mesh<class_CanvasItem_method_draw_mesh>` **(** :ref:`Mesh<class_Mesh>` mesh, :ref:`Texture2D<class_Texture2D>` texture, :ref:`Transform2D<class_Transform2D>` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1) **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                  | :ref:`draw_msdf_texture_rect_region<class_CanvasItem_method_draw_msdf_texture_rect_region>` **(** :ref:`Texture2D<class_Texture2D>` texture, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`float<class_float>` outline=0.0, :ref:`float<class_float>` pixel_range=4.0, :ref:`float<class_float>` scale=1.0 **)**                                                                                                                                                                                                                                                                                                                                                                 |
    | void                                  | :ref:`draw_msdf_texture_rect_region<class_CanvasItem_method_draw_msdf_texture_rect_region>` **(** :ref:`Texture2D<class_Texture2D>` texture, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`float<class_float>` outline=0.0, :ref:`float<class_float>` pixel_range=4.0, :ref:`float<class_float>` scale=1.0 **)**                                                                                                                                                                                                                                                                                                                                                                 |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                  | :ref:`draw_multiline<class_CanvasItem_method_draw_multiline>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0 **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
+   | void                                  | :ref:`draw_multiline<class_CanvasItem_method_draw_multiline>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=-1.0 **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                  | :ref:`draw_multiline_colors<class_CanvasItem_method_draw_multiline_colors>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=1.0 **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
+   | void                                  | :ref:`draw_multiline_colors<class_CanvasItem_method_draw_multiline_colors>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=-1.0 **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                  | :ref:`draw_multiline_string<class_CanvasItem_method_draw_multiline_string>` **(** :ref:`Font<class_Font>` font, :ref:`Vector2<class_Vector2>` pos, :ref:`String<class_String>` text, :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` alignment=0, :ref:`float<class_float>` width=-1, :ref:`int<class_int>` font_size=16, :ref:`int<class_int>` max_lines=-1, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`LineBreakFlag<enum_TextServer_LineBreakFlag>` brk_flags=3, :ref:`JustificationFlag<enum_TextServer_JustificationFlag>` jst_flags=3, :ref:`Direction<enum_TextServer_Direction>` direction=0, :ref:`Orientation<enum_TextServer_Orientation>` orientation=0 **)** |const|                                               |
    | void                                  | :ref:`draw_multiline_string<class_CanvasItem_method_draw_multiline_string>` **(** :ref:`Font<class_Font>` font, :ref:`Vector2<class_Vector2>` pos, :ref:`String<class_String>` text, :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` alignment=0, :ref:`float<class_float>` width=-1, :ref:`int<class_int>` font_size=16, :ref:`int<class_int>` max_lines=-1, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`LineBreakFlag<enum_TextServer_LineBreakFlag>` brk_flags=3, :ref:`JustificationFlag<enum_TextServer_JustificationFlag>` jst_flags=3, :ref:`Direction<enum_TextServer_Direction>` direction=0, :ref:`Orientation<enum_TextServer_Orientation>` orientation=0 **)** |const|                                               |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -131,13 +131,13 @@ Methods
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                  | :ref:`draw_polygon<class_CanvasItem_method_draw_polygon>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs=PackedVector2Array(), :ref:`Texture2D<class_Texture2D>` texture=null **)**                                                                                                                                                                                                                                                                                                                                                                                                                                             |
    | void                                  | :ref:`draw_polygon<class_CanvasItem_method_draw_polygon>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs=PackedVector2Array(), :ref:`Texture2D<class_Texture2D>` texture=null **)**                                                                                                                                                                                                                                                                                                                                                                                                                                             |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                  | :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
+   | void                                  | :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=-1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                  | :ref:`draw_polyline_colors<class_CanvasItem_method_draw_polyline_colors>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
+   | void                                  | :ref:`draw_polyline_colors<class_CanvasItem_method_draw_polyline_colors>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=-1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                  | :ref:`draw_primitive<class_CanvasItem_method_draw_primitive>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs, :ref:`Texture2D<class_Texture2D>` texture=null, :ref:`float<class_float>` width=1.0 **)**                                                                                                                                                                                                                                                                                                                                                                                                                         |
+   | void                                  | :ref:`draw_primitive<class_CanvasItem_method_draw_primitive>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs, :ref:`Texture2D<class_Texture2D>` texture=null **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                  | :ref:`draw_rect<class_CanvasItem_method_draw_rect>` **(** :ref:`Rect2<class_Rect2>` rect, :ref:`Color<class_Color>` color, :ref:`bool<class_bool>` filled=true, :ref:`float<class_float>` width=1.0 **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
+   | void                                  | :ref:`draw_rect<class_CanvasItem_method_draw_rect>` **(** :ref:`Rect2<class_Rect2>` rect, :ref:`Color<class_Color>` color, :ref:`bool<class_bool>` filled=true, :ref:`float<class_float>` width=-1.0 **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                  | :ref:`draw_set_transform<class_CanvasItem_method_draw_set_transform>` **(** :ref:`Vector2<class_Vector2>` position, :ref:`float<class_float>` rotation=0.0, :ref:`Vector2<class_Vector2>` scale=Vector2(1, 1) **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
    | void                                  | :ref:`draw_set_transform<class_CanvasItem_method_draw_set_transform>` **(** :ref:`Vector2<class_Vector2>` position, :ref:`float<class_float>` rotation=0.0, :ref:`Vector2<class_Vector2>` scale=Vector2(1, 1) **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -800,9 +800,13 @@ Subsequent drawing commands will be ignored unless they fall within the specifie
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **draw_arc** **(** :ref:`Vector2<class_Vector2>` center, :ref:`float<class_float>` radius, :ref:`float<class_float>` start_angle, :ref:`float<class_float>` end_angle, :ref:`int<class_int>` point_count, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
+void **draw_arc** **(** :ref:`Vector2<class_Vector2>` center, :ref:`float<class_float>` radius, :ref:`float<class_float>` start_angle, :ref:`float<class_float>` end_angle, :ref:`int<class_int>` point_count, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=-1.0, :ref:`bool<class_bool>` antialiased=false **)**
 
 
-Draws a unfilled arc between the given angles. The larger the value of ``point_count``, the smoother the curve. See also :ref:`draw_circle<class_CanvasItem_method_draw_circle>`.
+Draws an unfilled arc between the given angles with a uniform ``color`` and ``width`` and optional antialiasing (supported only for positive ``width``). The larger the value of ``point_count``, the smoother the curve. See also :ref:`draw_circle<class_CanvasItem_method_draw_circle>`.
+
+If ``width`` is negative, then the arc is drawn using :ref:`RenderingServer.PRIMITIVE_LINE_STRIP<class_RenderingServer_constant_PRIMITIVE_LINE_STRIP>`. This means that when the CanvasItem is scaled, the arc will remain thin. If this behavior is not desired, then pass a positive ``width`` like ``1.0``.
+
+The arc is drawn from ``start_angle`` towards the value of ``end_angle`` so in clockwise direction if ``start_angle < end_angle`` and counter-clockwise otherwise. Passing the same angles but in reversed order will produce the same arc. If absolute difference of ``start_angle`` and ``end_angle`` is greater than :ref:`@GDScript.TAU<class_@GDScript_constant_TAU>` radians, then a full circle arc is drawn (i.e. arc will not overlap itself).
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -860,10 +864,12 @@ Draws a colored polygon of any number of points, convex or concave. Unlike :ref:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **draw_dashed_line** **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`float<class_float>` dash=2.0 **)**
+void **draw_dashed_line** **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=-1.0, :ref:`float<class_float>` dash=2.0, :ref:`bool<class_bool>` aligned=true **)**
 
 
 Draws a dashed line from a 2D point to another, with a given color and width. See also :ref:`draw_multiline<class_CanvasItem_method_draw_multiline>` and :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>`.
 Draws a dashed line from a 2D point to another, with a given color and width. See also :ref:`draw_multiline<class_CanvasItem_method_draw_multiline>` and :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>`.
 
 
+If ``width`` is negative, then a two-point primitives will be drawn instead of a four-point ones. This means that when the CanvasItem is scaled, the line parts will remain thin. If this behavior is not desired, then pass a positive ``width`` like ``1.0``.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -905,10 +911,12 @@ Texture is drawn using the following blend operation, blend mode of the :ref:`Ca
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **draw_line** **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
+void **draw_line** **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=-1.0, :ref:`bool<class_bool>` antialiased=false **)**
 
 
 Draws a line from a 2D point to another, with a given color and width. It can be optionally antialiased. See also :ref:`draw_multiline<class_CanvasItem_method_draw_multiline>` and :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>`.
 Draws a line from a 2D point to another, with a given color and width. It can be optionally antialiased. See also :ref:`draw_multiline<class_CanvasItem_method_draw_multiline>` and :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>`.
 
 
+If ``width`` is negative, then a two-point primitive will be drawn instead of a four-point one. This means that when the CanvasItem is scaled, the line will remain thin. If this behavior is not desired, then pass a positive ``width`` like ``1.0``.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -945,10 +953,12 @@ Value of the ``pixel_range`` should the same that was used during distance field
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **draw_multiline** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0 **)**
+void **draw_multiline** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=-1.0 **)**
 
 
 Draws multiple disconnected lines with a uniform ``color``. When drawing large amounts of lines, this is faster than using individual :ref:`draw_line<class_CanvasItem_method_draw_line>` calls. To draw interconnected lines, use :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>` instead.
 Draws multiple disconnected lines with a uniform ``color``. When drawing large amounts of lines, this is faster than using individual :ref:`draw_line<class_CanvasItem_method_draw_line>` calls. To draw interconnected lines, use :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>` instead.
 
 
+If ``width`` is negative, then two-point primitives will be drawn instead of a four-point ones. This means that when the CanvasItem is scaled, the lines will remain thin. If this behavior is not desired, then pass a positive ``width`` like ``1.0``.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -957,10 +967,12 @@ Draws multiple disconnected lines with a uniform ``color``. When drawing large a
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **draw_multiline_colors** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=1.0 **)**
+void **draw_multiline_colors** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=-1.0 **)**
 
 
 Draws multiple disconnected lines with a uniform ``width`` and segment-by-segment coloring. Colors assigned to line segments match by index between ``points`` and ``colors``. When drawing large amounts of lines, this is faster than using individual :ref:`draw_line<class_CanvasItem_method_draw_line>` calls. To draw interconnected lines, use :ref:`draw_polyline_colors<class_CanvasItem_method_draw_polyline_colors>` instead.
 Draws multiple disconnected lines with a uniform ``width`` and segment-by-segment coloring. Colors assigned to line segments match by index between ``points`` and ``colors``. When drawing large amounts of lines, this is faster than using individual :ref:`draw_line<class_CanvasItem_method_draw_line>` calls. To draw interconnected lines, use :ref:`draw_polyline_colors<class_CanvasItem_method_draw_polyline_colors>` instead.
 
 
+If ``width`` is negative, then two-point primitives will be drawn instead of a four-point ones. This means that when the CanvasItem is scaled, the lines will remain thin. If this behavior is not desired, then pass a positive ``width`` like ``1.0``.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -1017,9 +1029,11 @@ Draws a solid polygon of any number of points, convex or concave. Unlike :ref:`d
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **draw_polyline** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
+void **draw_polyline** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=-1.0, :ref:`bool<class_bool>` antialiased=false **)**
+
+Draws interconnected line segments with a uniform ``color`` and ``width`` and optional antialiasing (supported only for positive ``width``). When drawing large amounts of lines, this is faster than using individual :ref:`draw_line<class_CanvasItem_method_draw_line>` calls. To draw disconnected lines, use :ref:`draw_multiline<class_CanvasItem_method_draw_multiline>` instead. See also :ref:`draw_polygon<class_CanvasItem_method_draw_polygon>`.
 
 
-Draws interconnected line segments with a uniform ``color`` and ``width`` and optional antialiasing. When drawing large amounts of lines, this is faster than using individual :ref:`draw_line<class_CanvasItem_method_draw_line>` calls. To draw disconnected lines, use :ref:`draw_multiline<class_CanvasItem_method_draw_multiline>` instead. See also :ref:`draw_polygon<class_CanvasItem_method_draw_polygon>`.
+If ``width`` is negative, the polyline is drawn using :ref:`RenderingServer.PRIMITIVE_LINE_STRIP<class_RenderingServer_constant_PRIMITIVE_LINE_STRIP>`. This means that when the CanvasItem is scaled, the polyline will remain thin. If this behavior is not desired, then pass a positive ``width`` like ``1.0``.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -1029,9 +1043,11 @@ Draws interconnected line segments with a uniform ``color`` and ``width`` and op
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **draw_polyline_colors** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
+void **draw_polyline_colors** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=-1.0, :ref:`bool<class_bool>` antialiased=false **)**
+
+Draws interconnected line segments with a uniform ``width`` and segment-by-segment coloring, and optional antialiasing (supported only for positive ``width``). Colors assigned to line segments match by index between ``points`` and ``colors``. When drawing large amounts of lines, this is faster than using individual :ref:`draw_line<class_CanvasItem_method_draw_line>` calls. To draw disconnected lines, use :ref:`draw_multiline_colors<class_CanvasItem_method_draw_multiline_colors>` instead. See also :ref:`draw_polygon<class_CanvasItem_method_draw_polygon>`.
 
 
-Draws interconnected line segments with a uniform ``width`` and segment-by-segment coloring, and optional antialiasing. Colors assigned to line segments match by index between ``points`` and ``colors``. When drawing large amounts of lines, this is faster than using individual :ref:`draw_line<class_CanvasItem_method_draw_line>` calls. To draw disconnected lines, use :ref:`draw_multiline_colors<class_CanvasItem_method_draw_multiline_colors>` instead. See also :ref:`draw_polygon<class_CanvasItem_method_draw_polygon>`.
+If ``width`` is negative, then the polyline is drawn using :ref:`RenderingServer.PRIMITIVE_LINE_STRIP<class_RenderingServer_constant_PRIMITIVE_LINE_STRIP>`. This means that when the CanvasItem is scaled, the polyline will remain thin. If this behavior is not desired, then pass a positive ``width`` like ``1.0``.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -1041,7 +1057,7 @@ Draws interconnected line segments with a uniform ``width`` and segment-by-segme
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **draw_primitive** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs, :ref:`Texture2D<class_Texture2D>` texture=null, :ref:`float<class_float>` width=1.0 **)**
+void **draw_primitive** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs, :ref:`Texture2D<class_Texture2D>` texture=null **)**
 
 
 Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points for a triangle, and 4 points for a quad. If 0 points or more than 4 points are specified, nothing will be drawn and an error message will be printed. See also :ref:`draw_line<class_CanvasItem_method_draw_line>`, :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>`, :ref:`draw_polygon<class_CanvasItem_method_draw_polygon>`, and :ref:`draw_rect<class_CanvasItem_method_draw_rect>`.
 Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points for a triangle, and 4 points for a quad. If 0 points or more than 4 points are specified, nothing will be drawn and an error message will be printed. See also :ref:`draw_line<class_CanvasItem_method_draw_line>`, :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>`, :ref:`draw_polygon<class_CanvasItem_method_draw_polygon>`, and :ref:`draw_rect<class_CanvasItem_method_draw_rect>`.
 
 
@@ -1053,12 +1069,16 @@ Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points for
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **draw_rect** **(** :ref:`Rect2<class_Rect2>` rect, :ref:`Color<class_Color>` color, :ref:`bool<class_bool>` filled=true, :ref:`float<class_float>` width=1.0 **)**
+void **draw_rect** **(** :ref:`Rect2<class_Rect2>` rect, :ref:`Color<class_Color>` color, :ref:`bool<class_bool>` filled=true, :ref:`float<class_float>` width=-1.0 **)**
 
 
 Draws a rectangle. If ``filled`` is ``true``, the rectangle will be filled with the ``color`` specified. If ``filled`` is ``false``, the rectangle will be drawn as a stroke with the ``color`` and ``width`` specified.
 Draws a rectangle. If ``filled`` is ``true``, the rectangle will be filled with the ``color`` specified. If ``filled`` is ``false``, the rectangle will be drawn as a stroke with the ``color`` and ``width`` specified.
 
 
+If ``width`` is negative, then two-point primitives will be drawn instead of a four-point ones. This means that when the CanvasItem is scaled, the lines will remain thin. If this behavior is not desired, then pass a positive ``width`` like ``1.0``.
+
 \ **Note:** ``width`` is only effective if ``filled`` is ``false``.
 \ **Note:** ``width`` is only effective if ``filled`` is ``false``.
 
 
+\ **Note:** Unfilled rectangles drawn with a negative ``width`` may not display perfectly. For example, corners may be missing or brighter due to overlapping lines (for a translucent ``color``).
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----

+ 4 - 2
classes/class_characterbody3d.rst

@@ -21,9 +21,11 @@ Description
 
 
 Character bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all; to other types of bodies, such as a rigid body, these are the same as a :ref:`AnimatableBody3D<class_AnimatableBody3D>`. However, they have two main uses:
 Character bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all; to other types of bodies, such as a rigid body, these are the same as a :ref:`AnimatableBody3D<class_AnimatableBody3D>`. However, they have two main uses:
 
 
-\ **Kinematic characters:** Character bodies have an API for moving objects with walls and slopes detection (:ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>` method), in addition to collision detection (also done with :ref:`PhysicsBody3D.move_and_collide<class_PhysicsBody3D_method_move_and_collide>`). This makes them really useful to implement characters that move in specific ways and collide with the world, but don't require advanced physics.
+\ *Kinematic characters:* Character bodies have an API for moving objects with walls and slopes detection (:ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>` method), in addition to collision detection (also done with :ref:`PhysicsBody3D.move_and_collide<class_PhysicsBody3D_method_move_and_collide>`). This makes them really useful to implement characters that move in specific ways and collide with the world, but don't require advanced physics.
 
 
-\ **Kinematic motion:** Character bodies can also be used for kinematic motion (same functionality as :ref:`AnimatableBody3D<class_AnimatableBody3D>`), which allows them to be moved by code and push other bodies on their path.
+\ *Kinematic motion:* Character bodies can also be used for kinematic motion (same functionality as :ref:`AnimatableBody3D<class_AnimatableBody3D>`), which allows them to be moved by code and push other bodies on their path.
+
+\ **Warning:** With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
 
 
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 

+ 1 - 15
classes/class_codeedit.rst

@@ -118,8 +118,6 @@ Methods
    +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                            | :ref:`do_indent<class_CodeEdit_method_do_indent>` **(** **)**                                                                                                                                                                                                                                                                                                                                 |
    | void                                            | :ref:`do_indent<class_CodeEdit_method_do_indent>` **(** **)**                                                                                                                                                                                                                                                                                                                                 |
    +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                            | :ref:`do_unindent<class_CodeEdit_method_do_unindent>` **(** **)**                                                                                                                                                                                                                                                                                                                             |
-   +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                            | :ref:`fold_all_lines<class_CodeEdit_method_fold_all_lines>` **(** **)**                                                                                                                                                                                                                                                                                                                       |
    | void                                            | :ref:`fold_all_lines<class_CodeEdit_method_fold_all_lines>` **(** **)**                                                                                                                                                                                                                                                                                                                       |
    +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                            | :ref:`fold_line<class_CodeEdit_method_fold_line>` **(** :ref:`int<class_int>` line **)**                                                                                                                                                                                                                                                                                                      |
    | void                                            | :ref:`fold_line<class_CodeEdit_method_fold_line>` **(** :ref:`int<class_int>` line **)**                                                                                                                                                                                                                                                                                                      |
@@ -1013,18 +1011,6 @@ Perform an indent as if the user activated the "ui_text_indent" action.
 
 
 ----
 ----
 
 
-.. _class_CodeEdit_method_do_unindent:
-
-.. rst-class:: classref-method
-
-void **do_unindent** **(** **)**
-
-Perform an unindent as if the user activated the "ui_text_unindent" action.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_CodeEdit_method_fold_all_lines:
 .. _class_CodeEdit_method_fold_all_lines:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -1523,7 +1509,7 @@ Unfolds all lines that were previously folded.
 
 
 void **unindent_lines** **(** **)**
 void **unindent_lines** **(** **)**
 
 
-Unindents selected lines, or in the case of no selection the caret line by one.
+Unindents selected lines, or in the case of no selection the caret line by one. Same as performing "ui_text_unindent" action.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 5 - 3
classes/class_collisionobject3d.rst

@@ -23,6 +23,8 @@ Description
 
 
 CollisionObject3D is the base class for physics objects. It can hold any number of collision :ref:`Shape3D<class_Shape3D>`\ s. Each shape must be assigned to a *shape owner*. The CollisionObject3D can have any number of shape owners. Shape owners are not nodes and do not appear in the editor, but are accessible through code using the ``shape_owner_*`` methods.
 CollisionObject3D is the base class for physics objects. It can hold any number of collision :ref:`Shape3D<class_Shape3D>`\ s. Each shape must be assigned to a *shape owner*. The CollisionObject3D can have any number of shape owners. Shape owners are not nodes and do not appear in the editor, but are accessible through code using the ``shape_owner_*`` methods.
 
 
+\ **Warning:** With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
+
 .. rst-class:: classref-reftable-group
 .. rst-class:: classref-reftable-group
 
 
 Properties
 Properties
@@ -130,7 +132,7 @@ Emitted when the object receives an unhandled :ref:`InputEvent<class_InputEvent>
 
 
 Emitted when the mouse pointer enters any of this object's shapes. Requires :ref:`input_ray_pickable<class_CollisionObject3D_property_input_ray_pickable>` to be ``true`` and at least one :ref:`collision_layer<class_CollisionObject3D_property_collision_layer>` bit to be set.
 Emitted when the mouse pointer enters any of this object's shapes. Requires :ref:`input_ray_pickable<class_CollisionObject3D_property_input_ray_pickable>` to be ``true`` and at least one :ref:`collision_layer<class_CollisionObject3D_property_collision_layer>` bit to be set.
 
 
-\ **Note:** Due to the lack of continuous collision detection, this signal may not be emitted in the expected order if the mouse moves fast enough and the :ref:`CollisionObject2D<class_CollisionObject2D>`'s area is small. This signal may also not be emitted if another :ref:`CollisionObject2D<class_CollisionObject2D>` is overlapping the :ref:`CollisionObject2D<class_CollisionObject2D>` in question.
+\ **Note:** Due to the lack of continuous collision detection, this signal may not be emitted in the expected order if the mouse moves fast enough and the **CollisionObject3D**'s area is small. This signal may also not be emitted if another **CollisionObject3D** is overlapping the **CollisionObject3D** in question.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -144,7 +146,7 @@ Emitted when the mouse pointer enters any of this object's shapes. Requires :ref
 
 
 Emitted when the mouse pointer exits all this object's shapes. Requires :ref:`input_ray_pickable<class_CollisionObject3D_property_input_ray_pickable>` to be ``true`` and at least one :ref:`collision_layer<class_CollisionObject3D_property_collision_layer>` bit to be set.
 Emitted when the mouse pointer exits all this object's shapes. Requires :ref:`input_ray_pickable<class_CollisionObject3D_property_input_ray_pickable>` to be ``true`` and at least one :ref:`collision_layer<class_CollisionObject3D_property_collision_layer>` bit to be set.
 
 
-\ **Note:** Due to the lack of continuous collision detection, this signal may not be emitted in the expected order if the mouse moves fast enough and the :ref:`CollisionObject2D<class_CollisionObject2D>`'s area is small. This signal may also not be emitted if another :ref:`CollisionObject2D<class_CollisionObject2D>` is overlapping the :ref:`CollisionObject2D<class_CollisionObject2D>` in question.
+\ **Note:** Due to the lack of continuous collision detection, this signal may not be emitted in the expected order if the mouse moves fast enough and the **CollisionObject3D**'s area is small. This signal may also not be emitted if another **CollisionObject3D** is overlapping the **CollisionObject3D** in question.
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -177,7 +179,7 @@ Automatically re-added to the physics simulation when the :ref:`Node<class_Node>
 
 
 :ref:`DisableMode<enum_CollisionObject3D_DisableMode>` **DISABLE_MODE_MAKE_STATIC** = ``1``
 :ref:`DisableMode<enum_CollisionObject3D_DisableMode>` **DISABLE_MODE_MAKE_STATIC** = ``1``
 
 
-When :ref:`Node.process_mode<class_Node_property_process_mode>` is set to :ref:`Node.PROCESS_MODE_DISABLED<class_Node_constant_PROCESS_MODE_DISABLED>`, make the body static. Doesn't affect :ref:`Area2D<class_Area2D>`. :ref:`PhysicsBody3D<class_PhysicsBody3D>` can't be affected by forces or other bodies while static.
+When :ref:`Node.process_mode<class_Node_property_process_mode>` is set to :ref:`Node.PROCESS_MODE_DISABLED<class_Node_constant_PROCESS_MODE_DISABLED>`, make the body static. Doesn't affect :ref:`Area3D<class_Area3D>`. :ref:`PhysicsBody3D<class_PhysicsBody3D>` can't be affected by forces or other bodies while static.
 
 
 Automatically set :ref:`PhysicsBody3D<class_PhysicsBody3D>` back to its original mode when the :ref:`Node<class_Node>` is processed again.
 Automatically set :ref:`PhysicsBody3D<class_PhysicsBody3D>` back to its original mode when the :ref:`Node<class_Node>` is processed again.
 
 

+ 2 - 0
classes/class_collisionpolygon3d.rst

@@ -23,6 +23,8 @@ Allows editing a concave or convex collision polygon's vertices on a selected pl
 
 
 \ **Note:** Since this is an editor-only helper, properties modified during gameplay will have no effect.
 \ **Note:** Since this is an editor-only helper, properties modified during gameplay will have no effect.
 
 
+\ **Warning:** A non-uniformly scaled CollisionPolygon3D node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change its :ref:`polygon<class_CollisionPolygon3D_property_polygon>`'s vertices instead.
+
 .. rst-class:: classref-reftable-group
 .. rst-class:: classref-reftable-group
 
 
 Properties
 Properties

+ 2 - 0
classes/class_collisionshape3d.rst

@@ -23,6 +23,8 @@ Editor facility for creating and editing collision shapes in 3D space. Set the :
 
 
 You can use this node to represent all sorts of collision shapes, for example, add this to an :ref:`Area3D<class_Area3D>` to give it a detection shape, or add it to a :ref:`PhysicsBody3D<class_PhysicsBody3D>` to create a solid object.
 You can use this node to represent all sorts of collision shapes, for example, add this to an :ref:`Area3D<class_Area3D>` to give it a detection shape, or add it to a :ref:`PhysicsBody3D<class_PhysicsBody3D>` to create a solid object.
 
 
+\ **Warning:** A non-uniformly scaled CollisionShape3D node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size of its :ref:`shape<class_CollisionShape3D_property_shape>` resource instead.
+
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 
 Tutorials
 Tutorials

+ 1 - 1
classes/class_color.rst

@@ -1635,7 +1635,7 @@ Method Descriptions
 
 
 :ref:`Color<class_Color>` **blend** **(** :ref:`Color<class_Color>` over **)** |const|
 :ref:`Color<class_Color>` **blend** **(** :ref:`Color<class_Color>` over **)** |const|
 
 
-Returns a new color resulting from overlaying this color over the given color. In a painting program, you can imagine it as the ``over`` color painted over this colour (including alpha).
+Returns a new color resulting from overlaying this color over the given color. In a painting program, you can imagine it as the ``over`` color painted over this color (including alpha).
 
 
 
 
 .. tabs::
 .. tabs::

+ 2 - 2
classes/class_confirmationdialog.rst

@@ -30,11 +30,11 @@ To get cancel action, you can use:
 
 
  .. code-tab:: gdscript
  .. code-tab:: gdscript
 
 
-    get_cancel_button().pressed.connect(self.cancelled)
+    get_cancel_button().pressed.connect(self.canceled)
 
 
  .. code-tab:: csharp
  .. code-tab:: csharp
 
 
-    GetCancelButton().Pressed += Cancelled;
+    GetCancelButton().Pressed += Canceled;
 
 
 
 
 
 

+ 19 - 9
classes/class_control.rst

@@ -165,7 +165,7 @@ Methods
    +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Object<class_Object>`                  | :ref:`_make_custom_tooltip<class_Control_method__make_custom_tooltip>` **(** :ref:`String<class_String>` for_text **)** |virtual| |const|                                                                                                                          |
    | :ref:`Object<class_Object>`                  | :ref:`_make_custom_tooltip<class_Control_method__make_custom_tooltip>` **(** :ref:`String<class_String>` for_text **)** |virtual| |const|                                                                                                                          |
    +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Vector2i[]<class_Vector2i>`            | :ref:`_structured_text_parser<class_Control_method__structured_text_parser>` **(** :ref:`Array<class_Array>` args, :ref:`String<class_String>` text **)** |virtual| |const|                                                                                        |
+   | :ref:`Vector3i[]<class_Vector3i>`            | :ref:`_structured_text_parser<class_Control_method__structured_text_parser>` **(** :ref:`Array<class_Array>` args, :ref:`String<class_String>` text **)** |virtual| |const|                                                                                        |
    +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                         | :ref:`accept_event<class_Control_method_accept_event>` **(** **)**                                                                                                                                                                                                 |
    | void                                         | :ref:`accept_event<class_Control_method_accept_event>` **(** **)**                                                                                                                                                                                                 |
    +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -1632,7 +1632,7 @@ By default, the node's pivot is its top-left corner. When you change its :ref:`r
 
 
 - :ref:`Vector2<class_Vector2>` **get_position** **(** **)**
 - :ref:`Vector2<class_Vector2>` **get_position** **(** **)**
 
 
-The node's position, relative to its parent. It corresponds to the rectangle's top-left corner. The property is not affected by :ref:`pivot_offset<class_Control_property_pivot_offset>`.
+The node's position, relative to its containing node. It corresponds to the rectangle's top-left corner. The property is not affected by :ref:`pivot_offset<class_Control_property_pivot_offset>`.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -1720,7 +1720,7 @@ The :ref:`Node<class_Node>` which must be a parent of the focused **Control** fo
 
 
 - :ref:`Vector2<class_Vector2>` **get_size** **(** **)**
 - :ref:`Vector2<class_Vector2>` **get_size** **(** **)**
 
 
-The size of the node's bounding rectangle, in pixels. :ref:`Container<class_Container>` nodes update this property automatically.
+The size of the node's bounding rectangle, in the node's coordinate system. :ref:`Container<class_Container>` nodes update this property automatically.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -2104,7 +2104,7 @@ The returned node will be added as child to a :ref:`PopupPanel<class_PopupPanel>
  .. code-tab:: gdscript
  .. code-tab:: gdscript
 
 
     func _make_custom_tooltip(for_text):
     func _make_custom_tooltip(for_text):
-        var tooltip = preload("res://SomeTooltipScene.tscn").instantiate()
+        var tooltip = preload("res://some_tooltip_scene.tscn").instantiate()
         tooltip.get_node("Label").text = for_text
         tooltip.get_node("Label").text = for_text
         return tooltip
         return tooltip
 
 
@@ -2112,7 +2112,7 @@ The returned node will be added as child to a :ref:`PopupPanel<class_PopupPanel>
 
 
     public override Godot.Control _MakeCustomTooltip(String forText)
     public override Godot.Control _MakeCustomTooltip(String forText)
     {
     {
-        Node tooltip = ResourceLoader.Load<PackedScene>("res://SomeTooltipScene.tscn").Instantiate();
+        Node tooltip = ResourceLoader.Load<PackedScene>("res://some_tooltip_scene.tscn").Instantiate();
         tooltip.GetNode<Label>("Label").Text = forText;
         tooltip.GetNode<Label>("Label").Text = forText;
         return tooltip;
         return tooltip;
     }
     }
@@ -2127,11 +2127,11 @@ The returned node will be added as child to a :ref:`PopupPanel<class_PopupPanel>
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`Vector2i[]<class_Vector2i>` **_structured_text_parser** **(** :ref:`Array<class_Array>` args, :ref:`String<class_String>` text **)** |virtual| |const|
+:ref:`Vector3i[]<class_Vector3i>` **_structured_text_parser** **(** :ref:`Array<class_Array>` args, :ref:`String<class_String>` text **)** |virtual| |const|
 
 
 User defined BiDi algorithm override function.
 User defined BiDi algorithm override function.
 
 
-Returns an :ref:`Array<class_Array>` of :ref:`Vector2i<class_Vector2i>` text ranges, in the left-to-right order. Ranges should cover full source ``text`` without overlaps. BiDi algorithm will be used on each range separately.
+Returns an :ref:`Array<class_Array>` of :ref:`Vector3i<class_Vector3i>` text ranges and text base directions, in the left-to-right order. Ranges should cover full source ``text`` without overlaps. BiDi algorithm will be used on each range separately.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -2429,7 +2429,11 @@ Returns the focus neighbor for the specified :ref:`Side<enum_@GlobalScope_Side>`
 
 
 :ref:`Rect2<class_Rect2>` **get_global_rect** **(** **)** |const|
 :ref:`Rect2<class_Rect2>` **get_global_rect** **(** **)** |const|
 
 
-Returns the position and size of the control relative to the :ref:`CanvasLayer<class_CanvasLayer>`. See :ref:`global_position<class_Control_property_global_position>` and :ref:`size<class_Control_property_size>`.
+Returns the position and size of the control relative to the containing canvas. See :ref:`global_position<class_Control_property_global_position>` and :ref:`size<class_Control_property_size>`.
+
+\ **Note:** If the node itself or any parent :ref:`CanvasItem<class_CanvasItem>` between the node and the canvas have a non default rotation or skew, the resulting size is likely not meaningful.
+
+\ **Note:** Setting :ref:`Viewport.gui_snap_controls_to_pixels<class_Viewport_property_gui_snap_controls_to_pixels>` to ``true`` can lead to rounding inaccuracies between the displayed control and the returned :ref:`Rect2<class_Rect2>`.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -2489,7 +2493,11 @@ Returns the parent control node.
 
 
 :ref:`Rect2<class_Rect2>` **get_rect** **(** **)** |const|
 :ref:`Rect2<class_Rect2>` **get_rect** **(** **)** |const|
 
 
-Returns the position and size of the control relative to the top-left corner of the parent Control. See :ref:`position<class_Control_property_position>` and :ref:`size<class_Control_property_size>`.
+Returns the position and size of the control in the coordinate system of the containing node. See :ref:`position<class_Control_property_position>`, :ref:`scale<class_Control_property_scale>` and :ref:`size<class_Control_property_size>`.
+
+\ **Note:** If :ref:`rotation<class_Control_property_rotation>` is not the default rotation, the resulting size is not meaningful.
+
+\ **Note:** Setting :ref:`Viewport.gui_snap_controls_to_pixels<class_Viewport_property_gui_snap_controls_to_pixels>` to ``true`` can lead to rounding inaccuracies between the displayed control and the returned :ref:`Rect2<class_Rect2>`.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -3265,6 +3273,8 @@ void **warp_mouse** **(** :ref:`Vector2<class_Vector2>` position **)**
 
 
 Moves the mouse cursor to ``position``, relative to :ref:`position<class_Control_property_position>` of this **Control**.
 Moves the mouse cursor to ``position``, relative to :ref:`position<class_Control_property_position>` of this **Control**.
 
 
+\ **Note:** :ref:`warp_mouse<class_Control_method_warp_mouse>` is only supported on Windows, macOS and Linux. It has no effect on Android, iOS and Web.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 1 - 1
classes/class_convexpolygonshape3d.rst

@@ -19,7 +19,7 @@ Convex polygon shape resource for 3D physics.
 Description
 Description
 -----------
 -----------
 
 
-3D convex polygon shape resource to be added as a *direct* child of a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`Area3D<class_Area3D>` using a :ref:`CollisionShape3D<class_CollisionShape3D>` node. Unlike :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>`, **ConvexPolygonShape3D** cannot store concave polygon shapes. :ref:`ConvexPolygonShape2D<class_ConvexPolygonShape2D>`\ s can be manually drawn in the editor using the :ref:`CollisionPolygon3D<class_CollisionPolygon3D>` node.
+3D convex polygon shape resource to be added as a *direct* child of a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`Area3D<class_Area3D>` using a :ref:`CollisionShape3D<class_CollisionShape3D>` node. Unlike :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>`, **ConvexPolygonShape3D** cannot store concave polygon shapes. **ConvexPolygonShape3D**\ s can be manually drawn in the editor using the :ref:`CollisionPolygon3D<class_CollisionPolygon3D>` node.
 
 
 \ **Convex decomposition:** Concave objects' collisions can be represented accurately using *several* **ConvexPolygonShape3D**\ s. This allows dynamic physics bodies to have complex concave collisions (at a performance cost). This is available in the editor by selecting the :ref:`MeshInstance3D<class_MeshInstance3D>`, going to the **Mesh** menu and choosing **Create Multiple Convex Collision Siblings**. Alternatively, :ref:`MeshInstance3D.create_multiple_convex_collisions<class_MeshInstance3D_method_create_multiple_convex_collisions>` can be called in a script to perform this decomposition at run-time.
 \ **Convex decomposition:** Concave objects' collisions can be represented accurately using *several* **ConvexPolygonShape3D**\ s. This allows dynamic physics bodies to have complex concave collisions (at a performance cost). This is available in the editor by selecting the :ref:`MeshInstance3D<class_MeshInstance3D>`, going to the **Mesh** menu and choosing **Create Multiple Convex Collision Siblings**. Alternatively, :ref:`MeshInstance3D.create_multiple_convex_collisions<class_MeshInstance3D_method_create_multiple_convex_collisions>` can be called in a script to perform this decomposition at run-time.
 
 

+ 29 - 0
classes/class_cubemap.rst

@@ -27,6 +27,35 @@ To create such a texture file yourself, reimport your image files using the Godo
 
 
 \ **Note:** Godot doesn't support using cubemaps in a :ref:`PanoramaSkyMaterial<class_PanoramaSkyMaterial>`. You can use `this tool <https://danilw.github.io/GLSL-howto/cubemap_to_panorama_js/cubemap_to_panorama.html>`__ to convert a cubemap to an equirectangular sky map.
 \ **Note:** Godot doesn't support using cubemaps in a :ref:`PanoramaSkyMaterial<class_PanoramaSkyMaterial>`. You can use `this tool <https://danilw.github.io/GLSL-howto/cubemap_to_panorama_js/cubemap_to_panorama.html>`__ to convert a cubemap to an equirectangular sky map.
 
 
+.. rst-class:: classref-reftable-group
+
+Methods
+-------
+
+.. table::
+   :widths: auto
+
+   +---------------------------------+----------------------------------------------------------------------------------------+
+   | :ref:`Resource<class_Resource>` | :ref:`create_placeholder<class_Cubemap_method_create_placeholder>` **(** **)** |const| |
+   +---------------------------------+----------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Method Descriptions
+-------------------
+
+.. _class_Cubemap_method_create_placeholder:
+
+.. rst-class:: classref-method
+
+:ref:`Resource<class_Resource>` **create_placeholder** **(** **)** |const|
+
+Creates a placeholder version of this resource (:ref:`PlaceholderCubemap<class_PlaceholderCubemap>`).
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 29 - 0
classes/class_cubemaparray.rst

@@ -29,6 +29,35 @@ To create such a texture file yourself, reimport your image files using the Godo
 
 
 \ **Note:** **CubemapArray** is not supported in the OpenGL 3 rendering backend.
 \ **Note:** **CubemapArray** is not supported in the OpenGL 3 rendering backend.
 
 
+.. rst-class:: classref-reftable-group
+
+Methods
+-------
+
+.. table::
+   :widths: auto
+
+   +---------------------------------+---------------------------------------------------------------------------------------------+
+   | :ref:`Resource<class_Resource>` | :ref:`create_placeholder<class_CubemapArray_method_create_placeholder>` **(** **)** |const| |
+   +---------------------------------+---------------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Method Descriptions
+-------------------
+
+.. _class_CubemapArray_method_create_placeholder:
+
+.. rst-class:: classref-method
+
+:ref:`Resource<class_Resource>` **create_placeholder** **(** **)** |const|
+
+Creates a placeholder version of this resource (:ref:`PlaceholderCubemapArray<class_PlaceholderCubemapArray>`).
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 2 - 2
classes/class_curve2d.rst

@@ -379,9 +379,9 @@ This approximation makes straight segments between each point, then subdivides t
 
 
 :ref:`PackedVector2Array<class_PackedVector2Array>` **tessellate_even_length** **(** :ref:`int<class_int>` max_stages=5, :ref:`float<class_float>` tolerance_length=20.0 **)** |const|
 :ref:`PackedVector2Array<class_PackedVector2Array>` **tessellate_even_length** **(** :ref:`int<class_int>` max_stages=5, :ref:`float<class_float>` tolerance_length=20.0 **)** |const|
 
 
-.. container:: contribute
+Returns a list of points along the curve, with almost uniform density. ``max_stages`` controls how many subdivisions a curve segment may face before it is considered approximate enough. Each subdivision splits the segment in half, so the default 5 stages may mean up to 32 subdivisions per curve segment. Increase with care!
 
 
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ ``tolerance_length`` controls the maximal distance between two neighboring points, before the segment has to be subdivided.
 
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 1 - 1
classes/class_curve3d.rst

@@ -472,7 +472,7 @@ This approximation makes straight segments between each point, then subdivides t
 
 
 Returns a list of points along the curve, with almost uniform density. ``max_stages`` controls how many subdivisions a curve segment may face before it is considered approximate enough. Each subdivision splits the segment in half, so the default 5 stages may mean up to 32 subdivisions per curve segment. Increase with care!
 Returns a list of points along the curve, with almost uniform density. ``max_stages`` controls how many subdivisions a curve segment may face before it is considered approximate enough. Each subdivision splits the segment in half, so the default 5 stages may mean up to 32 subdivisions per curve segment. Increase with care!
 
 
-\ ``tolerance_length`` controls the maximal distance between two neighbouring points, before the segment has to be subdivided.
+\ ``tolerance_length`` controls the maximal distance between two neighboring points, before the segment has to be subdivided.
 
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 29 - 1
classes/class_dictionary.rst

@@ -68,7 +68,7 @@ You can access a dictionary's value by referencing its corresponding key. In the
 
 
  .. code-tab:: gdscript
  .. code-tab:: gdscript
 
 
-    @export(String, "White", "Yellow", "Orange") var my_color
+    @export_enum("White", "Yellow", "Orange") var my_color: String
     var points_dict = {"White": 50, "Yellow": 75, "Orange": 100}
     var points_dict = {"White": 50, "Yellow": 75, "Orange": 100}
     func _ready():
     func _ready():
         # We can't use dot syntax here as `my_color` is a variable.
         # We can't use dot syntax here as `my_color` is a variable.
@@ -243,8 +243,12 @@ Methods
    +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`             | :ref:`is_empty<class_Dictionary_method_is_empty>` **(** **)** |const|                                                                           |
    | :ref:`bool<class_bool>`             | :ref:`is_empty<class_Dictionary_method_is_empty>` **(** **)** |const|                                                                           |
    +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`             | :ref:`is_read_only<class_Dictionary_method_is_read_only>` **(** **)** |const|                                                                   |
+   +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Array<class_Array>`           | :ref:`keys<class_Dictionary_method_keys>` **(** **)** |const|                                                                                   |
    | :ref:`Array<class_Array>`           | :ref:`keys<class_Dictionary_method_keys>` **(** **)** |const|                                                                                   |
    +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                | :ref:`make_read_only<class_Dictionary_method_make_read_only>` **(** **)**                                                                       |
+   +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                | :ref:`merge<class_Dictionary_method_merge>` **(** :ref:`Dictionary<class_Dictionary>` dictionary, :ref:`bool<class_bool>` overwrite=false **)** |
    | void                                | :ref:`merge<class_Dictionary_method_merge>` **(** :ref:`Dictionary<class_Dictionary>` dictionary, :ref:`bool<class_bool>` overwrite=false **)** |
    +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`               | :ref:`size<class_Dictionary_method_size>` **(** **)** |const|                                                                                   |
    | :ref:`int<class_int>`               | :ref:`size<class_Dictionary_method_size>` **(** **)** |const|                                                                                   |
@@ -482,6 +486,18 @@ Returns ``true`` if the dictionary is empty (its size is ``0``). See also :ref:`
 
 
 ----
 ----
 
 
+.. _class_Dictionary_method_is_read_only:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **is_read_only** **(** **)** |const|
+
+Returns ``true`` if the dictionary is read-only. See :ref:`make_read_only<class_Dictionary_method_make_read_only>`. Dictionaries are automatically read-only if declared with ``const`` keyword.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_Dictionary_method_keys:
 .. _class_Dictionary_method_keys:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -494,6 +510,18 @@ Returns the list of keys in the dictionary.
 
 
 ----
 ----
 
 
+.. _class_Dictionary_method_make_read_only:
+
+.. rst-class:: classref-method
+
+void **make_read_only** **(** **)**
+
+Makes the dictionary read-only, i.e. disabled modifying of the dictionary's contents. Does not apply to nested content, e.g. content of nested dicitonaries.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_Dictionary_method_merge:
 .. _class_Dictionary_method_merge:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 13 - 3
classes/class_displayserver.rst

@@ -1006,11 +1006,19 @@ Use :ref:`window_get_safe_title_margins<class_DisplayServer_method_window_get_sa
 
 
 \ **Note:** This flag is implemented on macOS.
 \ **Note:** This flag is implemented on macOS.
 
 
+.. _class_DisplayServer_constant_WINDOW_FLAG_MOUSE_PASSTHROUGH:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`WindowFlags<enum_DisplayServer_WindowFlags>` **WINDOW_FLAG_MOUSE_PASSTHROUGH** = ``7``
+
+All mouse events are passed to the underlying window of the same application.
+
 .. _class_DisplayServer_constant_WINDOW_FLAG_MAX:
 .. _class_DisplayServer_constant_WINDOW_FLAG_MAX:
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`WindowFlags<enum_DisplayServer_WindowFlags>` **WINDOW_FLAG_MAX** = ``7``
+:ref:`WindowFlags<enum_DisplayServer_WindowFlags>` **WINDOW_FLAG_MAX** = ``8``
 
 
 Max value of the :ref:`WindowFlags<enum_DisplayServer_WindowFlags>`.
 Max value of the :ref:`WindowFlags<enum_DisplayServer_WindowFlags>`.
 
 
@@ -3011,6 +3019,8 @@ void **warp_mouse** **(** :ref:`Vector2i<class_Vector2i>` position **)**
 
 
 Sets the mouse cursor position to the given ``position`` relative to an origin at the upper left corner of the currently focused game Window Manager window.
 Sets the mouse cursor position to the given ``position`` relative to an origin at the upper left corner of the currently focused game Window Manager window.
 
 
+\ **Note:** :ref:`warp_mouse<class_DisplayServer_method_warp_mouse>` is only supported on Windows, macOS and Linux. It has no effect on Android, iOS and Web.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -3557,11 +3567,11 @@ Note that behavior might be different depending on the platform.
 
 
 void **window_set_vsync_mode** **(** :ref:`VSyncMode<enum_DisplayServer_VSyncMode>` vsync_mode, :ref:`int<class_int>` window_id=0 **)**
 void **window_set_vsync_mode** **(** :ref:`VSyncMode<enum_DisplayServer_VSyncMode>` vsync_mode, :ref:`int<class_int>` window_id=0 **)**
 
 
-Sets the V-Sync mode of the given window.
+Sets the V-Sync mode of the given window. See also :ref:`ProjectSettings.display/window/vsync/vsync_mode<class_ProjectSettings_property_display/window/vsync/vsync_mode>`.
 
 
 See :ref:`VSyncMode<enum_DisplayServer_VSyncMode>` for possible values and how they affect the behavior of your application.
 See :ref:`VSyncMode<enum_DisplayServer_VSyncMode>` for possible values and how they affect the behavior of your application.
 
 
-Depending on the platform and used renderer, the engine will fall back to :ref:`VSYNC_ENABLED<class_DisplayServer_constant_VSYNC_ENABLED>`, if the desired mode is not supported.
+Depending on the platform and used renderer, the engine will fall back to :ref:`VSYNC_ENABLED<class_DisplayServer_constant_VSYNC_ENABLED>` if the desired mode is not supported.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 2 - 2
classes/class_dtlsserver.rst

@@ -28,7 +28,7 @@ Below a small example of how to use it:
 
 
  .. code-tab:: gdscript
  .. code-tab:: gdscript
 
 
-    # ServerNode.gd
+    # server_node.gd
     extends Node
     extends Node
     
     
     var dtls := DTLSServer.new()
     var dtls := DTLSServer.new()
@@ -111,7 +111,7 @@ Below a small example of how to use it:
 
 
  .. code-tab:: gdscript
  .. code-tab:: gdscript
 
 
-    # ClientNode.gd
+    # client_node.gd
     extends Node
     extends Node
     
     
     var dtls := PacketPeerDTLS.new()
     var dtls := PacketPeerDTLS.new()

+ 1 - 1
classes/class_editorcommandpalette.rst

@@ -37,7 +37,7 @@ Command key names use slash delimiters to distinguish sections, for example: ``"
 
 
     EditorCommandPalette commandPalette = GetEditorInterface().GetCommandPalette();
     EditorCommandPalette commandPalette = GetEditorInterface().GetCommandPalette();
     // ExternalCommand is a function that will be called with the command is executed.
     // ExternalCommand is a function that will be called with the command is executed.
-    Callable commandCallable = new Callable(this, nameof(ExternalCommand));
+    Callable commandCallable = new Callable(this, MethodName.ExternalCommand);
     commandPalette.AddCommand("command", "test/command", commandCallable)
     commandPalette.AddCommand("command", "test/command", commandCallable)
 
 
 
 

+ 9 - 2
classes/class_editorexportplatform.rst

@@ -12,9 +12,16 @@ EditorExportPlatform
 
 
 **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 
-.. container:: contribute
+Identifies a supported export platform, and internally provides the functionality of exporting to that platform.
 
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+Base resource that provides the functionality of exporting a release build of a project to a platform, from the editor. Stores platform-specific metadata such as the name and supported features of the platform, and performs the exporting of projects, PCK files, and ZIP files. Uses an export template for the platform provided at the time of project exporting.
+
+Used in scripting by :ref:`EditorExportPlugin<class_EditorExportPlugin>` to configure platform-specific customization of scenes and resources. See :ref:`EditorExportPlugin._begin_customize_scenes<class_EditorExportPlugin_method__begin_customize_scenes>` and :ref:`EditorExportPlugin._begin_customize_resources<class_EditorExportPlugin_method__begin_customize_resources>` for more details.
 
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 12 - 14
classes/class_editorfilesystem.rst

@@ -50,8 +50,6 @@ Methods
    +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                              | :ref:`update_file<class_EditorFileSystem_method_update_file>` **(** :ref:`String<class_String>` path **)**                              |
    | void                                                              | :ref:`update_file<class_EditorFileSystem_method_update_file>` **(** :ref:`String<class_String>` path **)**                              |
    +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                              | :ref:`update_script_classes<class_EditorFileSystem_method_update_script_classes>` **(** **)**                                           |
-   +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -98,6 +96,18 @@ Emitted if at least one resource is reloaded when the filesystem is scanned.
 
 
 ----
 ----
 
 
+.. _class_EditorFileSystem_signal_script_classes_updated:
+
+.. rst-class:: classref-signal
+
+**script_classes_updated** **(** **)**
+
+Emitted when the list of global script classes gets updated.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorFileSystem_signal_sources_changed:
 .. _class_EditorFileSystem_signal_sources_changed:
 
 
 .. rst-class:: classref-signal
 .. rst-class:: classref-signal
@@ -225,18 +235,6 @@ Add a file in an existing directory, or schedule file information to be updated
 
 
 This will not import the file. To reimport, call :ref:`reimport_files<class_EditorFileSystem_method_reimport_files>` or :ref:`scan<class_EditorFileSystem_method_scan>` methods.
 This will not import the file. To reimport, call :ref:`reimport_files<class_EditorFileSystem_method_reimport_files>` or :ref:`scan<class_EditorFileSystem_method_scan>` methods.
 
 
-.. rst-class:: classref-item-separator
-
-----
-
-.. _class_EditorFileSystem_method_update_script_classes:
-
-.. rst-class:: classref-method
-
-void **update_script_classes** **(** **)**
-
-Scans the script files and updates the list of custom class names.
-
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 35 - 3
classes/class_editorplugin.rst

@@ -103,6 +103,8 @@ Methods
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                      | :ref:`add_node_3d_gizmo_plugin<class_EditorPlugin_method_add_node_3d_gizmo_plugin>` **(** :ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>` plugin **)**                                                                                  |
    | void                                                      | :ref:`add_node_3d_gizmo_plugin<class_EditorPlugin_method_add_node_3d_gizmo_plugin>` **(** :ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>` plugin **)**                                                                                  |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                      | :ref:`add_resource_conversion_plugin<class_EditorPlugin_method_add_resource_conversion_plugin>` **(** :ref:`EditorResourceConversionPlugin<class_EditorResourceConversionPlugin>` plugin **)**                                                        |
+   +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                      | :ref:`add_scene_format_importer_plugin<class_EditorPlugin_method_add_scene_format_importer_plugin>` **(** :ref:`EditorSceneFormatImporter<class_EditorSceneFormatImporter>` scene_format_importer, :ref:`bool<class_bool>` first_priority=false **)** |
    | void                                                      | :ref:`add_scene_format_importer_plugin<class_EditorPlugin_method_add_scene_format_importer_plugin>` **(** :ref:`EditorSceneFormatImporter<class_EditorSceneFormatImporter>` scene_format_importer, :ref:`bool<class_bool>` first_priority=false **)** |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                      | :ref:`add_scene_post_import_plugin<class_EditorPlugin_method_add_scene_post_import_plugin>` **(** :ref:`EditorScenePostImportPlugin<class_EditorScenePostImportPlugin>` scene_import_plugin, :ref:`bool<class_bool>` first_priority=false **)**       |
    | void                                                      | :ref:`add_scene_post_import_plugin<class_EditorPlugin_method_add_scene_post_import_plugin>` **(** :ref:`EditorScenePostImportPlugin<class_EditorScenePostImportPlugin>` scene_import_plugin, :ref:`bool<class_bool>` first_priority=false **)**       |
@@ -149,6 +151,8 @@ Methods
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                      | :ref:`remove_node_3d_gizmo_plugin<class_EditorPlugin_method_remove_node_3d_gizmo_plugin>` **(** :ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>` plugin **)**                                                                            |
    | void                                                      | :ref:`remove_node_3d_gizmo_plugin<class_EditorPlugin_method_remove_node_3d_gizmo_plugin>` **(** :ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>` plugin **)**                                                                            |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                      | :ref:`remove_resource_conversion_plugin<class_EditorPlugin_method_remove_resource_conversion_plugin>` **(** :ref:`EditorResourceConversionPlugin<class_EditorResourceConversionPlugin>` plugin **)**                                                  |
+   +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                      | :ref:`remove_scene_format_importer_plugin<class_EditorPlugin_method_remove_scene_format_importer_plugin>` **(** :ref:`EditorSceneFormatImporter<class_EditorSceneFormatImporter>` scene_format_importer **)**                                         |
    | void                                                      | :ref:`remove_scene_format_importer_plugin<class_EditorPlugin_method_remove_scene_format_importer_plugin>` **(** :ref:`EditorSceneFormatImporter<class_EditorSceneFormatImporter>` scene_format_importer **)**                                         |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                      | :ref:`remove_scene_post_import_plugin<class_EditorPlugin_method_remove_scene_post_import_plugin>` **(** :ref:`EditorScenePostImportPlugin<class_EditorScenePostImportPlugin>` scene_import_plugin **)**                                               |
    | void                                                      | :ref:`remove_scene_post_import_plugin<class_EditorPlugin_method_remove_scene_post_import_plugin>` **(** :ref:`EditorScenePostImportPlugin<class_EditorScenePostImportPlugin>` scene_import_plugin **)**                                               |
@@ -527,6 +531,8 @@ void **_edit** **(** :ref:`Variant<class_Variant>` 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.
 This function is used for plugins that edit specific object types (nodes or resources). It requests the editor to edit the given object.
 
 
+\ ``object`` can be ``null`` if the plugin was editing an object, but there is no longer any selected object handled by this plugin. It can be used to cleanup editing state.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -676,7 +682,7 @@ Called by the engine when the 2D editor's viewport is updated. Use the ``overlay
 
 
     func _forward_canvas_draw_over_viewport(overlay):
     func _forward_canvas_draw_over_viewport(overlay):
         # Draw a circle at cursor position.
         # Draw a circle at cursor position.
-        overlay.draw_circle(overlay.get_local_mouse_position(), 64, Color.white)
+        overlay.draw_circle(overlay.get_local_mouse_position(), 64, Color.WHITE)
     
     
     func _forward_canvas_gui_input(event):
     func _forward_canvas_gui_input(event):
         if event is InputEventMouseMotion:
         if event is InputEventMouseMotion:
@@ -982,7 +988,7 @@ Restore the state saved by :ref:`_get_state<class_EditorPlugin_method__get_state
 
 
     func _set_state(data):
     func _set_state(data):
         zoom = data.get("zoom", 1.0)
         zoom = data.get("zoom", 1.0)
-        preferred_color = data.get("my_color", Color.white)
+        preferred_color = data.get("my_color", Color.WHITE)
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -1000,7 +1006,7 @@ Restore the plugin GUI layout and data saved by :ref:`_get_window_layout<class_E
 
 
     func _set_window_layout(configuration):
     func _set_window_layout(configuration):
         $Window.position = configuration.get_value("MyPlugin", "window_position", Vector2())
         $Window.position = configuration.get_value("MyPlugin", "window_position", Vector2())
-        $Icon.modulate = configuration.get_value("MyPlugin", "icon_color", Color.white)
+        $Icon.modulate = configuration.get_value("MyPlugin", "icon_color", Color.WHITE)
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -1170,6 +1176,20 @@ See :ref:`add_inspector_plugin<class_EditorPlugin_method_add_inspector_plugin>`
 
 
 ----
 ----
 
 
+.. _class_EditorPlugin_method_add_resource_conversion_plugin:
+
+.. rst-class:: classref-method
+
+void **add_resource_conversion_plugin** **(** :ref:`EditorResourceConversionPlugin<class_EditorResourceConversionPlugin>` plugin **)**
+
+Registers a new :ref:`EditorResourceConversionPlugin<class_EditorResourceConversionPlugin>`. Resource conversion plugins are used to add custom resource converters to the editor inspector.
+
+See :ref:`EditorResourceConversionPlugin<class_EditorResourceConversionPlugin>` for an example of how to create a resource conversion plugin.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorPlugin_method_add_scene_format_importer_plugin:
 .. _class_EditorPlugin_method_add_scene_format_importer_plugin:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -1456,6 +1476,18 @@ Removes a gizmo plugin registered by :ref:`add_node_3d_gizmo_plugin<class_Editor
 
 
 ----
 ----
 
 
+.. _class_EditorPlugin_method_remove_resource_conversion_plugin:
+
+.. rst-class:: classref-method
+
+void **remove_resource_conversion_plugin** **(** :ref:`EditorResourceConversionPlugin<class_EditorResourceConversionPlugin>` plugin **)**
+
+Removes a resource conversion plugin registered by :ref:`add_resource_conversion_plugin<class_EditorPlugin_method_add_resource_conversion_plugin>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorPlugin_method_remove_scene_format_importer_plugin:
 .. _class_EditorPlugin_method_remove_scene_format_importer_plugin:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 34 - 11
classes/class_editorresourceconversionplugin.rst

@@ -12,9 +12,38 @@ EditorResourceConversionPlugin
 
 
 **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 
-.. container:: contribute
+Plugin for adding custom converters from one resource format to another in the editor resource picker context menu; for example, converting a :ref:`StandardMaterial3D<class_StandardMaterial3D>` to a :ref:`ShaderMaterial<class_ShaderMaterial>`.
 
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+**EditorResourceConversionPlugin** is invoked when the context menu is brought up for a resource in the editor inspector. Relevant conversion plugins will appear as menu options to convert the given resource to a target type.
+
+Below shows an example of a basic plugin that will convert an :ref:`ImageTexture<class_ImageTexture>` to a :ref:`PortableCompressedTexture2D<class_PortableCompressedTexture2D>`.
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    extends EditorResourceConversionPlugin
+    
+    func _handles(resource : Resource):
+        return resource is ImageTexture
+    
+    func _converts_to():
+        return "PortableCompressedTexture2D"
+    
+    func _convert(itex : Resource):
+        var ptex = PortableCompressedTexture2D.new()
+        ptex.create_from_image(itex.get_image(), PortableCompressedTexture2D.COMPRESSION_MODE_LOSSLESS)
+        return ptex
+
+
+
+To use an **EditorResourceConversionPlugin**, register it using the :ref:`EditorPlugin.add_resource_conversion_plugin<class_EditorPlugin_method_add_resource_conversion_plugin>` method first.
 
 
 .. rst-class:: classref-reftable-group
 .. rst-class:: classref-reftable-group
 
 
@@ -47,9 +76,7 @@ Method Descriptions
 
 
 :ref:`Resource<class_Resource>` **_convert** **(** :ref:`Resource<class_Resource>` resource **)** |virtual| |const|
 :ref:`Resource<class_Resource>` **_convert** **(** :ref:`Resource<class_Resource>` resource **)** |virtual| |const|
 
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Takes an input :ref:`Resource<class_Resource>` and converts it to the type given in :ref:`_converts_to<class_EditorResourceConversionPlugin_method__converts_to>`. The returned :ref:`Resource<class_Resource>` is the result of the conversion, and the input :ref:`Resource<class_Resource>` remains unchanged.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -61,9 +88,7 @@ Method Descriptions
 
 
 :ref:`String<class_String>` **_converts_to** **(** **)** |virtual| |const|
 :ref:`String<class_String>` **_converts_to** **(** **)** |virtual| |const|
 
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Returns the class name of the target type of :ref:`Resource<class_Resource>` that this plugin converts source resources to.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -75,9 +100,7 @@ Method Descriptions
 
 
 :ref:`bool<class_bool>` **_handles** **(** :ref:`Resource<class_Resource>` resource **)** |virtual| |const|
 :ref:`bool<class_bool>` **_handles** **(** :ref:`Resource<class_Resource>` resource **)** |virtual| |const|
 
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Called to determine whether a particular :ref:`Resource<class_Resource>` can be converted to the target resource type by this plugin.
 
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 60 - 4
classes/class_editorsettings.rst

@@ -217,6 +217,14 @@ Properties
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`   | :ref:`filesystem/directories/default_project_path<class_EditorSettings_property_filesystem/directories/default_project_path>`                                                       |
    | :ref:`String<class_String>`   | :ref:`filesystem/directories/default_project_path<class_EditorSettings_property_filesystem/directories/default_project_path>`                                                       |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`   | :ref:`filesystem/external_programs/3d_model_editor<class_EditorSettings_property_filesystem/external_programs/3d_model_editor>`                                                     |
+   +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`   | :ref:`filesystem/external_programs/audio_editor<class_EditorSettings_property_filesystem/external_programs/audio_editor>`                                                           |
+   +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`   | :ref:`filesystem/external_programs/raster_image_editor<class_EditorSettings_property_filesystem/external_programs/raster_image_editor>`                                             |
+   +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`   | :ref:`filesystem/external_programs/vector_image_editor<class_EditorSettings_property_filesystem/external_programs/vector_image_editor>`                                             |
+   +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`         | :ref:`filesystem/file_dialog/display_mode<class_EditorSettings_property_filesystem/file_dialog/display_mode>`                                                                       |
    | :ref:`int<class_int>`         | :ref:`filesystem/file_dialog/display_mode<class_EditorSettings_property_filesystem/file_dialog/display_mode>`                                                                       |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`       | :ref:`filesystem/file_dialog/show_hidden_files<class_EditorSettings_property_filesystem/file_dialog/show_hidden_files>`                                                             |
    | :ref:`bool<class_bool>`       | :ref:`filesystem/file_dialog/show_hidden_files<class_EditorSettings_property_filesystem/file_dialog/show_hidden_files>`                                                             |
@@ -1569,7 +1577,7 @@ The size to use for port previews in the visual shader uniforms (toggled by clic
 
 
 :ref:`String<class_String>` **filesystem/directories/autoscan_project_path**
 :ref:`String<class_String>` **filesystem/directories/autoscan_project_path**
 
 
-The folder where projects should be scanned for (recursively), in a way similar to the project manager's **Scan**\ button. This can be set to the same value as :ref:`filesystem/directories/default_project_path<class_EditorSettings_property_filesystem/directories/default_project_path>` for convenience.
+The folder where projects should be scanned for (recursively), in a way similar to the project manager's **Scan** button. This can be set to the same value as :ref:`filesystem/directories/default_project_path<class_EditorSettings_property_filesystem/directories/default_project_path>` for convenience.
 
 
 \ **Note:** Setting this path to a folder with very large amounts of files/folders can slow down the project manager startup significantly. To keep the project manager quick to start up, it is recommended to set this value to a folder as "specific" as possible.
 \ **Note:** Setting this path to a folder with very large amounts of files/folders can slow down the project manager startup significantly. To keep the project manager quick to start up, it is recommended to set this value to a folder as "specific" as possible.
 
 
@@ -1589,6 +1597,54 @@ The folder where new projects should be created by default when clicking the pro
 
 
 ----
 ----
 
 
+.. _class_EditorSettings_property_filesystem/external_programs/3d_model_editor:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **filesystem/external_programs/3d_model_editor**
+
+The program that opens 3D model scene files when clicking "Open in External Program" option in Filesystem Dock. If not specified, the file will be opened in the system's default program.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorSettings_property_filesystem/external_programs/audio_editor:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **filesystem/external_programs/audio_editor**
+
+The program that opens audio files when clicking "Open in External Program" option in Filesystem Dock. If not specified, the file will be opened in the system's default program.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorSettings_property_filesystem/external_programs/raster_image_editor:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **filesystem/external_programs/raster_image_editor**
+
+The program that opens raster image files when clicking "Open in External Program" option in Filesystem Dock. If not specified, the file will be opened in the system's default program.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorSettings_property_filesystem/external_programs/vector_image_editor:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **filesystem/external_programs/vector_image_editor**
+
+The program that opens vector image files when clicking "Open in External Program" option in Filesystem Dock. If not specified, the file will be opened in the system's default program.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorSettings_property_filesystem/file_dialog/display_mode:
 .. _class_EditorSettings_property_filesystem/file_dialog/display_mode:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
@@ -1803,7 +1859,7 @@ If set to **Custom**, the scaling value in :ref:`interface/editor/custom_display
 
 
 The language to use for the editor interface.
 The language to use for the editor interface.
 
 
-Translations are provided by the community. If you spot a mistake, `contribute to editor translations on Weblate! <https://docs.godotengine.org/en/latest/community/contributing/editor_and_docs_localization.html>`__
+Translations are provided by the community. If you spot a mistake, :doc:`contribute to editor translations on Weblate! <../contributing/documentation/editor_and_docs_localization>`
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -2743,7 +2799,7 @@ When using tab indentation, determines the length of each tab. When using space
 
 
 The indentation style to use (tabs or spaces).
 The indentation style to use (tabs or spaces).
 
 
-\ **Note:** The `GDScript style guide <https://docs.godotengine.org/en/latest/getting_started/scripting/gdscript/gdscript_styleguide.html>`__ 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 <../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.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -2903,7 +2959,7 @@ If ``true``, the code completion tooltip will appear below the current line unle
 
 
 :ref:`bool<class_bool>` **text_editor/completion/use_single_quotes**
 :ref:`bool<class_bool>` **text_editor/completion/use_single_quotes**
 
 
-If ``true``, performs string autocompletion with single quotes. If ``false``, performs string autocompletion with double quotes (which matches the `GDScript style guide <https://docs.godotengine.org/en/latest/tutorials/scripting/gdscript/gdscript_styleguide.html>`__).
+If ``true``, performs string autocompletion with single quotes. If ``false``, performs string autocompletion with double quotes (which matches the :doc:`GDScript style guide <../tutorials/scripting/gdscript/gdscript_styleguide>`).
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 1 - 1
classes/class_editorundoredomanager.rst

@@ -10,7 +10,7 @@
 EditorUndoRedoManager
 EditorUndoRedoManager
 =====================
 =====================
 
 
-**Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`Object<class_Object>`
 
 
 Manages undo history of scenes opened in the editor.
 Manages undo history of scenes opened in the editor.
 
 

+ 1 - 1
classes/class_expression.rst

@@ -50,7 +50,7 @@ In the following example we use a :ref:`LineEdit<class_LineEdit>` node to write
     
     
     public override void _Ready()
     public override void _Ready()
     {
     {
-        GetNode("LineEdit").TextSubmitted += OnTextEntered;
+        GetNode<LineEdit>("LineEdit").TextSubmitted += OnTextEntered;
     }
     }
     
     
     private void OnTextEntered(string command)
     private void OnTextEntered(string command)

+ 14 - 0
classes/class_filesystemdock.rst

@@ -127,6 +127,20 @@ Signals
 
 
 **instantiate** **(** :ref:`PackedStringArray<class_PackedStringArray>` files **)**
 **instantiate** **(** :ref:`PackedStringArray<class_PackedStringArray>` files **)**
 
 
+.. container:: contribute
+
+	There is currently no description for this signal. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_FileSystemDock_signal_resource_removed:
+
+.. rst-class:: classref-signal
+
+**resource_removed** **(** :ref:`Resource<class_Resource>` resource **)**
+
 .. container:: contribute
 .. container:: contribute
 
 
 	There is currently no description for this signal. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 	There is currently no description for this signal. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!

+ 3 - 17
classes/class_gdscript.rst

@@ -38,11 +38,9 @@ Methods
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +-----------------------------------------------+-------------------------------------------------------------------------------------+
-   | :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`get_as_byte_code<class_GDScript_method_get_as_byte_code>` **(** **)** |const| |
-   +-----------------------------------------------+-------------------------------------------------------------------------------------+
-   | :ref:`Variant<class_Variant>`                 | :ref:`new<class_GDScript_method_new>` **(** ... **)** |vararg|                      |
-   +-----------------------------------------------+-------------------------------------------------------------------------------------+
+   +-------------------------------+----------------------------------------------------------------+
+   | :ref:`Variant<class_Variant>` | :ref:`new<class_GDScript_method_new>` **(** ... **)** |vararg| |
+   +-------------------------------+----------------------------------------------------------------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -53,18 +51,6 @@ Methods
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 
-.. _class_GDScript_method_get_as_byte_code:
-
-.. rst-class:: classref-method
-
-:ref:`PackedByteArray<class_PackedByteArray>` **get_as_byte_code** **(** **)** |const|
-
-Returns byte code for the script source code.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_GDScript_method_new:
 .. _class_GDScript_method_new:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 7 - 1
classes/class_geometryinstance3d.rst

@@ -551,7 +551,13 @@ Get the value of a shader parameter as set on this instance.
 
 
 void **set_instance_shader_parameter** **(** :ref:`StringName<class_StringName>` name, :ref:`Variant<class_Variant>` value **)**
 void **set_instance_shader_parameter** **(** :ref:`StringName<class_StringName>` name, :ref:`Variant<class_Variant>` value **)**
 
 
-Set the value of a shader parameter for this instance only.
+Set the value of a shader uniform for this instance only (`per-instance uniform <../tutorials/shaders/shader_reference/shading_language.html#per-instance-uniforms>`__). See also :ref:`ShaderMaterial.set_shader_parameter<class_ShaderMaterial_method_set_shader_parameter>` to assign a uniform on all instances using the same :ref:`ShaderMaterial<class_ShaderMaterial>`.
+
+\ **Note:** For a shader uniform to be assignable on a per-instance basis, it *must* be defined with ``instance uniform ...`` rather than ``uniform ...`` in the shader code.
+
+\ **Note:** ``name`` is case-sensitive and must match the name of the uniform in the code exactly (not the capitalized name in the inspector).
+
+\ **Note:** Per-instance shader uniforms are currently only available in 3D, so there is no 2D equivalent of this method.
 
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 4 - 4
classes/class_gltfdocument.rst

@@ -60,7 +60,7 @@ Method Descriptions
 
 
 :ref:`Error<enum_@GlobalScope_Error>` **append_from_buffer** **(** :ref:`PackedByteArray<class_PackedByteArray>` bytes, :ref:`String<class_String>` base_path, :ref:`GLTFState<class_GLTFState>` state, :ref:`int<class_int>` flags=0 **)**
 :ref:`Error<enum_@GlobalScope_Error>` **append_from_buffer** **(** :ref:`PackedByteArray<class_PackedByteArray>` bytes, :ref:`String<class_String>` base_path, :ref:`GLTFState<class_GLTFState>` state, :ref:`int<class_int>` flags=0 **)**
 
 
-Takes a :ref:`PackedByteArray<class_PackedByteArray>` defining a gLTF and returns a :ref:`GLTFState<class_GLTFState>` object through the ``state`` parameter.
+Takes a :ref:`PackedByteArray<class_PackedByteArray>` defining a GLTF and imports the data to the given :ref:`GLTFState<class_GLTFState>` object through the ``state`` parameter.
 
 
 \ **Note:** The ``base_path`` tells :ref:`append_from_buffer<class_GLTFDocument_method_append_from_buffer>` where to find dependencies and can be empty.
 \ **Note:** The ``base_path`` tells :ref:`append_from_buffer<class_GLTFDocument_method_append_from_buffer>` where to find dependencies and can be empty.
 
 
@@ -74,7 +74,7 @@ Takes a :ref:`PackedByteArray<class_PackedByteArray>` defining a gLTF and return
 
 
 :ref:`Error<enum_@GlobalScope_Error>` **append_from_file** **(** :ref:`String<class_String>` path, :ref:`GLTFState<class_GLTFState>` state, :ref:`int<class_int>` flags=0, :ref:`String<class_String>` base_path="" **)**
 :ref:`Error<enum_@GlobalScope_Error>` **append_from_file** **(** :ref:`String<class_String>` path, :ref:`GLTFState<class_GLTFState>` state, :ref:`int<class_int>` flags=0, :ref:`String<class_String>` base_path="" **)**
 
 
-Takes a path to a gLTF file and returns a :ref:`GLTFState<class_GLTFState>` object through the ``state`` parameter.
+Takes a path to a GLTF file and imports the data at that file path to the given :ref:`GLTFState<class_GLTFState>` object through the ``state`` parameter.
 
 
 \ **Note:** The ``base_path`` tells :ref:`append_from_file<class_GLTFDocument_method_append_from_file>` where to find dependencies and can be empty.
 \ **Note:** The ``base_path`` tells :ref:`append_from_file<class_GLTFDocument_method_append_from_file>` where to find dependencies and can be empty.
 
 
@@ -88,7 +88,7 @@ Takes a path to a gLTF file and returns a :ref:`GLTFState<class_GLTFState>` obje
 
 
 :ref:`Error<enum_@GlobalScope_Error>` **append_from_scene** **(** :ref:`Node<class_Node>` node, :ref:`GLTFState<class_GLTFState>` state, :ref:`int<class_int>` flags=0 **)**
 :ref:`Error<enum_@GlobalScope_Error>` **append_from_scene** **(** :ref:`Node<class_Node>` node, :ref:`GLTFState<class_GLTFState>` state, :ref:`int<class_int>` flags=0 **)**
 
 
-Takes a Godot Engine scene node and returns a :ref:`GLTFState<class_GLTFState>` object through the ``state`` parameter.
+Takes a Godot Engine scene node and exports it and its descendants to the given :ref:`GLTFState<class_GLTFState>` object through the ``state`` parameter.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -100,7 +100,7 @@ Takes a Godot Engine scene node and returns a :ref:`GLTFState<class_GLTFState>`
 
 
 :ref:`PackedByteArray<class_PackedByteArray>` **generate_buffer** **(** :ref:`GLTFState<class_GLTFState>` state **)**
 :ref:`PackedByteArray<class_PackedByteArray>` **generate_buffer** **(** :ref:`GLTFState<class_GLTFState>` state **)**
 
 
-Takes a :ref:`GLTFState<class_GLTFState>` object through the ``state`` parameter and returns a gLTF :ref:`PackedByteArray<class_PackedByteArray>`.
+Takes a :ref:`GLTFState<class_GLTFState>` object through the ``state`` parameter and returns a GLTF :ref:`PackedByteArray<class_PackedByteArray>`.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 65 - 0
classes/class_gltfstate.rst

@@ -71,6 +71,8 @@ Methods
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`GLTFCamera[]<class_GLTFCamera>`                 | :ref:`get_cameras<class_GLTFState_method_get_cameras>` **(** **)**                                                                                                                   |
    | :ref:`GLTFCamera[]<class_GLTFCamera>`                 | :ref:`get_cameras<class_GLTFState_method_get_cameras>` **(** **)**                                                                                                                   |
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                 | :ref:`get_handle_binary_image<class_GLTFState_method_get_handle_binary_image>` **(** **)**                                                                                           |
+   +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Texture2D[]<class_Texture2D>`                   | :ref:`get_images<class_GLTFState_method_get_images>` **(** **)**                                                                                                                     |
    | :ref:`Texture2D[]<class_Texture2D>`                   | :ref:`get_images<class_GLTFState_method_get_images>` **(** **)**                                                                                                                     |
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`GLTFLight[]<class_GLTFLight>`                   | :ref:`get_lights<class_GLTFState_method_get_lights>` **(** **)**                                                                                                                     |
    | :ref:`GLTFLight[]<class_GLTFLight>`                   | :ref:`get_lights<class_GLTFState_method_get_lights>` **(** **)**                                                                                                                     |
@@ -107,6 +109,8 @@ Methods
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                  | :ref:`set_cameras<class_GLTFState_method_set_cameras>` **(** :ref:`GLTFCamera[]<class_GLTFCamera>` cameras **)**                                                                     |
    | void                                                  | :ref:`set_cameras<class_GLTFState_method_set_cameras>` **(** :ref:`GLTFCamera[]<class_GLTFCamera>` cameras **)**                                                                     |
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                  | :ref:`set_handle_binary_image<class_GLTFState_method_set_handle_binary_image>` **(** :ref:`int<class_int>` method **)**                                                              |
+   +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                  | :ref:`set_images<class_GLTFState_method_set_images>` **(** :ref:`Texture2D[]<class_Texture2D>` images **)**                                                                          |
    | void                                                  | :ref:`set_images<class_GLTFState_method_set_images>` **(** :ref:`Texture2D[]<class_Texture2D>` images **)**                                                                          |
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                  | :ref:`set_lights<class_GLTFState_method_set_lights>` **(** :ref:`GLTFLight[]<class_GLTFLight>` lights **)**                                                                          |
    | void                                                  | :ref:`set_lights<class_GLTFState_method_set_lights>` **(** :ref:`GLTFLight[]<class_GLTFLight>` lights **)**                                                                          |
@@ -132,6 +136,39 @@ Methods
    | void                                                  | :ref:`set_unique_names<class_GLTFState_method_set_unique_names>` **(** :ref:`String[]<class_String>` unique_names **)**                                                              |
    | void                                                  | :ref:`set_unique_names<class_GLTFState_method_set_unique_names>` **(** :ref:`String[]<class_String>` unique_names **)**                                                              |
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Constants
+---------
+
+.. _class_GLTFState_constant_HANDLE_BINARY_DISCARD_TEXTURES:
+
+.. rst-class:: classref-constant
+
+**HANDLE_BINARY_DISCARD_TEXTURES** = ``0``
+
+
+
+.. _class_GLTFState_constant_HANDLE_BINARY_EXTRACT_TEXTURES:
+
+.. rst-class:: classref-constant
+
+**HANDLE_BINARY_EXTRACT_TEXTURES** = ``1``
+
+
+
+.. _class_GLTFState_constant_HANDLE_BINARY_EMBED_AS_BASISU:
+
+.. rst-class:: classref-constant
+
+**HANDLE_BINARY_EMBED_AS_BASISU** = ``2``
+
+
+
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
 ----
 ----
@@ -446,6 +483,20 @@ The argument should be the :ref:`GLTFDocumentExtension<class_GLTFDocumentExtensi
 
 
 ----
 ----
 
 
+.. _class_GLTFState_method_get_handle_binary_image:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **get_handle_binary_image** **(** **)**
+
+.. 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_GLTFState_method_get_images:
 .. _class_GLTFState_method_get_images:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -696,6 +747,20 @@ void **set_cameras** **(** :ref:`GLTFCamera[]<class_GLTFCamera>` cameras **)**
 
 
 ----
 ----
 
 
+.. _class_GLTFState_method_set_handle_binary_image:
+
+.. rst-class:: classref-method
+
+void **set_handle_binary_image** **(** :ref:`int<class_int>` method **)**
+
+.. 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_GLTFState_method_set_images:
 .. _class_GLTFState_method_set_images:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 4 - 4
classes/class_gpuparticles2d.rst

@@ -21,7 +21,9 @@ Description
 
 
 2D particle node used to create a variety of particle systems and effects. **GPUParticles2D** features an emitter that generates some number of particles at a given rate.
 2D particle node used to create a variety of particle systems and effects. **GPUParticles2D** features an emitter that generates some number of particles at a given rate.
 
 
-Use the ``process_material`` property to add a :ref:`ParticleProcessMaterial<class_ParticleProcessMaterial>` to configure particle appearance and behavior. Alternatively, you can add a :ref:`ShaderMaterial<class_ShaderMaterial>` which will be applied to all particles.
+Use the :ref:`process_material<class_GPUParticles2D_property_process_material>` property to add a :ref:`ParticleProcessMaterial<class_ParticleProcessMaterial>` to configure particle appearance and behavior. Alternatively, you can add a :ref:`ShaderMaterial<class_ShaderMaterial>` which will be applied to all particles.
+
+2D particles can optionally collide with :ref:`LightOccluder2D<class_LightOccluder2D>` nodes (note: they don't collide with :ref:`PhysicsBody2D<class_PhysicsBody2D>` nodes).
 
 
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 
@@ -230,9 +232,7 @@ Number of particles emitted in one emission cycle.
 - void **set_collision_base_size** **(** :ref:`float<class_float>` value **)**
 - void **set_collision_base_size** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_collision_base_size** **(** **)**
 - :ref:`float<class_float>` **get_collision_base_size** **(** **)**
 
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Multiplier for particle's collision radius. ``1.0`` corresponds to the size of the sprite.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 17 - 17
classes/class_graphnode.rst

@@ -200,11 +200,23 @@ Emitted when the GraphNode is requested to be closed. Happens on clicking the cl
 
 
 ----
 ----
 
 
-.. _class_GraphNode_signal_deselected:
+.. _class_GraphNode_signal_dragged:
 
 
 .. rst-class:: classref-signal
 .. rst-class:: classref-signal
 
 
-**deselected** **(** **)**
+**dragged** **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to **)**
+
+Emitted when the GraphNode is dragged.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_GraphNode_signal_node_deselected:
+
+.. rst-class:: classref-signal
+
+**node_deselected** **(** **)**
 
 
 Emitted when the GraphNode is deselected.
 Emitted when the GraphNode is deselected.
 
 
@@ -212,13 +224,13 @@ Emitted when the GraphNode is deselected.
 
 
 ----
 ----
 
 
-.. _class_GraphNode_signal_dragged:
+.. _class_GraphNode_signal_node_selected:
 
 
 .. rst-class:: classref-signal
 .. rst-class:: classref-signal
 
 
-**dragged** **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to **)**
+**node_selected** **(** **)**
 
 
-Emitted when the GraphNode is dragged.
+Emitted when the GraphNode is selected.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -260,18 +272,6 @@ Emitted when the GraphNode is requested to be resized. Happens on dragging the r
 
 
 ----
 ----
 
 
-.. _class_GraphNode_signal_selected:
-
-.. rst-class:: classref-signal
-
-**selected** **(** **)**
-
-Emitted when the GraphNode is selected.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_GraphNode_signal_slot_updated:
 .. _class_GraphNode_signal_slot_updated:
 
 
 .. rst-class:: classref-signal
 .. rst-class:: classref-signal

+ 2 - 2
classes/class_heightmapshape3d.rst

@@ -76,7 +76,7 @@ Height map data, pool array must be of :ref:`map_width<class_HeightMapShape3D_pr
 - void **set_map_depth** **(** :ref:`int<class_int>` value **)**
 - void **set_map_depth** **(** :ref:`int<class_int>` value **)**
 - :ref:`int<class_int>` **get_map_depth** **(** **)**
 - :ref:`int<class_int>` **get_map_depth** **(** **)**
 
 
-Depth of the height map data. Changing this will resize the :ref:`map_data<class_HeightMapShape3D_property_map_data>`.
+Number of vertices in the depth of the height map. Changing this will resize the :ref:`map_data<class_HeightMapShape3D_property_map_data>`.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -93,7 +93,7 @@ Depth of the height map data. Changing this will resize the :ref:`map_data<class
 - void **set_map_width** **(** :ref:`int<class_int>` value **)**
 - void **set_map_width** **(** :ref:`int<class_int>` value **)**
 - :ref:`int<class_int>` **get_map_width** **(** **)**
 - :ref:`int<class_int>` **get_map_width** **(** **)**
 
 
-Width of the height map data. Changing this will resize the :ref:`map_data<class_HeightMapShape3D_property_map_data>`.
+Number of vertices in the width of the height map. Changing this will resize the :ref:`map_data<class_HeightMapShape3D_property_map_data>`.
 
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 2 - 2
classes/class_httprequest.rst

@@ -93,7 +93,7 @@ Can be used to make HTTP requests, i.e. download or upload files or web content
     }
     }
     
     
     // Called when the HTTP request is completed.
     // Called when the HTTP request is completed.
-    private void HttpRequestCompleted(int result, int response_code, string[] headers, byte[] body)
+    private void HttpRequestCompleted(int result, int responseCode, string[] headers, byte[] body)
     {
     {
         var json = new JSON();
         var json = new JSON();
         json.Parse(body.GetStringFromUTF8());
         json.Parse(body.GetStringFromUTF8());
@@ -158,7 +158,7 @@ Can be used to make HTTP requests, i.e. download or upload files or web content
     }
     }
     
     
     // Called when the HTTP request is completed.
     // Called when the HTTP request is completed.
-    private void HttpRequestCompleted(int result, int response_code, string[] headers, byte[] body)
+    private void HttpRequestCompleted(int result, int responseCode, string[] headers, byte[] body)
     {
     {
         if (result != (int)HTTPRequest.Result.Success)
         if (result != (int)HTTPRequest.Result.Success)
         {
         {

+ 3 - 3
classes/class_image.rst

@@ -1630,7 +1630,7 @@ Sets the :ref:`Color<class_Color>` of the pixel at ``(x, y)`` to ``color``.
     var img = Image.new()
     var img = Image.new()
     img.create(img_width, img_height, false, Image.FORMAT_RGBA8)
     img.create(img_width, img_height, false, Image.FORMAT_RGBA8)
     
     
-    img.set_pixel(1, 2, Color.red) # Sets the color at (1, 2) to red.
+    img.set_pixel(1, 2, Color.RED) # Sets the color at (1, 2) to red.
 
 
  .. code-tab:: csharp
  .. code-tab:: csharp
 
 
@@ -1669,7 +1669,7 @@ Sets the :ref:`Color<class_Color>` of the pixel at ``point`` to ``color``.
     var img = Image.new()
     var img = Image.new()
     img.create(img_width, img_height, false, Image.FORMAT_RGBA8)
     img.create(img_width, img_height, false, Image.FORMAT_RGBA8)
     
     
-    img.set_pixelv(Vector2i(1, 2), Color.red) # Sets the color at (1, 2) to red.
+    img.set_pixelv(Vector2i(1, 2), Color.RED) # Sets the color at (1, 2) to red.
 
 
  .. code-tab:: csharp
  .. code-tab:: csharp
 
 
@@ -1678,7 +1678,7 @@ Sets the :ref:`Color<class_Color>` of the pixel at ``point`` to ``color``.
     var img = new Image();
     var img = new Image();
     img.Create(imgWidth, imgHeight, false, Image.Format.Rgba8);
     img.Create(imgWidth, imgHeight, false, Image.Format.Rgba8);
     
     
-    img.SetPixelv(new Vector2i(1, 2), Colors.Red); // Sets the color at (1, 2) to red.
+    img.SetPixelv(new Vector2I(1, 2), Colors.Red); // Sets the color at (1, 2) to red.
 
 
 
 
 
 

+ 11 - 3
classes/class_importermesh.rst

@@ -137,11 +137,19 @@ Adds name for a blend shape that will be added with :ref:`add_surface<class_Impo
 
 
 void **add_surface** **(** :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` primitive, :ref:`Array<class_Array>` arrays, :ref:`Array[]<class_Array>` blend_shapes=[], :ref:`Dictionary<class_Dictionary>` lods={}, :ref:`Material<class_Material>` material=null, :ref:`String<class_String>` name="", :ref:`int<class_int>` flags=0 **)**
 void **add_surface** **(** :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` primitive, :ref:`Array<class_Array>` arrays, :ref:`Array[]<class_Array>` blend_shapes=[], :ref:`Dictionary<class_Dictionary>` lods={}, :ref:`Material<class_Material>` material=null, :ref:`String<class_String>` name="", :ref:`int<class_int>` flags=0 **)**
 
 
-Creates a new surface, analogous to :ref:`ArrayMesh.add_surface_from_arrays<class_ArrayMesh_method_add_surface_from_arrays>`.
+Creates a new surface. :ref:`Mesh.get_surface_count<class_Mesh_method_get_surface_count>` will become the ``surf_idx`` for this new surface.
 
 
-Surfaces are created to be rendered using a ``primitive``, which may be any of the types defined in :ref:`PrimitiveType<enum_Mesh_PrimitiveType>`. (As a note, when using indices, it is recommended to only use points, lines, or triangles.) :ref:`Mesh.get_surface_count<class_Mesh_method_get_surface_count>` will become the ``surf_idx`` for this new surface.
+Surfaces are created to be rendered using a ``primitive``, which may be any of the values defined in :ref:`PrimitiveType<enum_Mesh_PrimitiveType>`.
 
 
-The ``arrays`` argument is an array of arrays. See :ref:`ArrayType<enum_Mesh_ArrayType>` for the values used in this array. For example, ``arrays[0]`` is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array (or be an exact multiple of the vertex array's length, when multiple elements of a sub-array correspond to a single vertex) or be empty, except for :ref:`Mesh.ARRAY_INDEX<class_Mesh_constant_ARRAY_INDEX>` if it is used.
+The ``arrays`` argument is an array of arrays. Each of the :ref:`Mesh.ARRAY_MAX<class_Mesh_constant_ARRAY_MAX>` elements contains an array with some of the mesh data for this surface as described by the corresponding member of :ref:`ArrayType<enum_Mesh_ArrayType>` or ``null`` if it is not used by the surface. For example, ``arrays[0]`` is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this surface into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array (or be an exact multiple of the vertex array's length, when multiple elements of a sub-array correspond to a single vertex) or be empty, except for :ref:`Mesh.ARRAY_INDEX<class_Mesh_constant_ARRAY_INDEX>` if it is used.
+
+The ``blend_shapes`` argument is an array of vertex data for each blend shape. Each element is an array of the same structure as ``arrays``, but :ref:`Mesh.ARRAY_VERTEX<class_Mesh_constant_ARRAY_VERTEX>`, :ref:`Mesh.ARRAY_NORMAL<class_Mesh_constant_ARRAY_NORMAL>`, and :ref:`Mesh.ARRAY_TANGENT<class_Mesh_constant_ARRAY_TANGENT>` are set if and only if they are set in ``arrays`` and all other entries are ``null``.
+
+The ``lods`` argument is a dictionary with :ref:`float<class_float>` keys and :ref:`PackedInt32Array<class_PackedInt32Array>` values. Each entry in the dictionary represents a LOD level of the surface, where the value is the :ref:`Mesh.ARRAY_INDEX<class_Mesh_constant_ARRAY_INDEX>` array to use for the LOD level and the key is roughly proportional to the distance at which the LOD stats being used. I.e., increasing the key of a LOD also increases the distance that the objects has to be from the camera before the LOD is used.
+
+The ``flags`` argument is the bitwise or of, as required: One value of :ref:`ArrayCustomFormat<enum_Mesh_ArrayCustomFormat>` left shifted by ``ARRAY_FORMAT_CUSTOMn_SHIFT`` for each custom channel in use, :ref:`Mesh.ARRAY_FLAG_USE_DYNAMIC_UPDATE<class_Mesh_constant_ARRAY_FLAG_USE_DYNAMIC_UPDATE>`, :ref:`Mesh.ARRAY_FLAG_USE_8_BONE_WEIGHTS<class_Mesh_constant_ARRAY_FLAG_USE_8_BONE_WEIGHTS>`, or :ref:`Mesh.ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY<class_Mesh_constant_ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY>`.
+
+\ **Note:** When using indices, it is recommended to only use points, lines, or triangles.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 19 - 1
classes/class_input.rst

@@ -109,6 +109,8 @@ Methods
    +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                   | :ref:`is_joy_known<class_Input_method_is_joy_known>` **(** :ref:`int<class_int>` device **)**                                                                                                                                                                                                                |
    | :ref:`bool<class_bool>`                                   | :ref:`is_joy_known<class_Input_method_is_joy_known>` **(** :ref:`int<class_int>` device **)**                                                                                                                                                                                                                |
    +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                   | :ref:`is_key_label_pressed<class_Input_method_is_key_label_pressed>` **(** :ref:`Key<enum_@GlobalScope_Key>` keycode **)** |const|                                                                                                                                                                           |
+   +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                   | :ref:`is_key_pressed<class_Input_method_is_key_pressed>` **(** :ref:`Key<enum_@GlobalScope_Key>` keycode **)** |const|                                                                                                                                                                                       |
    | :ref:`bool<class_bool>`                                   | :ref:`is_key_pressed<class_Input_method_is_key_pressed>` **(** :ref:`Key<enum_@GlobalScope_Key>` keycode **)** |const|                                                                                                                                                                                       |
    +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                   | :ref:`is_mouse_button_pressed<class_Input_method_is_mouse_button_pressed>` **(** :ref:`MouseButton<enum_@GlobalScope_MouseButton>` button **)** |const|                                                                                                                                                      |
    | :ref:`bool<class_bool>`                                   | :ref:`is_mouse_button_pressed<class_Input_method_is_mouse_button_pressed>` **(** :ref:`MouseButton<enum_@GlobalScope_MouseButton>` button **)** |const|                                                                                                                                                      |
@@ -776,13 +778,25 @@ Returns ``true`` if the system knows the specified device. This means that it se
 
 
 ----
 ----
 
 
+.. _class_Input_method_is_key_label_pressed:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **is_key_label_pressed** **(** :ref:`Key<enum_@GlobalScope_Key>` keycode **)** |const|
+
+Returns ``true`` if you are pressing the key with the ``keycode`` printed on it. You can pass a :ref:`Key<enum_@GlobalScope_Key>` constant or any Unicode character code.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_Input_method_is_key_pressed:
 .. _class_Input_method_is_key_pressed:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
 :ref:`bool<class_bool>` **is_key_pressed** **(** :ref:`Key<enum_@GlobalScope_Key>` keycode **)** |const|
 :ref:`bool<class_bool>` **is_key_pressed** **(** :ref:`Key<enum_@GlobalScope_Key>` keycode **)** |const|
 
 
-Returns ``true`` if you are pressing the key in the current keyboard layout. You can pass a :ref:`Key<enum_@GlobalScope_Key>` constant.
+Returns ``true`` if you are pressing the Latin key in the current keyboard layout. You can pass a :ref:`Key<enum_@GlobalScope_Key>` constant.
 
 
 \ :ref:`is_key_pressed<class_Input_method_is_key_pressed>` is only recommended over :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>` in non-game applications. This ensures that shortcut keys behave as expected depending on the user's keyboard layout, as keyboard shortcuts are generally dependent on the keyboard layout in non-game applications. If in doubt, use :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>`.
 \ :ref:`is_key_pressed<class_Input_method_is_key_pressed>` is only recommended over :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>` in non-game applications. This ensures that shortcut keys behave as expected depending on the user's keyboard layout, as keyboard shortcuts are generally dependent on the keyboard layout in non-game applications. If in doubt, use :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>`.
 
 
@@ -895,6 +909,8 @@ Sets a custom mouse cursor image, which is only visible inside the game window.
 
 
 \ **Note:** Only images imported with the **Lossless**, **Lossy** or **Uncompressed** compression modes are supported. The **Video RAM** compression mode can't be used for custom cursors.
 \ **Note:** Only images imported with the **Lossless**, **Lossy** or **Uncompressed** compression modes are supported. The **Video RAM** compression mode can't be used for custom cursors.
 
 
+\ **Note:** On the web platform, the maximum allowed cursor image size is 128×128. Cursor images larger than 32×32 will also only be displayed if the mouse cursor image is entirely located within the page for `security reasons <https://chromestatus.com/feature/5825971391299584>`__.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -1013,6 +1029,8 @@ Sets the mouse position to the specified vector, provided in pixels and relative
 
 
 Mouse position is clipped to the limits of the screen resolution, or to the limits of the game window if :ref:`MouseMode<enum_Input_MouseMode>` is set to :ref:`MOUSE_MODE_CONFINED<class_Input_constant_MOUSE_MODE_CONFINED>` or :ref:`MOUSE_MODE_CONFINED_HIDDEN<class_Input_constant_MOUSE_MODE_CONFINED_HIDDEN>`.
 Mouse position is clipped to the limits of the screen resolution, or to the limits of the game window if :ref:`MouseMode<enum_Input_MouseMode>` is set to :ref:`MOUSE_MODE_CONFINED<class_Input_constant_MOUSE_MODE_CONFINED>` or :ref:`MOUSE_MODE_CONFINED_HIDDEN<class_Input_constant_MOUSE_MODE_CONFINED_HIDDEN>`.
 
 
+\ **Note:** :ref:`warp_mouse<class_Input_method_warp_mouse>` is only supported on Windows, macOS and Linux. It has no effect on Android, iOS and Web.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 103 - 4
classes/class_inputeventkey.rst

@@ -21,6 +21,10 @@ Description
 
 
 Stores key presses on the keyboard. Supports key presses, key releases and :ref:`echo<class_InputEventKey_property_echo>` events.
 Stores key presses on the keyboard. Supports key presses, key releases and :ref:`echo<class_InputEventKey_property_echo>` events.
 
 
+\ **Note:** Events received from the keyboard usually have all properties set. Event mappings should have only one of the :ref:`keycode<class_InputEventKey_property_keycode>`, :ref:`physical_keycode<class_InputEventKey_property_physical_keycode>` or :ref:`unicode<class_InputEventKey_property_unicode>` set.
+
+When events are compared, properties are checked in the following priority - :ref:`keycode<class_InputEventKey_property_keycode>`, :ref:`physical_keycode<class_InputEventKey_property_physical_keycode>` and :ref:`unicode<class_InputEventKey_property_unicode>`, events with the first matching value will be considered equal.
+
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 
 Tutorials
 Tutorials
@@ -39,6 +43,8 @@ Properties
    +-----------------------------------+------------------------------------------------------------------------+-----------+
    +-----------------------------------+------------------------------------------------------------------------+-----------+
    | :ref:`bool<class_bool>`           | :ref:`echo<class_InputEventKey_property_echo>`                         | ``false`` |
    | :ref:`bool<class_bool>`           | :ref:`echo<class_InputEventKey_property_echo>`                         | ``false`` |
    +-----------------------------------+------------------------------------------------------------------------+-----------+
    +-----------------------------------+------------------------------------------------------------------------+-----------+
+   | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`key_label<class_InputEventKey_property_key_label>`               | ``0``     |
+   +-----------------------------------+------------------------------------------------------------------------+-----------+
    | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`keycode<class_InputEventKey_property_keycode>`                   | ``0``     |
    | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`keycode<class_InputEventKey_property_keycode>`                   | ``0``     |
    +-----------------------------------+------------------------------------------------------------------------+-----------+
    +-----------------------------------+------------------------------------------------------------------------+-----------+
    | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`physical_keycode<class_InputEventKey_property_physical_keycode>` | ``0``     |
    | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`physical_keycode<class_InputEventKey_property_physical_keycode>` | ``0``     |
@@ -56,6 +62,14 @@ Methods
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
+   +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`       | :ref:`as_text_key_label<class_InputEventKey_method_as_text_key_label>` **(** **)** |const|                                     |
+   +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`       | :ref:`as_text_keycode<class_InputEventKey_method_as_text_keycode>` **(** **)** |const|                                         |
+   +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`       | :ref:`as_text_physical_keycode<class_InputEventKey_method_as_text_physical_keycode>` **(** **)** |const|                       |
+   +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`get_key_label_with_modifiers<class_InputEventKey_method_get_key_label_with_modifiers>` **(** **)** |const|               |
    +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`get_keycode_with_modifiers<class_InputEventKey_method_get_keycode_with_modifiers>` **(** **)** |const|                   |
    | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`get_keycode_with_modifiers<class_InputEventKey_method_get_keycode_with_modifiers>` **(** **)** |const|                   |
    +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
@@ -88,6 +102,34 @@ If ``true``, the key was already pressed before this event. It means the user is
 
 
 ----
 ----
 
 
+.. _class_InputEventKey_property_key_label:
+
+.. rst-class:: classref-property
+
+:ref:`Key<enum_@GlobalScope_Key>` **key_label** = ``0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_key_label** **(** :ref:`Key<enum_@GlobalScope_Key>` value **)**
+- :ref:`Key<enum_@GlobalScope_Key>` **get_key_label** **(** **)**
+
+Represents the localized label printed on the key in the current keyboard layout, which corresponds to one of the :ref:`Key<enum_@GlobalScope_Key>` constants or any valid Unicode character.
+
+For keyboard layouts with a single label on the key, it is equivalent to :ref:`keycode<class_InputEventKey_property_keycode>`.
+
+To get a human-readable representation of the **InputEventKey**, use ``OS.get_keycode_string(event.key_label)`` where ``event`` is the **InputEventKey**.
+
+::
+
+        +-----+ +-----+
+        | Q   | | Q   | - "Q" - keycode
+        |   Й | |  ض | - "Й" and "ض" - key_label
+        +-----+ +-----+
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_InputEventKey_property_keycode:
 .. _class_InputEventKey_property_keycode:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
@@ -99,10 +141,17 @@ If ``true``, the key was already pressed before this event. It means the user is
 - void **set_keycode** **(** :ref:`Key<enum_@GlobalScope_Key>` value **)**
 - void **set_keycode** **(** :ref:`Key<enum_@GlobalScope_Key>` value **)**
 - :ref:`Key<enum_@GlobalScope_Key>` **get_keycode** **(** **)**
 - :ref:`Key<enum_@GlobalScope_Key>` **get_keycode** **(** **)**
 
 
-The key keycode, which corresponds to one of the :ref:`Key<enum_@GlobalScope_Key>` constants. Represent key in the current keyboard layout.
+Latin label printed on the key in the current keyboard layout, which corresponds to one of the :ref:`Key<enum_@GlobalScope_Key>` constants.
 
 
 To get a human-readable representation of the **InputEventKey**, use ``OS.get_keycode_string(event.keycode)`` where ``event`` is the **InputEventKey**.
 To get a human-readable representation of the **InputEventKey**, use ``OS.get_keycode_string(event.keycode)`` where ``event`` is the **InputEventKey**.
 
 
+::
+
+        +-----+ +-----+
+        | Q   | | Q   | - "Q" - keycode
+        |   Й | |  ض | - "Й" and "ض" - key_label
+        +-----+ +-----+
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -118,7 +167,7 @@ To get a human-readable representation of the **InputEventKey**, use ``OS.get_ke
 - void **set_physical_keycode** **(** :ref:`Key<enum_@GlobalScope_Key>` value **)**
 - void **set_physical_keycode** **(** :ref:`Key<enum_@GlobalScope_Key>` value **)**
 - :ref:`Key<enum_@GlobalScope_Key>` **get_physical_keycode** **(** **)**
 - :ref:`Key<enum_@GlobalScope_Key>` **get_physical_keycode** **(** **)**
 
 
-Key physical keycode, which corresponds to one of the :ref:`Key<enum_@GlobalScope_Key>` constants. Represent the physical location of a key on the 101/102-key US QWERTY keyboard.
+Represents the physical location of a key on the 101/102-key US QWERTY keyboard, which corresponds to one of the :ref:`Key<enum_@GlobalScope_Key>` constants.
 
 
 To get a human-readable representation of the **InputEventKey**, use ``OS.get_keycode_string(event.keycode)`` where ``event`` is the **InputEventKey**.
 To get a human-readable representation of the **InputEventKey**, use ``OS.get_keycode_string(event.keycode)`` where ``event`` is the **InputEventKey**.
 
 
@@ -154,7 +203,7 @@ If ``true``, the key's state is pressed. If ``false``, the key's state is releas
 - void **set_unicode** **(** :ref:`int<class_int>` value **)**
 - void **set_unicode** **(** :ref:`int<class_int>` value **)**
 - :ref:`int<class_int>` **get_unicode** **(** **)**
 - :ref:`int<class_int>` **get_unicode** **(** **)**
 
 
-The key Unicode identifier (when relevant). Unicode identifiers for the composite characters and complex scripts may not be available unless IME input mode is active. See :ref:`Window.set_ime_active<class_Window_method_set_ime_active>` for more information.
+The key Unicode character code (when relevant), shifted by modifier keys. Unicode character codes for composite characters and complex scripts may not be available unless IME input mode is active. See :ref:`Window.set_ime_active<class_Window_method_set_ime_active>` for more information.
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -165,13 +214,63 @@ The key Unicode identifier (when relevant). Unicode identifiers for the composit
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 
+.. _class_InputEventKey_method_as_text_key_label:
+
+.. rst-class:: classref-method
+
+:ref:`String<class_String>` **as_text_key_label** **(** **)** |const|
+
+Returns a :ref:`String<class_String>` representation of the event's :ref:`key_label<class_InputEventKey_property_key_label>` and modifiers.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_InputEventKey_method_as_text_keycode:
+
+.. rst-class:: classref-method
+
+:ref:`String<class_String>` **as_text_keycode** **(** **)** |const|
+
+Returns a :ref:`String<class_String>` representation of the event's :ref:`keycode<class_InputEventKey_property_keycode>` and modifiers.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_InputEventKey_method_as_text_physical_keycode:
+
+.. rst-class:: classref-method
+
+:ref:`String<class_String>` **as_text_physical_keycode** **(** **)** |const|
+
+Returns a :ref:`String<class_String>` representation of the event's :ref:`physical_keycode<class_InputEventKey_property_physical_keycode>` and modifiers.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_InputEventKey_method_get_key_label_with_modifiers:
+
+.. rst-class:: classref-method
+
+:ref:`Key<enum_@GlobalScope_Key>` **get_key_label_with_modifiers** **(** **)** |const|
+
+Returns the localized key label combined with modifier keys such as :kbd:`Shift` or :kbd:`Alt`. See also :ref:`InputEventWithModifiers<class_InputEventWithModifiers>`.
+
+To get a human-readable representation of the **InputEventKey** with modifiers, use ``OS.get_keycode_string(event.get_key_label_with_modifiers())`` where ``event`` is the **InputEventKey**.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_InputEventKey_method_get_keycode_with_modifiers:
 .. _class_InputEventKey_method_get_keycode_with_modifiers:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
 :ref:`Key<enum_@GlobalScope_Key>` **get_keycode_with_modifiers** **(** **)** |const|
 :ref:`Key<enum_@GlobalScope_Key>` **get_keycode_with_modifiers** **(** **)** |const|
 
 
-Returns the keycode combined with modifier keys such as :kbd:`Shift` or :kbd:`Alt`. See also :ref:`InputEventWithModifiers<class_InputEventWithModifiers>`.
+Returns the Latin keycode combined with modifier keys such as :kbd:`Shift` or :kbd:`Alt`. See also :ref:`InputEventWithModifiers<class_InputEventWithModifiers>`.
 
 
 To get a human-readable representation of the **InputEventKey** with modifiers, use ``OS.get_keycode_string(event.get_keycode_with_modifiers())`` where ``event`` is the **InputEventKey**.
 To get a human-readable representation of the **InputEventKey** with modifiers, use ``OS.get_keycode_string(event.get_keycode_with_modifiers())`` where ``event`` is the **InputEventKey**.
 
 

+ 17 - 3
classes/class_inputeventwithmodifiers.rst

@@ -58,9 +58,11 @@ Methods
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +-------------------------+------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>` | :ref:`is_command_or_control_pressed<class_InputEventWithModifiers_method_is_command_or_control_pressed>` **(** **)** |const| |
-   +-------------------------+------------------------------------------------------------------------------------------------------------------------------+
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` | :ref:`get_modifiers_mask<class_InputEventWithModifiers_method_get_modifiers_mask>` **(** **)** |const|                       |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                   | :ref:`is_command_or_control_pressed<class_InputEventWithModifiers_method_is_command_or_control_pressed>` **(** **)** |const| |
+   +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -161,6 +163,18 @@ State of the :kbd:`Shift` modifier.
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 
+.. _class_InputEventWithModifiers_method_get_modifiers_mask:
+
+.. rst-class:: classref-method
+
+:ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **get_modifiers_mask** **(** **)** |const|
+
+Returns the keycode combination of modifier keys.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_InputEventWithModifiers_method_is_command_or_control_pressed:
 .. _class_InputEventWithModifiers_method_is_command_or_control_pressed:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 1 - 1
classes/class_javascriptbridge.rst

@@ -21,7 +21,7 @@ Description
 
 
 The JavaScriptBridge singleton is implemented only in the Web export. It's used to access the browser's JavaScript context. This allows interaction with embedding pages or calling third-party JavaScript APIs.
 The JavaScriptBridge singleton is implemented only in the Web export. It's used to access the browser's JavaScript context. This allows interaction with embedding pages or calling third-party JavaScript APIs.
 
 
-\ **Note:** This singleton can be disabled at build-time to improve security. By default, the JavaScriptBridge singleton is enabled. Official export templates also have the JavaScriptBridge singleton enabled. See :doc:`Compiling for the Web <../development/compiling/compiling_for_web>` in the documentation for more information.
+\ **Note:** This singleton can be disabled at build-time to improve security. By default, the JavaScriptBridge singleton is enabled. Official export templates also have the JavaScriptBridge singleton enabled. See :doc:`Compiling for the Web <../contributing/development/compiling/compiling_for_web>` in the documentation for more information.
 
 
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 

+ 20 - 4
classes/class_json.rst

@@ -10,7 +10,7 @@
 JSON
 JSON
 ====
 ====
 
 
-**Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 
 Helper class for creating and parsing JSON data.
 Helper class for creating and parsing JSON data.
 
 
@@ -85,7 +85,9 @@ Methods
    +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`           | :ref:`get_error_message<class_JSON_method_get_error_message>` **(** **)** |const|                                                                                                                                                  |
    | :ref:`String<class_String>`           | :ref:`get_error_message<class_JSON_method_get_error_message>` **(** **)** |const|                                                                                                                                                  |
    +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`parse<class_JSON_method_parse>` **(** :ref:`String<class_String>` json_string **)**                                                                                                                                          |
+   | :ref:`String<class_String>`           | :ref:`get_parsed_text<class_JSON_method_get_parsed_text>` **(** **)** |const|                                                                                                                                                      |
+   +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`parse<class_JSON_method_parse>` **(** :ref:`String<class_String>` json_text, :ref:`bool<class_bool>` keep_text=false **)**                                                                                                   |
    +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Variant<class_Variant>`         | :ref:`parse_string<class_JSON_method_parse_string>` **(** :ref:`String<class_String>` json_string **)** |static|                                                                                                                   |
    | :ref:`Variant<class_Variant>`         | :ref:`parse_string<class_JSON_method_parse_string>` **(** :ref:`String<class_String>` json_string **)** |static|                                                                                                                   |
    +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -147,18 +149,32 @@ Returns an empty string if the last call to :ref:`parse<class_JSON_method_parse>
 
 
 ----
 ----
 
 
+.. _class_JSON_method_get_parsed_text:
+
+.. rst-class:: classref-method
+
+:ref:`String<class_String>` **get_parsed_text** **(** **)** |const|
+
+Return the text parsed by :ref:`parse<class_JSON_method_parse>` as long as the function is instructed to keep it.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_JSON_method_parse:
 .. _class_JSON_method_parse:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`Error<enum_@GlobalScope_Error>` **parse** **(** :ref:`String<class_String>` json_string **)**
+:ref:`Error<enum_@GlobalScope_Error>` **parse** **(** :ref:`String<class_String>` json_text, :ref:`bool<class_bool>` keep_text=false **)**
 
 
-Attempts to parse the ``json_string`` provided.
+Attempts to parse the ``json_text`` provided.
 
 
 Returns an :ref:`Error<enum_@GlobalScope_Error>`. If the parse was successful, it returns :ref:`@GlobalScope.OK<class_@GlobalScope_constant_OK>` and the result can be retrieved using :ref:`data<class_JSON_property_data>`. If unsuccessful, use :ref:`get_error_line<class_JSON_method_get_error_line>` and :ref:`get_error_message<class_JSON_method_get_error_message>` for identifying the source of the failure.
 Returns an :ref:`Error<enum_@GlobalScope_Error>`. If the parse was successful, it returns :ref:`@GlobalScope.OK<class_@GlobalScope_constant_OK>` and the result can be retrieved using :ref:`data<class_JSON_property_data>`. If unsuccessful, use :ref:`get_error_line<class_JSON_method_get_error_line>` and :ref:`get_error_message<class_JSON_method_get_error_message>` for identifying the source of the failure.
 
 
 Non-static variant of :ref:`parse_string<class_JSON_method_parse_string>`, if you want custom error handling.
 Non-static variant of :ref:`parse_string<class_JSON_method_parse_string>`, if you want custom error handling.
 
 
+The optional ``keep_text`` argument instructs the parser to keep a copy of the original text. This text can be obtained later by using the :ref:`get_parsed_text<class_JSON_method_get_parsed_text>` function and is used when saving the resource (instead of generating new text from :ref:`data<class_JSON_property_data>`).
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----

+ 1 - 1
classes/class_light3d.rst

@@ -579,7 +579,7 @@ A typical household lightbulb can range from around 600 lumens to 1,200 lumens,
 - void **set_param** **(** :ref:`Param<enum_Light3D_Param>` param, :ref:`float<class_float>` value **)**
 - void **set_param** **(** :ref:`Param<enum_Light3D_Param>` param, :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_param** **(** :ref:`Param<enum_Light3D_Param>` param **)** |const|
 - :ref:`float<class_float>` **get_param** **(** :ref:`Param<enum_Light3D_Param>` param **)** |const|
 
 
-Used by :ref:`DirectionalLight3D<class_DirectionalLight3D>`\ s when :ref:`ProjectSettings.rendering/lights_and_shadows/use_physical_light_units<class_ProjectSettings_property_rendering/lights_and_shadows/use_physical_light_units>` is ``true``. Sets the intensity of the light source measured in Lux. Lux is a measure pf luminous flux per unit area, it is equal to one lumen per square metre. Lux is the measure of how much light hits a surface at a given time.
+Used by :ref:`DirectionalLight3D<class_DirectionalLight3D>`\ s when :ref:`ProjectSettings.rendering/lights_and_shadows/use_physical_light_units<class_ProjectSettings_property_rendering/lights_and_shadows/use_physical_light_units>` is ``true``. Sets the intensity of the light source measured in Lux. Lux is a measure of luminous flux per unit area, it is equal to one lumen per square meter. Lux is the measure of how much light hits a surface at a given time.
 
 
 On a clear sunny day a surface in direct sunlight may be approximately 100,000 lux, a typical room in a home may be approximately 50 lux, while the moonlit ground may be approximately 0.1 lux.
 On a clear sunny day a surface in direct sunlight may be approximately 100,000 lux, a typical room in a home may be approximately 50 lux, while the moonlit ground may be approximately 0.1 lux.
 
 

+ 22 - 6
classes/class_lightmapgi.rst

@@ -184,11 +184,27 @@ enum **BakeError**:
 
 
 Lightmap baking was successful.
 Lightmap baking was successful.
 
 
+.. _class_LightmapGI_constant_BAKE_ERROR_NO_SCENE_ROOT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`BakeError<enum_LightmapGI_BakeError>` **BAKE_ERROR_NO_SCENE_ROOT** = ``1``
+
+Lightmap baking failed because the root node for the edited scene could not be accessed.
+
+.. _class_LightmapGI_constant_BAKE_ERROR_FOREIGN_DATA:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`BakeError<enum_LightmapGI_BakeError>` **BAKE_ERROR_FOREIGN_DATA** = ``2``
+
+Lightmap baking failed as the lightmap data resource is embedded in a foreign resource.
+
 .. _class_LightmapGI_constant_BAKE_ERROR_NO_LIGHTMAPPER:
 .. _class_LightmapGI_constant_BAKE_ERROR_NO_LIGHTMAPPER:
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`BakeError<enum_LightmapGI_BakeError>` **BAKE_ERROR_NO_LIGHTMAPPER** = ``1``
+:ref:`BakeError<enum_LightmapGI_BakeError>` **BAKE_ERROR_NO_LIGHTMAPPER** = ``3``
 
 
 Lightmap baking failed as there is no lightmapper available in this Godot build.
 Lightmap baking failed as there is no lightmapper available in this Godot build.
 
 
@@ -196,7 +212,7 @@ Lightmap baking failed as there is no lightmapper available in this Godot build.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`BakeError<enum_LightmapGI_BakeError>` **BAKE_ERROR_NO_SAVE_PATH** = ``2``
+:ref:`BakeError<enum_LightmapGI_BakeError>` **BAKE_ERROR_NO_SAVE_PATH** = ``4``
 
 
 Lightmap baking failed as the :ref:`LightmapGIData<class_LightmapGIData>` save path isn't configured in the resource.
 Lightmap baking failed as the :ref:`LightmapGIData<class_LightmapGIData>` save path isn't configured in the resource.
 
 
@@ -204,7 +220,7 @@ Lightmap baking failed as the :ref:`LightmapGIData<class_LightmapGIData>` save p
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`BakeError<enum_LightmapGI_BakeError>` **BAKE_ERROR_NO_MESHES** = ``3``
+:ref:`BakeError<enum_LightmapGI_BakeError>` **BAKE_ERROR_NO_MESHES** = ``5``
 
 
 Lightmap baking failed as there are no meshes whose :ref:`GeometryInstance3D.gi_mode<class_GeometryInstance3D_property_gi_mode>` is :ref:`GeometryInstance3D.GI_MODE_STATIC<class_GeometryInstance3D_constant_GI_MODE_STATIC>` and with valid UV2 mapping in the current scene. You may need to select 3D scenes in the Import dock and change their global illumination mode accordingly.
 Lightmap baking failed as there are no meshes whose :ref:`GeometryInstance3D.gi_mode<class_GeometryInstance3D_property_gi_mode>` is :ref:`GeometryInstance3D.GI_MODE_STATIC<class_GeometryInstance3D_constant_GI_MODE_STATIC>` and with valid UV2 mapping in the current scene. You may need to select 3D scenes in the Import dock and change their global illumination mode accordingly.
 
 
@@ -212,7 +228,7 @@ Lightmap baking failed as there are no meshes whose :ref:`GeometryInstance3D.gi_
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`BakeError<enum_LightmapGI_BakeError>` **BAKE_ERROR_MESHES_INVALID** = ``4``
+:ref:`BakeError<enum_LightmapGI_BakeError>` **BAKE_ERROR_MESHES_INVALID** = ``6``
 
 
 Lightmap baking failed as the lightmapper failed to analyze some of the meshes marked as static for baking.
 Lightmap baking failed as the lightmapper failed to analyze some of the meshes marked as static for baking.
 
 
@@ -220,7 +236,7 @@ Lightmap baking failed as the lightmapper failed to analyze some of the meshes m
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`BakeError<enum_LightmapGI_BakeError>` **BAKE_ERROR_CANT_CREATE_IMAGE** = ``5``
+:ref:`BakeError<enum_LightmapGI_BakeError>` **BAKE_ERROR_CANT_CREATE_IMAGE** = ``7``
 
 
 Lightmap baking failed as the resulting image couldn't be saved or imported by Godot after it was saved.
 Lightmap baking failed as the resulting image couldn't be saved or imported by Godot after it was saved.
 
 
@@ -228,7 +244,7 @@ Lightmap baking failed as the resulting image couldn't be saved or imported by G
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`BakeError<enum_LightmapGI_BakeError>` **BAKE_ERROR_USER_ABORTED** = ``6``
+:ref:`BakeError<enum_LightmapGI_BakeError>` **BAKE_ERROR_USER_ABORTED** = ``8``
 
 
 The user aborted the lightmap baking operation (typically by clicking the **Cancel** button in the progress dialog).
 The user aborted the lightmap baking operation (typically by clicking the **Cancel** button in the progress dialog).
 
 

+ 83 - 22
classes/class_lineedit.rst

@@ -335,11 +335,19 @@ Undoes the previous action.
 
 
 Reverse the last undo action.
 Reverse the last undo action.
 
 
+.. _class_LineEdit_constant_MENU_SUBMENU_TEXT_DIR:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_SUBMENU_TEXT_DIR** = ``7``
+
+ID of "Text Writing Direction" submenu.
+
 .. _class_LineEdit_constant_MENU_DIR_INHERITED:
 .. _class_LineEdit_constant_MENU_DIR_INHERITED:
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_DIR_INHERITED** = ``7``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_DIR_INHERITED** = ``8``
 
 
 Sets text direction to inherited.
 Sets text direction to inherited.
 
 
@@ -347,7 +355,7 @@ Sets text direction to inherited.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_DIR_AUTO** = ``8``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_DIR_AUTO** = ``9``
 
 
 Sets text direction to automatic.
 Sets text direction to automatic.
 
 
@@ -355,7 +363,7 @@ Sets text direction to automatic.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_DIR_LTR** = ``9``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_DIR_LTR** = ``10``
 
 
 Sets text direction to left-to-right.
 Sets text direction to left-to-right.
 
 
@@ -363,7 +371,7 @@ Sets text direction to left-to-right.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_DIR_RTL** = ``10``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_DIR_RTL** = ``11``
 
 
 Sets text direction to right-to-left.
 Sets text direction to right-to-left.
 
 
@@ -371,15 +379,23 @@ Sets text direction to right-to-left.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_DISPLAY_UCC** = ``11``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_DISPLAY_UCC** = ``12``
 
 
 Toggles control character display.
 Toggles control character display.
 
 
+.. _class_LineEdit_constant_MENU_SUBMENU_INSERT_UCC:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_SUBMENU_INSERT_UCC** = ``13``
+
+ID of "Insert Control Character" submenu.
+
 .. _class_LineEdit_constant_MENU_INSERT_LRM:
 .. _class_LineEdit_constant_MENU_INSERT_LRM:
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_LRM** = ``12``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_LRM** = ``14``
 
 
 Inserts left-to-right mark (LRM) character.
 Inserts left-to-right mark (LRM) character.
 
 
@@ -387,7 +403,7 @@ Inserts left-to-right mark (LRM) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_RLM** = ``13``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_RLM** = ``15``
 
 
 Inserts right-to-left mark (RLM) character.
 Inserts right-to-left mark (RLM) character.
 
 
@@ -395,7 +411,7 @@ Inserts right-to-left mark (RLM) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_LRE** = ``14``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_LRE** = ``16``
 
 
 Inserts start of left-to-right embedding (LRE) character.
 Inserts start of left-to-right embedding (LRE) character.
 
 
@@ -403,7 +419,7 @@ Inserts start of left-to-right embedding (LRE) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_RLE** = ``15``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_RLE** = ``17``
 
 
 Inserts start of right-to-left embedding (RLE) character.
 Inserts start of right-to-left embedding (RLE) character.
 
 
@@ -411,7 +427,7 @@ Inserts start of right-to-left embedding (RLE) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_LRO** = ``16``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_LRO** = ``18``
 
 
 Inserts start of left-to-right override (LRO) character.
 Inserts start of left-to-right override (LRO) character.
 
 
@@ -419,7 +435,7 @@ Inserts start of left-to-right override (LRO) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_RLO** = ``17``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_RLO** = ``19``
 
 
 Inserts start of right-to-left override (RLO) character.
 Inserts start of right-to-left override (RLO) character.
 
 
@@ -427,7 +443,7 @@ Inserts start of right-to-left override (RLO) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_PDF** = ``18``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_PDF** = ``20``
 
 
 Inserts pop direction formatting (PDF) character.
 Inserts pop direction formatting (PDF) character.
 
 
@@ -435,7 +451,7 @@ Inserts pop direction formatting (PDF) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_ALM** = ``19``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_ALM** = ``21``
 
 
 Inserts Arabic letter mark (ALM) character.
 Inserts Arabic letter mark (ALM) character.
 
 
@@ -443,7 +459,7 @@ Inserts Arabic letter mark (ALM) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_LRI** = ``20``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_LRI** = ``22``
 
 
 Inserts left-to-right isolate (LRI) character.
 Inserts left-to-right isolate (LRI) character.
 
 
@@ -451,7 +467,7 @@ Inserts left-to-right isolate (LRI) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_RLI** = ``21``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_RLI** = ``23``
 
 
 Inserts right-to-left isolate (RLI) character.
 Inserts right-to-left isolate (RLI) character.
 
 
@@ -459,7 +475,7 @@ Inserts right-to-left isolate (RLI) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_FSI** = ``22``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_FSI** = ``24``
 
 
 Inserts first strong isolate (FSI) character.
 Inserts first strong isolate (FSI) character.
 
 
@@ -467,7 +483,7 @@ Inserts first strong isolate (FSI) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_PDI** = ``23``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_PDI** = ``25``
 
 
 Inserts pop direction isolate (PDI) character.
 Inserts pop direction isolate (PDI) character.
 
 
@@ -475,7 +491,7 @@ Inserts pop direction isolate (PDI) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_ZWJ** = ``24``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_ZWJ** = ``26``
 
 
 Inserts zero width joiner (ZWJ) character.
 Inserts zero width joiner (ZWJ) character.
 
 
@@ -483,7 +499,7 @@ Inserts zero width joiner (ZWJ) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_ZWNJ** = ``25``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_ZWNJ** = ``27``
 
 
 Inserts zero width non-joiner (ZWNJ) character.
 Inserts zero width non-joiner (ZWNJ) character.
 
 
@@ -491,7 +507,7 @@ Inserts zero width non-joiner (ZWNJ) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_WJ** = ``26``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_WJ** = ``28``
 
 
 Inserts word joiner (WJ) character.
 Inserts word joiner (WJ) character.
 
 
@@ -499,7 +515,7 @@ Inserts word joiner (WJ) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_SHY** = ``27``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_INSERT_SHY** = ``29``
 
 
 Inserts soft hyphen (SHY) character.
 Inserts soft hyphen (SHY) character.
 
 
@@ -507,7 +523,7 @@ Inserts soft hyphen (SHY) character.
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_MAX** = ``28``
+:ref:`MenuItems<enum_LineEdit_MenuItems>` **MENU_MAX** = ``30``
 
 
 Represents the size of the :ref:`MenuItems<enum_LineEdit_MenuItems>` enum.
 Represents the size of the :ref:`MenuItems<enum_LineEdit_MenuItems>` enum.
 
 
@@ -1185,6 +1201,51 @@ Clears the current selection.
 
 
 Returns the :ref:`PopupMenu<class_PopupMenu>` of this **LineEdit**. By default, this menu is displayed when right-clicking on the **LineEdit**.
 Returns the :ref:`PopupMenu<class_PopupMenu>` of this **LineEdit**. By default, this menu is displayed when right-clicking on the **LineEdit**.
 
 
+You can add custom menu items or remove standard ones. Make sure your IDs don't conflict with the standard ones (see :ref:`MenuItems<enum_LineEdit_MenuItems>`). For example:
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    func _ready():
+        var menu = get_menu()
+        # Remove all items after "Redo".
+        menu.item_count = menu.get_item_index(MENU_REDO) + 1
+        # Add custom items.
+        menu.add_separator()
+        menu.add_item("Insert Date", MENU_MAX + 1)
+        # Connect callback.
+        menu.id_pressed.connect(_on_item_pressed)
+    
+    func _on_item_pressed(id):
+        if id == MENU_MAX + 1:
+            insert_text_at_caret(Time.get_date_string_from_system())
+
+ .. code-tab:: csharp
+
+    public override void _Ready()
+    {
+        var menu = GetMenu();
+        // Remove all items after "Redo".
+        menu.ItemCount = menu.GetItemIndex(LineEdit.MenuItems.Redo) + 1;
+        // Add custom items.
+        menu.AddSeparator();
+        menu.AddItem("Insert Date", LineEdit.MenuItems.Max + 1);
+        // Add event handler.
+        menu.IdPressed += OnItemPressed;
+    }
+    
+    public void OnItemPressed(int id)
+    {
+        if (id == LineEdit.MenuItems.Max + 1)
+        {
+            InsertTextAtCaret(Time.GetDateStringFromSystem());
+        }
+    }
+
+
+
 \ **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:`Window.visible<class_Window_property_visible>` property.
 \ **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:`Window.visible<class_Window_property_visible>` property.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator

+ 1 - 1
classes/class_marshalls.rst

@@ -12,7 +12,7 @@ Marshalls
 
 
 **Inherits:** :ref:`Object<class_Object>`
 **Inherits:** :ref:`Object<class_Object>`
 
 
-Data transformation (marshalling) and encoding helpers.
+Data transformation (marshaling) and encoding helpers.
 
 
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 

+ 25 - 11
classes/class_material.rst

@@ -54,17 +54,19 @@ Methods
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +-------------------------------+---------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`       | :ref:`_can_do_next_pass<class_Material_method__can_do_next_pass>` **(** **)** |virtual| |const|               |
-   +-------------------------------+---------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`       | :ref:`_can_use_render_priority<class_Material_method__can_use_render_priority>` **(** **)** |virtual| |const| |
-   +-------------------------------+---------------------------------------------------------------------------------------------------------------+
-   | :ref:`Mode<enum_Shader_Mode>` | :ref:`_get_shader_mode<class_Material_method__get_shader_mode>` **(** **)** |virtual| |const|                 |
-   +-------------------------------+---------------------------------------------------------------------------------------------------------------+
-   | :ref:`RID<class_RID>`         | :ref:`_get_shader_rid<class_Material_method__get_shader_rid>` **(** **)** |virtual| |const|                   |
-   +-------------------------------+---------------------------------------------------------------------------------------------------------------+
-   | void                          | :ref:`inspect_native_shader_code<class_Material_method_inspect_native_shader_code>` **(** **)**               |
-   +-------------------------------+---------------------------------------------------------------------------------------------------------------+
+   +---------------------------------+---------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`         | :ref:`_can_do_next_pass<class_Material_method__can_do_next_pass>` **(** **)** |virtual| |const|               |
+   +---------------------------------+---------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`         | :ref:`_can_use_render_priority<class_Material_method__can_use_render_priority>` **(** **)** |virtual| |const| |
+   +---------------------------------+---------------------------------------------------------------------------------------------------------------+
+   | :ref:`Mode<enum_Shader_Mode>`   | :ref:`_get_shader_mode<class_Material_method__get_shader_mode>` **(** **)** |virtual| |const|                 |
+   +---------------------------------+---------------------------------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`           | :ref:`_get_shader_rid<class_Material_method__get_shader_rid>` **(** **)** |virtual| |const|                   |
+   +---------------------------------+---------------------------------------------------------------------------------------------------------------+
+   | :ref:`Resource<class_Resource>` | :ref:`create_placeholder<class_Material_method_create_placeholder>` **(** **)** |const|                       |
+   +---------------------------------+---------------------------------------------------------------------------------------------------------------+
+   | void                            | :ref:`inspect_native_shader_code<class_Material_method_inspect_native_shader_code>` **(** **)**               |
+   +---------------------------------+---------------------------------------------------------------------------------------------------------------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -201,6 +203,18 @@ Method Descriptions
 
 
 ----
 ----
 
 
+.. _class_Material_method_create_placeholder:
+
+.. rst-class:: classref-method
+
+:ref:`Resource<class_Resource>` **create_placeholder** **(** **)** |const|
+
+Creates a placeholder version of this resource (:ref:`PlaceholderMaterial<class_PlaceholderMaterial>`).
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_Material_method_inspect_native_shader_code:
 .. _class_Material_method_inspect_native_shader_code:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 24 - 2
classes/class_mesh.rst

@@ -89,6 +89,8 @@ Methods
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Mesh<class_Mesh>`                                   | :ref:`create_outline<class_Mesh_method_create_outline>` **(** :ref:`float<class_float>` margin **)** |const|                                                      |
    | :ref:`Mesh<class_Mesh>`                                   | :ref:`create_outline<class_Mesh_method_create_outline>` **(** :ref:`float<class_float>` margin **)** |const|                                                      |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Resource<class_Resource>`                           | :ref:`create_placeholder<class_Mesh_method_create_placeholder>` **(** **)** |const|                                                                               |
+   +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>` | :ref:`create_trimesh_shape<class_Mesh_method_create_trimesh_shape>` **(** **)** |const|                                                                           |
    | :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>` | :ref:`create_trimesh_shape<class_Mesh_method_create_trimesh_shape>` **(** **)** |const|                                                                           |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`TriangleMesh<class_TriangleMesh>`                   | :ref:`generate_triangle_mesh<class_Mesh_method_generate_triangle_mesh>` **(** **)** |const|                                                                       |
    | :ref:`TriangleMesh<class_TriangleMesh>`                   | :ref:`generate_triangle_mesh<class_Mesh_method_generate_triangle_mesh>` **(** **)** |const|                                                                       |
@@ -259,7 +261,7 @@ Contains custom color channel 3. :ref:`PackedByteArray<class_PackedByteArray>` i
 
 
 :ref:`ArrayType<enum_Mesh_ArrayType>` **ARRAY_BONES** = ``10``
 :ref:`ArrayType<enum_Mesh_ArrayType>` **ARRAY_BONES** = ``10``
 
 
-:ref:`PackedFloat32Array<class_PackedFloat32Array>` or :ref:`PackedInt32Array<class_PackedInt32Array>` of bone indices. Each element is a group of 4 numbers.
+:ref:`PackedFloat32Array<class_PackedFloat32Array>` or :ref:`PackedInt32Array<class_PackedInt32Array>` of bone indices. Contains either 4 or 8 numbers per vertex depending on the presence of the :ref:`ARRAY_FLAG_USE_8_BONE_WEIGHTS<class_Mesh_constant_ARRAY_FLAG_USE_8_BONE_WEIGHTS>` flag.
 
 
 .. _class_Mesh_constant_ARRAY_WEIGHTS:
 .. _class_Mesh_constant_ARRAY_WEIGHTS:
 
 
@@ -267,7 +269,7 @@ Contains custom color channel 3. :ref:`PackedByteArray<class_PackedByteArray>` i
 
 
 :ref:`ArrayType<enum_Mesh_ArrayType>` **ARRAY_WEIGHTS** = ``11``
 :ref:`ArrayType<enum_Mesh_ArrayType>` **ARRAY_WEIGHTS** = ``11``
 
 
-:ref:`PackedFloat32Array<class_PackedFloat32Array>` of bone weights. Each element in groups of 4 floats.
+:ref:`PackedFloat32Array<class_PackedFloat32Array>` or :ref:`PackedFloat64Array<class_PackedFloat64Array>` of bone weights in the range ``0.0`` to ``1.0`` (inclusive). Contains either 4 or 8 numbers per vertex depending on the presence of the :ref:`ARRAY_FLAG_USE_8_BONE_WEIGHTS<class_Mesh_constant_ARRAY_FLAG_USE_8_BONE_WEIGHTS>` flag.
 
 
 .. _class_Mesh_constant_ARRAY_INDEX:
 .. _class_Mesh_constant_ARRAY_INDEX:
 
 
@@ -579,6 +581,14 @@ Flag indices that the mesh data will use ``GL_DYNAMIC_DRAW`` on GLES. Unused on
 
 
 Flag used to mark that the mesh contains up to 8 bone influences per vertex. This flag indicates that :ref:`ARRAY_BONES<class_Mesh_constant_ARRAY_BONES>` and :ref:`ARRAY_WEIGHTS<class_Mesh_constant_ARRAY_WEIGHTS>` elements will have double length.
 Flag used to mark that the mesh contains up to 8 bone influences per vertex. This flag indicates that :ref:`ARRAY_BONES<class_Mesh_constant_ARRAY_BONES>` and :ref:`ARRAY_WEIGHTS<class_Mesh_constant_ARRAY_WEIGHTS>` elements will have double length.
 
 
+.. _class_Mesh_constant_ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ArrayFormat<enum_Mesh_ArrayFormat>` **ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY** = ``268435456``
+
+Flag used to mark that the mesh intentionally contains no vertex array.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -862,6 +872,18 @@ Calculate an outline mesh at a defined offset (margin) from the original mesh.
 
 
 ----
 ----
 
 
+.. _class_Mesh_method_create_placeholder:
+
+.. rst-class:: classref-method
+
+:ref:`Resource<class_Resource>` **create_placeholder** **(** **)** |const|
+
+Creates a placeholder version of this resource (:ref:`PlaceholderMesh<class_PlaceholderMesh>`).
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_Mesh_method_create_trimesh_shape:
 .. _class_Mesh_method_create_trimesh_shape:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method

+ 5 - 26
classes/class_meshinstance2d.rst

@@ -36,13 +36,11 @@ Properties
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +-----------------------------------+-------------------------------------------------------------+
-   | :ref:`Mesh<class_Mesh>`           | :ref:`mesh<class_MeshInstance2D_property_mesh>`             |
-   +-----------------------------------+-------------------------------------------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`normal_map<class_MeshInstance2D_property_normal_map>` |
-   +-----------------------------------+-------------------------------------------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`texture<class_MeshInstance2D_property_texture>`       |
-   +-----------------------------------+-------------------------------------------------------------+
+   +-----------------------------------+-------------------------------------------------------+
+   | :ref:`Mesh<class_Mesh>`           | :ref:`mesh<class_MeshInstance2D_property_mesh>`       |
+   +-----------------------------------+-------------------------------------------------------+
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`texture<class_MeshInstance2D_property_texture>` |
+   +-----------------------------------+-------------------------------------------------------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -87,25 +85,6 @@ The :ref:`Mesh<class_Mesh>` that will be drawn by the **MeshInstance2D**.
 
 
 ----
 ----
 
 
-.. _class_MeshInstance2D_property_normal_map:
-
-.. rst-class:: classref-property
-
-:ref:`Texture2D<class_Texture2D>` **normal_map**
-
-.. rst-class:: classref-property-setget
-
-- void **set_normal_map** **(** :ref:`Texture2D<class_Texture2D>` value **)**
-- :ref:`Texture2D<class_Texture2D>` **get_normal_map** **(** **)**
-
-The normal map that will be used if using the default :ref:`CanvasItemMaterial<class_CanvasItemMaterial>`.
-
-\ **Note:** Godot expects the normal map to use X+, Y+, and Z+ coordinates. See `this page <http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates>`__ for a comparison of normal map coordinates expected by popular engines.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_MeshInstance2D_property_texture:
 .. _class_MeshInstance2D_property_texture:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property

+ 5 - 26
classes/class_multimeshinstance2d.rst

@@ -31,13 +31,11 @@ Properties
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +-----------------------------------+------------------------------------------------------------------+
-   | :ref:`MultiMesh<class_MultiMesh>` | :ref:`multimesh<class_MultiMeshInstance2D_property_multimesh>`   |
-   +-----------------------------------+------------------------------------------------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`normal_map<class_MultiMeshInstance2D_property_normal_map>` |
-   +-----------------------------------+------------------------------------------------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`texture<class_MultiMeshInstance2D_property_texture>`       |
-   +-----------------------------------+------------------------------------------------------------------+
+   +-----------------------------------+----------------------------------------------------------------+
+   | :ref:`MultiMesh<class_MultiMesh>` | :ref:`multimesh<class_MultiMeshInstance2D_property_multimesh>` |
+   +-----------------------------------+----------------------------------------------------------------+
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`texture<class_MultiMeshInstance2D_property_texture>`     |
+   +-----------------------------------+----------------------------------------------------------------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -82,25 +80,6 @@ The :ref:`MultiMesh<class_MultiMesh>` that will be drawn by the **MultiMeshInsta
 
 
 ----
 ----
 
 
-.. _class_MultiMeshInstance2D_property_normal_map:
-
-.. rst-class:: classref-property
-
-:ref:`Texture2D<class_Texture2D>` **normal_map**
-
-.. rst-class:: classref-property-setget
-
-- void **set_normal_map** **(** :ref:`Texture2D<class_Texture2D>` value **)**
-- :ref:`Texture2D<class_Texture2D>` **get_normal_map** **(** **)**
-
-The normal map that will be used if using the default :ref:`CanvasItemMaterial<class_CanvasItemMaterial>`.
-
-\ **Note:** Godot expects the normal map to use X+, Y+, and Z+ coordinates. See `this page <http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates>`__ for a comparison of normal map coordinates expected by popular engines.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_MultiMeshInstance2D_property_texture:
 .. _class_MultiMeshInstance2D_property_texture:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property

+ 2 - 2
classes/class_multiplayerapi.rst

@@ -169,7 +169,7 @@ Used with :ref:`Node.rpc_config<class_Node_method_rpc_config>` to disable a meth
 
 
 :ref:`RPCMode<enum_MultiplayerAPI_RPCMode>` **RPC_MODE_ANY_PEER** = ``1``
 :ref:`RPCMode<enum_MultiplayerAPI_RPCMode>` **RPC_MODE_ANY_PEER** = ``1``
 
 
-Used with :ref:`Node.rpc_config<class_Node_method_rpc_config>` to set a method to be callable remotely by any peer. Analogous to the ``@rpc(any)`` annotation. Calls are accepted from all remote peers, no matter if they are node's authority or not.
+Used with :ref:`Node.rpc_config<class_Node_method_rpc_config>` to set a method to be callable remotely by any peer. Analogous to the ``@rpc("any")`` annotation. Calls are accepted from all remote peers, no matter if they are node's authority or not.
 
 
 .. _class_MultiplayerAPI_constant_RPC_MODE_AUTHORITY:
 .. _class_MultiplayerAPI_constant_RPC_MODE_AUTHORITY:
 
 
@@ -177,7 +177,7 @@ Used with :ref:`Node.rpc_config<class_Node_method_rpc_config>` to set a method t
 
 
 :ref:`RPCMode<enum_MultiplayerAPI_RPCMode>` **RPC_MODE_AUTHORITY** = ``2``
 :ref:`RPCMode<enum_MultiplayerAPI_RPCMode>` **RPC_MODE_AUTHORITY** = ``2``
 
 
-Used with :ref:`Node.rpc_config<class_Node_method_rpc_config>` to set a method to be callable remotely only by the current multiplayer authority (which is the server by default). Analogous to the ``@rpc(authority)`` annotation. See :ref:`Node.set_multiplayer_authority<class_Node_method_set_multiplayer_authority>`.
+Used with :ref:`Node.rpc_config<class_Node_method_rpc_config>` to set a method to be callable remotely only by the current multiplayer authority (which is the server by default). Analogous to the ``@rpc("authority")`` annotation. See :ref:`Node.set_multiplayer_authority<class_Node_method_set_multiplayer_authority>`.
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 

+ 36 - 36
classes/class_navigationagent2d.rst

@@ -19,9 +19,9 @@ NavigationAgent2D
 Description
 Description
 -----------
 -----------
 
 
-2D Agent that is used in navigation to reach a location while avoiding static and dynamic obstacles. The dynamic obstacles are avoided using RVO collision avoidance. The agent needs navigation data to work correctly. **NavigationAgent2D** is physics safe.
+2D Agent that is used in navigation to reach a position while avoiding static and dynamic obstacles. The dynamic obstacles are avoided using RVO collision avoidance. The agent needs navigation data to work correctly. **NavigationAgent2D** is physics safe.
 
 
-\ **Note:** After setting :ref:`target_location<class_NavigationAgent2D_property_target_location>` it is required to use the :ref:`get_next_location<class_NavigationAgent2D_method_get_next_location>` function once every physics frame to update the internal path logic of the NavigationAgent. The returned vector position from this function should be used as the next movement position for the agent's parent Node.
+\ **Note:** After setting :ref:`target_position<class_NavigationAgent2D_property_target_position>` it is required to use the :ref:`get_next_path_position<class_NavigationAgent2D_method_get_next_path_position>` function once every physics frame to update the internal path logic of the NavigationAgent. The returned vector position from this function should be used as the next movement position for the agent's parent Node.
 
 
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 
@@ -43,25 +43,25 @@ Properties
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    | :ref:`int<class_int>`                                                            | :ref:`max_neighbors<class_NavigationAgent2D_property_max_neighbors>`                     | ``10``            |
    | :ref:`int<class_int>`                                                            | :ref:`max_neighbors<class_NavigationAgent2D_property_max_neighbors>`                     | ``10``            |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
-   | :ref:`float<class_float>`                                                        | :ref:`max_speed<class_NavigationAgent2D_property_max_speed>`                             | ``200.0``         |
+   | :ref:`float<class_float>`                                                        | :ref:`max_speed<class_NavigationAgent2D_property_max_speed>`                             | ``100.0``         |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    | :ref:`int<class_int>`                                                            | :ref:`navigation_layers<class_NavigationAgent2D_property_navigation_layers>`             | ``1``             |
    | :ref:`int<class_int>`                                                            | :ref:`navigation_layers<class_NavigationAgent2D_property_navigation_layers>`             | ``1``             |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    | :ref:`float<class_float>`                                                        | :ref:`neighbor_distance<class_NavigationAgent2D_property_neighbor_distance>`             | ``500.0``         |
    | :ref:`float<class_float>`                                                        | :ref:`neighbor_distance<class_NavigationAgent2D_property_neighbor_distance>`             | ``500.0``         |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
-   | :ref:`float<class_float>`                                                        | :ref:`path_desired_distance<class_NavigationAgent2D_property_path_desired_distance>`     | ``1.0``           |
+   | :ref:`float<class_float>`                                                        | :ref:`path_desired_distance<class_NavigationAgent2D_property_path_desired_distance>`     | ``20.0``          |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
-   | :ref:`float<class_float>`                                                        | :ref:`path_max_distance<class_NavigationAgent2D_property_path_max_distance>`             | ``3.0``           |
+   | :ref:`float<class_float>`                                                        | :ref:`path_max_distance<class_NavigationAgent2D_property_path_max_distance>`             | ``100.0``         |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    | :ref:`PathMetadataFlags<enum_NavigationPathQueryParameters2D_PathMetadataFlags>` | :ref:`path_metadata_flags<class_NavigationAgent2D_property_path_metadata_flags>`         | ``7``             |
    | :ref:`PathMetadataFlags<enum_NavigationPathQueryParameters2D_PathMetadataFlags>` | :ref:`path_metadata_flags<class_NavigationAgent2D_property_path_metadata_flags>`         | ``7``             |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    | :ref:`float<class_float>`                                                        | :ref:`radius<class_NavigationAgent2D_property_radius>`                                   | ``10.0``          |
    | :ref:`float<class_float>`                                                        | :ref:`radius<class_NavigationAgent2D_property_radius>`                                   | ``10.0``          |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
-   | :ref:`float<class_float>`                                                        | :ref:`target_desired_distance<class_NavigationAgent2D_property_target_desired_distance>` | ``1.0``           |
+   | :ref:`float<class_float>`                                                        | :ref:`target_desired_distance<class_NavigationAgent2D_property_target_desired_distance>` | ``10.0``          |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
-   | :ref:`Vector2<class_Vector2>`                                                    | :ref:`target_location<class_NavigationAgent2D_property_target_location>`                 | ``Vector2(0, 0)`` |
+   | :ref:`Vector2<class_Vector2>`                                                    | :ref:`target_position<class_NavigationAgent2D_property_target_position>`                 | ``Vector2(0, 0)`` |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
-   | :ref:`float<class_float>`                                                        | :ref:`time_horizon<class_NavigationAgent2D_property_time_horizon>`                       | ``20.0``          |
+   | :ref:`float<class_float>`                                                        | :ref:`time_horizon<class_NavigationAgent2D_property_time_horizon>`                       | ``1.0``           |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------+
 
 
 .. rst-class:: classref-reftable-group
 .. rst-class:: classref-reftable-group
@@ -81,13 +81,13 @@ Methods
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`NavigationPathQueryResult2D<class_NavigationPathQueryResult2D>` | :ref:`get_current_navigation_result<class_NavigationAgent2D_method_get_current_navigation_result>` **(** **)** |const|                                                     |
    | :ref:`NavigationPathQueryResult2D<class_NavigationPathQueryResult2D>` | :ref:`get_current_navigation_result<class_NavigationAgent2D_method_get_current_navigation_result>` **(** **)** |const|                                                     |
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Vector2<class_Vector2>`                                         | :ref:`get_final_location<class_NavigationAgent2D_method_get_final_location>` **(** **)**                                                                                   |
+   | :ref:`Vector2<class_Vector2>`                                         | :ref:`get_final_position<class_NavigationAgent2D_method_get_final_position>` **(** **)**                                                                                   |
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                               | :ref:`get_navigation_layer_value<class_NavigationAgent2D_method_get_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number **)** |const|                        |
    | :ref:`bool<class_bool>`                                               | :ref:`get_navigation_layer_value<class_NavigationAgent2D_method_get_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number **)** |const|                        |
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID<class_RID>`                                                 | :ref:`get_navigation_map<class_NavigationAgent2D_method_get_navigation_map>` **(** **)** |const|                                                                           |
    | :ref:`RID<class_RID>`                                                 | :ref:`get_navigation_map<class_NavigationAgent2D_method_get_navigation_map>` **(** **)** |const|                                                                           |
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Vector2<class_Vector2>`                                         | :ref:`get_next_location<class_NavigationAgent2D_method_get_next_location>` **(** **)**                                                                                     |
+   | :ref:`Vector2<class_Vector2>`                                         | :ref:`get_next_path_position<class_NavigationAgent2D_method_get_next_path_position>` **(** **)**                                                                           |
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID<class_RID>`                                                 | :ref:`get_rid<class_NavigationAgent2D_method_get_rid>` **(** **)** |const|                                                                                                 |
    | :ref:`RID<class_RID>`                                                 | :ref:`get_rid<class_NavigationAgent2D_method_get_rid>` **(** **)** |const|                                                                                                 |
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -123,7 +123,7 @@ Notifies when a navigation link has been reached.
 
 
 The details dictionary may contain the following keys depending on the value of :ref:`path_metadata_flags<class_NavigationAgent2D_property_path_metadata_flags>`:
 The details dictionary may contain the following keys depending on the value of :ref:`path_metadata_flags<class_NavigationAgent2D_property_path_metadata_flags>`:
 
 
-- ``location``: The start location of the link that was reached.
+- ``position``: The start position of the link that was reached.
 
 
 - ``type``: Always :ref:`NavigationPathQueryResult2D.PATH_SEGMENT_TYPE_LINK<class_NavigationPathQueryResult2D_constant_PATH_SEGMENT_TYPE_LINK>`.
 - ``type``: Always :ref:`NavigationPathQueryResult2D.PATH_SEGMENT_TYPE_LINK<class_NavigationPathQueryResult2D_constant_PATH_SEGMENT_TYPE_LINK>`.
 
 
@@ -141,7 +141,7 @@ The details dictionary may contain the following keys depending on the value of
 
 
 **navigation_finished** **(** **)**
 **navigation_finished** **(** **)**
 
 
-Notifies when the final location is reached.
+Notifies when the final position is reached.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -165,7 +165,7 @@ Notifies when the navigation path changes.
 
 
 **target_reached** **(** **)**
 **target_reached** **(** **)**
 
 
-Notifies when the player-defined :ref:`target_location<class_NavigationAgent2D_property_target_location>` is reached.
+Notifies when the player-defined :ref:`target_position<class_NavigationAgent2D_property_target_position>` is reached.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -193,7 +193,7 @@ Notifies when a waypoint along the path has been reached.
 
 
 The details dictionary may contain the following keys depending on the value of :ref:`path_metadata_flags<class_NavigationAgent2D_property_path_metadata_flags>`:
 The details dictionary may contain the following keys depending on the value of :ref:`path_metadata_flags<class_NavigationAgent2D_property_path_metadata_flags>`:
 
 
-- ``location``: The location of the waypoint that was reached.
+- ``position``: The position of the waypoint that was reached.
 
 
 - ``type``: The type of navigation primitive (region or link) that contains this waypoint.
 - ``type``: The type of navigation primitive (region or link) that contains this waypoint.
 
 
@@ -248,7 +248,7 @@ The maximum number of neighbors for the agent to consider.
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`float<class_float>` **max_speed** = ``200.0``
+:ref:`float<class_float>` **max_speed** = ``100.0``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
@@ -299,7 +299,7 @@ The distance to search for other agents.
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`float<class_float>` **path_desired_distance** = ``1.0``
+:ref:`float<class_float>` **path_desired_distance** = ``20.0``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
@@ -316,14 +316,14 @@ The distance threshold before a path point is considered to be reached. This wil
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`float<class_float>` **path_max_distance** = ``3.0``
+:ref:`float<class_float>` **path_max_distance** = ``100.0``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
 - void **set_path_max_distance** **(** :ref:`float<class_float>` value **)**
 - void **set_path_max_distance** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_path_max_distance** **(** **)**
 - :ref:`float<class_float>` **get_path_max_distance** **(** **)**
 
 
-The maximum distance the agent is allowed away from the ideal path to the final location. This can happen due to trying to avoid collisions. When the maximum distance is exceeded, it recalculates the ideal path.
+The maximum distance the agent is allowed away from the ideal path to the final position. This can happen due to trying to avoid collisions. When the maximum distance is exceeded, it recalculates the ideal path.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -369,7 +369,7 @@ Does not affect normal pathfinding. To change an actor's pathfinding radius bake
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`float<class_float>` **target_desired_distance** = ``1.0``
+:ref:`float<class_float>` **target_desired_distance** = ``10.0``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
@@ -382,18 +382,18 @@ The distance threshold before the final target point is considered to be reached
 
 
 ----
 ----
 
 
-.. _class_NavigationAgent2D_property_target_location:
+.. _class_NavigationAgent2D_property_target_position:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`Vector2<class_Vector2>` **target_location** = ``Vector2(0, 0)``
+:ref:`Vector2<class_Vector2>` **target_position** = ``Vector2(0, 0)``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
-- void **set_target_location** **(** :ref:`Vector2<class_Vector2>` value **)**
-- :ref:`Vector2<class_Vector2>` **get_target_location** **(** **)**
+- void **set_target_position** **(** :ref:`Vector2<class_Vector2>` value **)**
+- :ref:`Vector2<class_Vector2>` **get_target_position** **(** **)**
 
 
-The user-defined target location. Setting this property will clear the current navigation path.
+The user-defined target position. Setting this property will clear the current navigation path.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -403,7 +403,7 @@ The user-defined target location. Setting this property will clear the current n
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`float<class_float>` **time_horizon** = ``20.0``
+:ref:`float<class_float>` **time_horizon** = ``1.0``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
@@ -427,7 +427,7 @@ Method Descriptions
 
 
 :ref:`float<class_float>` **distance_to_target** **(** **)** |const|
 :ref:`float<class_float>` **distance_to_target** **(** **)** |const|
 
 
-Returns the distance to the target location, using the agent's global position. The user must set :ref:`target_location<class_NavigationAgent2D_property_target_location>` in order for this to be accurate.
+Returns the distance to the target position, using the agent's global position. The user must set :ref:`target_position<class_NavigationAgent2D_property_target_position>` in order for this to be accurate.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -439,7 +439,7 @@ Returns the distance to the target location, using the agent's global position.
 
 
 :ref:`PackedVector2Array<class_PackedVector2Array>` **get_current_navigation_path** **(** **)** |const|
 :ref:`PackedVector2Array<class_PackedVector2Array>` **get_current_navigation_path** **(** **)** |const|
 
 
-Returns this agent's current path from start to finish in global coordinates. The path only updates when the target location is changed or the agent requires a repath. The path array is not intended to be used in direct path movement as the agent has its own internal path logic that would get corrupted by changing the path array manually. Use the intended :ref:`get_next_location<class_NavigationAgent2D_method_get_next_location>` once every physics frame to receive the next path point for the agents movement as this function also updates the internal path logic.
+Returns this agent's current path from start to finish in global coordinates. The path only updates when the target position is changed or the agent requires a repath. The path array is not intended to be used in direct path movement as the agent has its own internal path logic that would get corrupted by changing the path array manually. Use the intended :ref:`get_next_path_position<class_NavigationAgent2D_method_get_next_path_position>` once every physics frame to receive the next path point for the agents movement as this function also updates the internal path logic.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -469,13 +469,13 @@ Returns the path query result for the path the agent is currently following.
 
 
 ----
 ----
 
 
-.. _class_NavigationAgent2D_method_get_final_location:
+.. _class_NavigationAgent2D_method_get_final_position:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`Vector2<class_Vector2>` **get_final_location** **(** **)**
+:ref:`Vector2<class_Vector2>` **get_final_position** **(** **)**
 
 
-Returns the reachable final location in global coordinates. This can change if the navigation path is altered in any way. Because of this, it would be best to check this each frame.
+Returns the reachable final position in global coordinates. This can change if the navigation path is altered in any way. Because of this, it would be best to check this each frame.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -505,13 +505,13 @@ Returns the :ref:`RID<class_RID>` of the navigation map for this NavigationAgent
 
 
 ----
 ----
 
 
-.. _class_NavigationAgent2D_method_get_next_location:
+.. _class_NavigationAgent2D_method_get_next_path_position:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`Vector2<class_Vector2>` **get_next_location** **(** **)**
+:ref:`Vector2<class_Vector2>` **get_next_path_position** **(** **)**
 
 
-Returns the next location in global coordinates that can be moved to, making sure that there are no static objects in the way. If the agent does not have a navigation path, it will return the position of the agent's parent. The use of this function once every physics frame is required to update the internal path logic of the NavigationAgent.
+Returns the next position in global coordinates that can be moved to, making sure that there are no static objects in the way. If the agent does not have a navigation path, it will return the position of the agent's parent. The use of this function once every physics frame is required to update the internal path logic of the NavigationAgent.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -535,7 +535,7 @@ Returns the :ref:`RID<class_RID>` of this agent on the :ref:`NavigationServer2D<
 
 
 :ref:`bool<class_bool>` **is_navigation_finished** **(** **)**
 :ref:`bool<class_bool>` **is_navigation_finished** **(** **)**
 
 
-Returns true if the navigation path's final location has been reached.
+Returns true if the navigation path's final position has been reached.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -547,7 +547,7 @@ Returns true if the navigation path's final location has been reached.
 
 
 :ref:`bool<class_bool>` **is_target_reachable** **(** **)**
 :ref:`bool<class_bool>` **is_target_reachable** **(** **)**
 
 
-Returns true if :ref:`target_location<class_NavigationAgent2D_property_target_location>` is reachable.
+Returns true if :ref:`target_position<class_NavigationAgent2D_property_target_position>` is reachable.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -559,7 +559,7 @@ Returns true if :ref:`target_location<class_NavigationAgent2D_property_target_lo
 
 
 :ref:`bool<class_bool>` **is_target_reached** **(** **)** |const|
 :ref:`bool<class_bool>` **is_target_reached** **(** **)** |const|
 
 
-Returns true if :ref:`target_location<class_NavigationAgent2D_property_target_location>` is reached. It may not always be possible to reach the target location. It should always be possible to reach the final location though. See :ref:`get_final_location<class_NavigationAgent2D_method_get_final_location>`.
+Returns true if :ref:`target_position<class_NavigationAgent2D_property_target_position>` is reached. It may not always be possible to reach the target position. It should always be possible to reach the final position though. See :ref:`get_final_position<class_NavigationAgent2D_method_get_final_position>`.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 26 - 26
classes/class_navigationagent3d.rst

@@ -19,9 +19,9 @@ NavigationAgent3D
 Description
 Description
 -----------
 -----------
 
 
-3D Agent that is used in navigation to reach a location while avoiding static and dynamic obstacles. The dynamic obstacles are avoided using RVO collision avoidance. The agent needs navigation data to work correctly. **NavigationAgent3D** is physics safe.
+3D Agent that is used in navigation to reach a position while avoiding static and dynamic obstacles. The dynamic obstacles are avoided using RVO collision avoidance. The agent needs navigation data to work correctly. **NavigationAgent3D** is physics safe.
 
 
-\ **Note:** After setting :ref:`target_location<class_NavigationAgent3D_property_target_location>` it is required to use the :ref:`get_next_location<class_NavigationAgent3D_method_get_next_location>` function once every physics frame to update the internal path logic of the NavigationAgent. The returned vector position from this function should be used as the next movement position for the agent's parent Node.
+\ **Note:** After setting :ref:`target_position<class_NavigationAgent3D_property_target_position>` it is required to use the :ref:`get_next_path_position<class_NavigationAgent3D_method_get_next_path_position>` function once every physics frame to update the internal path logic of the NavigationAgent. The returned vector position from this function should be used as the next movement position for the agent's parent Node.
 
 
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 
@@ -63,7 +63,7 @@ Properties
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+----------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+----------------------+
    | :ref:`float<class_float>`                                                        | :ref:`target_desired_distance<class_NavigationAgent3D_property_target_desired_distance>` | ``1.0``              |
    | :ref:`float<class_float>`                                                        | :ref:`target_desired_distance<class_NavigationAgent3D_property_target_desired_distance>` | ``1.0``              |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+----------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+----------------------+
-   | :ref:`Vector3<class_Vector3>`                                                    | :ref:`target_location<class_NavigationAgent3D_property_target_location>`                 | ``Vector3(0, 0, 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>`                       | ``5.0``              |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+----------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+----------------------+
@@ -85,13 +85,13 @@ Methods
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`NavigationPathQueryResult3D<class_NavigationPathQueryResult3D>` | :ref:`get_current_navigation_result<class_NavigationAgent3D_method_get_current_navigation_result>` **(** **)** |const|                                                     |
    | :ref:`NavigationPathQueryResult3D<class_NavigationPathQueryResult3D>` | :ref:`get_current_navigation_result<class_NavigationAgent3D_method_get_current_navigation_result>` **(** **)** |const|                                                     |
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Vector3<class_Vector3>`                                         | :ref:`get_final_location<class_NavigationAgent3D_method_get_final_location>` **(** **)**                                                                                   |
+   | :ref:`Vector3<class_Vector3>`                                         | :ref:`get_final_position<class_NavigationAgent3D_method_get_final_position>` **(** **)**                                                                                   |
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                               | :ref:`get_navigation_layer_value<class_NavigationAgent3D_method_get_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number **)** |const|                        |
    | :ref:`bool<class_bool>`                                               | :ref:`get_navigation_layer_value<class_NavigationAgent3D_method_get_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number **)** |const|                        |
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID<class_RID>`                                                 | :ref:`get_navigation_map<class_NavigationAgent3D_method_get_navigation_map>` **(** **)** |const|                                                                           |
    | :ref:`RID<class_RID>`                                                 | :ref:`get_navigation_map<class_NavigationAgent3D_method_get_navigation_map>` **(** **)** |const|                                                                           |
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Vector3<class_Vector3>`                                         | :ref:`get_next_location<class_NavigationAgent3D_method_get_next_location>` **(** **)**                                                                                     |
+   | :ref:`Vector3<class_Vector3>`                                         | :ref:`get_next_path_position<class_NavigationAgent3D_method_get_next_path_position>` **(** **)**                                                                           |
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID<class_RID>`                                                 | :ref:`get_rid<class_NavigationAgent3D_method_get_rid>` **(** **)** |const|                                                                                                 |
    | :ref:`RID<class_RID>`                                                 | :ref:`get_rid<class_NavigationAgent3D_method_get_rid>` **(** **)** |const|                                                                                                 |
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -127,7 +127,7 @@ Notifies when a navigation link has been reached.
 
 
 The details dictionary may contain the following keys depending on the value of :ref:`path_metadata_flags<class_NavigationAgent3D_property_path_metadata_flags>`:
 The details dictionary may contain the following keys depending on the value of :ref:`path_metadata_flags<class_NavigationAgent3D_property_path_metadata_flags>`:
 
 
-- ``location``: The start location of the link that was reached.
+- ``position``: The start position of the link that was reached.
 
 
 - ``type``: Always :ref:`NavigationPathQueryResult3D.PATH_SEGMENT_TYPE_LINK<class_NavigationPathQueryResult3D_constant_PATH_SEGMENT_TYPE_LINK>`.
 - ``type``: Always :ref:`NavigationPathQueryResult3D.PATH_SEGMENT_TYPE_LINK<class_NavigationPathQueryResult3D_constant_PATH_SEGMENT_TYPE_LINK>`.
 
 
@@ -145,7 +145,7 @@ The details dictionary may contain the following keys depending on the value of
 
 
 **navigation_finished** **(** **)**
 **navigation_finished** **(** **)**
 
 
-Notifies when the final location is reached.
+Notifies when the final position is reached.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -169,7 +169,7 @@ Notifies when the navigation path changes.
 
 
 **target_reached** **(** **)**
 **target_reached** **(** **)**
 
 
-Notifies when the player-defined :ref:`target_location<class_NavigationAgent3D_property_target_location>` is reached.
+Notifies when the player-defined :ref:`target_position<class_NavigationAgent3D_property_target_position>` is reached.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -197,7 +197,7 @@ Notifies when a waypoint along the path has been reached.
 
 
 The details dictionary may contain the following keys depending on the value of :ref:`path_metadata_flags<class_NavigationAgent3D_property_path_metadata_flags>`:
 The details dictionary may contain the following keys depending on the value of :ref:`path_metadata_flags<class_NavigationAgent3D_property_path_metadata_flags>`:
 
 
-- ``location``: The location of the waypoint that was reached.
+- ``position``: The position of the waypoint that was reached.
 
 
 - ``type``: The type of navigation primitive (region or link) that contains this waypoint.
 - ``type``: The type of navigation primitive (region or link) that contains this waypoint.
 
 
@@ -361,7 +361,7 @@ The distance threshold before a path point is considered to be reached. This wil
 - void **set_path_max_distance** **(** :ref:`float<class_float>` value **)**
 - void **set_path_max_distance** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_path_max_distance** **(** **)**
 - :ref:`float<class_float>` **get_path_max_distance** **(** **)**
 
 
-The maximum distance the agent is allowed away from the ideal path to the final location. This can happen due to trying to avoid collisions. When the maximum distance is exceeded, it recalculates the ideal path.
+The maximum distance the agent is allowed away from the ideal path to the final position. This can happen due to trying to avoid collisions. When the maximum distance is exceeded, it recalculates the ideal path.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -420,18 +420,18 @@ The distance threshold before the final target point is considered to be reached
 
 
 ----
 ----
 
 
-.. _class_NavigationAgent3D_property_target_location:
+.. _class_NavigationAgent3D_property_target_position:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`Vector3<class_Vector3>` **target_location** = ``Vector3(0, 0, 0)``
+:ref:`Vector3<class_Vector3>` **target_position** = ``Vector3(0, 0, 0)``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
-- void **set_target_location** **(** :ref:`Vector3<class_Vector3>` value **)**
-- :ref:`Vector3<class_Vector3>` **get_target_location** **(** **)**
+- void **set_target_position** **(** :ref:`Vector3<class_Vector3>` value **)**
+- :ref:`Vector3<class_Vector3>` **get_target_position** **(** **)**
 
 
-The user-defined target location. Setting this property will clear the current navigation path.
+The user-defined target position. Setting this property will clear the current navigation path.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -465,7 +465,7 @@ Method Descriptions
 
 
 :ref:`float<class_float>` **distance_to_target** **(** **)** |const|
 :ref:`float<class_float>` **distance_to_target** **(** **)** |const|
 
 
-Returns the distance to the target location, using the agent's global position. The user must set :ref:`target_location<class_NavigationAgent3D_property_target_location>` in order for this to be accurate.
+Returns the distance to the target position, using the agent's global position. The user must set :ref:`target_position<class_NavigationAgent3D_property_target_position>` in order for this to be accurate.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -477,7 +477,7 @@ Returns the distance to the target location, using the agent's global position.
 
 
 :ref:`PackedVector3Array<class_PackedVector3Array>` **get_current_navigation_path** **(** **)** |const|
 :ref:`PackedVector3Array<class_PackedVector3Array>` **get_current_navigation_path** **(** **)** |const|
 
 
-Returns this agent's current path from start to finish in global coordinates. The path only updates when the target location is changed or the agent requires a repath. The path array is not intended to be used in direct path movement as the agent has its own internal path logic that would get corrupted by changing the path array manually. Use the intended :ref:`get_next_location<class_NavigationAgent3D_method_get_next_location>` once every physics frame to receive the next path point for the agents movement as this function also updates the internal path logic.
+Returns this agent's current path from start to finish in global coordinates. The path only updates when the target position is changed or the agent requires a repath. The path array is not intended to be used in direct path movement as the agent has its own internal path logic that would get corrupted by changing the path array manually. Use the intended :ref:`get_next_path_position<class_NavigationAgent3D_method_get_next_path_position>` once every physics frame to receive the next path point for the agents movement as this function also updates the internal path logic.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -507,13 +507,13 @@ Returns the path query result for the path the agent is currently following.
 
 
 ----
 ----
 
 
-.. _class_NavigationAgent3D_method_get_final_location:
+.. _class_NavigationAgent3D_method_get_final_position:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`Vector3<class_Vector3>` **get_final_location** **(** **)**
+:ref:`Vector3<class_Vector3>` **get_final_position** **(** **)**
 
 
-Returns the reachable final location in global coordinates. This can change if the navigation path is altered in any way. Because of this, it would be best to check this each frame.
+Returns the reachable final position in global coordinates. This can change if the navigation path is altered in any way. Because of this, it would be best to check this each frame.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -543,13 +543,13 @@ Returns the :ref:`RID<class_RID>` of the navigation map for this NavigationAgent
 
 
 ----
 ----
 
 
-.. _class_NavigationAgent3D_method_get_next_location:
+.. _class_NavigationAgent3D_method_get_next_path_position:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`Vector3<class_Vector3>` **get_next_location** **(** **)**
+:ref:`Vector3<class_Vector3>` **get_next_path_position** **(** **)**
 
 
-Returns the next location in global coordinates that can be moved to, making sure that there are no static objects in the way. If the agent does not have a navigation path, it will return the position of the agent's parent. The use of this function once every physics frame is required to update the internal path logic of the NavigationAgent.
+Returns the next position in global coordinates that can be moved to, making sure that there are no static objects in the way. If the agent does not have a navigation path, it will return the position of the agent's parent. The use of this function once every physics frame is required to update the internal path logic of the NavigationAgent.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -573,7 +573,7 @@ Returns the :ref:`RID<class_RID>` of this agent on the :ref:`NavigationServer3D<
 
 
 :ref:`bool<class_bool>` **is_navigation_finished** **(** **)**
 :ref:`bool<class_bool>` **is_navigation_finished** **(** **)**
 
 
-Returns true if the navigation path's final location has been reached.
+Returns true if the navigation path's final position has been reached.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -585,7 +585,7 @@ Returns true if the navigation path's final location has been reached.
 
 
 :ref:`bool<class_bool>` **is_target_reachable** **(** **)**
 :ref:`bool<class_bool>` **is_target_reachable** **(** **)**
 
 
-Returns true if :ref:`target_location<class_NavigationAgent3D_property_target_location>` is reachable.
+Returns true if :ref:`target_position<class_NavigationAgent3D_property_target_position>` is reachable.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -597,7 +597,7 @@ Returns true if :ref:`target_location<class_NavigationAgent3D_property_target_lo
 
 
 :ref:`bool<class_bool>` **is_target_reached** **(** **)** |const|
 :ref:`bool<class_bool>` **is_target_reached** **(** **)** |const|
 
 
-Returns true if :ref:`target_location<class_NavigationAgent3D_property_target_location>` is reached. It may not always be possible to reach the target location. It should always be possible to reach the final location though. See :ref:`get_final_location<class_NavigationAgent3D_method_get_final_location>`.
+Returns true if :ref:`target_position<class_NavigationAgent3D_property_target_position>` is reached. It may not always be possible to reach the target position. It should always be possible to reach the final position though. See :ref:`get_final_position<class_NavigationAgent3D_method_get_final_position>`.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 13 - 13
classes/class_navigationlink2d.rst

@@ -12,14 +12,14 @@ NavigationLink2D
 
 
 **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 
-Creates a link between two locations that :ref:`NavigationServer2D<class_NavigationServer2D>` can route agents through.
+Creates a link between two positions that :ref:`NavigationServer2D<class_NavigationServer2D>` can route agents through.
 
 
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 
 Description
 Description
 -----------
 -----------
 
 
-Creates a link between two locations 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
 .. rst-class:: classref-introduction-group
 
 
@@ -41,13 +41,13 @@ Properties
    +-------------------------------+-----------------------------------------------------------------------------+-------------------+
    +-------------------------------+-----------------------------------------------------------------------------+-------------------+
    | :ref:`bool<class_bool>`       | :ref:`enabled<class_NavigationLink2D_property_enabled>`                     | ``true``          |
    | :ref:`bool<class_bool>`       | :ref:`enabled<class_NavigationLink2D_property_enabled>`                     | ``true``          |
    +-------------------------------+-----------------------------------------------------------------------------+-------------------+
    +-------------------------------+-----------------------------------------------------------------------------+-------------------+
-   | :ref:`Vector2<class_Vector2>` | :ref:`end_location<class_NavigationLink2D_property_end_location>`           | ``Vector2(0, 0)`` |
+   | :ref:`Vector2<class_Vector2>` | :ref:`end_position<class_NavigationLink2D_property_end_position>`           | ``Vector2(0, 0)`` |
    +-------------------------------+-----------------------------------------------------------------------------+-------------------+
    +-------------------------------+-----------------------------------------------------------------------------+-------------------+
    | :ref:`float<class_float>`     | :ref:`enter_cost<class_NavigationLink2D_property_enter_cost>`               | ``0.0``           |
    | :ref:`float<class_float>`     | :ref:`enter_cost<class_NavigationLink2D_property_enter_cost>`               | ``0.0``           |
    +-------------------------------+-----------------------------------------------------------------------------+-------------------+
    +-------------------------------+-----------------------------------------------------------------------------+-------------------+
    | :ref:`int<class_int>`         | :ref:`navigation_layers<class_NavigationLink2D_property_navigation_layers>` | ``1``             |
    | :ref:`int<class_int>`         | :ref:`navigation_layers<class_NavigationLink2D_property_navigation_layers>` | ``1``             |
    +-------------------------------+-----------------------------------------------------------------------------+-------------------+
    +-------------------------------+-----------------------------------------------------------------------------+-------------------+
-   | :ref:`Vector2<class_Vector2>` | :ref:`start_location<class_NavigationLink2D_property_start_location>`       | ``Vector2(0, 0)`` |
+   | :ref:`Vector2<class_Vector2>` | :ref:`start_position<class_NavigationLink2D_property_start_position>`       | ``Vector2(0, 0)`` |
    +-------------------------------+-----------------------------------------------------------------------------+-------------------+
    +-------------------------------+-----------------------------------------------------------------------------+-------------------+
    | :ref:`float<class_float>`     | :ref:`travel_cost<class_NavigationLink2D_property_travel_cost>`             | ``1.0``           |
    | :ref:`float<class_float>`     | :ref:`travel_cost<class_NavigationLink2D_property_travel_cost>`             | ``1.0``           |
    +-------------------------------+-----------------------------------------------------------------------------+-------------------+
    +-------------------------------+-----------------------------------------------------------------------------+-------------------+
@@ -86,7 +86,7 @@ Property Descriptions
 - void **set_bidirectional** **(** :ref:`bool<class_bool>` value **)**
 - void **set_bidirectional** **(** :ref:`bool<class_bool>` value **)**
 - :ref:`bool<class_bool>` **is_bidirectional** **(** **)**
 - :ref:`bool<class_bool>` **is_bidirectional** **(** **)**
 
 
-Whether this link can be traveled in both directions or only from :ref:`start_location<class_NavigationLink2D_property_start_location>` to :ref:`end_location<class_NavigationLink2D_property_end_location>`.
+Whether this link can be traveled in both directions or only from :ref:`start_position<class_NavigationLink2D_property_start_position>` to :ref:`end_position<class_NavigationLink2D_property_end_position>`.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -109,16 +109,16 @@ Whether this link is currently active. If ``false``, :ref:`NavigationServer2D.ma
 
 
 ----
 ----
 
 
-.. _class_NavigationLink2D_property_end_location:
+.. _class_NavigationLink2D_property_end_position:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`Vector2<class_Vector2>` **end_location** = ``Vector2(0, 0)``
+:ref:`Vector2<class_Vector2>` **end_position** = ``Vector2(0, 0)``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
-- void **set_end_location** **(** :ref:`Vector2<class_Vector2>` value **)**
-- :ref:`Vector2<class_Vector2>` **get_end_location** **(** **)**
+- void **set_end_position** **(** :ref:`Vector2<class_Vector2>` value **)**
+- :ref:`Vector2<class_Vector2>` **get_end_position** **(** **)**
 
 
 Ending position of the link.
 Ending position of the link.
 
 
@@ -164,16 +164,16 @@ A bitfield determining all navigation layers the link belongs to. These navigati
 
 
 ----
 ----
 
 
-.. _class_NavigationLink2D_property_start_location:
+.. _class_NavigationLink2D_property_start_position:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`Vector2<class_Vector2>` **start_location** = ``Vector2(0, 0)``
+:ref:`Vector2<class_Vector2>` **start_position** = ``Vector2(0, 0)``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
-- void **set_start_location** **(** :ref:`Vector2<class_Vector2>` value **)**
-- :ref:`Vector2<class_Vector2>` **get_start_location** **(** **)**
+- void **set_start_position** **(** :ref:`Vector2<class_Vector2>` value **)**
+- :ref:`Vector2<class_Vector2>` **get_start_position** **(** **)**
 
 
 Starting position of the link.
 Starting position of the link.
 
 

+ 13 - 13
classes/class_navigationlink3d.rst

@@ -12,14 +12,14 @@ NavigationLink3D
 
 
 **Inherits:** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 **Inherits:** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 
-Creates a link between two locations that :ref:`NavigationServer3D<class_NavigationServer3D>` can route agents through.
+Creates a link between two positions that :ref:`NavigationServer3D<class_NavigationServer3D>` can route agents through.
 
 
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 
 Description
 Description
 -----------
 -----------
 
 
-Creates a link between two locations 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
 .. rst-class:: classref-introduction-group
 
 
@@ -41,13 +41,13 @@ Properties
    +-------------------------------+-----------------------------------------------------------------------------+----------------------+
    +-------------------------------+-----------------------------------------------------------------------------+----------------------+
    | :ref:`bool<class_bool>`       | :ref:`enabled<class_NavigationLink3D_property_enabled>`                     | ``true``             |
    | :ref:`bool<class_bool>`       | :ref:`enabled<class_NavigationLink3D_property_enabled>`                     | ``true``             |
    +-------------------------------+-----------------------------------------------------------------------------+----------------------+
    +-------------------------------+-----------------------------------------------------------------------------+----------------------+
-   | :ref:`Vector3<class_Vector3>` | :ref:`end_location<class_NavigationLink3D_property_end_location>`           | ``Vector3(0, 0, 0)`` |
+   | :ref:`Vector3<class_Vector3>` | :ref:`end_position<class_NavigationLink3D_property_end_position>`           | ``Vector3(0, 0, 0)`` |
    +-------------------------------+-----------------------------------------------------------------------------+----------------------+
    +-------------------------------+-----------------------------------------------------------------------------+----------------------+
    | :ref:`float<class_float>`     | :ref:`enter_cost<class_NavigationLink3D_property_enter_cost>`               | ``0.0``              |
    | :ref:`float<class_float>`     | :ref:`enter_cost<class_NavigationLink3D_property_enter_cost>`               | ``0.0``              |
    +-------------------------------+-----------------------------------------------------------------------------+----------------------+
    +-------------------------------+-----------------------------------------------------------------------------+----------------------+
    | :ref:`int<class_int>`         | :ref:`navigation_layers<class_NavigationLink3D_property_navigation_layers>` | ``1``                |
    | :ref:`int<class_int>`         | :ref:`navigation_layers<class_NavigationLink3D_property_navigation_layers>` | ``1``                |
    +-------------------------------+-----------------------------------------------------------------------------+----------------------+
    +-------------------------------+-----------------------------------------------------------------------------+----------------------+
-   | :ref:`Vector3<class_Vector3>` | :ref:`start_location<class_NavigationLink3D_property_start_location>`       | ``Vector3(0, 0, 0)`` |
+   | :ref:`Vector3<class_Vector3>` | :ref:`start_position<class_NavigationLink3D_property_start_position>`       | ``Vector3(0, 0, 0)`` |
    +-------------------------------+-----------------------------------------------------------------------------+----------------------+
    +-------------------------------+-----------------------------------------------------------------------------+----------------------+
    | :ref:`float<class_float>`     | :ref:`travel_cost<class_NavigationLink3D_property_travel_cost>`             | ``1.0``              |
    | :ref:`float<class_float>`     | :ref:`travel_cost<class_NavigationLink3D_property_travel_cost>`             | ``1.0``              |
    +-------------------------------+-----------------------------------------------------------------------------+----------------------+
    +-------------------------------+-----------------------------------------------------------------------------+----------------------+
@@ -86,7 +86,7 @@ Property Descriptions
 - void **set_bidirectional** **(** :ref:`bool<class_bool>` value **)**
 - void **set_bidirectional** **(** :ref:`bool<class_bool>` value **)**
 - :ref:`bool<class_bool>` **is_bidirectional** **(** **)**
 - :ref:`bool<class_bool>` **is_bidirectional** **(** **)**
 
 
-Whether this link can be traveled in both directions or only from :ref:`start_location<class_NavigationLink3D_property_start_location>` to :ref:`end_location<class_NavigationLink3D_property_end_location>`.
+Whether this link can be traveled in both directions or only from :ref:`start_position<class_NavigationLink3D_property_start_position>` to :ref:`end_position<class_NavigationLink3D_property_end_position>`.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -109,16 +109,16 @@ Whether this link is currently active. If ``false``, :ref:`NavigationServer3D.ma
 
 
 ----
 ----
 
 
-.. _class_NavigationLink3D_property_end_location:
+.. _class_NavigationLink3D_property_end_position:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`Vector3<class_Vector3>` **end_location** = ``Vector3(0, 0, 0)``
+:ref:`Vector3<class_Vector3>` **end_position** = ``Vector3(0, 0, 0)``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
-- void **set_end_location** **(** :ref:`Vector3<class_Vector3>` value **)**
-- :ref:`Vector3<class_Vector3>` **get_end_location** **(** **)**
+- void **set_end_position** **(** :ref:`Vector3<class_Vector3>` value **)**
+- :ref:`Vector3<class_Vector3>` **get_end_position** **(** **)**
 
 
 Ending position of the link.
 Ending position of the link.
 
 
@@ -164,16 +164,16 @@ A bitfield determining all navigation layers the link belongs to. These navigati
 
 
 ----
 ----
 
 
-.. _class_NavigationLink3D_property_start_location:
+.. _class_NavigationLink3D_property_start_position:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`Vector3<class_Vector3>` **start_location** = ``Vector3(0, 0, 0)``
+:ref:`Vector3<class_Vector3>` **start_position** = ``Vector3(0, 0, 0)``
 
 
 .. rst-class:: classref-property-setget
 .. rst-class:: classref-property-setget
 
 
-- void **set_start_location** **(** :ref:`Vector3<class_Vector3>` value **)**
-- :ref:`Vector3<class_Vector3>` **get_start_location** **(** **)**
+- void **set_start_position** **(** :ref:`Vector3<class_Vector3>` value **)**
+- :ref:`Vector3<class_Vector3>` **get_start_position** **(** **)**
 
 
 Starting position of the link.
 Starting position of the link.
 
 

+ 17 - 17
classes/class_navigationserver2d.rst

@@ -85,7 +85,7 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID<class_RID>`                               | :ref:`link_create<class_NavigationServer2D_method_link_create>` **(** **)**                                                                                                                                                                                                   |
    | :ref:`RID<class_RID>`                               | :ref:`link_create<class_NavigationServer2D_method_link_create>` **(** **)**                                                                                                                                                                                                   |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Vector2<class_Vector2>`                       | :ref:`link_get_end_location<class_NavigationServer2D_method_link_get_end_location>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                            |
+   | :ref:`Vector2<class_Vector2>`                       | :ref:`link_get_end_position<class_NavigationServer2D_method_link_get_end_position>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                            |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                           | :ref:`link_get_enter_cost<class_NavigationServer2D_method_link_get_enter_cost>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                                |
    | :ref:`float<class_float>`                           | :ref:`link_get_enter_cost<class_NavigationServer2D_method_link_get_enter_cost>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                                |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -95,7 +95,7 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                               | :ref:`link_get_owner_id<class_NavigationServer2D_method_link_get_owner_id>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                                    |
    | :ref:`int<class_int>`                               | :ref:`link_get_owner_id<class_NavigationServer2D_method_link_get_owner_id>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                                    |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Vector2<class_Vector2>`                       | :ref:`link_get_start_location<class_NavigationServer2D_method_link_get_start_location>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                        |
+   | :ref:`Vector2<class_Vector2>`                       | :ref:`link_get_start_position<class_NavigationServer2D_method_link_get_start_position>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                        |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                           | :ref:`link_get_travel_cost<class_NavigationServer2D_method_link_get_travel_cost>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                              |
    | :ref:`float<class_float>`                           | :ref:`link_get_travel_cost<class_NavigationServer2D_method_link_get_travel_cost>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                              |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -103,7 +103,7 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`link_set_bidirectional<class_NavigationServer2D_method_link_set_bidirectional>` **(** :ref:`RID<class_RID>` link, :ref:`bool<class_bool>` bidirectional **)**                                                                                                           |
    | void                                                | :ref:`link_set_bidirectional<class_NavigationServer2D_method_link_set_bidirectional>` **(** :ref:`RID<class_RID>` link, :ref:`bool<class_bool>` bidirectional **)**                                                                                                           |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                | :ref:`link_set_end_location<class_NavigationServer2D_method_link_set_end_location>` **(** :ref:`RID<class_RID>` link, :ref:`Vector2<class_Vector2>` location **)**                                                                                                            |
+   | void                                                | :ref:`link_set_end_position<class_NavigationServer2D_method_link_set_end_position>` **(** :ref:`RID<class_RID>` link, :ref:`Vector2<class_Vector2>` position **)**                                                                                                            |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`link_set_enter_cost<class_NavigationServer2D_method_link_set_enter_cost>` **(** :ref:`RID<class_RID>` link, :ref:`float<class_float>` enter_cost **)**                                                                                                                  |
    | void                                                | :ref:`link_set_enter_cost<class_NavigationServer2D_method_link_set_enter_cost>` **(** :ref:`RID<class_RID>` link, :ref:`float<class_float>` enter_cost **)**                                                                                                                  |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -113,7 +113,7 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`link_set_owner_id<class_NavigationServer2D_method_link_set_owner_id>` **(** :ref:`RID<class_RID>` link, :ref:`int<class_int>` owner_id **)**                                                                                                                            |
    | void                                                | :ref:`link_set_owner_id<class_NavigationServer2D_method_link_set_owner_id>` **(** :ref:`RID<class_RID>` link, :ref:`int<class_int>` owner_id **)**                                                                                                                            |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                | :ref:`link_set_start_location<class_NavigationServer2D_method_link_set_start_location>` **(** :ref:`RID<class_RID>` link, :ref:`Vector2<class_Vector2>` location **)**                                                                                                        |
+   | void                                                | :ref:`link_set_start_position<class_NavigationServer2D_method_link_set_start_position>` **(** :ref:`RID<class_RID>` link, :ref:`Vector2<class_Vector2>` position **)**                                                                                                        |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`link_set_travel_cost<class_NavigationServer2D_method_link_set_travel_cost>` **(** :ref:`RID<class_RID>` link, :ref:`float<class_float>` travel_cost **)**                                                                                                               |
    | void                                                | :ref:`link_set_travel_cost<class_NavigationServer2D_method_link_set_travel_cost>` **(** :ref:`RID<class_RID>` link, :ref:`float<class_float>` travel_cost **)**                                                                                                               |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -400,19 +400,19 @@ Returns all created navigation map :ref:`RID<class_RID>`\ s on the NavigationSer
 
 
 :ref:`RID<class_RID>` **link_create** **(** **)**
 :ref:`RID<class_RID>` **link_create** **(** **)**
 
 
-Create a new link between two locations on a map.
+Create a new link between two positions on a map.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
 
 
-.. _class_NavigationServer2D_method_link_get_end_location:
+.. _class_NavigationServer2D_method_link_get_end_position:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`Vector2<class_Vector2>` **link_get_end_location** **(** :ref:`RID<class_RID>` link **)** |const|
+:ref:`Vector2<class_Vector2>` **link_get_end_position** **(** :ref:`RID<class_RID>` link **)** |const|
 
 
-Returns the ending location of this ``link``.
+Returns the ending position of this ``link``.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -466,13 +466,13 @@ Returns the ``ObjectID`` of the object which manages this link.
 
 
 ----
 ----
 
 
-.. _class_NavigationServer2D_method_link_get_start_location:
+.. _class_NavigationServer2D_method_link_get_start_position:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`Vector2<class_Vector2>` **link_get_start_location** **(** :ref:`RID<class_RID>` link **)** |const|
+:ref:`Vector2<class_Vector2>` **link_get_start_position** **(** :ref:`RID<class_RID>` link **)** |const|
 
 
-Returns the starting location of this ``link``.
+Returns the starting position of this ``link``.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -514,13 +514,13 @@ Sets whether this ``link`` can be travelled in both directions.
 
 
 ----
 ----
 
 
-.. _class_NavigationServer2D_method_link_set_end_location:
+.. _class_NavigationServer2D_method_link_set_end_position:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **link_set_end_location** **(** :ref:`RID<class_RID>` link, :ref:`Vector2<class_Vector2>` location **)**
+void **link_set_end_position** **(** :ref:`RID<class_RID>` link, :ref:`Vector2<class_Vector2>` position **)**
 
 
-Sets the exit location for the ``link``.
+Sets the exit position for the ``link``.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -574,13 +574,13 @@ Set the ``ObjectID`` of the object which manages this link.
 
 
 ----
 ----
 
 
-.. _class_NavigationServer2D_method_link_set_start_location:
+.. _class_NavigationServer2D_method_link_set_start_position:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **link_set_start_location** **(** :ref:`RID<class_RID>` link, :ref:`Vector2<class_Vector2>` location **)**
+void **link_set_start_position** **(** :ref:`RID<class_RID>` link, :ref:`Vector2<class_Vector2>` position **)**
 
 
-Sets the entry location for this ``link``.
+Sets the entry position for this ``link``.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 118 - 17
classes/class_navigationserver3d.rst

@@ -83,9 +83,11 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID[]<class_RID>`                             | :ref:`get_maps<class_NavigationServer3D_method_get_maps>` **(** **)** |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|                                                                                                            |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID<class_RID>`                               | :ref:`link_create<class_NavigationServer3D_method_link_create>` **(** **)**                                                                                                                                                                                                   |
    | :ref:`RID<class_RID>`                               | :ref:`link_create<class_NavigationServer3D_method_link_create>` **(** **)**                                                                                                                                                                                                   |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Vector3<class_Vector3>`                       | :ref:`link_get_end_location<class_NavigationServer3D_method_link_get_end_location>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                            |
+   | :ref:`Vector3<class_Vector3>`                       | :ref:`link_get_end_position<class_NavigationServer3D_method_link_get_end_position>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                            |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                           | :ref:`link_get_enter_cost<class_NavigationServer3D_method_link_get_enter_cost>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                                |
    | :ref:`float<class_float>`                           | :ref:`link_get_enter_cost<class_NavigationServer3D_method_link_get_enter_cost>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                                |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -95,7 +97,7 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                               | :ref:`link_get_owner_id<class_NavigationServer3D_method_link_get_owner_id>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                                    |
    | :ref:`int<class_int>`                               | :ref:`link_get_owner_id<class_NavigationServer3D_method_link_get_owner_id>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                                    |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Vector3<class_Vector3>`                       | :ref:`link_get_start_location<class_NavigationServer3D_method_link_get_start_location>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                        |
+   | :ref:`Vector3<class_Vector3>`                       | :ref:`link_get_start_position<class_NavigationServer3D_method_link_get_start_position>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                        |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                           | :ref:`link_get_travel_cost<class_NavigationServer3D_method_link_get_travel_cost>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                              |
    | :ref:`float<class_float>`                           | :ref:`link_get_travel_cost<class_NavigationServer3D_method_link_get_travel_cost>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                              |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -103,7 +105,7 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`link_set_bidirectional<class_NavigationServer3D_method_link_set_bidirectional>` **(** :ref:`RID<class_RID>` link, :ref:`bool<class_bool>` bidirectional **)**                                                                                                           |
    | void                                                | :ref:`link_set_bidirectional<class_NavigationServer3D_method_link_set_bidirectional>` **(** :ref:`RID<class_RID>` link, :ref:`bool<class_bool>` bidirectional **)**                                                                                                           |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                | :ref:`link_set_end_location<class_NavigationServer3D_method_link_set_end_location>` **(** :ref:`RID<class_RID>` link, :ref:`Vector3<class_Vector3>` location **)**                                                                                                            |
+   | void                                                | :ref:`link_set_end_position<class_NavigationServer3D_method_link_set_end_position>` **(** :ref:`RID<class_RID>` link, :ref:`Vector3<class_Vector3>` position **)**                                                                                                            |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`link_set_enter_cost<class_NavigationServer3D_method_link_set_enter_cost>` **(** :ref:`RID<class_RID>` link, :ref:`float<class_float>` enter_cost **)**                                                                                                                  |
    | void                                                | :ref:`link_set_enter_cost<class_NavigationServer3D_method_link_set_enter_cost>` **(** :ref:`RID<class_RID>` link, :ref:`float<class_float>` enter_cost **)**                                                                                                                  |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -113,7 +115,7 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`link_set_owner_id<class_NavigationServer3D_method_link_set_owner_id>` **(** :ref:`RID<class_RID>` link, :ref:`int<class_int>` owner_id **)**                                                                                                                            |
    | void                                                | :ref:`link_set_owner_id<class_NavigationServer3D_method_link_set_owner_id>` **(** :ref:`RID<class_RID>` link, :ref:`int<class_int>` owner_id **)**                                                                                                                            |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                | :ref:`link_set_start_location<class_NavigationServer3D_method_link_set_start_location>` **(** :ref:`RID<class_RID>` link, :ref:`Vector3<class_Vector3>` location **)**                                                                                                        |
+   | void                                                | :ref:`link_set_start_position<class_NavigationServer3D_method_link_set_start_position>` **(** :ref:`RID<class_RID>` link, :ref:`Vector3<class_Vector3>` position **)**                                                                                                        |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`link_set_travel_cost<class_NavigationServer3D_method_link_set_travel_cost>` **(** :ref:`RID<class_RID>` link, :ref:`float<class_float>` travel_cost **)**                                                                                                               |
    | void                                                | :ref:`link_set_travel_cost<class_NavigationServer3D_method_link_set_travel_cost>` **(** :ref:`RID<class_RID>` link, :ref:`float<class_float>` travel_cost **)**                                                                                                               |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -235,6 +237,93 @@ Emitted when navigation debug settings are changed. Only available in debug buil
 
 
 .. rst-class:: classref-descriptions-group
 .. rst-class:: classref-descriptions-group
 
 
+Enumerations
+------------
+
+.. _enum_NavigationServer3D_ProcessInfo:
+
+.. rst-class:: classref-enumeration
+
+enum **ProcessInfo**:
+
+.. _class_NavigationServer3D_constant_INFO_ACTIVE_MAPS:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ProcessInfo<enum_NavigationServer3D_ProcessInfo>` **INFO_ACTIVE_MAPS** = ``0``
+
+Constant to get the number of active navigation maps.
+
+.. _class_NavigationServer3D_constant_INFO_REGION_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ProcessInfo<enum_NavigationServer3D_ProcessInfo>` **INFO_REGION_COUNT** = ``1``
+
+Constant to get the number of active navigation regions.
+
+.. _class_NavigationServer3D_constant_INFO_AGENT_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ProcessInfo<enum_NavigationServer3D_ProcessInfo>` **INFO_AGENT_COUNT** = ``2``
+
+Constant to get the number of active navigation agents processing avoidance.
+
+.. _class_NavigationServer3D_constant_INFO_LINK_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ProcessInfo<enum_NavigationServer3D_ProcessInfo>` **INFO_LINK_COUNT** = ``3``
+
+Constant to get the number of active navigation links.
+
+.. _class_NavigationServer3D_constant_INFO_POLYGON_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ProcessInfo<enum_NavigationServer3D_ProcessInfo>` **INFO_POLYGON_COUNT** = ``4``
+
+Constant to get the number of navigation mesh polygons.
+
+.. _class_NavigationServer3D_constant_INFO_EDGE_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ProcessInfo<enum_NavigationServer3D_ProcessInfo>` **INFO_EDGE_COUNT** = ``5``
+
+Constant to get the number of navigation mesh polygon edges.
+
+.. _class_NavigationServer3D_constant_INFO_EDGE_MERGE_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ProcessInfo<enum_NavigationServer3D_ProcessInfo>` **INFO_EDGE_MERGE_COUNT** = ``6``
+
+Constant to get the number of navigation mesh polygon edges that were merged due to edge key overlap.
+
+.. _class_NavigationServer3D_constant_INFO_EDGE_CONNECTION_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ProcessInfo<enum_NavigationServer3D_ProcessInfo>` **INFO_EDGE_CONNECTION_COUNT** = ``7``
+
+Constant to get the number of navigation mesh polygon edges that are considered connected by edge proximity.
+
+.. _class_NavigationServer3D_constant_INFO_EDGE_FREE_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ProcessInfo<enum_NavigationServer3D_ProcessInfo>` **INFO_EDGE_FREE_COUNT** = ``8``
+
+Constant to get the number of navigation mesh polygon edges that could not be merged but may be still connected by edge proximity or with links.
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 
@@ -420,25 +509,37 @@ Returns all created navigation map :ref:`RID<class_RID>`\ s on the NavigationSer
 
 
 ----
 ----
 
 
+.. _class_NavigationServer3D_method_get_process_info:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **get_process_info** **(** :ref:`ProcessInfo<enum_NavigationServer3D_ProcessInfo>` process_info **)** |const|
+
+Returns information about the current state of the NavigationServer. See :ref:`ProcessInfo<enum_NavigationServer3D_ProcessInfo>` for a list of available states.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationServer3D_method_link_create:
 .. _class_NavigationServer3D_method_link_create:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
 :ref:`RID<class_RID>` **link_create** **(** **)**
 :ref:`RID<class_RID>` **link_create** **(** **)**
 
 
-Create a new link between two locations on a map.
+Create a new link between two positions on a map.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
 
 
-.. _class_NavigationServer3D_method_link_get_end_location:
+.. _class_NavigationServer3D_method_link_get_end_position:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`Vector3<class_Vector3>` **link_get_end_location** **(** :ref:`RID<class_RID>` link **)** |const|
+:ref:`Vector3<class_Vector3>` **link_get_end_position** **(** :ref:`RID<class_RID>` link **)** |const|
 
 
-Returns the ending location of this ``link``.
+Returns the ending position of this ``link``.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -492,13 +593,13 @@ Returns the ``ObjectID`` of the object which manages this link.
 
 
 ----
 ----
 
 
-.. _class_NavigationServer3D_method_link_get_start_location:
+.. _class_NavigationServer3D_method_link_get_start_position:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`Vector3<class_Vector3>` **link_get_start_location** **(** :ref:`RID<class_RID>` link **)** |const|
+:ref:`Vector3<class_Vector3>` **link_get_start_position** **(** :ref:`RID<class_RID>` link **)** |const|
 
 
-Returns the starting location of this ``link``.
+Returns the starting position of this ``link``.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -540,13 +641,13 @@ Sets whether this ``link`` can be travelled in both directions.
 
 
 ----
 ----
 
 
-.. _class_NavigationServer3D_method_link_set_end_location:
+.. _class_NavigationServer3D_method_link_set_end_position:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **link_set_end_location** **(** :ref:`RID<class_RID>` link, :ref:`Vector3<class_Vector3>` location **)**
+void **link_set_end_position** **(** :ref:`RID<class_RID>` link, :ref:`Vector3<class_Vector3>` position **)**
 
 
-Sets the exit location for the ``link``.
+Sets the exit position for the ``link``.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -600,13 +701,13 @@ Set the ``ObjectID`` of the object which manages this link.
 
 
 ----
 ----
 
 
-.. _class_NavigationServer3D_method_link_set_start_location:
+.. _class_NavigationServer3D_method_link_set_start_position:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **link_set_start_location** **(** :ref:`RID<class_RID>` link, :ref:`Vector3<class_Vector3>` location **)**
+void **link_set_start_position** **(** :ref:`RID<class_RID>` link, :ref:`Vector3<class_Vector3>` position **)**
 
 
-Sets the entry location for this ``link``.
+Sets the entry position for this ``link``.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 9 - 1
classes/class_node.rst

@@ -657,6 +657,14 @@ Notification received when the node is disabled. See :ref:`PROCESS_MODE_DISABLED
 
 
 Notification received when the node is enabled again after being disabled. See :ref:`PROCESS_MODE_DISABLED<class_Node_constant_PROCESS_MODE_DISABLED>`.
 Notification received when the node is enabled again after being disabled. See :ref:`PROCESS_MODE_DISABLED<class_Node_constant_PROCESS_MODE_DISABLED>`.
 
 
+.. _class_Node_constant_NOTIFICATION_NODE_RECACHE_REQUESTED:
+
+.. rst-class:: classref-constant
+
+**NOTIFICATION_NODE_RECACHE_REQUESTED** = ``30``
+
+Notification received when other nodes in the tree may have been removed/replaced and node pointers may require re-caching.
+
 .. _class_Node_constant_NOTIFICATION_EDITOR_PRE_SAVE:
 .. _class_Node_constant_NOTIFICATION_EDITOR_PRE_SAVE:
 
 
 .. rst-class:: classref-constant
 .. rst-class:: classref-constant
@@ -2121,7 +2129,7 @@ Changes the RPC mode for the given ``method`` with the given ``config`` which sh
         channel = 0,
         channel = 0,
     }
     }
 
 
-See :ref:`RPCMode<enum_MultiplayerAPI_RPCMode>` and :ref:`TransferMode<enum_MultiplayerPeer_TransferMode>`. An alternative is annotating methods and properties with the corresponding annotation (``@rpc(any)``, ``@rpc(authority)``). By default, methods are not exposed to networking (and RPCs).
+See :ref:`RPCMode<enum_MultiplayerAPI_RPCMode>` and :ref:`TransferMode<enum_MultiplayerPeer_TransferMode>`. An alternative is annotating methods and properties with the corresponding annotation (``@rpc("any")``, ``@rpc("authority")``). By default, methods are not exposed to networking (and RPCs).
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
classes/class_object.rst


+ 2 - 2
classes/class_openxraction.rst

@@ -21,7 +21,7 @@ Description
 
 
 This resource defines an OpenXR action. Actions can be used both for inputs (buttons/joystick/trigger/etc) and outputs (haptics).
 This resource defines an OpenXR action. Actions can be used both for inputs (buttons/joystick/trigger/etc) and outputs (haptics).
 
 
-OpenXR performs automatic conversion between action type and input type whenever possible. An analogue trigger bound to a boolean action will thus return ``false`` if the trigger is depressed and ``true`` if pressed fully.
+OpenXR performs automatic conversion between action type and input type whenever possible. An analog trigger bound to a boolean action will thus return ``false`` if the trigger is depressed and ``true`` if pressed fully.
 
 
 Actions are not directly bound to specific devices, instead OpenXR recognizes a limited number of top level paths that identify devices by usage. We can restrict which devices an action can be bound to by these top level paths. For instance an action that should only be used for hand held controllers can have the top level paths "/user/hand/left" and "/user/hand/right" associated with them. See the `reserved path section in the OpenXR specification <https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#semantic-path-reserved>`__ for more info on the top level paths.
 Actions are not directly bound to specific devices, instead OpenXR recognizes a limited number of top level paths that identify devices by usage. We can restrict which devices an action can be bound to by these top level paths. For instance an action that should only be used for hand held controllers can have the top level paths "/user/hand/left" and "/user/hand/right" associated with them. See the `reserved path section in the OpenXR specification <https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#semantic-path-reserved>`__ for more info on the top level paths.
 
 
@@ -72,7 +72,7 @@ This action provides a boolean value.
 
 
 :ref:`ActionType<enum_OpenXRAction_ActionType>` **OPENXR_ACTION_FLOAT** = ``1``
 :ref:`ActionType<enum_OpenXRAction_ActionType>` **OPENXR_ACTION_FLOAT** = ``1``
 
 
-This action provides a float value between ``0.0`` and ``1.0`` for any analogue input such as triggers.
+This action provides a float value between ``0.0`` and ``1.0`` for any analog input such as triggers.
 
 
 .. _class_OpenXRAction_constant_OPENXR_ACTION_VECTOR2:
 .. _class_OpenXRAction_constant_OPENXR_ACTION_VECTOR2:
 
 

+ 24 - 8
classes/class_os.rst

@@ -155,13 +155,13 @@ Methods
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                              | :ref:`open_midi_inputs<class_OS_method_open_midi_inputs>` **(** **)**                                                                                                                                                                                                                                                                                                    |
    | void                                              | :ref:`open_midi_inputs<class_OS_method_open_midi_inputs>` **(** **)**                                                                                                                                                                                                                                                                                                    |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`read_string_from_stdin<class_OS_method_read_string_from_stdin>` **(** :ref:`bool<class_bool>` block=true **)**                                                                                                                                                                                                                                                     |
+   | :ref:`String<class_String>`                       | :ref:`read_string_from_stdin<class_OS_method_read_string_from_stdin>` **(** **)**                                                                                                                                                                                                                                                                                        |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`request_permission<class_OS_method_request_permission>` **(** :ref:`String<class_String>` name **)**                                                                                                                                                                                                                                                               |
    | :ref:`bool<class_bool>`                           | :ref:`request_permission<class_OS_method_request_permission>` **(** :ref:`String<class_String>` name **)**                                                                                                                                                                                                                                                               |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`request_permissions<class_OS_method_request_permissions>` **(** **)**                                                                                                                                                                                                                                                                                              |
    | :ref:`bool<class_bool>`                           | :ref:`request_permissions<class_OS_method_request_permissions>` **(** **)**                                                                                                                                                                                                                                                                                              |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`set_environment<class_OS_method_set_environment>` **(** :ref:`String<class_String>` variable, :ref:`String<class_String>` value **)** |const|                                                                                                                                                                                                                      |
+   | void                                              | :ref:`set_environment<class_OS_method_set_environment>` **(** :ref:`String<class_String>` variable, :ref:`String<class_String>` value **)** |const|                                                                                                                                                                                                                      |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                              | :ref:`set_restart_on_exit<class_OS_method_set_restart_on_exit>` **(** :ref:`bool<class_bool>` restart, :ref:`PackedStringArray<class_PackedStringArray>` arguments=PackedStringArray() **)**                                                                                                                                                                             |
    | void                                              | :ref:`set_restart_on_exit<class_OS_method_set_restart_on_exit>` **(** :ref:`bool<class_bool>` restart, :ref:`PackedStringArray<class_PackedStringArray>` arguments=PackedStringArray() **)**                                                                                                                                                                             |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -171,6 +171,8 @@ Methods
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Error<enum_@GlobalScope_Error>`             | :ref:`shell_open<class_OS_method_shell_open>` **(** :ref:`String<class_String>` uri **)**                                                                                                                                                                                                                                                                                |
    | :ref:`Error<enum_@GlobalScope_Error>`             | :ref:`shell_open<class_OS_method_shell_open>` **(** :ref:`String<class_String>` uri **)**                                                                                                                                                                                                                                                                                |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`unset_environment<class_OS_method_unset_environment>` **(** :ref:`String<class_String>` variable **)** |const|                                                                                                                                                                                                                                                     |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 .. rst-class:: classref-section-separator
 .. rst-class:: classref-section-separator
 
 
@@ -1276,7 +1278,7 @@ The method takes only global paths, so you may need to use :ref:`ProjectSettings
 
 
 void **open_midi_inputs** **(** **)**
 void **open_midi_inputs** **(** **)**
 
 
-Initialises the singleton for the system MIDI driver.
+Initializes the singleton for the system MIDI driver.
 
 
 \ **Note:** This method is implemented on Linux, macOS and Windows.
 \ **Note:** This method is implemented on Linux, macOS and Windows.
 
 
@@ -1288,11 +1290,11 @@ Initialises the singleton for the system MIDI driver.
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`String<class_String>` **read_string_from_stdin** **(** :ref:`bool<class_bool>` block=true **)**
+:ref:`String<class_String>` **read_string_from_stdin** **(** **)**
 
 
-Reads a user input string from the standard input (usually the terminal).
+Reads a user input string from the standard input (usually the terminal). This operation is *blocking*, which causes the window to freeze if :ref:`read_string_from_stdin<class_OS_method_read_string_from_stdin>` is called on the main thread. The thread calling :ref:`read_string_from_stdin<class_OS_method_read_string_from_stdin>` will block until the program receives a line break in standard input (usually by the user pressing :kbd:`Enter`).
 
 
-\ **Note:** This method is implemented on Linux, macOS and Windows. Non-blocking reads are not currently supported on any platform.
+\ **Note:** This method is implemented on Linux, macOS and Windows.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -1328,11 +1330,11 @@ With this function, you can request dangerous permissions since normal permissio
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`bool<class_bool>` **set_environment** **(** :ref:`String<class_String>` variable, :ref:`String<class_String>` value **)** |const|
+void **set_environment** **(** :ref:`String<class_String>` variable, :ref:`String<class_String>` value **)** |const|
 
 
 Sets the value of the environment variable ``variable`` to ``value``. The environment variable will be set for the Godot process and any process executed with :ref:`execute<class_OS_method_execute>` after running :ref:`set_environment<class_OS_method_set_environment>`. The environment variable will *not* persist to processes run after the Godot process was terminated.
 Sets the value of the environment variable ``variable`` to ``value``. The environment variable will be set for the Godot process and any process executed with :ref:`execute<class_OS_method_execute>` after running :ref:`set_environment<class_OS_method_set_environment>`. The environment variable will *not* persist to processes run after the Godot process was terminated.
 
 
-\ **Note:** Double-check the casing of ``variable``. Environment variable names are case-sensitive on all platforms except Windows.
+\ **Note:** Environment variable names are case-sensitive on all platforms except Windows. The ``variable`` name cannot be empty or include the ``=`` character. On Windows, there is a 32767 characters limit for the combined length of ``variable``, ``value``, and the ``=`` and null terminator characters that will be registered in the environment block.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -1398,6 +1400,20 @@ Use :ref:`ProjectSettings.globalize_path<class_ProjectSettings_method_globalize_
 
 
 \ **Note:** This method is implemented on Android, iOS, Web, Linux, macOS and Windows.
 \ **Note:** This method is implemented on Android, iOS, Web, Linux, macOS and Windows.
 
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OS_method_unset_environment:
+
+.. rst-class:: classref-method
+
+void **unset_environment** **(** :ref:`String<class_String>` variable **)** |const|
+
+Removes the environment ``variable`` from the current environment, if it exists. The environment variable will be removed for the Godot process and any process executed with :ref:`execute<class_OS_method_execute>` after running :ref:`unset_environment<class_OS_method_unset_environment>`. The removal of the environment variable will *not* persist to processes run after the Godot process was terminated.
+
+\ **Note:** Environment variable names are case-sensitive on all platforms except Windows. The ``variable`` name cannot be empty or include the ``=`` character.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 3 - 1
classes/class_particleprocessmaterial.rst

@@ -849,7 +849,9 @@ The particles' friction. Values range from ``0`` (frictionless) to ``1`` (maximu
 
 
 The particles' collision mode.
 The particles' collision mode.
 
 
-\ **Note:** Particles can only collide with :ref:`GPUParticlesCollision3D<class_GPUParticlesCollision3D>` nodes, not :ref:`PhysicsBody3D<class_PhysicsBody3D>` nodes. To make particles collide with various objects, you can add :ref:`GPUParticlesCollision3D<class_GPUParticlesCollision3D>` nodes as children of :ref:`PhysicsBody3D<class_PhysicsBody3D>` nodes.
+\ **Note:** 3D Particles can only collide with :ref:`GPUParticlesCollision3D<class_GPUParticlesCollision3D>` nodes, not :ref:`PhysicsBody3D<class_PhysicsBody3D>` nodes. To make particles collide with various objects, you can add :ref:`GPUParticlesCollision3D<class_GPUParticlesCollision3D>` nodes as children of :ref:`PhysicsBody3D<class_PhysicsBody3D>` nodes.
+
+\ **Note:** 2D Particles can only collide with :ref:`LightOccluder2D<class_LightOccluder2D>` nodes, not :ref:`PhysicsBody2D<class_PhysicsBody2D>` nodes.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 102 - 22
classes/class_performance.rst

@@ -92,11 +92,19 @@ Time it took to complete one frame, in seconds. *Lower is better.*
 
 
 Time it took to complete one physics frame, in seconds. *Lower is better.*
 Time it took to complete one physics frame, in seconds. *Lower is better.*
 
 
+.. _class_Performance_constant_TIME_NAVIGATION_PROCESS:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Monitor<enum_Performance_Monitor>` **TIME_NAVIGATION_PROCESS** = ``3``
+
+Time it took to complete one navigation step, in seconds. This includes navigation map updates as well as agent avoidance calculations. *Lower is better.*
+
 .. _class_Performance_constant_MEMORY_STATIC:
 .. _class_Performance_constant_MEMORY_STATIC:
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **MEMORY_STATIC** = ``3``
+:ref:`Monitor<enum_Performance_Monitor>` **MEMORY_STATIC** = ``4``
 
 
 Static memory currently used, in bytes. Not available in release builds. *Lower is better.*
 Static memory currently used, in bytes. Not available in release builds. *Lower is better.*
 
 
@@ -104,7 +112,7 @@ Static memory currently used, in bytes. Not available in release builds. *Lower
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **MEMORY_STATIC_MAX** = ``4``
+:ref:`Monitor<enum_Performance_Monitor>` **MEMORY_STATIC_MAX** = ``5``
 
 
 Available static memory. Not available in release builds. *Lower is better.*
 Available static memory. Not available in release builds. *Lower is better.*
 
 
@@ -112,7 +120,7 @@ Available static memory. Not available in release builds. *Lower is better.*
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **MEMORY_MESSAGE_BUFFER_MAX** = ``5``
+:ref:`Monitor<enum_Performance_Monitor>` **MEMORY_MESSAGE_BUFFER_MAX** = ``6``
 
 
 Largest amount of memory the message queue buffer has used, in bytes. The message queue is used for deferred functions calls and notifications. *Lower is better.*
 Largest amount of memory the message queue buffer has used, in bytes. The message queue is used for deferred functions calls and notifications. *Lower is better.*
 
 
@@ -120,7 +128,7 @@ Largest amount of memory the message queue buffer has used, in bytes. The messag
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **OBJECT_COUNT** = ``6``
+:ref:`Monitor<enum_Performance_Monitor>` **OBJECT_COUNT** = ``7``
 
 
 Number of objects currently instantiated (including nodes). *Lower is better.*
 Number of objects currently instantiated (including nodes). *Lower is better.*
 
 
@@ -128,7 +136,7 @@ Number of objects currently instantiated (including nodes). *Lower is better.*
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **OBJECT_RESOURCE_COUNT** = ``7``
+:ref:`Monitor<enum_Performance_Monitor>` **OBJECT_RESOURCE_COUNT** = ``8``
 
 
 Number of resources currently used. *Lower is better.*
 Number of resources currently used. *Lower is better.*
 
 
@@ -136,7 +144,7 @@ Number of resources currently used. *Lower is better.*
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **OBJECT_NODE_COUNT** = ``8``
+:ref:`Monitor<enum_Performance_Monitor>` **OBJECT_NODE_COUNT** = ``9``
 
 
 Number of nodes currently instantiated in the scene tree. This also includes the root node. *Lower is better.*
 Number of nodes currently instantiated in the scene tree. This also includes the root node. *Lower is better.*
 
 
@@ -144,7 +152,7 @@ Number of nodes currently instantiated in the scene tree. This also includes the
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **OBJECT_ORPHAN_NODE_COUNT** = ``9``
+:ref:`Monitor<enum_Performance_Monitor>` **OBJECT_ORPHAN_NODE_COUNT** = ``10``
 
 
 Number of orphan nodes, i.e. nodes which are not parented to a node of the scene tree. *Lower is better.*
 Number of orphan nodes, i.e. nodes which are not parented to a node of the scene tree. *Lower is better.*
 
 
@@ -152,7 +160,7 @@ Number of orphan nodes, i.e. nodes which are not parented to a node of the scene
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **RENDER_TOTAL_OBJECTS_IN_FRAME** = ``10``
+:ref:`Monitor<enum_Performance_Monitor>` **RENDER_TOTAL_OBJECTS_IN_FRAME** = ``11``
 
 
 The total number of objects in the last rendered frame. This metric doesn't include culled objects (either via hiding nodes, frustum culling or occlusion culling). *Lower is better.*
 The total number of objects in the last rendered frame. This metric doesn't include culled objects (either via hiding nodes, frustum culling or occlusion culling). *Lower is better.*
 
 
@@ -160,7 +168,7 @@ The total number of objects in the last rendered frame. This metric doesn't incl
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **RENDER_TOTAL_PRIMITIVES_IN_FRAME** = ``11``
+:ref:`Monitor<enum_Performance_Monitor>` **RENDER_TOTAL_PRIMITIVES_IN_FRAME** = ``12``
 
 
 The total number of vertices or indices rendered in the last rendered frame. This metric doesn't include primitives from culled objects (either via hiding nodes, frustum culling or occlusion culling). Due to the depth prepass and shadow passes, the number of primitives is always higher than the actual number of vertices in the scene (typically double or triple the original vertex count). *Lower is better.*
 The total number of vertices or indices rendered in the last rendered frame. This metric doesn't include primitives from culled objects (either via hiding nodes, frustum culling or occlusion culling). Due to the depth prepass and shadow passes, the number of primitives is always higher than the actual number of vertices in the scene (typically double or triple the original vertex count). *Lower is better.*
 
 
@@ -168,7 +176,7 @@ The total number of vertices or indices rendered in the last rendered frame. Thi
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **RENDER_TOTAL_DRAW_CALLS_IN_FRAME** = ``12``
+:ref:`Monitor<enum_Performance_Monitor>` **RENDER_TOTAL_DRAW_CALLS_IN_FRAME** = ``13``
 
 
 The total number of draw calls performed in the last rendered frame. This metric doesn't include culled objects (either via hiding nodes, frustum culling or occlusion culling), since they do not result in draw calls. *Lower is better.*
 The total number of draw calls performed in the last rendered frame. This metric doesn't include culled objects (either via hiding nodes, frustum culling or occlusion culling), since they do not result in draw calls. *Lower is better.*
 
 
@@ -176,7 +184,7 @@ The total number of draw calls performed in the last rendered frame. This metric
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **RENDER_VIDEO_MEM_USED** = ``13``
+:ref:`Monitor<enum_Performance_Monitor>` **RENDER_VIDEO_MEM_USED** = ``14``
 
 
 The amount of video memory used (texture and vertex memory combined, in bytes). Since this metric also includes miscellaneous allocations, this value is always greater than the sum of :ref:`RENDER_TEXTURE_MEM_USED<class_Performance_constant_RENDER_TEXTURE_MEM_USED>` and :ref:`RENDER_BUFFER_MEM_USED<class_Performance_constant_RENDER_BUFFER_MEM_USED>`. *Lower is better.*
 The amount of video memory used (texture and vertex memory combined, in bytes). Since this metric also includes miscellaneous allocations, this value is always greater than the sum of :ref:`RENDER_TEXTURE_MEM_USED<class_Performance_constant_RENDER_TEXTURE_MEM_USED>` and :ref:`RENDER_BUFFER_MEM_USED<class_Performance_constant_RENDER_BUFFER_MEM_USED>`. *Lower is better.*
 
 
@@ -184,7 +192,7 @@ The amount of video memory used (texture and vertex memory combined, in bytes).
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **RENDER_TEXTURE_MEM_USED** = ``14``
+:ref:`Monitor<enum_Performance_Monitor>` **RENDER_TEXTURE_MEM_USED** = ``15``
 
 
 The amount of texture memory used (in bytes). *Lower is better.*
 The amount of texture memory used (in bytes). *Lower is better.*
 
 
@@ -192,7 +200,7 @@ The amount of texture memory used (in bytes). *Lower is better.*
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **RENDER_BUFFER_MEM_USED** = ``15``
+:ref:`Monitor<enum_Performance_Monitor>` **RENDER_BUFFER_MEM_USED** = ``16``
 
 
 The amount of render buffer memory used (in bytes). *Lower is better.*
 The amount of render buffer memory used (in bytes). *Lower is better.*
 
 
@@ -200,7 +208,7 @@ The amount of render buffer memory used (in bytes). *Lower is better.*
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **PHYSICS_2D_ACTIVE_OBJECTS** = ``16``
+:ref:`Monitor<enum_Performance_Monitor>` **PHYSICS_2D_ACTIVE_OBJECTS** = ``17``
 
 
 Number of active :ref:`RigidBody2D<class_RigidBody2D>` nodes in the game. *Lower is better.*
 Number of active :ref:`RigidBody2D<class_RigidBody2D>` nodes in the game. *Lower is better.*
 
 
@@ -208,7 +216,7 @@ Number of active :ref:`RigidBody2D<class_RigidBody2D>` nodes in the game. *Lower
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **PHYSICS_2D_COLLISION_PAIRS** = ``17``
+:ref:`Monitor<enum_Performance_Monitor>` **PHYSICS_2D_COLLISION_PAIRS** = ``18``
 
 
 Number of collision pairs in the 2D physics engine. *Lower is better.*
 Number of collision pairs in the 2D physics engine. *Lower is better.*
 
 
@@ -216,7 +224,7 @@ Number of collision pairs in the 2D physics engine. *Lower is better.*
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **PHYSICS_2D_ISLAND_COUNT** = ``18``
+:ref:`Monitor<enum_Performance_Monitor>` **PHYSICS_2D_ISLAND_COUNT** = ``19``
 
 
 Number of islands in the 2D physics engine. *Lower is better.*
 Number of islands in the 2D physics engine. *Lower is better.*
 
 
@@ -224,7 +232,7 @@ Number of islands in the 2D physics engine. *Lower is better.*
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **PHYSICS_3D_ACTIVE_OBJECTS** = ``19``
+:ref:`Monitor<enum_Performance_Monitor>` **PHYSICS_3D_ACTIVE_OBJECTS** = ``20``
 
 
 Number of active :ref:`RigidBody3D<class_RigidBody3D>` and :ref:`VehicleBody3D<class_VehicleBody3D>` nodes in the game. *Lower is better.*
 Number of active :ref:`RigidBody3D<class_RigidBody3D>` and :ref:`VehicleBody3D<class_VehicleBody3D>` nodes in the game. *Lower is better.*
 
 
@@ -232,7 +240,7 @@ Number of active :ref:`RigidBody3D<class_RigidBody3D>` and :ref:`VehicleBody3D<c
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **PHYSICS_3D_COLLISION_PAIRS** = ``20``
+:ref:`Monitor<enum_Performance_Monitor>` **PHYSICS_3D_COLLISION_PAIRS** = ``21``
 
 
 Number of collision pairs in the 3D physics engine. *Lower is better.*
 Number of collision pairs in the 3D physics engine. *Lower is better.*
 
 
@@ -240,7 +248,7 @@ Number of collision pairs in the 3D physics engine. *Lower is better.*
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **PHYSICS_3D_ISLAND_COUNT** = ``21``
+:ref:`Monitor<enum_Performance_Monitor>` **PHYSICS_3D_ISLAND_COUNT** = ``22``
 
 
 Number of islands in the 3D physics engine. *Lower is better.*
 Number of islands in the 3D physics engine. *Lower is better.*
 
 
@@ -248,15 +256,87 @@ Number of islands in the 3D physics engine. *Lower is better.*
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **AUDIO_OUTPUT_LATENCY** = ``22``
+:ref:`Monitor<enum_Performance_Monitor>` **AUDIO_OUTPUT_LATENCY** = ``23``
 
 
 Output latency of the :ref:`AudioServer<class_AudioServer>`. *Lower is better.*
 Output latency of the :ref:`AudioServer<class_AudioServer>`. *Lower is better.*
 
 
+.. _class_Performance_constant_NAVIGATION_ACTIVE_MAPS:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Monitor<enum_Performance_Monitor>` **NAVIGATION_ACTIVE_MAPS** = ``24``
+
+Number of active navigation maps in the :ref:`NavigationServer3D<class_NavigationServer3D>`. This also includes the two empty default navigation maps created by World2D and World3D.
+
+.. _class_Performance_constant_NAVIGATION_REGION_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Monitor<enum_Performance_Monitor>` **NAVIGATION_REGION_COUNT** = ``25``
+
+Number of active navigation regions in the :ref:`NavigationServer3D<class_NavigationServer3D>`.
+
+.. _class_Performance_constant_NAVIGATION_AGENT_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Monitor<enum_Performance_Monitor>` **NAVIGATION_AGENT_COUNT** = ``26``
+
+Number of active navigation agents processing avoidance in the :ref:`NavigationServer3D<class_NavigationServer3D>`.
+
+.. _class_Performance_constant_NAVIGATION_LINK_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Monitor<enum_Performance_Monitor>` **NAVIGATION_LINK_COUNT** = ``27``
+
+Number of active navigation links in the :ref:`NavigationServer3D<class_NavigationServer3D>`.
+
+.. _class_Performance_constant_NAVIGATION_POLYGON_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Monitor<enum_Performance_Monitor>` **NAVIGATION_POLYGON_COUNT** = ``28``
+
+Number of navigation mesh polygons in the :ref:`NavigationServer3D<class_NavigationServer3D>`.
+
+.. _class_Performance_constant_NAVIGATION_EDGE_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Monitor<enum_Performance_Monitor>` **NAVIGATION_EDGE_COUNT** = ``29``
+
+Number of navigation mesh polygon edges in the :ref:`NavigationServer3D<class_NavigationServer3D>`.
+
+.. _class_Performance_constant_NAVIGATION_EDGE_MERGE_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Monitor<enum_Performance_Monitor>` **NAVIGATION_EDGE_MERGE_COUNT** = ``30``
+
+Number of navigation mesh polygon edges that were merged due to edge key overlap in the :ref:`NavigationServer3D<class_NavigationServer3D>`.
+
+.. _class_Performance_constant_NAVIGATION_EDGE_CONNECTION_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Monitor<enum_Performance_Monitor>` **NAVIGATION_EDGE_CONNECTION_COUNT** = ``31``
+
+Number of polygon edges that are considered connected by edge proximity :ref:`NavigationServer3D<class_NavigationServer3D>`.
+
+.. _class_Performance_constant_NAVIGATION_EDGE_FREE_COUNT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Monitor<enum_Performance_Monitor>` **NAVIGATION_EDGE_FREE_COUNT** = ``32``
+
+Number of navigation mesh polygon edges that could not be merged in the :ref:`NavigationServer3D<class_NavigationServer3D>`. The edges still may be connected by edge proximity or with links.
+
 .. _class_Performance_constant_MONITOR_MAX:
 .. _class_Performance_constant_MONITOR_MAX:
 
 
 .. rst-class:: classref-enumeration-constant
 .. rst-class:: classref-enumeration-constant
 
 
-:ref:`Monitor<enum_Performance_Monitor>` **MONITOR_MAX** = ``23``
+:ref:`Monitor<enum_Performance_Monitor>` **MONITOR_MAX** = ``33``
 
 
 Represents the size of the :ref:`Monitor<enum_Performance_Monitor>` enum.
 Represents the size of the :ref:`Monitor<enum_Performance_Monitor>` enum.
 
 
@@ -306,7 +386,7 @@ Adds a custom monitor with the name ``id``. You can specify the category of the
 
 
     public override void _Ready()
     public override void _Ready()
     {
     {
-        var monitorValue = new Callable(this, nameof(GetMonitorValue));
+        var monitorValue = new Callable(this, MethodName.GetMonitorValue);
     
     
         // Adds monitor with name "MyName" to category "MyCategory".
         // Adds monitor with name "MyName" to category "MyCategory".
         Performance.AddCustomMonitor("MyCategory/MyMonitor", monitorValue);
         Performance.AddCustomMonitor("MyCategory/MyMonitor", monitorValue);

+ 5 - 2
classes/class_physicalbone3d.rst

@@ -12,9 +12,12 @@ PhysicalBone3D
 
 
 **Inherits:** :ref:`PhysicsBody3D<class_PhysicsBody3D>` **<** :ref:`CollisionObject3D<class_CollisionObject3D>` **<** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 **Inherits:** :ref:`PhysicsBody3D<class_PhysicsBody3D>` **<** :ref:`CollisionObject3D<class_CollisionObject3D>` **<** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 
-.. container:: contribute
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
 
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+**Warning:** With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
 
 
 .. rst-class:: classref-reftable-group
 .. rst-class:: classref-reftable-group
 
 

+ 3 - 1
classes/class_physicsbody3d.rst

@@ -21,7 +21,9 @@ Base class for all objects affected by physics in 3D space.
 Description
 Description
 -----------
 -----------
 
 
-PhysicsBody3D is an abstract base class for implementing a physics body. All \*Body types inherit from it.
+PhysicsBody3D is an abstract base class for implementing a physics body. All \*Body3D types inherit from it.
+
+\ **Warning:** With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
 
 
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 

+ 1 - 1
classes/class_physicsserver3dmanager.rst

@@ -52,7 +52,7 @@ Method Descriptions
 
 
 void **register_server** **(** :ref:`String<class_String>` name, :ref:`Callable<class_Callable>` create_callback **)**
 void **register_server** **(** :ref:`String<class_String>` name, :ref:`Callable<class_Callable>` create_callback **)**
 
 
-Register a :ref:`PhysicsServer3D<class_PhysicsServer3D>` implementation by passing a ``name`` and a :ref:`Callable<class_Callable>` that returns a :ref:`PhysicsServer2D<class_PhysicsServer2D>` object.
+Register a :ref:`PhysicsServer3D<class_PhysicsServer3D>` implementation by passing a ``name`` and a :ref:`Callable<class_Callable>` that returns a :ref:`PhysicsServer3D<class_PhysicsServer3D>` object.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 15 - 9
classes/class_plane.rst

@@ -78,11 +78,11 @@ Methods
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Vector3<class_Vector3>` | :ref:`center<class_Plane_method_center>` **(** **)** |const|                                                                                              |
    +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`     | :ref:`distance_to<class_Plane_method_distance_to>` **(** :ref:`Vector3<class_Vector3>` point **)** |const|                                                |
    | :ref:`float<class_float>`     | :ref:`distance_to<class_Plane_method_distance_to>` **(** :ref:`Vector3<class_Vector3>` point **)** |const|                                                |
    +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Vector3<class_Vector3>` | :ref:`get_center<class_Plane_method_get_center>` **(** **)** |const|                                                                                      |
+   +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`       | :ref:`has_point<class_Plane_method_has_point>` **(** :ref:`Vector3<class_Vector3>` point, :ref:`float<class_float>` tolerance=1e-05 **)** |const|         |
    | :ref:`bool<class_bool>`       | :ref:`has_point<class_Plane_method_has_point>` **(** :ref:`Vector3<class_Vector3>` point, :ref:`float<class_float>` tolerance=1e-05 **)** |const|         |
    +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
    +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Variant<class_Variant>` | :ref:`intersect_3<class_Plane_method_intersect_3>` **(** :ref:`Plane<class_Plane>` b, :ref:`Plane<class_Plane>` c **)** |const|                           |
    | :ref:`Variant<class_Variant>` | :ref:`intersect_3<class_Plane_method_intersect_3>` **(** :ref:`Plane<class_Plane>` b, :ref:`Plane<class_Plane>` c **)** |const|                           |
@@ -184,7 +184,7 @@ In the scalar equation of the plane ``ax + by + cz = d``, this is ``d``, while t
 
 
 :ref:`Vector3<class_Vector3>` **normal** = ``Vector3(0, 0, 0)``
 :ref:`Vector3<class_Vector3>` **normal** = ``Vector3(0, 0, 0)``
 
 
-The normal of the plane, which must be normalized.
+The normal of the plane, which must be a unit vector.
 
 
 In the scalar equation of the plane ``ax + by + cz = d``, this is the vector ``(a, b, c)``, where ``d`` is the :ref:`d<class_Plane_property_d>` property.
 In the scalar equation of the plane ``ax + by + cz = d``, this is the vector ``(a, b, c)``, where ``d`` is the :ref:`d<class_Plane_property_d>` property.
 
 
@@ -271,6 +271,8 @@ Creates a plane from the four parameters. The three components of the resulting
 
 
 Creates a plane from the normal vector. The plane will intersect the origin.
 Creates a plane from the normal vector. The plane will intersect the origin.
 
 
+The ``normal`` of the plane must be a unit vector.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -281,6 +283,8 @@ Creates a plane from the normal vector. The plane will intersect the origin.
 
 
 Creates a plane from the normal vector and the plane's distance from the origin.
 Creates a plane from the normal vector and the plane's distance from the origin.
 
 
+The ``normal`` of the plane must be a unit vector.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -291,6 +295,8 @@ Creates a plane from the normal vector and the plane's distance from the origin.
 
 
 Creates a plane from the normal vector and a point on the plane.
 Creates a plane from the normal vector and a point on the plane.
 
 
+The ``normal`` of the plane must be a unit vector.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -310,25 +316,25 @@ Creates a plane from the three points, given in clockwise order.
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 
-.. _class_Plane_method_center:
+.. _class_Plane_method_distance_to:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`Vector3<class_Vector3>` **center** **(** **)** |const|
+:ref:`float<class_float>` **distance_to** **(** :ref:`Vector3<class_Vector3>` point **)** |const|
 
 
-Returns the center of the plane.
+Returns the shortest distance from the plane to the position ``point``. If the point is above the plane, the distance will be positive. If below, the distance will be negative.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
 
 
-.. _class_Plane_method_distance_to:
+.. _class_Plane_method_get_center:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`float<class_float>` **distance_to** **(** :ref:`Vector3<class_Vector3>` point **)** |const|
+:ref:`Vector3<class_Vector3>` **get_center** **(** **)** |const|
 
 
-Returns the shortest distance from the plane to the position ``point``. If the point is above the plane, the distance will be positive. If below, the distance will be negative.
+Returns the center of the plane.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

+ 54 - 54
classes/class_projection.rst

@@ -67,59 +67,59 @@ Methods
 .. table::
 .. table::
    :widths: auto
    :widths: auto
 
 
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Projection<class_Projection>` | :ref:`create_depth_correction<class_Projection_method_create_depth_correction>` **(** :ref:`bool<class_bool>` flip_y **)** |static|                                                                                                                                                                                                                                                          |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Projection<class_Projection>` | :ref:`create_fit_aabb<class_Projection_method_create_fit_aabb>` **(** :ref:`AABB<class_AABB>` aabb **)** |static|                                                                                                                                                                                                                                                                            |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Projection<class_Projection>` | :ref:`create_for_hmd<class_Projection_method_create_for_hmd>` **(** :ref:`int<class_int>` eye, :ref:`float<class_float>` aspect, :ref:`float<class_float>` intraocular_dist, :ref:`float<class_float>` display_width, :ref:`float<class_float>` display_to_lens, :ref:`float<class_float>` oversample, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)** |static|      |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Projection<class_Projection>` | :ref:`create_frustum<class_Projection_method_create_frustum>` **(** :ref:`float<class_float>` left, :ref:`float<class_float>` right, :ref:`float<class_float>` bottom, :ref:`float<class_float>` top, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)** |static|                                                                                                       |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Projection<class_Projection>` | :ref:`create_frustum_aspect<class_Projection_method_create_frustum_aspect>` **(** :ref:`float<class_float>` size, :ref:`float<class_float>` aspect, :ref:`Vector2<class_Vector2>` offset, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far, :ref:`bool<class_bool>` flip_fov=false **)** |static|                                                                           |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Projection<class_Projection>` | :ref:`create_light_atlas_rect<class_Projection_method_create_light_atlas_rect>` **(** :ref:`Rect2<class_Rect2>` rect **)** |static|                                                                                                                                                                                                                                                          |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Projection<class_Projection>` | :ref:`create_orthogonal<class_Projection_method_create_orthogonal>` **(** :ref:`float<class_float>` left, :ref:`float<class_float>` right, :ref:`float<class_float>` bottom, :ref:`float<class_float>` top, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)** |static|                                                                                                 |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Projection<class_Projection>` | :ref:`create_orthogonal_aspect<class_Projection_method_create_orthogonal_aspect>` **(** :ref:`float<class_float>` size, :ref:`float<class_float>` aspect, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far, :ref:`bool<class_bool>` flip_fov=false **)** |static|                                                                                                           |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Projection<class_Projection>` | :ref:`create_perspective<class_Projection_method_create_perspective>` **(** :ref:`float<class_float>` fovy, :ref:`float<class_float>` aspect, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far, :ref:`bool<class_bool>` flip_fov=false **)** |static|                                                                                                                       |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Projection<class_Projection>` | :ref:`create_perspective_hmd<class_Projection_method_create_perspective_hmd>` **(** :ref:`float<class_float>` fovy, :ref:`float<class_float>` aspect, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far, :ref:`bool<class_bool>` flip_fov, :ref:`int<class_int>` eye, :ref:`float<class_float>` intraocular_dist, :ref:`float<class_float>`  convergence_dist **)** |static| |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`           | :ref:`determinant<class_Projection_method_determinant>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                  |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Projection<class_Projection>` | :ref:`flipped_y<class_Projection_method_flipped_y>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                      |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`           | :ref:`get_aspect<class_Projection_method_get_aspect>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                    |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Vector2<class_Vector2>`       | :ref:`get_far_plane_half_extents<class_Projection_method_get_far_plane_half_extents>` **(** **)** |const|                                                                                                                                                                                                                                                                                    |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`           | :ref:`get_fov<class_Projection_method_get_fov>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                          |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`           | :ref:`get_fovy<class_Projection_method_get_fovy>` **(** :ref:`float<class_float>` fovx, :ref:`float<class_float>` aspect **)** |static|                                                                                                                                                                                                                                                      |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`           | :ref:`get_lod_multiplier<class_Projection_method_get_lod_multiplier>` **(** **)** |const|                                                                                                                                                                                                                                                                                                    |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`               | :ref:`get_pixels_per_meter<class_Projection_method_get_pixels_per_meter>` **(** :ref:`int<class_int>` for_pixel_width **)** |const|                                                                                                                                                                                                                                                          |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Plane<class_Plane>`           | :ref:`get_projection_plane<class_Projection_method_get_projection_plane>` **(** :ref:`int<class_int>` plane **)** |const|                                                                                                                                                                                                                                                                    |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Vector2<class_Vector2>`       | :ref:`get_viewport_half_extents<class_Projection_method_get_viewport_half_extents>` **(** **)** |const|                                                                                                                                                                                                                                                                                      |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`           | :ref:`get_z_far<class_Projection_method_get_z_far>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                      |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`           | :ref:`get_z_near<class_Projection_method_get_z_near>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                    |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Projection<class_Projection>` | :ref:`inverse<class_Projection_method_inverse>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                          |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`             | :ref:`is_orthogonal<class_Projection_method_is_orthogonal>` **(** **)** |const|                                                                                                                                                                                                                                                                                                              |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Projection<class_Projection>` | :ref:`jitter_offseted<class_Projection_method_jitter_offseted>` **(** :ref:`Vector2<class_Vector2>` offset **)** |const|                                                                                                                                                                                                                                                                     |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Projection<class_Projection>` | :ref:`perspective_znear_adjusted<class_Projection_method_perspective_znear_adjusted>` **(** :ref:`float<class_float>` new_znear **)** |const|                                                                                                                                                                                                                                                |
-   +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Projection<class_Projection>` | :ref:`create_depth_correction<class_Projection_method_create_depth_correction>` **(** :ref:`bool<class_bool>` flip_y **)** |static|                                                                                                                                                                                                                                                         |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Projection<class_Projection>` | :ref:`create_fit_aabb<class_Projection_method_create_fit_aabb>` **(** :ref:`AABB<class_AABB>` aabb **)** |static|                                                                                                                                                                                                                                                                           |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Projection<class_Projection>` | :ref:`create_for_hmd<class_Projection_method_create_for_hmd>` **(** :ref:`int<class_int>` eye, :ref:`float<class_float>` aspect, :ref:`float<class_float>` intraocular_dist, :ref:`float<class_float>` display_width, :ref:`float<class_float>` display_to_lens, :ref:`float<class_float>` oversample, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)** |static|     |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Projection<class_Projection>` | :ref:`create_frustum<class_Projection_method_create_frustum>` **(** :ref:`float<class_float>` left, :ref:`float<class_float>` right, :ref:`float<class_float>` bottom, :ref:`float<class_float>` top, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)** |static|                                                                                                      |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Projection<class_Projection>` | :ref:`create_frustum_aspect<class_Projection_method_create_frustum_aspect>` **(** :ref:`float<class_float>` size, :ref:`float<class_float>` aspect, :ref:`Vector2<class_Vector2>` offset, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far, :ref:`bool<class_bool>` flip_fov=false **)** |static|                                                                          |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Projection<class_Projection>` | :ref:`create_light_atlas_rect<class_Projection_method_create_light_atlas_rect>` **(** :ref:`Rect2<class_Rect2>` rect **)** |static|                                                                                                                                                                                                                                                         |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Projection<class_Projection>` | :ref:`create_orthogonal<class_Projection_method_create_orthogonal>` **(** :ref:`float<class_float>` left, :ref:`float<class_float>` right, :ref:`float<class_float>` bottom, :ref:`float<class_float>` top, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)** |static|                                                                                                |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Projection<class_Projection>` | :ref:`create_orthogonal_aspect<class_Projection_method_create_orthogonal_aspect>` **(** :ref:`float<class_float>` size, :ref:`float<class_float>` aspect, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far, :ref:`bool<class_bool>` flip_fov=false **)** |static|                                                                                                          |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Projection<class_Projection>` | :ref:`create_perspective<class_Projection_method_create_perspective>` **(** :ref:`float<class_float>` fovy, :ref:`float<class_float>` aspect, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far, :ref:`bool<class_bool>` flip_fov=false **)** |static|                                                                                                                      |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Projection<class_Projection>` | :ref:`create_perspective_hmd<class_Projection_method_create_perspective_hmd>` **(** :ref:`float<class_float>` fovy, :ref:`float<class_float>` aspect, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far, :ref:`bool<class_bool>` flip_fov, :ref:`int<class_int>` eye, :ref:`float<class_float>` intraocular_dist, :ref:`float<class_float>` convergence_dist **)** |static| |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`           | :ref:`determinant<class_Projection_method_determinant>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                 |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Projection<class_Projection>` | :ref:`flipped_y<class_Projection_method_flipped_y>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                     |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`           | :ref:`get_aspect<class_Projection_method_get_aspect>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                   |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Vector2<class_Vector2>`       | :ref:`get_far_plane_half_extents<class_Projection_method_get_far_plane_half_extents>` **(** **)** |const|                                                                                                                                                                                                                                                                                   |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`           | :ref:`get_fov<class_Projection_method_get_fov>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                         |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`           | :ref:`get_fovy<class_Projection_method_get_fovy>` **(** :ref:`float<class_float>` fovx, :ref:`float<class_float>` aspect **)** |static|                                                                                                                                                                                                                                                     |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`           | :ref:`get_lod_multiplier<class_Projection_method_get_lod_multiplier>` **(** **)** |const|                                                                                                                                                                                                                                                                                                   |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`               | :ref:`get_pixels_per_meter<class_Projection_method_get_pixels_per_meter>` **(** :ref:`int<class_int>` for_pixel_width **)** |const|                                                                                                                                                                                                                                                         |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Plane<class_Plane>`           | :ref:`get_projection_plane<class_Projection_method_get_projection_plane>` **(** :ref:`int<class_int>` plane **)** |const|                                                                                                                                                                                                                                                                   |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Vector2<class_Vector2>`       | :ref:`get_viewport_half_extents<class_Projection_method_get_viewport_half_extents>` **(** **)** |const|                                                                                                                                                                                                                                                                                     |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`           | :ref:`get_z_far<class_Projection_method_get_z_far>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                     |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`           | :ref:`get_z_near<class_Projection_method_get_z_near>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                   |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Projection<class_Projection>` | :ref:`inverse<class_Projection_method_inverse>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                         |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`             | :ref:`is_orthogonal<class_Projection_method_is_orthogonal>` **(** **)** |const|                                                                                                                                                                                                                                                                                                             |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Projection<class_Projection>` | :ref:`jitter_offseted<class_Projection_method_jitter_offseted>` **(** :ref:`Vector2<class_Vector2>` offset **)** |const|                                                                                                                                                                                                                                                                    |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Projection<class_Projection>` | :ref:`perspective_znear_adjusted<class_Projection_method_perspective_znear_adjusted>` **(** :ref:`float<class_float>` new_znear **)** |const|                                                                                                                                                                                                                                               |
+   +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 .. rst-class:: classref-reftable-group
 .. rst-class:: classref-reftable-group
 
 
@@ -443,7 +443,7 @@ Creates a new **Projection** that projects positions using a perspective project
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-:ref:`Projection<class_Projection>` **create_perspective_hmd** **(** :ref:`float<class_float>` fovy, :ref:`float<class_float>` aspect, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far, :ref:`bool<class_bool>` flip_fov, :ref:`int<class_int>` eye, :ref:`float<class_float>` intraocular_dist, :ref:`float<class_float>`  convergence_dist **)** |static|
+:ref:`Projection<class_Projection>` **create_perspective_hmd** **(** :ref:`float<class_float>` fovy, :ref:`float<class_float>` aspect, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far, :ref:`bool<class_bool>` flip_fov, :ref:`int<class_int>` eye, :ref:`float<class_float>` intraocular_dist, :ref:`float<class_float>` convergence_dist **)** |static|
 
 
 Creates a new **Projection** that projects positions using a perspective projection with the given Y-axis field of view (in degrees), X:Y aspect ratio, and clipping distances. The projection is adjusted for a head-mounted display with the given distance between eyes and distance to a point that can be focused on.
 Creates a new **Projection** that projects positions using a perspective projection with the given Y-axis field of view (in degrees), X:Y aspect ratio, and clipping distances. The projection is adjusted for a head-mounted display with the given distance between eyes and distance to a point that can be focused on.
 
 

+ 167 - 10
classes/class_projectsettings.rst

@@ -145,6 +145,8 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`debug/gdscript/warnings/assert_always_true<class_ProjectSettings_property_debug/gdscript/warnings/assert_always_true>`                                                                               | ``1``                                                                                            |
    | :ref:`int<class_int>`                             | :ref:`debug/gdscript/warnings/assert_always_true<class_ProjectSettings_property_debug/gdscript/warnings/assert_always_true>`                                                                               | ``1``                                                                                            |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`debug/gdscript/warnings/confusable_identifier<class_ProjectSettings_property_debug/gdscript/warnings/confusable_identifier>`                                                                         | ``1``                                                                                            |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`debug/gdscript/warnings/constant_used_as_function<class_ProjectSettings_property_debug/gdscript/warnings/constant_used_as_function>`                                                                 | ``1``                                                                                            |
    | :ref:`int<class_int>`                             | :ref:`debug/gdscript/warnings/constant_used_as_function<class_ProjectSettings_property_debug/gdscript/warnings/constant_used_as_function>`                                                                 | ``1``                                                                                            |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`debug/gdscript/warnings/deprecated_keyword<class_ProjectSettings_property_debug/gdscript/warnings/deprecated_keyword>`                                                                               | ``1``                                                                                            |
    | :ref:`int<class_int>`                             | :ref:`debug/gdscript/warnings/deprecated_keyword<class_ProjectSettings_property_debug/gdscript/warnings/deprecated_keyword>`                                                                               | ``1``                                                                                            |
@@ -295,7 +297,11 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`display/window/size/extend_to_title<class_ProjectSettings_property_display/window/size/extend_to_title>`                                                                                             | ``false``                                                                                        |
    | :ref:`bool<class_bool>`                           | :ref:`display/window/size/extend_to_title<class_ProjectSettings_property_display/window/size/extend_to_title>`                                                                                             | ``false``                                                                                        |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                             | :ref:`display/window/size/initial_screen<class_ProjectSettings_property_display/window/size/initial_screen>`                                                                                               | ``-2``                                                                                           |
+   | :ref:`Vector2i<class_Vector2i>`                   | :ref:`display/window/size/initial_position<class_ProjectSettings_property_display/window/size/initial_position>`                                                                                           | ``Vector2i(0, 0)``                                                                               |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`display/window/size/initial_position_type<class_ProjectSettings_property_display/window/size/initial_position_type>`                                                                                 | ``1``                                                                                            |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`display/window/size/initial_screen<class_ProjectSettings_property_display/window/size/initial_screen>`                                                                                               | ``0``                                                                                            |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`display/window/size/mode<class_ProjectSettings_property_display/window/size/mode>`                                                                                                                   | ``0``                                                                                            |
    | :ref:`int<class_int>`                             | :ref:`display/window/size/mode<class_ProjectSettings_property_display/window/size/mode>`                                                                                                                   | ``0``                                                                                            |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
@@ -315,6 +321,10 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`display/window/vsync/vsync_mode<class_ProjectSettings_property_display/window/vsync/vsync_mode>`                                                                                                     | ``1``                                                                                            |
    | :ref:`int<class_int>`                             | :ref:`display/window/vsync/vsync_mode<class_ProjectSettings_property_display/window/vsync/vsync_mode>`                                                                                                     | ``1``                                                                                            |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`dotnet/project/assembly_name<class_ProjectSettings_property_dotnet/project/assembly_name>`                                                                                                           | ``""``                                                                                           |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`dotnet/project/solution_directory<class_ProjectSettings_property_dotnet/project/solution_directory>`                                                                                                 | ``""``                                                                                           |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`editor/movie_writer/disable_vsync<class_ProjectSettings_property_editor/movie_writer/disable_vsync>`                                                                                                 | ``false``                                                                                        |
    | :ref:`bool<class_bool>`                           | :ref:`editor/movie_writer/disable_vsync<class_ProjectSettings_property_editor/movie_writer/disable_vsync>`                                                                                                 | ``false``                                                                                        |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`editor/movie_writer/fps<class_ProjectSettings_property_editor/movie_writer/fps>`                                                                                                                     | ``60``                                                                                           |
    | :ref:`int<class_int>`                             | :ref:`editor/movie_writer/fps<class_ProjectSettings_property_editor/movie_writer/fps>`                                                                                                                     | ``60``                                                                                           |
@@ -327,9 +337,13 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`editor/movie_writer/speaker_mode<class_ProjectSettings_property_editor/movie_writer/speaker_mode>`                                                                                                   | ``0``                                                                                            |
    | :ref:`int<class_int>`                             | :ref:`editor/movie_writer/speaker_mode<class_ProjectSettings_property_editor/movie_writer/speaker_mode>`                                                                                                   | ``0``                                                                                            |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                             | :ref:`editor/node_naming/name_casing<class_ProjectSettings_property_editor/node_naming/name_casing>`                                                                                                       | ``0``                                                                                            |
+   | :ref:`String<class_String>`                       | :ref:`editor/naming/default_signal_callback_name<class_ProjectSettings_property_editor/naming/default_signal_callback_name>`                                                                               | ``"_on_{node_name}_{signal_name}"``                                                              |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`editor/naming/default_signal_callback_to_self_name<class_ProjectSettings_property_editor/naming/default_signal_callback_to_self_name>`                                                               | ``"_on_{signal_name}"``                                                                          |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`editor/naming/node_name_casing<class_ProjectSettings_property_editor/naming/node_name_casing>`                                                                                                       | ``0``                                                                                            |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                             | :ref:`editor/node_naming/name_num_separator<class_ProjectSettings_property_editor/node_naming/name_num_separator>`                                                                                         | ``0``                                                                                            |
+   | :ref:`int<class_int>`                             | :ref:`editor/naming/node_name_num_separator<class_ProjectSettings_property_editor/naming/node_name_num_separator>`                                                                                         | ``0``                                                                                            |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                       | :ref:`editor/run/main_run_args<class_ProjectSettings_property_editor/run/main_run_args>`                                                                                                                   | ``""``                                                                                           |
    | :ref:`String<class_String>`                       | :ref:`editor/run/main_run_args<class_ProjectSettings_property_editor/run/main_run_args>`                                                                                                                   | ``""``                                                                                           |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
@@ -373,6 +387,8 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`gui/theme/lcd_subpixel_layout<class_ProjectSettings_property_gui/theme/lcd_subpixel_layout>`                                                                                                         | ``1``                                                                                            |
    | :ref:`int<class_int>`                             | :ref:`gui/theme/lcd_subpixel_layout<class_ProjectSettings_property_gui/theme/lcd_subpixel_layout>`                                                                                                         | ``1``                                                                                            |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`gui/timers/button_shortcut_feedback_highlight_time<class_ProjectSettings_property_gui/timers/button_shortcut_feedback_highlight_time>`                                                               | ``0.2``                                                                                          |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`gui/timers/incremental_search_max_interval_msec<class_ProjectSettings_property_gui/timers/incremental_search_max_interval_msec>`                                                                     | ``2000``                                                                                         |
    | :ref:`int<class_int>`                             | :ref:`gui/timers/incremental_search_max_interval_msec<class_ProjectSettings_property_gui/timers/incremental_search_max_interval_msec>`                                                                     | ``2000``                                                                                         |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                         | :ref:`gui/timers/text_edit_idle_detect_sec<class_ProjectSettings_property_gui/timers/text_edit_idle_detect_sec>`                                                                                           | ``3``                                                                                            |
    | :ref:`float<class_float>`                         | :ref:`gui/timers/text_edit_idle_detect_sec<class_ProjectSettings_property_gui/timers/text_edit_idle_detect_sec>`                                                                                           | ``3``                                                                                            |
@@ -1339,6 +1355,8 @@ Methods
    +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Variant<class_Variant>`         | :ref:`get_setting<class_ProjectSettings_method_get_setting>` **(** :ref:`String<class_String>` name, :ref:`Variant<class_Variant>` default_value=null **)** |const|                                 |
    | :ref:`Variant<class_Variant>`         | :ref:`get_setting<class_ProjectSettings_method_get_setting>` **(** :ref:`String<class_String>` name, :ref:`Variant<class_Variant>` default_value=null **)** |const|                                 |
    +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Variant<class_Variant>`         | :ref:`get_setting_with_override<class_ProjectSettings_method_get_setting_with_override>` **(** :ref:`StringName<class_StringName>` name **)** |const|                                               |
+   +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`           | :ref:`globalize_path<class_ProjectSettings_method_globalize_path>` **(** :ref:`String<class_String>` path **)** |const|                                                                             |
    | :ref:`String<class_String>`           | :ref:`globalize_path<class_ProjectSettings_method_globalize_path>` **(** :ref:`String<class_String>` path **)** |const|                                                                             |
    +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`               | :ref:`has_setting<class_ProjectSettings_method_has_setting>` **(** :ref:`String<class_String>` name **)** |const|                                                                                   |
    | :ref:`bool<class_bool>`               | :ref:`has_setting<class_ProjectSettings_method_has_setting>` **(** :ref:`String<class_String>` name **)** |const|                                                                                   |
@@ -2011,6 +2029,18 @@ When set to ``warn`` or ``error``, produces a warning or an error respectively w
 
 
 ----
 ----
 
 
+.. _class_ProjectSettings_property_debug/gdscript/warnings/confusable_identifier:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **debug/gdscript/warnings/confusable_identifier** = ``1``
+
+When set to ``warn`` or ``error``, produces a warning or an error respectively when an identifier contains characters that can be confused with something else, like when mixing different alphabets.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_debug/gdscript/warnings/constant_used_as_function:
 .. _class_ProjectSettings_property_debug/gdscript/warnings/constant_used_as_function:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
@@ -2923,13 +2953,43 @@ Main window content is expanded to the full size of the window. Unlike a borderl
 
 
 ----
 ----
 
 
+.. _class_ProjectSettings_property_display/window/size/initial_position:
+
+.. rst-class:: classref-property
+
+:ref:`Vector2i<class_Vector2i>` **display/window/size/initial_position** = ``Vector2i(0, 0)``
+
+Main window initial position (in virtual desktop coordinates), this settings is used only if :ref:`display/window/size/initial_position_type<class_ProjectSettings_property_display/window/size/initial_position_type>` is set to "Absolute" (``0``).
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_display/window/size/initial_position_type:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **display/window/size/initial_position_type** = ``1``
+
+Main window initial position.
+
+\ ``0`` - "Absolute", :ref:`display/window/size/initial_position<class_ProjectSettings_property_display/window/size/initial_position>` is used to set window 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.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_display/window/size/initial_screen:
 .. _class_ProjectSettings_property_display/window/size/initial_screen:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`int<class_int>` **display/window/size/initial_screen** = ``-2``
+:ref:`int<class_int>` **display/window/size/initial_screen** = ``0``
 
 
-Main window initial screen.
+Main window initial screen, this settings is used only if :ref:`display/window/size/initial_position_type<class_ProjectSettings_property_display/window/size/initial_position_type>` is set to "Other Screen Center" (``2``).
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -3051,7 +3111,35 @@ Sets the V-Sync mode for the main game window.
 
 
 See :ref:`VSyncMode<enum_DisplayServer_VSyncMode>` for possible values and how they affect the behavior of your application.
 See :ref:`VSyncMode<enum_DisplayServer_VSyncMode>` for possible values and how they affect the behavior of your application.
 
 
-Depending on the platform and used renderer, the engine will fall back to ``Enabled``, if the desired mode is not supported.
+Depending on the platform and used renderer, the engine will fall back to ``Enabled`` if the desired mode is not supported.
+
+\ **Note:** This property is only read when the project starts. To change the V-Sync mode at runtime, call :ref:`DisplayServer.window_set_vsync_mode<class_DisplayServer_method_window_set_vsync_mode>` instead.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_dotnet/project/assembly_name:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **dotnet/project/assembly_name** = ``""``
+
+Name of the .NET assembly. This name is used as the name of the ``.csproj`` and ``.sln`` files. By default, it's set to the name of the project (:ref:`application/config/name<class_ProjectSettings_property_application/config/name>`) allowing to change it in the future without affecting the .NET assembly.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_dotnet/project/solution_directory:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **dotnet/project/solution_directory** = ``""``
+
+Directory that contains the ``.sln`` file. By default, the ``.sln`` files is in the root of the project directory, next to the ``project.godot`` and ``.csproj`` files.
+
+Changing this value allows setting up a multi-project scenario where there are multiple ``.csproj``. Keep in mind that the Godot project is considered one of the C# projects in the workspace and it's root directory should contain the ``project.godot`` and ``.csproj`` next to each other.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
@@ -3145,11 +3233,35 @@ The speaker mode to use in the recorded audio when writing a movie. See :ref:`Sp
 
 
 ----
 ----
 
 
-.. _class_ProjectSettings_property_editor/node_naming/name_casing:
+.. _class_ProjectSettings_property_editor/naming/default_signal_callback_name:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **editor/naming/default_signal_callback_name** = ``"_on_{node_name}_{signal_name}"``
+
+The format of the default signal callback name (in the Signal Connection Dialog). The following substitutions are available: ``{NodeName}``, ``{nodeName}``, ``{node_name}``, ``{SignalName}``, ``{signalName}``, and ``{signal_name}``.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_editor/naming/default_signal_callback_to_self_name:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **editor/naming/default_signal_callback_to_self_name** = ``"_on_{signal_name}"``
+
+The format of the default signal callback name when a signal connects to the same node that emits it (in the Signal Connection Dialog). The following substitutions are available: ``{NodeName}``, ``{nodeName}``, ``{node_name}``, ``{SignalName}``, ``{signalName}``, and ``{signal_name}``.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_editor/naming/node_name_casing:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`int<class_int>` **editor/node_naming/name_casing** = ``0``
+:ref:`int<class_int>` **editor/naming/node_name_casing** = ``0``
 
 
 When creating node names automatically, set the type of casing in this project. This is mostly an editor setting.
 When creating node names automatically, set the type of casing in this project. This is mostly an editor setting.
 
 
@@ -3157,11 +3269,11 @@ When creating node names automatically, set the type of casing in this project.
 
 
 ----
 ----
 
 
-.. _class_ProjectSettings_property_editor/node_naming/name_num_separator:
+.. _class_ProjectSettings_property_editor/naming/node_name_num_separator:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
 
 
-:ref:`int<class_int>` **editor/node_naming/name_num_separator** = ``0``
+:ref:`int<class_int>` **editor/naming/node_name_num_separator** = ``0``
 
 
 What to use to separate node name from number. This is mostly an editor setting.
 What to use to separate node name from number. This is mostly an editor setting.
 
 
@@ -3445,6 +3557,18 @@ LCD subpixel layout used for font anti-aliasing. See :ref:`FontLCDSubpixelLayout
 
 
 ----
 ----
 
 
+.. _class_ProjectSettings_property_gui/timers/button_shortcut_feedback_highlight_time:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **gui/timers/button_shortcut_feedback_highlight_time** = ``0.2``
+
+When :ref:`BaseButton.shortcut_feedback<class_BaseButton_property_shortcut_feedback>` is enabled, this is the time the :ref:`BaseButton<class_BaseButton>` will remain highlighted after a shortcut.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_gui/timers/incremental_search_max_interval_msec:
 .. _class_ProjectSettings_property_gui/timers/incremental_search_max_interval_msec:
 
 
 .. rst-class:: classref-property
 .. rst-class:: classref-property
@@ -9608,6 +9732,39 @@ Returns the value of the setting identified by ``name``. If the setting doesn't
 
 
 
 
 
 
+\ **Note:** This method doesn't take potential feature overrides into account automatically. Use :ref:`get_setting_with_override<class_ProjectSettings_method_get_setting_with_override>` to handle seamlessly.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_method_get_setting_with_override:
+
+.. rst-class:: classref-method
+
+:ref:`Variant<class_Variant>` **get_setting_with_override** **(** :ref:`StringName<class_StringName>` name **)** |const|
+
+Similar to :ref:`get_setting<class_ProjectSettings_method_get_setting>`, but applies feature tag overrides if any exists and is valid.
+
+\ **Example:**\ 
+
+If the following setting override exists "application/config/name.windows", and the following code is executed:
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    print(ProjectSettings.get_setting_with_override("application/config/name"))
+
+ .. code-tab:: csharp
+
+    GD.Print(ProjectSettings.GetSettingWithOverride("application/config/name"));
+
+
+
+Then the overridden setting will be returned instead if the project is running on the *Windows* operating system.
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----

+ 3 - 3
classes/class_rect2i.rst

@@ -272,9 +272,9 @@ Returns a copy of this **Rect2i** expanded so that the borders align with the gi
  .. code-tab:: csharp
  .. code-tab:: csharp
 
 
     // position (-3, 2), size (1, 1)
     // position (-3, 2), size (1, 1)
-    var rect = new Rect2i(new Vector2i(-3, 2), new Vector2i(1, 1));
-    // position (-3, -1), size (3, 4), so we fit both rect and Vector2i(0, -1)
-    var rect2 = rect.Expand(new Vector2i(0, -1));
+    var rect = new Rect2I(new Vector2I(-3, 2), new Vector2I(1, 1));
+    // position (-3, -1), size (3, 4), so we fit both rect and Vector2I(0, -1)
+    var rect2 = rect.Expand(new Vector2I(0, -1));
 
 
 
 
 
 

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
classes/class_refcounted.rst


+ 3 - 3
classes/class_remotetransform2d.rst

@@ -12,16 +12,16 @@ RemoteTransform2D
 
 
 **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 
-RemoteTransform2D pushes its own :ref:`Transform2D<class_Transform2D>` to another :ref:`CanvasItem<class_CanvasItem>` derived Node in the scene.
+RemoteTransform2D pushes its own :ref:`Transform2D<class_Transform2D>` to another :ref:`Node2D<class_Node2D>` derived node in the scene.
 
 
 .. rst-class:: classref-introduction-group
 .. rst-class:: classref-introduction-group
 
 
 Description
 Description
 -----------
 -----------
 
 
-RemoteTransform2D pushes its own :ref:`Transform2D<class_Transform2D>` to another :ref:`CanvasItem<class_CanvasItem>` derived Node (called the remote node) in the scene.
+RemoteTransform2D pushes its own :ref:`Transform2D<class_Transform2D>` to another :ref:`Node2D<class_Node2D>` derived node (called the remote node) in the scene.
 
 
-It can be set to update another Node's position, rotation and/or scale. It can use either global or local coordinates.
+It can be set to update another node's position, rotation and/or scale. It can use either global or local coordinates.
 
 
 .. rst-class:: classref-reftable-group
 .. rst-class:: classref-reftable-group
 
 

+ 29 - 7
classes/class_renderingserver.rst

@@ -109,7 +109,7 @@ Methods
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`canvas_item_add_lcd_texture_rect_region<class_RenderingServer_method_canvas_item_add_lcd_texture_rect_region>` **(** :ref:`RID<class_RID>` item, :ref:`Rect2<class_Rect2>` rect, :ref:`RID<class_RID>` texture, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate **)**                                                                                                                                                                                                                                                                                                                                                                                 |
    | void                                                                             | :ref:`canvas_item_add_lcd_texture_rect_region<class_RenderingServer_method_canvas_item_add_lcd_texture_rect_region>` **(** :ref:`RID<class_RID>` item, :ref:`Rect2<class_Rect2>` rect, :ref:`RID<class_RID>` texture, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate **)**                                                                                                                                                                                                                                                                                                                                                                                 |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                                             | :ref:`canvas_item_add_line<class_RenderingServer_method_canvas_item_add_line>` **(** :ref:`RID<class_RID>` item, :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                                                                                                                                       |
+   | void                                                                             | :ref:`canvas_item_add_line<class_RenderingServer_method_canvas_item_add_line>` **(** :ref:`RID<class_RID>` item, :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=-1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                                                                                                                                      |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`canvas_item_add_mesh<class_RenderingServer_method_canvas_item_add_mesh>` **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` mesh, :ref:`Transform2D<class_Transform2D>` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`RID<class_RID>` texture **)**                                                                                                                                                                                                                                                                                                                                                              |
    | void                                                                             | :ref:`canvas_item_add_mesh<class_RenderingServer_method_canvas_item_add_mesh>` **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` mesh, :ref:`Transform2D<class_Transform2D>` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`RID<class_RID>` texture **)**                                                                                                                                                                                                                                                                                                                                                              |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -123,9 +123,9 @@ Methods
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`canvas_item_add_polygon<class_RenderingServer_method_canvas_item_add_polygon>` **(** :ref:`RID<class_RID>` item, :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs=PackedVector2Array(), :ref:`RID<class_RID>` texture **)**                                                                                                                                                                                                                                                                                                                       |
    | void                                                                             | :ref:`canvas_item_add_polygon<class_RenderingServer_method_canvas_item_add_polygon>` **(** :ref:`RID<class_RID>` item, :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs=PackedVector2Array(), :ref:`RID<class_RID>` texture **)**                                                                                                                                                                                                                                                                                                                       |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                                             | :ref:`canvas_item_add_polyline<class_RenderingServer_method_canvas_item_add_polyline>` **(** :ref:`RID<class_RID>` item, :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                                                                                                                  |
+   | void                                                                             | :ref:`canvas_item_add_polyline<class_RenderingServer_method_canvas_item_add_polyline>` **(** :ref:`RID<class_RID>` item, :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=-1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                                                                                                                 |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                                             | :ref:`canvas_item_add_primitive<class_RenderingServer_method_canvas_item_add_primitive>` **(** :ref:`RID<class_RID>` item, :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs, :ref:`RID<class_RID>` texture, :ref:`float<class_float>` width=1.0 **)**                                                                                                                                                                                                                                                                                                   |
+   | void                                                                             | :ref:`canvas_item_add_primitive<class_RenderingServer_method_canvas_item_add_primitive>` **(** :ref:`RID<class_RID>` item, :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs, :ref:`RID<class_RID>` texture **)**                                                                                                                                                                                                                                                                                                                                        |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`canvas_item_add_rect<class_RenderingServer_method_canvas_item_add_rect>` **(** :ref:`RID<class_RID>` item, :ref:`Rect2<class_Rect2>` rect, :ref:`Color<class_Color>` color **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
    | void                                                                             | :ref:`canvas_item_add_rect<class_RenderingServer_method_canvas_item_add_rect>` **(** :ref:`RID<class_RID>` item, :ref:`Rect2<class_Rect2>` rect, :ref:`Color<class_Color>` color **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -359,6 +359,8 @@ Methods
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`free_rid<class_RenderingServer_method_free_rid>` **(** :ref:`RID<class_RID>` rid **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
    | void                                                                             | :ref:`free_rid<class_RenderingServer_method_free_rid>` **(** :ref:`RID<class_RID>` rid **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Color<class_Color>`                                                        | :ref:`get_default_clear_color<class_RenderingServer_method_get_default_clear_color>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
+   +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                                                        | :ref:`get_frame_setup_time_cpu<class_RenderingServer_method_get_frame_setup_time_cpu>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
    | :ref:`float<class_float>`                                                        | :ref:`get_frame_setup_time_cpu<class_RenderingServer_method_get_frame_setup_time_cpu>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RenderingDevice<class_RenderingDevice>`                                    | :ref:`get_rendering_device<class_RenderingServer_method_get_rendering_device>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
    | :ref:`RenderingDevice<class_RenderingDevice>`                                    | :ref:`get_rendering_device<class_RenderingServer_method_get_rendering_device>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
@@ -1574,6 +1576,14 @@ Flag used to mark that the array contains 2D vertices.
 
 
 
 
 
 
+.. _class_RenderingServer_constant_ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ArrayFormat<enum_RenderingServer_ArrayFormat>` **ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY** = ``268435456``
+
+
+
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 
 ----
 ----
@@ -5530,7 +5540,7 @@ void **canvas_item_add_lcd_texture_rect_region** **(** :ref:`RID<class_RID>` ite
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **canvas_item_add_line** **(** :ref:`RID<class_RID>` item, :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
+void **canvas_item_add_line** **(** :ref:`RID<class_RID>` item, :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=-1.0, :ref:`bool<class_bool>` antialiased=false **)**
 
 
 .. container:: contribute
 .. container:: contribute
 
 
@@ -5628,7 +5638,7 @@ void **canvas_item_add_polygon** **(** :ref:`RID<class_RID>` item, :ref:`PackedV
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **canvas_item_add_polyline** **(** :ref:`RID<class_RID>` item, :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
+void **canvas_item_add_polyline** **(** :ref:`RID<class_RID>` item, :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=-1.0, :ref:`bool<class_bool>` antialiased=false **)**
 
 
 .. container:: contribute
 .. container:: contribute
 
 
@@ -5642,7 +5652,7 @@ void **canvas_item_add_polyline** **(** :ref:`RID<class_RID>` item, :ref:`Packed
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
 
 
-void **canvas_item_add_primitive** **(** :ref:`RID<class_RID>` item, :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs, :ref:`RID<class_RID>` texture, :ref:`float<class_float>` width=1.0 **)**
+void **canvas_item_add_primitive** **(** :ref:`RID<class_RID>` item, :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs, :ref:`RID<class_RID>` texture **)**
 
 
 .. container:: contribute
 .. container:: contribute
 
 
@@ -7168,6 +7178,18 @@ Tries to free an object in the RenderingServer.
 
 
 ----
 ----
 
 
+.. _class_RenderingServer_method_get_default_clear_color:
+
+.. rst-class:: classref-method
+
+:ref:`Color<class_Color>` **get_default_clear_color** **(** **)**
+
+Returns the default clear color which is used when a specific clear color has not been selected.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_RenderingServer_method_get_frame_setup_time_cpu:
 .. _class_RenderingServer_method_get_frame_setup_time_cpu:
 
 
 .. rst-class:: classref-method
 .. rst-class:: classref-method
@@ -10727,7 +10749,7 @@ Sets the size of the shadow atlas's images (used for omni and spot lights). The
 
 
 void **viewport_set_render_direct_to_screen** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)**
 void **viewport_set_render_direct_to_screen** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)**
 
 
-If ``true``, render the contents of the viewport directly to screen. This allows a low-level optimization where you can skip drawing a viewport to the root viewport. While this optimization can result in a significant increase in speed (especially on older devices), it comes at a cost of usability. When this is enabled, you cannot read from the viewport or from the ``SCREEN_TEXTURE``. You also lose the benefit of certain window settings, such as the various stretch modes. Another consequence to be aware of is that in 2D the rendering happens in window coordinates, so if you have a viewport that is double the size of the window, and you set this, then only the portion that fits within the window will be drawn, no automatic scaling is possible, even if your game scene is significantly larger than the window size.
+If ``true``, render the contents of the viewport directly to screen. This allows a low-level optimization where you can skip drawing a viewport to the root viewport. While this optimization can result in a significant increase in speed (especially on older devices), it comes at a cost of usability. When this is enabled, you cannot read from the viewport or from the screen_texture. You also lose the benefit of certain window settings, such as the various stretch modes. Another consequence to be aware of is that in 2D the rendering happens in window coordinates, so if you have a viewport that is double the size of the window, and you set this, then only the portion that fits within the window will be drawn, no automatic scaling is possible, even if your game scene is significantly larger than the window size.
 
 
 .. rst-class:: classref-item-separator
 .. rst-class:: classref-item-separator
 
 

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff