瀏覽代碼

Sync classref with current source

Rémi Verschelde 6 年之前
父節點
當前提交
cedcbd1c5c
共有 97 個文件被更改,包括 1546 次插入666 次删除
  1. 49 43
      classes/[email protected]
  2. 2 2
      classes/class_acceptdialog.rst
  3. 1 1
      classes/class_animatedsprite.rst
  4. 1 1
      classes/class_animatedsprite3d.rst
  5. 24 14
      classes/class_animation.rst
  6. 3 3
      classes/class_animationnode.rst
  7. 48 4
      classes/class_animationnodestatemachine.rst
  8. 20 2
      classes/class_animationnodestatemachineplayback.rst
  9. 2 2
      classes/class_animationtreeplayer.rst
  10. 2 2
      classes/class_area2d.rst
  11. 5 5
      classes/class_arraymesh.rst
  12. 2 2
      classes/class_basebutton.rst
  13. 6 6
      classes/class_basis.rst
  14. 8 0
      classes/class_camera.rst
  15. 1 1
      classes/class_camera2d.rst
  16. 2 2
      classes/class_canvasitem.rst
  17. 3 3
      classes/class_classdb.rst
  18. 4 0
      classes/class_color.rst
  19. 1 1
      classes/class_colorpicker.rst
  20. 1 1
      classes/class_concavepolygonshape.rst
  21. 1 1
      classes/class_confirmationdialog.rst
  22. 1 1
      classes/class_control.rst
  23. 7 7
      classes/class_dictionary.rst
  24. 8 8
      classes/class_directory.rst
  25. 6 0
      classes/class_editorexportplugin.rst
  26. 2 2
      classes/class_editorfilesystem.rst
  27. 1 1
      classes/class_editorinspectorplugin.rst
  28. 38 0
      classes/class_editornavigationmeshgenerator.rst
  29. 2 2
      classes/class_editorplugin.rst
  30. 21 1
      classes/class_editorresourcepreviewgenerator.rst
  31. 1 1
      classes/class_editorspatialgizmo.rst
  32. 1 1
      classes/class_filedialog.rst
  33. 4 4
      classes/class_font.rst
  34. 218 47
      classes/class_geometry.rst
  35. 2 2
      classes/class_graphedit.rst
  36. 14 14
      classes/class_graphnode.rst
  37. 1 1
      classes/class_imagetexture.rst
  38. 1 1
      classes/class_input.rst
  39. 3 3
      classes/class_itemlist.rst
  40. 6 6
      classes/class_marshalls.rst
  41. 1 1
      classes/class_menubutton.rst
  42. 2 2
      classes/class_mesh.rst
  43. 3 3
      classes/class_meshlibrary.rst
  44. 4 4
      classes/class_multimesh.rst
  45. 63 15
      classes/class_navigationmesh.rst
  46. 2 2
      classes/class_nodepath.rst
  47. 1 1
      classes/class_object.rst
  48. 6 6
      classes/class_optionbutton.rst
  49. 199 185
      classes/class_os.rst
  50. 3 3
      classes/class_packetpeer.rst
  51. 3 3
      classes/class_packetpeerudp.rst
  52. 2 2
      classes/class_poolbytearray.rst
  53. 1 1
      classes/class_poolcolorarray.rst
  54. 1 1
      classes/class_poolintarray.rst
  55. 1 1
      classes/class_poolrealarray.rst
  56. 1 1
      classes/class_poolstringarray.rst
  57. 1 1
      classes/class_poolvector2array.rst
  58. 1 1
      classes/class_poolvector3array.rst
  59. 17 9
      classes/class_popup.rst
  60. 12 12
      classes/class_popupmenu.rst
  61. 12 0
      classes/class_projectsettings.rst
  62. 1 1
      classes/class_quat.rst
  63. 2 2
      classes/class_raycast.rst
  64. 3 3
      classes/class_raycast2d.rst
  65. 0 0
      classes/class_reference.rst
  66. 3 3
      classes/class_resourceinteractiveloader.rst
  67. 1 1
      classes/class_resourceloader.rst
  68. 1 1
      classes/class_rigidbody.rst
  69. 4 0
      classes/class_scenetree.rst
  70. 1 1
      classes/class_shape2d.rst
  71. 10 10
      classes/class_skeleton.rst
  72. 17 1
      classes/class_spatialmaterial.rst
  73. 9 2
      classes/class_sprite.rst
  74. 3 3
      classes/class_streampeer.rst
  75. 1 1
      classes/class_streampeerssl.rst
  76. 3 3
      classes/class_streampeertcp.rst
  77. 3 3
      classes/class_stylebox.rst
  78. 12 0
      classes/class_surfacetool.rst
  79. 1 1
      classes/class_tcp_server.rst
  80. 11 11
      classes/class_textedit.rst
  81. 3 3
      classes/class_texture.rst
  82. 5 0
      classes/class_theme.rst
  83. 4 0
      classes/class_tree.rst
  84. 6 0
      classes/class_vehiclewheel.rst
  85. 14 0
      classes/class_viewport.rst
  86. 19 1
      classes/class_visualserver.rst
  87. 12 0
      classes/class_visualshader.rst
  88. 0 0
      classes/class_visualshadernode.rst
  89. 52 0
      classes/class_visualshadernodeexpression.rst
  90. 172 0
      classes/class_visualshadernodegroupbase.rst
  91. 149 0
      classes/class_webrtcdatachannel.rst
  92. 18 0
      classes/class_webrtcdatachannelgdnative.rst
  93. 0 144
      classes/class_webrtcpeer.rst
  94. 128 0
      classes/class_webrtcpeerconnection.rst
  95. 18 0
      classes/class_webrtcpeerconnectiongdnative.rst
  96. 0 18
      classes/class_webrtcpeergdnative.rst
  97. 1 1
      classes/class_windowdialog.rst

+ 49 - 43
classes/[email protected]

@@ -17,49 +17,51 @@ Global scope constants and variables.
 Properties
 ----------
 
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`ARVRServer<class_ARVRServer>`                 | :ref:`ARVRServer<class_@GlobalScope_property_ARVRServer>`                 |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`AudioServer<class_AudioServer>`               | :ref:`AudioServer<class_@GlobalScope_property_AudioServer>`               |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`ClassDB<class_ClassDB>`                       | :ref:`ClassDB<class_@GlobalScope_property_ClassDB>`                       |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`Engine<class_Engine>`                         | :ref:`Engine<class_@GlobalScope_property_Engine>`                         |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`Geometry<class_Geometry>`                     | :ref:`Geometry<class_@GlobalScope_property_Geometry>`                     |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`IP<class_IP>`                                 | :ref:`IP<class_@GlobalScope_property_IP>`                                 |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`Input<class_Input>`                           | :ref:`Input<class_@GlobalScope_property_Input>`                           |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`InputMap<class_InputMap>`                     | :ref:`InputMap<class_@GlobalScope_property_InputMap>`                     |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`JSON<class_JSON>`                             | :ref:`JSON<class_@GlobalScope_property_JSON>`                             |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`JavaScript<class_JavaScript>`                 | :ref:`JavaScript<class_@GlobalScope_property_JavaScript>`                 |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`Reference<class_Reference>`                   | :ref:`Marshalls<class_@GlobalScope_property_Marshalls>`                   |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`OS<class_OS>`                                 | :ref:`OS<class_@GlobalScope_property_OS>`                                 |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`Performance<class_Performance>`               | :ref:`Performance<class_@GlobalScope_property_Performance>`               |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`Physics2DServer<class_Physics2DServer>`       | :ref:`Physics2DServer<class_@GlobalScope_property_Physics2DServer>`       |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`PhysicsServer<class_PhysicsServer>`           | :ref:`PhysicsServer<class_@GlobalScope_property_PhysicsServer>`           |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`ProjectSettings<class_ProjectSettings>`       | :ref:`ProjectSettings<class_@GlobalScope_property_ProjectSettings>`       |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`ResourceLoader<class_ResourceLoader>`         | :ref:`ResourceLoader<class_@GlobalScope_property_ResourceLoader>`         |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`ResourceSaver<class_ResourceSaver>`           | :ref:`ResourceSaver<class_@GlobalScope_property_ResourceSaver>`           |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`TranslationServer<class_TranslationServer>`   | :ref:`TranslationServer<class_@GlobalScope_property_TranslationServer>`   |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`VisualScriptEditor<class_VisualScriptEditor>` | :ref:`VisualScriptEditor<class_@GlobalScope_property_VisualScriptEditor>` |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
-| :ref:`VisualServer<class_VisualServer>`             | :ref:`VisualServer<class_@GlobalScope_property_VisualServer>`             |
-+-----------------------------------------------------+---------------------------------------------------------------------------+
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`ARVRServer<class_ARVRServer>`                                       | :ref:`ARVRServer<class_@GlobalScope_property_ARVRServer>`                           |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`AudioServer<class_AudioServer>`                                     | :ref:`AudioServer<class_@GlobalScope_property_AudioServer>`                         |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`ClassDB<class_ClassDB>`                                             | :ref:`ClassDB<class_@GlobalScope_property_ClassDB>`                                 |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`Engine<class_Engine>`                                               | :ref:`Engine<class_@GlobalScope_property_Engine>`                                   |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`Geometry<class_Geometry>`                                           | :ref:`Geometry<class_@GlobalScope_property_Geometry>`                               |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`IP<class_IP>`                                                       | :ref:`IP<class_@GlobalScope_property_IP>`                                           |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`Input<class_Input>`                                                 | :ref:`Input<class_@GlobalScope_property_Input>`                                     |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`InputMap<class_InputMap>`                                           | :ref:`InputMap<class_@GlobalScope_property_InputMap>`                               |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`JSON<class_JSON>`                                                   | :ref:`JSON<class_@GlobalScope_property_JSON>`                                       |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`JavaScript<class_JavaScript>`                                       | :ref:`JavaScript<class_@GlobalScope_property_JavaScript>`                           |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`Reference<class_Reference>`                                         | :ref:`Marshalls<class_@GlobalScope_property_Marshalls>`                             |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`EditorNavigationMeshGenerator<class_EditorNavigationMeshGenerator>` | :ref:`NavigationMeshGenerator<class_@GlobalScope_property_NavigationMeshGenerator>` |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`OS<class_OS>`                                                       | :ref:`OS<class_@GlobalScope_property_OS>`                                           |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`Performance<class_Performance>`                                     | :ref:`Performance<class_@GlobalScope_property_Performance>`                         |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`Physics2DServer<class_Physics2DServer>`                             | :ref:`Physics2DServer<class_@GlobalScope_property_Physics2DServer>`                 |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`PhysicsServer<class_PhysicsServer>`                                 | :ref:`PhysicsServer<class_@GlobalScope_property_PhysicsServer>`                     |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`ProjectSettings<class_ProjectSettings>`                             | :ref:`ProjectSettings<class_@GlobalScope_property_ProjectSettings>`                 |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`ResourceLoader<class_ResourceLoader>`                               | :ref:`ResourceLoader<class_@GlobalScope_property_ResourceLoader>`                   |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`ResourceSaver<class_ResourceSaver>`                                 | :ref:`ResourceSaver<class_@GlobalScope_property_ResourceSaver>`                     |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`TranslationServer<class_TranslationServer>`                         | :ref:`TranslationServer<class_@GlobalScope_property_TranslationServer>`             |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`VisualScriptEditor<class_VisualScriptEditor>`                       | :ref:`VisualScriptEditor<class_@GlobalScope_property_VisualScriptEditor>`           |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`VisualServer<class_VisualServer>`                                   | :ref:`VisualServer<class_@GlobalScope_property_VisualServer>`                       |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
 
 Enumerations
 ------------
@@ -2155,6 +2157,10 @@ Property Descriptions
 
 :ref:`Marshalls<class_Marshalls>` singleton
 
+.. _class_@GlobalScope_property_NavigationMeshGenerator:
+
+- :ref:`EditorNavigationMeshGenerator<class_EditorNavigationMeshGenerator>` **NavigationMeshGenerator**
+
 .. _class_@GlobalScope_property_OS:
 
 - :ref:`OS<class_OS>` **OS**

+ 2 - 2
classes/class_acceptdialog.rst

@@ -112,13 +112,13 @@ Adds a button with label *name* and a cancel action to the dialog and returns th
 
 - :ref:`Label<class_Label>` **get_label** **(** **)**
 
-Return the label used for built-in text.
+Returns the label used for built-in text.
 
 .. _class_AcceptDialog_method_get_ok:
 
 - :ref:`Button<class_Button>` **get_ok** **(** **)**
 
-Return the OK Button.
+Returns the OK Button.
 
 .. _class_AcceptDialog_method_register_text_enter:
 

+ 1 - 1
classes/class_animatedsprite.rst

@@ -182,7 +182,7 @@ Method Descriptions
 
 - :ref:`bool<class_bool>` **is_playing** **(** **)** const
 
-Return ``true`` if an animation if currently being played.
+Returns ``true`` if an animation if currently being played.
 
 .. _class_AnimatedSprite_method_play:
 

+ 1 - 1
classes/class_animatedsprite3d.rst

@@ -106,7 +106,7 @@ Method Descriptions
 
 - :ref:`bool<class_bool>` **is_playing** **(** **)** const
 
-Return ``true`` if an animation if currently being played.
+Returns ``true`` if an animation if currently being played.
 
 .. _class_AnimatedSprite3D_method_play:
 

+ 24 - 14
classes/class_animation.rst

@@ -111,6 +111,8 @@ Methods
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`track_move_down<class_Animation_method_track_move_down>` **(** :ref:`int<class_int>` idx **)**                                                                                                                                                                                                       |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                       | :ref:`track_move_to<class_Animation_method_track_move_to>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` to_idx **)**                                                                                                                                                                             |
++------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`track_move_up<class_Animation_method_track_move_up>` **(** :ref:`int<class_int>` idx **)**                                                                                                                                                                                                           |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`track_remove_key<class_Animation_method_track_remove_key>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)**                                                                                                                                                                      |
@@ -376,31 +378,31 @@ Adds a new track that is a copy of the given track from ``to_animation``.
 
 - :ref:`int<class_int>` **find_track** **(** :ref:`NodePath<class_NodePath>` path **)** const
 
-Return the index of the specified track. If the track is not found, return -1.
+Returns the index of the specified track. If the track is not found, return -1.
 
 .. _class_Animation_method_get_track_count:
 
 - :ref:`int<class_int>` **get_track_count** **(** **)** const
 
-Return the amount of tracks in the animation.
+Returns the amount of tracks in the animation.
 
 .. _class_Animation_method_method_track_get_key_indices:
 
 - :ref:`PoolIntArray<class_PoolIntArray>` **method_track_get_key_indices** **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time_sec, :ref:`float<class_float>` delta **)** const
 
-Return all the key indices of a method track, given a position and delta time.
+Returns all the key indices of a method track, given a position and delta time.
 
 .. _class_Animation_method_method_track_get_name:
 
 - :ref:`String<class_String>` **method_track_get_name** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
 
-Return the method name of a method track.
+Returns the method name of a method track.
 
 .. _class_Animation_method_method_track_get_params:
 
 - :ref:`Array<class_Array>` **method_track_get_params** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
 
-Return the arguments values to be called on a method track for a given key in a given track.
+Returns the arguments values to be called on a method track for a given key in a given track.
 
 .. _class_Animation_method_remove_track:
 
@@ -424,31 +426,31 @@ Returns ``true`` if the track at ``idx`` wraps the interpolation loop. Default v
 
 - :ref:`InterpolationType<enum_Animation_InterpolationType>` **track_get_interpolation_type** **(** :ref:`int<class_int>` idx **)** const
 
-Return the interpolation type of a given track, from the INTERPOLATION\_\* enum.
+Returns the interpolation type of a given track, from the INTERPOLATION\_\* enum.
 
 .. _class_Animation_method_track_get_key_count:
 
 - :ref:`int<class_int>` **track_get_key_count** **(** :ref:`int<class_int>` idx **)** const
 
-Return the amount of keys in a given track.
+Returns the amount of keys in a given track.
 
 .. _class_Animation_method_track_get_key_time:
 
 - :ref:`float<class_float>` **track_get_key_time** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
 
-Return the time at which the key is located.
+Returns the time at which the key is located.
 
 .. _class_Animation_method_track_get_key_transition:
 
 - :ref:`float<class_float>` **track_get_key_transition** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
 
-Return the transition curve (easing) for a specific key (see built-in math function "ease").
+Returns the transition curve (easing) for a specific key (see built-in math function "ease").
 
 .. _class_Animation_method_track_get_key_value:
 
 - :ref:`Variant<class_Variant>` **track_get_key_value** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
 
-Return the value of a given key in a given track.
+Returns the value of a given key in a given track.
 
 .. _class_Animation_method_track_get_path:
 
@@ -478,7 +480,7 @@ Returns ``true`` if the track at index ``idx`` is enabled.
 
 - :ref:`bool<class_bool>` **track_is_imported** **(** :ref:`int<class_int>` idx **)** const
 
-Return ``true`` if the given track is imported. Else, return ``false``.
+Returns ``true`` if the given track is imported. Else, return ``false``.
 
 .. _class_Animation_method_track_move_down:
 
@@ -486,6 +488,12 @@ Return ``true`` if the given track is imported. Else, return ``false``.
 
 Move a track down.
 
+.. _class_Animation_method_track_move_to:
+
+- void **track_move_to** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` to_idx **)**
+
+Changes the index position of track ``idx`` to the one defined in ``to_idx``.
+
 .. _class_Animation_method_track_move_up:
 
 - void **track_move_up** **(** :ref:`int<class_int>` idx **)**
@@ -552,6 +560,8 @@ Set the path of a track. Paths must be valid scene-tree paths to a node, and mus
 
 - void **track_swap** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` with_idx **)**
 
+Swaps the track ``idx``'s index position with the track ``with_idx``.
+
 .. _class_Animation_method_transform_track_insert_key:
 
 - :ref:`int<class_int>` **transform_track_insert_key** **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time, :ref:`Vector3<class_Vector3>` location, :ref:`Quat<class_Quat>` rotation, :ref:`Vector3<class_Vector3>` scale **)**
@@ -562,19 +572,19 @@ Insert a transform key for a transform track.
 
 - :ref:`Array<class_Array>` **transform_track_interpolate** **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time_sec **)** const
 
-Return the interpolated value of a transform track at a given time (in seconds). An array consisting of 3 elements: position (:ref:`Vector3<class_Vector3>`), rotation (:ref:`Quat<class_Quat>`) and scale (:ref:`Vector3<class_Vector3>`).
+Returns the interpolated value of a transform track at a given time (in seconds). An array consisting of 3 elements: position (:ref:`Vector3<class_Vector3>`), rotation (:ref:`Quat<class_Quat>`) and scale (:ref:`Vector3<class_Vector3>`).
 
 .. _class_Animation_method_value_track_get_key_indices:
 
 - :ref:`PoolIntArray<class_PoolIntArray>` **value_track_get_key_indices** **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time_sec, :ref:`float<class_float>` delta **)** const
 
-Return all the key indices of a value track, given a position and delta time.
+Returns all the key indices of a value track, given a position and delta time.
 
 .. _class_Animation_method_value_track_get_update_mode:
 
 - :ref:`UpdateMode<enum_Animation_UpdateMode>` **value_track_get_update_mode** **(** :ref:`int<class_int>` idx **)** const
 
-Return the update mode of a value track.
+Returns the update mode of a value track.
 
 .. _class_Animation_method_value_track_set_update_mode:
 

+ 3 - 3
classes/class_animationnode.rst

@@ -122,7 +122,7 @@ Property Descriptions
 | *Getter* | is_filter_enabled()       |
 +----------+---------------------------+
 
-Return whether filtering is enabled.
+Returns whether filtering is enabled.
 
 Method Descriptions
 -------------------
@@ -203,13 +203,13 @@ Get the property information for parameter. Parameters are custom local memory u
 
 - :ref:`String<class_String>` **has_filter** **(** **)** virtual
 
-Return ``true`` whether you want the blend tree editor to display filter editing on this node.
+Returns ``true`` whether you want the blend tree editor to display filter editing on this node.
 
 .. _class_AnimationNode_method_is_path_filtered:
 
 - :ref:`bool<class_bool>` **is_path_filtered** **(** :ref:`NodePath<class_NodePath>` path **)** const
 
-Return ``true`` whether a given path is filtered.
+Returns ``true`` whether a given path is filtered.
 
 .. _class_AnimationNode_method_process:
 

+ 48 - 4
classes/class_animationnodestatemachine.rst

@@ -14,7 +14,7 @@ AnimationNodeStateMachine
 Brief Description
 -----------------
 
-
+State machine for control of animations.
 
 Methods
 -------
@@ -68,12 +68,12 @@ Methods
 Description
 -----------
 
-Contains multiple root nodes as children in a graph. Each node is used as a state, and provides multiple functions to alternate between states. Retrieve the AnimationNodeStateMachinePlayback object from the :ref:`AnimationTree<class_AnimationTree>` node to control it programmatically.
+Contains multiple nodes representing animation states, connected in a graph. Nodes transitions can be configured to happen automatically or via code, using a shortest-path algorithm. Retrieve the AnimationNodeStateMachinePlayback object from the :ref:`AnimationTree<class_AnimationTree>` node to control it programatically. Example:
 
 ::
 
-    var state_machine = anim_tree["parameters/StateMachine/playback"]
-    state_machine.travel("SomeState")
+    var state_machine = $AnimationTree.get("parameters/playback")
+    state_machine.travel("some_state")
 
 Method Descriptions
 -------------------
@@ -82,87 +82,131 @@ Method Descriptions
 
 - void **add_node** **(** :ref:`String<class_String>` name, :ref:`AnimationNode<class_AnimationNode>` node, :ref:`Vector2<class_Vector2>` position=Vector2( 0, 0 ) **)**
 
+Adds a new node to the graph. The ``position`` is used for display in the editor.
+
 .. _class_AnimationNodeStateMachine_method_add_transition:
 
 - void **add_transition** **(** :ref:`String<class_String>` from, :ref:`String<class_String>` to, :ref:`AnimationNodeStateMachineTransition<class_AnimationNodeStateMachineTransition>` transition **)**
 
+Adds a transition between the given nodes.
+
 .. _class_AnimationNodeStateMachine_method_get_end_node:
 
 - :ref:`String<class_String>` **get_end_node** **(** **)** const
 
+Returns the graph's end node.
+
 .. _class_AnimationNodeStateMachine_method_get_graph_offset:
 
 - :ref:`Vector2<class_Vector2>` **get_graph_offset** **(** **)** const
 
+Returns the draw offset of the graph. Used for display in the editor.
+
 .. _class_AnimationNodeStateMachine_method_get_node:
 
 - :ref:`AnimationNode<class_AnimationNode>` **get_node** **(** :ref:`String<class_String>` name **)** const
 
+Returns the animation node with the given name.
+
 .. _class_AnimationNodeStateMachine_method_get_node_name:
 
 - :ref:`String<class_String>` **get_node_name** **(** :ref:`AnimationNode<class_AnimationNode>` node **)** const
 
+Returns the given animation node's name.
+
 .. _class_AnimationNodeStateMachine_method_get_node_position:
 
 - :ref:`Vector2<class_Vector2>` **get_node_position** **(** :ref:`String<class_String>` name **)** const
 
+Returns the given node's coordinates. Used for display in the editor.
+
 .. _class_AnimationNodeStateMachine_method_get_start_node:
 
 - :ref:`String<class_String>` **get_start_node** **(** **)** const
 
+Returns the graph's end node.
+
 .. _class_AnimationNodeStateMachine_method_get_transition:
 
 - :ref:`AnimationNodeStateMachineTransition<class_AnimationNodeStateMachineTransition>` **get_transition** **(** :ref:`int<class_int>` idx **)** const
 
+Returns the given transition.
+
 .. _class_AnimationNodeStateMachine_method_get_transition_count:
 
 - :ref:`int<class_int>` **get_transition_count** **(** **)** const
 
+Returns the number of connections in the graph.
+
 .. _class_AnimationNodeStateMachine_method_get_transition_from:
 
 - :ref:`String<class_String>` **get_transition_from** **(** :ref:`int<class_int>` idx **)** const
 
+Returns the given transition's start node.
+
 .. _class_AnimationNodeStateMachine_method_get_transition_to:
 
 - :ref:`String<class_String>` **get_transition_to** **(** :ref:`int<class_int>` idx **)** const
 
+Returns the given transition's end node.
+
 .. _class_AnimationNodeStateMachine_method_has_node:
 
 - :ref:`bool<class_bool>` **has_node** **(** :ref:`String<class_String>` name **)** const
 
+Returns ``true`` if the graph contains the given node.
+
 .. _class_AnimationNodeStateMachine_method_has_transition:
 
 - :ref:`bool<class_bool>` **has_transition** **(** :ref:`String<class_String>` from, :ref:`String<class_String>` to **)** const
 
+Returns ``true`` if there is a transition between the given nodes.
+
 .. _class_AnimationNodeStateMachine_method_remove_node:
 
 - void **remove_node** **(** :ref:`String<class_String>` name **)**
 
+Deletes the given node from the graph.
+
 .. _class_AnimationNodeStateMachine_method_remove_transition:
 
 - void **remove_transition** **(** :ref:`String<class_String>` from, :ref:`String<class_String>` to **)**
 
+Deletes the given transition.
+
 .. _class_AnimationNodeStateMachine_method_remove_transition_by_index:
 
 - void **remove_transition_by_index** **(** :ref:`int<class_int>` idx **)**
 
+Deletes the given transition.
+
 .. _class_AnimationNodeStateMachine_method_rename_node:
 
 - void **rename_node** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` new_name **)**
 
+Renames the given node.
+
 .. _class_AnimationNodeStateMachine_method_set_end_node:
 
 - void **set_end_node** **(** :ref:`String<class_String>` name **)**
 
+Sets the given node as the graph end point.
+
 .. _class_AnimationNodeStateMachine_method_set_graph_offset:
 
 - void **set_graph_offset** **(** :ref:`Vector2<class_Vector2>` offset **)**
 
+Sets the draw offset of the graph. Used for display in the editor.
+
 .. _class_AnimationNodeStateMachine_method_set_node_position:
 
 - void **set_node_position** **(** :ref:`String<class_String>` name, :ref:`Vector2<class_Vector2>` position **)**
 
+Sets the node's coordinates. Used for display in the editor.
+
 .. _class_AnimationNodeStateMachine_method_set_start_node:
 
 - void **set_start_node** **(** :ref:`String<class_String>` name **)**
 
+Sets the given node as the graph start point.
+

+ 20 - 2
classes/class_animationnodestatemachineplayback.rst

@@ -14,7 +14,7 @@ AnimationNodeStateMachinePlayback
 Brief Description
 -----------------
 
-
+Playback control for AnimationNodeStateMachine.
 
 Methods
 -------
@@ -33,6 +33,16 @@ Methods
 | void                                          | :ref:`travel<class_AnimationNodeStateMachinePlayback_method_travel>` **(** :ref:`String<class_String>` to_node **)** |
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
 
+Description
+-----------
+
+Allows control of :ref:`AnimationTree<class_AnimationTree>` state machines created with :ref:`AnimationNodeStateMachine<class_AnimationNodeStateMachine>`. Retrieve with ``$AnimationTree.get("parameters/playback")``. Example:
+
+::
+
+    var state_machine = $AnimationTree.get("parameters/playback")
+    state_machine.travel("some_state")
+
 Method Descriptions
 -------------------
 
@@ -40,6 +50,8 @@ Method Descriptions
 
 - :ref:`String<class_String>` **get_current_node** **(** **)** const
 
+Returns the currently playing animation state.
+
 .. _class_AnimationNodeStateMachinePlayback_method_get_travel_path:
 
 - :ref:`PoolStringArray<class_PoolStringArray>` **get_travel_path** **(** **)** const
@@ -48,17 +60,23 @@ Method Descriptions
 
 - :ref:`bool<class_bool>` **is_playing** **(** **)** const
 
+Returns ``true`` if an animation is playing.
+
 .. _class_AnimationNodeStateMachinePlayback_method_start:
 
 - void **start** **(** :ref:`String<class_String>` node **)**
 
+Starts playing the given animation.
+
 .. _class_AnimationNodeStateMachinePlayback_method_stop:
 
 - void **stop** **(** **)**
 
+Stops the currently playing animation.
+
 .. _class_AnimationNodeStateMachinePlayback_method_travel:
 
 - void **travel** **(** :ref:`String<class_String>` to_node **)**
 
-Transition from the current state to another one, while visiting all the intermediate ones. This is done via the A\* algorithm.
+Transitions from the current state to another one, following the shortest path.
 

+ 2 - 2
classes/class_animationtreeplayer.rst

@@ -432,13 +432,13 @@ Check if a node exists (by name).
 
 - :ref:`int<class_int>` **node_get_input_count** **(** :ref:`String<class_String>` id **)** const
 
-Return the input count for a given node. Different types of nodes have different amount of inputs.
+Returns the input count for a given node. Different types of nodes have different amount of inputs.
 
 .. _class_AnimationTreePlayer_method_node_get_input_source:
 
 - :ref:`String<class_String>` **node_get_input_source** **(** :ref:`String<class_String>` id, :ref:`int<class_int>` idx **)** const
 
-Return the input source for a given node input.
+Returns the input source for a given node input.
 
 .. _class_AnimationTreePlayer_method_node_get_position:
 

+ 2 - 2
classes/class_area2d.rst

@@ -331,13 +331,13 @@ Method Descriptions
 
 - :ref:`bool<class_bool>` **get_collision_layer_bit** **(** :ref:`int<class_int>` bit **)** const
 
-Return an individual bit on the layer mask. Describes whether other areas will collide with this one on the given layer.
+Returns an individual bit on the layer mask. Describes whether other areas will collide with this one on the given layer.
 
 .. _class_Area2D_method_get_collision_mask_bit:
 
 - :ref:`bool<class_bool>` **get_collision_mask_bit** **(** :ref:`int<class_int>` bit **)** const
 
-Return an individual bit on the collision mask. Describes whether this area will collide with others on the given layer.
+Returns an individual bit on the collision mask. Describes whether this area will collide with others on the given layer.
 
 .. _class_Area2D_method_get_overlapping_areas:
 

+ 5 - 5
classes/class_arraymesh.rst

@@ -267,25 +267,25 @@ Will regenerate normal maps for the ``ArrayMesh``.
 
 - :ref:`int<class_int>` **surface_find_by_name** **(** :ref:`String<class_String>` name **)** const
 
-Return the index of the first surface with this name held within this ``ArrayMesh``. If none are found -1 is returned.
+Returns the index of the first surface with this name held within this ``ArrayMesh``. If none are found -1 is returned.
 
 .. _class_ArrayMesh_method_surface_get_array_index_len:
 
 - :ref:`int<class_int>` **surface_get_array_index_len** **(** :ref:`int<class_int>` surf_idx **)** const
 
-Return the length in indices of the index array in the requested surface (see :ref:`add_surface_from_arrays<class_ArrayMesh_method_add_surface_from_arrays>`).
+Returns the length in indices of the index array in the requested surface (see :ref:`add_surface_from_arrays<class_ArrayMesh_method_add_surface_from_arrays>`).
 
 .. _class_ArrayMesh_method_surface_get_array_len:
 
 - :ref:`int<class_int>` **surface_get_array_len** **(** :ref:`int<class_int>` surf_idx **)** const
 
-Return the length in vertices of the vertex array in the requested surface (see :ref:`add_surface_from_arrays<class_ArrayMesh_method_add_surface_from_arrays>`).
+Returns the length in vertices of the vertex array in the requested surface (see :ref:`add_surface_from_arrays<class_ArrayMesh_method_add_surface_from_arrays>`).
 
 .. _class_ArrayMesh_method_surface_get_format:
 
 - :ref:`int<class_int>` **surface_get_format** **(** :ref:`int<class_int>` surf_idx **)** const
 
-Return the format mask of the requested surface (see :ref:`add_surface_from_arrays<class_ArrayMesh_method_add_surface_from_arrays>`).
+Returns the format mask of the requested surface (see :ref:`add_surface_from_arrays<class_ArrayMesh_method_add_surface_from_arrays>`).
 
 .. _class_ArrayMesh_method_surface_get_name:
 
@@ -297,7 +297,7 @@ Get the name assigned to this surface.
 
 - :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` **surface_get_primitive_type** **(** :ref:`int<class_int>` surf_idx **)** const
 
-Return the primitive type of the requested surface (see :ref:`add_surface_from_arrays<class_ArrayMesh_method_add_surface_from_arrays>`).
+Returns the primitive type of the requested surface (see :ref:`add_surface_from_arrays<class_ArrayMesh_method_add_surface_from_arrays>`).
 
 .. _class_ArrayMesh_method_surface_remove:
 

+ 2 - 2
classes/class_basebutton.rst

@@ -271,11 +271,11 @@ Called when the button is toggled (only if toggle_mode is active).
 
 - :ref:`DrawMode<enum_BaseButton_DrawMode>` **get_draw_mode** **(** **)** const
 
-Return the visual state used to draw the button. This is useful mainly when implementing your own draw code by either overriding _draw() or connecting to "draw" signal. The visual state of the button is defined by the DRAW\_\* enum.
+Returns the visual state used to draw the button. This is useful mainly when implementing your own draw code by either overriding _draw() or connecting to "draw" signal. The visual state of the button is defined by the DRAW\_\* enum.
 
 .. _class_BaseButton_method_is_hovered:
 
 - :ref:`bool<class_bool>` **is_hovered** **(** **)** const
 
-Return ``true`` if the mouse has entered the button and has not left it yet.
+Returns ``true`` if the mouse has entered the button and has not left it yet.
 

+ 6 - 6
classes/class_basis.rst

@@ -130,7 +130,7 @@ Create a matrix from 3 axis vectors.
 
 - :ref:`float<class_float>` **determinant** **(** **)**
 
-Return the determinant of the matrix.
+Returns the determinant of the matrix.
 
 .. _class_Basis_method_get_euler:
 
@@ -158,7 +158,7 @@ Assuming that the matrix is the combination of a rotation and scaling, return th
 
 - :ref:`Basis<class_Basis>` **inverse** **(** **)**
 
-Return the inverse of the matrix.
+Returns the inverse of the matrix.
 
 .. _class_Basis_method_is_equal_approx:
 
@@ -168,7 +168,7 @@ Return the inverse of the matrix.
 
 - :ref:`Basis<class_Basis>` **orthonormalized** **(** **)**
 
-Return the orthonormalized version of the matrix (useful to call from time to time to avoid rounding error for orthogonal matrices). This performs a Gram-Schmidt orthonormalization on the basis of the matrix.
+Returns the orthonormalized version of the matrix (useful to call from time to time to avoid rounding error for orthogonal matrices). This performs a Gram-Schmidt orthonormalization on the basis of the matrix.
 
 .. _class_Basis_method_rotated:
 
@@ -210,17 +210,17 @@ Transposed dot product with the z axis of the matrix.
 
 - :ref:`Basis<class_Basis>` **transposed** **(** **)**
 
-Return the transposed version of the matrix.
+Returns the transposed version of the matrix.
 
 .. _class_Basis_method_xform:
 
 - :ref:`Vector3<class_Vector3>` **xform** **(** :ref:`Vector3<class_Vector3>` v **)**
 
-Return a vector transformed (multiplied) by the matrix.
+Returns a vector transformed (multiplied) by the matrix.
 
 .. _class_Basis_method_xform_inv:
 
 - :ref:`Vector3<class_Vector3>` **xform_inv** **(** :ref:`Vector3<class_Vector3>` v **)**
 
-Return a vector transformed (multiplied) by the transposed matrix. Note that this results in a multiplication by the inverse of the matrix only if it represents a rotation-reflection.
+Returns a vector transformed (multiplied) by the transposed matrix. Note that this results in a multiplication by the inverse of the matrix only if it represents a rotation-reflection.
 

+ 8 - 0
classes/class_camera.rst

@@ -55,6 +55,8 @@ Methods
 +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                              | :ref:`clear_current<class_Camera_method_clear_current>` **(** :ref:`bool<class_bool>` enable_next=true **)**                                                                                            |
 +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_RID>`             | :ref:`get_camera_rid<class_Camera_method_get_camera_rid>` **(** **)** const                                                                                                                             |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Transform<class_Transform>` | :ref:`get_camera_transform<class_Camera_method_get_camera_transform>` **(** **)** const                                                                                                                 |
 +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`           | :ref:`get_cull_mask_bit<class_Camera_method_get_cull_mask_bit>` **(** :ref:`int<class_int>` layer **)** const                                                                                           |
@@ -302,6 +304,12 @@ Method Descriptions
 
 If this is the current Camera, remove it from being current. If ``enable_next`` is ``true``, request to make the next Camera current, if any.
 
+.. _class_Camera_method_get_camera_rid:
+
+- :ref:`RID<class_RID>` **get_camera_rid** **(** **)** const
+
+Returns the camera's RID from the :ref:`VisualServer<class_VisualServer>`.
+
 .. _class_Camera_method_get_camera_transform:
 
 - :ref:`Transform<class_Transform>` **get_camera_transform** **(** **)** const

+ 1 - 1
classes/class_camera2d.rst

@@ -448,7 +448,7 @@ Force the camera to update scroll immediately.
 
 - :ref:`Vector2<class_Vector2>` **get_camera_position** **(** **)** const
 
-Return the camera position.
+Returns the camera position.
 
 .. _class_Camera2D_method_get_camera_screen_center:
 

+ 2 - 2
classes/class_canvasitem.rst

@@ -461,13 +461,13 @@ Draws a textured rectangle region at a given position, optionally modulated by a
 
 - :ref:`RID<class_RID>` **get_canvas** **(** **)** const
 
-Return the :ref:`RID<class_RID>` of the :ref:`World2D<class_World2D>` canvas where this item is in.
+Returns the :ref:`RID<class_RID>` of the :ref:`World2D<class_World2D>` canvas where this item is in.
 
 .. _class_CanvasItem_method_get_canvas_item:
 
 - :ref:`RID<class_RID>` **get_canvas_item** **(** **)** const
 
-Return the canvas item RID used by :ref:`VisualServer<class_VisualServer>` for this item.
+Returns the canvas item RID used by :ref:`VisualServer<class_VisualServer>` for this item.
 
 .. _class_CanvasItem_method_get_canvas_transform:
 

+ 3 - 3
classes/class_classdb.rst

@@ -133,19 +133,19 @@ Returns an array with all the signals of 'class' or its ancestry if 'no_inherita
 
 - :ref:`bool<class_bool>` **class_has_integer_constant** **(** :ref:`String<class_String>` class, :ref:`String<class_String>` name **)** const
 
-Return whether 'class' or its ancestry has an integer constant called 'name' or not.
+Returns whether 'class' or its ancestry has an integer constant called 'name' or not.
 
 .. _class_ClassDB_method_class_has_method:
 
 - :ref:`bool<class_bool>` **class_has_method** **(** :ref:`String<class_String>` class, :ref:`String<class_String>` method, :ref:`bool<class_bool>` no_inheritance=false **)** const
 
-Return whether 'class' (or its ancestry if 'no_inheritance' is false) has a method called 'method' or not.
+Returns whether 'class' (or its ancestry if 'no_inheritance' is false) has a method called 'method' or not.
 
 .. _class_ClassDB_method_class_has_signal:
 
 - :ref:`bool<class_bool>` **class_has_signal** **(** :ref:`String<class_String>` class, :ref:`String<class_String>` signal **)** const
 
-Return whether 'class' or its ancestry has a signal called 'signal' or not.
+Returns whether 'class' or its ancestry has a signal called 'signal' or not.
 
 .. _class_ClassDB_method_class_set_property:
 

+ 4 - 0
classes/class_color.rst

@@ -355,6 +355,8 @@ Constants
 
 .. _class_Color_constant_tomato:
 
+.. _class_Color_constant_transparent:
+
 .. _class_Color_constant_turquoise:
 
 .. _class_Color_constant_violet:
@@ -645,6 +647,8 @@ Constants
 
 - **tomato** = **Color( 1, 0.39, 0.28, 1 )**
 
+- **transparent** = **Color( 1, 1, 1, 0 )**
+
 - **turquoise** = **Color( 0.25, 0.88, 0.82, 1 )**
 
 - **violet** = **Color( 0.93, 0.51, 0.93, 1 )**

+ 1 - 1
classes/class_colorpicker.rst

@@ -185,5 +185,5 @@ Remove the given color from the list of color presets of this color picker.
 
 - :ref:`PoolColorArray<class_PoolColorArray>` **get_presets** **(** **)** const
 
-Return the list of colors in the presets of the color picker.
+Returns the list of colors in the presets of the color picker.
 

+ 1 - 1
classes/class_concavepolygonshape.rst

@@ -37,7 +37,7 @@ Method Descriptions
 
 - :ref:`PoolVector3Array<class_PoolVector3Array>` **get_faces** **(** **)** const
 
-Return the faces (an array of triangles).
+Returns the faces (an array of triangles).
 
 .. _class_ConcavePolygonShape_method_set_faces:
 

+ 1 - 1
classes/class_confirmationdialog.rst

@@ -37,5 +37,5 @@ Method Descriptions
 
 - :ref:`Button<class_Button>` **get_cancel** **(** **)**
 
-Return the cancel button.
+Returns the cancel button.
 

+ 1 - 1
classes/class_control.rst

@@ -1114,7 +1114,7 @@ Returns the mouse cursor shape the control displays on mouse hover. See :ref:`Cu
 
 - :ref:`Object<class_Object>` **get_drag_data** **(** :ref:`Vector2<class_Vector2>` position **)** virtual
 
-Godot calls this method to get data that can be dragged and dropped onto controls that expect drop data. Return null if there is no data to drag. Controls that want to receive drop data should implement :ref:`can_drop_data<class_Control_method_can_drop_data>` and :ref:`drop_data<class_Control_method_drop_data>`. ``position`` is local to this control. Drag may be forced with :ref:`force_drag<class_Control_method_force_drag>`.
+Godot calls this method to get data that can be dragged and dropped onto controls that expect drop data. Returns null if there is no data to drag. Controls that want to receive drop data should implement :ref:`can_drop_data<class_Control_method_can_drop_data>` and :ref:`drop_data<class_Control_method_drop_data>`. ``position`` is local to this control. Drag may be forced with :ref:`force_drag<class_Control_method_force_drag>`.
 
 A preview that will follow the mouse that should represent the data can be set with :ref:`set_drag_preview<class_Control_method_set_drag_preview>`. A good time to set the preview is in this method.
 

+ 7 - 7
classes/class_dictionary.rst

@@ -85,7 +85,7 @@ Creates a copy of the dictionary, and returns it.
 
 - :ref:`bool<class_bool>` **empty** **(** **)**
 
-Return ``true`` if the dictionary is empty.
+Returns ``true`` if the dictionary is empty.
 
 .. _class_Dictionary_method_erase:
 
@@ -103,35 +103,35 @@ Returns the current value for the specified key in the ``Dictionary``. If the ke
 
 - :ref:`bool<class_bool>` **has** **(** :ref:`Variant<class_Variant>` key **)**
 
-Return ``true`` if the dictionary has a given key.
+Returns ``true`` if the dictionary has a given key.
 
 .. _class_Dictionary_method_has_all:
 
 - :ref:`bool<class_bool>` **has_all** **(** :ref:`Array<class_Array>` keys **)**
 
-Return ``true`` if the dictionary has all of the keys in the given array.
+Returns ``true`` if the dictionary has all of the keys in the given array.
 
 .. _class_Dictionary_method_hash:
 
 - :ref:`int<class_int>` **hash** **(** **)**
 
-Return a hashed integer value representing the dictionary contents.
+Returns a hashed integer value representing the dictionary contents.
 
 .. _class_Dictionary_method_keys:
 
 - :ref:`Array<class_Array>` **keys** **(** **)**
 
-Return the list of keys in the ``Dictionary``.
+Returns the list of keys in the ``Dictionary``.
 
 .. _class_Dictionary_method_size:
 
 - :ref:`int<class_int>` **size** **(** **)**
 
-Return the size of the dictionary (in pairs).
+Returns the size of the dictionary (in pairs).
 
 .. _class_Dictionary_method_values:
 
 - :ref:`Array<class_Array>` **values** **(** **)**
 
-Return the list of values in the ``Dictionary``.
+Returns the list of values in the ``Dictionary``.
 

+ 8 - 8
classes/class_directory.rst

@@ -108,25 +108,25 @@ Returns one of the error code constants defined in :ref:`@GlobalScope<class_@Glo
 
 - :ref:`bool<class_bool>` **current_is_dir** **(** **)** const
 
-Return whether the current item processed with the last :ref:`get_next<class_Directory_method_get_next>` call is a directory (``.`` and ``..`` are considered directories).
+Returns whether the current item processed with the last :ref:`get_next<class_Directory_method_get_next>` call is a directory (``.`` and ``..`` are considered directories).
 
 .. _class_Directory_method_dir_exists:
 
 - :ref:`bool<class_bool>` **dir_exists** **(** :ref:`String<class_String>` path **)**
 
-Return whether the target directory exists. The argument can be relative to the current directory, or an absolute path.
+Returns whether the target directory exists. The argument can be relative to the current directory, or an absolute path.
 
 .. _class_Directory_method_file_exists:
 
 - :ref:`bool<class_bool>` **file_exists** **(** :ref:`String<class_String>` path **)**
 
-Return whether the target file exists. The argument can be relative to the current directory, or an absolute path.
+Returns whether the target file exists. The argument can be relative to the current directory, or an absolute path.
 
 .. _class_Directory_method_get_current_dir:
 
 - :ref:`String<class_String>` **get_current_dir** **(** **)**
 
-Return the absolute path to the currently opened directory (e.g. ``res://folder`` or ``C:\tmp\folder``).
+Returns the absolute path to the currently opened directory (e.g. ``res://folder`` or ``C:\tmp\folder``).
 
 .. _class_Directory_method_get_current_drive:
 
@@ -150,7 +150,7 @@ On Windows, return the number of drives (partitions) mounted on the current file
 
 - :ref:`String<class_String>` **get_next** **(** **)**
 
-Return the next element (file or directory) in the current directory (including ``.`` and ``..``, unless ``skip_navigational`` was given to :ref:`list_dir_begin<class_Directory_method_list_dir_begin>`).
+Returns the next element (file or directory) in the current directory (including ``.`` and ``..``, unless ``skip_navigational`` was given to :ref:`list_dir_begin<class_Directory_method_list_dir_begin>`).
 
 The name of the file or directory is returned (and not its full path). Once the stream has been fully processed, the method returns an empty String and closes the stream automatically (i.e. :ref:`list_dir_end<class_Directory_method_list_dir_end>` would not be mandatory in such a case).
 
@@ -190,7 +190,7 @@ The method returns one of the error code constants defined in :ref:`@GlobalScope
 
 Create a target directory and all necessary intermediate directories in its path, by calling :ref:`make_dir<class_Directory_method_make_dir>` recursively. The argument can be relative to the current directory, or an absolute path.
 
-Return one of the error code constants defined in :ref:`@GlobalScope<class_@GlobalScope>` (OK, FAILED or ERR\_\*).
+Returns one of the error code constants defined in :ref:`@GlobalScope<class_@GlobalScope>` (OK, FAILED or ERR\_\*).
 
 .. _class_Directory_method_open:
 
@@ -206,7 +206,7 @@ The method returns one of the error code constants defined in :ref:`@GlobalScope
 
 Delete the target file or an empty directory. The argument can be relative to the current directory, or an absolute path. If the target directory is not empty, the operation will fail.
 
-Return one of the error code constants defined in :ref:`@GlobalScope<class_@GlobalScope>` (OK or FAILED).
+Returns one of the error code constants defined in :ref:`@GlobalScope<class_@GlobalScope>` (OK or FAILED).
 
 .. _class_Directory_method_rename:
 
@@ -214,5 +214,5 @@ Return one of the error code constants defined in :ref:`@GlobalScope<class_@Glob
 
 Rename (move) the *from* file to the *to* destination. Both arguments should be paths to files, either relative or absolute. If the destination file exists and is not access-protected, it will be overwritten.
 
-Return one of the error code constants defined in :ref:`@GlobalScope<class_@GlobalScope>` (OK or FAILED).
+Returns one of the error code constants defined in :ref:`@GlobalScope<class_@GlobalScope>` (OK or FAILED).
 

+ 6 - 0
classes/class_editorexportplugin.rst

@@ -22,6 +22,8 @@ Methods
 +------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void | :ref:`_export_begin<class_EditorExportPlugin_method__export_begin>` **(** :ref:`PoolStringArray<class_PoolStringArray>` features, :ref:`bool<class_bool>` is_debug, :ref:`String<class_String>` path, :ref:`int<class_int>` flags **)** virtual |
 +------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`_export_end<class_EditorExportPlugin_method__export_end>` **(** **)** virtual                                                                                                                                                             |
++------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void | :ref:`_export_file<class_EditorExportPlugin_method__export_file>` **(** :ref:`String<class_String>` path, :ref:`String<class_String>` type, :ref:`PoolStringArray<class_PoolStringArray>` features **)** virtual                                |
 +------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void | :ref:`add_file<class_EditorExportPlugin_method_add_file>` **(** :ref:`String<class_String>` path, :ref:`PoolByteArray<class_PoolByteArray>` file, :ref:`bool<class_bool>` remap **)**                                                           |
@@ -48,6 +50,10 @@ Method Descriptions
 
 - void **_export_begin** **(** :ref:`PoolStringArray<class_PoolStringArray>` features, :ref:`bool<class_bool>` is_debug, :ref:`String<class_String>` path, :ref:`int<class_int>` flags **)** virtual
 
+.. _class_EditorExportPlugin_method__export_end:
+
+- void **_export_end** **(** **)** virtual
+
 .. _class_EditorExportPlugin_method__export_file:
 
 - void **_export_file** **(** :ref:`String<class_String>` path, :ref:`String<class_String>` type, :ref:`PoolStringArray<class_PoolStringArray>` features **)** virtual

+ 2 - 2
classes/class_editorfilesystem.rst

@@ -94,13 +94,13 @@ Returns a view into the filesystem at ``path``.
 
 - :ref:`float<class_float>` **get_scanning_progress** **(** **)** const
 
-Return the scan progress for 0 to 1 if the FS is being scanned.
+Returns the scan progress for 0 to 1 if the FS is being scanned.
 
 .. _class_EditorFileSystem_method_is_scanning:
 
 - :ref:`bool<class_bool>` **is_scanning** **(** **)** const
 
-Return ``true`` of the filesystem is being scanned.
+Returns ``true`` of the filesystem is being scanned.
 
 .. _class_EditorFileSystem_method_scan:
 

+ 1 - 1
classes/class_editorinspectorplugin.rst

@@ -79,7 +79,7 @@ Add am editor that allows modifying multiple properties, this must inherit :ref:
 
 - :ref:`bool<class_bool>` **can_handle** **(** :ref:`Object<class_Object>` object **)** virtual
 
-Return true if this object can be handled by this plugin.
+Returns true if this object can be handled by this plugin.
 
 .. _class_EditorInspectorPlugin_method_parse_begin:
 

+ 38 - 0
classes/class_editornavigationmeshgenerator.rst

@@ -0,0 +1,38 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the EditorNavigationMeshGenerator.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_EditorNavigationMeshGenerator:
+
+EditorNavigationMeshGenerator
+=============================
+
+**Inherits:** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Methods
+-------
+
++------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`bake<class_EditorNavigationMeshGenerator_method_bake>` **(** :ref:`NavigationMesh<class_NavigationMesh>` nav_mesh, :ref:`Node<class_Node>` root_node **)** |
++------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`clear<class_EditorNavigationMeshGenerator_method_clear>` **(** :ref:`NavigationMesh<class_NavigationMesh>` nav_mesh **)**                                  |
++------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Method Descriptions
+-------------------
+
+.. _class_EditorNavigationMeshGenerator_method_bake:
+
+- void **bake** **(** :ref:`NavigationMesh<class_NavigationMesh>` nav_mesh, :ref:`Node<class_Node>` root_node **)**
+
+.. _class_EditorNavigationMeshGenerator_method_clear:
+
+- void **clear** **(** :ref:`NavigationMesh<class_NavigationMesh>` nav_mesh **)**
+

+ 2 - 2
classes/class_editorplugin.rst

@@ -404,7 +404,7 @@ This is for editors that edit script based objects. You can return a list of bre
 
 - :ref:`EditorInterface<class_EditorInterface>` **get_editor_interface** **(** **)**
 
-Return the :ref:`EditorInterface<class_EditorInterface>` object that gives you control over Godot editor's window and its functionalities.
+Returns the :ref:`EditorInterface<class_EditorInterface>` object that gives you control over Godot editor's window and its functionalities.
 
 .. _class_EditorPlugin_method_get_plugin_icon:
 
@@ -448,7 +448,7 @@ Implement this function if your plugin edits a specific type of object (Resource
 
 - :ref:`bool<class_bool>` **has_main_screen** **(** **)** virtual
 
-Return ``true`` if this is a main screen editor plugin (it goes in the workspaces selector together with '2D', '3D', and 'Script').
+Returns ``true`` if this is a main screen editor plugin (it goes in the workspaces selector together with '2D', '3D', and 'Script').
 
 .. _class_EditorPlugin_method_hide_bottom_panel:
 

+ 21 - 1
classes/class_editorresourcepreviewgenerator.rst

@@ -19,11 +19,15 @@ Custom generator of previews.
 Methods
 -------
 
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`can_generate_small_preview<class_EditorResourcePreviewGenerator_method_can_generate_small_preview>` **(** **)** virtual                                                      |
 +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Texture<class_Texture>` | :ref:`generate<class_EditorResourcePreviewGenerator_method_generate>` **(** :ref:`Resource<class_Resource>` from, :ref:`Vector2<class_Vector2>` size **)** virtual                 |
 +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Texture<class_Texture>` | :ref:`generate_from_path<class_EditorResourcePreviewGenerator_method_generate_from_path>` **(** :ref:`String<class_String>` path, :ref:`Vector2<class_Vector2>` size **)** virtual |
 +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`generate_small_preview_automatically<class_EditorResourcePreviewGenerator_method_generate_small_preview_automatically>` **(** **)** virtual                                  |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`       | :ref:`handles<class_EditorResourcePreviewGenerator_method_handles>` **(** :ref:`String<class_String>` type **)** virtual                                                           |
 +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
@@ -35,6 +39,14 @@ Custom code to generate previews. Please check "file_dialog/thumbnail_size" in E
 Method Descriptions
 -------------------
 
+.. _class_EditorResourcePreviewGenerator_method_can_generate_small_preview:
+
+- :ref:`bool<class_bool>` **can_generate_small_preview** **(** **)** virtual
+
+If this function returns true the generator will call :ref:`generate<class_EditorResourcePreviewGenerator_method_generate>` or :ref:`generate_from_path<class_EditorResourcePreviewGenerator_method_generate_from_path>` for small previews too.
+
+By default it returns false.
+
 .. _class_EditorResourcePreviewGenerator_method_generate:
 
 - :ref:`Texture<class_Texture>` **generate** **(** :ref:`Resource<class_Resource>` from, :ref:`Vector2<class_Vector2>` size **)** virtual
@@ -55,9 +67,17 @@ Returning an empty texture is an OK way to fail and let another generator take c
 
 Care must be taken because this function is always called from a thread (not the main thread).
 
+.. _class_EditorResourcePreviewGenerator_method_generate_small_preview_automatically:
+
+- :ref:`bool<class_bool>` **generate_small_preview_automatically** **(** **)** virtual
+
+If this function returns true the generator will automatically generate the small previews from the normal preview texture generated by the methods :ref:`generate<class_EditorResourcePreviewGenerator_method_generate>` or :ref:`generate_from_path<class_EditorResourcePreviewGenerator_method_generate_from_path>`.
+
+By default it returns false.
+
 .. _class_EditorResourcePreviewGenerator_method_handles:
 
 - :ref:`bool<class_bool>` **handles** **(** :ref:`String<class_String>` type **)** virtual
 
-Return if your generator supports this resource type.
+Returns if your generator supports this resource type.
 

+ 1 - 1
classes/class_editorspatialgizmo.rst

@@ -127,7 +127,7 @@ Get actual value of a handle. This value can be anything and used for eventually
 
 - :ref:`EditorSpatialGizmoPlugin<class_EditorSpatialGizmoPlugin>` **get_plugin** **(** **)** const
 
-Return the :ref:`EditorSpatialGizmoPlugin<class_EditorSpatialGizmoPlugin>` that owns this gizmo. It's useful to retrieve materials using :ref:`EditorSpatialGizmoPlugin.get_material<class_EditorSpatialGizmoPlugin_method_get_material>`.
+Returns the :ref:`EditorSpatialGizmoPlugin<class_EditorSpatialGizmoPlugin>` that owns this gizmo. It's useful to retrieve materials using :ref:`EditorSpatialGizmoPlugin.get_material<class_EditorSpatialGizmoPlugin_method_get_material>`.
 
 .. _class_EditorSpatialGizmo_method_get_spatial_node:
 

+ 1 - 1
classes/class_filedialog.rst

@@ -266,7 +266,7 @@ Returns the LineEdit for the selected file.
 
 - :ref:`VBoxContainer<class_VBoxContainer>` **get_vbox** **(** **)**
 
-Return the vertical box container of the dialog, custom controls can be added to it.
+Returns the vertical box container of the dialog, custom controls can be added to it.
 
 .. _class_FileDialog_method_invalidate:
 

+ 4 - 4
classes/class_font.rst

@@ -67,25 +67,25 @@ Draw character "char" into a canvas item using the font at a given position, wit
 
 - :ref:`float<class_float>` **get_ascent** **(** **)** const
 
-Return the font ascent (number of pixels above the baseline).
+Returns the font ascent (number of pixels above the baseline).
 
 .. _class_Font_method_get_descent:
 
 - :ref:`float<class_float>` **get_descent** **(** **)** const
 
-Return the font descent (number of pixels below the baseline).
+Returns the font descent (number of pixels below the baseline).
 
 .. _class_Font_method_get_height:
 
 - :ref:`float<class_float>` **get_height** **(** **)** const
 
-Return the total font height (ascent plus descent) in pixels.
+Returns the total font height (ascent plus descent) in pixels.
 
 .. _class_Font_method_get_string_size:
 
 - :ref:`Vector2<class_Vector2>` **get_string_size** **(** :ref:`String<class_String>` string **)** const
 
-Return the size of a string, taking kerning and advance into account.
+Returns the size of a string, taking kerning and advance into account.
 
 .. _class_Font_method_get_wordwrap_string_size:
 

+ 218 - 47
classes/class_geometry.rst

@@ -19,53 +19,138 @@ Brief Description
 Methods
 -------
 
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`                       | :ref:`build_box_planes<class_Geometry_method_build_box_planes>` **(** :ref:`Vector3<class_Vector3>` extents **)**                                                                                                                                                          |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`                       | :ref:`build_capsule_planes<class_Geometry_method_build_capsule_planes>` **(** :ref:`float<class_float>` radius, :ref:`float<class_float>` height, :ref:`int<class_int>` sides, :ref:`int<class_int>` lats, Vector3.Axis axis=2 **)**                                       |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`                       | :ref:`build_cylinder_planes<class_Geometry_method_build_cylinder_planes>` **(** :ref:`float<class_float>` radius, :ref:`float<class_float>` height, :ref:`int<class_int>` sides, Vector3.Axis axis=2 **)**                                                                 |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolVector3Array<class_PoolVector3Array>` | :ref:`clip_polygon<class_Geometry_method_clip_polygon>` **(** :ref:`PoolVector3Array<class_PoolVector3Array>` points, :ref:`Plane<class_Plane>` plane **)**                                                                                                                |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolVector2Array<class_PoolVector2Array>` | :ref:`convex_hull_2d<class_Geometry_method_convex_hull_2d>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` points **)**                                                                                                                                             |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`                   | :ref:`get_closest_point_to_segment<class_Geometry_method_get_closest_point_to_segment>` **(** :ref:`Vector3<class_Vector3>` point, :ref:`Vector3<class_Vector3>` s1, :ref:`Vector3<class_Vector3>` s2 **)**                                                                |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`                   | :ref:`get_closest_point_to_segment_2d<class_Geometry_method_get_closest_point_to_segment_2d>` **(** :ref:`Vector2<class_Vector2>` point, :ref:`Vector2<class_Vector2>` s1, :ref:`Vector2<class_Vector2>` s2 **)**                                                          |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`                   | :ref:`get_closest_point_to_segment_uncapped<class_Geometry_method_get_closest_point_to_segment_uncapped>` **(** :ref:`Vector3<class_Vector3>` point, :ref:`Vector3<class_Vector3>` s1, :ref:`Vector3<class_Vector3>` s2 **)**                                              |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`                   | :ref:`get_closest_point_to_segment_uncapped_2d<class_Geometry_method_get_closest_point_to_segment_uncapped_2d>` **(** :ref:`Vector2<class_Vector2>` point, :ref:`Vector2<class_Vector2>` s1, :ref:`Vector2<class_Vector2>` s2 **)**                                        |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolVector3Array<class_PoolVector3Array>` | :ref:`get_closest_points_between_segments<class_Geometry_method_get_closest_points_between_segments>` **(** :ref:`Vector3<class_Vector3>` p1, :ref:`Vector3<class_Vector3>` p2, :ref:`Vector3<class_Vector3>` q1, :ref:`Vector3<class_Vector3>` q2 **)**                   |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolVector2Array<class_PoolVector2Array>` | :ref:`get_closest_points_between_segments_2d<class_Geometry_method_get_closest_points_between_segments_2d>` **(** :ref:`Vector2<class_Vector2>` p1, :ref:`Vector2<class_Vector2>` q1, :ref:`Vector2<class_Vector2>` p2, :ref:`Vector2<class_Vector2>` q2 **)**             |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                           | :ref:`get_uv84_normal_bit<class_Geometry_method_get_uv84_normal_bit>` **(** :ref:`Vector3<class_Vector3>` normal **)**                                                                                                                                                     |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>`                   | :ref:`line_intersects_line_2d<class_Geometry_method_line_intersects_line_2d>` **(** :ref:`Vector2<class_Vector2>` from_a, :ref:`Vector2<class_Vector2>` dir_a, :ref:`Vector2<class_Vector2>` from_b, :ref:`Vector2<class_Vector2>` dir_b **)**                             |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Dictionary<class_Dictionary>`             | :ref:`make_atlas<class_Geometry_method_make_atlas>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` sizes **)**                                                                                                                                                      |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                         | :ref:`point_is_inside_triangle<class_Geometry_method_point_is_inside_triangle>` **(** :ref:`Vector2<class_Vector2>` point, :ref:`Vector2<class_Vector2>` a, :ref:`Vector2<class_Vector2>` b, :ref:`Vector2<class_Vector2>` c **)** const                                   |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>`                   | :ref:`ray_intersects_triangle<class_Geometry_method_ray_intersects_triangle>` **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` dir, :ref:`Vector3<class_Vector3>` a, :ref:`Vector3<class_Vector3>` b, :ref:`Vector3<class_Vector3>` c **)**         |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                       | :ref:`segment_intersects_circle<class_Geometry_method_segment_intersects_circle>` **(** :ref:`Vector2<class_Vector2>` segment_from, :ref:`Vector2<class_Vector2>` segment_to, :ref:`Vector2<class_Vector2>` circle_position, :ref:`float<class_float>` circle_radius **)** |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolVector3Array<class_PoolVector3Array>` | :ref:`segment_intersects_convex<class_Geometry_method_segment_intersects_convex>` **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` to, :ref:`Array<class_Array>` planes **)**                                                                       |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolVector3Array<class_PoolVector3Array>` | :ref:`segment_intersects_cylinder<class_Geometry_method_segment_intersects_cylinder>` **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` to, :ref:`float<class_float>` height, :ref:`float<class_float>` radius **)**                                 |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>`                   | :ref:`segment_intersects_segment_2d<class_Geometry_method_segment_intersects_segment_2d>` **(** :ref:`Vector2<class_Vector2>` from_a, :ref:`Vector2<class_Vector2>` to_a, :ref:`Vector2<class_Vector2>` from_b, :ref:`Vector2<class_Vector2>` to_b **)**                   |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolVector3Array<class_PoolVector3Array>` | :ref:`segment_intersects_sphere<class_Geometry_method_segment_intersects_sphere>` **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` to, :ref:`Vector3<class_Vector3>` sphere_position, :ref:`float<class_float>` sphere_radius **)**                 |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>`                   | :ref:`segment_intersects_triangle<class_Geometry_method_segment_intersects_triangle>` **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` to, :ref:`Vector3<class_Vector3>` a, :ref:`Vector3<class_Vector3>` b, :ref:`Vector3<class_Vector3>` c **)**  |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolIntArray<class_PoolIntArray>`         | :ref:`triangulate_polygon<class_Geometry_method_triangulate_polygon>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polygon **)**                                                                                                                                  |
-+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                       | :ref:`build_box_planes<class_Geometry_method_build_box_planes>` **(** :ref:`Vector3<class_Vector3>` extents **)**                                                                                                                                                                                |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                       | :ref:`build_capsule_planes<class_Geometry_method_build_capsule_planes>` **(** :ref:`float<class_float>` radius, :ref:`float<class_float>` height, :ref:`int<class_int>` sides, :ref:`int<class_int>` lats, Vector3.Axis axis=2 **)**                                                             |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                       | :ref:`build_cylinder_planes<class_Geometry_method_build_cylinder_planes>` **(** :ref:`float<class_float>` radius, :ref:`float<class_float>` height, :ref:`int<class_int>` sides, Vector3.Axis axis=2 **)**                                                                                       |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolVector3Array<class_PoolVector3Array>` | :ref:`clip_polygon<class_Geometry_method_clip_polygon>` **(** :ref:`PoolVector3Array<class_PoolVector3Array>` points, :ref:`Plane<class_Plane>` plane **)**                                                                                                                                      |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                       | :ref:`clip_polygons_2d<class_Geometry_method_clip_polygons_2d>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_a, :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_b **)**                                                                                                 |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                       | :ref:`clip_polyline_with_polygon_2d<class_Geometry_method_clip_polyline_with_polygon_2d>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polyline, :ref:`PoolVector2Array<class_PoolVector2Array>` polygon **)**                                                                          |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolVector2Array<class_PoolVector2Array>` | :ref:`convex_hull_2d<class_Geometry_method_convex_hull_2d>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` points **)**                                                                                                                                                                   |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                       | :ref:`exclude_polygons_2d<class_Geometry_method_exclude_polygons_2d>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_a, :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_b **)**                                                                                           |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`                   | :ref:`get_closest_point_to_segment<class_Geometry_method_get_closest_point_to_segment>` **(** :ref:`Vector3<class_Vector3>` point, :ref:`Vector3<class_Vector3>` s1, :ref:`Vector3<class_Vector3>` s2 **)**                                                                                      |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`                   | :ref:`get_closest_point_to_segment_2d<class_Geometry_method_get_closest_point_to_segment_2d>` **(** :ref:`Vector2<class_Vector2>` point, :ref:`Vector2<class_Vector2>` s1, :ref:`Vector2<class_Vector2>` s2 **)**                                                                                |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`                   | :ref:`get_closest_point_to_segment_uncapped<class_Geometry_method_get_closest_point_to_segment_uncapped>` **(** :ref:`Vector3<class_Vector3>` point, :ref:`Vector3<class_Vector3>` s1, :ref:`Vector3<class_Vector3>` s2 **)**                                                                    |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`                   | :ref:`get_closest_point_to_segment_uncapped_2d<class_Geometry_method_get_closest_point_to_segment_uncapped_2d>` **(** :ref:`Vector2<class_Vector2>` point, :ref:`Vector2<class_Vector2>` s1, :ref:`Vector2<class_Vector2>` s2 **)**                                                              |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolVector3Array<class_PoolVector3Array>` | :ref:`get_closest_points_between_segments<class_Geometry_method_get_closest_points_between_segments>` **(** :ref:`Vector3<class_Vector3>` p1, :ref:`Vector3<class_Vector3>` p2, :ref:`Vector3<class_Vector3>` q1, :ref:`Vector3<class_Vector3>` q2 **)**                                         |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolVector2Array<class_PoolVector2Array>` | :ref:`get_closest_points_between_segments_2d<class_Geometry_method_get_closest_points_between_segments_2d>` **(** :ref:`Vector2<class_Vector2>` p1, :ref:`Vector2<class_Vector2>` q1, :ref:`Vector2<class_Vector2>` p2, :ref:`Vector2<class_Vector2>` q2 **)**                                   |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                           | :ref:`get_uv84_normal_bit<class_Geometry_method_get_uv84_normal_bit>` **(** :ref:`Vector3<class_Vector3>` normal **)**                                                                                                                                                                           |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                       | :ref:`intersect_polygons_2d<class_Geometry_method_intersect_polygons_2d>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_a, :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_b **)**                                                                                       |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                       | :ref:`intersect_polyline_with_polygon_2d<class_Geometry_method_intersect_polyline_with_polygon_2d>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polyline, :ref:`PoolVector2Array<class_PoolVector2Array>` polygon **)**                                                                |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                         | :ref:`is_polygon_clockwise<class_Geometry_method_is_polygon_clockwise>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polygon **)**                                                                                                                                                      |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>`                   | :ref:`line_intersects_line_2d<class_Geometry_method_line_intersects_line_2d>` **(** :ref:`Vector2<class_Vector2>` from_a, :ref:`Vector2<class_Vector2>` dir_a, :ref:`Vector2<class_Vector2>` from_b, :ref:`Vector2<class_Vector2>` dir_b **)**                                                   |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_Dictionary>`             | :ref:`make_atlas<class_Geometry_method_make_atlas>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` sizes **)**                                                                                                                                                                            |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                       | :ref:`merge_polygons_2d<class_Geometry_method_merge_polygons_2d>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_a, :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_b **)**                                                                                               |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                       | :ref:`offset_polygon_2d<class_Geometry_method_offset_polygon_2d>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polygon, :ref:`float<class_float>` delta, :ref:`PolyJoinType<enum_Geometry_PolyJoinType>` join_type=0 **)**                                                              |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                       | :ref:`offset_polyline_2d<class_Geometry_method_offset_polyline_2d>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polyline, :ref:`float<class_float>` delta, :ref:`PolyJoinType<enum_Geometry_PolyJoinType>` join_type=0, :ref:`PolyEndType<enum_Geometry_PolyEndType>` end_type=3 **)** |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                         | :ref:`point_is_inside_triangle<class_Geometry_method_point_is_inside_triangle>` **(** :ref:`Vector2<class_Vector2>` point, :ref:`Vector2<class_Vector2>` a, :ref:`Vector2<class_Vector2>` b, :ref:`Vector2<class_Vector2>` c **)** const                                                         |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>`                   | :ref:`ray_intersects_triangle<class_Geometry_method_ray_intersects_triangle>` **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` dir, :ref:`Vector3<class_Vector3>` a, :ref:`Vector3<class_Vector3>` b, :ref:`Vector3<class_Vector3>` c **)**                               |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                       | :ref:`segment_intersects_circle<class_Geometry_method_segment_intersects_circle>` **(** :ref:`Vector2<class_Vector2>` segment_from, :ref:`Vector2<class_Vector2>` segment_to, :ref:`Vector2<class_Vector2>` circle_position, :ref:`float<class_float>` circle_radius **)**                       |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolVector3Array<class_PoolVector3Array>` | :ref:`segment_intersects_convex<class_Geometry_method_segment_intersects_convex>` **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` to, :ref:`Array<class_Array>` planes **)**                                                                                             |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolVector3Array<class_PoolVector3Array>` | :ref:`segment_intersects_cylinder<class_Geometry_method_segment_intersects_cylinder>` **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` to, :ref:`float<class_float>` height, :ref:`float<class_float>` radius **)**                                                       |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>`                   | :ref:`segment_intersects_segment_2d<class_Geometry_method_segment_intersects_segment_2d>` **(** :ref:`Vector2<class_Vector2>` from_a, :ref:`Vector2<class_Vector2>` to_a, :ref:`Vector2<class_Vector2>` from_b, :ref:`Vector2<class_Vector2>` to_b **)**                                         |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolVector3Array<class_PoolVector3Array>` | :ref:`segment_intersects_sphere<class_Geometry_method_segment_intersects_sphere>` **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` to, :ref:`Vector3<class_Vector3>` sphere_position, :ref:`float<class_float>` sphere_radius **)**                                       |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>`                   | :ref:`segment_intersects_triangle<class_Geometry_method_segment_intersects_triangle>` **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` to, :ref:`Vector3<class_Vector3>` a, :ref:`Vector3<class_Vector3>` b, :ref:`Vector3<class_Vector3>` c **)**                        |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolVector2Array<class_PoolVector2Array>` | :ref:`transform_points_2d<class_Geometry_method_transform_points_2d>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` points, :ref:`Transform2D<class_Transform2D>` transform **)**                                                                                                        |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolIntArray<class_PoolIntArray>`         | :ref:`triangulate_delaunay_2d<class_Geometry_method_triangulate_delaunay_2d>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` points **)**                                                                                                                                                 |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolIntArray<class_PoolIntArray>`         | :ref:`triangulate_polygon<class_Geometry_method_triangulate_polygon>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polygon **)**                                                                                                                                                        |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Enumerations
+------------
+
+.. _enum_Geometry_PolyBooleanOperation:
+
+.. _class_Geometry_constant_OPERATION_UNION:
+
+.. _class_Geometry_constant_OPERATION_DIFFERENCE:
+
+.. _class_Geometry_constant_OPERATION_INTERSECTION:
+
+.. _class_Geometry_constant_OPERATION_XOR:
+
+enum **PolyBooleanOperation**:
+
+- **OPERATION_UNION** = **0** --- Create regions where either subject or clip polygons (or both) are filled.
+
+- **OPERATION_DIFFERENCE** = **1** --- Create regions where subject polygons are filled except where clip polygons are filled.
+
+- **OPERATION_INTERSECTION** = **2** --- Create regions where both subject and clip polygons are filled.
+
+- **OPERATION_XOR** = **3** --- Create regions where either subject or clip polygons are filled but not where both are filled.
+
+.. _enum_Geometry_PolyJoinType:
+
+.. _class_Geometry_constant_JOIN_SQUARE:
+
+.. _class_Geometry_constant_JOIN_ROUND:
+
+.. _class_Geometry_constant_JOIN_MITER:
+
+enum **PolyJoinType**:
+
+- **JOIN_SQUARE** = **0** --- Squaring is applied uniformally at all convex edge joins at ``1 * delta``.
+
+- **JOIN_ROUND** = **1** --- While flattened paths can never perfectly trace an arc, they are approximated by a series of arc chords.
+
+- **JOIN_MITER** = **2** --- There's a necessary limit to mitered joins since offsetting edges that join at very acute angles will produce excessively long and narrow 'spikes'. For any given edge join, when miter offsetting would exceed that maximum distance, 'square' joining is applied.
+
+.. _enum_Geometry_PolyEndType:
+
+.. _class_Geometry_constant_END_POLYGON:
+
+.. _class_Geometry_constant_END_JOINED:
+
+.. _class_Geometry_constant_END_BUTT:
+
+.. _class_Geometry_constant_END_SQUARE:
+
+.. _class_Geometry_constant_END_ROUND:
+
+enum **PolyEndType**:
+
+- **END_POLYGON** = **0** --- Endpoints are joined using the :ref:`PolyJoinType<enum_Geometry_PolyJoinType>` value and the path filled as a polygon.
+
+- **END_JOINED** = **1** --- Endpoints are joined using the :ref:`PolyJoinType<enum_Geometry_PolyJoinType>` value and the path filled as a polyline.
+
+- **END_BUTT** = **2** --- Endpoints are squared off with no extension.
+
+- **END_SQUARE** = **3** --- Endpoints are squared off and extended by ``delta`` units.
+
+- **END_ROUND** = **4** --- Endpoints are rounded off and extended by ``delta`` units.
 
 Method Descriptions
 -------------------
@@ -94,12 +179,34 @@ Returns an array of :ref:`Plane<class_Plane>`\ s closely bounding a faceted cyli
 
 Clips the polygon defined by the points in ``points`` against the ``plane`` and returns the points of the clipped polygon.
 
+.. _class_Geometry_method_clip_polygons_2d:
+
+- :ref:`Array<class_Array>` **clip_polygons_2d** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_a, :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_b **)**
+
+Clips ``polygon_a`` against ``polygon_b`` and returns an array of clipped polygons. This performs ``OPERATION_DIFFERENCE`` between polygons. Returns an empty array if ``polygon_b`` completely overlaps ``polygon_a``. 
+
+If ``polygon_b`` is enclosed by ``polygon_a``, returns an outer polygon (boundary) and inner polygon (hole) which could be distiguished by calling :ref:`is_polygon_clockwise<class_Geometry_method_is_polygon_clockwise>`.
+
+.. _class_Geometry_method_clip_polyline_with_polygon_2d:
+
+- :ref:`Array<class_Array>` **clip_polyline_with_polygon_2d** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polyline, :ref:`PoolVector2Array<class_PoolVector2Array>` polygon **)**
+
+Clips ``polyline`` against ``polygon`` and returns an array of clipped polylines. This performs ``OPERATION_DIFFERENCE`` between the polyline and the polygon. This operation can be thought of as cutting a line with a closed shape.
+
 .. _class_Geometry_method_convex_hull_2d:
 
 - :ref:`PoolVector2Array<class_PoolVector2Array>` **convex_hull_2d** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` points **)**
 
 Given an array of :ref:`Vector2<class_Vector2>`\ s, returns the convex hull as a list of points in counter-clockwise order. The last point is the same as the first one.
 
+.. _class_Geometry_method_exclude_polygons_2d:
+
+- :ref:`Array<class_Array>` **exclude_polygons_2d** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_a, :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_b **)**
+
+Mutually excludes common area defined by intersection of ``polygon_a`` and ``polygon_b`` (see :ref:`intersect_polygons_2d<class_Geometry_method_intersect_polygons_2d>`) and returns an array of excluded polygons. This performs ``OPERATION_XOR`` between polygons. In other words, returns all but common area between polygons. 
+
+The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling :ref:`is_polygon_clockwise<class_Geometry_method_is_polygon_clockwise>`.
+
 .. _class_Geometry_method_get_closest_point_to_segment:
 
 - :ref:`Vector3<class_Vector3>` **get_closest_point_to_segment** **(** :ref:`Vector3<class_Vector3>` point, :ref:`Vector3<class_Vector3>` s1, :ref:`Vector3<class_Vector3>` s2 **)**
@@ -140,6 +247,26 @@ Given the two 2d segments (``p1``, ``p2``) and (``q1``, ``q2``), finds those two
 
 - :ref:`int<class_int>` **get_uv84_normal_bit** **(** :ref:`Vector3<class_Vector3>` normal **)**
 
+.. _class_Geometry_method_intersect_polygons_2d:
+
+- :ref:`Array<class_Array>` **intersect_polygons_2d** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_a, :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_b **)**
+
+Intersects ``polygon_a`` with ``polygon_b`` and returns an array of intersected polygons. This performs ``OPERATION_INTERSECTION`` between polygons. In other words, returns common area shared by polygons. Returns an empty array if no intersection occurs.
+
+The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling :ref:`is_polygon_clockwise<class_Geometry_method_is_polygon_clockwise>`.
+
+.. _class_Geometry_method_intersect_polyline_with_polygon_2d:
+
+- :ref:`Array<class_Array>` **intersect_polyline_with_polygon_2d** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polyline, :ref:`PoolVector2Array<class_PoolVector2Array>` polygon **)**
+
+Intersects ``polyline`` with ``polygon`` and returns an array of intersected polylines. This performs ``OPERATION_INTERSECTION`` between the polyline and the polygon. This operation can be thought of as chopping a line with a closed shape.
+
+.. _class_Geometry_method_is_polygon_clockwise:
+
+- :ref:`bool<class_bool>` **is_polygon_clockwise** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polygon **)**
+
+Returns ``true`` if ``polygon``'s vertices are ordered in clockwise order, otherwise returns ``false``.
+
 .. _class_Geometry_method_line_intersects_line_2d:
 
 - :ref:`Variant<class_Variant>` **line_intersects_line_2d** **(** :ref:`Vector2<class_Vector2>` from_a, :ref:`Vector2<class_Vector2>` dir_a, :ref:`Vector2<class_Vector2>` from_b, :ref:`Vector2<class_Vector2>` dir_b **)**
@@ -152,6 +279,36 @@ Checks if the two lines (``from_a``, ``dir_a``) and (``from_b``, ``dir_b``) inte
 
 Given an array of :ref:`Vector2<class_Vector2>`\ s representing tiles, builds an atlas. The returned dictionary has two keys: ``points`` is a vector of :ref:`Vector2<class_Vector2>` that specifies the positions of each tile, ``size`` contains the overall size of the whole atlas as :ref:`Vector2<class_Vector2>`.
 
+.. _class_Geometry_method_merge_polygons_2d:
+
+- :ref:`Array<class_Array>` **merge_polygons_2d** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_a, :ref:`PoolVector2Array<class_PoolVector2Array>` polygon_b **)**
+
+Merges (combines) ``polygon_a`` and ``polygon_b`` and returns an array of merged polygons. This performs ``OPERATION_UNION`` between polygons.
+
+The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling :ref:`is_polygon_clockwise<class_Geometry_method_is_polygon_clockwise>`.
+
+.. _class_Geometry_method_offset_polygon_2d:
+
+- :ref:`Array<class_Array>` **offset_polygon_2d** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polygon, :ref:`float<class_float>` delta, :ref:`PolyJoinType<enum_Geometry_PolyJoinType>` join_type=0 **)**
+
+Inflates or deflates ``polygon`` by ``delta`` units (pixels). If ``delta`` is positive, makes the polygon grow outward. If ``delta`` is negative, shrinks the polygon inward. Returns an array of polygons because inflating/deflating may result in multiple discrete polygons. Returns an empty array if ``delta`` is negative and the absolute value of it approximately exceeds the minimum bounding rectangle dimensions of the polygon.
+
+Each polygon's vertices will be rounded as determined by ``join_type``, see :ref:`PolyJoinType<enum_Geometry_PolyJoinType>`.
+
+The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling :ref:`is_polygon_clockwise<class_Geometry_method_is_polygon_clockwise>`.
+
+.. _class_Geometry_method_offset_polyline_2d:
+
+- :ref:`Array<class_Array>` **offset_polyline_2d** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polyline, :ref:`float<class_float>` delta, :ref:`PolyJoinType<enum_Geometry_PolyJoinType>` join_type=0, :ref:`PolyEndType<enum_Geometry_PolyEndType>` end_type=3 **)**
+
+Inflates or deflates ``polyline`` by ``delta`` units (pixels), producing polygons. If ``delta`` is positive, makes the polyline grow outward. Returns an array of polygons because inflating/deflating may result in multiple discrete polygons. If ``delta`` is negative, returns an empty array.
+
+Each polygon's vertices will be rounded as determined by ``join_type``, see :ref:`PolyJoinType<enum_Geometry_PolyJoinType>`.
+
+Each polygon's endpoints will be rounded as determined by ``end_type``, see :ref:`PolyEndType<enum_Geometry_PolyEndType>`.
+
+The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling :ref:`is_polygon_clockwise<class_Geometry_method_is_polygon_clockwise>`.
+
 .. _class_Geometry_method_point_is_inside_triangle:
 
 - :ref:`bool<class_bool>` **point_is_inside_triangle** **(** :ref:`Vector2<class_Vector2>` point, :ref:`Vector2<class_Vector2>` a, :ref:`Vector2<class_Vector2>` b, :ref:`Vector2<class_Vector2>` c **)** const
@@ -200,6 +357,20 @@ Checks if the segment (``from``, ``to``) intersects the sphere that is located a
 
 Tests if the segment (``from``, ``to``) intersects the triangle ``a``, ``b``, ``c``. If yes, returns the point of intersection as :ref:`Vector3<class_Vector3>`. If no intersection takes place, an empty :ref:`Variant<class_Variant>` is returned.
 
+.. _class_Geometry_method_transform_points_2d:
+
+- :ref:`PoolVector2Array<class_PoolVector2Array>` **transform_points_2d** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` points, :ref:`Transform2D<class_Transform2D>` transform **)**
+
+Transforms an array of points by ``transform`` and returns the result. 
+
+Can be useful in conjuction with performing polygon boolean operations in CSG manner, see :ref:`merge_polygons_2d<class_Geometry_method_merge_polygons_2d>`, :ref:`clip_polygons_2d<class_Geometry_method_clip_polygons_2d>`, :ref:`intersect_polygons_2d<class_Geometry_method_intersect_polygons_2d>`, :ref:`exclude_polygons_2d<class_Geometry_method_exclude_polygons_2d>`.
+
+.. _class_Geometry_method_triangulate_delaunay_2d:
+
+- :ref:`PoolIntArray<class_PoolIntArray>` **triangulate_delaunay_2d** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` points **)**
+
+Triangulates the area specified by discrete set of ``points`` such that no point is inside the circumcircle of any resulting triangle. Returns a :ref:`PoolIntArray<class_PoolIntArray>` where each triangle consists of three consecutive point indices into ``points`` (i.e. the returned array will have ``n * 3`` elements, with ``n`` being the number of found triangles). If the triangulation did not succeed, an empty :ref:`PoolIntArray<class_PoolIntArray>` is returned.
+
 .. _class_Geometry_method_triangulate_polygon:
 
 - :ref:`PoolIntArray<class_PoolIntArray>` **triangulate_polygon** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` polygon **)**

+ 2 - 2
classes/class_graphedit.rst

@@ -267,7 +267,7 @@ Remove the connection between 'from_port' slot of 'from' GraphNode and 'to_port'
 
 - :ref:`Array<class_Array>` **get_connection_list** **(** **)** const
 
-Return an Array containing the list of connections. A connection consists in a structure of the form {from_port: 0, from: "GraphNode name 0", to_port: 1, to: "GraphNode name 1" }
+Returns an Array containing the list of connections. A connection consists in a structure of the form {from_port: 0, from: "GraphNode name 0", to_port: 1, to: "GraphNode name 1" }
 
 .. _class_GraphEdit_method_get_zoom_hbox:
 
@@ -277,7 +277,7 @@ Return an Array containing the list of connections. A connection consists in a s
 
 - :ref:`bool<class_bool>` **is_node_connected** **(** :ref:`String<class_String>` from, :ref:`int<class_int>` from_port, :ref:`String<class_String>` to, :ref:`int<class_int>` to_port **)**
 
-Return ``true`` if the 'from_port' slot of 'from' GraphNode is connected to the 'to_port' slot of 'to' GraphNode.
+Returns ``true`` if the 'from_port' slot of 'from' GraphNode is connected to the 'to_port' slot of 'to' GraphNode.
 
 .. _class_GraphEdit_method_is_valid_connection_type:
 

+ 14 - 14
classes/class_graphnode.rst

@@ -264,85 +264,85 @@ Disable input and output slot whose index is 'idx'.
 
 - :ref:`Color<class_Color>` **get_connection_input_color** **(** :ref:`int<class_int>` idx **)**
 
-Return the color of the input connection 'idx'.
+Returns the color of the input connection 'idx'.
 
 .. _class_GraphNode_method_get_connection_input_count:
 
 - :ref:`int<class_int>` **get_connection_input_count** **(** **)**
 
-Return the number of enabled input slots (connections) to the GraphNode.
+Returns the number of enabled input slots (connections) to the GraphNode.
 
 .. _class_GraphNode_method_get_connection_input_position:
 
 - :ref:`Vector2<class_Vector2>` **get_connection_input_position** **(** :ref:`int<class_int>` idx **)**
 
-Return the position of the input connection 'idx'.
+Returns the position of the input connection 'idx'.
 
 .. _class_GraphNode_method_get_connection_input_type:
 
 - :ref:`int<class_int>` **get_connection_input_type** **(** :ref:`int<class_int>` idx **)**
 
-Return the type of the input connection 'idx'.
+Returns the type of the input connection 'idx'.
 
 .. _class_GraphNode_method_get_connection_output_color:
 
 - :ref:`Color<class_Color>` **get_connection_output_color** **(** :ref:`int<class_int>` idx **)**
 
-Return the color of the output connection 'idx'.
+Returns the color of the output connection 'idx'.
 
 .. _class_GraphNode_method_get_connection_output_count:
 
 - :ref:`int<class_int>` **get_connection_output_count** **(** **)**
 
-Return the number of enabled output slots (connections) of the GraphNode.
+Returns the number of enabled output slots (connections) of the GraphNode.
 
 .. _class_GraphNode_method_get_connection_output_position:
 
 - :ref:`Vector2<class_Vector2>` **get_connection_output_position** **(** :ref:`int<class_int>` idx **)**
 
-Return the position of the output connection 'idx'.
+Returns the position of the output connection 'idx'.
 
 .. _class_GraphNode_method_get_connection_output_type:
 
 - :ref:`int<class_int>` **get_connection_output_type** **(** :ref:`int<class_int>` idx **)**
 
-Return the type of the output connection 'idx'.
+Returns the type of the output connection 'idx'.
 
 .. _class_GraphNode_method_get_slot_color_left:
 
 - :ref:`Color<class_Color>` **get_slot_color_left** **(** :ref:`int<class_int>` idx **)** const
 
-Return the color set to 'idx' left (input) slot.
+Returns the color set to 'idx' left (input) slot.
 
 .. _class_GraphNode_method_get_slot_color_right:
 
 - :ref:`Color<class_Color>` **get_slot_color_right** **(** :ref:`int<class_int>` idx **)** const
 
-Return the color set to 'idx' right (output) slot.
+Returns the color set to 'idx' right (output) slot.
 
 .. _class_GraphNode_method_get_slot_type_left:
 
 - :ref:`int<class_int>` **get_slot_type_left** **(** :ref:`int<class_int>` idx **)** const
 
-Return the (integer) type of left (input) 'idx' slot.
+Returns the (integer) type of left (input) 'idx' slot.
 
 .. _class_GraphNode_method_get_slot_type_right:
 
 - :ref:`int<class_int>` **get_slot_type_right** **(** :ref:`int<class_int>` idx **)** const
 
-Return the (integer) type of right (output) 'idx' slot.
+Returns the (integer) type of right (output) 'idx' slot.
 
 .. _class_GraphNode_method_is_slot_enabled_left:
 
 - :ref:`bool<class_bool>` **is_slot_enabled_left** **(** :ref:`int<class_int>` idx **)** const
 
-Return ``true`` if left (input) slot 'idx' is enabled, ``false`` otherwise.
+Returns ``true`` if left (input) slot 'idx' is enabled, ``false`` otherwise.
 
 .. _class_GraphNode_method_is_slot_enabled_right:
 
 - :ref:`bool<class_bool>` **is_slot_enabled_right** **(** :ref:`int<class_int>` idx **)** const
 
-Return ``true`` if right (output) slot 'idx' is enabled, ``false`` otherwise.
+Returns ``true`` if right (output) slot 'idx' is enabled, ``false`` otherwise.
 
 .. _class_GraphNode_method_set_slot:
 

+ 1 - 1
classes/class_imagetexture.rst

@@ -114,7 +114,7 @@ Create a new ``ImageTexture`` from an :ref:`Image<class_Image>` with ``flags`` f
 
 - :ref:`Format<enum_Image_Format>` **get_format** **(** **)** const
 
-Return the format of the ``ImageTexture``, one of :ref:`Format<enum_Image_Format>`.
+Returns the format of the ``ImageTexture``, one of :ref:`Format<enum_Image_Format>`.
 
 .. _class_ImageTexture_method_load:
 

+ 1 - 1
classes/class_input.rst

@@ -350,7 +350,7 @@ Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at the
 
 - :ref:`MouseMode<enum_Input_MouseMode>` **get_mouse_mode** **(** **)** const
 
-Return the mouse mode. See the constants for more information.
+Returns the mouse mode. See the constants for more information.
 
 .. _class_Input_method_is_action_just_pressed:
 

+ 3 - 3
classes/class_itemlist.rst

@@ -396,7 +396,7 @@ Given a position within the control return the item (if any) at that point.
 
 - :ref:`int<class_int>` **get_item_count** **(** **)** const
 
-Return count of items currently in the item list.
+Returns count of items currently in the item list.
 
 .. _class_ItemList_method_get_item_custom_bg_color:
 
@@ -428,13 +428,13 @@ Returns a :ref:`Color<class_Color>` modulating item's icon at the specified inde
 
 - :ref:`String<class_String>` **get_item_text** **(** :ref:`int<class_int>` idx **)** const
 
-Return the text for specified item index.
+Returns the text for specified item index.
 
 .. _class_ItemList_method_get_item_tooltip:
 
 - :ref:`String<class_String>` **get_item_tooltip** **(** :ref:`int<class_int>` idx **)** const
 
-Return tooltip hint for specified item index.
+Returns tooltip hint for specified item index.
 
 .. _class_ItemList_method_get_selected_items:
 

+ 6 - 6
classes/class_marshalls.rst

@@ -45,19 +45,19 @@ Method Descriptions
 
 - :ref:`PoolByteArray<class_PoolByteArray>` **base64_to_raw** **(** :ref:`String<class_String>` base64_str **)**
 
-Return :ref:`PoolByteArray<class_PoolByteArray>` of a given base64 encoded String.
+Returns :ref:`PoolByteArray<class_PoolByteArray>` of a given base64 encoded String.
 
 .. _class_Marshalls_method_base64_to_utf8:
 
 - :ref:`String<class_String>` **base64_to_utf8** **(** :ref:`String<class_String>` base64_str **)**
 
-Return utf8 String of a given base64 encoded String.
+Returns utf8 String of a given base64 encoded String.
 
 .. _class_Marshalls_method_base64_to_variant:
 
 - :ref:`Variant<class_Variant>` **base64_to_variant** **(** :ref:`String<class_String>` base64_str, :ref:`bool<class_bool>` allow_objects=false **)**
 
-Return :ref:`Variant<class_Variant>` of a given base64 encoded String. When ``allow_objects`` is ``true`` decoding objects is allowed.
+Returns :ref:`Variant<class_Variant>` of a given base64 encoded String. When ``allow_objects`` is ``true`` decoding objects is allowed.
 
 **WARNING:** Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
 
@@ -65,17 +65,17 @@ Return :ref:`Variant<class_Variant>` of a given base64 encoded String. When ``al
 
 - :ref:`String<class_String>` **raw_to_base64** **(** :ref:`PoolByteArray<class_PoolByteArray>` array **)**
 
-Return base64 encoded String of a given :ref:`PoolByteArray<class_PoolByteArray>`.
+Returns base64 encoded String of a given :ref:`PoolByteArray<class_PoolByteArray>`.
 
 .. _class_Marshalls_method_utf8_to_base64:
 
 - :ref:`String<class_String>` **utf8_to_base64** **(** :ref:`String<class_String>` utf8_str **)**
 
-Return base64 encoded String of a given utf8 String.
+Returns base64 encoded String of a given utf8 String.
 
 .. _class_Marshalls_method_variant_to_base64:
 
 - :ref:`String<class_String>` **variant_to_base64** **(** :ref:`Variant<class_Variant>` variant, :ref:`bool<class_bool>` full_objects=false **)**
 
-Return base64 encoded String of a given :ref:`Variant<class_Variant>`. When ``full_objects`` is ``true`` encoding objects is allowed (and can potentially include code).
+Returns base64 encoded String of a given :ref:`Variant<class_Variant>`. When ``full_objects`` is ``true`` encoding objects is allowed (and can potentially include code).
 

+ 1 - 1
classes/class_menubutton.rst

@@ -95,7 +95,7 @@ Method Descriptions
 
 - :ref:`PopupMenu<class_PopupMenu>` **get_popup** **(** **)** const
 
-Return the :ref:`PopupMenu<class_PopupMenu>` contained in this button.
+Returns the :ref:`PopupMenu<class_PopupMenu>` contained in this button.
 
 .. _class_MenuButton_method_set_disable_shortcuts:
 

+ 2 - 2
classes/class_mesh.rst

@@ -286,7 +286,7 @@ Returns all the vertices that make up the faces of the mesh. Each three vertices
 
 - :ref:`int<class_int>` **get_surface_count** **(** **)** const
 
-Return the amount of surfaces that the ``Mesh`` holds.
+Returns the amount of surfaces that the ``Mesh`` holds.
 
 .. _class_Mesh_method_surface_get_arrays:
 
@@ -304,5 +304,5 @@ Returns the blend shape arrays for the requested surface.
 
 - :ref:`Material<class_Material>` **surface_get_material** **(** :ref:`int<class_int>` surf_idx **)** const
 
-Return a :ref:`Material<class_Material>` in a given surface. Surface is rendered using this material.
+Returns a :ref:`Material<class_Material>` in a given surface. Surface is rendered using this material.
 

+ 3 - 3
classes/class_meshlibrary.rst

@@ -85,19 +85,19 @@ Create a new item in the library, supplied an id.
 
 - :ref:`PoolIntArray<class_PoolIntArray>` **get_item_list** **(** **)** const
 
-Return the list of items.
+Returns the list of items.
 
 .. _class_MeshLibrary_method_get_item_mesh:
 
 - :ref:`Mesh<class_Mesh>` **get_item_mesh** **(** :ref:`int<class_int>` id **)** const
 
-Return the mesh of the item.
+Returns the mesh of the item.
 
 .. _class_MeshLibrary_method_get_item_name:
 
 - :ref:`String<class_String>` **get_item_name** **(** :ref:`int<class_int>` id **)** const
 
-Return the name of the item.
+Returns the name of the item.
 
 .. _class_MeshLibrary_method_get_item_navmesh:
 

+ 4 - 4
classes/class_multimesh.rst

@@ -203,7 +203,7 @@ Method Descriptions
 
 - :ref:`AABB<class_AABB>` **get_aabb** **(** **)** const
 
-Return the visibility AABB.
+Returns the visibility AABB.
 
 .. _class_MultiMesh_method_get_instance_color:
 
@@ -215,19 +215,19 @@ Get the color of a specific instance.
 
 - :ref:`Color<class_Color>` **get_instance_custom_data** **(** :ref:`int<class_int>` instance **)** const
 
-Return the custom data that has been set for a specific instance.
+Returns the custom data that has been set for a specific instance.
 
 .. _class_MultiMesh_method_get_instance_transform:
 
 - :ref:`Transform<class_Transform>` **get_instance_transform** **(** :ref:`int<class_int>` instance **)** const
 
-Return the :ref:`Transform<class_Transform>` of a specific instance.
+Returns the :ref:`Transform<class_Transform>` of a specific instance.
 
 .. _class_MultiMesh_method_get_instance_transform_2d:
 
 - :ref:`Transform2D<class_Transform2D>` **get_instance_transform_2d** **(** :ref:`int<class_int>` instance **)** const
 
-Return the :ref:`Transform2D<class_Transform2D>` of a specific instance.
+Returns the :ref:`Transform2D<class_Transform2D>` of a specific instance.
 
 .. _class_MultiMesh_method_set_as_bulk_array:
 

+ 63 - 15
classes/class_navigationmesh.rst

@@ -46,6 +46,10 @@ Properties
 +---------------------------+-------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`   | :ref:`filter/low_hanging_obstacles<class_NavigationMesh_property_filter/low_hanging_obstacles>`                               |
 +---------------------------+-------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`     | :ref:`geometry/collision_mask<class_NavigationMesh_property_geometry/collision_mask>`                                         |
++---------------------------+-------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`     | :ref:`geometry/parsed_geometry_type<class_NavigationMesh_property_geometry/parsed_geometry_type>`                             |
++---------------------------+-------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>` | :ref:`polygon/verts_per_poly<class_NavigationMesh_property_polygon/verts_per_poly>`                                           |
 +---------------------------+-------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>` | :ref:`region/merge_size<class_NavigationMesh_property_region/merge_size>`                                                     |
@@ -58,21 +62,25 @@ Properties
 Methods
 -------
 
-+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| void                                            | :ref:`add_polygon<class_NavigationMesh_method_add_polygon>` **(** :ref:`PoolIntArray<class_PoolIntArray>` polygon **)**            |
-+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| void                                            | :ref:`clear_polygons<class_NavigationMesh_method_clear_polygons>` **(** **)**                                                      |
-+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| void                                            | :ref:`create_from_mesh<class_NavigationMesh_method_create_from_mesh>` **(** :ref:`Mesh<class_Mesh>` mesh **)**                     |
-+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolIntArray<class_PoolIntArray>`         | :ref:`get_polygon<class_NavigationMesh_method_get_polygon>` **(** :ref:`int<class_int>` idx **)**                                  |
-+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                           | :ref:`get_polygon_count<class_NavigationMesh_method_get_polygon_count>` **(** **)** const                                          |
-+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolVector3Array<class_PoolVector3Array>` | :ref:`get_vertices<class_NavigationMesh_method_get_vertices>` **(** **)** const                                                    |
-+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| void                                            | :ref:`set_vertices<class_NavigationMesh_method_set_vertices>` **(** :ref:`PoolVector3Array<class_PoolVector3Array>` vertices **)** |
-+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                            | :ref:`add_polygon<class_NavigationMesh_method_add_polygon>` **(** :ref:`PoolIntArray<class_PoolIntArray>` polygon **)**                                |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                            | :ref:`clear_polygons<class_NavigationMesh_method_clear_polygons>` **(** **)**                                                                          |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                            | :ref:`create_from_mesh<class_NavigationMesh_method_create_from_mesh>` **(** :ref:`Mesh<class_Mesh>` mesh **)**                                         |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                         | :ref:`get_collision_mask_bit<class_NavigationMesh_method_get_collision_mask_bit>` **(** :ref:`int<class_int>` bit **)** const                          |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolIntArray<class_PoolIntArray>`         | :ref:`get_polygon<class_NavigationMesh_method_get_polygon>` **(** :ref:`int<class_int>` idx **)**                                                      |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                           | :ref:`get_polygon_count<class_NavigationMesh_method_get_polygon_count>` **(** **)** const                                                              |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolVector3Array<class_PoolVector3Array>` | :ref:`get_vertices<class_NavigationMesh_method_get_vertices>` **(** **)** const                                                                        |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                            | :ref:`set_collision_mask_bit<class_NavigationMesh_method_set_collision_mask_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)** |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                            | :ref:`set_vertices<class_NavigationMesh_method_set_vertices>` **(** :ref:`PoolVector3Array<class_PoolVector3Array>` vertices **)**                     |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Constants
 ---------
@@ -83,12 +91,24 @@ Constants
 
 .. _class_NavigationMesh_constant_SAMPLE_PARTITION_LAYERS:
 
+.. _class_NavigationMesh_constant_PARSED_GEOMETRY_MESH_INSTANCES:
+
+.. _class_NavigationMesh_constant_PARSED_GEOMETRY_STATIC_COLLIDERS:
+
+.. _class_NavigationMesh_constant_PARSED_GEOMETRY_BOTH:
+
 - **SAMPLE_PARTITION_WATERSHED** = **0**
 
 - **SAMPLE_PARTITION_MONOTONE** = **1**
 
 - **SAMPLE_PARTITION_LAYERS** = **2**
 
+- **PARSED_GEOMETRY_MESH_INSTANCES** = **0**
+
+- **PARSED_GEOMETRY_STATIC_COLLIDERS** = **1**
+
+- **PARSED_GEOMETRY_BOTH** = **2**
+
 Property Descriptions
 ---------------------
 
@@ -222,6 +242,26 @@ Property Descriptions
 | *Getter* | get_filter_low_hanging_obstacles()      |
 +----------+-----------------------------------------+
 
+.. _class_NavigationMesh_property_geometry/collision_mask:
+
+- :ref:`int<class_int>` **geometry/collision_mask**
+
++----------+---------------------------+
+| *Setter* | set_collision_mask(value) |
++----------+---------------------------+
+| *Getter* | get_collision_mask()      |
++----------+---------------------------+
+
+.. _class_NavigationMesh_property_geometry/parsed_geometry_type:
+
+- :ref:`int<class_int>` **geometry/parsed_geometry_type**
+
++----------+---------------------------------+
+| *Setter* | set_parsed_geometry_type(value) |
++----------+---------------------------------+
+| *Getter* | get_parsed_geometry_type()      |
++----------+---------------------------------+
+
 .. _class_NavigationMesh_property_polygon/verts_per_poly:
 
 - :ref:`float<class_float>` **polygon/verts_per_poly**
@@ -277,6 +317,10 @@ Method Descriptions
 
 - void **create_from_mesh** **(** :ref:`Mesh<class_Mesh>` mesh **)**
 
+.. _class_NavigationMesh_method_get_collision_mask_bit:
+
+- :ref:`bool<class_bool>` **get_collision_mask_bit** **(** :ref:`int<class_int>` bit **)** const
+
 .. _class_NavigationMesh_method_get_polygon:
 
 - :ref:`PoolIntArray<class_PoolIntArray>` **get_polygon** **(** :ref:`int<class_int>` idx **)**
@@ -289,6 +333,10 @@ Method Descriptions
 
 - :ref:`PoolVector3Array<class_PoolVector3Array>` **get_vertices** **(** **)** const
 
+.. _class_NavigationMesh_method_set_collision_mask_bit:
+
+- void **set_collision_mask_bit** **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**
+
 .. _class_NavigationMesh_method_set_vertices:
 
 - void **set_vertices** **(** :ref:`PoolVector3Array<class_PoolVector3Array>` vertices **)**

+ 2 - 2
classes/class_nodepath.rst

@@ -91,11 +91,11 @@ Get the number of resource names in the path.
 
 - :ref:`bool<class_bool>` **is_absolute** **(** **)**
 
-Return ``true`` if the node path is absolute (not relative).
+Returns ``true`` if the node path is absolute (not relative).
 
 .. _class_NodePath_method_is_empty:
 
 - :ref:`bool<class_bool>` **is_empty** **(** **)**
 
-Return ``true`` if the node path is empty.
+Returns ``true`` if the node path is empty.
 

+ 1 - 1
classes/class_object.rst

@@ -7,7 +7,7 @@
 Object
 ======
 
-**Inherited By:** :ref:`ARVRPositionalTracker<class_ARVRPositionalTracker>`, :ref:`ARVRServer<class_ARVRServer>`, :ref:`AudioServer<class_AudioServer>`, :ref:`ClassDB<class_ClassDB>`, :ref:`EditorFileSystemDirectory<class_EditorFileSystemDirectory>`, :ref:`EditorSelection<class_EditorSelection>`, :ref:`Engine<class_Engine>`, :ref:`Geometry<class_Geometry>`, :ref:`GodotSharp<class_GodotSharp>`, :ref:`IP<class_IP>`, :ref:`Input<class_Input>`, :ref:`InputMap<class_InputMap>`, :ref:`JSON<class_JSON>`, :ref:`JavaScript<class_JavaScript>`, :ref:`MainLoop<class_MainLoop>`, :ref:`Node<class_Node>`, :ref:`OS<class_OS>`, :ref:`Performance<class_Performance>`, :ref:`Physics2DDirectBodyState<class_Physics2DDirectBodyState>`, :ref:`Physics2DDirectSpaceState<class_Physics2DDirectSpaceState>`, :ref:`Physics2DServer<class_Physics2DServer>`, :ref:`PhysicsDirectBodyState<class_PhysicsDirectBodyState>`, :ref:`PhysicsDirectSpaceState<class_PhysicsDirectSpaceState>`, :ref:`PhysicsServer<class_PhysicsServer>`, :ref:`ProjectSettings<class_ProjectSettings>`, :ref:`Reference<class_Reference>`, :ref:`ResourceLoader<class_ResourceLoader>`, :ref:`ResourceSaver<class_ResourceSaver>`, :ref:`TranslationServer<class_TranslationServer>`, :ref:`TreeItem<class_TreeItem>`, :ref:`UndoRedo<class_UndoRedo>`, :ref:`VisualScriptEditor<class_VisualScriptEditor>`, :ref:`VisualServer<class_VisualServer>`
+**Inherited By:** :ref:`ARVRPositionalTracker<class_ARVRPositionalTracker>`, :ref:`ARVRServer<class_ARVRServer>`, :ref:`AudioServer<class_AudioServer>`, :ref:`ClassDB<class_ClassDB>`, :ref:`EditorFileSystemDirectory<class_EditorFileSystemDirectory>`, :ref:`EditorNavigationMeshGenerator<class_EditorNavigationMeshGenerator>`, :ref:`EditorSelection<class_EditorSelection>`, :ref:`Engine<class_Engine>`, :ref:`Geometry<class_Geometry>`, :ref:`GodotSharp<class_GodotSharp>`, :ref:`IP<class_IP>`, :ref:`Input<class_Input>`, :ref:`InputMap<class_InputMap>`, :ref:`JSON<class_JSON>`, :ref:`JavaScript<class_JavaScript>`, :ref:`MainLoop<class_MainLoop>`, :ref:`Node<class_Node>`, :ref:`OS<class_OS>`, :ref:`Performance<class_Performance>`, :ref:`Physics2DDirectBodyState<class_Physics2DDirectBodyState>`, :ref:`Physics2DDirectSpaceState<class_Physics2DDirectSpaceState>`, :ref:`Physics2DServer<class_Physics2DServer>`, :ref:`PhysicsDirectBodyState<class_PhysicsDirectBodyState>`, :ref:`PhysicsDirectSpaceState<class_PhysicsDirectSpaceState>`, :ref:`PhysicsServer<class_PhysicsServer>`, :ref:`ProjectSettings<class_ProjectSettings>`, :ref:`Reference<class_Reference>`, :ref:`ResourceLoader<class_ResourceLoader>`, :ref:`ResourceSaver<class_ResourceSaver>`, :ref:`TranslationServer<class_TranslationServer>`, :ref:`TreeItem<class_TreeItem>`, :ref:`UndoRedo<class_UndoRedo>`, :ref:`VisualScriptEditor<class_VisualScriptEditor>`, :ref:`VisualServer<class_VisualServer>`
 
 **Category:** Core
 

+ 6 - 6
classes/class_optionbutton.rst

@@ -163,25 +163,25 @@ Clear all the items in the ``OptionButton``.
 
 - :ref:`int<class_int>` **get_item_count** **(** **)** const
 
-Return the amount of items in the OptionButton.
+Returns the amount of items in the OptionButton.
 
 .. _class_OptionButton_method_get_item_icon:
 
 - :ref:`Texture<class_Texture>` **get_item_icon** **(** :ref:`int<class_int>` idx **)** const
 
-Return the icon of the item at index "idx".
+Returns the icon of the item at index "idx".
 
 .. _class_OptionButton_method_get_item_id:
 
 - :ref:`int<class_int>` **get_item_id** **(** :ref:`int<class_int>` idx **)** const
 
-Return the ID of the item at index ``idx``.
+Returns the ID of the item at index ``idx``.
 
 .. _class_OptionButton_method_get_item_index:
 
 - :ref:`int<class_int>` **get_item_index** **(** :ref:`int<class_int>` id **)** const
 
-Return the index of the item with the given ``id``.
+Returns the index of the item with the given ``id``.
 
 .. _class_OptionButton_method_get_item_metadata:
 
@@ -191,13 +191,13 @@ Return the index of the item with the given ``id``.
 
 - :ref:`String<class_String>` **get_item_text** **(** :ref:`int<class_int>` idx **)** const
 
-Return the text of the item at index "idx".
+Returns the text of the item at index "idx".
 
 .. _class_OptionButton_method_get_popup:
 
 - :ref:`PopupMenu<class_PopupMenu>` **get_popup** **(** **)** const
 
-Return the :ref:`PopupMenu<class_PopupMenu>` contained in this button.
+Returns the :ref:`PopupMenu<class_PopupMenu>` contained in this button.
 
 .. _class_OptionButton_method_get_selected_id:
 

+ 199 - 185
classes/class_os.rst

@@ -54,189 +54,191 @@ Properties
 Methods
 -------
 
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`alert<class_OS_method_alert>` **(** :ref:`String<class_String>` text, :ref:`String<class_String>` title="Alert!" **)**                                                                                                    |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`can_draw<class_OS_method_can_draw>` **(** **)** const                                                                                                                                                                     |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`can_use_threads<class_OS_method_can_use_threads>` **(** **)** const                                                                                                                                                       |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`center_window<class_OS_method_center_window>` **(** **)**                                                                                                                                                                 |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`close_midi_inputs<class_OS_method_close_midi_inputs>` **(** **)**                                                                                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`delay_msec<class_OS_method_delay_msec>` **(** :ref:`int<class_int>` msec **)** const                                                                                                                                      |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`delay_usec<class_OS_method_delay_usec>` **(** :ref:`int<class_int>` usec **)** const                                                                                                                                      |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`dump_memory_to_file<class_OS_method_dump_memory_to_file>` **(** :ref:`String<class_String>` file **)**                                                                                                                    |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`dump_resources_to_file<class_OS_method_dump_resources_to_file>` **(** :ref:`String<class_String>` file **)**                                                                                                              |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`execute<class_OS_method_execute>` **(** :ref:`String<class_String>` path, :ref:`PoolStringArray<class_PoolStringArray>` arguments, :ref:`bool<class_bool>` blocking, :ref:`Array<class_Array>` output=[  ] **)**          |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`find_scancode_from_string<class_OS_method_find_scancode_from_string>` **(** :ref:`String<class_String>` string **)** const                                                                                                |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_audio_driver_count<class_OS_method_get_audio_driver_count>` **(** **)** const                                                                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_audio_driver_name<class_OS_method_get_audio_driver_name>` **(** :ref:`int<class_int>` driver **)** const                                                                                                              |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_cmdline_args<class_OS_method_get_cmdline_args>` **(** **)**                                                                                                                                                           |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_connected_midi_inputs<class_OS_method_get_connected_midi_inputs>` **(** **)**                                                                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`VideoDriver<enum_OS_VideoDriver>`       | :ref:`get_current_video_driver<class_OS_method_get_current_video_driver>` **(** **)** const                                                                                                                                     |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Dictionary<class_Dictionary>`           | :ref:`get_date<class_OS_method_get_date>` **(** :ref:`bool<class_bool>` utc=false **)** const                                                                                                                                   |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Dictionary<class_Dictionary>`           | :ref:`get_datetime<class_OS_method_get_datetime>` **(** :ref:`bool<class_bool>` utc=false **)** const                                                                                                                           |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Dictionary<class_Dictionary>`           | :ref:`get_datetime_from_unix_time<class_OS_method_get_datetime_from_unix_time>` **(** :ref:`int<class_int>` unix_time_val **)** const                                                                                           |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_dynamic_memory_usage<class_OS_method_get_dynamic_memory_usage>` **(** **)** const                                                                                                                                     |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_environment<class_OS_method_get_environment>` **(** :ref:`String<class_String>` environment **)** const                                                                                                               |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_executable_path<class_OS_method_get_executable_path>` **(** **)** const                                                                                                                                               |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`                 | :ref:`get_ime_selection<class_OS_method_get_ime_selection>` **(** **)** const                                                                                                                                                   |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_ime_text<class_OS_method_get_ime_text>` **(** **)** const                                                                                                                                                             |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_latin_keyboard_variant<class_OS_method_get_latin_keyboard_variant>` **(** **)** const                                                                                                                                 |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_locale<class_OS_method_get_locale>` **(** **)** const                                                                                                                                                                 |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_model_name<class_OS_method_get_model_name>` **(** **)** const                                                                                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_name<class_OS_method_get_name>` **(** **)** const                                                                                                                                                                     |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_power_percent_left<class_OS_method_get_power_percent_left>` **(** **)**                                                                                                                                               |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_power_seconds_left<class_OS_method_get_power_seconds_left>` **(** **)**                                                                                                                                               |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PowerState<enum_OS_PowerState>`         | :ref:`get_power_state<class_OS_method_get_power_state>` **(** **)**                                                                                                                                                             |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_process_id<class_OS_method_get_process_id>` **(** **)** const                                                                                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_processor_count<class_OS_method_get_processor_count>` **(** **)** const                                                                                                                                               |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`                 | :ref:`get_real_window_size<class_OS_method_get_real_window_size>` **(** **)** const                                                                                                                                             |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_scancode_string<class_OS_method_get_scancode_string>` **(** :ref:`int<class_int>` code **)** const                                                                                                                    |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_screen_count<class_OS_method_get_screen_count>` **(** **)** const                                                                                                                                                     |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_screen_dpi<class_OS_method_get_screen_dpi>` **(** :ref:`int<class_int>` screen=-1 **)** const                                                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`                 | :ref:`get_screen_position<class_OS_method_get_screen_position>` **(** :ref:`int<class_int>` screen=-1 **)** const                                                                                                               |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`                 | :ref:`get_screen_size<class_OS_method_get_screen_size>` **(** :ref:`int<class_int>` screen=-1 **)** const                                                                                                                       |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_splash_tick_msec<class_OS_method_get_splash_tick_msec>` **(** **)** const                                                                                                                                             |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_static_memory_peak_usage<class_OS_method_get_static_memory_peak_usage>` **(** **)** const                                                                                                                             |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_static_memory_usage<class_OS_method_get_static_memory_usage>` **(** **)** const                                                                                                                                       |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_system_dir<class_OS_method_get_system_dir>` **(** :ref:`SystemDir<enum_OS_SystemDir>` dir **)** const                                                                                                                 |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_system_time_msecs<class_OS_method_get_system_time_msecs>` **(** **)** const                                                                                                                                           |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_system_time_secs<class_OS_method_get_system_time_secs>` **(** **)** const                                                                                                                                             |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_ticks_msec<class_OS_method_get_ticks_msec>` **(** **)** const                                                                                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_ticks_usec<class_OS_method_get_ticks_usec>` **(** **)** const                                                                                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Dictionary<class_Dictionary>`           | :ref:`get_time<class_OS_method_get_time>` **(** :ref:`bool<class_bool>` utc=false **)** const                                                                                                                                   |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Dictionary<class_Dictionary>`           | :ref:`get_time_zone_info<class_OS_method_get_time_zone_info>` **(** **)** const                                                                                                                                                 |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_unique_id<class_OS_method_get_unique_id>` **(** **)** const                                                                                                                                                           |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_unix_time<class_OS_method_get_unix_time>` **(** **)** const                                                                                                                                                           |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_unix_time_from_datetime<class_OS_method_get_unix_time_from_datetime>` **(** :ref:`Dictionary<class_Dictionary>` datetime **)** const                                                                                  |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_user_data_dir<class_OS_method_get_user_data_dir>` **(** **)** const                                                                                                                                                   |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_video_driver_count<class_OS_method_get_video_driver_count>` **(** **)** const                                                                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_video_driver_name<class_OS_method_get_video_driver_name>` **(** :ref:`VideoDriver<enum_OS_VideoDriver>` driver **)** const                                                                                            |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_virtual_keyboard_height<class_OS_method_get_virtual_keyboard_height>` **(** **)**                                                                                                                                     |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Rect2<class_Rect2>`                     | :ref:`get_window_safe_area<class_OS_method_get_window_safe_area>` **(** **)** const                                                                                                                                             |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`has_environment<class_OS_method_has_environment>` **(** :ref:`String<class_String>` environment **)** const                                                                                                               |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`has_feature<class_OS_method_has_feature>` **(** :ref:`String<class_String>` tag_name **)** const                                                                                                                          |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`has_touchscreen_ui_hint<class_OS_method_has_touchscreen_ui_hint>` **(** **)** const                                                                                                                                       |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`has_virtual_keyboard<class_OS_method_has_virtual_keyboard>` **(** **)** const                                                                                                                                             |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`hide_virtual_keyboard<class_OS_method_hide_virtual_keyboard>` **(** **)**                                                                                                                                                 |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`is_debug_build<class_OS_method_is_debug_build>` **(** **)** const                                                                                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`is_ok_left_and_cancel_right<class_OS_method_is_ok_left_and_cancel_right>` **(** **)** const                                                                                                                               |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`is_scancode_unicode<class_OS_method_is_scancode_unicode>` **(** :ref:`int<class_int>` code **)** const                                                                                                                    |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`is_stdout_verbose<class_OS_method_is_stdout_verbose>` **(** **)** const                                                                                                                                                   |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`is_userfs_persistent<class_OS_method_is_userfs_persistent>` **(** **)** const                                                                                                                                             |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`is_window_always_on_top<class_OS_method_is_window_always_on_top>` **(** **)** const                                                                                                                                       |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`kill<class_OS_method_kill>` **(** :ref:`int<class_int>` pid **)**                                                                                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`move_window_to_foreground<class_OS_method_move_window_to_foreground>` **(** **)**                                                                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`native_video_is_playing<class_OS_method_native_video_is_playing>` **(** **)**                                                                                                                                             |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`native_video_pause<class_OS_method_native_video_pause>` **(** **)**                                                                                                                                                       |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`native_video_play<class_OS_method_native_video_play>` **(** :ref:`String<class_String>` path, :ref:`float<class_float>` volume, :ref:`String<class_String>` audio_track, :ref:`String<class_String>` subtitle_track **)** |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`native_video_stop<class_OS_method_native_video_stop>` **(** **)**                                                                                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`native_video_unpause<class_OS_method_native_video_unpause>` **(** **)**                                                                                                                                                   |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`open_midi_inputs<class_OS_method_open_midi_inputs>` **(** **)**                                                                                                                                                           |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`print_all_resources<class_OS_method_print_all_resources>` **(** :ref:`String<class_String>` tofile="" **)**                                                                                                               |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`print_all_textures_by_size<class_OS_method_print_all_textures_by_size>` **(** **)**                                                                                                                                       |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`print_resources_by_type<class_OS_method_print_resources_by_type>` **(** :ref:`PoolStringArray<class_PoolStringArray>` types **)**                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`print_resources_in_use<class_OS_method_print_resources_in_use>` **(** :ref:`bool<class_bool>` short=false **)**                                                                                                           |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`request_attention<class_OS_method_request_attention>` **(** **)**                                                                                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`request_permission<class_OS_method_request_permission>` **(** :ref:`String<class_String>` name **)**                                                                                                                      |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`set_icon<class_OS_method_set_icon>` **(** :ref:`Image<class_Image>` icon **)**                                                                                                                                            |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`set_ime_active<class_OS_method_set_ime_active>` **(** :ref:`bool<class_bool>` active **)**                                                                                                                                |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`set_ime_position<class_OS_method_set_ime_position>` **(** :ref:`Vector2<class_Vector2>` position **)**                                                                                                                    |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`set_thread_name<class_OS_method_set_thread_name>` **(** :ref:`String<class_String>` name **)**                                                                                                                            |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`set_use_file_access_save_and_swap<class_OS_method_set_use_file_access_save_and_swap>` **(** :ref:`bool<class_bool>` enabled **)**                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`set_window_always_on_top<class_OS_method_set_window_always_on_top>` **(** :ref:`bool<class_bool>` enabled **)**                                                                                                           |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`set_window_title<class_OS_method_set_window_title>` **(** :ref:`String<class_String>` title **)**                                                                                                                         |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`shell_open<class_OS_method_shell_open>` **(** :ref:`String<class_String>` uri **)**                                                                                                                                       |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`show_virtual_keyboard<class_OS_method_show_virtual_keyboard>` **(** :ref:`String<class_String>` existing_text="" **)**                                                                                                    |
-+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`alert<class_OS_method_alert>` **(** :ref:`String<class_String>` text, :ref:`String<class_String>` title="Alert!" **)**                                                                                                                                      |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`can_draw<class_OS_method_can_draw>` **(** **)** const                                                                                                                                                                                                       |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`can_use_threads<class_OS_method_can_use_threads>` **(** **)** const                                                                                                                                                                                         |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`center_window<class_OS_method_center_window>` **(** **)**                                                                                                                                                                                                   |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`close_midi_inputs<class_OS_method_close_midi_inputs>` **(** **)**                                                                                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`delay_msec<class_OS_method_delay_msec>` **(** :ref:`int<class_int>` msec **)** const                                                                                                                                                                        |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`delay_usec<class_OS_method_delay_usec>` **(** :ref:`int<class_int>` usec **)** const                                                                                                                                                                        |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`dump_memory_to_file<class_OS_method_dump_memory_to_file>` **(** :ref:`String<class_String>` file **)**                                                                                                                                                      |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`dump_resources_to_file<class_OS_method_dump_resources_to_file>` **(** :ref:`String<class_String>` file **)**                                                                                                                                                |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`execute<class_OS_method_execute>` **(** :ref:`String<class_String>` path, :ref:`PoolStringArray<class_PoolStringArray>` arguments, :ref:`bool<class_bool>` blocking, :ref:`Array<class_Array>` output=[  ], :ref:`bool<class_bool>` read_stderr=false **)** |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`find_scancode_from_string<class_OS_method_find_scancode_from_string>` **(** :ref:`String<class_String>` string **)** const                                                                                                                                  |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_audio_driver_count<class_OS_method_get_audio_driver_count>` **(** **)** const                                                                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_audio_driver_name<class_OS_method_get_audio_driver_name>` **(** :ref:`int<class_int>` driver **)** const                                                                                                                                                |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_cmdline_args<class_OS_method_get_cmdline_args>` **(** **)**                                                                                                                                                                                             |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_connected_midi_inputs<class_OS_method_get_connected_midi_inputs>` **(** **)**                                                                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`VideoDriver<enum_OS_VideoDriver>`       | :ref:`get_current_video_driver<class_OS_method_get_current_video_driver>` **(** **)** const                                                                                                                                                                       |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_Dictionary>`           | :ref:`get_date<class_OS_method_get_date>` **(** :ref:`bool<class_bool>` utc=false **)** const                                                                                                                                                                     |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_Dictionary>`           | :ref:`get_datetime<class_OS_method_get_datetime>` **(** :ref:`bool<class_bool>` utc=false **)** const                                                                                                                                                             |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_Dictionary>`           | :ref:`get_datetime_from_unix_time<class_OS_method_get_datetime_from_unix_time>` **(** :ref:`int<class_int>` unix_time_val **)** const                                                                                                                             |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_dynamic_memory_usage<class_OS_method_get_dynamic_memory_usage>` **(** **)** const                                                                                                                                                                       |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_environment<class_OS_method_get_environment>` **(** :ref:`String<class_String>` environment **)** const                                                                                                                                                 |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_executable_path<class_OS_method_get_executable_path>` **(** **)** const                                                                                                                                                                                 |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`                 | :ref:`get_ime_selection<class_OS_method_get_ime_selection>` **(** **)** const                                                                                                                                                                                     |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_ime_text<class_OS_method_get_ime_text>` **(** **)** const                                                                                                                                                                                               |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_latin_keyboard_variant<class_OS_method_get_latin_keyboard_variant>` **(** **)** const                                                                                                                                                                   |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_locale<class_OS_method_get_locale>` **(** **)** const                                                                                                                                                                                                   |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_model_name<class_OS_method_get_model_name>` **(** **)** const                                                                                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_name<class_OS_method_get_name>` **(** **)** const                                                                                                                                                                                                       |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_power_percent_left<class_OS_method_get_power_percent_left>` **(** **)**                                                                                                                                                                                 |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_power_seconds_left<class_OS_method_get_power_seconds_left>` **(** **)**                                                                                                                                                                                 |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PowerState<enum_OS_PowerState>`         | :ref:`get_power_state<class_OS_method_get_power_state>` **(** **)**                                                                                                                                                                                               |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_process_id<class_OS_method_get_process_id>` **(** **)** const                                                                                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_processor_count<class_OS_method_get_processor_count>` **(** **)** const                                                                                                                                                                                 |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`                 | :ref:`get_real_window_size<class_OS_method_get_real_window_size>` **(** **)** const                                                                                                                                                                               |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_scancode_string<class_OS_method_get_scancode_string>` **(** :ref:`int<class_int>` code **)** const                                                                                                                                                      |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_screen_count<class_OS_method_get_screen_count>` **(** **)** const                                                                                                                                                                                       |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_screen_dpi<class_OS_method_get_screen_dpi>` **(** :ref:`int<class_int>` screen=-1 **)** const                                                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`                 | :ref:`get_screen_position<class_OS_method_get_screen_position>` **(** :ref:`int<class_int>` screen=-1 **)** const                                                                                                                                                 |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`                 | :ref:`get_screen_size<class_OS_method_get_screen_size>` **(** :ref:`int<class_int>` screen=-1 **)** const                                                                                                                                                         |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_splash_tick_msec<class_OS_method_get_splash_tick_msec>` **(** **)** const                                                                                                                                                                               |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_static_memory_peak_usage<class_OS_method_get_static_memory_peak_usage>` **(** **)** const                                                                                                                                                               |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_static_memory_usage<class_OS_method_get_static_memory_usage>` **(** **)** const                                                                                                                                                                         |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_system_dir<class_OS_method_get_system_dir>` **(** :ref:`SystemDir<enum_OS_SystemDir>` dir **)** const                                                                                                                                                   |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_system_time_msecs<class_OS_method_get_system_time_msecs>` **(** **)** const                                                                                                                                                                             |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_system_time_secs<class_OS_method_get_system_time_secs>` **(** **)** const                                                                                                                                                                               |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_ticks_msec<class_OS_method_get_ticks_msec>` **(** **)** const                                                                                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_ticks_usec<class_OS_method_get_ticks_usec>` **(** **)** const                                                                                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_Dictionary>`           | :ref:`get_time<class_OS_method_get_time>` **(** :ref:`bool<class_bool>` utc=false **)** const                                                                                                                                                                     |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_Dictionary>`           | :ref:`get_time_zone_info<class_OS_method_get_time_zone_info>` **(** **)** const                                                                                                                                                                                   |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_unique_id<class_OS_method_get_unique_id>` **(** **)** const                                                                                                                                                                                             |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_unix_time<class_OS_method_get_unix_time>` **(** **)** const                                                                                                                                                                                             |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_unix_time_from_datetime<class_OS_method_get_unix_time_from_datetime>` **(** :ref:`Dictionary<class_Dictionary>` datetime **)** const                                                                                                                    |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_user_data_dir<class_OS_method_get_user_data_dir>` **(** **)** const                                                                                                                                                                                     |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_video_driver_count<class_OS_method_get_video_driver_count>` **(** **)** const                                                                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_video_driver_name<class_OS_method_get_video_driver_name>` **(** :ref:`VideoDriver<enum_OS_VideoDriver>` driver **)** const                                                                                                                              |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_virtual_keyboard_height<class_OS_method_get_virtual_keyboard_height>` **(** **)**                                                                                                                                                                       |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Rect2<class_Rect2>`                     | :ref:`get_window_safe_area<class_OS_method_get_window_safe_area>` **(** **)** const                                                                                                                                                                               |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`has_environment<class_OS_method_has_environment>` **(** :ref:`String<class_String>` environment **)** const                                                                                                                                                 |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`has_feature<class_OS_method_has_feature>` **(** :ref:`String<class_String>` tag_name **)** const                                                                                                                                                            |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`has_touchscreen_ui_hint<class_OS_method_has_touchscreen_ui_hint>` **(** **)** const                                                                                                                                                                         |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`has_virtual_keyboard<class_OS_method_has_virtual_keyboard>` **(** **)** const                                                                                                                                                                               |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`hide_virtual_keyboard<class_OS_method_hide_virtual_keyboard>` **(** **)**                                                                                                                                                                                   |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`is_debug_build<class_OS_method_is_debug_build>` **(** **)** const                                                                                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`is_ok_left_and_cancel_right<class_OS_method_is_ok_left_and_cancel_right>` **(** **)** const                                                                                                                                                                 |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`is_scancode_unicode<class_OS_method_is_scancode_unicode>` **(** :ref:`int<class_int>` code **)** const                                                                                                                                                      |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`is_stdout_verbose<class_OS_method_is_stdout_verbose>` **(** **)** const                                                                                                                                                                                     |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`is_userfs_persistent<class_OS_method_is_userfs_persistent>` **(** **)** const                                                                                                                                                                               |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`is_window_always_on_top<class_OS_method_is_window_always_on_top>` **(** **)** const                                                                                                                                                                         |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`kill<class_OS_method_kill>` **(** :ref:`int<class_int>` pid **)**                                                                                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`move_window_to_foreground<class_OS_method_move_window_to_foreground>` **(** **)**                                                                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`native_video_is_playing<class_OS_method_native_video_is_playing>` **(** **)**                                                                                                                                                                               |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`native_video_pause<class_OS_method_native_video_pause>` **(** **)**                                                                                                                                                                                         |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`native_video_play<class_OS_method_native_video_play>` **(** :ref:`String<class_String>` path, :ref:`float<class_float>` volume, :ref:`String<class_String>` audio_track, :ref:`String<class_String>` subtitle_track **)**                                   |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`native_video_stop<class_OS_method_native_video_stop>` **(** **)**                                                                                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`native_video_unpause<class_OS_method_native_video_unpause>` **(** **)**                                                                                                                                                                                     |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`open_midi_inputs<class_OS_method_open_midi_inputs>` **(** **)**                                                                                                                                                                                             |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`print_all_resources<class_OS_method_print_all_resources>` **(** :ref:`String<class_String>` tofile="" **)**                                                                                                                                                 |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`print_all_textures_by_size<class_OS_method_print_all_textures_by_size>` **(** **)**                                                                                                                                                                         |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`print_resources_by_type<class_OS_method_print_resources_by_type>` **(** :ref:`PoolStringArray<class_PoolStringArray>` types **)**                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`print_resources_in_use<class_OS_method_print_resources_in_use>` **(** :ref:`bool<class_bool>` short=false **)**                                                                                                                                             |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`request_attention<class_OS_method_request_attention>` **(** **)**                                                                                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`request_permission<class_OS_method_request_permission>` **(** :ref:`String<class_String>` name **)**                                                                                                                                                        |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`set_icon<class_OS_method_set_icon>` **(** :ref:`Image<class_Image>` icon **)**                                                                                                                                                                              |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`set_ime_active<class_OS_method_set_ime_active>` **(** :ref:`bool<class_bool>` active **)**                                                                                                                                                                  |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`set_ime_position<class_OS_method_set_ime_position>` **(** :ref:`Vector2<class_Vector2>` position **)**                                                                                                                                                      |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`set_native_icon<class_OS_method_set_native_icon>` **(** :ref:`String<class_String>` filename **)**                                                                                                                                                          |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`set_thread_name<class_OS_method_set_thread_name>` **(** :ref:`String<class_String>` name **)**                                                                                                                                                              |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`set_use_file_access_save_and_swap<class_OS_method_set_use_file_access_save_and_swap>` **(** :ref:`bool<class_bool>` enabled **)**                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`set_window_always_on_top<class_OS_method_set_window_always_on_top>` **(** :ref:`bool<class_bool>` enabled **)**                                                                                                                                             |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`set_window_title<class_OS_method_set_window_title>` **(** :ref:`String<class_String>` title **)**                                                                                                                                                           |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`shell_open<class_OS_method_shell_open>` **(** :ref:`String<class_String>` uri **)**                                                                                                                                                                         |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`show_virtual_keyboard<class_OS_method_show_virtual_keyboard>` **(** :ref:`String<class_String>` existing_text="" **)**                                                                                                                                      |
++-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Enumerations
 ------------
@@ -678,7 +680,7 @@ At the end of the file is a statistic of all used Resource Types.
 
 .. _class_OS_method_execute:
 
-- :ref:`int<class_int>` **execute** **(** :ref:`String<class_String>` path, :ref:`PoolStringArray<class_PoolStringArray>` arguments, :ref:`bool<class_bool>` blocking, :ref:`Array<class_Array>` output=[  ] **)**
+- :ref:`int<class_int>` **execute** **(** :ref:`String<class_String>` path, :ref:`PoolStringArray<class_PoolStringArray>` arguments, :ref:`bool<class_bool>` blocking, :ref:`Array<class_Array>` output=[  ], :ref:`bool<class_bool>` read_stderr=false **)**
 
 Execute the file at the given path with the arguments passed as an array of strings. Platform path resolution will take place. The resolved file must exist and be executable.
 
@@ -1179,7 +1181,9 @@ At the moment this function is only used by ``AudioDriverOpenSL`` to request per
 
 - void **set_icon** **(** :ref:`Image<class_Image>` icon **)**
 
-Sets the game's icon.
+Sets the game's icon using an :ref:`Image<class_Image>` resource.
+
+The same image is used for window caption, taskbar/dock and window selection dialog. Image is scaled as needed.
 
 .. _class_OS_method_set_ime_active:
 
@@ -1193,6 +1197,16 @@ Sets whether IME input mode should be enabled.
 
 Sets position of IME suggestion list popup (in window coordinates).
 
+.. _class_OS_method_set_native_icon:
+
+- void **set_native_icon** **(** :ref:`String<class_String>` filename **)**
+
+Sets the game's icon using a multi-size platform-specific icon file (``*.ico`` on Windows and ``*.icns`` on macOS).
+
+Appropriate size sub-icons are used for window caption, taskbar/dock and window selection dialog.
+
+Note: This method is only implemented on macOS and Windows.
+
 .. _class_OS_method_set_thread_name:
 
 - :ref:`Error<enum_@GlobalScope_Error>` **set_thread_name** **(** :ref:`String<class_String>` name **)**

+ 3 - 3
classes/class_packetpeer.rst

@@ -9,7 +9,7 @@ PacketPeer
 
 **Inherits:** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`NetworkedMultiplayerPeer<class_NetworkedMultiplayerPeer>`, :ref:`PacketPeerGDNative<class_PacketPeerGDNative>`, :ref:`PacketPeerStream<class_PacketPeerStream>`, :ref:`PacketPeerUDP<class_PacketPeerUDP>`, :ref:`WebRTCPeer<class_WebRTCPeer>`, :ref:`WebSocketPeer<class_WebSocketPeer>`
+**Inherited By:** :ref:`NetworkedMultiplayerPeer<class_NetworkedMultiplayerPeer>`, :ref:`PacketPeerGDNative<class_PacketPeerGDNative>`, :ref:`PacketPeerStream<class_PacketPeerStream>`, :ref:`PacketPeerUDP<class_PacketPeerUDP>`, :ref:`WebRTCDataChannel<class_WebRTCDataChannel>`, :ref:`WebSocketPeer<class_WebSocketPeer>`
 
 **Category:** Core
 
@@ -73,7 +73,7 @@ Method Descriptions
 
 - :ref:`int<class_int>` **get_available_packet_count** **(** **)** const
 
-Return the number of packets currently available in the ring-buffer.
+Returns the number of packets currently available in the ring-buffer.
 
 .. _class_PacketPeer_method_get_packet:
 
@@ -85,7 +85,7 @@ Get a raw packet.
 
 - :ref:`Error<enum_@GlobalScope_Error>` **get_packet_error** **(** **)** const
 
-Return the error state of the last packet received (via :ref:`get_packet<class_PacketPeer_method_get_packet>` and :ref:`get_var<class_PacketPeer_method_get_var>`).
+Returns the error state of the last packet received (via :ref:`get_packet<class_PacketPeer_method_get_packet>` and :ref:`get_var<class_PacketPeer_method_get_var>`).
 
 .. _class_PacketPeer_method_get_var:
 

+ 3 - 3
classes/class_packetpeerudp.rst

@@ -53,19 +53,19 @@ Close the UDP socket the ``PacketPeerUDP`` is currently listening on.
 
 - :ref:`String<class_String>` **get_packet_ip** **(** **)** const
 
-Return the IP of the remote peer that sent the last packet(that was received with :ref:`PacketPeer.get_packet<class_PacketPeer_method_get_packet>` or :ref:`PacketPeer.get_var<class_PacketPeer_method_get_var>`).
+Returns the IP of the remote peer that sent the last packet(that was received with :ref:`PacketPeer.get_packet<class_PacketPeer_method_get_packet>` or :ref:`PacketPeer.get_var<class_PacketPeer_method_get_var>`).
 
 .. _class_PacketPeerUDP_method_get_packet_port:
 
 - :ref:`int<class_int>` **get_packet_port** **(** **)** const
 
-Return the port of the remote peer that sent the last packet(that was received with :ref:`PacketPeer.get_packet<class_PacketPeer_method_get_packet>` or :ref:`PacketPeer.get_var<class_PacketPeer_method_get_var>`).
+Returns the port of the remote peer that sent the last packet(that was received with :ref:`PacketPeer.get_packet<class_PacketPeer_method_get_packet>` or :ref:`PacketPeer.get_var<class_PacketPeer_method_get_var>`).
 
 .. _class_PacketPeerUDP_method_is_listening:
 
 - :ref:`bool<class_bool>` **is_listening** **(** **)** const
 
-Return whether this ``PacketPeerUDP`` is listening.
+Returns whether this ``PacketPeerUDP`` is listening.
 
 .. _class_PacketPeerUDP_method_listen:
 

+ 2 - 2
classes/class_poolbytearray.rst

@@ -141,13 +141,13 @@ Change the byte at the given index.
 
 - :ref:`String<class_String>` **sha256_string** **(** **)**
 
-Return SHA256 string of the PoolByteArray.
+Returns SHA256 string of the PoolByteArray.
 
 .. _class_PoolByteArray_method_size:
 
 - :ref:`int<class_int>` **size** **(** **)**
 
-Return the size of the array.
+Returns the size of the array.
 
 .. _class_PoolByteArray_method_subarray:
 

+ 1 - 1
classes/class_poolcolorarray.rst

@@ -105,5 +105,5 @@ Change the :ref:`Color<class_Color>` at the given index.
 
 - :ref:`int<class_int>` **size** **(** **)**
 
-Return the size of the array.
+Returns the size of the array.
 

+ 1 - 1
classes/class_poolintarray.rst

@@ -105,5 +105,5 @@ Change the int at the given index.
 
 - :ref:`int<class_int>` **size** **(** **)**
 
-Return the array size.
+Returns the array size.
 

+ 1 - 1
classes/class_poolrealarray.rst

@@ -105,5 +105,5 @@ Change the float at the given index.
 
 - :ref:`int<class_int>` **size** **(** **)**
 
-Return the size of the array.
+Returns the size of the array.
 

+ 1 - 1
classes/class_poolstringarray.rst

@@ -113,5 +113,5 @@ Change the :ref:`String<class_String>` at the given index.
 
 - :ref:`int<class_int>` **size** **(** **)**
 
-Return the size of the array.
+Returns the size of the array.
 

+ 1 - 1
classes/class_poolvector2array.rst

@@ -105,5 +105,5 @@ Change the :ref:`Vector2<class_Vector2>` at the given index.
 
 - :ref:`int<class_int>` **size** **(** **)**
 
-Return the size of the array.
+Returns the size of the array.
 

+ 1 - 1
classes/class_poolvector3array.rst

@@ -105,5 +105,5 @@ Change the :ref:`Vector3<class_Vector3>` at the given index.
 
 - :ref:`int<class_int>` **size** **(** **)**
 
-Return the size of the array.
+Returns the size of the array.
 

+ 17 - 9
classes/class_popup.rst

@@ -28,15 +28,17 @@ Properties
 Methods
 -------
 
-+------+--------------------------------------------------------------------------------------------------------------------------------------------+
-| void | :ref:`popup<class_Popup_method_popup>` **(** :ref:`Rect2<class_Rect2>` bounds=Rect2( 0, 0, 0, 0 ) **)**                                    |
-+------+--------------------------------------------------------------------------------------------------------------------------------------------+
-| void | :ref:`popup_centered<class_Popup_method_popup_centered>` **(** :ref:`Vector2<class_Vector2>` size=Vector2( 0, 0 ) **)**                    |
-+------+--------------------------------------------------------------------------------------------------------------------------------------------+
-| void | :ref:`popup_centered_minsize<class_Popup_method_popup_centered_minsize>` **(** :ref:`Vector2<class_Vector2>` minsize=Vector2( 0, 0 ) **)** |
-+------+--------------------------------------------------------------------------------------------------------------------------------------------+
-| void | :ref:`popup_centered_ratio<class_Popup_method_popup_centered_ratio>` **(** :ref:`float<class_float>` ratio=0.75 **)**                      |
-+------+--------------------------------------------------------------------------------------------------------------------------------------------+
++------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`popup<class_Popup_method_popup>` **(** :ref:`Rect2<class_Rect2>` bounds=Rect2( 0, 0, 0, 0 ) **)**                                                                                |
++------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`popup_centered<class_Popup_method_popup_centered>` **(** :ref:`Vector2<class_Vector2>` size=Vector2( 0, 0 ) **)**                                                                |
++------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`popup_centered_clamped<class_Popup_method_popup_centered_clamped>` **(** :ref:`Vector2<class_Vector2>` size=Vector2( 0, 0 ), :ref:`float<class_float>` fallback_ratio=0.75 **)** |
++------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`popup_centered_minsize<class_Popup_method_popup_centered_minsize>` **(** :ref:`Vector2<class_Vector2>` minsize=Vector2( 0, 0 ) **)**                                             |
++------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`popup_centered_ratio<class_Popup_method_popup_centered_ratio>` **(** :ref:`float<class_float>` ratio=0.75 **)**                                                                  |
++------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -99,6 +101,12 @@ Popup (show the control in modal form).
 
 Popup (show the control in modal form) in the center of the screen relative to its current canvas transform, at the current size, or at a size determined by "size".
 
+.. _class_Popup_method_popup_centered_clamped:
+
+- void **popup_centered_clamped** **(** :ref:`Vector2<class_Vector2>` size=Vector2( 0, 0 ), :ref:`float<class_float>` fallback_ratio=0.75 **)**
+
+Popup (show the control in modal form) in the center of the screen relative to the current canvas transform, clamping the size to ``size``, then ensuring the popup is no larger than the viewport size multiplied by ``fallback_ratio``.
+
 .. _class_Popup_method_popup_centered_minsize:
 
 - void **popup_centered_minsize** **(** :ref:`Vector2<class_Vector2>` minsize=Vector2( 0, 0 ) **)**

+ 12 - 12
classes/class_popupmenu.rst

@@ -321,25 +321,25 @@ Clear the popup menu, in effect removing all items.
 
 - :ref:`int<class_int>` **get_item_accelerator** **(** :ref:`int<class_int>` idx **)** const
 
-Return the accelerator of the item at index "idx". Accelerators are special combinations of keys that activate the item, no matter which control is focused.
+Returns the accelerator of the item at index "idx". Accelerators are special combinations of keys that activate the item, no matter which control is focused.
 
 .. _class_PopupMenu_method_get_item_count:
 
 - :ref:`int<class_int>` **get_item_count** **(** **)** const
 
-Return the amount of items.
+Returns the amount of items.
 
 .. _class_PopupMenu_method_get_item_icon:
 
 - :ref:`Texture<class_Texture>` **get_item_icon** **(** :ref:`int<class_int>` idx **)** const
 
-Return the icon of the item at index "idx".
+Returns the icon of the item at index "idx".
 
 .. _class_PopupMenu_method_get_item_id:
 
 - :ref:`int<class_int>` **get_item_id** **(** :ref:`int<class_int>` idx **)** const
 
-Return the id of the item at index "idx".
+Returns the id of the item at index "idx".
 
 .. _class_PopupMenu_method_get_item_index:
 
@@ -351,7 +351,7 @@ Find and return the index of the item containing a given id.
 
 - :ref:`Variant<class_Variant>` **get_item_metadata** **(** :ref:`int<class_int>` idx **)** const
 
-Return the metadata of an item, which might be of any type. You can set it with :ref:`set_item_metadata<class_PopupMenu_method_set_item_metadata>`, which provides a simple way of assigning context data to items.
+Returns the metadata of an item, which might be of any type. You can set it with :ref:`set_item_metadata<class_PopupMenu_method_set_item_metadata>`, which provides a simple way of assigning context data to items.
 
 .. _class_PopupMenu_method_get_item_shortcut:
 
@@ -361,13 +361,13 @@ Return the metadata of an item, which might be of any type. You can set it with
 
 - :ref:`String<class_String>` **get_item_submenu** **(** :ref:`int<class_int>` idx **)** const
 
-Return the submenu name of the item at index "idx".
+Returns the submenu name of the item at index "idx".
 
 .. _class_PopupMenu_method_get_item_text:
 
 - :ref:`String<class_String>` **get_item_text** **(** :ref:`int<class_int>` idx **)** const
 
-Return the text of the item at index "idx".
+Returns the text of the item at index "idx".
 
 .. _class_PopupMenu_method_get_item_tooltip:
 
@@ -381,31 +381,31 @@ Return the text of the item at index "idx".
 
 - :ref:`bool<class_bool>` **is_item_checkable** **(** :ref:`int<class_int>` idx **)** const
 
-Return whether the item at index "idx" is checkable in some way, i.e., whether has a checkbox or radio button. Note that checkable items just display a checkmark or radio button, but don't have any built-in checking behavior and must be checked/unchecked manually.
+Returns whether the item at index "idx" is checkable in some way, i.e., whether has a checkbox or radio button. Note that checkable items just display a checkmark or radio button, but don't have any built-in checking behavior and must be checked/unchecked manually.
 
 .. _class_PopupMenu_method_is_item_checked:
 
 - :ref:`bool<class_bool>` **is_item_checked** **(** :ref:`int<class_int>` idx **)** const
 
-Return whether the item at index "idx" is checked.
+Returns whether the item at index "idx" is checked.
 
 .. _class_PopupMenu_method_is_item_disabled:
 
 - :ref:`bool<class_bool>` **is_item_disabled** **(** :ref:`int<class_int>` idx **)** const
 
-Return whether the item at index "idx" is disabled. When it is disabled it can't be selected, or its action invoked.
+Returns whether the item at index "idx" is disabled. When it is disabled it can't be selected, or its action invoked.
 
 .. _class_PopupMenu_method_is_item_radio_checkable:
 
 - :ref:`bool<class_bool>` **is_item_radio_checkable** **(** :ref:`int<class_int>` idx **)** const
 
-Return whether the item at index "idx" has radio-button-style checkability. Remember this is just cosmetic and you have to add the logic for checking/unchecking items in radio groups.
+Returns whether the item at index "idx" has radio-button-style checkability. Remember this is just cosmetic and you have to add the logic for checking/unchecking items in radio groups.
 
 .. _class_PopupMenu_method_is_item_separator:
 
 - :ref:`bool<class_bool>` **is_item_separator** **(** :ref:`int<class_int>` idx **)** const
 
-Return whether the item is a separator. If it is, it would be displayed as a line.
+Returns whether the item is a separator. If it is, it would be displayed as a line.
 
 .. _class_PopupMenu_method_is_item_shortcut_disabled:
 

+ 12 - 0
classes/class_projectsettings.rst

@@ -32,12 +32,16 @@ Properties
 +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`         | :ref:`application/config/icon<class_ProjectSettings_property_application/config/icon>`                                                                               |
 +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`         | :ref:`application/config/macos_native_icon<class_ProjectSettings_property_application/config/macos_native_icon>`                                                     |
++-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`         | :ref:`application/config/name<class_ProjectSettings_property_application/config/name>`                                                                               |
 +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`         | :ref:`application/config/project_settings_override<class_ProjectSettings_property_application/config/project_settings_override>`                                     |
 +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`             | :ref:`application/config/use_custom_user_dir<class_ProjectSettings_property_application/config/use_custom_user_dir>`                                                 |
 +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`         | :ref:`application/config/windows_native_icon<class_ProjectSettings_property_application/config/windows_native_icon>`                                                 |
++-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`             | :ref:`application/run/disable_stderr<class_ProjectSettings_property_application/run/disable_stderr>`                                                                 |
 +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`             | :ref:`application/run/disable_stdout<class_ProjectSettings_property_application/run/disable_stdout>`                                                                 |
@@ -628,6 +632,10 @@ The :ref:`application/config/use_custom_user_dir<class_ProjectSettings_property_
 
 Icon used for the project, set when project loads. Exporters will also use this icon when possible.
 
+.. _class_ProjectSettings_property_application/config/macos_native_icon:
+
+- :ref:`String<class_String>` **application/config/macos_native_icon**
+
 .. _class_ProjectSettings_property_application/config/name:
 
 - :ref:`String<class_String>` **application/config/name**
@@ -646,6 +654,10 @@ Specifies a file to override project settings. For example: ``user://custom_sett
 
 If ``true``, the project will save user data to its own user directory (see :ref:`application/config/custom_user_dir_name<class_ProjectSettings_property_application/config/custom_user_dir_name>`). This setting is only effective on desktop platforms. A name must be set in the :ref:`application/config/custom_user_dir_name<class_ProjectSettings_property_application/config/custom_user_dir_name>` setting for this to take effect. If ``false``, the project will save user data to ``(OS user data directory)/Godot/app_userdata/(project name)``.
 
+.. _class_ProjectSettings_property_application/config/windows_native_icon:
+
+- :ref:`String<class_String>` **application/config/windows_native_icon**
+
 .. _class_ProjectSettings_property_application/run/disable_stderr:
 
 - :ref:`bool<class_bool>` **application/run/disable_stderr**

+ 1 - 1
classes/class_quat.rst

@@ -151,7 +151,7 @@ Returns the dot product of two quaternions.
 
 - :ref:`Vector3<class_Vector3>` **get_euler** **(** **)**
 
-Return Euler angles (in the YXZ convention: first Z, then X, and Y last) corresponding to the rotation represented by the unit quaternion. Returned vector contains the rotation angles in the format (X-angle, Y-angle, Z-angle).
+Returns Euler angles (in the YXZ convention: first Z, then X, and Y last) corresponding to the rotation represented by the unit quaternion. Returned vector contains the rotation angles in the format (X-angle, Y-angle, Z-angle).
 
 .. _class_Quat_method_inverse:
 

+ 2 - 2
classes/class_raycast.rst

@@ -185,7 +185,7 @@ Use this method to update the collision information immediately instead of waiti
 
 - :ref:`Object<class_Object>` **get_collider** **(** **)** const
 
-Return the first object that the ray intersects, or ``null`` if no object is intersecting the ray (i.e. :ref:`is_colliding<class_RayCast_method_is_colliding>` returns ``false``).
+Returns the first object that the ray intersects, or ``null`` if no object is intersecting the ray (i.e. :ref:`is_colliding<class_RayCast_method_is_colliding>` returns ``false``).
 
 .. _class_RayCast_method_get_collider_shape:
 
@@ -215,7 +215,7 @@ Returns the collision point at which the ray intersects the closest object. Note
 
 - :ref:`bool<class_bool>` **is_colliding** **(** **)** const
 
-Return whether any object is intersecting with the ray's vector (considering the vector length).
+Returns whether any object is intersecting with the ray's vector (considering the vector length).
 
 .. _class_RayCast_method_remove_exception:
 

+ 3 - 3
classes/class_raycast2d.rst

@@ -183,7 +183,7 @@ Updates the collision information for the ray. Use this method to update the col
 
 - :ref:`Object<class_Object>` **get_collider** **(** **)** const
 
-Return the first object that the ray intersects, or ``null`` if no object is intersecting the ray (i.e. :ref:`is_colliding<class_RayCast2D_method_is_colliding>` returns ``false``).
+Returns the first object that the ray intersects, or ``null`` if no object is intersecting the ray (i.e. :ref:`is_colliding<class_RayCast2D_method_is_colliding>` returns ``false``).
 
 .. _class_RayCast2D_method_get_collider_shape:
 
@@ -195,7 +195,7 @@ Returns the shape ID of the first object that the ray intersects, or ``0`` if no
 
 - :ref:`bool<class_bool>` **get_collision_mask_bit** **(** :ref:`int<class_int>` bit **)** const
 
-Return an individual bit on the collision mask.
+Returns an individual bit on the collision mask.
 
 .. _class_RayCast2D_method_get_collision_normal:
 
@@ -213,7 +213,7 @@ Returns the collision point at which the ray intersects the closest object. Note
 
 - :ref:`bool<class_bool>` **is_colliding** **(** **)** const
 
-Return whether any object is intersecting with the ray's vector (considering the vector length).
+Returns whether any object is intersecting with the ray's vector (considering the vector length).
 
 .. _class_RayCast2D_method_remove_exception:
 

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


+ 3 - 3
classes/class_resourceinteractiveloader.rst

@@ -43,19 +43,19 @@ Method Descriptions
 
 - :ref:`Resource<class_Resource>` **get_resource** **(** **)**
 
-Return the loaded resource (only if loaded). Otherwise, returns null.
+Returns the loaded resource (only if loaded). Otherwise, returns null.
 
 .. _class_ResourceInteractiveLoader_method_get_stage:
 
 - :ref:`int<class_int>` **get_stage** **(** **)** const
 
-Return the load stage. The total amount of stages can be queried with :ref:`get_stage_count<class_ResourceInteractiveLoader_method_get_stage_count>`
+Returns the load stage. The total amount of stages can be queried with :ref:`get_stage_count<class_ResourceInteractiveLoader_method_get_stage_count>`
 
 .. _class_ResourceInteractiveLoader_method_get_stage_count:
 
 - :ref:`int<class_int>` **get_stage_count** **(** **)** const
 
-Return the total amount of stages (calls to :ref:`poll<class_ResourceInteractiveLoader_method_poll>`) needed to completely load this resource.
+Returns the total amount of stages (calls to :ref:`poll<class_ResourceInteractiveLoader_method_poll>`) needed to completely load this resource.
 
 .. _class_ResourceInteractiveLoader_method_poll:
 

+ 1 - 1
classes/class_resourceloader.rst

@@ -57,7 +57,7 @@ Method Descriptions
 
 - :ref:`PoolStringArray<class_PoolStringArray>` **get_recognized_extensions_for_type** **(** :ref:`String<class_String>` type **)**
 
-Return the list of recognized extensions for a resource type.
+Returns the list of recognized extensions for a resource type.
 
 .. _class_ResourceLoader_method_has:
 

+ 1 - 1
classes/class_rigidbody.rst

@@ -500,7 +500,7 @@ Applies a torque impulse which will be affected by the body mass and shape. This
 
 - :ref:`Array<class_Array>` **get_colliding_bodies** **(** **)** const
 
-Return a list of the bodies colliding with this one. By default, number of max contacts reported is at 0, see the :ref:`contacts_reported<class_RigidBody_property_contacts_reported>` property to increase it. Note that the result of this test is not immediate after moving objects. For performance, list of collisions is updated once per frame and before the physics step. Consider using signals instead.
+Returns a list of the bodies colliding with this one. By default, number of max contacts reported is at 0, see the :ref:`contacts_reported<class_RigidBody_property_contacts_reported>` property to increase it. Note that the result of this test is not immediate after moving objects. For performance, list of collisions is updated once per frame and before the physics step. Consider using signals instead.
 
 .. _class_RigidBody_method_set_axis_velocity:
 

+ 4 - 0
classes/class_scenetree.rst

@@ -157,6 +157,10 @@ Emitted when a node's configuration changed. Only emitted in tool mode.
 
 Emitted whenever a node is removed from the SceneTree.
 
+.. _class_SceneTree_signal_node_renamed:
+
+- **node_renamed** **(** :ref:`Node<class_Node>` node **)**
+
 .. _class_SceneTree_signal_physics_frame:
 
 - **physics_frame** **(** **)**

+ 1 - 1
classes/class_shape2d.rst

@@ -84,7 +84,7 @@ This method needs the transformation matrix for this shape (``local_xform``), th
 
 - :ref:`bool<class_bool>` **collide_with_motion** **(** :ref:`Transform2D<class_Transform2D>` local_xform, :ref:`Vector2<class_Vector2>` local_motion, :ref:`Shape2D<class_Shape2D>` with_shape, :ref:`Transform2D<class_Transform2D>` shape_xform, :ref:`Vector2<class_Vector2>` shape_motion **)**
 
-Return whether this shape would collide with another, if a given movement was applied.
+Returns whether this shape would collide with another, if a given movement was applied.
 
 This method needs the transformation matrix for this shape (``local_xform``), the movement to test on this shape (``local_motion``), the shape to check collisions with (``with_shape``), the transformation matrix of that shape (``shape_xform``), and the movement to test onto the other object (``shape_motion``).
 

+ 10 - 10
classes/class_skeleton.rst

@@ -138,55 +138,55 @@ Clear all the bones in this skeleton.
 
 - :ref:`int<class_int>` **find_bone** **(** :ref:`String<class_String>` name **)** const
 
-Return the bone index that matches "name" as its name.
+Returns the bone index that matches "name" as its name.
 
 .. _class_Skeleton_method_get_bone_count:
 
 - :ref:`int<class_int>` **get_bone_count** **(** **)** const
 
-Return the amount of bones in the skeleton.
+Returns the amount of bones in the skeleton.
 
 .. _class_Skeleton_method_get_bone_custom_pose:
 
 - :ref:`Transform<class_Transform>` **get_bone_custom_pose** **(** :ref:`int<class_int>` bone_idx **)** const
 
-Return the custom pose of the specified bone. Custom pose is applied on top of the rest pose.
+Returns the custom pose of the specified bone. Custom pose is applied on top of the rest pose.
 
 .. _class_Skeleton_method_get_bone_global_pose:
 
 - :ref:`Transform<class_Transform>` **get_bone_global_pose** **(** :ref:`int<class_int>` bone_idx **)** const
 
-Return the overall transform of the specified bone, with respect to the skeleton. Being relative to the skeleton frame, this is not the actual "global" transform of the bone.
+Returns the overall transform of the specified bone, with respect to the skeleton. Being relative to the skeleton frame, this is not the actual "global" transform of the bone.
 
 .. _class_Skeleton_method_get_bone_name:
 
 - :ref:`String<class_String>` **get_bone_name** **(** :ref:`int<class_int>` bone_idx **)** const
 
-Return the name of the bone at index "index".
+Returns the name of the bone at index "index".
 
 .. _class_Skeleton_method_get_bone_parent:
 
 - :ref:`int<class_int>` **get_bone_parent** **(** :ref:`int<class_int>` bone_idx **)** const
 
-Return the bone index which is the parent of the bone at "bone_idx". If -1, then bone has no parent. Note that the parent bone returned will always be less than "bone_idx".
+Returns the bone index which is the parent of the bone at "bone_idx". If -1, then bone has no parent. Note that the parent bone returned will always be less than "bone_idx".
 
 .. _class_Skeleton_method_get_bone_pose:
 
 - :ref:`Transform<class_Transform>` **get_bone_pose** **(** :ref:`int<class_int>` bone_idx **)** const
 
-Return the pose transform of the specified bone. Pose is applied on top of the custom pose, which is applied on top the rest pose.
+Returns the pose transform of the specified bone. Pose is applied on top of the custom pose, which is applied on top the rest pose.
 
 .. _class_Skeleton_method_get_bone_rest:
 
 - :ref:`Transform<class_Transform>` **get_bone_rest** **(** :ref:`int<class_int>` bone_idx **)** const
 
-Return the rest transform for a bone "bone_idx".
+Returns the rest transform for a bone "bone_idx".
 
 .. _class_Skeleton_method_get_bone_transform:
 
 - :ref:`Transform<class_Transform>` **get_bone_transform** **(** :ref:`int<class_int>` bone_idx **)** const
 
-Return the combination of custom pose and pose. The returned transform is in skeleton's reference frame.
+Returns the combination of custom pose and pose. The returned transform is in skeleton's reference frame.
 
 .. _class_Skeleton_method_get_bound_child_nodes_to_bone:
 
@@ -244,7 +244,7 @@ Set the bone index "parent_idx" as the parent of the bone at "bone_idx". If -1,
 
 - void **set_bone_pose** **(** :ref:`int<class_int>` bone_idx, :ref:`Transform<class_Transform>` pose **)**
 
-Return the pose transform for bone "bone_idx".
+Returns the pose transform for bone "bone_idx".
 
 .. _class_Skeleton_method_set_bone_rest:
 

+ 17 - 1
classes/class_spatialmaterial.rst

@@ -112,6 +112,8 @@ Properties
 +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                        | :ref:`flags_use_point_size<class_SpatialMaterial_property_flags_use_point_size>`                     |
 +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                        | :ref:`flags_use_shadow_to_opacity<class_SpatialMaterial_property_flags_use_shadow_to_opacity>`       |
++----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                        | :ref:`flags_vertex_lighting<class_SpatialMaterial_property_flags_vertex_lighting>`                   |
 +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                        | :ref:`flags_world_triplanar<class_SpatialMaterial_property_flags_world_triplanar>`                   |
@@ -458,6 +460,8 @@ enum **CullMode**:
 
 .. _class_SpatialMaterial_constant_FLAG_ENSURE_CORRECT_NORMALS:
 
+.. _class_SpatialMaterial_constant_FLAG_USE_SHADOW_TO_OPACITY:
+
 .. _class_SpatialMaterial_constant_FLAG_MAX:
 
 enum **Flags**:
@@ -498,7 +502,9 @@ enum **Flags**:
 
 - **FLAG_ENSURE_CORRECT_NORMALS** = **16**
 
-- **FLAG_MAX** = **18**
+- **FLAG_USE_SHADOW_TO_OPACITY** = **18**
+
+- **FLAG_MAX** = **19**
 
 .. _enum_SpatialMaterial_DiffuseMode:
 
@@ -1129,6 +1135,16 @@ If ``true``, the object is unaffected by lighting. Default value: ``false``.
 
 If ``true``, render point size can be changed. Note: this is only effective for objects whose geometry is point-based rather than triangle-based. See also :ref:`params_point_size<class_SpatialMaterial_property_params_point_size>`.
 
+.. _class_SpatialMaterial_property_flags_use_shadow_to_opacity:
+
+- :ref:`bool<class_bool>` **flags_use_shadow_to_opacity**
+
++----------+-----------------+
+| *Setter* | set_flag(value) |
++----------+-----------------+
+| *Getter* | get_flag()      |
++----------+-----------------+
+
 .. _class_SpatialMaterial_property_flags_vertex_lighting:
 
 - :ref:`bool<class_bool>` **flags_vertex_lighting**

+ 9 - 2
classes/class_sprite.rst

@@ -171,7 +171,7 @@ The texture's drawing offset.
 | *Getter* | is_region()       |
 +----------+-------------------+
 
-If ``true``, texture is cut from a larger atlas texture. See ``region_rect``. Default value: ``false``.
+If ``true``, texture is cut from a larger atlas texture. See :ref:`region_rect<class_Sprite_property_region_rect>`. Default value: ``false``.
 
 .. _class_Sprite_property_region_filter_clip:
 
@@ -228,7 +228,14 @@ Method Descriptions
 
 - :ref:`Rect2<class_Rect2>` **get_rect** **(** **)** const
 
-Returns a Rect2 representing the Sprite's boundary relative to its local coordinates.
+Returns a :ref:`Rect2<class_Rect2>` representing the Sprite's boundary in local coordinates. Can be used to detect if the Sprite was clicked. Example:
+
+::
+
+    func _input(event):
+        if event is InputEventMouseButton and event.pressed and event.button_index == BUTTON_LEFT:
+            if get_rect().has_point(to_local(event.position)):
+                print("A click!")
 
 .. _class_Sprite_method_is_pixel_opaque:
 

+ 3 - 3
classes/class_streampeer.rst

@@ -143,13 +143,13 @@ Get a signed byte from the stream.
 
 - :ref:`int<class_int>` **get_available_bytes** **(** **)** const
 
-Return the amount of bytes this ``StreamPeer`` has available.
+Returns the amount of bytes this ``StreamPeer`` has available.
 
 .. _class_StreamPeer_method_get_data:
 
 - :ref:`Array<class_Array>` **get_data** **(** :ref:`int<class_int>` bytes **)**
 
-Return a chunk data with the received bytes. The amount of bytes to be received can be requested in the "bytes" argument. If not enough bytes are available, the function will block until the desired amount is received. This function returns two values, an Error code and a data array.
+Returns a chunk data with the received bytes. The amount of bytes to be received can be requested in the "bytes" argument. If not enough bytes are available, the function will block until the desired amount is received. This function returns two values, an Error code and a data array.
 
 .. _class_StreamPeer_method_get_double:
 
@@ -167,7 +167,7 @@ Get a single-precision float from the stream.
 
 - :ref:`Array<class_Array>` **get_partial_data** **(** :ref:`int<class_int>` bytes **)**
 
-Return a chunk data with the received bytes. The amount of bytes to be received can be requested in the "bytes" argument. If not enough bytes are available, the function will return how many were actually received. This function returns two values, an Error code, and a data array.
+Returns a chunk data with the received bytes. The amount of bytes to be received can be requested in the "bytes" argument. If not enough bytes are available, the function will return how many were actually received. This function returns two values, an Error code, and a data array.
 
 .. _class_StreamPeer_method_get_string:
 

+ 1 - 1
classes/class_streampeerssl.rst

@@ -111,7 +111,7 @@ Disconnect from host.
 
 - :ref:`Status<enum_StreamPeerSSL_Status>` **get_status** **(** **)** const
 
-Return the status of the connection, one of STATUS\_\* enum.
+Returns the status of the connection, one of STATUS\_\* enum.
 
 .. _class_StreamPeerSSL_method_poll:
 

+ 3 - 3
classes/class_streampeertcp.rst

@@ -82,19 +82,19 @@ Disconnect from host.
 
 - :ref:`String<class_String>` **get_connected_host** **(** **)** const
 
-Return the IP of this peer.
+Returns the IP of this peer.
 
 .. _class_StreamPeerTCP_method_get_connected_port:
 
 - :ref:`int<class_int>` **get_connected_port** **(** **)** const
 
-Return the port of this peer.
+Returns the port of this peer.
 
 .. _class_StreamPeerTCP_method_get_status:
 
 - :ref:`Status<enum_StreamPeerTCP_Status>` **get_status** **(** **)**
 
-Return the status of the connection, see :ref:`Status<enum_StreamPeerTCP_Status>`.
+Returns the status of the connection, see :ref:`Status<enum_StreamPeerTCP_Status>`.
 
 .. _class_StreamPeerTCP_method_is_connected_to_host:
 

+ 3 - 3
classes/class_stylebox.rst

@@ -137,7 +137,7 @@ Method Descriptions
 
 - :ref:`float<class_float>` **get_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** const
 
-Return the content margin offset for the specified margin
+Returns the content margin offset for the specified margin
 
 Positive values reduce size inwards, unlike :ref:`Control<class_Control>`'s margin values.
 
@@ -145,13 +145,13 @@ Positive values reduce size inwards, unlike :ref:`Control<class_Control>`'s marg
 
 - :ref:`Vector2<class_Vector2>` **get_minimum_size** **(** **)** const
 
-Return the minimum size that this stylebox can be shrunk to.
+Returns the minimum size that this stylebox can be shrunk to.
 
 .. _class_StyleBox_method_get_offset:
 
 - :ref:`Vector2<class_Vector2>` **get_offset** **(** **)** const
 
-Return the "offset" of a stylebox, this is a helper function, like writing ``Vector2(style.get_margin(MARGIN_LEFT), style.get_margin(MARGIN_TOP))``.
+Returns the "offset" of a stylebox, this is a helper function, like writing ``Vector2(style.get_margin(MARGIN_LEFT), style.get_margin(MARGIN_TOP))``.
 
 .. _class_StyleBox_method_test_mask:
 

+ 12 - 0
classes/class_surfacetool.rst

@@ -50,8 +50,12 @@ Methods
 +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`ArrayMesh<class_ArrayMesh>` | :ref:`commit<class_SurfaceTool_method_commit>` **(** :ref:`ArrayMesh<class_ArrayMesh>` existing=null, :ref:`int<class_int>` flags=97280 **)**                                                                                                                                                                                                                                                                                                                                              |
 +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`         | :ref:`commit_to_arrays<class_SurfaceTool_method_commit_to_arrays>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                             |
++-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                              | :ref:`create_from<class_SurfaceTool_method_create_from>` **(** :ref:`Mesh<class_Mesh>` existing, :ref:`int<class_int>` surface **)**                                                                                                                                                                                                                                                                                                                                                       |
 +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                              | :ref:`create_from_blend_shape<class_SurfaceTool_method_create_from_blend_shape>` **(** :ref:`Mesh<class_Mesh>` existing, :ref:`int<class_int>` surface, :ref:`String<class_String>` blend_shape **)**                                                                                                                                                                                                                                                                                      |
++-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                              | :ref:`deindex<class_SurfaceTool_method_deindex>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                               |
 +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                              | :ref:`generate_normals<class_SurfaceTool_method_generate_normals>` **(** :ref:`bool<class_bool>` flip=false **)**                                                                                                                                                                                                                                                                                                                                                                          |
@@ -177,12 +181,20 @@ Clear all information passed into the surface tool so far.
 
 Returns a constructed :ref:`ArrayMesh<class_ArrayMesh>` from current information passed in. If an existing :ref:`ArrayMesh<class_ArrayMesh>` is passed in as an argument, will add an extra surface to the existing :ref:`ArrayMesh<class_ArrayMesh>`.
 
+.. _class_SurfaceTool_method_commit_to_arrays:
+
+- :ref:`Array<class_Array>` **commit_to_arrays** **(** **)**
+
 .. _class_SurfaceTool_method_create_from:
 
 - void **create_from** **(** :ref:`Mesh<class_Mesh>` existing, :ref:`int<class_int>` surface **)**
 
 Creates a vertex array from an existing :ref:`Mesh<class_Mesh>`.
 
+.. _class_SurfaceTool_method_create_from_blend_shape:
+
+- void **create_from_blend_shape** **(** :ref:`Mesh<class_Mesh>` existing, :ref:`int<class_int>` surface, :ref:`String<class_String>` blend_shape **)**
+
 .. _class_SurfaceTool_method_deindex:
 
 - void **deindex** **(** **)**

+ 1 - 1
classes/class_tcp_server.rst

@@ -41,7 +41,7 @@ Method Descriptions
 
 - :ref:`bool<class_bool>` **is_connection_available** **(** **)** const
 
-Return ``true`` if a connection is available for taking.
+Returns ``true`` if a connection is available for taking.
 
 .. _class_TCP_Server_method_listen:
 

+ 11 - 11
classes/class_textedit.rst

@@ -604,13 +604,13 @@ Copy the current selection.
 
 - :ref:`int<class_int>` **cursor_get_column** **(** **)** const
 
-Return the column the editing cursor is at.
+Returns the column the editing cursor is at.
 
 .. _class_TextEdit_method_cursor_get_line:
 
 - :ref:`int<class_int>` **cursor_get_line** **(** **)** const
 
-Return the line the editing cursor is at.
+Returns the line the editing cursor is at.
 
 .. _class_TextEdit_method_cursor_set_column:
 
@@ -648,7 +648,7 @@ Folds the given line, if possible (see :ref:`can_fold<class_TextEdit_method_can_
 
 - :ref:`Array<class_Array>` **get_breakpoints** **(** **)** const
 
-Return an array containing the line number of each breakpoint.
+Returns an array containing the line number of each breakpoint.
 
 .. _class_TextEdit_method_get_keyword_color:
 
@@ -658,13 +658,13 @@ Return an array containing the line number of each breakpoint.
 
 - :ref:`String<class_String>` **get_line** **(** :ref:`int<class_int>` line **)** const
 
-Return the text of a specific line.
+Returns the text of a specific line.
 
 .. _class_TextEdit_method_get_line_count:
 
 - :ref:`int<class_int>` **get_line_count** **(** **)** const
 
-Return the amount of total lines in the text.
+Returns the amount of total lines in the text.
 
 .. _class_TextEdit_method_get_menu:
 
@@ -676,31 +676,31 @@ Returns the :ref:`PopupMenu<class_PopupMenu>` of this ``TextEdit``. By default,
 
 - :ref:`int<class_int>` **get_selection_from_column** **(** **)** const
 
-Return the selection begin column.
+Returns the selection begin column.
 
 .. _class_TextEdit_method_get_selection_from_line:
 
 - :ref:`int<class_int>` **get_selection_from_line** **(** **)** const
 
-Return the selection begin line.
+Returns the selection begin line.
 
 .. _class_TextEdit_method_get_selection_text:
 
 - :ref:`String<class_String>` **get_selection_text** **(** **)** const
 
-Return the text inside the selection.
+Returns the text inside the selection.
 
 .. _class_TextEdit_method_get_selection_to_column:
 
 - :ref:`int<class_int>` **get_selection_to_column** **(** **)** const
 
-Return the selection end column.
+Returns the selection end column.
 
 .. _class_TextEdit_method_get_selection_to_line:
 
 - :ref:`int<class_int>` **get_selection_to_line** **(** **)** const
 
-Return the selection end line.
+Returns the selection end line.
 
 .. _class_TextEdit_method_get_word_under_cursor:
 
@@ -730,7 +730,7 @@ Returns if the given line is folded.
 
 - :ref:`bool<class_bool>` **is_selection_active** **(** **)** const
 
-Return ``true`` if the selection is active.
+Returns ``true`` if the selection is active.
 
 .. _class_TextEdit_method_menu_option:
 

+ 3 - 3
classes/class_texture.rst

@@ -132,19 +132,19 @@ Method Descriptions
 
 - :ref:`int<class_int>` **get_height** **(** **)** const
 
-Return the texture height.
+Returns the texture height.
 
 .. _class_Texture_method_get_size:
 
 - :ref:`Vector2<class_Vector2>` **get_size** **(** **)** const
 
-Return the texture size.
+Returns the texture size.
 
 .. _class_Texture_method_get_width:
 
 - :ref:`int<class_int>` **get_width** **(** **)** const
 
-Return the texture width.
+Returns the texture width.
 
 .. _class_Texture_method_has_alpha:
 

+ 5 - 0
classes/class_theme.rst

@@ -95,6 +95,11 @@ Theme for skinning controls. Controls can be skinned individually, but for compl
 
 Theme resources can be alternatively loaded by writing them in a .theme file, see docs for more info.
 
+Tutorials
+---------
+
+- :doc:`../tutorials/gui/gui_skinning`
+
 Property Descriptions
 ---------------------
 

+ 4 - 0
classes/class_tree.rst

@@ -196,6 +196,10 @@ Emitted when a column's title is pressed.
 
 Emitted when a cell with the ``CELL_MODE_CUSTOM`` is clicked to be edited.
 
+.. _class_Tree_signal_empty_rmb:
+
+- **empty_rmb** **(** :ref:`Vector2<class_Vector2>` position **)**
+
 .. _class_Tree_signal_empty_tree_rmb_selected:
 
 - **empty_tree_rmb_selected** **(** :ref:`Vector2<class_Vector2>` position **)**

+ 6 - 0
classes/class_vehiclewheel.rst

@@ -46,6 +46,8 @@ Properties
 Methods
 -------
 
++---------------------------+---------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`get_rpm<class_VehicleWheel_method_get_rpm>` **(** **)** const             |
 +---------------------------+---------------------------------------------------------------------------------+
 | :ref:`float<class_float>` | :ref:`get_skidinfo<class_VehicleWheel_method_get_skidinfo>` **(** **)** const   |
 +---------------------------+---------------------------------------------------------------------------------+
@@ -197,6 +199,10 @@ This value effects the roll of your vehicle. If set to 0.0 for all wheels your v
 Method Descriptions
 -------------------
 
+.. _class_VehicleWheel_method_get_rpm:
+
+- :ref:`float<class_float>` **get_rpm** **(** **)** const
+
 .. _class_VehicleWheel_method_get_skidinfo:
 
 - :ref:`float<class_float>` **get_skidinfo** **(** **)** const

+ 14 - 0
classes/class_viewport.rst

@@ -50,6 +50,8 @@ Properties
 +---------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                                   | :ref:`physics_object_picking<class_Viewport_property_physics_object_picking>`           |
 +---------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                                   | :ref:`render_direct_to_screen<class_Viewport_property_render_direct_to_screen>`         |
++---------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
 | :ref:`ClearMode<enum_Viewport_ClearMode>`                                 | :ref:`render_target_clear_mode<class_Viewport_property_render_target_clear_mode>`       |
 +---------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
 | :ref:`UpdateMode<enum_Viewport_UpdateMode>`                               | :ref:`render_target_update_mode<class_Viewport_property_render_target_update_mode>`     |
@@ -515,6 +517,18 @@ If ``true``, the viewport will use :ref:`World<class_World>` defined in ``world`
 
 If ``true``, the objects rendered by viewport become subjects of mouse picking process. Default value: ``false``.
 
+.. _class_Viewport_property_render_direct_to_screen:
+
+- :ref:`bool<class_bool>` **render_direct_to_screen**
+
++----------+----------------------------------------+
+| *Setter* | set_use_render_direct_to_screen(value) |
++----------+----------------------------------------+
+| *Getter* | is_using_render_direct_to_screen()     |
++----------+----------------------------------------+
+
+If ``true``, renders the Viewport directly to the screen instead of to the root viewport. Only available in GLES2. This is a low-level optimization and should not be used in most cases. If used, reading from the Viewport or from ``SCREEN_TEXTURE`` becomes unavailable. For more information see :ref:`VisualServer.viewport_set_render_direct_to_screen<class_VisualServer_method_viewport_set_render_direct_to_screen>`.  Default value: ``false``.
+
 .. _class_Viewport_property_render_target_clear_mode:
 
 - :ref:`ClearMode<enum_Viewport_ClearMode>` **render_target_clear_mode**

+ 19 - 1
classes/class_visualserver.rst

@@ -718,6 +718,8 @@ Methods
 +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                    | :ref:`viewport_set_parent_viewport<class_VisualServer_method_viewport_set_parent_viewport>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` parent_viewport **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
 +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                    | :ref:`viewport_set_render_direct_to_screen<class_VisualServer_method_viewport_set_render_direct_to_screen>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
++---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                    | :ref:`viewport_set_scenario<class_VisualServer_method_viewport_set_scenario>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` scenario **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
 +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                    | :ref:`viewport_set_shadow_atlas_quadrant_subdivision<class_VisualServer_method_viewport_set_shadow_atlas_quadrant_subdivision>` **(** :ref:`RID<class_RID>` viewport, :ref:`int<class_int>` quadrant, :ref:`int<class_int>` subdivision **)**                                                                                                                                                                                                                                                                                                                                                                                                                   |
@@ -3378,7 +3380,17 @@ Sets a viewport's canvas.
 
 - void **viewport_attach_to_screen** **(** :ref:`RID<class_RID>` viewport, :ref:`Rect2<class_Rect2>` rect=Rect2( 0, 0, 0, 0 ), :ref:`int<class_int>` screen=0 **)**
 
-Attaches a viewport to a screen.
+Copies viewport to a region of the screen specified by ``rect``. If Viewport.:ref:`Viewport.render_direct_to_screen<class_Viewport_property_render_direct_to_screen>` is ``true``, then viewport does not use a framebuffer and the contents of the viewport are rendered directly to screen. However, note that the root viewport is drawn last, therefore it will draw over the screen. Accordingly, you must set the root viewport to an area that does not cover the area that you have attached this viewport to.
+
+For example, you can set the root viewport to not render at all with the following code:
+
+::
+
+    func _ready():
+        get_viewport().set_attach_to_screen_rect(Rect2())
+        $Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))
+
+Using this can result in significant optimization, especially on lower-end devices. However, it comes at the cost of having to manage your viewports manually. For a further optimization see, :ref:`viewport_set_render_direct_to_screen<class_VisualServer_method_viewport_set_render_direct_to_screen>`.
 
 .. _class_VisualServer_method_viewport_create:
 
@@ -3488,6 +3500,12 @@ Sets the anti-aliasing mode. see :ref:`ViewportMSAA<enum_VisualServer_ViewportMS
 
 Sets the viewport's parent to another viewport.
 
+.. _class_VisualServer_method_viewport_set_render_direct_to_screen:
+
+- 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.
+
 .. _class_VisualServer_method_viewport_set_scenario:
 
 - void **viewport_set_scenario** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` scenario **)**

+ 12 - 0
classes/class_visualshader.rst

@@ -33,6 +33,8 @@ Methods
 +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Error<enum_@GlobalScope_Error>`           | :ref:`connect_nodes<class_VisualShader_method_connect_nodes>` **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` from_node, :ref:`int<class_int>` from_port, :ref:`int<class_int>` to_node, :ref:`int<class_int>` to_port **)**                 |
 +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                            | :ref:`connect_nodes_forced<class_VisualShader_method_connect_nodes_forced>` **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` from_node, :ref:`int<class_int>` from_port, :ref:`int<class_int>` to_node, :ref:`int<class_int>` to_port **)**   |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                            | :ref:`disconnect_nodes<class_VisualShader_method_disconnect_nodes>` **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` from_node, :ref:`int<class_int>` from_port, :ref:`int<class_int>` to_node, :ref:`int<class_int>` to_port **)**           |
 +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`VisualShaderNode<class_VisualShaderNode>` | :ref:`get_node<class_VisualShader_method_get_node>` **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` id **)** const                                                                                                                           |
@@ -47,6 +49,8 @@ Methods
 +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                         | :ref:`is_node_connection<class_VisualShader_method_is_node_connection>` **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` from_node, :ref:`int<class_int>` from_port, :ref:`int<class_int>` to_node, :ref:`int<class_int>` to_port **)** const |
 +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                            | :ref:`rebuild<class_VisualShader_method_rebuild>` **(** **)**                                                                                                                                                                                                      |
++-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                            | :ref:`remove_node<class_VisualShader_method_remove_node>` **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` id **)**                                                                                                                           |
 +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                            | :ref:`set_mode<class_VisualShader_method_set_mode>` **(** :ref:`Mode<enum_Shader_Mode>` mode **)**                                                                                                                                                                 |
@@ -116,6 +120,10 @@ Method Descriptions
 
 - :ref:`Error<enum_@GlobalScope_Error>` **connect_nodes** **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` from_node, :ref:`int<class_int>` from_port, :ref:`int<class_int>` to_node, :ref:`int<class_int>` to_port **)**
 
+.. _class_VisualShader_method_connect_nodes_forced:
+
+- void **connect_nodes_forced** **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` from_node, :ref:`int<class_int>` from_port, :ref:`int<class_int>` to_node, :ref:`int<class_int>` to_port **)**
+
 .. _class_VisualShader_method_disconnect_nodes:
 
 - void **disconnect_nodes** **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` from_node, :ref:`int<class_int>` from_port, :ref:`int<class_int>` to_node, :ref:`int<class_int>` to_port **)**
@@ -144,6 +152,10 @@ Method Descriptions
 
 - :ref:`bool<class_bool>` **is_node_connection** **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` from_node, :ref:`int<class_int>` from_port, :ref:`int<class_int>` to_node, :ref:`int<class_int>` to_port **)** const
 
+.. _class_VisualShader_method_rebuild:
+
+- void **rebuild** **(** **)**
+
 .. _class_VisualShader_method_remove_node:
 
 - void **remove_node** **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` id **)**

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


+ 52 - 0
classes/class_visualshadernodeexpression.rst

@@ -0,0 +1,52 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the VisualShaderNodeExpression.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_VisualShaderNodeExpression:
+
+VisualShaderNodeExpression
+==========================
+
+**Inherits:** :ref:`VisualShaderNodeGroupBase<class_VisualShaderNodeGroupBase>` **<** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Properties
+----------
+
++-----------------------------+-------------------------------------------------------------------------+
+| :ref:`String<class_String>` | :ref:`expression<class_VisualShaderNodeExpression_property_expression>` |
++-----------------------------+-------------------------------------------------------------------------+
+
+Methods
+-------
+
++------+-------------------------------------------------------------------------+
+| void | :ref:`build<class_VisualShaderNodeExpression_method_build>` **(** **)** |
++------+-------------------------------------------------------------------------+
+
+Property Descriptions
+---------------------
+
+.. _class_VisualShaderNodeExpression_property_expression:
+
+- :ref:`String<class_String>` **expression**
+
++----------+-----------------------+
+| *Setter* | set_expression(value) |
++----------+-----------------------+
+| *Getter* | get_expression()      |
++----------+-----------------------+
+
+Method Descriptions
+-------------------
+
+.. _class_VisualShaderNodeExpression_method_build:
+
+- void **build** **(** **)**
+

+ 172 - 0
classes/class_visualshadernodegroupbase.rst

@@ -0,0 +1,172 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the VisualShaderNodeGroupBase.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_VisualShaderNodeGroupBase:
+
+VisualShaderNodeGroupBase
+=========================
+
+**Inherits:** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Inherited By:** :ref:`VisualShaderNodeExpression<class_VisualShaderNodeExpression>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Methods
+-------
+
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`add_input_port<class_VisualShaderNodeGroupBase_method_add_input_port>` **(** :ref:`int<class_int>` id, :ref:`int<class_int>` type, :ref:`String<class_String>` name **)**   |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`add_output_port<class_VisualShaderNodeGroupBase_method_add_output_port>` **(** :ref:`int<class_int>` id, :ref:`int<class_int>` type, :ref:`String<class_String>` name **)** |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`clear_input_ports<class_VisualShaderNodeGroupBase_method_clear_input_ports>` **(** **)**                                                                                    |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`clear_output_ports<class_VisualShaderNodeGroupBase_method_clear_output_ports>` **(** **)**                                                                                  |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Control<class_Control>` | :ref:`get_control<class_VisualShaderNodeGroupBase_method_get_control>` **(** :ref:`int<class_int>` index **)**                                                                    |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`get_free_input_port_id<class_VisualShaderNodeGroupBase_method_get_free_input_port_id>` **(** **)** const                                                                    |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`get_free_output_port_id<class_VisualShaderNodeGroupBase_method_get_free_output_port_id>` **(** **)** const                                                                  |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`get_input_port_count<class_VisualShaderNodeGroupBase_method_get_input_port_count>` **(** **)** const                                                                        |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`   | :ref:`get_inputs<class_VisualShaderNodeGroupBase_method_get_inputs>` **(** **)** const                                                                                            |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`get_output_port_count<class_VisualShaderNodeGroupBase_method_get_output_port_count>` **(** **)** const                                                                      |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`   | :ref:`get_outputs<class_VisualShaderNodeGroupBase_method_get_outputs>` **(** **)** const                                                                                          |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>` | :ref:`get_size<class_VisualShaderNodeGroupBase_method_get_size>` **(** **)** const                                                                                                |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`has_input_port<class_VisualShaderNodeGroupBase_method_has_input_port>` **(** :ref:`int<class_int>` id **)** const                                                           |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`has_output_port<class_VisualShaderNodeGroupBase_method_has_output_port>` **(** :ref:`int<class_int>` id **)** const                                                         |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`remove_input_port<class_VisualShaderNodeGroupBase_method_remove_input_port>` **(** :ref:`int<class_int>` id **)**                                                           |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`remove_output_port<class_VisualShaderNodeGroupBase_method_remove_output_port>` **(** :ref:`int<class_int>` id **)**                                                         |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`set_control<class_VisualShaderNodeGroupBase_method_set_control>` **(** :ref:`Control<class_Control>` control, :ref:`int<class_int>` index **)**                             |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`set_input_port_name<class_VisualShaderNodeGroupBase_method_set_input_port_name>` **(** :ref:`int<class_int>` arg0, :ref:`String<class_String>` arg1 **)**                   |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`set_input_port_type<class_VisualShaderNodeGroupBase_method_set_input_port_type>` **(** :ref:`int<class_int>` arg0, :ref:`int<class_int>` arg1 **)**                         |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`set_inputs<class_VisualShaderNodeGroupBase_method_set_inputs>` **(** :ref:`String<class_String>` inputs **)**                                                               |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`set_output_port_name<class_VisualShaderNodeGroupBase_method_set_output_port_name>` **(** :ref:`int<class_int>` arg0, :ref:`String<class_String>` arg1 **)**                 |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`set_output_port_type<class_VisualShaderNodeGroupBase_method_set_output_port_type>` **(** :ref:`int<class_int>` arg0, :ref:`int<class_int>` arg1 **)**                       |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`set_outputs<class_VisualShaderNodeGroupBase_method_set_outputs>` **(** :ref:`String<class_String>` outputs **)**                                                            |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`set_size<class_VisualShaderNodeGroupBase_method_set_size>` **(** :ref:`Vector2<class_Vector2>` size **)**                                                                   |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Method Descriptions
+-------------------
+
+.. _class_VisualShaderNodeGroupBase_method_add_input_port:
+
+- void **add_input_port** **(** :ref:`int<class_int>` id, :ref:`int<class_int>` type, :ref:`String<class_String>` name **)**
+
+.. _class_VisualShaderNodeGroupBase_method_add_output_port:
+
+- void **add_output_port** **(** :ref:`int<class_int>` id, :ref:`int<class_int>` type, :ref:`String<class_String>` name **)**
+
+.. _class_VisualShaderNodeGroupBase_method_clear_input_ports:
+
+- void **clear_input_ports** **(** **)**
+
+.. _class_VisualShaderNodeGroupBase_method_clear_output_ports:
+
+- void **clear_output_ports** **(** **)**
+
+.. _class_VisualShaderNodeGroupBase_method_get_control:
+
+- :ref:`Control<class_Control>` **get_control** **(** :ref:`int<class_int>` index **)**
+
+.. _class_VisualShaderNodeGroupBase_method_get_free_input_port_id:
+
+- :ref:`int<class_int>` **get_free_input_port_id** **(** **)** const
+
+.. _class_VisualShaderNodeGroupBase_method_get_free_output_port_id:
+
+- :ref:`int<class_int>` **get_free_output_port_id** **(** **)** const
+
+.. _class_VisualShaderNodeGroupBase_method_get_input_port_count:
+
+- :ref:`int<class_int>` **get_input_port_count** **(** **)** const
+
+.. _class_VisualShaderNodeGroupBase_method_get_inputs:
+
+- :ref:`String<class_String>` **get_inputs** **(** **)** const
+
+.. _class_VisualShaderNodeGroupBase_method_get_output_port_count:
+
+- :ref:`int<class_int>` **get_output_port_count** **(** **)** const
+
+.. _class_VisualShaderNodeGroupBase_method_get_outputs:
+
+- :ref:`String<class_String>` **get_outputs** **(** **)** const
+
+.. _class_VisualShaderNodeGroupBase_method_get_size:
+
+- :ref:`Vector2<class_Vector2>` **get_size** **(** **)** const
+
+.. _class_VisualShaderNodeGroupBase_method_has_input_port:
+
+- :ref:`bool<class_bool>` **has_input_port** **(** :ref:`int<class_int>` id **)** const
+
+.. _class_VisualShaderNodeGroupBase_method_has_output_port:
+
+- :ref:`bool<class_bool>` **has_output_port** **(** :ref:`int<class_int>` id **)** const
+
+.. _class_VisualShaderNodeGroupBase_method_remove_input_port:
+
+- void **remove_input_port** **(** :ref:`int<class_int>` id **)**
+
+.. _class_VisualShaderNodeGroupBase_method_remove_output_port:
+
+- void **remove_output_port** **(** :ref:`int<class_int>` id **)**
+
+.. _class_VisualShaderNodeGroupBase_method_set_control:
+
+- void **set_control** **(** :ref:`Control<class_Control>` control, :ref:`int<class_int>` index **)**
+
+.. _class_VisualShaderNodeGroupBase_method_set_input_port_name:
+
+- void **set_input_port_name** **(** :ref:`int<class_int>` arg0, :ref:`String<class_String>` arg1 **)**
+
+.. _class_VisualShaderNodeGroupBase_method_set_input_port_type:
+
+- void **set_input_port_type** **(** :ref:`int<class_int>` arg0, :ref:`int<class_int>` arg1 **)**
+
+.. _class_VisualShaderNodeGroupBase_method_set_inputs:
+
+- void **set_inputs** **(** :ref:`String<class_String>` inputs **)**
+
+.. _class_VisualShaderNodeGroupBase_method_set_output_port_name:
+
+- void **set_output_port_name** **(** :ref:`int<class_int>` arg0, :ref:`String<class_String>` arg1 **)**
+
+.. _class_VisualShaderNodeGroupBase_method_set_output_port_type:
+
+- void **set_output_port_type** **(** :ref:`int<class_int>` arg0, :ref:`int<class_int>` arg1 **)**
+
+.. _class_VisualShaderNodeGroupBase_method_set_outputs:
+
+- void **set_outputs** **(** :ref:`String<class_String>` outputs **)**
+
+.. _class_VisualShaderNodeGroupBase_method_set_size:
+
+- void **set_size** **(** :ref:`Vector2<class_Vector2>` size **)**
+

+ 149 - 0
classes/class_webrtcdatachannel.rst

@@ -0,0 +1,149 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the WebRTCDataChannel.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_WebRTCDataChannel:
+
+WebRTCDataChannel
+=================
+
+**Inherits:** :ref:`PacketPeer<class_PacketPeer>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Inherited By:** :ref:`WebRTCDataChannelGDNative<class_WebRTCDataChannelGDNative>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Properties
+----------
+
++----------------------------------------------------+----------------------------------------------------------------+
+| :ref:`WriteMode<enum_WebRTCDataChannel_WriteMode>` | :ref:`write_mode<class_WebRTCDataChannel_property_write_mode>` |
++----------------------------------------------------+----------------------------------------------------------------+
+
+Methods
+-------
+
++----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| void                                                     | :ref:`close<class_WebRTCDataChannel_method_close>` **(** **)**                                             |
++----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                    | :ref:`get_id<class_WebRTCDataChannel_method_get_id>` **(** **)** const                                     |
++----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                              | :ref:`get_label<class_WebRTCDataChannel_method_get_label>` **(** **)** const                               |
++----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                    | :ref:`get_max_packet_life_time<class_WebRTCDataChannel_method_get_max_packet_life_time>` **(** **)** const |
++----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                    | :ref:`get_max_retransmits<class_WebRTCDataChannel_method_get_max_retransmits>` **(** **)** const           |
++----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                              | :ref:`get_protocol<class_WebRTCDataChannel_method_get_protocol>` **(** **)** const                         |
++----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| :ref:`ChannelState<enum_WebRTCDataChannel_ChannelState>` | :ref:`get_ready_state<class_WebRTCDataChannel_method_get_ready_state>` **(** **)** const                   |
++----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                  | :ref:`is_negotiated<class_WebRTCDataChannel_method_is_negotiated>` **(** **)** const                       |
++----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                  | :ref:`is_ordered<class_WebRTCDataChannel_method_is_ordered>` **(** **)** const                             |
++----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`                    | :ref:`poll<class_WebRTCDataChannel_method_poll>` **(** **)**                                               |
++----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                  | :ref:`was_string_packet<class_WebRTCDataChannel_method_was_string_packet>` **(** **)** const               |
++----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+
+Enumerations
+------------
+
+.. _enum_WebRTCDataChannel_WriteMode:
+
+.. _class_WebRTCDataChannel_constant_WRITE_MODE_TEXT:
+
+.. _class_WebRTCDataChannel_constant_WRITE_MODE_BINARY:
+
+enum **WriteMode**:
+
+- **WRITE_MODE_TEXT** = **0**
+
+- **WRITE_MODE_BINARY** = **1**
+
+.. _enum_WebRTCDataChannel_ChannelState:
+
+.. _class_WebRTCDataChannel_constant_STATE_CONNECTING:
+
+.. _class_WebRTCDataChannel_constant_STATE_OPEN:
+
+.. _class_WebRTCDataChannel_constant_STATE_CLOSING:
+
+.. _class_WebRTCDataChannel_constant_STATE_CLOSED:
+
+enum **ChannelState**:
+
+- **STATE_CONNECTING** = **0**
+
+- **STATE_OPEN** = **1**
+
+- **STATE_CLOSING** = **2**
+
+- **STATE_CLOSED** = **3**
+
+Property Descriptions
+---------------------
+
+.. _class_WebRTCDataChannel_property_write_mode:
+
+- :ref:`WriteMode<enum_WebRTCDataChannel_WriteMode>` **write_mode**
+
++----------+-----------------------+
+| *Setter* | set_write_mode(value) |
++----------+-----------------------+
+| *Getter* | get_write_mode()      |
++----------+-----------------------+
+
+Method Descriptions
+-------------------
+
+.. _class_WebRTCDataChannel_method_close:
+
+- void **close** **(** **)**
+
+.. _class_WebRTCDataChannel_method_get_id:
+
+- :ref:`int<class_int>` **get_id** **(** **)** const
+
+.. _class_WebRTCDataChannel_method_get_label:
+
+- :ref:`String<class_String>` **get_label** **(** **)** const
+
+.. _class_WebRTCDataChannel_method_get_max_packet_life_time:
+
+- :ref:`int<class_int>` **get_max_packet_life_time** **(** **)** const
+
+.. _class_WebRTCDataChannel_method_get_max_retransmits:
+
+- :ref:`int<class_int>` **get_max_retransmits** **(** **)** const
+
+.. _class_WebRTCDataChannel_method_get_protocol:
+
+- :ref:`String<class_String>` **get_protocol** **(** **)** const
+
+.. _class_WebRTCDataChannel_method_get_ready_state:
+
+- :ref:`ChannelState<enum_WebRTCDataChannel_ChannelState>` **get_ready_state** **(** **)** const
+
+.. _class_WebRTCDataChannel_method_is_negotiated:
+
+- :ref:`bool<class_bool>` **is_negotiated** **(** **)** const
+
+.. _class_WebRTCDataChannel_method_is_ordered:
+
+- :ref:`bool<class_bool>` **is_ordered** **(** **)** const
+
+.. _class_WebRTCDataChannel_method_poll:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **poll** **(** **)**
+
+.. _class_WebRTCDataChannel_method_was_string_packet:
+
+- :ref:`bool<class_bool>` **was_string_packet** **(** **)** const
+

+ 18 - 0
classes/class_webrtcdatachannelgdnative.rst

@@ -0,0 +1,18 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the WebRTCDataChannelGDNative.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_WebRTCDataChannelGDNative:
+
+WebRTCDataChannelGDNative
+=========================
+
+**Inherits:** :ref:`WebRTCDataChannel<class_WebRTCDataChannel>` **<** :ref:`PacketPeer<class_PacketPeer>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+

+ 0 - 144
classes/class_webrtcpeer.rst

@@ -1,144 +0,0 @@
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
-.. DO NOT EDIT THIS FILE, but the WebRTCPeer.xml source instead.
-.. The source is found in doc/classes or modules/<name>/doc_classes.
-
-.. _class_WebRTCPeer:
-
-WebRTCPeer
-==========
-
-**Inherits:** :ref:`PacketPeer<class_PacketPeer>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
-
-**Inherited By:** :ref:`WebRTCPeerGDNative<class_WebRTCPeerGDNative>`
-
-**Category:** Core
-
-Brief Description
------------------
-
-
-
-Properties
-----------
-
-+---------------------------------------------+---------------------------------------------------------+
-| :ref:`WriteMode<enum_WebRTCPeer_WriteMode>` | :ref:`write_mode<class_WebRTCPeer_property_write_mode>` |
-+---------------------------------------------+---------------------------------------------------------+
-
-Methods
--------
-
-+---------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`                   | :ref:`add_ice_candidate<class_WebRTCPeer_method_add_ice_candidate>` **(** :ref:`String<class_String>` media, :ref:`int<class_int>` index, :ref:`String<class_String>` name **)** |
-+---------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`                   | :ref:`create_offer<class_WebRTCPeer_method_create_offer>` **(** **)**                                                                                                            |
-+---------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`ConnectionState<enum_WebRTCPeer_ConnectionState>` | :ref:`get_connection_state<class_WebRTCPeer_method_get_connection_state>` **(** **)** const                                                                                      |
-+---------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`                   | :ref:`poll<class_WebRTCPeer_method_poll>` **(** **)**                                                                                                                            |
-+---------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`                   | :ref:`set_local_description<class_WebRTCPeer_method_set_local_description>` **(** :ref:`String<class_String>` type, :ref:`String<class_String>` sdp **)**                        |
-+---------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`                   | :ref:`set_remote_description<class_WebRTCPeer_method_set_remote_description>` **(** :ref:`String<class_String>` type, :ref:`String<class_String>` sdp **)**                      |
-+---------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                 | :ref:`was_string_packet<class_WebRTCPeer_method_was_string_packet>` **(** **)** const                                                                                            |
-+---------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-Signals
--------
-
-.. _class_WebRTCPeer_signal_new_ice_candidate:
-
-- **new_ice_candidate** **(** :ref:`String<class_String>` media, :ref:`int<class_int>` index, :ref:`String<class_String>` name **)**
-
-.. _class_WebRTCPeer_signal_offer_created:
-
-- **offer_created** **(** :ref:`String<class_String>` type, :ref:`String<class_String>` sdp **)**
-
-Enumerations
-------------
-
-.. _enum_WebRTCPeer_WriteMode:
-
-.. _class_WebRTCPeer_constant_WRITE_MODE_TEXT:
-
-.. _class_WebRTCPeer_constant_WRITE_MODE_BINARY:
-
-enum **WriteMode**:
-
-- **WRITE_MODE_TEXT** = **0**
-
-- **WRITE_MODE_BINARY** = **1**
-
-.. _enum_WebRTCPeer_ConnectionState:
-
-.. _class_WebRTCPeer_constant_STATE_NEW:
-
-.. _class_WebRTCPeer_constant_STATE_CONNECTING:
-
-.. _class_WebRTCPeer_constant_STATE_CONNECTED:
-
-.. _class_WebRTCPeer_constant_STATE_DISCONNECTED:
-
-.. _class_WebRTCPeer_constant_STATE_FAILED:
-
-.. _class_WebRTCPeer_constant_STATE_CLOSED:
-
-enum **ConnectionState**:
-
-- **STATE_NEW** = **0**
-
-- **STATE_CONNECTING** = **1**
-
-- **STATE_CONNECTED** = **2**
-
-- **STATE_DISCONNECTED** = **3**
-
-- **STATE_FAILED** = **4**
-
-- **STATE_CLOSED** = **5**
-
-Property Descriptions
----------------------
-
-.. _class_WebRTCPeer_property_write_mode:
-
-- :ref:`WriteMode<enum_WebRTCPeer_WriteMode>` **write_mode**
-
-+----------+-----------------------+
-| *Setter* | set_write_mode(value) |
-+----------+-----------------------+
-| *Getter* | get_write_mode()      |
-+----------+-----------------------+
-
-Method Descriptions
--------------------
-
-.. _class_WebRTCPeer_method_add_ice_candidate:
-
-- :ref:`Error<enum_@GlobalScope_Error>` **add_ice_candidate** **(** :ref:`String<class_String>` media, :ref:`int<class_int>` index, :ref:`String<class_String>` name **)**
-
-.. _class_WebRTCPeer_method_create_offer:
-
-- :ref:`Error<enum_@GlobalScope_Error>` **create_offer** **(** **)**
-
-.. _class_WebRTCPeer_method_get_connection_state:
-
-- :ref:`ConnectionState<enum_WebRTCPeer_ConnectionState>` **get_connection_state** **(** **)** const
-
-.. _class_WebRTCPeer_method_poll:
-
-- :ref:`Error<enum_@GlobalScope_Error>` **poll** **(** **)**
-
-.. _class_WebRTCPeer_method_set_local_description:
-
-- :ref:`Error<enum_@GlobalScope_Error>` **set_local_description** **(** :ref:`String<class_String>` type, :ref:`String<class_String>` sdp **)**
-
-.. _class_WebRTCPeer_method_set_remote_description:
-
-- :ref:`Error<enum_@GlobalScope_Error>` **set_remote_description** **(** :ref:`String<class_String>` type, :ref:`String<class_String>` sdp **)**
-
-.. _class_WebRTCPeer_method_was_string_packet:
-
-- :ref:`bool<class_bool>` **was_string_packet** **(** **)** const
-

+ 128 - 0
classes/class_webrtcpeerconnection.rst

@@ -0,0 +1,128 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the WebRTCPeerConnection.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_WebRTCPeerConnection:
+
+WebRTCPeerConnection
+====================
+
+**Inherits:** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Inherited By:** :ref:`WebRTCPeerConnectionGDNative<class_WebRTCPeerConnectionGDNative>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Methods
+-------
+
++-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`                             | :ref:`add_ice_candidate<class_WebRTCPeerConnection_method_add_ice_candidate>` **(** :ref:`String<class_String>` media, :ref:`int<class_int>` index, :ref:`String<class_String>` name **)** |
++-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                              | :ref:`close<class_WebRTCPeerConnection_method_close>` **(** **)**                                                                                                                          |
++-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`WebRTCDataChannel<class_WebRTCDataChannel>`                 | :ref:`create_data_channel<class_WebRTCPeerConnection_method_create_data_channel>` **(** :ref:`String<class_String>` label, :ref:`Dictionary<class_Dictionary>` options={  } **)**          |
++-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`                             | :ref:`create_offer<class_WebRTCPeerConnection_method_create_offer>` **(** **)**                                                                                                            |
++-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`ConnectionState<enum_WebRTCPeerConnection_ConnectionState>` | :ref:`get_connection_state<class_WebRTCPeerConnection_method_get_connection_state>` **(** **)** const                                                                                      |
++-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`                             | :ref:`initialize<class_WebRTCPeerConnection_method_initialize>` **(** :ref:`Dictionary<class_Dictionary>` configuration={  } **)**                                                         |
++-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`                             | :ref:`poll<class_WebRTCPeerConnection_method_poll>` **(** **)**                                                                                                                            |
++-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`                             | :ref:`set_local_description<class_WebRTCPeerConnection_method_set_local_description>` **(** :ref:`String<class_String>` type, :ref:`String<class_String>` sdp **)**                        |
++-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`                             | :ref:`set_remote_description<class_WebRTCPeerConnection_method_set_remote_description>` **(** :ref:`String<class_String>` type, :ref:`String<class_String>` sdp **)**                      |
++-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Signals
+-------
+
+.. _class_WebRTCPeerConnection_signal_data_channel_received:
+
+- **data_channel_received** **(** :ref:`Object<class_Object>` channel **)**
+
+.. _class_WebRTCPeerConnection_signal_ice_candidate_created:
+
+- **ice_candidate_created** **(** :ref:`String<class_String>` media, :ref:`int<class_int>` index, :ref:`String<class_String>` name **)**
+
+.. _class_WebRTCPeerConnection_signal_session_description_created:
+
+- **session_description_created** **(** :ref:`String<class_String>` type, :ref:`String<class_String>` sdp **)**
+
+Enumerations
+------------
+
+.. _enum_WebRTCPeerConnection_ConnectionState:
+
+.. _class_WebRTCPeerConnection_constant_STATE_NEW:
+
+.. _class_WebRTCPeerConnection_constant_STATE_CONNECTING:
+
+.. _class_WebRTCPeerConnection_constant_STATE_CONNECTED:
+
+.. _class_WebRTCPeerConnection_constant_STATE_DISCONNECTED:
+
+.. _class_WebRTCPeerConnection_constant_STATE_FAILED:
+
+.. _class_WebRTCPeerConnection_constant_STATE_CLOSED:
+
+enum **ConnectionState**:
+
+- **STATE_NEW** = **0**
+
+- **STATE_CONNECTING** = **1**
+
+- **STATE_CONNECTED** = **2**
+
+- **STATE_DISCONNECTED** = **3**
+
+- **STATE_FAILED** = **4**
+
+- **STATE_CLOSED** = **5**
+
+Method Descriptions
+-------------------
+
+.. _class_WebRTCPeerConnection_method_add_ice_candidate:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **add_ice_candidate** **(** :ref:`String<class_String>` media, :ref:`int<class_int>` index, :ref:`String<class_String>` name **)**
+
+.. _class_WebRTCPeerConnection_method_close:
+
+- void **close** **(** **)**
+
+.. _class_WebRTCPeerConnection_method_create_data_channel:
+
+- :ref:`WebRTCDataChannel<class_WebRTCDataChannel>` **create_data_channel** **(** :ref:`String<class_String>` label, :ref:`Dictionary<class_Dictionary>` options={  } **)**
+
+.. _class_WebRTCPeerConnection_method_create_offer:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **create_offer** **(** **)**
+
+.. _class_WebRTCPeerConnection_method_get_connection_state:
+
+- :ref:`ConnectionState<enum_WebRTCPeerConnection_ConnectionState>` **get_connection_state** **(** **)** const
+
+.. _class_WebRTCPeerConnection_method_initialize:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **initialize** **(** :ref:`Dictionary<class_Dictionary>` configuration={  } **)**
+
+.. _class_WebRTCPeerConnection_method_poll:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **poll** **(** **)**
+
+.. _class_WebRTCPeerConnection_method_set_local_description:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **set_local_description** **(** :ref:`String<class_String>` type, :ref:`String<class_String>` sdp **)**
+
+.. _class_WebRTCPeerConnection_method_set_remote_description:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **set_remote_description** **(** :ref:`String<class_String>` type, :ref:`String<class_String>` sdp **)**
+

+ 18 - 0
classes/class_webrtcpeerconnectiongdnative.rst

@@ -0,0 +1,18 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the WebRTCPeerConnectionGDNative.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_WebRTCPeerConnectionGDNative:
+
+WebRTCPeerConnectionGDNative
+============================
+
+**Inherits:** :ref:`WebRTCPeerConnection<class_WebRTCPeerConnection>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+

+ 0 - 18
classes/class_webrtcpeergdnative.rst

@@ -1,18 +0,0 @@
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
-.. DO NOT EDIT THIS FILE, but the WebRTCPeerGDNative.xml source instead.
-.. The source is found in doc/classes or modules/<name>/doc_classes.
-
-.. _class_WebRTCPeerGDNative:
-
-WebRTCPeerGDNative
-==================
-
-**Inherits:** :ref:`WebRTCPeer<class_WebRTCPeer>` **<** :ref:`PacketPeer<class_PacketPeer>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
-
-**Category:** Core
-
-Brief Description
------------------
-
-
-

+ 1 - 1
classes/class_windowdialog.rst

@@ -96,5 +96,5 @@ Method Descriptions
 
 - :ref:`TextureButton<class_TextureButton>` **get_close_button** **(** **)**
 
-Return the close :ref:`TextureButton<class_TextureButton>`.
+Returns the close :ref:`TextureButton<class_TextureButton>`.
 

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