Browse Source

Sync classref with current source

Rémi Verschelde 5 năm trước cách đây
mục cha
commit
acb2260336
100 tập tin đã thay đổi với 1569 bổ sung2060 xóa
  1. 2 2
      classes/[email protected]
  2. 11 8
      classes/class_animationnode.rst
  3. 5 0
      classes/class_animationnodeadd2.rst
  4. 5 0
      classes/class_animationnodeadd3.rst
  5. 5 0
      classes/class_animationnodeanimation.rst
  6. 5 0
      classes/class_animationnodeblend2.rst
  7. 5 0
      classes/class_animationnodeblend3.rst
  8. 9 4
      classes/class_animationnodeblendspace1d.rst
  9. 10 5
      classes/class_animationnodeblendspace2d.rst
  10. 5 0
      classes/class_animationnodeblendtree.rst
  11. 5 0
      classes/class_animationnodeoneshot.rst
  12. 5 0
      classes/class_animationnodeoutput.rst
  13. 8 3
      classes/class_animationnodestatemachine.rst
  14. 8 1
      classes/class_animationnodestatemachineplayback.rst
  15. 9 2
      classes/class_animationnodestatemachinetransition.rst
  16. 5 0
      classes/class_animationnodetimescale.rst
  17. 5 0
      classes/class_animationnodetimeseek.rst
  18. 10 901
      classes/class_animationnodetransition.rst
  19. 35 40
      classes/class_animationtreeplayer.rst
  20. 5 5
      classes/class_array.rst
  21. 6 4
      classes/class_arraymesh.rst
  22. 2 2
      classes/class_arvranchor.rst
  23. 5 0
      classes/class_arvrcamera.rst
  24. 5 0
      classes/class_arvrcontroller.rst
  25. 6 1
      classes/class_arvrinterface.rst
  26. 5 0
      classes/class_arvrorigin.rst
  27. 5 0
      classes/class_arvrpositionaltracker.rst
  28. 20 7
      classes/class_arvrserver.rst
  29. 1 1
      classes/class_astar2d.rst
  30. 14 4
      classes/class_audioserver.rst
  31. 1 1
      classes/class_bitmapfont.rst
  32. 1 1
      classes/class_bool.rst
  33. 10 3
      classes/class_cameraserver.rst
  34. 5 0
      classes/class_cameratexture.rst
  35. 27 23
      classes/class_canvasitem.rst
  36. 16 0
      classes/class_canvasitemmaterial.rst
  37. 5 5
      classes/class_color.rst
  38. 16 0
      classes/class_cpuparticles.rst
  39. 16 16
      classes/class_cpuparticles2d.rst
  40. 3 1
      classes/class_csgmesh.rst
  41. 5 0
      classes/class_csgprimitive.rst
  42. 4 0
      classes/class_csgshape.rst
  43. 60 4
      classes/class_dictionary.rst
  44. 1 1
      classes/class_directory.rst
  45. 1 1
      classes/class_editorinspectorplugin.rst
  46. 1 1
      classes/class_editorspatialgizmoplugin.rst
  47. 5 5
      classes/class_editorvcsinterface.rst
  48. 8 8
      classes/class_geometry.rst
  49. 37 4
      classes/class_giprobe.rst
  50. 2 2
      classes/class_graphnode.rst
  51. 1 1
      classes/class_httpclient.rst
  52. 1 1
      classes/class_httprequest.rst
  53. 2 2
      classes/class_input.rst
  54. 1 1
      classes/class_inputevent.rst
  55. 7 7
      classes/class_int.rst
  56. 6 4
      classes/class_lineedit.rst
  57. 5 3
      classes/class_menubutton.rst
  58. 1 1
      classes/class_meshinstance2d.rst
  59. 2 2
      classes/class_networkedmultiplayerenet.rst
  60. 1 1
      classes/class_node.rst
  61. 2 2
      classes/class_object.rst
  62. 200 200
      classes/class_os.rst
  63. 1 1
      classes/class_physicsserver.rst
  64. 607 559
      classes/class_projectsettings.rst
  65. 23 3
      classes/class_reflectionprobe.rst
  66. 1 1
      classes/class_regex.rst
  67. 1 1
      classes/class_shader.rst
  68. 4 2
      classes/class_spatialmaterial.rst
  69. 1 1
      classes/class_textedit.rst
  70. 9 9
      classes/class_visualinstance.rst
  71. 1 1
      classes/class_visualscriptbuiltinfunc.rst
  72. 2 2
      classes/class_visualscriptenginesingleton.rst
  73. 8 8
      classes/class_visualscriptmathconstant.rst
  74. 3 3
      classes/class_visualserver.rst
  75. 31 15
      classes/class_visualshadernode.rst
  76. 12 5
      classes/class_visualshadernodebooleanconstant.rst
  77. 5 0
      classes/class_visualshadernodebooleanuniform.rst
  78. 9 2
      classes/class_visualshadernodecolorconstant.rst
  79. 25 2
      classes/class_visualshadernodecolorfunc.rst
  80. 79 14
      classes/class_visualshadernodecolorop.rst
  81. 5 0
      classes/class_visualshadernodecoloruniform.rst
  82. 35 26
      classes/class_visualshadernodecompare.rst
  83. 7 9
      classes/class_visualshadernodecubemap.rst
  84. 0 7
      classes/class_visualshadernodecustom.rst
  85. 0 7
      classes/class_visualshadernodedeterminant.rst
  86. 0 7
      classes/class_visualshadernodedotproduct.rst
  87. 0 7
      classes/class_visualshadernodefaceforward.rst
  88. 0 7
      classes/class_visualshadernodefresnel.rst
  89. 3 5
      classes/class_visualshadernodegroupbase.rst
  90. 0 7
      classes/class_visualshadernodeif.rst
  91. 3 5
      classes/class_visualshadernodeinput.rst
  92. 3 5
      classes/class_visualshadernodeis.rst
  93. 0 7
      classes/class_visualshadernodeouterproduct.rst
  94. 0 7
      classes/class_visualshadernodescalarclamp.rst
  95. 3 5
      classes/class_visualshadernodescalarconstant.rst
  96. 3 5
      classes/class_visualshadernodescalarderivativefunc.rst
  97. 3 5
      classes/class_visualshadernodescalarfunc.rst
  98. 0 7
      classes/class_visualshadernodescalarinterp.rst
  99. 3 5
      classes/class_visualshadernodescalarop.rst
  100. 0 7
      classes/class_visualshadernodescalarsmoothstep.rst

+ 2 - 2
classes/[email protected]

@@ -1671,10 +1671,10 @@ Since :ref:`OK<class_@GlobalScope_constant_OK>` has value 0, and all other failu
 ::
 
     var err = method_that_returns_error()
-    if (err != OK):
+    if err != OK:
         print("Failure!)
     # Or, equivalent:
-    if (err):
+    if err:
         print("Still failing!)
 
 - **FAILED** = **1** --- Generic error.

+ 11 - 8
classes/class_animationnode.rst

@@ -22,6 +22,11 @@ Base resource for :ref:`AnimationTree<class_AnimationTree>` nodes. In general, i
 
 Inherit this when creating nodes mainly for use in :ref:`AnimationNodeBlendTree<class_AnimationNodeBlendTree>`, otherwise :ref:`AnimationRootNode<class_AnimationRootNode>` should be used instead.
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
 Properties
 ----------
 
@@ -132,7 +137,7 @@ Method Descriptions
 
 - void **add_input** **(** :ref:`String<class_String>` name **)**
 
-Adds an input to the node. This is only useful for nodes created for use in an :ref:`AnimationNodeBlendTree<class_AnimationNodeBlendTree>`
+Adds an input to the node. This is only useful for nodes created for use in an :ref:`AnimationNodeBlendTree<class_AnimationNodeBlendTree>`.
 
 ----
 
@@ -140,7 +145,7 @@ Adds an input to the node. This is only useful for nodes created for use in an :
 
 - void **blend_animation** **(** :ref:`String<class_String>` animation, :ref:`float<class_float>` time, :ref:`float<class_float>` delta, :ref:`bool<class_bool>` seeked, :ref:`float<class_float>` blend **)**
 
-Blend an animation by "blend" amount (name must be valid in the linked :ref:`AnimationPlayer<class_AnimationPlayer>`). A time and delta mas be passed, as well as whether seek happened.
+Blend an animation by ``blend`` amount (name must be valid in the linked :ref:`AnimationPlayer<class_AnimationPlayer>`). A ``time`` and ``delta`` may be passed, as well as whether ``seek`` happened.
 
 ----
 
@@ -148,7 +153,7 @@ Blend an animation by "blend" amount (name must be valid in the linked :ref:`Ani
 
 - :ref:`float<class_float>` **blend_input** **(** :ref:`int<class_int>` input_index, :ref:`float<class_float>` time, :ref:`bool<class_bool>` seek, :ref:`float<class_float>` blend, :ref:`FilterAction<enum_AnimationNode_FilterAction>` filter=0, :ref:`bool<class_bool>` optimize=true **)**
 
-Blend an input. This is only useful for nodes created for an :ref:`AnimationNodeBlendTree<class_AnimationNodeBlendTree>`. Time is a delta, unless "seek" is ``true``, in which case it is absolute. A filter mode may be optionally passed.
+Blend an input. This is only useful for nodes created for an :ref:`AnimationNodeBlendTree<class_AnimationNodeBlendTree>`. The ``time`` parameter is a relative delta, unless ``seek`` is ``true``, in which case it is absolute. A filter mode may be optionally passed (see :ref:`FilterAction<enum_AnimationNode_FilterAction>` for options).
 
 ----
 
@@ -244,13 +249,11 @@ Returns ``true`` whether a given path is filtered.
 
 - void **process** **(** :ref:`float<class_float>` time, :ref:`bool<class_bool>` seek **)** virtual
 
-Called when a custom node is processed. The argument "time" is relative, unless "seek" is ``true`` (in which case it is absolute).
-
-Here, call the :ref:`blend_input<class_AnimationNode_method_blend_input>`, :ref:`blend_node<class_AnimationNode_method_blend_node>` or :ref:`blend_animation<class_AnimationNode_method_blend_animation>` functions.
+User-defined callback called when a custom node is processed. The ``time`` parameter is a relative delta, unless ``seek`` is ``true``, in which case it is absolute.
 
-You can also use :ref:`get_parameter<class_AnimationNode_method_get_parameter>` and :ref:`set_parameter<class_AnimationNode_method_set_parameter>` to modify local memory.
+Here, call the :ref:`blend_input<class_AnimationNode_method_blend_input>`, :ref:`blend_node<class_AnimationNode_method_blend_node>` or :ref:`blend_animation<class_AnimationNode_method_blend_animation>` functions. You can also use :ref:`get_parameter<class_AnimationNode_method_get_parameter>` and :ref:`set_parameter<class_AnimationNode_method_set_parameter>` to modify local memory.
 
-This function returns the time left for the current animation to finish (if unsure, just pass  the value from the main blend being called).
+This function should return the time left for the current animation to finish (if unsure, pass the value from the main blend being called).
 
 ----
 

+ 5 - 0
classes/class_animationnodeadd2.rst

@@ -18,6 +18,11 @@ Description
 
 A resource to add to an :ref:`AnimationNodeBlendTree<class_AnimationNodeBlendTree>`. Blends two animations additively based on an amount value in the ``[0.0, 1.0]`` range.
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
 Properties
 ----------
 

+ 5 - 0
classes/class_animationnodeadd3.rst

@@ -26,6 +26,11 @@ This node has three inputs:
 
 - A +add animation to blend with when the blend amount is in the ``[0.0, 1.0]`` range
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
 Properties
 ----------
 

+ 5 - 0
classes/class_animationnodeanimation.rst

@@ -18,6 +18,11 @@ Description
 
 A resource to add to an :ref:`AnimationNodeBlendTree<class_AnimationNodeBlendTree>`. Only features one output set using the :ref:`animation<class_AnimationNodeAnimation_property_animation>` property. Use it as an input for :ref:`AnimationNode<class_AnimationNode>` that blend animations together.
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
 Properties
 ----------
 

+ 5 - 0
classes/class_animationnodeblend2.rst

@@ -18,6 +18,11 @@ Description
 
 A resource to add to an :ref:`AnimationNodeBlendTree<class_AnimationNodeBlendTree>`. Blends two animations linearly based on an amount value in the ``[0.0, 1.0]`` range.
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
 Properties
 ----------
 

+ 5 - 0
classes/class_animationnodeblend3.rst

@@ -26,6 +26,11 @@ This node has three inputs:
 
 - A +blend animation to blend with when the blend amount is in the ``[0.0, 1.0]`` range
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
 Properties
 ----------
 

+ 9 - 4
classes/class_animationnodeblendspace1d.rst

@@ -20,10 +20,15 @@ A resource to add to an :ref:`AnimationNodeBlendTree<class_AnimationNodeBlendTre
 
 This is a virtual axis on which you can add any type of :ref:`AnimationNode<class_AnimationNode>` using :ref:`add_blend_point<class_AnimationNodeBlendSpace1D_method_add_blend_point>`.
 
-Outputs the linear blend of the two ``AnimationNode`` closest to the node's current ``value``.
+Outputs the linear blend of the two :ref:`AnimationNode<class_AnimationNode>`\ s closest to the node's current value.
 
 You can set the extents of the axis using the :ref:`min_space<class_AnimationNodeBlendSpace1D_property_min_space>` and :ref:`max_space<class_AnimationNodeBlendSpace1D_property_max_space>`.
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
 Properties
 ----------
 
@@ -128,7 +133,7 @@ Method Descriptions
 
 - void **add_blend_point** **(** :ref:`AnimationRootNode<class_AnimationRootNode>` node, :ref:`float<class_float>` pos, :ref:`int<class_int>` at_index=-1 **)**
 
-Adds a new point that represents a ``node`` on the virtual axis at a given position set by ``pos``. You can insert it at a specific index using the ``at_index`` argument. If you use the default value for ``at_index`` , the point is inserted at the end of the blend points array.
+Adds a new point that represents a ``node`` on the virtual axis at a given position set by ``pos``. You can insert it at a specific index using the ``at_index`` argument. If you use the default value for ``at_index``, the point is inserted at the end of the blend points array.
 
 ----
 
@@ -144,7 +149,7 @@ Returns the number of points on the blend axis.
 
 - :ref:`AnimationRootNode<class_AnimationRootNode>` **get_blend_point_node** **(** :ref:`int<class_int>` point **)** const
 
-Returns the ``AnimationNode`` referenced by the point at index ``point``.
+Returns the :ref:`AnimationNode<class_AnimationNode>` referenced by the point at index ``point``.
 
 ----
 
@@ -168,7 +173,7 @@ Removes the point at index ``point`` from the blend axis.
 
 - void **set_blend_point_node** **(** :ref:`int<class_int>` point, :ref:`AnimationRootNode<class_AnimationRootNode>` node **)**
 
-Changes the AnimationNode referenced by the point at index ``point``.
+Changes the :ref:`AnimationNode<class_AnimationNode>` referenced by the point at index ``point``.
 
 ----
 

+ 10 - 5
classes/class_animationnodeblendspace2d.rst

@@ -11,7 +11,7 @@ AnimationNodeBlendSpace2D
 
 **Inherits:** :ref:`AnimationRootNode<class_AnimationRootNode>` **<** :ref:`AnimationNode<class_AnimationNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
-Blends linearly between three :ref:`AnimationNode<class_AnimationNode>` of any type placed in a 2d space.
+Blends linearly between three :ref:`AnimationNode<class_AnimationNode>` of any type placed in a 2D space.
 
 Description
 -----------
@@ -22,6 +22,11 @@ This node allows you to blend linearly between three animations using a :ref:`Ve
 
 You can add vertices to the blend space with :ref:`add_blend_point<class_AnimationNodeBlendSpace2D_method_add_blend_point>` and automatically triangulate it by setting :ref:`auto_triangles<class_AnimationNodeBlendSpace2D_property_auto_triangles>` to ``true``. Otherwise, use :ref:`add_triangle<class_AnimationNodeBlendSpace2D_method_add_triangle>` and :ref:`remove_triangle<class_AnimationNodeBlendSpace2D_method_remove_triangle>` to create up the blend space by hand.
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
 Properties
 ----------
 
@@ -216,7 +221,7 @@ Method Descriptions
 
 - void **add_blend_point** **(** :ref:`AnimationRootNode<class_AnimationRootNode>` node, :ref:`Vector2<class_Vector2>` pos, :ref:`int<class_int>` at_index=-1 **)**
 
-Adds a new point that represents a ``node`` at the position set by ``pos``. You can insert it at a specific index using the ``at_index`` argument. If you use the default value for ``at_index`` , the point is inserted at the end of the blend points array.
+Adds a new point that represents a ``node`` at the position set by ``pos``. You can insert it at a specific index using the ``at_index`` argument. If you use the default value for ``at_index``, the point is inserted at the end of the blend points array.
 
 ----
 
@@ -224,7 +229,7 @@ Adds a new point that represents a ``node`` at the position set by ``pos``. You
 
 - void **add_triangle** **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y, :ref:`int<class_int>` z, :ref:`int<class_int>` at_index=-1 **)**
 
-Creates a new triangle using three points ``x``, ``y``, and ``z``. Triangles can overlap. You can insert the triangle at a specific index using the ``at_index`` argument. If you use the default value for ``at_index`` , the point is inserted at the end of the blend points array.
+Creates a new triangle using three points ``x``, ``y``, and ``z``. Triangles can overlap. You can insert the triangle at a specific index using the ``at_index`` argument. If you use the default value for ``at_index``, the point is inserted at the end of the blend points array.
 
 ----
 
@@ -240,7 +245,7 @@ Returns the number of points in the blend space.
 
 - :ref:`AnimationRootNode<class_AnimationRootNode>` **get_blend_point_node** **(** :ref:`int<class_int>` point **)** const
 
-Returns the ``AnimationRootNode`` referenced by the point at index ``point``.
+Returns the :ref:`AnimationRootNode<class_AnimationRootNode>` referenced by the point at index ``point``.
 
 ----
 
@@ -288,7 +293,7 @@ Removes the triangle at index ``triangle`` from the blend space.
 
 - void **set_blend_point_node** **(** :ref:`int<class_int>` point, :ref:`AnimationRootNode<class_AnimationRootNode>` node **)**
 
-Changes the AnimationNode referenced by the point at index ``point``.
+Changes the :ref:`AnimationNode<class_AnimationNode>` referenced by the point at index ``point``.
 
 ----
 

+ 5 - 0
classes/class_animationnodeblendtree.rst

@@ -13,6 +13,11 @@ AnimationNodeBlendTree
 
 
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
 Properties
 ----------
 

+ 5 - 0
classes/class_animationnodeoneshot.rst

@@ -13,6 +13,11 @@ AnimationNodeOneShot
 
 
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
 Properties
 ----------
 

+ 5 - 0
classes/class_animationnodeoutput.rst

@@ -13,3 +13,8 @@ AnimationNodeOutput
 
 
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+

+ 8 - 3
classes/class_animationnodestatemachine.rst

@@ -16,7 +16,7 @@ State machine for control of animations.
 Description
 -----------
 
-Contains multiple nodes representing animation states, connected in a graph. Node 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 programmatically.
+Contains multiple nodes representing animation states, connected in a graph. Node transitions can be configured to happen automatically or via code, using a shortest-path algorithm. Retrieve the :ref:`AnimationNodeStateMachinePlayback<class_AnimationNodeStateMachinePlayback>` object from the :ref:`AnimationTree<class_AnimationTree>` node to control it programmatically.
 
 **Example:**
 
@@ -25,6 +25,11 @@ Contains multiple nodes representing animation states, connected in a graph. Nod
     var state_machine = $AnimationTree.get("parameters/playback")
     state_machine.travel("some_state")
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
 Methods
 -------
 
@@ -201,7 +206,7 @@ Deletes the given node from the graph.
 
 - void **remove_transition** **(** :ref:`String<class_String>` from, :ref:`String<class_String>` to **)**
 
-Deletes the given transition.
+Deletes the transition between the two specified nodes.
 
 ----
 
@@ -209,7 +214,7 @@ Deletes the given transition.
 
 - void **remove_transition_by_index** **(** :ref:`int<class_int>` idx **)**
 
-Deletes the given transition.
+Deletes the given transition by index.
 
 ----
 

+ 8 - 1
classes/class_animationnodestatemachineplayback.rst

@@ -11,7 +11,7 @@ AnimationNodeStateMachinePlayback
 
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
-Playback control for AnimationNodeStateMachine.
+Playback control for :ref:`AnimationNodeStateMachine<class_AnimationNodeStateMachine>`.
 
 Description
 -----------
@@ -25,6 +25,11 @@ Allows control of :ref:`AnimationTree<class_AnimationTree>` state machines creat
     var state_machine = $AnimationTree.get("parameters/playback")
     state_machine.travel("some_state")
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
 Properties
 ----------
 
@@ -64,6 +69,8 @@ Returns the currently playing animation state.
 
 - :ref:`PoolStringArray<class_PoolStringArray>` **get_travel_path** **(** **)** const
 
+Returns the current travel path as computed internally by the A\* algorithm.
+
 ----
 
 .. _class_AnimationNodeStateMachinePlayback_method_is_playing:

+ 9 - 2
classes/class_animationnodestatemachinetransition.rst

@@ -13,6 +13,11 @@ AnimationNodeStateMachineTransition
 
 
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
 Properties
 ----------
 
@@ -37,6 +42,8 @@ Signals
 
 - **advance_condition_changed** **(** **)**
 
+Emitted when :ref:`advance_condition<class_AnimationNodeStateMachineTransition_property_advance_condition>` is changed.
+
 Enumerations
 ------------
 
@@ -71,11 +78,11 @@ Property Descriptions
 | *Getter*  | get_advance_condition()      |
 +-----------+------------------------------+
 
-Turn on auto advance when this condition is set. The provided name will become a boolean parameter on the :ref:`AnimationTree<class_AnimationTree>` that can be controlled from code (see `https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html#controlling-from-code <https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html#controlling-from-code>`_). For example, if :ref:`AnimationTree.tree_root<class_AnimationTree_property_tree_root>` is an :ref:`AnimationNodeStateMachine<class_AnimationNodeStateMachine>` and :ref:`advance_condition<class_AnimationNodeStateMachineTransition_property_advance_condition>` is set to "idle":
+Turn on auto advance when this condition is set. The provided name will become a boolean parameter on the :ref:`AnimationTree<class_AnimationTree>` that can be controlled from code (see `https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html#controlling-from-code <https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html#controlling-from-code>`_). For example, if :ref:`AnimationTree.tree_root<class_AnimationTree_property_tree_root>` is an :ref:`AnimationNodeStateMachine<class_AnimationNodeStateMachine>` and :ref:`advance_condition<class_AnimationNodeStateMachineTransition_property_advance_condition>` is set to ``"idle"``:
 
 ::
 
-    $animation_tree["parameters/conditions/idle"] = is_on_floor and linear_velocity.x == 0
+    $animation_tree["parameters/conditions/idle"] = is_on_floor and (linear_velocity.x == 0)
 
 ----
 

+ 5 - 0
classes/class_animationnodetimescale.rst

@@ -13,3 +13,8 @@ AnimationNodeTimeScale
 
 
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+

+ 5 - 0
classes/class_animationnodetimeseek.rst

@@ -13,3 +13,8 @@ AnimationNodeTimeSeek
 
 
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+

+ 10 - 901
classes/class_animationnodetransition.rst

@@ -13,142 +13,19 @@ AnimationNodeTransition
 
 
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
 Properties
 ----------
 
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_0/auto_advance<class_AnimationNodeTransition_property_input_0/auto_advance>`   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_0/name<class_AnimationNodeTransition_property_input_0/name>`                   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_1/auto_advance<class_AnimationNodeTransition_property_input_1/auto_advance>`   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_1/name<class_AnimationNodeTransition_property_input_1/name>`                   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_10/auto_advance<class_AnimationNodeTransition_property_input_10/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_10/name<class_AnimationNodeTransition_property_input_10/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_11/auto_advance<class_AnimationNodeTransition_property_input_11/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_11/name<class_AnimationNodeTransition_property_input_11/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_12/auto_advance<class_AnimationNodeTransition_property_input_12/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_12/name<class_AnimationNodeTransition_property_input_12/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_13/auto_advance<class_AnimationNodeTransition_property_input_13/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_13/name<class_AnimationNodeTransition_property_input_13/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_14/auto_advance<class_AnimationNodeTransition_property_input_14/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_14/name<class_AnimationNodeTransition_property_input_14/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_15/auto_advance<class_AnimationNodeTransition_property_input_15/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_15/name<class_AnimationNodeTransition_property_input_15/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_16/auto_advance<class_AnimationNodeTransition_property_input_16/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_16/name<class_AnimationNodeTransition_property_input_16/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_17/auto_advance<class_AnimationNodeTransition_property_input_17/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_17/name<class_AnimationNodeTransition_property_input_17/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_18/auto_advance<class_AnimationNodeTransition_property_input_18/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_18/name<class_AnimationNodeTransition_property_input_18/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_19/auto_advance<class_AnimationNodeTransition_property_input_19/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_19/name<class_AnimationNodeTransition_property_input_19/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_2/auto_advance<class_AnimationNodeTransition_property_input_2/auto_advance>`   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_2/name<class_AnimationNodeTransition_property_input_2/name>`                   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_20/auto_advance<class_AnimationNodeTransition_property_input_20/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_20/name<class_AnimationNodeTransition_property_input_20/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_21/auto_advance<class_AnimationNodeTransition_property_input_21/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_21/name<class_AnimationNodeTransition_property_input_21/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_22/auto_advance<class_AnimationNodeTransition_property_input_22/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_22/name<class_AnimationNodeTransition_property_input_22/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_23/auto_advance<class_AnimationNodeTransition_property_input_23/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_23/name<class_AnimationNodeTransition_property_input_23/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_24/auto_advance<class_AnimationNodeTransition_property_input_24/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_24/name<class_AnimationNodeTransition_property_input_24/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_25/auto_advance<class_AnimationNodeTransition_property_input_25/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_25/name<class_AnimationNodeTransition_property_input_25/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_26/auto_advance<class_AnimationNodeTransition_property_input_26/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_26/name<class_AnimationNodeTransition_property_input_26/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_27/auto_advance<class_AnimationNodeTransition_property_input_27/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_27/name<class_AnimationNodeTransition_property_input_27/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_28/auto_advance<class_AnimationNodeTransition_property_input_28/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_28/name<class_AnimationNodeTransition_property_input_28/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_29/auto_advance<class_AnimationNodeTransition_property_input_29/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_29/name<class_AnimationNodeTransition_property_input_29/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_3/auto_advance<class_AnimationNodeTransition_property_input_3/auto_advance>`   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_3/name<class_AnimationNodeTransition_property_input_3/name>`                   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_30/auto_advance<class_AnimationNodeTransition_property_input_30/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_30/name<class_AnimationNodeTransition_property_input_30/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_31/auto_advance<class_AnimationNodeTransition_property_input_31/auto_advance>` |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_31/name<class_AnimationNodeTransition_property_input_31/name>`                 |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_4/auto_advance<class_AnimationNodeTransition_property_input_4/auto_advance>`   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_4/name<class_AnimationNodeTransition_property_input_4/name>`                   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_5/auto_advance<class_AnimationNodeTransition_property_input_5/auto_advance>`   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_5/name<class_AnimationNodeTransition_property_input_5/name>`                   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_6/auto_advance<class_AnimationNodeTransition_property_input_6/auto_advance>`   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_6/name<class_AnimationNodeTransition_property_input_6/name>`                   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_7/auto_advance<class_AnimationNodeTransition_property_input_7/auto_advance>`   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_7/name<class_AnimationNodeTransition_property_input_7/name>`                   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_8/auto_advance<class_AnimationNodeTransition_property_input_8/auto_advance>`   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_8/name<class_AnimationNodeTransition_property_input_8/name>`                   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`bool<class_bool>`     | :ref:`input_9/auto_advance<class_AnimationNodeTransition_property_input_9/auto_advance>`   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`String<class_String>` | :ref:`input_9/name<class_AnimationNodeTransition_property_input_9/name>`                   |         |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`int<class_int>`       | :ref:`input_count<class_AnimationNodeTransition_property_input_count>`                     | ``0``   |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
-| :ref:`float<class_float>`   | :ref:`xfade_time<class_AnimationNodeTransition_property_xfade_time>`                       | ``0.0`` |
-+-----------------------------+--------------------------------------------------------------------------------------------+---------+
++---------------------------+------------------------------------------------------------------------+---------+
+| :ref:`int<class_int>`     | :ref:`input_count<class_AnimationNodeTransition_property_input_count>` | ``0``   |
++---------------------------+------------------------------------------------------------------------+---------+
+| :ref:`float<class_float>` | :ref:`xfade_time<class_AnimationNodeTransition_property_xfade_time>`   | ``0.0`` |
++---------------------------+------------------------------------------------------------------------+---------+
 
 Methods
 -------
@@ -166,774 +43,6 @@ Methods
 Property Descriptions
 ---------------------
 
-.. _class_AnimationNodeTransition_property_input_0/auto_advance:
-
-- :ref:`bool<class_bool>` **input_0/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_0/name:
-
-- :ref:`String<class_String>` **input_0/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_1/auto_advance:
-
-- :ref:`bool<class_bool>` **input_1/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_1/name:
-
-- :ref:`String<class_String>` **input_1/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_10/auto_advance:
-
-- :ref:`bool<class_bool>` **input_10/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_10/name:
-
-- :ref:`String<class_String>` **input_10/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_11/auto_advance:
-
-- :ref:`bool<class_bool>` **input_11/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_11/name:
-
-- :ref:`String<class_String>` **input_11/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_12/auto_advance:
-
-- :ref:`bool<class_bool>` **input_12/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_12/name:
-
-- :ref:`String<class_String>` **input_12/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_13/auto_advance:
-
-- :ref:`bool<class_bool>` **input_13/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_13/name:
-
-- :ref:`String<class_String>` **input_13/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_14/auto_advance:
-
-- :ref:`bool<class_bool>` **input_14/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_14/name:
-
-- :ref:`String<class_String>` **input_14/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_15/auto_advance:
-
-- :ref:`bool<class_bool>` **input_15/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_15/name:
-
-- :ref:`String<class_String>` **input_15/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_16/auto_advance:
-
-- :ref:`bool<class_bool>` **input_16/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_16/name:
-
-- :ref:`String<class_String>` **input_16/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_17/auto_advance:
-
-- :ref:`bool<class_bool>` **input_17/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_17/name:
-
-- :ref:`String<class_String>` **input_17/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_18/auto_advance:
-
-- :ref:`bool<class_bool>` **input_18/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_18/name:
-
-- :ref:`String<class_String>` **input_18/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_19/auto_advance:
-
-- :ref:`bool<class_bool>` **input_19/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_19/name:
-
-- :ref:`String<class_String>` **input_19/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_2/auto_advance:
-
-- :ref:`bool<class_bool>` **input_2/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_2/name:
-
-- :ref:`String<class_String>` **input_2/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_20/auto_advance:
-
-- :ref:`bool<class_bool>` **input_20/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_20/name:
-
-- :ref:`String<class_String>` **input_20/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_21/auto_advance:
-
-- :ref:`bool<class_bool>` **input_21/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_21/name:
-
-- :ref:`String<class_String>` **input_21/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_22/auto_advance:
-
-- :ref:`bool<class_bool>` **input_22/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_22/name:
-
-- :ref:`String<class_String>` **input_22/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_23/auto_advance:
-
-- :ref:`bool<class_bool>` **input_23/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_23/name:
-
-- :ref:`String<class_String>` **input_23/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_24/auto_advance:
-
-- :ref:`bool<class_bool>` **input_24/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_24/name:
-
-- :ref:`String<class_String>` **input_24/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_25/auto_advance:
-
-- :ref:`bool<class_bool>` **input_25/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_25/name:
-
-- :ref:`String<class_String>` **input_25/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_26/auto_advance:
-
-- :ref:`bool<class_bool>` **input_26/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_26/name:
-
-- :ref:`String<class_String>` **input_26/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_27/auto_advance:
-
-- :ref:`bool<class_bool>` **input_27/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_27/name:
-
-- :ref:`String<class_String>` **input_27/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_28/auto_advance:
-
-- :ref:`bool<class_bool>` **input_28/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_28/name:
-
-- :ref:`String<class_String>` **input_28/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_29/auto_advance:
-
-- :ref:`bool<class_bool>` **input_29/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_29/name:
-
-- :ref:`String<class_String>` **input_29/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_3/auto_advance:
-
-- :ref:`bool<class_bool>` **input_3/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_3/name:
-
-- :ref:`String<class_String>` **input_3/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_30/auto_advance:
-
-- :ref:`bool<class_bool>` **input_30/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_30/name:
-
-- :ref:`String<class_String>` **input_30/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_31/auto_advance:
-
-- :ref:`bool<class_bool>` **input_31/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_31/name:
-
-- :ref:`String<class_String>` **input_31/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_4/auto_advance:
-
-- :ref:`bool<class_bool>` **input_4/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_4/name:
-
-- :ref:`String<class_String>` **input_4/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_5/auto_advance:
-
-- :ref:`bool<class_bool>` **input_5/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_5/name:
-
-- :ref:`String<class_String>` **input_5/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_6/auto_advance:
-
-- :ref:`bool<class_bool>` **input_6/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_6/name:
-
-- :ref:`String<class_String>` **input_6/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_7/auto_advance:
-
-- :ref:`bool<class_bool>` **input_7/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_7/name:
-
-- :ref:`String<class_String>` **input_7/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_8/auto_advance:
-
-- :ref:`bool<class_bool>` **input_8/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_8/name:
-
-- :ref:`String<class_String>` **input_8/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_9/auto_advance:
-
-- :ref:`bool<class_bool>` **input_9/auto_advance**
-
-+----------+----------------------------------+
-| *Setter* | set_input_as_auto_advance(value) |
-+----------+----------------------------------+
-| *Getter* | is_input_set_as_auto_advance()   |
-+----------+----------------------------------+
-
-----
-
-.. _class_AnimationNodeTransition_property_input_9/name:
-
-- :ref:`String<class_String>` **input_9/name**
-
-+----------+--------------------------+
-| *Setter* | set_input_caption(value) |
-+----------+--------------------------+
-| *Getter* | get_input_caption()      |
-+----------+--------------------------+
-
-----
-
 .. _class_AnimationNodeTransition_property_input_count:
 
 - :ref:`int<class_int>` **input_count**

+ 35 - 40
classes/class_animationtreeplayer.rst

@@ -11,7 +11,7 @@ AnimationTreePlayer
 
 **Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
-Animation Player that uses a node graph for blending Animations.
+Animation player that uses a node graph for blending animations.
 
 Description
 -----------
@@ -20,6 +20,11 @@ A node graph tool for blending multiple animations bound to an :ref:`AnimationPl
 
 It takes :ref:`Animation<class_Animation>`\ s from an :ref:`AnimationPlayer<class_AnimationPlayer>` node and mixes them depending on the graph.
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
 Properties
 ----------
 
@@ -246,7 +251,7 @@ If ``true``, the ``AnimationTreePlayer`` is able to play animations.
 
 The node from which to relatively access other nodes.
 
-It accesses the Bones, so it should point to the same Node the AnimationPlayer would point its Root Node at.
+It accesses the bones, so it should point to the same node the :ref:`AnimationPlayer<class_AnimationPlayer>` would point its Root Node at.
 
 ----
 
@@ -264,7 +269,7 @@ It accesses the Bones, so it should point to the same Node the AnimationPlayer w
 
 The path to the :ref:`AnimationPlayer<class_AnimationPlayer>` from which this ``AnimationTreePlayer`` binds animations to animation nodes.
 
-Once set, Animation nodes can be added to the AnimationTreePlayer.
+Once set, :ref:`Animation<class_Animation>` nodes can be added to the ``AnimationTreePlayer``.
 
 ----
 
@@ -297,7 +302,7 @@ Adds a ``type`` node to the graph with name ``id``.
 
 - void **advance** **(** :ref:`float<class_float>` delta **)**
 
-Shifts position in the animation timeline. Delta is the time in seconds to shift. Events between the current frame and ``delta`` are handled.
+Shifts position in the animation timeline. ``delta`` is the time in seconds to shift. Events between the current frame and ``delta`` are handled.
 
 ----
 
@@ -321,6 +326,8 @@ Returns the name of the :ref:`master_player<class_AnimationTreePlayer_property_m
 
 - :ref:`float<class_float>` **animation_node_get_position** **(** :ref:`String<class_String>` id **)** const
 
+Returns the absolute playback timestamp of the animation node with name ``id``.
+
 ----
 
 .. _class_AnimationTreePlayer_method_animation_node_set_animation:
@@ -369,13 +376,9 @@ Returns the blend amount of a Blend2 node given its name.
 
 Sets the blend amount of a Blend2 node given its name and value.
 
-A Blend2 Node blends two animations with the amount between 0 and 1.
-
-At 0, Output is input a.
-
-Towards 1, the influence of a gets lessened, the influence of b gets raised.
+A Blend2 node blends two animations (A and B) with the amount between 0 and 1.
 
-At 1, Output is input b.
+At 0, output is input A. Towards 1, the influence of A gets lessened, the influence of B gets raised. At 1, output is input B.
 
 ----
 
@@ -383,7 +386,7 @@ At 1, Output is input b.
 
 - void **blend2_node_set_filter_path** **(** :ref:`String<class_String>` id, :ref:`NodePath<class_NodePath>` path, :ref:`bool<class_bool>` enable **)**
 
-If ``enable`` is ``true``, the blend2 node with ID ``id`` turns off the track modifying the property at ``path``. The modified node's children continue to animate.
+If ``enable`` is ``true``, the Blend2 node with name ``id`` turns off the track modifying the property at ``path``. The modified node's children continue to animate.
 
 ----
 
@@ -401,17 +404,9 @@ Returns the blend amount of a Blend3 node given its name.
 
 Sets the blend amount of a Blend3 node given its name and value.
 
-A Blend3 Node blends three animations with the amount between -1 and 1.
-
-At -1, Output is input b-.
-
-From -1 to 0, the influence of b- gets lessened, the influence of a gets raised and the influence of b+ is 0.
-
-At 0, Output is input a.
-
-From 0 to 1, the influence of a gets lessened, the influence of b+ gets raised and the influence of b+ is 0.
+A Blend3 Node blends three animations (A, B-, B+) with the amount between -1 and 1.
 
-At 1, Output is input b+.
+At -1, output is input B-. From -1 to 0, the influence of B- gets lessened, the influence of A gets raised and the influence of B+ is 0. At 0, output is input A. From 0 to 1, the influence of A gets lessened, the influence of B+ gets raised and the influence of B+ is 0. At 1, output is input B+.
 
 ----
 
@@ -431,7 +426,7 @@ Sets the blend amount of a Blend4 node given its name and value.
 
 A Blend4 Node blends two pairs of animations.
 
-The two pairs are blended like blend2 and then added together.
+The two pairs are blended like Blend2 and then added together.
 
 ----
 
@@ -463,7 +458,7 @@ Returns a :ref:`PoolStringArray<class_PoolStringArray>` containing the name of a
 
 - :ref:`float<class_float>` **mix_node_get_amount** **(** :ref:`String<class_String>` id **)** const
 
-Returns mix amount of a Mix node given its name.
+Returns the mix amount of a Mix node given its name.
 
 ----
 
@@ -471,7 +466,7 @@ Returns mix amount of a Mix node given its name.
 
 - void **mix_node_set_amount** **(** :ref:`String<class_String>` id, :ref:`float<class_float>` ratio **)**
 
-Sets mix amount of a Mix node given its name and value.
+Sets the mix amount of a Mix node given its name and value.
 
 A Mix node adds input b to input a by the amount given by ratio.
 
@@ -521,7 +516,7 @@ Gets the node type, will return from :ref:`NodeType<enum_AnimationTreePlayer_Nod
 
 - :ref:`Error<enum_@GlobalScope_Error>` **node_rename** **(** :ref:`String<class_String>` node, :ref:`String<class_String>` new_name **)**
 
-Rename a node in the graph.
+Renames a node in the graph.
 
 ----
 
@@ -529,7 +524,7 @@ Rename a node in the graph.
 
 - void **node_set_position** **(** :ref:`String<class_String>` id, :ref:`Vector2<class_Vector2>` screen_position **)**
 
-Sets position of a node in the graph given its name and position.
+Sets the position of a node in the graph given its name and position.
 
 ----
 
@@ -537,7 +532,7 @@ Sets position of a node in the graph given its name and position.
 
 - :ref:`float<class_float>` **oneshot_node_get_autorestart_delay** **(** :ref:`String<class_String>` id **)** const
 
-Returns autostart delay of a OneShot node given its name.
+Returns the autostart delay of a OneShot node given its name.
 
 ----
 
@@ -545,7 +540,7 @@ Returns autostart delay of a OneShot node given its name.
 
 - :ref:`float<class_float>` **oneshot_node_get_autorestart_random_delay** **(** :ref:`String<class_String>` id **)** const
 
-Returns autostart random delay of a OneShot node given its name.
+Returns the autostart random delay of a OneShot node given its name.
 
 ----
 
@@ -553,7 +548,7 @@ Returns autostart random delay of a OneShot node given its name.
 
 - :ref:`float<class_float>` **oneshot_node_get_fadein_time** **(** :ref:`String<class_String>` id **)** const
 
-Returns fade in time of a OneShot node given its name.
+Returns the fade in time of a OneShot node given its name.
 
 ----
 
@@ -561,7 +556,7 @@ Returns fade in time of a OneShot node given its name.
 
 - :ref:`float<class_float>` **oneshot_node_get_fadeout_time** **(** :ref:`String<class_String>` id **)** const
 
-Returns fade out time of a OneShot node given its name.
+Returns the fade out time of a OneShot node given its name.
 
 ----
 
@@ -585,7 +580,7 @@ Returns whether a OneShot node is active given its name.
 
 - void **oneshot_node_set_autorestart** **(** :ref:`String<class_String>` id, :ref:`bool<class_bool>` enable **)**
 
-Sets autorestart property of a OneShot node given its name and value.
+Sets the autorestart property of a OneShot node given its name and value.
 
 ----
 
@@ -593,7 +588,7 @@ Sets autorestart property of a OneShot node given its name and value.
 
 - void **oneshot_node_set_autorestart_delay** **(** :ref:`String<class_String>` id, :ref:`float<class_float>` delay_sec **)**
 
-Sets autorestart delay of a OneShot node given its name and value in seconds.
+Sets the autorestart delay of a OneShot node given its name and value in seconds.
 
 ----
 
@@ -601,7 +596,7 @@ Sets autorestart delay of a OneShot node given its name and value in seconds.
 
 - void **oneshot_node_set_autorestart_random_delay** **(** :ref:`String<class_String>` id, :ref:`float<class_float>` rand_sec **)**
 
-Sets autorestart random delay of a OneShot node given its name and value in seconds.
+Sets the autorestart random delay of a OneShot node given its name and value in seconds.
 
 ----
 
@@ -609,7 +604,7 @@ Sets autorestart random delay of a OneShot node given its name and value in seco
 
 - void **oneshot_node_set_fadein_time** **(** :ref:`String<class_String>` id, :ref:`float<class_float>` time_sec **)**
 
-Sets fade in time of a OneShot node given its name and value in seconds.
+Sets the fade in time of a OneShot node given its name and value in seconds.
 
 ----
 
@@ -617,7 +612,7 @@ Sets fade in time of a OneShot node given its name and value in seconds.
 
 - void **oneshot_node_set_fadeout_time** **(** :ref:`String<class_String>` id, :ref:`float<class_float>` time_sec **)**
 
-Sets fade out time of a OneShot node given its name and value in seconds.
+Sets the fade out time of a OneShot node given its name and value in seconds.
 
 ----
 
@@ -625,7 +620,7 @@ Sets fade out time of a OneShot node given its name and value in seconds.
 
 - void **oneshot_node_set_filter_path** **(** :ref:`String<class_String>` id, :ref:`NodePath<class_NodePath>` path, :ref:`bool<class_bool>` enable **)**
 
-If ``enable`` is ``true``, the oneshot node with ID ``id`` turns off the track modifying the property at ``path``. The modified node's children continue to animate.
+If ``enable`` is ``true``, the OneShot node with ID ``id`` turns off the track modifying the property at ``path``. The modified node's children continue to animate.
 
 ----
 
@@ -673,7 +668,7 @@ Resets this ``AnimationTreePlayer``.
 
 - :ref:`float<class_float>` **timescale_node_get_scale** **(** :ref:`String<class_String>` id **)** const
 
-Returns time scale value of the TimeScale node with name ``id``.
+Returns the time scale value of the TimeScale node with name ``id``.
 
 ----
 
@@ -683,7 +678,7 @@ Returns time scale value of the TimeScale node with name ``id``.
 
 Sets the time scale of the TimeScale node with name ``id`` to ``scale``.
 
-The timescale node is used to speed :ref:`Animation<class_Animation>`\ s up if the scale is above 1 or slow them down if it is below 1.
+The TimeScale node is used to speed :ref:`Animation<class_Animation>`\ s up if the scale is above 1 or slow them down if it is below 1.
 
 If applied after a blend or mix, affects all input animations to that blend or mix.
 
@@ -719,7 +714,7 @@ Returns the index of the currently evaluated input for the transition node with
 
 - :ref:`int<class_int>` **transition_node_get_input_count** **(** :ref:`String<class_String>` id **)** const
 
-Returns the number of inputs for the transition node with name ``id``. You can add inputs by rightclicking on the transition node.
+Returns the number of inputs for the transition node with name ``id``. You can add inputs by right-clicking on the transition node.
 
 ----
 
@@ -735,7 +730,7 @@ Returns the cross fade time for the transition node with name ``id``.
 
 - :ref:`bool<class_bool>` **transition_node_has_input_auto_advance** **(** :ref:`String<class_String>` id, :ref:`int<class_int>` input_idx **)** const
 
-Returns ``true`` if the input at ``input_idx`` on transition node with name ``id`` is set to automatically advance to the next input upon completion.
+Returns ``true`` if the input at ``input_idx`` on the transition node with name ``id`` is set to automatically advance to the next input upon completion.
 
 ----
 

+ 5 - 5
classes/class_array.rst

@@ -21,11 +21,11 @@ Generic array which can contain several elements of any type, accessible by a nu
 ::
 
     var array = ["One", 2, 3, "Four"]
-    print(array[0])   # One
-    print(array[2])   # 3
-    print(array[-1])  # Four
+    print(array[0]) # One.
+    print(array[2]) # 3.
+    print(array[-1]) # Four.
     array[2] = "Three"
-    print(array[-2])  # Three
+    print(array[-2]) # Three.
 
 Arrays are always passed by reference.
 
@@ -420,5 +420,5 @@ Sorts the array using a custom method. The arguments are an object that holds th
     
     var my_items = [[5, "Potato"], [9, "Rice"], [4, "Tomato"]]
     my_items.sort_custom(MyCustomSorter, "sort_ascending")
-    print(my_items) # Prints [[4, Tomato], [5, Potato], [9, Rice]]
+    print(my_items) # Prints [[4, Tomato], [5, Potato], [9, Rice]].
 

+ 6 - 4
classes/class_arraymesh.rst

@@ -16,7 +16,9 @@ ArrayMesh
 Description
 -----------
 
-The ``ArrayMesh`` is used to construct a :ref:`Mesh<class_Mesh>` by specifying the attributes as arrays. The most basic example is the creation of a single triangle
+The ``ArrayMesh`` is used to construct a :ref:`Mesh<class_Mesh>` by specifying the attributes as arrays.
+
+The most basic example is the creation of a single triangle:
 
 ::
 
@@ -34,7 +36,7 @@ The ``ArrayMesh`` is used to construct a :ref:`Mesh<class_Mesh>` by specifying t
     var m = MeshInstance.new()
     m.mesh = arr_mesh
 
-The ``MeshInstance`` is ready to be added to the SceneTree to be shown.
+The :ref:`MeshInstance<class_MeshInstance>` is ready to be added to the :ref:`SceneTree<class_SceneTree>` to be shown.
 
 Tutorials
 ---------
@@ -162,9 +164,9 @@ enum **ArrayFormat**:
 
 - **ARRAY_FORMAT_VERTEX** = **1** --- Array format will include vertices (mandatory).
 
-- **ARRAY_FORMAT_NORMAL** = **2** --- Array format will include normals
+- **ARRAY_FORMAT_NORMAL** = **2** --- Array format will include normals.
 
-- **ARRAY_FORMAT_TANGENT** = **4** --- Array format will include tangents
+- **ARRAY_FORMAT_TANGENT** = **4** --- Array format will include tangents.
 
 - **ARRAY_FORMAT_COLOR** = **8** --- Array format will include a color array.
 

+ 2 - 2
classes/class_arvranchor.rst

@@ -16,7 +16,7 @@ An anchor point in AR space.
 Description
 -----------
 
-The ARVR Anchor point is a spatial node that maps a real world location identified by the AR platform to a position within the game world. For example, as long as plane detection in ARKit is on, ARKit will identify and update the position of planes (tables, floors, etc) and create anchors for them.
+The ``ARVRAnchor`` point is a spatial node that maps a real world location identified by the AR platform to a position within the game world. For example, as long as plane detection in ARKit is on, ARKit will identify and update the position of planes (tables, floors, etc) and create anchors for them.
 
 This node is mapped to one of the anchors through its unique ID. When you receive a signal that a new anchor is available, you should add this node to your scene for that anchor. You can predefine nodes and set the ID; the nodes will simply remain on 0,0,0 until a plane is recognized.
 
@@ -93,7 +93,7 @@ Returns ``true`` if the anchor is being tracked and ``false`` if no anchor with
 
 - :ref:`Mesh<class_Mesh>` **get_mesh** **(** **)** const
 
-If provided by the ARVR Interface, this returns a mesh object for the anchor. For an anchor, this can be a shape related to the object being tracked or it can be a mesh that provides topology related to the anchor and can be used to create shadows/reflections on surfaces or for generating collision shapes.
+If provided by the :ref:`ARVRInterface<class_ARVRInterface>`, this returns a mesh object for the anchor. For an anchor, this can be a shape related to the object being tracked or it can be a mesh that provides topology related to the anchor and can be used to create shadows/reflections on surfaces or for generating collision shapes.
 
 ----
 

+ 5 - 0
classes/class_arvrcamera.rst

@@ -20,3 +20,8 @@ This is a helper spatial node for our camera; note that, if stereoscopic renderi
 
 The position and orientation of this node is automatically updated by the ARVR Server to represent the location of the HMD if such tracking is available and can thus be used by game logic. Note that, in contrast to the ARVR Controller, the render thread has access to the most up-to-date tracking data of the HMD and the location of the ARVRCamera can lag a few milliseconds behind what is used for rendering as a result.
 
+Tutorials
+---------
+
+- :doc:`../tutorials/vr/index`
+

+ 5 - 0
classes/class_arvrcontroller.rst

@@ -22,6 +22,11 @@ Controllers are linked by their ID. You can create controller nodes before the c
 
 The position of the controller node is automatically updated by the :ref:`ARVRServer<class_ARVRServer>`. This makes this node ideal to add child nodes to visualize the controller.
 
+Tutorials
+---------
+
+- :doc:`../tutorials/vr/index`
+
 Properties
 ----------
 

+ 6 - 1
classes/class_arvrinterface.rst

@@ -22,6 +22,11 @@ This class needs to be implemented to make an AR or VR platform available to God
 
 Interfaces should be written in such a way that simply enabling them will give us a working setup. You can query the available interfaces through :ref:`ARVRServer<class_ARVRServer>`.
 
+Tutorials
+---------
+
+- :doc:`../tutorials/vr/index`
+
 Properties
 ----------
 
@@ -123,7 +128,7 @@ enum **Tracking_status**:
 
 - **ARVR_UNKNOWN_TRACKING** = **3** --- We don't know the status of the tracking or this interface does not provide feedback.
 
-- **ARVR_NOT_TRACKING** = **4** --- Tracking is not functional (camera not plugged in or obscured, lighthouses turned off, etc.)
+- **ARVR_NOT_TRACKING** = **4** --- Tracking is not functional (camera not plugged in or obscured, lighthouses turned off, etc.).
 
 Property Descriptions
 ---------------------

+ 5 - 0
classes/class_arvrorigin.rst

@@ -24,6 +24,11 @@ It is the position of this node that you update when your character needs to mov
 
 For example, if your character is driving a car, the ARVROrigin node should be a child node of this car. Or, if you're implementing a teleport system to move your character, you should change the position of this node.
 
+Tutorials
+---------
+
+- :doc:`../tutorials/vr/index`
+
 Properties
 ----------
 

+ 5 - 0
classes/class_arvrpositionaltracker.rst

@@ -22,6 +22,11 @@ As controllers are turned on and the AR/VR interface detects them, instances of
 
 The :ref:`ARVRController<class_ARVRController>` and :ref:`ARVRAnchor<class_ARVRAnchor>` both consume objects of this type and should be used in your project. The positional trackers are just under-the-hood objects that make this all work. These are mostly exposed so that GDNative-based interfaces can interact with them.
 
+Tutorials
+---------
+
+- :doc:`../tutorials/vr/index`
+
 Properties
 ----------
 

+ 20 - 7
classes/class_arvrserver.rst

@@ -11,12 +11,17 @@ ARVRServer
 
 **Inherits:** :ref:`Object<class_Object>`
 
-The AR/VR server.
+Server for AR and VR features.
 
 Description
 -----------
 
-The AR/VR server is the heart of our AR/VR solution and handles all the processing.
+The AR/VR server is the heart of our Advanced and Virtual Reality solution and handles all the processing.
+
+Tutorials
+---------
+
+- :doc:`../tutorials/vr/index`
 
 Properties
 ----------
@@ -151,6 +156,8 @@ Property Descriptions
 | *Getter* | get_primary_interface()      |
 +----------+------------------------------+
 
+The primary :ref:`ARVRInterface<class_ARVRInterface>` currently bound to the ``ARVRServer``.
+
 ----
 
 .. _class_ARVRServer_property_world_scale:
@@ -208,7 +215,7 @@ Returns the primary interface's transformation.
 
 - :ref:`ARVRInterface<class_ARVRInterface>` **get_interface** **(** :ref:`int<class_int>` idx **)** const
 
-Gets the interface registered at a given index in our list of interfaces.
+Returns the interface registered at a given index in our list of interfaces.
 
 ----
 
@@ -216,7 +223,7 @@ Gets the interface registered at a given index in our list of interfaces.
 
 - :ref:`int<class_int>` **get_interface_count** **(** **)** const
 
-Gets the number of interfaces currently registered with the AR/VR server. If your project supports multiple AR/VR platforms, you can look through the available interface, and either present the user with a selection or simply try to initialize each interface and use the first one that returns ``true``.
+Returns the number of interfaces currently registered with the AR/VR server. If your project supports multiple AR/VR platforms, you can look through the available interface, and either present the user with a selection or simply try to initialize each interface and use the first one that returns ``true``.
 
 ----
 
@@ -232,25 +239,31 @@ Returns a list of available interfaces the ID and name of each interface.
 
 - :ref:`int<class_int>` **get_last_commit_usec** **(** **)**
 
+Returns the absolute timestamp (in μs) of the last ``ARVRServer`` commit of the AR/VR eyes to :ref:`VisualServer<class_VisualServer>`. The value comes from an internal call to :ref:`OS.get_ticks_usec<class_OS_method_get_ticks_usec>`.
+
 ----
 
 .. _class_ARVRServer_method_get_last_frame_usec:
 
 - :ref:`int<class_int>` **get_last_frame_usec** **(** **)**
 
+Returns the duration (in μs) of the last frame. This is computed as the difference between :ref:`get_last_commit_usec<class_ARVRServer_method_get_last_commit_usec>` and :ref:`get_last_process_usec<class_ARVRServer_method_get_last_process_usec>` when committing.
+
 ----
 
 .. _class_ARVRServer_method_get_last_process_usec:
 
 - :ref:`int<class_int>` **get_last_process_usec** **(** **)**
 
+Returns the absolute timestamp (in μs) of the last ``ARVRServer`` process callback. The value comes from an internal call to :ref:`OS.get_ticks_usec<class_OS_method_get_ticks_usec>`.
+
 ----
 
 .. _class_ARVRServer_method_get_reference_frame:
 
 - :ref:`Transform<class_Transform>` **get_reference_frame** **(** **)** const
 
-Gets the reference frame transform. Mostly used internally and exposed for GDNative build interfaces.
+Returns the reference frame transform. Mostly used internally and exposed for GDNative build interfaces.
 
 ----
 
@@ -258,7 +271,7 @@ Gets the reference frame transform. Mostly used internally and exposed for GDNat
 
 - :ref:`ARVRPositionalTracker<class_ARVRPositionalTracker>` **get_tracker** **(** :ref:`int<class_int>` idx **)** const
 
-Gets the positional tracker at the given ID.
+Returns the positional tracker at the given ID.
 
 ----
 
@@ -266,5 +279,5 @@ Gets the positional tracker at the given ID.
 
 - :ref:`int<class_int>` **get_tracker_count** **(** **)** const
 
-Gets the number of trackers currently registered.
+Returns the number of trackers currently registered.
 

+ 1 - 1
classes/class_astar2d.rst

@@ -11,7 +11,7 @@ AStar2D
 
 **Inherits:** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
-AStar class representation that uses 2d-vectors as edges.
+AStar class representation that uses 2D vectors as edges.
 
 Description
 -----------

+ 14 - 4
classes/class_audioserver.rst

@@ -16,7 +16,7 @@ Server interface for low-level audio access.
 Description
 -----------
 
-AudioServer is a low-level server interface for audio access. It is in charge of creating sample data (playable audio) as well as its playback via a voice interface.
+``AudioServer`` is a low-level server interface for audio access. It is in charge of creating sample data (playable audio) as well as its playback via a voice interface.
 
 Tutorials
 ---------
@@ -147,9 +147,9 @@ enum **SpeakerMode**:
 
 - **SPEAKER_SURROUND_31** = **1** --- A 3.1 channel surround setup was detected.
 
-- **SPEAKER_SURROUND_51** = **2** --- A 5.1 channel surround setup was  detected.
+- **SPEAKER_SURROUND_51** = **2** --- A 5.1 channel surround setup was detected.
 
-- **SPEAKER_SURROUND_71** = **3** --- A 7.1 channel surround setup was  detected.
+- **SPEAKER_SURROUND_71** = **3** --- A 7.1 channel surround setup was detected.
 
 Property Descriptions
 ---------------------
@@ -239,6 +239,8 @@ Returns the names of all audio input devices detected on the system.
 
 - void **capture_set_device** **(** :ref:`String<class_String>` name **)**
 
+Sets which audio input device is used for audio capture.
+
 ----
 
 .. _class_AudioServer_method_generate_bus_layout:
@@ -277,6 +279,8 @@ Returns the number of effects on the bus at ``bus_idx``.
 
 - :ref:`AudioEffectInstance<class_AudioEffectInstance>` **get_bus_effect_instance** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`int<class_int>` channel=0 **)**
 
+Returns the :ref:`AudioEffectInstance<class_AudioEffectInstance>` assigned to the given bus and effect indices (and optionally channel).
+
 ----
 
 .. _class_AudioServer_method_get_bus_index:
@@ -363,12 +367,16 @@ Returns the speaker configuration.
 
 - :ref:`float<class_float>` **get_time_since_last_mix** **(** **)** const
 
+Returns the relative time since the last mix occurred.
+
 ----
 
 .. _class_AudioServer_method_get_time_to_next_mix:
 
 - :ref:`float<class_float>` **get_time_to_next_mix** **(** **)** const
 
+Returns the relative time until the next mix occurs.
+
 ----
 
 .. _class_AudioServer_method_is_bus_bypassing_effects:
@@ -407,7 +415,9 @@ If ``true``, the bus at index ``bus_idx`` is in solo mode.
 
 - void **lock** **(** **)**
 
-Locks the audio driver's main loop. Remember to unlock it afterwards.
+Locks the audio driver's main loop.
+
+**Note:** Remember to unlock it afterwards.
 
 ----
 

+ 1 - 1
classes/class_bitmapfont.rst

@@ -13,7 +13,7 @@ BitmapFont
 
 Renders text using fonts under the `BMFont <https://www.angelcode.com/products/bmfont/>`_ format.
 
-Handles files with the ``.fnt`` extension
+Handles files with the ``.fnt`` extension.
 
 Description
 -----------

+ 1 - 1
classes/class_bool.rst

@@ -14,7 +14,7 @@ Boolean built-in type.
 Description
 -----------
 
-Boolean is a built-in type. It can represent any data type that is either a true or false value. You can think of it as an switch with on or off (1 or 0) setting . It's often used as part of programming logic in condition statements like ``if`` statements.
+Boolean is a built-in type. It can represent any data type that is either a true or false value. You can think of it as an switch with on or off (1 or 0) setting. It's often used as part of programming logic in condition statements like ``if`` statements.
 
 **Note:** In a code below ``if can_shoot`` is equivalent of ``if can_shoot == true``. It is good practice to follow the natural spoken language structure when possible. Use ``if can_shoot`` rather than ``if can_shoot == true`` and use ``if not can_shoot`` rather than ``if can_shoot == false``.
 

+ 10 - 3
classes/class_cameraserver.rst

@@ -11,7 +11,14 @@ CameraServer
 
 **Inherits:** :ref:`Object<class_Object>`
 
-The CameraServer keeps track of different cameras accessible in Godot. These are external cameras such as webcams or the cameras on your phone.
+Server keeping track of different cameras accessible in Godot.
+
+Description
+-----------
+
+The ``CameraServer`` keeps track of different cameras accessible in Godot. These are external cameras such as webcams or the cameras on your phone.
+
+It is notably used to provide AR modules with a video feed from the camera.
 
 Methods
 -------
@@ -35,7 +42,7 @@ Signals
 
 - **camera_feed_added** **(** :ref:`int<class_int>` id **)**
 
-Emitted when a :ref:`CameraFeed<class_CameraFeed>` is added (webcam is plugged in).
+Emitted when a :ref:`CameraFeed<class_CameraFeed>` is added (e.g. webcam is plugged in).
 
 ----
 
@@ -43,7 +50,7 @@ Emitted when a :ref:`CameraFeed<class_CameraFeed>` is added (webcam is plugged i
 
 - **camera_feed_removed** **(** :ref:`int<class_int>` id **)**
 
-Emitted when a :ref:`CameraFeed<class_CameraFeed>` is removed (webcam is removed).
+Emitted when a :ref:`CameraFeed<class_CameraFeed>` is removed (e.g. webcam is unplugged).
 
 Enumerations
 ------------

+ 5 - 0
classes/class_cameratexture.rst

@@ -11,6 +11,11 @@ CameraTexture
 
 **Inherits:** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
+Texture provided by a :ref:`CameraFeed<class_CameraFeed>`.
+
+Description
+-----------
+
 This texture gives access to the camera texture provided by a :ref:`CameraFeed<class_CameraFeed>`.
 
 **Note:** Many cameras supply YCbCr images which need to be converted in a shader.

+ 27 - 23
classes/class_canvasitem.rst

@@ -18,13 +18,13 @@ Base class of anything 2D.
 Description
 -----------
 
-Base class of anything 2D. Canvas items are laid out in a tree; children inherit and extend their parent's transform. CanvasItem is extended by :ref:`Control<class_Control>` for anything GUI-related, and by :ref:`Node2D<class_Node2D>` for anything related to the 2D engine.
+Base class of anything 2D. Canvas items are laid out in a tree; children inherit and extend their parent's transform. ``CanvasItem`` is extended by :ref:`Control<class_Control>` for anything GUI-related, and by :ref:`Node2D<class_Node2D>` for anything related to the 2D engine.
 
-Any CanvasItem can draw. For this, :ref:`update<class_CanvasItem_method_update>` must be called, then :ref:`NOTIFICATION_DRAW<class_CanvasItem_constant_NOTIFICATION_DRAW>` will be received on idle time to request redraw. Because of this, canvas items don't need to be redrawn on every frame, improving the performance significantly. Several functions for drawing on the CanvasItem are provided (see ``draw_*`` functions). However, they can only be used inside the :ref:`Object._notification<class_Object_method__notification>`, signal or :ref:`_draw<class_CanvasItem_method__draw>` virtual functions.
+Any ``CanvasItem`` can draw. For this, :ref:`update<class_CanvasItem_method_update>` must be called, then :ref:`NOTIFICATION_DRAW<class_CanvasItem_constant_NOTIFICATION_DRAW>` will be received on idle time to request redraw. Because of this, canvas items don't need to be redrawn on every frame, improving the performance significantly. Several functions for drawing on the ``CanvasItem`` are provided (see ``draw_*`` functions). However, they can only be used inside the :ref:`Object._notification<class_Object_method__notification>`, signal or :ref:`_draw<class_CanvasItem_method__draw>` virtual functions.
 
-Canvas items are drawn in tree order. By default, children are on top of their parents so a root CanvasItem will be drawn behind everything. This behavior can be changed on a per-item basis.
+Canvas items are drawn in tree order. By default, children are on top of their parents so a root ``CanvasItem`` will be drawn behind everything. This behavior can be changed on a per-item basis.
 
-A CanvasItem can also be hidden, which will also hide its children. It provides many ways to change parameters such as modulation (for itself and its children) and self modulation (only for itself), as well as its blend mode.
+A ``CanvasItem`` can also be hidden, which will also hide its children. It provides many ways to change parameters such as modulation (for itself and its children) and self modulation (only for itself), as well as its blend mode.
 
 Ultimately, a transform notification can be requested, which will notify the node that its global position changed in case the parent tree changed.
 
@@ -160,7 +160,7 @@ Signals
 
 - **draw** **(** **)**
 
-Emitted when the CanvasItem must redraw. This can only be connected realtime, as deferred will not allow drawing.
+Emitted when the ``CanvasItem`` must redraw. This can only be connected realtime, as deferred will not allow drawing.
 
 ----
 
@@ -230,15 +230,15 @@ Constants
 
 .. _class_CanvasItem_constant_NOTIFICATION_EXIT_CANVAS:
 
-- **NOTIFICATION_TRANSFORM_CHANGED** = **2000** --- The CanvasItem's transform has changed. This notification is only received if enabled by :ref:`set_notify_transform<class_CanvasItem_method_set_notify_transform>` or :ref:`set_notify_local_transform<class_CanvasItem_method_set_notify_local_transform>`.
+- **NOTIFICATION_TRANSFORM_CHANGED** = **2000** --- The ``CanvasItem``'s transform has changed. This notification is only received if enabled by :ref:`set_notify_transform<class_CanvasItem_method_set_notify_transform>` or :ref:`set_notify_local_transform<class_CanvasItem_method_set_notify_local_transform>`.
 
-- **NOTIFICATION_DRAW** = **30** --- The CanvasItem is requested to draw.
+- **NOTIFICATION_DRAW** = **30** --- The ``CanvasItem`` is requested to draw.
 
-- **NOTIFICATION_VISIBILITY_CHANGED** = **31** --- The CanvasItem's visibility has changed.
+- **NOTIFICATION_VISIBILITY_CHANGED** = **31** --- The ``CanvasItem``'s visibility has changed.
 
-- **NOTIFICATION_ENTER_CANVAS** = **32** --- The CanvasItem has entered the canvas.
+- **NOTIFICATION_ENTER_CANVAS** = **32** --- The ``CanvasItem`` has entered the canvas.
 
-- **NOTIFICATION_EXIT_CANVAS** = **33** --- The CanvasItem has exited the canvas.
+- **NOTIFICATION_EXIT_CANVAS** = **33** --- The ``CanvasItem`` has exited the canvas.
 
 Property Descriptions
 ---------------------
@@ -366,7 +366,7 @@ Method Descriptions
 
 - void **_draw** **(** **)** virtual
 
-Called (if exists) to draw the canvas item.
+Overridable function called by the engine (if defined) to draw the canvas item.
 
 ----
 
@@ -414,6 +414,8 @@ Draws a line from a 2D point to another, with a given color and width. It can be
 
 - void **draw_mesh** **(** :ref:`Mesh<class_Mesh>` mesh, :ref:`Texture<class_Texture>` texture, :ref:`Texture<class_Texture>` normal_map=null, :ref:`Transform2D<class_Transform2D>` transform=Transform2D( 1, 0, 0, 1, 0, 0 ), :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ) **)**
 
+Draws a :ref:`Mesh<class_Mesh>` in 2D, using the provided texture. See :ref:`MeshInstance2D<class_MeshInstance2D>` for related documentation.
+
 ----
 
 .. _class_CanvasItem_method_draw_multiline:
@@ -436,6 +438,8 @@ Draws multiple, parallel lines with a uniform ``width``, segment-by-segment colo
 
 - void **draw_multimesh** **(** :ref:`MultiMesh<class_MultiMesh>` multimesh, :ref:`Texture<class_Texture>` texture, :ref:`Texture<class_Texture>` normal_map=null **)**
 
+Draws a :ref:`MultiMesh<class_MultiMesh>` in 2D with the provided texture. See :ref:`MultiMeshInstance2D<class_MultiMeshInstance2D>` for related documentation.
+
 ----
 
 .. _class_CanvasItem_method_draw_polygon:
@@ -564,7 +568,7 @@ Returns the canvas item RID used by :ref:`VisualServer<class_VisualServer>` for
 
 - :ref:`Transform2D<class_Transform2D>` **get_canvas_transform** **(** **)** const
 
-Gets the transform matrix of this item's canvas.
+Returns the transform matrix of this item's canvas.
 
 ----
 
@@ -572,7 +576,7 @@ Gets the transform matrix of this item's canvas.
 
 - :ref:`Vector2<class_Vector2>` **get_global_mouse_position** **(** **)** const
 
-Gets the global position of the mouse.
+Returns the global position of the mouse.
 
 ----
 
@@ -580,7 +584,7 @@ Gets the global position of the mouse.
 
 - :ref:`Transform2D<class_Transform2D>` **get_global_transform** **(** **)** const
 
-Gets the global transform matrix of this item.
+Returns the global transform matrix of this item.
 
 ----
 
@@ -588,7 +592,7 @@ Gets the global transform matrix of this item.
 
 - :ref:`Transform2D<class_Transform2D>` **get_global_transform_with_canvas** **(** **)** const
 
-Gets the global transform matrix of this item in relation to the canvas.
+Returns the global transform matrix of this item in relation to the canvas.
 
 ----
 
@@ -596,7 +600,7 @@ Gets the global transform matrix of this item in relation to the canvas.
 
 - :ref:`Vector2<class_Vector2>` **get_local_mouse_position** **(** **)** const
 
-Gets the mouse position relative to this item's position.
+Returns the mouse position relative to this item's position.
 
 ----
 
@@ -604,7 +608,7 @@ Gets the mouse position relative to this item's position.
 
 - :ref:`Transform2D<class_Transform2D>` **get_transform** **(** **)** const
 
-Gets the transform matrix of this item.
+Returns the transform matrix of this item.
 
 ----
 
@@ -612,7 +616,7 @@ Gets the transform matrix of this item.
 
 - :ref:`Rect2<class_Rect2>` **get_viewport_rect** **(** **)** const
 
-Gets the viewport's boundaries as a :ref:`Rect2<class_Rect2>`.
+Returns the viewport's boundaries as a :ref:`Rect2<class_Rect2>`.
 
 ----
 
@@ -620,7 +624,7 @@ Gets the viewport's boundaries as a :ref:`Rect2<class_Rect2>`.
 
 - :ref:`Transform2D<class_Transform2D>` **get_viewport_transform** **(** **)** const
 
-Gets this item's transform in relation to the viewport.
+Returns this item's transform in relation to the viewport.
 
 ----
 
@@ -628,7 +632,7 @@ Gets this item's transform in relation to the viewport.
 
 - :ref:`World2D<class_World2D>` **get_world_2d** **(** **)** const
 
-Gets the :ref:`World2D<class_World2D>` where this item is in.
+Returns the :ref:`World2D<class_World2D>` where this item is in.
 
 ----
 
@@ -636,7 +640,7 @@ Gets the :ref:`World2D<class_World2D>` where this item is in.
 
 - void **hide** **(** **)**
 
-Hide the CanvasItem if it's currently visible.
+Hide the ``CanvasItem`` if it's currently visible.
 
 ----
 
@@ -716,7 +720,7 @@ If ``enable`` is ``true``, children will be updated with global transform data.
 
 - void **show** **(** **)**
 
-Show the CanvasItem if it's currently hidden. For controls that inherit :ref:`Popup<class_Popup>`, the correct way to make them visible is to call one of the multiple ``popup*()`` functions instead.
+Show the ``CanvasItem`` if it's currently hidden. For controls that inherit :ref:`Popup<class_Popup>`, the correct way to make them visible is to call one of the multiple ``popup*()`` functions instead.
 
 ----
 
@@ -724,5 +728,5 @@ Show the CanvasItem if it's currently hidden. For controls that inherit :ref:`Po
 
 - void **update** **(** **)**
 
-Queue the CanvasItem for update. :ref:`NOTIFICATION_DRAW<class_CanvasItem_constant_NOTIFICATION_DRAW>` will be called on idle time to request redraw.
+Queue the ``CanvasItem`` for update. :ref:`NOTIFICATION_DRAW<class_CanvasItem_constant_NOTIFICATION_DRAW>` will be called on idle time to request redraw.
 

+ 16 - 0
classes/class_canvasitemmaterial.rst

@@ -125,6 +125,10 @@ The manner in which material reacts to lighting.
 | *Getter* | get_particles_anim_h_frames()      |
 +----------+------------------------------------+
 
+The number of columns in the spritesheet assigned as :ref:`Texture<class_Texture>` for a :ref:`Particles2D<class_Particles2D>` or :ref:`CPUParticles2D<class_CPUParticles2D>`.
+
+**Note:** This property is only used and visible in the editor if :ref:`particles_animation<class_CanvasItemMaterial_property_particles_animation>` is ``true``.
+
 ----
 
 .. _class_CanvasItemMaterial_property_particles_anim_loop:
@@ -137,6 +141,10 @@ The manner in which material reacts to lighting.
 | *Getter* | get_particles_anim_loop()      |
 +----------+--------------------------------+
 
+If ``true``, the particles animation will loop.
+
+**Note:** This property is only used and visible in the editor if :ref:`particles_animation<class_CanvasItemMaterial_property_particles_animation>` is ``true``.
+
 ----
 
 .. _class_CanvasItemMaterial_property_particles_anim_v_frames:
@@ -149,6 +157,10 @@ The manner in which material reacts to lighting.
 | *Getter* | get_particles_anim_v_frames()      |
 +----------+------------------------------------+
 
+The number of rows in the spritesheet assigned as :ref:`Texture<class_Texture>` for a :ref:`Particles2D<class_Particles2D>` or :ref:`CPUParticles2D<class_CPUParticles2D>`.
+
+**Note:** This property is only used and visible in the editor if :ref:`particles_animation<class_CanvasItemMaterial_property_particles_animation>` is ``true``.
+
 ----
 
 .. _class_CanvasItemMaterial_property_particles_animation:
@@ -163,3 +175,7 @@ The manner in which material reacts to lighting.
 | *Getter*  | get_particles_animation()      |
 +-----------+--------------------------------+
 
+If ``true``, enable spritesheet-based animation features when assigned to :ref:`Particles2D<class_Particles2D>` and :ref:`CPUParticles2D<class_CPUParticles2D>` nodes. The :ref:`ParticlesMaterial.anim_speed<class_ParticlesMaterial_property_anim_speed>` or :ref:`CPUParticles2D.anim_speed<class_CPUParticles2D_property_anim_speed>` should also be set to a positive value for the animation to play.
+
+This property (and other ``particles_anim_*`` properties that depend on it) has no effect on other types of nodes.
+

+ 5 - 5
classes/class_color.rst

@@ -821,11 +821,11 @@ Constructs a color from an HTML hexadecimal color string in ARGB or RGB format.
 
 ::
 
-    # Each of the following creates the same color RGBA(178, 217, 10, 255)
-    var c1 = Color("#ffb2d90a") # ARGB format with "#"
-    var c2 = Color("ffb2d90a")  # ARGB format
-    var c3 = Color("#b2d90a")   # RGB format with "#"
-    var c4 = Color("b2d90a")    # RGB format
+    # Each of the following creates the same color RGBA(178, 217, 10, 255).
+    var c1 = Color("#ffb2d90a") # ARGB format with "#".
+    var c2 = Color("ffb2d90a") # ARGB format.
+    var c3 = Color("#b2d90a") # RGB format with "#".
+    var c4 = Color("b2d90a") # RGB format.
 
 ----
 

+ 16 - 0
classes/class_cpuparticles.rst

@@ -1307,24 +1307,32 @@ Sets this node's properties to match a given :ref:`Particles<class_Particles>` n
 
 - :ref:`float<class_float>` **get_param** **(** :ref:`Parameter<enum_CPUParticles_Parameter>` param **)** const
 
+Returns the base value of the parameter specified by :ref:`Parameter<enum_CPUParticles_Parameter>`.
+
 ----
 
 .. _class_CPUParticles_method_get_param_curve:
 
 - :ref:`Curve<class_Curve>` **get_param_curve** **(** :ref:`Parameter<enum_CPUParticles_Parameter>` param **)** const
 
+Returns the :ref:`Curve<class_Curve>` of the parameter specified by :ref:`Parameter<enum_CPUParticles_Parameter>`.
+
 ----
 
 .. _class_CPUParticles_method_get_param_randomness:
 
 - :ref:`float<class_float>` **get_param_randomness** **(** :ref:`Parameter<enum_CPUParticles_Parameter>` param **)** const
 
+Returns the randomness factor of the parameter specified by :ref:`Parameter<enum_CPUParticles_Parameter>`.
+
 ----
 
 .. _class_CPUParticles_method_get_particle_flag:
 
 - :ref:`bool<class_bool>` **get_particle_flag** **(** :ref:`Flags<enum_CPUParticles_Flags>` flag **)** const
 
+Returns the enabled state of the given flag (see :ref:`Flags<enum_CPUParticles_Flags>` for options).
+
 ----
 
 .. _class_CPUParticles_method_restart:
@@ -1339,21 +1347,29 @@ Restarts the particle emitter.
 
 - void **set_param** **(** :ref:`Parameter<enum_CPUParticles_Parameter>` param, :ref:`float<class_float>` value **)**
 
+Sets the base value of the parameter specified by :ref:`Parameter<enum_CPUParticles_Parameter>`.
+
 ----
 
 .. _class_CPUParticles_method_set_param_curve:
 
 - void **set_param_curve** **(** :ref:`Parameter<enum_CPUParticles_Parameter>` param, :ref:`Curve<class_Curve>` curve **)**
 
+Sets the :ref:`Curve<class_Curve>` of the parameter specified by :ref:`Parameter<enum_CPUParticles_Parameter>`.
+
 ----
 
 .. _class_CPUParticles_method_set_param_randomness:
 
 - void **set_param_randomness** **(** :ref:`Parameter<enum_CPUParticles_Parameter>` param, :ref:`float<class_float>` randomness **)**
 
+Sets the randomness factor of the parameter specified by :ref:`Parameter<enum_CPUParticles_Parameter>`.
+
 ----
 
 .. _class_CPUParticles_method_set_particle_flag:
 
 - void **set_particle_flag** **(** :ref:`Flags<enum_CPUParticles_Flags>` flag, :ref:`bool<class_bool>` enable **)**
 
+Enables or disables the given flag (see :ref:`Flags<enum_CPUParticles_Flags>` for options).
+

+ 16 - 16
classes/class_cpuparticles2d.rst

@@ -89,8 +89,6 @@ Properties
 +---------------------------------------------------------+---------------------------------------------------------------------------------------+-------------------------+
 | :ref:`bool<class_bool>`                                 | :ref:`flag_align_y<class_CPUParticles2D_property_flag_align_y>`                       | ``false``               |
 +---------------------------------------------------------+---------------------------------------------------------------------------------------+-------------------------+
-| :ref:`float<class_float>`                               | :ref:`flatness<class_CPUParticles2D_property_flatness>`                               | ``0.0``                 |
-+---------------------------------------------------------+---------------------------------------------------------------------------------------+-------------------------+
 | :ref:`bool<class_bool>`                                 | :ref:`fract_delta<class_CPUParticles2D_property_fract_delta>`                         | ``true``                |
 +---------------------------------------------------------+---------------------------------------------------------------------------------------+-------------------------+
 | :ref:`Vector2<class_Vector2>`                           | :ref:`gravity<class_CPUParticles2D_property_gravity>`                                 | ``Vector2( 0, 98 )``    |
@@ -761,20 +759,6 @@ Align Y axis of particle with the direction of its velocity.
 
 ----
 
-.. _class_CPUParticles2D_property_flatness:
-
-- :ref:`float<class_float>` **flatness**
-
-+-----------+---------------------+
-| *Default* | ``0.0``             |
-+-----------+---------------------+
-| *Setter*  | set_flatness(value) |
-+-----------+---------------------+
-| *Getter*  | get_flatness()      |
-+-----------+---------------------+
-
-----
-
 .. _class_CPUParticles2D_property_fract_delta:
 
 - :ref:`bool<class_bool>` **fract_delta**
@@ -1284,24 +1268,32 @@ Sets this node's properties to match a given :ref:`Particles2D<class_Particles2D
 
 - :ref:`float<class_float>` **get_param** **(** :ref:`Parameter<enum_CPUParticles2D_Parameter>` param **)** const
 
+Returns the base value of the parameter specified by :ref:`Parameter<enum_CPUParticles2D_Parameter>`.
+
 ----
 
 .. _class_CPUParticles2D_method_get_param_curve:
 
 - :ref:`Curve<class_Curve>` **get_param_curve** **(** :ref:`Parameter<enum_CPUParticles2D_Parameter>` param **)** const
 
+Returns the :ref:`Curve<class_Curve>` of the parameter specified by :ref:`Parameter<enum_CPUParticles2D_Parameter>`.
+
 ----
 
 .. _class_CPUParticles2D_method_get_param_randomness:
 
 - :ref:`float<class_float>` **get_param_randomness** **(** :ref:`Parameter<enum_CPUParticles2D_Parameter>` param **)** const
 
+Returns the randomness factor of the parameter specified by :ref:`Parameter<enum_CPUParticles2D_Parameter>`.
+
 ----
 
 .. _class_CPUParticles2D_method_get_particle_flag:
 
 - :ref:`bool<class_bool>` **get_particle_flag** **(** :ref:`Flags<enum_CPUParticles2D_Flags>` flag **)** const
 
+Returns the enabled state of the given flag (see :ref:`Flags<enum_CPUParticles2D_Flags>` for options).
+
 ----
 
 .. _class_CPUParticles2D_method_restart:
@@ -1316,21 +1308,29 @@ Restarts the particle emitter.
 
 - void **set_param** **(** :ref:`Parameter<enum_CPUParticles2D_Parameter>` param, :ref:`float<class_float>` value **)**
 
+Sets the base value of the parameter specified by :ref:`Parameter<enum_CPUParticles2D_Parameter>`.
+
 ----
 
 .. _class_CPUParticles2D_method_set_param_curve:
 
 - void **set_param_curve** **(** :ref:`Parameter<enum_CPUParticles2D_Parameter>` param, :ref:`Curve<class_Curve>` curve **)**
 
+Sets the :ref:`Curve<class_Curve>` of the parameter specified by :ref:`Parameter<enum_CPUParticles2D_Parameter>`.
+
 ----
 
 .. _class_CPUParticles2D_method_set_param_randomness:
 
 - void **set_param_randomness** **(** :ref:`Parameter<enum_CPUParticles2D_Parameter>` param, :ref:`float<class_float>` randomness **)**
 
+Sets the randomness factor of the parameter specified by :ref:`Parameter<enum_CPUParticles2D_Parameter>`.
+
 ----
 
 .. _class_CPUParticles2D_method_set_particle_flag:
 
 - void **set_particle_flag** **(** :ref:`Flags<enum_CPUParticles2D_Flags>` flag, :ref:`bool<class_bool>` enable **)**
 
+Enables or disables the given flag (see :ref:`Flags<enum_CPUParticles2D_Flags>` for options).
+

+ 3 - 1
classes/class_csgmesh.rst

@@ -40,6 +40,8 @@ Property Descriptions
 | *Getter* | get_material()      |
 +----------+---------------------+
 
+The :ref:`Material<class_Material>` used in drawing the CSG shape.
+
 ----
 
 .. _class_CSGMesh_property_mesh:
@@ -52,5 +54,5 @@ Property Descriptions
 | *Getter* | get_mesh()      |
 +----------+-----------------+
 
-The mesh resource to use as a CSG shape.
+The :ref:`Mesh<class_Mesh>` resource to use as a CSG shape.
 

+ 5 - 0
classes/class_csgprimitive.rst

@@ -15,6 +15,11 @@ CSGPrimitive
 
 Base class for CSG primitives.
 
+Description
+-----------
+
+Parent class for various CSG primitives. It contains code and functionality that is common between them. It cannot be used directly. Instead use one of the various classes that inherit from it.
+
 Properties
 ----------
 

+ 4 - 0
classes/class_csgshape.rst

@@ -156,6 +156,8 @@ The operation that is performed on this shape. This is ignored for the first CSG
 | *Getter*  | get_snap()      |
 +-----------+-----------------+
 
+Snap makes the mesh snap to a given distance so that the faces of two meshes can be perfectly aligned. A lower value results in greater precision but may be harder to adjust.
+
 ----
 
 .. _class_CSGShape_property_use_collision:
@@ -195,6 +197,8 @@ Returns an individual bit on the collision mask.
 
 - :ref:`Array<class_Array>` **get_meshes** **(** **)** const
 
+Returns an :ref:`Array<class_Array>` with two elements, the first is the :ref:`Transform<class_Transform>` of this node and the second is the root :ref:`Mesh<class_Mesh>` of this node. Only works when this node is the root shape.
+
 ----
 
 .. _class_CSGShape_method_is_root_shape:

+ 60 - 4
classes/class_dictionary.rst

@@ -14,7 +14,7 @@ Dictionary type.
 Description
 -----------
 
-Dictionary type. Associative container which contains values referenced by unique keys. Dictionaries are always passed by reference.
+Dictionary type. Associative container which contains values referenced by unique keys. Dictionary are composed of pairs of keys (which must be unique) and values. You can define a dictionary by placing a comma separated list of ``key: value`` pairs in curly braces ``{}``.
 
 Erasing elements while iterating over them **is not supported**.
 
@@ -22,14 +22,70 @@ Creating a dictionary:
 
 ::
 
-    var d = {4: 5, "A key": "A value", 28: [1, 2, 3]}
+    var my_dir = {} # Creates an empty dictionary.
+    var points_dir = {"White": 50, "Yellow": 75, "Orange": 100}
+    var my_dir = {
+        key1: value1,
+        key2: value2,
+        key3: value3,
+    }
+
+You can access values of a dictionary by referencing appropriate key in above example ``points_dir["White"]`` would return value of 50.
+
+::
+
+    export(String, "White", "Yellow", "Orange") var my_color
+    var points_dir = {"White": 50, "Yellow": 75, "Orange": 100}
+    
+    func _ready():
+        var points = points_dir[my_color]
+
+In the above code ``points`` will be assigned the value that is paired with the appropriate color selected in ``my_color``.
+
+Dictionaries can contain more complex data:
+
+::
+
+    my_dir = {"First Array": [1, 2, 3, 4]} # Assigns an Array to a String key.
 
 To add a key to an existing dictionary, access it like an existing key and assign to it:
 
 ::
 
-    d[4] = "hello"  # Add integer 4 as a key and assign the String "hello" as its value.
-    d["Godot"] = 3.01  # Add String "Godot" as a key and assign the value 3.01 to it.
+    var points_dir = {"White": 50, "Yellow": 75, "Orange": 100}
+    var points_dir["Blue"] = 150 # Add "Blue" as a key and assign 150 as its value.
+
+Finally, dictionaries can contain different types of keys and values in the same dictionary:
+
+::
+
+    var my_dir = {"String Key": 5, 4: [1, 2, 3], 7: "Hello"} # This is a valid dictionary.
+
+**Note:** Unlike :ref:`Array<class_Array>`\ s you can't compare dictionaries directly:
+
+::
+
+    array1 = [1, 2, 3]
+    array2 = [1, 2, 3]
+    
+    func compare_arrays():
+        print(array1 == array2) # Will print true.
+    
+    dir1 = {"a": 1, "b": 2, "c": 3}
+    dir2 = {"a": 1, "b": 2, "c": 3}
+    
+    func compare_dictionaries():
+        print(dir1 == dir2) # Will NOT print true.
+
+You need to first calculate the dictionary's hash with :ref:`hash<class_Dictionary_method_hash>` before you can compare them:
+
+::
+
+    dir1 = {"a": 1, "b": 2, "c": 3}
+    dir2 = {"a": 1, "b": 2, "c": 3}
+    
+    func compare_dictionaries():
+        print(dir1.hash() == dir2.hash()) # Will print true.
 
 Tutorials
 ---------

+ 1 - 1
classes/class_directory.rst

@@ -29,7 +29,7 @@ Here is an example on how to iterate through the files of a directory:
         if dir.open(path) == OK:
             dir.list_dir_begin()
             var file_name = dir.get_next()
-            while (file_name != ""):
+            while file_name != "":
                 if dir.current_is_dir():
                     print("Found directory: " + file_name)
                 else:

+ 1 - 1
classes/class_editorinspectorplugin.rst

@@ -114,5 +114,5 @@ Called to allow adding controls at the end of the list.
 
 - :ref:`bool<class_bool>` **parse_property** **(** :ref:`Object<class_Object>` object, :ref:`int<class_int>` type, :ref:`String<class_String>` path, :ref:`int<class_int>` hint, :ref:`String<class_String>` hint_text, :ref:`int<class_int>` usage **)** virtual
 
-Called to allow adding property specific editors to the inspector. Usually these inherit :ref:`EditorProperty<class_EditorProperty>`
+Called to allow adding property specific editors to the inspector. Usually these inherit :ref:`EditorProperty<class_EditorProperty>`.
 

+ 1 - 1
classes/class_editorspatialgizmoplugin.rst

@@ -93,7 +93,7 @@ Override this method to commit gizmo handles. Called for this plugin's active gi
 
 - :ref:`EditorSpatialGizmo<class_EditorSpatialGizmo>` **create_gizmo** **(** :ref:`Spatial<class_Spatial>` spatial **)** virtual
 
-Override this method to return a custom :ref:`EditorSpatialGizmo<class_EditorSpatialGizmo>` for the spatial nodes of your choice, return ``null`` for the rest of nodes. (See also :ref:`has_gizmo<class_EditorSpatialGizmoPlugin_method_has_gizmo>`)
+Override this method to return a custom :ref:`EditorSpatialGizmo<class_EditorSpatialGizmo>` for the spatial nodes of your choice, return ``null`` for the rest of nodes. See also :ref:`has_gizmo<class_EditorSpatialGizmoPlugin_method_has_gizmo>`.
 
 ----
 

+ 5 - 5
classes/class_editorvcsinterface.rst

@@ -102,7 +102,7 @@ The following integer values are being used to signify that the detected file is
 
 - :ref:`String<class_String>` **get_project_name** **(** **)**
 
-Return the project name of the VCS working directory
+Returns the project name of the VCS working directory.
 
 ----
 
@@ -110,7 +110,7 @@ Return the project name of the VCS working directory
 
 - :ref:`String<class_String>` **get_vcs_name** **(** **)**
 
-Return the name of the VCS if the VCS has been initialized, else return an empty string.
+Returns the name of the VCS if the VCS has been initialized, else return an empty string.
 
 ----
 
@@ -118,7 +118,7 @@ Return the name of the VCS if the VCS has been initialized, else return an empty
 
 - :ref:`bool<class_bool>` **initialize** **(** :ref:`String<class_String>` project_root_path **)**
 
-Initialize the VCS addon if not already. Uses the argument value as the path to the working directory of the project. Creates the initial commit if required. Returns ``true`` if no failure occurs, else returns ``false``.
+Initializes the VCS addon if not already. Uses the argument value as the path to the working directory of the project. Creates the initial commit if required. Returns ``true`` if no failure occurs, else returns ``false``.
 
 ----
 
@@ -150,7 +150,7 @@ Shuts down the VCS addon to allow cleanup code to run on call. Returns ``true``
 
 - void **stage_file** **(** :ref:`String<class_String>` file_path **)**
 
-Stage the file which should be committed when :ref:`commit<class_EditorVCSInterface_method_commit>` is called. Argument should contain the absolute path.
+Stages the file which should be committed when :ref:`commit<class_EditorVCSInterface_method_commit>` is called. Argument should contain the absolute path.
 
 ----
 
@@ -158,5 +158,5 @@ Stage the file which should be committed when :ref:`commit<class_EditorVCSInterf
 
 - void **unstage_file** **(** :ref:`String<class_String>` file_path **)**
 
-Unstage the file which was staged previously to be committed, so that it is no longer committed when :ref:`commit<class_EditorVCSInterface_method_commit>` is called. Argument should contain the absolute path.
+Unstages the file which was staged previously to be committed, so that it is no longer committed when :ref:`commit<class_EditorVCSInterface_method_commit>` is called. Argument should contain the absolute path.
 

+ 8 - 8
classes/class_geometry.rst

@@ -235,7 +235,7 @@ The operation may result in an outer polygon (boundary) and inner polygon (hole)
 
 - :ref:`Vector3<class_Vector3>` **get_closest_point_to_segment** **(** :ref:`Vector3<class_Vector3>` point, :ref:`Vector3<class_Vector3>` s1, :ref:`Vector3<class_Vector3>` s2 **)**
 
-Returns the 3d point on the 3d segment (``s1``, ``s2``) that is closest to ``point``. The returned point will always be inside the specified segment.
+Returns the 3D point on the 3D segment (``s1``, ``s2``) that is closest to ``point``. The returned point will always be inside the specified segment.
 
 ----
 
@@ -243,7 +243,7 @@ Returns the 3d point on the 3d segment (``s1``, ``s2``) that is closest to ``poi
 
 - :ref:`Vector2<class_Vector2>` **get_closest_point_to_segment_2d** **(** :ref:`Vector2<class_Vector2>` point, :ref:`Vector2<class_Vector2>` s1, :ref:`Vector2<class_Vector2>` s2 **)**
 
-Returns the 2d point on the 2d segment (``s1``, ``s2``) that is closest to ``point``. The returned point will always be inside the specified segment.
+Returns the 2D point on the 2D segment (``s1``, ``s2``) that is closest to ``point``. The returned point will always be inside the specified segment.
 
 ----
 
@@ -251,7 +251,7 @@ Returns the 2d point on the 2d segment (``s1``, ``s2``) that is closest to ``poi
 
 - :ref:`Vector3<class_Vector3>` **get_closest_point_to_segment_uncapped** **(** :ref:`Vector3<class_Vector3>` point, :ref:`Vector3<class_Vector3>` s1, :ref:`Vector3<class_Vector3>` s2 **)**
 
-Returns the 3d point on the 3d line defined by (``s1``, ``s2``) that is closest to ``point``. The returned point can be inside the segment (``s1``, ``s2``) or outside of it, i.e. somewhere on the line extending from the segment.
+Returns the 3D point on the 3D line defined by (``s1``, ``s2``) that is closest to ``point``. The returned point can be inside the segment (``s1``, ``s2``) or outside of it, i.e. somewhere on the line extending from the segment.
 
 ----
 
@@ -259,7 +259,7 @@ Returns the 3d point on the 3d line defined by (``s1``, ``s2``) that is closest
 
 - :ref:`Vector2<class_Vector2>` **get_closest_point_to_segment_uncapped_2d** **(** :ref:`Vector2<class_Vector2>` point, :ref:`Vector2<class_Vector2>` s1, :ref:`Vector2<class_Vector2>` s2 **)**
 
-Returns the 2d point on the 2d line defined by (``s1``, ``s2``) that is closest to ``point``. The returned point can be inside the segment (``s1``, ``s2``) or outside of it, i.e. somewhere on the line extending from the segment.
+Returns the 2D point on the 2D line defined by (``s1``, ``s2``) that is closest to ``point``. The returned point can be inside the segment (``s1``, ``s2``) or outside of it, i.e. somewhere on the line extending from the segment.
 
 ----
 
@@ -267,7 +267,7 @@ Returns the 2d point on the 2d line defined by (``s1``, ``s2``) that is closest
 
 - :ref:`PoolVector3Array<class_PoolVector3Array>` **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 **)**
 
-Given the two 3d segments (``p1``, ``p2``) and (``q1``, ``q2``), finds those two points on the two segments that are closest to each other. Returns a :ref:`PoolVector3Array<class_PoolVector3Array>` that contains this point on (``p1``, ``p2``) as well the accompanying point on (``q1``, ``q2``).
+Given the two 3D segments (``p1``, ``p2``) and (``q1``, ``q2``), finds those two points on the two segments that are closest to each other. Returns a :ref:`PoolVector3Array<class_PoolVector3Array>` that contains this point on (``p1``, ``p2``) as well the accompanying point on (``q1``, ``q2``).
 
 ----
 
@@ -275,7 +275,7 @@ Given the two 3d segments (``p1``, ``p2``) and (``q1``, ``q2``), finds those two
 
 - :ref:`PoolVector2Array<class_PoolVector2Array>` **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 **)**
 
-Given the two 2d segments (``p1``, ``p2``) and (``q1``, ``q2``), finds those two points on the two segments that are closest to each other. Returns a :ref:`PoolVector2Array<class_PoolVector2Array>` that contains this point on (``p1``, ``p2``) as well the accompanying point on (``q1``, ``q2``).
+Given the two 2D segments (``p1``, ``p2``) and (``q1``, ``q2``), finds those two points on the two segments that are closest to each other. Returns a :ref:`PoolVector2Array<class_PoolVector2Array>` that contains this point on (``p1``, ``p2``) as well the accompanying point on (``q1``, ``q2``).
 
 ----
 
@@ -393,7 +393,7 @@ Returns if ``point`` is inside the triangle specified by ``a``, ``b`` and ``c``.
 
 - :ref:`Variant<class_Variant>` **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 **)**
 
-Tests if the 3d ray starting at ``from`` with the direction of ``dir`` intersects the triangle specified by ``a``, ``b`` and ``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.
+Tests if the 3D ray starting at ``from`` with the direction of ``dir`` intersects the triangle specified by ``a``, ``b`` and ``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.
 
 ----
 
@@ -401,7 +401,7 @@ Tests if the 3d ray starting at ``from`` with the direction of ``dir`` intersect
 
 - :ref:`float<class_float>` **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 **)**
 
-Given the 2d segment (``segment_from``, ``segment_to``), returns the position on the segment (as a number between 0 and 1) at which the segment hits the circle that is located at position ``circle_position`` and has radius ``circle_radius``. If the segment does not intersect the circle, -1 is returned (this is also the case if the line extending the segment would intersect the circle, but the segment does not).
+Given the 2D segment (``segment_from``, ``segment_to``), returns the position on the segment (as a number between 0 and 1) at which the segment hits the circle that is located at position ``circle_position`` and has radius ``circle_radius``. If the segment does not intersect the circle, -1 is returned (this is also the case if the line extending the segment would intersect the circle, but the segment does not).
 
 ----
 

+ 37 - 4
classes/class_giprobe.rst

@@ -11,7 +11,14 @@ GIProbe
 
 **Inherits:** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
+Real-time global illumination (GI) probe.
 
+Description
+-----------
+
+``GIProbe``\ s are used to provide high-quality real-time indirect light to scenes. They precompute the effect of objects that emit light and the effect of static geometry to simulate the behavior of complex light in real-time. ``GIProbe``\ s need to be baked before using, however, once baked, dynamic objects will receive light from them. Further, lights can be fully dynamic or baked.
+
+Having ``GIProbe``\ s in a scene can be expensive, the quality of the probe can be turned down in exchange for better performance in the :ref:`ProjectSettings<class_ProjectSettings>` using :ref:`ProjectSettings.rendering/quality/voxel_cone_tracing/high_quality<class_ProjectSettings_property_rendering/quality/voxel_cone_tracing/high_quality>`.
 
 Tutorials
 ---------
@@ -69,13 +76,13 @@ Enumerations
 
 enum **Subdiv**:
 
-- **SUBDIV_64** = **0**
+- **SUBDIV_64** = **0** --- Use 64 subdivisions. This is the lowest quality setting, but the fastest. Use it if you can, but especially use it on lower-end hardware.
 
-- **SUBDIV_128** = **1**
+- **SUBDIV_128** = **1** --- Use 128 subdivisions. This is the default quality setting.
 
-- **SUBDIV_256** = **2**
+- **SUBDIV_256** = **2** --- Use 256 subdivisions.
 
-- **SUBDIV_512** = **3**
+- **SUBDIV_512** = **3** --- Use 512 subdivisions. This is the highest quality setting, but the slowest. On lower-end hardware this could cause the GPU to stall.
 
 - **SUBDIV_MAX** = **4** --- Represents the size of the :ref:`Subdiv<enum_GIProbe_Subdiv>` enum.
 
@@ -94,6 +101,10 @@ Property Descriptions
 | *Getter*  | get_bias()      |
 +-----------+-----------------+
 
+Offsets the lookup of the light contribution from the ``GIProbe``. This can be used to avoid self-shadowing, but may introduce light leaking at higher values. This and :ref:`normal_bias<class_GIProbe_property_normal_bias>` should be played around with to minimize self-shadowing and light leaking.
+
+**Note:** ``bias`` should usually be above 1.0 as that is the size of the voxels.
+
 ----
 
 .. _class_GIProbe_property_compress:
@@ -108,6 +119,8 @@ Property Descriptions
 | *Getter*  | is_compressed()     |
 +-----------+---------------------+
 
+If ``true``, the data for this ``GIProbe`` will be compressed. Compression saves space, but results in far worse visual quality.
+
 ----
 
 .. _class_GIProbe_property_data:
@@ -120,6 +133,8 @@ Property Descriptions
 | *Getter* | get_probe_data()      |
 +----------+-----------------------+
 
+The :ref:`GIProbeData<class_GIProbeData>` resource that holds the data for this ``GIProbe``.
+
 ----
 
 .. _class_GIProbe_property_dynamic_range:
@@ -134,6 +149,8 @@ Property Descriptions
 | *Getter*  | get_dynamic_range()      |
 +-----------+--------------------------+
 
+The maximum brightness that the ``GIProbe`` will recognize. Brightness will be scaled within this range.
+
 ----
 
 .. _class_GIProbe_property_energy:
@@ -148,6 +165,8 @@ Property Descriptions
 | *Getter*  | get_energy()      |
 +-----------+-------------------+
 
+Energy multiplier. Makes the lighting contribution from the ``GIProbe`` brighter.
+
 ----
 
 .. _class_GIProbe_property_extents:
@@ -162,6 +181,8 @@ Property Descriptions
 | *Getter*  | get_extents()             |
 +-----------+---------------------------+
 
+The size of the area covered by the ``GIProbe``. If you make the extents larger without increasing the subdivisions with :ref:`subdiv<class_GIProbe_property_subdiv>`, the size of each cell will increase and result in lower detailed lighting.
+
 ----
 
 .. _class_GIProbe_property_interior:
@@ -176,6 +197,8 @@ Property Descriptions
 | *Getter*  | is_interior()       |
 +-----------+---------------------+
 
+If ``true``, ignores the sky contribution when calculating lighting.
+
 ----
 
 .. _class_GIProbe_property_normal_bias:
@@ -190,6 +213,8 @@ Property Descriptions
 | *Getter*  | get_normal_bias()      |
 +-----------+------------------------+
 
+Offsets the lookup into the ``GIProbe`` based on the object's normal direction. Can be used to reduce some self-shadowing artifacts.
+
 ----
 
 .. _class_GIProbe_property_propagation:
@@ -204,6 +229,8 @@ Property Descriptions
 | *Getter*  | get_propagation()      |
 +-----------+------------------------+
 
+How much light propagates through the probe internally. A higher value allows light to spread further.
+
 ----
 
 .. _class_GIProbe_property_subdiv:
@@ -218,6 +245,8 @@ Property Descriptions
 | *Getter*  | get_subdiv()      |
 +-----------+-------------------+
 
+Number of times to subdivide the grid that the ``GIProbe`` operates on. A higher number results in finer detail and thus higher visual quality, while lower numbers result in better performance.
+
 Method Descriptions
 -------------------
 
@@ -225,9 +254,13 @@ Method Descriptions
 
 - void **bake** **(** :ref:`Node<class_Node>` from_node=null, :ref:`bool<class_bool>` create_visual_debug=false **)**
 
+Bakes the effect from all :ref:`GeometryInstance<class_GeometryInstance>`\ s marked with :ref:`GeometryInstance.use_in_baked_light<class_GeometryInstance_property_use_in_baked_light>` and :ref:`Light<class_Light>`\ s marked with either :ref:`Light.BAKE_INDIRECT<class_Light_constant_BAKE_INDIRECT>` or :ref:`Light.BAKE_ALL<class_Light_constant_BAKE_ALL>`. If ``create_visual_debug`` is ``true``, after baking the light, this will generate a :ref:`MultiMesh<class_MultiMesh>` that has a cube representing each solid cell with each cube colored to the cell's albedo color. This can be used to visualize the ``GIProbe``'s data and debug any issues that may be occurring.
+
 ----
 
 .. _class_GIProbe_method_debug_bake:
 
 - void **debug_bake** **(** **)**
 
+Calls :ref:`bake<class_GIProbe_method_bake>` with ``create_visual_debug`` enabled.
+

+ 2 - 2
classes/class_graphnode.rst

@@ -16,9 +16,9 @@ A GraphNode is a container with potentially several input and output slots allow
 Description
 -----------
 
-A GraphNode is a container. Each GraphNode can have several input and output slots, sometimes refered to as ports, allowing connections between GraphNodes. To add a slot to GraphNode, add any :ref:`Control<class_Control>`-derived child node to it. 
+A GraphNode is a container. Each GraphNode can have several input and output slots, sometimes refered to as ports, allowing connections between GraphNodes. To add a slot to GraphNode, add any :ref:`Control<class_Control>`-derived child node to it.
 
-After adding at least one child to GraphNode new sections will be automatically created in the Inspector called 'Slot'. When 'Slot' is expanded you will see list with index number for each slot. You can click on each of them to expand further.  
+After adding at least one child to GraphNode new sections will be automatically created in the Inspector called 'Slot'. When 'Slot' is expanded you will see list with index number for each slot. You can click on each of them to expand further.
 
 In the Inspector you can enable (show) or disable (hide) slots. By default all slots are disabled so you may not see any slots on your GraphNode initially. You can assign a type to each slot. Only slots of the same type will be able to connect to each other. You can also assign colors to slots. A tuple of input and output slots is defined for each GUI element included in the GraphNode. Input connections are on the left and output connections are on the right side of GraphNode. Only enabled slots are counted as connections.
 

+ 1 - 1
classes/class_httpclient.rst

@@ -561,7 +561,7 @@ If ``true``, this ``HTTPClient`` has a response that is chunked.
 
 - :ref:`Error<enum_@GlobalScope_Error>` **poll** **(** **)**
 
-This needs to be called in order to have any request processed. Check results with :ref:`get_status<class_HTTPClient_method_get_status>`
+This needs to be called in order to have any request processed. Check results with :ref:`get_status<class_HTTPClient_method_get_status>`.
 
 ----
 

+ 1 - 1
classes/class_httprequest.rst

@@ -171,7 +171,7 @@ enum **Result**:
 
 - **RESULT_BODY_SIZE_LIMIT_EXCEEDED** = **7** --- Request exceeded its maximum size limit, see :ref:`body_size_limit<class_HTTPRequest_property_body_size_limit>`.
 
-- **RESULT_REQUEST_FAILED** = **8** --- Request failed. (Unused)
+- **RESULT_REQUEST_FAILED** = **8** --- Request failed (currently unused).
 
 - **RESULT_DOWNLOAD_FILE_CANT_OPEN** = **9** --- HTTPRequest couldn't open the download file.
 

+ 2 - 2
classes/class_input.rst

@@ -13,12 +13,12 @@ Input
 
 **Inherited By:** :ref:`InputDefault<class_InputDefault>`
 
-A Singleton that deals with inputs.
+A singleton that deals with inputs.
 
 Description
 -----------
 
-A Singleton that deals with inputs. This includes key presses, mouse buttons and movement, joypads, and input actions. Actions and their events can be set in the **Input Map** tab in the **Project > Project Settings**, or with the :ref:`InputMap<class_InputMap>` class.
+A singleton that deals with inputs. This includes key presses, mouse buttons and movement, joypads, and input actions. Actions and their events can be set in the **Input Map** tab in the **Project > Project Settings**, or with the :ref:`InputMap<class_InputMap>` class.
 
 Tutorials
 ---------

+ 1 - 1
classes/class_inputevent.rst

@@ -13,7 +13,7 @@ InputEvent
 
 **Inherited By:** :ref:`InputEventAction<class_InputEventAction>`, :ref:`InputEventJoypadButton<class_InputEventJoypadButton>`, :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>`, :ref:`InputEventMIDI<class_InputEventMIDI>`, :ref:`InputEventScreenDrag<class_InputEventScreenDrag>`, :ref:`InputEventScreenTouch<class_InputEventScreenTouch>`, :ref:`InputEventWithModifiers<class_InputEventWithModifiers>`
 
-Generic input event
+Generic input event.
 
 Description
 -----------

+ 7 - 7
classes/class_int.rst

@@ -22,16 +22,16 @@ It can take values in the interval ``[-2^63, 2^63 - 1]``, i.e. ``[-9223372036854
 
 ::
 
-    var my_variant = 0    # int, value 0
-    my_variant += 4.2     # float, value 4.2
-    var my_int: int = 1   # int, value 1
-    my_int = 4.2          # int, value 4, the right value is implicitly cast to int
-    my_int = int("6.7")   # int, value 6, the String is explicitly cast with [method int]
+    var my_variant = 0 # int, value 0.
+    my_variant += 4.2 # float, value 4.2.
+    var my_int: int = 1 # int, value 1.
+    my_int = 4.2 # int, value 4, the right value is implicitly cast to int.
+    my_int = int("6.7") # int, value 6, the String is explicitly cast with int.
     
     var max_int = 9223372036854775807
-    print(max_int)        # 9223372036854775807, OK
+    print(max_int) # 9223372036854775807, OK.
     max_int += 1
-    print(max_int)        # -9223372036854775808, we overflowed and wrapped around
+    print(max_int) # -9223372036854775808, we overflowed and wrapped around.
 
 Methods
 -------

+ 6 - 4
classes/class_lineedit.rst

@@ -16,7 +16,9 @@ Control that provides single-line string editing.
 Description
 -----------
 
-LineEdit provides a single-line string editor, used for text fields. It features many built-in shortcuts which will always be available: (the Ctrl here maps to Command on macOS)
+LineEdit provides a single-line string editor, used for text fields.
+
+It features many built-in shortcuts which will always be available (``Ctrl`` here maps to ``Command`` on macOS):
 
 - Ctrl + C: Copy
 
@@ -560,9 +562,9 @@ Selects characters inside ``LineEdit`` between ``from`` and ``to``. By default,
 ::
 
     text = "Welcome"
-    select()     # Will select "Welcome"
-    select(4)    # Will select "ome"
-    select(2, 5) # Will select "lco"
+    select() # Will select "Welcome".
+    select(4) # Will select "ome".
+    select(2, 5) # Will select "lco".
 
 ----
 

+ 5 - 3
classes/class_menubutton.rst

@@ -16,9 +16,9 @@ Special button that brings up a :ref:`PopupMenu<class_PopupMenu>` when clicked.
 Description
 -----------
 
-Special button that brings up a :ref:`PopupMenu<class_PopupMenu>` when clicked. 
+Special button that brings up a :ref:`PopupMenu<class_PopupMenu>` when clicked.
 
-New items can be created inside this :ref:`PopupMenu<class_PopupMenu>` using ``get_popup().add_item("My Item Name")``. You can also create them directly from the editor. To do so, select the MenuButton node, then in the toolbar at the top of the 2D editor, click **Items** then click **Add** in the popup. You will be able to give each items new properties.
+New items can be created inside this :ref:`PopupMenu<class_PopupMenu>` using ``get_popup().add_item("My Item Name")``. You can also create them directly from the editor. To do so, select the ``MenuButton`` node, then in the toolbar at the top of the 2D editor, click **Items** then click **Add** in the popup. You will be able to give each items new properties.
 
 Properties
 ----------
@@ -97,7 +97,7 @@ Property Descriptions
 | *Getter*  | is_switch_on_hover()       |
 +-----------+----------------------------+
 
-If ``true``, when the cursor hovers above another MenuButton within the same parent which also has ``switch_on_hover`` enabled, it will close the current MenuButton and open the other one.
+If ``true``, when the cursor hovers above another ``MenuButton`` within the same parent which also has ``switch_on_hover`` enabled, it will close the current ``MenuButton`` and open the other one.
 
 Method Descriptions
 -------------------
@@ -114,3 +114,5 @@ Returns the :ref:`PopupMenu<class_PopupMenu>` contained in this button.
 
 - void **set_disable_shortcuts** **(** :ref:`bool<class_bool>` disabled **)**
 
+If ``true``, shortcuts are disabled and cannot be used to trigger the button.
+

+ 1 - 1
classes/class_meshinstance2d.rst

@@ -16,7 +16,7 @@ Node used for displaying a :ref:`Mesh<class_Mesh>` in 2D.
 Description
 -----------
 
-Node used for displaying a :ref:`Mesh<class_Mesh>` in 2D. Can be constructed from an existing :ref:`Sprite<class_Sprite>` use tool in Toolbar. Select "Sprite" then "Convert to Mesh2D", select settings in popup and press "Create Mesh2D".
+Node used for displaying a :ref:`Mesh<class_Mesh>` in 2D. Can be constructed from an existing :ref:`Sprite<class_Sprite>` via a tool in the editor toolbar. Select "Sprite" then "Convert to Mesh2D", select settings in popup and press "Create Mesh2D".
 
 Tutorials
 ---------

+ 2 - 2
classes/class_networkedmultiplayerenet.rst

@@ -214,7 +214,7 @@ Disconnect the given peer. If "now" is set to ``true``, the connection will be c
 
 - :ref:`int<class_int>` **get_last_packet_channel** **(** **)** const
 
-Returns the channel of the last packet fetched via :ref:`PacketPeer.get_packet<class_PacketPeer_method_get_packet>`
+Returns the channel of the last packet fetched via :ref:`PacketPeer.get_packet<class_PacketPeer_method_get_packet>`.
 
 ----
 
@@ -222,7 +222,7 @@ Returns the channel of the last packet fetched via :ref:`PacketPeer.get_packet<c
 
 - :ref:`int<class_int>` **get_packet_channel** **(** **)** const
 
-Returns the channel of the next packet that will be retrieved via :ref:`PacketPeer.get_packet<class_PacketPeer_method_get_packet>`
+Returns the channel of the next packet that will be retrieved via :ref:`PacketPeer.get_packet<class_PacketPeer_method_get_packet>`.
 
 ----
 

+ 1 - 1
classes/class_node.rst

@@ -590,7 +590,7 @@ Corresponds to the :ref:`NOTIFICATION_ENTER_TREE<class_Node_constant_NOTIFICATIO
 
 Called when the node is about to leave the :ref:`SceneTree<class_SceneTree>` (e.g. upon freeing, scene changing, or after calling :ref:`remove_child<class_Node_method_remove_child>` in a script). If the node has children, its :ref:`_exit_tree<class_Node_method__exit_tree>` callback will be called last, after all its children have left the tree.
 
-Corresponds to the :ref:`NOTIFICATION_EXIT_TREE<class_Node_constant_NOTIFICATION_EXIT_TREE>` notification in :ref:`Object._notification<class_Object_method__notification>` and signal :ref:`tree_exiting<class_Node_signal_tree_exiting>`. To get notified when the node has already left the active tree, connect to the :ref:`tree_exited<class_Node_signal_tree_exited>`
+Corresponds to the :ref:`NOTIFICATION_EXIT_TREE<class_Node_constant_NOTIFICATION_EXIT_TREE>` notification in :ref:`Object._notification<class_Object_method__notification>` and signal :ref:`tree_exiting<class_Node_signal_tree_exiting>`. To get notified when the node has already left the active tree, connect to the :ref:`tree_exited<class_Node_signal_tree_exited>`.
 
 ----
 

+ 2 - 2
classes/class_object.rst

@@ -31,8 +31,8 @@ Property membership can be tested directly in GDScript using ``in``:
 ::
 
     var n = Node2D.new()
-    print("position" in n)  # Prints "True".
-    print("other_property" in n)  # Prints "False".
+    print("position" in n) # Prints "True".
+    print("other_property" in n) # Prints "False".
 
 Objects also receive notifications. Notifications are a simple way to notify the object about different events, so they can all be handled together. See :ref:`_notification<class_Object_method__notification>`.
 

+ 200 - 200
classes/class_os.rst

@@ -64,205 +64,205 @@ 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:`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:`PoolStringArray<class_PoolStringArray>` | :ref:`get_granted_permissions<class_OS_method_get_granted_permissions>` **(** **)** 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                                                                                                                                                                               |
-+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`global_menu_add_item<class_OS_method_global_menu_add_item>` **(** :ref:`String<class_String>` menu, :ref:`String<class_String>` label, :ref:`Variant<class_Variant>` id, :ref:`Variant<class_Variant>` meta **)**                                           |
-+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`global_menu_add_separator<class_OS_method_global_menu_add_separator>` **(** :ref:`String<class_String>` menu **)**                                                                                                                                          |
-+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`global_menu_clear<class_OS_method_global_menu_clear>` **(** :ref:`String<class_String>` menu **)**                                                                                                                                                          |
-+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`global_menu_remove_item<class_OS_method_global_menu_remove_item>` **(** :ref:`String<class_String>` menu, :ref:`int<class_int>` idx **)**                                                                                                                   |
-+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :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:`bool<class_bool>`                       | :ref:`is_window_focused<class_OS_method_is_window_focused>` **(** **)** 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 **)**                                                                                                                                                        |
-+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`request_permissions<class_OS_method_request_permissions>` **(** **)**                                                                                                                                                                                       |
-+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| 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="" **)**                                                                                                                                      |
-+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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=true, :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:`PoolStringArray<class_PoolStringArray>` | :ref:`get_granted_permissions<class_OS_method_get_granted_permissions>` **(** **)** 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                                                                                                                                                                                    |
++-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`global_menu_add_item<class_OS_method_global_menu_add_item>` **(** :ref:`String<class_String>` menu, :ref:`String<class_String>` label, :ref:`Variant<class_Variant>` id, :ref:`Variant<class_Variant>` meta **)**                                                |
++-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`global_menu_add_separator<class_OS_method_global_menu_add_separator>` **(** :ref:`String<class_String>` menu **)**                                                                                                                                               |
++-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`global_menu_clear<class_OS_method_global_menu_clear>` **(** :ref:`String<class_String>` menu **)**                                                                                                                                                               |
++-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`global_menu_remove_item<class_OS_method_global_menu_remove_item>` **(** :ref:`String<class_String>` menu, :ref:`int<class_int>` idx **)**                                                                                                                        |
++-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :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:`bool<class_bool>`                       | :ref:`is_window_focused<class_OS_method_is_window_focused>` **(** **)** 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 **)**                                                                                                                                                             |
++-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`request_permissions<class_OS_method_request_permissions>` **(** **)**                                                                                                                                                                                            |
++-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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
 ------------
@@ -869,7 +869,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:`bool<class_bool>` read_stderr=false **)**
+- :ref:`int<class_int>` **execute** **(** :ref:`String<class_String>` path, :ref:`PoolStringArray<class_PoolStringArray>` arguments, :ref:`bool<class_bool>` blocking=true, :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.
 

+ 1 - 1
classes/class_physicsserver.rst

@@ -350,7 +350,7 @@ enum **HingeJointFlag**:
 
 - **HINGE_JOINT_FLAG_USE_LIMIT** = **0** --- If ``true``, the Hinge has a maximum and a minimum rotation.
 
-- **HINGE_JOINT_FLAG_ENABLE_MOTOR** = **1** --- If ``true``, a motor turns the Hinge
+- **HINGE_JOINT_FLAG_ENABLE_MOTOR** = **1** --- If ``true``, a motor turns the Hinge.
 
 ----
 

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 607 - 559
classes/class_projectsettings.rst


+ 23 - 3
classes/class_reflectionprobe.rst

@@ -18,6 +18,8 @@ Description
 
 Capture its surroundings as a dual parabolid image, and stores versions of it with increasing levels of blur to simulate different material roughnesses.
 
+The ``ReflectionProbe`` is used to create high-quality reflections at the cost of performance. It can be combined with :ref:`GIProbe<class_GIProbe>`\ s and Screen Space Reflections to achieve high quality reflections. ``ReflectionProbe``\ s render all objects within their :ref:`cull_mask<class_ReflectionProbe_property_cull_mask>`, so updating them can be quite expensive. It is best to update them once with the important static objects and then leave them.
+
 Tutorials
 ---------
 
@@ -63,9 +65,9 @@ Enumerations
 
 enum **UpdateMode**:
 
-- **UPDATE_ONCE** = **0**
+- **UPDATE_ONCE** = **0** --- Update the probe once on the next frame.
 
-- **UPDATE_ALWAYS** = **1**
+- **UPDATE_ALWAYS** = **1** --- Update the probe every frame. This is needed when you want to capture dynamic objects. However, it results in an increased render time. Use :ref:`UPDATE_ONCE<class_ReflectionProbe_constant_UPDATE_ONCE>` whenever possible.
 
 Property Descriptions
 ---------------------
@@ -98,6 +100,8 @@ If ``true``, enables box projection. This makes reflections look more correct in
 | *Getter*  | get_cull_mask()      |
 +-----------+----------------------+
 
+Sets the cull mask which determines what objects are drawn by this probe. Every :ref:`VisualInstance<class_VisualInstance>` with a layer included in this cull mask will be rendered by the probe. It is best to only include large objects which are likely to take up a lot of space in the reflection in order to save on rendering cost.
+
 ----
 
 .. _class_ReflectionProbe_property_enable_shadows:
@@ -128,6 +132,8 @@ If ``true``, computes shadows in the reflection probe. This makes the reflection
 | *Getter*  | get_extents()          |
 +-----------+------------------------+
 
+The size of the reflection probe. The larger the extents the more space covered by the probe which will lower the perceived resolution. It is best to keep the extents only as large as you need them.
+
 ----
 
 .. _class_ReflectionProbe_property_intensity:
@@ -142,7 +148,7 @@ If ``true``, computes shadows in the reflection probe. This makes the reflection
 | *Getter*  | get_intensity()      |
 +-----------+----------------------+
 
-Defines the reflection intensity.
+Defines the reflection intensity. Intensity modulates the strength of the reflection.
 
 ----
 
@@ -158,6 +164,8 @@ Defines the reflection intensity.
 | *Getter*  | get_interior_ambient()      |
 +-----------+-----------------------------+
 
+Sets the ambient light color to be used when this probe is set to :ref:`interior_enable<class_ReflectionProbe_property_interior_enable>`.
+
 ----
 
 .. _class_ReflectionProbe_property_interior_ambient_contrib:
@@ -172,6 +180,8 @@ Defines the reflection intensity.
 | *Getter*  | get_interior_ambient_probe_contribution()      |
 +-----------+------------------------------------------------+
 
+Sets the contribution value for how much the reflection affects the ambient light for this reflection probe when set to :ref:`interior_enable<class_ReflectionProbe_property_interior_enable>`. Useful so that ambient light matches the color of the room.
+
 ----
 
 .. _class_ReflectionProbe_property_interior_ambient_energy:
@@ -186,6 +196,8 @@ Defines the reflection intensity.
 | *Getter*  | get_interior_ambient_energy()      |
 +-----------+------------------------------------+
 
+Sets the energy multiplier for this reflection probe's ambient light contribution when set to :ref:`interior_enable<class_ReflectionProbe_property_interior_enable>`.
+
 ----
 
 .. _class_ReflectionProbe_property_interior_enable:
@@ -200,6 +212,8 @@ Defines the reflection intensity.
 | *Getter*  | is_set_as_interior()   |
 +-----------+------------------------+
 
+If ``true``, reflections will ignore sky contribution. Ambient lighting is then controlled by the ``interior_ambient_*`` properties.
+
 ----
 
 .. _class_ReflectionProbe_property_max_distance:
@@ -214,6 +228,8 @@ Defines the reflection intensity.
 | *Getter*  | get_max_distance()      |
 +-----------+-------------------------+
 
+Sets the max distance away from the probe an object can be before it is culled.
+
 ----
 
 .. _class_ReflectionProbe_property_origin_offset:
@@ -228,6 +244,8 @@ Defines the reflection intensity.
 | *Getter*  | get_origin_offset()      |
 +-----------+--------------------------+
 
+Sets the origin offset to be used when this reflection probe is in box project mode.
+
 ----
 
 .. _class_ReflectionProbe_property_update_mode:
@@ -242,3 +260,5 @@ Defines the reflection intensity.
 | *Getter*  | get_update_mode()      |
 +-----------+------------------------+
 
+Sets how frequently the probe is updated. Can be :ref:`UPDATE_ONCE<class_ReflectionProbe_constant_UPDATE_ONCE>` or :ref:`UPDATE_ALWAYS<class_ReflectionProbe_constant_UPDATE_ALWAYS>`.
+

+ 1 - 1
classes/class_regex.rst

@@ -25,7 +25,7 @@ To begin, the RegEx object needs to be compiled with the search pattern using :r
     var regex = RegEx.new()
     regex.compile("\\w-(\\d+)")
 
-The search pattern must be escaped first for gdscript before it is escaped for the expression. For example, ``compile("\\d+")`` would be read by RegEx as ``\d+``. Similarly, ``compile("\"(?:\\\\.|[^\"])*\"")`` would be read as ``"(?:\\.|[^"])*"``
+The search pattern must be escaped first for gdscript before it is escaped for the expression. For example, ``compile("\\d+")`` would be read by RegEx as ``\d+``. Similarly, ``compile("\"(?:\\\\.|[^\"])*\"")`` would be read as ``"(?:\\.|[^"])*"``.
 
 Using :ref:`search<class_RegEx_method_search>` you can find the pattern within the given text. If a pattern is found, :ref:`RegExMatch<class_RegExMatch>` is returned and you can retrieve details of the results using functions such as :ref:`RegExMatch.get_string<class_RegExMatch_method_get_string>` and :ref:`RegExMatch.get_start<class_RegExMatch_method_get_start>`.
 

+ 1 - 1
classes/class_shader.rst

@@ -100,7 +100,7 @@ Returns the texture that is set as default for the specified parameter.
 
 - :ref:`Mode<enum_Shader_Mode>` **get_mode** **(** **)** const
 
-Returns the shader mode for the shader, either :ref:`MODE_CANVAS_ITEM<class_Shader_constant_MODE_CANVAS_ITEM>`, :ref:`MODE_SPATIAL<class_Shader_constant_MODE_SPATIAL>` or :ref:`MODE_PARTICLES<class_Shader_constant_MODE_PARTICLES>`
+Returns the shader mode for the shader, either :ref:`MODE_CANVAS_ITEM<class_Shader_constant_MODE_CANVAS_ITEM>`, :ref:`MODE_SPATIAL<class_Shader_constant_MODE_SPATIAL>` or :ref:`MODE_PARTICLES<class_Shader_constant_MODE_PARTICLES>`.
 
 ----
 

+ 4 - 2
classes/class_spatialmaterial.rst

@@ -614,7 +614,9 @@ enum **BillboardMode**:
 
 - **BILLBOARD_FIXED_Y** = **2** --- The object's X axis will always face the camera.
 
-- **BILLBOARD_PARTICLES** = **3** --- Used for particle systems. Enables particle animation options.
+- **BILLBOARD_PARTICLES** = **3** --- Used for particle systems when assigned to :ref:`Particles<class_Particles>` and :ref:`CPUParticles<class_CPUParticles>` nodes. Enables ``particles_anim_*`` properties.
+
+The :ref:`ParticlesMaterial.anim_speed<class_ParticlesMaterial_property_anim_speed>` or :ref:`CPUParticles.anim_speed<class_CPUParticles_property_anim_speed>` should also be set to a positive value for the animation to play.
 
 ----
 
@@ -853,7 +855,7 @@ Sets the strength of the clearcoat effect. Setting to ``0`` looks the same as di
 | *Getter*  | get_feature()      |
 +-----------+--------------------+
 
-If ``true``, clearcoat rendering is enabled. Adds a secondary transparent pass to the lighting calculation resulting in an added specular blob. This makes materials appear as if they have a clear layer on them that can either by glossy or rough.
+If ``true``, clearcoat rendering is enabled. Adds a secondary transparent pass to the lighting calculation resulting in an added specular blob. This makes materials appear as if they have a clear layer on them that can be either glossy or rough.
 
 ----
 

+ 1 - 1
classes/class_textedit.rst

@@ -1079,7 +1079,7 @@ Returns an empty ``PoolIntArray`` if no result was found. Otherwise, the result
 
     var result = search(key, flags, line, column)
     if result.size() > 0:
-        # result found
+        # Result found.
         var res_line = result[TextEdit.SEARCH_RESULT_LINE]
         var res_column = result[TextEdit.SEARCH_RESULT_COLUMN]
 

+ 9 - 9
classes/class_visualinstance.rst

@@ -18,7 +18,7 @@ Parent of all visual 3D nodes.
 Description
 -----------
 
-The VisualInstance is used to connect a resource to a visual representation. All visual 3D nodes inherit from the VisualInstance. In general, you should not access the VisualInstance properties directly as they are accessed and managed by the nodes that inherit from VisualInstance. VisualInstance is the node representation of the :ref:`VisualServer<class_VisualServer>` instance.
+The ``VisualInstance`` is used to connect a resource to a visual representation. All visual 3D nodes inherit from the ``VisualInstance``. In general, you should not access the ``VisualInstance`` properties directly as they are accessed and managed by the nodes that inherit from ``VisualInstance``. ``VisualInstance`` is the node representation of the :ref:`VisualServer<class_VisualServer>` instance.
 
 Properties
 ----------
@@ -61,9 +61,9 @@ Property Descriptions
 | *Getter*  | get_layer_mask()      |
 +-----------+-----------------------+
 
-The render layer(s) this VisualInstance is drawn on.
+The render layer(s) this ``VisualInstance`` is drawn on.
 
-This object will only be visible for :ref:`Camera<class_Camera>`\ s whose cull mask includes the render object this VisualInstance is set to.
+This object will only be visible for :ref:`Camera<class_Camera>`\ s whose cull mask includes the render object this ``VisualInstance`` is set to.
 
 Method Descriptions
 -------------------
@@ -72,7 +72,7 @@ Method Descriptions
 
 - :ref:`AABB<class_AABB>` **get_aabb** **(** **)** const
 
-Returns the :ref:`AABB<class_AABB>` (also known as the bounding box) for this VisualInstance.
+Returns the :ref:`AABB<class_AABB>` (also known as the bounding box) for this ``VisualInstance``.
 
 ----
 
@@ -80,7 +80,7 @@ Returns the :ref:`AABB<class_AABB>` (also known as the bounding box) for this Vi
 
 - :ref:`RID<class_RID>` **get_base** **(** **)** const
 
-Returns the RID of the resource associated with this VisualInstance. For example, if the Node is a :ref:`MeshInstance<class_MeshInstance>`, this will return the RID of the associated :ref:`Mesh<class_Mesh>`.
+Returns the RID of the resource associated with this ``VisualInstance``. For example, if the Node is a :ref:`MeshInstance<class_MeshInstance>`, this will return the RID of the associated :ref:`Mesh<class_Mesh>`.
 
 ----
 
@@ -88,7 +88,7 @@ Returns the RID of the resource associated with this VisualInstance. For example
 
 - :ref:`RID<class_RID>` **get_instance** **(** **)** const
 
-Returns the RID of this instance. This RID is the same as the RID returned by :ref:`VisualServer.instance_create<class_VisualServer_method_instance_create>`. This RID is needed if you want to call :ref:`VisualServer<class_VisualServer>` functions directly on this VisualInstance.
+Returns the RID of this instance. This RID is the same as the RID returned by :ref:`VisualServer.instance_create<class_VisualServer_method_instance_create>`. This RID is needed if you want to call :ref:`VisualServer<class_VisualServer>` functions directly on this ``VisualInstance``.
 
 ----
 
@@ -104,9 +104,9 @@ Returns ``true`` when the specified layer is enabled in :ref:`layers<class_Visua
 
 - :ref:`AABB<class_AABB>` **get_transformed_aabb** **(** **)** const
 
-Returns the transformed :ref:`AABB<class_AABB>` (also known as the bounding box) for this VisualInstance.
+Returns the transformed :ref:`AABB<class_AABB>` (also known as the bounding box) for this ``VisualInstance``.
 
-Transformed in this case means the :ref:`AABB<class_AABB>` plus the position, rotation, and scale of the :ref:`Spatial<class_Spatial>`\ s :ref:`Transform<class_Transform>`
+Transformed in this case means the :ref:`AABB<class_AABB>` plus the position, rotation, and scale of the :ref:`Spatial<class_Spatial>`'s :ref:`Transform<class_Transform>`.
 
 ----
 
@@ -114,7 +114,7 @@ Transformed in this case means the :ref:`AABB<class_AABB>` plus the position, ro
 
 - void **set_base** **(** :ref:`RID<class_RID>` base **)**
 
-Sets the resource that is instantiated by this VisualInstance, which changes how the engine handles the VisualInstance under the hood. Equivalent to :ref:`VisualServer.instance_set_base<class_VisualServer_method_instance_set_base>`.
+Sets the resource that is instantiated by this ``VisualInstance``, which changes how the engine handles the ``VisualInstance`` under the hood. Equivalent to :ref:`VisualServer.instance_set_base<class_VisualServer_method_instance_set_base>`.
 
 ----
 

+ 1 - 1
classes/class_visualscriptbuiltinfunc.rst

@@ -298,7 +298,7 @@ enum **BuiltinFunc**:
 
 - **BYTES_TO_VAR** = **62** --- Deserialize a :ref:`Variant<class_Variant>` from a :ref:`PoolByteArray<class_PoolByteArray>` serialized using :ref:`VAR_TO_BYTES<class_VisualScriptBuiltinFunc_constant_VAR_TO_BYTES>`.
 
-- **COLORN** = **63** --- Return the :ref:`Color<class_Color>` with the given name and alpha ranging from 0 to 1
+- **COLORN** = **63** --- Return the :ref:`Color<class_Color>` with the given name and alpha ranging from 0 to 1.
 
 **Note:** Names are defined in ``color_names.inc``.
 

+ 2 - 2
classes/class_visualscriptenginesingleton.rst

@@ -11,12 +11,12 @@ VisualScriptEngineSingleton
 
 **Inherits:** :ref:`VisualScriptNode<class_VisualScriptNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
-A Visual Script node returning a singleton from :ref:`@GlobalScope<class_@GlobalScope>`
+A Visual Script node returning a singleton from :ref:`@GlobalScope<class_@GlobalScope>`.
 
 Description
 -----------
 
-A Visual Script node returning a singleton from :ref:`@GlobalScope<class_@GlobalScope>`
+A Visual Script node returning a singleton from :ref:`@GlobalScope<class_@GlobalScope>`.
 
 Properties
 ----------

+ 8 - 8
classes/class_visualscriptmathconstant.rst

@@ -58,21 +58,21 @@ Enumerations
 
 enum **MathConstant**:
 
-- **MATH_CONSTANT_ONE** = **0** --- Unity: ``1``
+- **MATH_CONSTANT_ONE** = **0** --- Unity: ``1``.
 
-- **MATH_CONSTANT_PI** = **1** --- Pi: ``3.141593``
+- **MATH_CONSTANT_PI** = **1** --- Pi: ``3.141593``.
 
-- **MATH_CONSTANT_HALF_PI** = **2** --- Pi divided by two: ``1.570796``
+- **MATH_CONSTANT_HALF_PI** = **2** --- Pi divided by two: ``1.570796``.
 
-- **MATH_CONSTANT_TAU** = **3** --- Tau: ``6.283185``
+- **MATH_CONSTANT_TAU** = **3** --- Tau: ``6.283185``.
 
-- **MATH_CONSTANT_E** = **4** --- Mathematical constant ``e``, the natural log base: ``2.718282``
+- **MATH_CONSTANT_E** = **4** --- Mathematical constant ``e``, the natural log base: ``2.718282``.
 
-- **MATH_CONSTANT_SQRT2** = **5** --- Square root of two: ``1.414214``
+- **MATH_CONSTANT_SQRT2** = **5** --- Square root of two: ``1.414214``.
 
-- **MATH_CONSTANT_INF** = **6** --- Infinity: ``inf``
+- **MATH_CONSTANT_INF** = **6** --- Infinity: ``inf``.
 
-- **MATH_CONSTANT_NAN** = **7** --- Not a number: ``nan``
+- **MATH_CONSTANT_NAN** = **7** --- Not a number: ``nan``.
 
 - **MATH_CONSTANT_MAX** = **8** --- Represents the size of the :ref:`MathConstant<enum_VisualScriptMathConstant_MathConstant>` enum.
 

+ 3 - 3
classes/class_visualserver.rst

@@ -1936,7 +1936,7 @@ Once finished with your RID, you will want to free the RID using the VisualServe
 
 - void **camera_set_cull_mask** **(** :ref:`RID<class_RID>` camera, :ref:`int<class_int>` layers **)**
 
-Sets the cull mask associated with this camera. The cull mask describes which 3d layers are rendered by this camera. Equivalent to :ref:`Camera.cull_mask<class_Camera_property_cull_mask>`.
+Sets the cull mask associated with this camera. The cull mask describes which 3D layers are rendered by this camera. Equivalent to :ref:`Camera.cull_mask<class_Camera_property_cull_mask>`.
 
 ----
 
@@ -3012,7 +3012,7 @@ Not yet implemented. Always returns ``false``.
 
 - :ref:`bool<class_bool>` **has_os_feature** **(** :ref:`String<class_String>` feature **)** const
 
-Returns ``true`` if the OS supports a certain feature. Features might be s3tc, etc, etc2 and pvrtc,
+Returns ``true`` if the OS supports a certain feature. Features might be ``s3tc``, ``etc``, ``etc2`` and ``pvrtc``.
 
 ----
 
@@ -4034,7 +4034,7 @@ Add particle system to list of particle systems that need to be updated. Update
 
 - void **particles_restart** **(** :ref:`RID<class_RID>` particles **)**
 
-Reset the particles on the next update. Equivalent to :ref:`Particles.restart<class_Particles_method_restart>`
+Reset the particles on the next update. Equivalent to :ref:`Particles.restart<class_Particles_method_restart>`.
 
 ----
 

+ 31 - 15
classes/class_visualshadernode.rst

@@ -18,18 +18,20 @@ VisualShaderNode
 Properties
 ----------
 
-+---------------------------+-----------------------------------------------------------------------------------------+-------------------------------+
-| :ref:`Array<class_Array>` | :ref:`default_input_values<class_VisualShaderNode_property_default_input_values>`       | ``[ 0, Vector3( 0, 0, 0 ) ]`` |
-+---------------------------+-----------------------------------------------------------------------------------------+-------------------------------+
-| :ref:`int<class_int>`     | :ref:`output_port_for_preview<class_VisualShaderNode_property_output_port_for_preview>` | ``-1``                        |
-+---------------------------+-----------------------------------------------------------------------------------------+-------------------------------+
++-----------------------+-----------------------------------------------------------------------------------------+--------+
+| :ref:`int<class_int>` | :ref:`output_port_for_preview<class_VisualShaderNode_property_output_port_for_preview>` | ``-1`` |
++-----------------------+-----------------------------------------------------------------------------------------+--------+
 
 Methods
 -------
 
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`     | :ref:`get_default_input_values<class_VisualShaderNode_method_get_default_input_values>` **(** **)** const                                                                   |
 +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Variant<class_Variant>` | :ref:`get_input_port_default_value<class_VisualShaderNode_method_get_input_port_default_value>` **(** :ref:`int<class_int>` port **)** const                                |
 +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`set_default_input_values<class_VisualShaderNode_method_set_default_input_values>` **(** :ref:`Array<class_Array>` values **)**                                        |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                          | :ref:`set_input_port_default_value<class_VisualShaderNode_method_set_input_port_default_value>` **(** :ref:`int<class_int>` port, :ref:`Variant<class_Variant>` value **)** |
 +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
@@ -40,6 +42,8 @@ Signals
 
 - **editor_refresh_request** **(** **)**
 
+Emitted when the node requests an editor refresh. Currently called only in setter of :ref:`VisualShaderNodeTexture.source<class_VisualShaderNodeTexture_property_source>`, :ref:`VisualShaderNodeTexture<class_VisualShaderNodeTexture>`, and :ref:`VisualShaderNodeCubeMap<class_VisualShaderNodeCubeMap>` (and their derivatives).
+
 Enumerations
 ------------
 
@@ -74,16 +78,6 @@ enum **PortType**:
 Property Descriptions
 ---------------------
 
-.. _class_VisualShaderNode_property_default_input_values:
-
-- :ref:`Array<class_Array>` **default_input_values**
-
-+-----------+-------------------------------+
-| *Default* | ``[ 0, Vector3( 0, 0, 0 ) ]`` |
-+-----------+-------------------------------+
-
-----
-
 .. _class_VisualShaderNode_property_output_port_for_preview:
 
 - :ref:`int<class_int>` **output_port_for_preview**
@@ -96,16 +90,38 @@ Property Descriptions
 | *Getter*  | get_output_port_for_preview()      |
 +-----------+------------------------------------+
 
+Sets the output port index which will be showed for preview. If set to ``-1`` no port will be open for preview.
+
 Method Descriptions
 -------------------
 
+.. _class_VisualShaderNode_method_get_default_input_values:
+
+- :ref:`Array<class_Array>` **get_default_input_values** **(** **)** const
+
+Returns an :ref:`Array<class_Array>` containing default values for all of the input ports of the node in the form ``[index0, value0, index1, value1, ...]``.
+
+----
+
 .. _class_VisualShaderNode_method_get_input_port_default_value:
 
 - :ref:`Variant<class_Variant>` **get_input_port_default_value** **(** :ref:`int<class_int>` port **)** const
 
+Returns the default value of the input ``port``.
+
+----
+
+.. _class_VisualShaderNode_method_set_default_input_values:
+
+- void **set_default_input_values** **(** :ref:`Array<class_Array>` values **)**
+
+Sets the default input ports values using an :ref:`Array<class_Array>` of the form ``[index0, value0, index1, value1, ...]``. For example: ``[0, Vector3(0, 0, 0), 1, Vector3(0, 0, 0)]``.
+
 ----
 
 .. _class_VisualShaderNode_method_set_input_port_default_value:
 
 - void **set_input_port_default_value** **(** :ref:`int<class_int>` port, :ref:`Variant<class_Variant>` value **)**
 
+Sets the default value for the selected input ``port``.
+

+ 12 - 5
classes/class_visualshadernodebooleanconstant.rst

@@ -11,16 +11,21 @@ VisualShaderNodeBooleanConstant
 
 **Inherits:** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
+A boolean constant to be used within the visual shader graph.
 
+Description
+-----------
+
+Has only one output port and no inputs.
+
+Translated to ``bool`` in the shader language.
 
 Properties
 ----------
 
-+---------------------------+--------------------------------------------------------------------------+-----------------+
-| :ref:`bool<class_bool>`   | :ref:`constant<class_VisualShaderNodeBooleanConstant_property_constant>` | ``false``       |
-+---------------------------+--------------------------------------------------------------------------+-----------------+
-| :ref:`Array<class_Array>` | default_input_values                                                     | **O:** ``[  ]`` |
-+---------------------------+--------------------------------------------------------------------------+-----------------+
++-------------------------+--------------------------------------------------------------------------+-----------+
+| :ref:`bool<class_bool>` | :ref:`constant<class_VisualShaderNodeBooleanConstant_property_constant>` | ``false`` |
++-------------------------+--------------------------------------------------------------------------+-----------+
 
 Property Descriptions
 ---------------------
@@ -37,3 +42,5 @@ Property Descriptions
 | *Getter*  | get_constant()      |
 +-----------+---------------------+
 
+A boolean constant which represents a state of this node.
+

+ 5 - 0
classes/class_visualshadernodebooleanuniform.rst

@@ -11,5 +11,10 @@ VisualShaderNodeBooleanUniform
 
 **Inherits:** :ref:`VisualShaderNodeUniform<class_VisualShaderNodeUniform>` **<** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
+A boolean uniform to be used within the visual shader graph.
 
+Description
+-----------
+
+Translated to ``uniform bool`` in the shader language.
 

+ 9 - 2
classes/class_visualshadernodecolorconstant.rst

@@ -11,7 +11,14 @@ VisualShaderNodeColorConstant
 
 **Inherits:** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
+A :ref:`Color<class_Color>` constant to be used within the visual shader graph.
 
+Description
+-----------
+
+Has two output ports representing RGB and alpha channels of :ref:`Color<class_Color>`.
+
+Translated to ``vec3 rgb`` and ``float alpha`` in the shader language.
 
 Properties
 ----------
@@ -19,8 +26,6 @@ Properties
 +---------------------------+------------------------------------------------------------------------+-------------------------+
 | :ref:`Color<class_Color>` | :ref:`constant<class_VisualShaderNodeColorConstant_property_constant>` | ``Color( 1, 1, 1, 1 )`` |
 +---------------------------+------------------------------------------------------------------------+-------------------------+
-| :ref:`Array<class_Array>` | default_input_values                                                   | **O:** ``[  ]``         |
-+---------------------------+------------------------------------------------------------------------+-------------------------+
 
 Property Descriptions
 ---------------------
@@ -37,3 +42,5 @@ Property Descriptions
 | *Getter*  | get_constant()          |
 +-----------+-------------------------+
 
+A :ref:`Color<class_Color>` constant which represents a state of this node.
+

+ 25 - 2
classes/class_visualshadernodecolorfunc.rst

@@ -11,7 +11,12 @@ VisualShaderNodeColorFunc
 
 **Inherits:** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
+A :ref:`Color<class_Color>` function to be used within the visual shader graph.
 
+Description
+-----------
+
+Accept a :ref:`Color<class_Color>` to the input port and transform it according to :ref:`function<class_VisualShaderNodeColorFunc_property_function>`.
 
 Properties
 ----------
@@ -31,9 +36,25 @@ Enumerations
 
 enum **Function**:
 
-- **FUNC_GRAYSCALE** = **0**
+- **FUNC_GRAYSCALE** = **0** --- Converts the color to grayscale using the following formula:
+
+::
+
+    vec3 c = input;
+    float max1 = max(c.r, c.g);
+    float max2 = max(max1, c.b);
+    float max3 = max(max1, max2);
+    return vec3(max3, max3, max3);
 
-- **FUNC_SEPIA** = **1**
+- **FUNC_SEPIA** = **1** --- Applies sepia tone effect using the following formula:
+
+::
+
+    vec3 c = input;
+    float r = (c.r * 0.393) + (c.g * 0.769) + (c.b * 0.189);
+    float g = (c.r * 0.349) + (c.g * 0.686) + (c.b * 0.168);
+    float b = (c.r * 0.272) + (c.g * 0.534) + (c.b * 0.131);
+    return vec3(r, g, b);
 
 Property Descriptions
 ---------------------
@@ -50,3 +71,5 @@ Property Descriptions
 | *Getter*  | get_function()      |
 +-----------+---------------------+
 
+A function to be applied to the input color. See :ref:`Function<enum_VisualShaderNodeColorFunc_Function>` for options.
+

+ 79 - 14
classes/class_visualshadernodecolorop.rst

@@ -11,16 +11,19 @@ VisualShaderNodeColorOp
 
 **Inherits:** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
+A :ref:`Color<class_Color>` operator to be used within the visual shader graph.
 
+Description
+-----------
+
+Applies :ref:`operator<class_VisualShaderNodeColorOp_property_operator>` to two color inputs.
 
 Properties
 ----------
 
-+--------------------------------------------------------+------------------------------------------------------------------+-------------------------------------------------------------+
-| :ref:`Array<class_Array>`                              | default_input_values                                             | **O:** ``[ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 0, 0 ) ]`` |
-+--------------------------------------------------------+------------------------------------------------------------------+-------------------------------------------------------------+
-| :ref:`Operator<enum_VisualShaderNodeColorOp_Operator>` | :ref:`operator<class_VisualShaderNodeColorOp_property_operator>` | ``0``                                                       |
-+--------------------------------------------------------+------------------------------------------------------------------+-------------------------------------------------------------+
++--------------------------------------------------------+------------------------------------------------------------------+-------+
+| :ref:`Operator<enum_VisualShaderNodeColorOp_Operator>` | :ref:`operator<class_VisualShaderNodeColorOp_property_operator>` | ``0`` |
++--------------------------------------------------------+------------------------------------------------------------------+-------+
 
 Enumerations
 ------------
@@ -47,23 +50,83 @@ Enumerations
 
 enum **Operator**:
 
-- **OP_SCREEN** = **0**
+- **OP_SCREEN** = **0** --- Produce a screen effect with the following formula:
+
+::
+
+    result = vec3(1.0) - (vec3(1.0) - a) * (vec3(1.0) - b);
+
+- **OP_DIFFERENCE** = **1** --- Produce a difference effect with the following formula:
+
+::
+
+    result = abs(a - b);
+
+- **OP_DARKEN** = **2** --- Produce a darken effect with the following formula:
+
+::
+
+    result = min(a, b);
+
+- **OP_LIGHTEN** = **3** --- Produce a lighten effect with the following formula:
 
-- **OP_DIFFERENCE** = **1**
+::
 
-- **OP_DARKEN** = **2**
+    result = max(a, b);
 
-- **OP_LIGHTEN** = **3**
+- **OP_OVERLAY** = **4** --- Produce an overlay effect with the following formula:
 
-- **OP_OVERLAY** = **4**
+::
 
-- **OP_DODGE** = **5**
+    for (int i = 0; i < 3; i++) {
+        float base = a[i];
+        float blend = b[i];
+        if (base < 0.5) {
+            result[i] = 2.0 * base * blend;
+        } else {
+            result[i] = 1.0 - 2.0 * (1.0 - blend) * (1.0 - base);
+        }
+    }
 
-- **OP_BURN** = **6**
+- **OP_DODGE** = **5** --- Produce a dodge effect with the following formula:
 
-- **OP_SOFT_LIGHT** = **7**
+::
 
-- **OP_HARD_LIGHT** = **8**
+    result = a / (vec3(1.0) - b);
+
+- **OP_BURN** = **6** --- Produce a burn effect with the following formula:
+
+::
+
+    result = vec3(1.0) - (vec3(1.0) - a) / b;
+
+- **OP_SOFT_LIGHT** = **7** --- Produce a soft light effect with the following formula:
+
+::
+
+    for (int i = 0; i < 3; i++) {
+        float base = a[i];
+        float blend = b[i];
+        if (base < 0.5) {
+            result[i] = base * (blend + 0.5);
+        } else {
+            result[i] = 1.0 - (1.0 - base) * (1.0 - (blend - 0.5));
+        }
+    }
+
+- **OP_HARD_LIGHT** = **8** --- Produce a hard light effect with the following formula:
+
+::
+
+    for (int i = 0; i < 3; i++) {
+        float base = a[i];
+        float blend = b[i];
+        if (base < 0.5) {
+            result[i] = base * (2.0 * blend);
+        } else {
+            result[i] = 1.0 - (1.0 - base) * (1.0 - 2.0 * (blend - 0.5));
+        }
+    }
 
 Property Descriptions
 ---------------------
@@ -80,3 +143,5 @@ Property Descriptions
 | *Getter*  | get_operator()      |
 +-----------+---------------------+
 
+An operator to be applied to the inputs. See :ref:`Operator<enum_VisualShaderNodeColorOp_Operator>` for options.
+

+ 5 - 0
classes/class_visualshadernodecoloruniform.rst

@@ -11,5 +11,10 @@ VisualShaderNodeColorUniform
 
 **Inherits:** :ref:`VisualShaderNodeUniform<class_VisualShaderNodeUniform>` **<** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
+A :ref:`Color<class_Color>` uniform to be used within the visual shader graph.
 
+Description
+-----------
+
+Translated to ``uniform vec4`` in the shader language.
 

+ 35 - 26
classes/class_visualshadernodecompare.rst

@@ -11,25 +11,28 @@ VisualShaderNodeCompare
 
 **Inherits:** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
+A comparison function for common types within the visual shader graph.
 
+Description
+-----------
+
+Compares ``a`` and ``b`` of :ref:`type<class_VisualShaderNodeCompare_property_type>` by :ref:`function<class_VisualShaderNodeCompare_property_function>`. Returns a boolean scalar. Translates to ``if`` instruction in shader code.
 
 Properties
 ----------
 
-+--------------------------------------------------------------------+--------------------------------------------------------------------+-----------------------------------------+
-| :ref:`Condition<enum_VisualShaderNodeCompare_Condition>`           | :ref:`condition<class_VisualShaderNodeCompare_property_condition>` | ``0``                                   |
-+--------------------------------------------------------------------+--------------------------------------------------------------------+-----------------------------------------+
-| :ref:`Array<class_Array>`                                          | default_input_values                                               | **O:** ``[ 0, 0.0, 1, 0.0, 2, 1e-05 ]`` |
-+--------------------------------------------------------------------+--------------------------------------------------------------------+-----------------------------------------+
-| :ref:`Function<enum_VisualShaderNodeCompare_Function>`             | :ref:`function<class_VisualShaderNodeCompare_property_function>`   | ``0``                                   |
-+--------------------------------------------------------------------+--------------------------------------------------------------------+-----------------------------------------+
-| :ref:`ComparsionType<enum_VisualShaderNodeCompare_ComparsionType>` | :ref:`type<class_VisualShaderNodeCompare_property_type>`           | ``0``                                   |
-+--------------------------------------------------------------------+--------------------------------------------------------------------+-----------------------------------------+
++--------------------------------------------------------------------+--------------------------------------------------------------------+-------+
+| :ref:`Condition<enum_VisualShaderNodeCompare_Condition>`           | :ref:`condition<class_VisualShaderNodeCompare_property_condition>` | ``0`` |
++--------------------------------------------------------------------+--------------------------------------------------------------------+-------+
+| :ref:`Function<enum_VisualShaderNodeCompare_Function>`             | :ref:`function<class_VisualShaderNodeCompare_property_function>`   | ``0`` |
++--------------------------------------------------------------------+--------------------------------------------------------------------+-------+
+| :ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` | :ref:`type<class_VisualShaderNodeCompare_property_type>`           | ``0`` |
++--------------------------------------------------------------------+--------------------------------------------------------------------+-------+
 
 Enumerations
 ------------
 
-.. _enum_VisualShaderNodeCompare_ComparsionType:
+.. _enum_VisualShaderNodeCompare_ComparisonType:
 
 .. _class_VisualShaderNodeCompare_constant_CTYPE_SCALAR:
 
@@ -39,15 +42,15 @@ Enumerations
 
 .. _class_VisualShaderNodeCompare_constant_CTYPE_TRANSFORM:
 
-enum **ComparsionType**:
+enum **ComparisonType**:
 
-- **CTYPE_SCALAR** = **0**
+- **CTYPE_SCALAR** = **0** --- A floating-point scalar.
 
-- **CTYPE_VECTOR** = **1**
+- **CTYPE_VECTOR** = **1** --- A 3D vector type.
 
-- **CTYPE_BOOLEAN** = **2**
+- **CTYPE_BOOLEAN** = **2** --- A boolean type.
 
-- **CTYPE_TRANSFORM** = **3**
+- **CTYPE_TRANSFORM** = **3** --- A transform (``mat4``) type.
 
 ----
 
@@ -67,17 +70,17 @@ enum **ComparsionType**:
 
 enum **Function**:
 
-- **FUNC_EQUAL** = **0**
+- **FUNC_EQUAL** = **0** --- Comparison for equality (``a == b``).
 
-- **FUNC_NOT_EQUAL** = **1**
+- **FUNC_NOT_EQUAL** = **1** --- Comparison for inequality (``a != b``).
 
-- **FUNC_GREATER_THAN** = **2**
+- **FUNC_GREATER_THAN** = **2** --- Comparison for greater than (``a > b``). Cannot be used if :ref:`type<class_VisualShaderNodeCompare_property_type>` set to :ref:`CTYPE_BOOLEAN<class_VisualShaderNodeCompare_constant_CTYPE_BOOLEAN>` or :ref:`CTYPE_TRANSFORM<class_VisualShaderNodeCompare_constant_CTYPE_TRANSFORM>`.
 
-- **FUNC_GREATER_THAN_EQUAL** = **3**
+- **FUNC_GREATER_THAN_EQUAL** = **3** --- Comparison for greater than or equal (``a >= b``). Cannot be used if :ref:`type<class_VisualShaderNodeCompare_property_type>` set to :ref:`CTYPE_BOOLEAN<class_VisualShaderNodeCompare_constant_CTYPE_BOOLEAN>` or :ref:`CTYPE_TRANSFORM<class_VisualShaderNodeCompare_constant_CTYPE_TRANSFORM>`.
 
-- **FUNC_LESS_THAN** = **4**
+- **FUNC_LESS_THAN** = **4** --- Comparison for less than (``a < b``). Cannot be used if :ref:`type<class_VisualShaderNodeCompare_property_type>` set to :ref:`CTYPE_BOOLEAN<class_VisualShaderNodeCompare_constant_CTYPE_BOOLEAN>` or :ref:`CTYPE_TRANSFORM<class_VisualShaderNodeCompare_constant_CTYPE_TRANSFORM>`.
 
-- **FUNC_LESS_THAN_EQUAL** = **5**
+- **FUNC_LESS_THAN_EQUAL** = **5** --- Comparison for less than or equal (``a < b``). Cannot be used if :ref:`type<class_VisualShaderNodeCompare_property_type>` set to :ref:`CTYPE_BOOLEAN<class_VisualShaderNodeCompare_constant_CTYPE_BOOLEAN>` or :ref:`CTYPE_TRANSFORM<class_VisualShaderNodeCompare_constant_CTYPE_TRANSFORM>`.
 
 ----
 
@@ -89,9 +92,9 @@ enum **Function**:
 
 enum **Condition**:
 
-- **COND_ALL** = **0**
+- **COND_ALL** = **0** --- The result will be true if all of component in vector satisfy the comparison condition.
 
-- **COND_ANY** = **1**
+- **COND_ANY** = **1** --- The result will be true if any of component in vector satisfy the comparison condition.
 
 Property Descriptions
 ---------------------
@@ -108,6 +111,8 @@ Property Descriptions
 | *Getter*  | get_condition()      |
 +-----------+----------------------+
 
+Extra condition which is applied if :ref:`type<class_VisualShaderNodeCompare_property_type>` is set to :ref:`CTYPE_VECTOR<class_VisualShaderNodeCompare_constant_CTYPE_VECTOR>`.
+
 ----
 
 .. _class_VisualShaderNodeCompare_property_function:
@@ -122,17 +127,21 @@ Property Descriptions
 | *Getter*  | get_function()      |
 +-----------+---------------------+
 
+A comparison function. See :ref:`Function<enum_VisualShaderNodeCompare_Function>` for options.
+
 ----
 
 .. _class_VisualShaderNodeCompare_property_type:
 
-- :ref:`ComparsionType<enum_VisualShaderNodeCompare_ComparsionType>` **type**
+- :ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` **type**
 
 +-----------+----------------------------+
 | *Default* | ``0``                      |
 +-----------+----------------------------+
-| *Setter*  | set_comparsion_type(value) |
+| *Setter*  | set_comparison_type(value) |
 +-----------+----------------------------+
-| *Getter*  | get_comparsion_type()      |
+| *Getter*  | get_comparison_type()      |
 +-----------+----------------------------+
 
+The type to be used in the comparison. See :ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` for options.
+

+ 7 - 9
classes/class_visualshadernodecubemap.rst

@@ -16,15 +16,13 @@ VisualShaderNodeCubeMap
 Properties
 ----------
 
-+--------------------------------------------------------------+--------------------------------------------------------------------------+-----------------+
-| :ref:`CubeMap<class_CubeMap>`                                | :ref:`cube_map<class_VisualShaderNodeCubeMap_property_cube_map>`         |                 |
-+--------------------------------------------------------------+--------------------------------------------------------------------------+-----------------+
-| :ref:`Array<class_Array>`                                    | default_input_values                                                     | **O:** ``[  ]`` |
-+--------------------------------------------------------------+--------------------------------------------------------------------------+-----------------+
-| :ref:`Source<enum_VisualShaderNodeCubeMap_Source>`           | :ref:`source<class_VisualShaderNodeCubeMap_property_source>`             | ``0``           |
-+--------------------------------------------------------------+--------------------------------------------------------------------------+-----------------+
-| :ref:`TextureType<enum_VisualShaderNodeCubeMap_TextureType>` | :ref:`texture_type<class_VisualShaderNodeCubeMap_property_texture_type>` | ``0``           |
-+--------------------------------------------------------------+--------------------------------------------------------------------------+-----------------+
++--------------------------------------------------------------+--------------------------------------------------------------------------+-------+
+| :ref:`CubeMap<class_CubeMap>`                                | :ref:`cube_map<class_VisualShaderNodeCubeMap_property_cube_map>`         |       |
++--------------------------------------------------------------+--------------------------------------------------------------------------+-------+
+| :ref:`Source<enum_VisualShaderNodeCubeMap_Source>`           | :ref:`source<class_VisualShaderNodeCubeMap_property_source>`             | ``0`` |
++--------------------------------------------------------------+--------------------------------------------------------------------------+-------+
+| :ref:`TextureType<enum_VisualShaderNodeCubeMap_TextureType>` | :ref:`texture_type<class_VisualShaderNodeCubeMap_property_texture_type>` | ``0`` |
++--------------------------------------------------------------+--------------------------------------------------------------------------+-------+
 
 Enumerations
 ------------

+ 0 - 7
classes/class_visualshadernodecustom.rst

@@ -31,13 +31,6 @@ Tutorials
 
 - :doc:`../tutorials/plugins/editor/visual_shader_plugins`
 
-Properties
-----------
-
-+---------------------------+----------------------+-----------------+
-| :ref:`Array<class_Array>` | default_input_values | **O:** ``[  ]`` |
-+---------------------------+----------------------+-----------------+
-
 Methods
 -------
 

+ 0 - 7
classes/class_visualshadernodedeterminant.rst

@@ -13,10 +13,3 @@ VisualShaderNodeDeterminant
 
 
 
-Properties
-----------
-
-+---------------------------+----------------------+-------------------------------------------------------------------+
-| :ref:`Array<class_Array>` | default_input_values | **O:** ``[ 0, Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) ]`` |
-+---------------------------+----------------------+-------------------------------------------------------------------+
-

+ 0 - 7
classes/class_visualshadernodedotproduct.rst

@@ -13,10 +13,3 @@ VisualShaderNodeDotProduct
 
 
 
-Properties
-----------
-
-+---------------------------+----------------------+-------------------------------------------------------------+
-| :ref:`Array<class_Array>` | default_input_values | **O:** ``[ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 0, 0 ) ]`` |
-+---------------------------+----------------------+-------------------------------------------------------------+
-

+ 0 - 7
classes/class_visualshadernodefaceforward.rst

@@ -13,10 +13,3 @@ VisualShaderNodeFaceForward
 
 
 
-Properties
-----------
-
-+---------------------------+----------------------+------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>` | default_input_values | **O:** ``[ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 0, 0 ), 2, Vector3( 0, 0, 0 ) ]`` |
-+---------------------------+----------------------+------------------------------------------------------------------------------------+
-

+ 0 - 7
classes/class_visualshadernodefresnel.rst

@@ -13,10 +13,3 @@ VisualShaderNodeFresnel
 
 
 
-Properties
-----------
-
-+---------------------------+----------------------+---------------------------------+
-| :ref:`Array<class_Array>` | default_input_values | **O:** ``[ 2, false, 3, 1.0 ]`` |
-+---------------------------+----------------------+---------------------------------+
-

+ 3 - 5
classes/class_visualshadernodegroupbase.rst

@@ -18,11 +18,9 @@ VisualShaderNodeGroupBase
 Properties
 ----------
 
-+---------------------------+--------------------------------------------------------------------+-----------------+
-| :ref:`Array<class_Array>` | default_input_values                                               | **O:** ``[  ]`` |
-+---------------------------+--------------------------------------------------------------------+-----------------+
-| :ref:`bool<class_bool>`   | :ref:`editable<class_VisualShaderNodeGroupBase_property_editable>` | ``false``       |
-+---------------------------+--------------------------------------------------------------------+-----------------+
++-------------------------+--------------------------------------------------------------------+-----------+
+| :ref:`bool<class_bool>` | :ref:`editable<class_VisualShaderNodeGroupBase_property_editable>` | ``false`` |
++-------------------------+--------------------------------------------------------------------+-----------+
 
 Methods
 -------

+ 0 - 7
classes/class_visualshadernodeif.rst

@@ -13,10 +13,3 @@ VisualShaderNodeIf
 
 
 
-Properties
-----------
-
-+---------------------------+----------------------+--------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>` | default_input_values | **O:** ``[ 0, 0.0, 1, 0.0, 2, 1e-05, 3, Vector3( 0, 0, 0 ), 4, Vector3( 0, 0, 0 ), 5, Vector3( 0, 0, 0 ) ]`` |
-+---------------------------+----------------------+--------------------------------------------------------------------------------------------------------------+
-

+ 3 - 5
classes/class_visualshadernodeinput.rst

@@ -16,11 +16,9 @@ VisualShaderNodeInput
 Properties
 ----------
 
-+-----------------------------+--------------------------------------------------------------------+-----------------+
-| :ref:`Array<class_Array>`   | default_input_values                                               | **O:** ``[  ]`` |
-+-----------------------------+--------------------------------------------------------------------+-----------------+
-| :ref:`String<class_String>` | :ref:`input_name<class_VisualShaderNodeInput_property_input_name>` | ``"[None]"``    |
-+-----------------------------+--------------------------------------------------------------------+-----------------+
++-----------------------------+--------------------------------------------------------------------+--------------+
+| :ref:`String<class_String>` | :ref:`input_name<class_VisualShaderNodeInput_property_input_name>` | ``"[None]"`` |
++-----------------------------+--------------------------------------------------------------------+--------------+
 
 Methods
 -------

+ 3 - 5
classes/class_visualshadernodeis.rst

@@ -16,11 +16,9 @@ VisualShaderNodeIs
 Properties
 ----------
 
-+---------------------------------------------------+-------------------------------------------------------------+-----------------------+
-| :ref:`Array<class_Array>`                         | default_input_values                                        | **O:** ``[ 0, 0.0 ]`` |
-+---------------------------------------------------+-------------------------------------------------------------+-----------------------+
-| :ref:`Function<enum_VisualShaderNodeIs_Function>` | :ref:`function<class_VisualShaderNodeIs_property_function>` | ``0``                 |
-+---------------------------------------------------+-------------------------------------------------------------+-----------------------+
++---------------------------------------------------+-------------------------------------------------------------+-------+
+| :ref:`Function<enum_VisualShaderNodeIs_Function>` | :ref:`function<class_VisualShaderNodeIs_property_function>` | ``0`` |
++---------------------------------------------------+-------------------------------------------------------------+-------+
 
 Enumerations
 ------------

+ 0 - 7
classes/class_visualshadernodeouterproduct.rst

@@ -13,10 +13,3 @@ VisualShaderNodeOuterProduct
 
 
 
-Properties
-----------
-
-+---------------------------+----------------------+-------------------------------------------------------------+
-| :ref:`Array<class_Array>` | default_input_values | **O:** ``[ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 0, 0 ) ]`` |
-+---------------------------+----------------------+-------------------------------------------------------------+
-

+ 0 - 7
classes/class_visualshadernodescalarclamp.rst

@@ -13,10 +13,3 @@ VisualShaderNodeScalarClamp
 
 
 
-Properties
-----------
-
-+---------------------------+----------------------+---------------------------------------+
-| :ref:`Array<class_Array>` | default_input_values | **O:** ``[ 0, 0.0, 1, 0.0, 2, 1.0 ]`` |
-+---------------------------+----------------------+---------------------------------------+
-

+ 3 - 5
classes/class_visualshadernodescalarconstant.rst

@@ -16,11 +16,9 @@ VisualShaderNodeScalarConstant
 Properties
 ----------
 
-+---------------------------+-------------------------------------------------------------------------+-----------------+
-| :ref:`float<class_float>` | :ref:`constant<class_VisualShaderNodeScalarConstant_property_constant>` | ``0.0``         |
-+---------------------------+-------------------------------------------------------------------------+-----------------+
-| :ref:`Array<class_Array>` | default_input_values                                                    | **O:** ``[  ]`` |
-+---------------------------+-------------------------------------------------------------------------+-----------------+
++---------------------------+-------------------------------------------------------------------------+---------+
+| :ref:`float<class_float>` | :ref:`constant<class_VisualShaderNodeScalarConstant_property_constant>` | ``0.0`` |
++---------------------------+-------------------------------------------------------------------------+---------+
 
 Property Descriptions
 ---------------------

+ 3 - 5
classes/class_visualshadernodescalarderivativefunc.rst

@@ -16,11 +16,9 @@ VisualShaderNodeScalarDerivativeFunc
 Properties
 ----------
 
-+---------------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`Array<class_Array>`                                           | default_input_values                                                          | **O:** ``[ 0, 0.0 ]`` |
-+---------------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`Function<enum_VisualShaderNodeScalarDerivativeFunc_Function>` | :ref:`function<class_VisualShaderNodeScalarDerivativeFunc_property_function>` | ``0``                 |
-+---------------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
++---------------------------------------------------------------------+-------------------------------------------------------------------------------+-------+
+| :ref:`Function<enum_VisualShaderNodeScalarDerivativeFunc_Function>` | :ref:`function<class_VisualShaderNodeScalarDerivativeFunc_property_function>` | ``0`` |
++---------------------------------------------------------------------+-------------------------------------------------------------------------------+-------+
 
 Enumerations
 ------------

+ 3 - 5
classes/class_visualshadernodescalarfunc.rst

@@ -16,11 +16,9 @@ VisualShaderNodeScalarFunc
 Properties
 ----------
 
-+-----------------------------------------------------------+---------------------------------------------------------------------+-----------------------+
-| :ref:`Array<class_Array>`                                 | default_input_values                                                | **O:** ``[ 0, 0.0 ]`` |
-+-----------------------------------------------------------+---------------------------------------------------------------------+-----------------------+
-| :ref:`Function<enum_VisualShaderNodeScalarFunc_Function>` | :ref:`function<class_VisualShaderNodeScalarFunc_property_function>` | ``13``                |
-+-----------------------------------------------------------+---------------------------------------------------------------------+-----------------------+
++-----------------------------------------------------------+---------------------------------------------------------------------+--------+
+| :ref:`Function<enum_VisualShaderNodeScalarFunc_Function>` | :ref:`function<class_VisualShaderNodeScalarFunc_property_function>` | ``13`` |
++-----------------------------------------------------------+---------------------------------------------------------------------+--------+
 
 Enumerations
 ------------

+ 0 - 7
classes/class_visualshadernodescalarinterp.rst

@@ -13,10 +13,3 @@ VisualShaderNodeScalarInterp
 
 
 
-Properties
-----------
-
-+---------------------------+----------------------+---------------------------------------+
-| :ref:`Array<class_Array>` | default_input_values | **O:** ``[ 0, 0.0, 1, 1.0, 2, 0.5 ]`` |
-+---------------------------+----------------------+---------------------------------------+
-

+ 3 - 5
classes/class_visualshadernodescalarop.rst

@@ -16,11 +16,9 @@ VisualShaderNodeScalarOp
 Properties
 ----------
 
-+---------------------------------------------------------+-------------------------------------------------------------------+-------------------------------+
-| :ref:`Array<class_Array>`                               | default_input_values                                              | **O:** ``[ 0, 0.0, 1, 0.0 ]`` |
-+---------------------------------------------------------+-------------------------------------------------------------------+-------------------------------+
-| :ref:`Operator<enum_VisualShaderNodeScalarOp_Operator>` | :ref:`operator<class_VisualShaderNodeScalarOp_property_operator>` | ``0``                         |
-+---------------------------------------------------------+-------------------------------------------------------------------+-------------------------------+
++---------------------------------------------------------+-------------------------------------------------------------------+-------+
+| :ref:`Operator<enum_VisualShaderNodeScalarOp_Operator>` | :ref:`operator<class_VisualShaderNodeScalarOp_property_operator>` | ``0`` |
++---------------------------------------------------------+-------------------------------------------------------------------+-------+
 
 Enumerations
 ------------

+ 0 - 7
classes/class_visualshadernodescalarsmoothstep.rst

@@ -13,10 +13,3 @@ VisualShaderNodeScalarSmoothStep
 
 
 
-Properties
-----------
-
-+---------------------------+----------------------+---------------------------------------+
-| :ref:`Array<class_Array>` | default_input_values | **O:** ``[ 0, 0.0, 1, 0.0, 2, 0.0 ]`` |
-+---------------------------+----------------------+---------------------------------------+
-

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác