Browse Source

classref: Sync with current master branch (029aade)

Godot Organization 1 year ago
parent
commit
4779a1dbdf
100 changed files with 474 additions and 267 deletions
  1. 1 1
      classes/[email protected]
  2. 8 6
      classes/[email protected]
  3. 3 3
      classes/class_animatablebody3d.rst
  4. 1 1
      classes/class_animatedsprite2d.rst
  5. 1 1
      classes/class_animationnodeadd3.rst
  6. 2 2
      classes/class_animationnodeanimation.rst
  7. 2 2
      classes/class_animationnodeblend2.rst
  8. 1 1
      classes/class_animationnodeblendspace2d.rst
  9. 1 1
      classes/class_animationnodeoneshot.rst
  10. 2 2
      classes/class_animationnodeoutput.rst
  11. 1 1
      classes/class_animationnodetimescale.rst
  12. 2 2
      classes/class_animationnodetransition.rst
  13. 1 1
      classes/class_animationplayer.rst
  14. 1 1
      classes/class_animationtree.rst
  15. 3 3
      classes/class_area2d.rst
  16. 8 2
      classes/class_area3d.rst
  17. 36 4
      classes/class_array.rst
  18. 4 0
      classes/class_arrayoccluder3d.rst
  19. 1 1
      classes/class_audioeffect.rst
  20. 1 1
      classes/class_audioeffectrecord.rst
  21. 1 1
      classes/class_audioeffectreverb.rst
  22. 1 1
      classes/class_audioeffectspectrumanalyzer.rst
  23. 3 3
      classes/class_audioserver.rst
  24. 3 3
      classes/class_audiostream.rst
  25. 1 1
      classes/class_audiostreamgenerator.rst
  26. 1 1
      classes/class_audiostreamgeneratorplayback.rst
  27. 2 0
      classes/class_audiostreammp3.rst
  28. 1 1
      classes/class_audiostreamplayback.rst
  29. 34 26
      classes/class_audiostreamplayer.rst
  30. 2 0
      classes/class_audiostreamwav.rst
  31. 4 4
      classes/class_basis.rst
  32. 3 3
      classes/class_boxshape3d.rst
  33. 2 2
      classes/class_button.rst
  34. 2 4
      classes/class_camera2d.rst
  35. 1 1
      classes/class_camera3d.rst
  36. 1 1
      classes/class_cameraserver.rst
  37. 6 4
      classes/class_canvasitem.rst
  38. 1 1
      classes/class_canvaslayer.rst
  39. 1 1
      classes/class_capsuleshape3d.rst
  40. 8 4
      classes/class_characterbody2d.rst
  41. 10 6
      classes/class_characterbody3d.rst
  42. 1 1
      classes/class_collisionpolygon2d.rst
  43. 1 1
      classes/class_collisionpolygon3d.rst
  44. 3 3
      classes/class_collisionshape2d.rst
  45. 3 3
      classes/class_collisionshape3d.rst
  46. 3 3
      classes/class_color.rst
  47. 1 1
      classes/class_colorpicker.rst
  48. 2 2
      classes/class_colorpickerbutton.rst
  49. 1 1
      classes/class_colorrect.rst
  50. 2 0
      classes/class_concavepolygonshape2d.rst
  51. 1 1
      classes/class_concavepolygonshape3d.rst
  52. 1 1
      classes/class_configfile.rst
  53. 1 1
      classes/class_control.rst
  54. 2 0
      classes/class_convexpolygonshape2d.rst
  55. 3 1
      classes/class_convexpolygonshape3d.rst
  56. 6 0
      classes/class_cpuparticles2d.rst
  57. 6 0
      classes/class_cpuparticles3d.rst
  58. 2 0
      classes/class_csgpolygon3d.rst
  59. 3 3
      classes/class_cylindershape3d.rst
  60. 2 2
      classes/class_dictionary.rst
  61. 14 14
      classes/class_displayserver.rst
  62. 30 16
      classes/class_editorexportplatformandroid.rst
  63. 1 1
      classes/class_editorexportplatformios.rst
  64. 3 1
      classes/class_editorexportplatformmacos.rst
  65. 16 0
      classes/class_editorexportplatformpc.rst
  66. 9 0
      classes/class_editorexportplatformwindows.rst
  67. 2 0
      classes/class_editorfiledialog.rst
  68. 3 3
      classes/class_editorpaths.rst
  69. 3 1
      classes/class_editorsettings.rst
  70. 2 4
      classes/class_environment.rst
  71. 2 2
      classes/class_fileaccess.rst
  72. 2 0
      classes/class_filedialog.rst
  73. 2 0
      classes/class_fontfile.rst
  74. 2 0
      classes/class_gltfmesh.rst
  75. 2 0
      classes/class_gltfnode.rst
  76. 1 1
      classes/class_gltfphysicsbody.rst
  77. 29 1
      classes/class_gltfphysicsshape.rst
  78. 4 0
      classes/class_gltfstate.rst
  79. 14 6
      classes/class_gpuparticles2d.rst
  80. 13 5
      classes/class_gpuparticles3d.rst
  81. 8 4
      classes/class_gradient.rst
  82. 1 1
      classes/class_gridcontainer.rst
  83. 2 2
      classes/class_gridmap.rst
  84. 2 0
      classes/class_heightmapshape3d.rst
  85. 2 2
      classes/class_input.rst
  86. 2 2
      classes/class_inputevent.rst
  87. 2 2
      classes/class_inputeventaction.rst
  88. 2 2
      classes/class_inputeventkey.rst
  89. 1 1
      classes/class_inputeventmousemotion.rst
  90. 11 2
      classes/class_javaclass.rst
  91. 11 4
      classes/class_javaclasswrapper.rst
  92. 1 1
      classes/class_joint3d.rst
  93. 4 20
      classes/class_jsonrpc.rst
  94. 3 1
      classes/class_label.rst
  95. 1 1
      classes/class_light3d.rst
  96. 4 2
      classes/class_line2d.rst
  97. 2 2
      classes/class_material.rst
  98. 4 4
      classes/class_mesh.rst
  99. 43 29
      classes/class_meshinstance3d.rst
  100. 2 2
      classes/class_meshlibrary.rst

+ 1 - 1
classes/[email protected]

@@ -1070,7 +1070,7 @@ Returns a :ref:`Resource<class_Resource>` from the filesystem located at the abs
     # Load a scene called "main" located in the root of the project directory and cache it in a variable.
     var main = load("res://main.tscn") # main will contain a PackedScene resource.
 
-\ **Important:** The path must be absolute. A relative path will always return ``null``.
+\ **Important:** Relative paths are *not* relative to the script calling this method, instead it is prefixed with ``"res://"``. Loading from relative paths might not work as expected.
 
 This function is a simplified version of :ref:`ResourceLoader.load<class_ResourceLoader_method_load>`, which can be used for more advanced scenarios.
 

+ 8 - 6
classes/[email protected]

@@ -5715,7 +5715,7 @@ Converts an angle expressed in degrees to radians.
 
 Returns an "eased" value of ``x`` based on an easing function defined with ``curve``. This easing function is based on an exponent. The ``curve`` can be any floating-point number, with specific values leading to the following behaviors:
 
-::
+.. code:: text
 
     - Lower than -1.0 (exclusive): Ease in-out
     - 1.0: Linear
@@ -5856,9 +5856,9 @@ Returns the floating-point modulus of ``x`` divided by ``y``, wrapping equally i
         var x = i * 0.5 - 1.5
         print("%4.1f           %4.1f  | %4.1f" % [x, fmod(x, 1.5), fposmod(x, 1.5)])
 
-Produces:
+Prints:
 
-::
+.. code:: text
 
      (x)  (fmod(x, 1.5))   (fposmod(x, 1.5))
     -1.5           -0.0  |  0.0
@@ -6374,9 +6374,9 @@ Returns the integer modulus of ``x`` divided by ``y`` that wraps equally in posi
     for i in range(-3, 4):
         print("%2d       %2d  | %2d" % [i, i % 3, posmod(i, 3)])
 
-Produces:
+Prints:
 
-::
+.. code:: text
 
     (i)  (i % 3)   (posmod(i, 3))
     -3        0  |  0
@@ -6523,6 +6523,8 @@ Prints one or more arguments to strings in the best way possible to standard err
 
 Prints one or more arguments to strings in the best way possible to the OS terminal. Unlike :ref:`print<class_@GlobalScope_method_print>`, no newline is automatically added at the end.
 
+\ **Note:** The OS terminal is *not* the same as the editor's Output dock. The output sent to the OS terminal can be seen when running Godot from a terminal. On Windows, this requires using the ``console.exe`` executable.
+
 
 .. tabs::
 
@@ -7396,7 +7398,7 @@ Converts a :ref:`Variant<class_Variant>` ``variable`` to a formatted :ref:`Strin
 
 Prints:
 
-::
+.. code:: text
 
     {
         "a": 1,

+ 3 - 3
classes/class_animatablebody3d.rst

@@ -28,11 +28,11 @@ When **AnimatableBody3D** is moved, its linear and angular velocity are estimate
 Tutorials
 ---------
 
-- `3D Physics Tests Demo <https://godotengine.org/asset-library/asset/675>`__
+- `3D Physics Tests Demo <https://godotengine.org/asset-library/asset/2747>`__
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
-- `3D Voxel Demo <https://godotengine.org/asset-library/asset/676>`__
+- `3D Voxel Demo <https://godotengine.org/asset-library/asset/2755>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_animatedsprite2d.rst

@@ -28,7 +28,7 @@ Tutorials
 
 - :doc:`2D Sprite animation <../tutorials/2d/2d_sprite_animation>`
 
-- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/515>`__
+- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/2712>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_animationnodeadd3.rst

@@ -38,7 +38,7 @@ Tutorials
 
 - :doc:`Using AnimationTree <../tutorials/animation/animation_tree>`
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 2 - 2
classes/class_animationnodeanimation.rst

@@ -28,9 +28,9 @@ Tutorials
 
 - :doc:`Using AnimationTree <../tutorials/animation/animation_tree>`
 
-- `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
+- `3D Platformer Demo <https://godotengine.org/asset-library/asset/2748>`__
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 

+ 2 - 2
classes/class_animationnodeblend2.rst

@@ -30,9 +30,9 @@ Tutorials
 
 - :doc:`Using AnimationTree <../tutorials/animation/animation_tree>`
 
-- `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
+- `3D Platformer Demo <https://godotengine.org/asset-library/asset/2748>`__
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 1 - 1
classes/class_animationnodeblendspace2d.rst

@@ -32,7 +32,7 @@ Tutorials
 
 - :doc:`Using AnimationTree <../tutorials/animation/animation_tree>`
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_animationnodeoneshot.rst

@@ -79,7 +79,7 @@ Tutorials
 
 - :doc:`Using AnimationTree <../tutorials/animation/animation_tree>`
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 

+ 2 - 2
classes/class_animationnodeoutput.rst

@@ -28,9 +28,9 @@ Tutorials
 
 - :doc:`Using AnimationTree <../tutorials/animation/animation_tree>`
 
-- `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
+- `3D Platformer Demo <https://godotengine.org/asset-library/asset/2748>`__
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 1 - 1
classes/class_animationnodetimescale.rst

@@ -28,7 +28,7 @@ Tutorials
 
 - :doc:`Using AnimationTree <../tutorials/animation/animation_tree>`
 
-- `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
+- `3D Platformer Demo <https://godotengine.org/asset-library/asset/2748>`__
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 2 - 2
classes/class_animationnodetransition.rst

@@ -65,9 +65,9 @@ Tutorials
 
 - :doc:`Using AnimationTree <../tutorials/animation/animation_tree>`
 
-- `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
+- `3D Platformer Demo <https://godotengine.org/asset-library/asset/2748>`__
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_animationplayer.rst

@@ -36,7 +36,7 @@ Tutorials
 
 - :doc:`Animation documentation index <../tutorials/animation/index>`
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_animationtree.rst

@@ -30,7 +30,7 @@ Tutorials
 
 - :doc:`Using AnimationTree <../tutorials/animation/animation_tree>`
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 

+ 3 - 3
classes/class_area2d.rst

@@ -35,11 +35,11 @@ Tutorials
 
 - :doc:`Using Area2D <../tutorials/physics/using_area_2d>`
 
-- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/515>`__
+- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/2712>`__
 
-- `2D Pong Demo <https://godotengine.org/asset-library/asset/121>`__
+- `2D Pong Demo <https://godotengine.org/asset-library/asset/2728>`__
 
-- `2D Platformer Demo <https://godotengine.org/asset-library/asset/120>`__
+- `2D Platformer Demo <https://godotengine.org/asset-library/asset/2727>`__
 
 .. rst-class:: classref-reftable-group
 

+ 8 - 2
classes/class_area3d.rst

@@ -37,9 +37,9 @@ Tutorials
 
 - :doc:`Using Area2D <../tutorials/physics/using_area_2d>`
 
-- `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
+- `3D Platformer Demo <https://godotengine.org/asset-library/asset/2748>`__
 
-- `GUI in 3D Demo <https://godotengine.org/asset-library/asset/127>`__
+- `GUI in 3D Viewport Demo <https://godotengine.org/asset-library/asset/2807>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -662,6 +662,8 @@ The degree to which this area's reverb is a uniform effect. Ranges from ``0`` to
 
 The exponential rate at which wind force decreases with distance from its origin.
 
+\ **Note:** This wind force only applies to :ref:`SoftBody3D<class_SoftBody3D>` nodes. Other physics bodies are currently not affected by wind.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -679,6 +681,8 @@ The exponential rate at which wind force decreases with distance from its origin
 
 The magnitude of area-specific wind force.
 
+\ **Note:** This wind force only applies to :ref:`SoftBody3D<class_SoftBody3D>` nodes. Other physics bodies are currently not affected by wind.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -696,6 +700,8 @@ The magnitude of area-specific wind force.
 
 The :ref:`Node3D<class_Node3D>` which is used to specify the direction and origin of an area-specific wind force. The direction is opposite to the z-axis of the :ref:`Node3D<class_Node3D>`'s local transform, and its origin is the origin of the :ref:`Node3D<class_Node3D>`'s local transform.
 
+\ **Note:** This wind force only applies to :ref:`SoftBody3D<class_SoftBody3D>` nodes. Other physics bodies are currently not affected by wind.
+
 .. rst-class:: classref-section-separator
 
 ----

+ 36 - 4
classes/class_array.rst

@@ -68,6 +68,8 @@ Arrays can be concatenated using the ``+`` operator:
 
 \ **Note:** Erasing elements while iterating over arrays is **not** supported and will result in unpredictable behavior.
 
+\ **Differences between packed arrays, typed arrays, and untyped arrays:** Packed arrays are generally faster to iterate on and modify compared to a typed array of the same type (e.g. :ref:`PackedInt64Array<class_PackedInt64Array>` versus ``Array[int]``). Also, packed arrays consume less memory. As a downside, packed arrays are less flexible as they don't offer as many convenience methods such as :ref:`map<class_Array_method_map>`. Typed arrays are in turn faster to iterate on and modify than untyped arrays.
+
 .. note::
 
 	There are notable differences when using this API with C#. See :ref:`doc_c_sharp_differences` for more information.
@@ -259,7 +261,37 @@ Constructs an empty **Array**.
 
 :ref:`Array<class_Array>` **Array**\ (\ base\: :ref:`Array<class_Array>`, type\: :ref:`int<class_int>`, class_name\: :ref:`StringName<class_StringName>`, script\: :ref:`Variant<class_Variant>`\ )
 
-Creates a typed array from the ``base`` array.
+Creates a typed array from the ``base`` array. All arguments are required.
+
+- ``type`` is the built-in type as a :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` constant, for example :ref:`@GlobalScope.TYPE_INT<class_@GlobalScope_constant_TYPE_INT>`.
+
+- ``class_name`` is the **native** class name, for example :ref:`Node<class_Node>`. If ``type`` is not :ref:`@GlobalScope.TYPE_OBJECT<class_@GlobalScope_constant_TYPE_OBJECT>`, must be an empty string.
+
+- ``script`` is the associated script. Must be a :ref:`Script<class_Script>` instance or ``null``.
+
+Examples:
+
+::
+
+    class_name MyNode
+    extends Node
+    
+    class MyClass:
+        pass
+    
+    func _ready():
+        var a = Array([], TYPE_INT, &"", null) # Array[int]
+        var b = Array([], TYPE_OBJECT, &"Node", null) # Array[Node]
+        var c = Array([], TYPE_OBJECT, &"Node", MyNode) # Array[MyNode]
+        var d = Array([], TYPE_OBJECT, &"RefCounted", MyClass) # Array[MyClass]
+
+\ **Note:** This constructor can be useful if you want to create a typed array on the fly, but you are not required to use it. In GDScript you can use a temporary variable with the static type you need and then pass it:
+
+::
+
+    func _ready():
+        var a: Array[int] = []
+        some_func(a)
 
 .. rst-class:: classref-item-separator
 
@@ -673,7 +705,7 @@ Returns the first element of the array. Prints an error and returns ``null`` if
 
 :ref:`int<class_int>` **get_typed_builtin**\ (\ ) |const|
 
-Returns the :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` constant for a typed array. If the **Array** is not typed, returns :ref:`@GlobalScope.TYPE_NIL<class_@GlobalScope_constant_TYPE_NIL>`.
+Returns the built-in type of the typed array as a :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` constant. If the array is not typed, returns :ref:`@GlobalScope.TYPE_NIL<class_@GlobalScope_constant_TYPE_NIL>`.
 
 .. rst-class:: classref-item-separator
 
@@ -685,7 +717,7 @@ Returns the :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` constant for a t
 
 :ref:`StringName<class_StringName>` **get_typed_class_name**\ (\ ) |const|
 
-Returns a class name of a typed **Array** of type :ref:`@GlobalScope.TYPE_OBJECT<class_@GlobalScope_constant_TYPE_OBJECT>`.
+Returns the **native** class name of the typed array if the built-in type is :ref:`@GlobalScope.TYPE_OBJECT<class_@GlobalScope_constant_TYPE_OBJECT>`. Otherwise, this method returns an empty string.
 
 .. rst-class:: classref-item-separator
 
@@ -697,7 +729,7 @@ Returns a class name of a typed **Array** of type :ref:`@GlobalScope.TYPE_OBJECT
 
 :ref:`Variant<class_Variant>` **get_typed_script**\ (\ ) |const|
 
-Returns the script associated with a typed array tied to a class name.
+Returns the script associated with the typed array. This method returns a :ref:`Script<class_Script>` instance or ``null``.
 
 .. rst-class:: classref-item-separator
 

+ 4 - 0
classes/class_arrayoccluder3d.rst

@@ -80,6 +80,8 @@ The occluder's index position. Indices determine which points from the :ref:`ver
 
 \ **Note:** The occluder is always updated after setting this value. If creating occluders procedurally, consider using :ref:`set_arrays<class_ArrayOccluder3D_method_set_arrays>` instead to avoid updating the occluder twice when it's created.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedInt32Array<class_PackedInt32Array>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -99,6 +101,8 @@ The occluder's vertex positions in local 3D coordinates.
 
 \ **Note:** The occluder is always updated after setting this value. If creating occluders procedurally, consider using :ref:`set_arrays<class_ArrayOccluder3D_method_set_arrays>` instead to avoid updating the occluder twice when it's created.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector3Array<class_PackedVector3Array>` for more details.
+
 .. rst-class:: classref-section-separator
 
 ----

+ 1 - 1
classes/class_audioeffect.rst

@@ -32,7 +32,7 @@ Tutorials
 
 - :doc:`Audio buses <../tutorials/audio/audio_buses>`
 
-- `Audio Mic Record Demo <https://godotengine.org/asset-library/asset/527>`__
+- `Audio Microphone Record Demo <https://godotengine.org/asset-library/asset/2760>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_audioeffectrecord.rst

@@ -34,7 +34,7 @@ Tutorials
 
 - :doc:`Recording with microphone <../tutorials/audio/recording_with_microphone>`
 
-- `Audio Mic Record Demo <https://godotengine.org/asset-library/asset/527>`__
+- `Audio Microphone Record Demo <https://godotengine.org/asset-library/asset/2760>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_audioeffectreverb.rst

@@ -28,7 +28,7 @@ Tutorials
 
 - :doc:`Audio buses <../tutorials/audio/audio_buses>`
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_audioeffectspectrumanalyzer.rst

@@ -28,7 +28,7 @@ See also :ref:`AudioStreamGenerator<class_AudioStreamGenerator>` for procedurall
 Tutorials
 ---------
 
-- `Audio Spectrum Demo <https://godotengine.org/asset-library/asset/528>`__
+- `Audio Spectrum Visualizer Demo <https://godotengine.org/asset-library/asset/2762>`__
 
 - `Godot 3.2 will get new audio features <https://godotengine.org/article/godot-32-will-get-new-audio-features>`__
 

+ 3 - 3
classes/class_audioserver.rst

@@ -28,11 +28,11 @@ Tutorials
 
 - :doc:`Audio buses <../tutorials/audio/audio_buses>`
 
-- `Audio Device Changer Demo <https://godotengine.org/asset-library/asset/525>`__
+- `Audio Device Changer Demo <https://godotengine.org/asset-library/asset/2758>`__
 
-- `Audio Mic Record Demo <https://godotengine.org/asset-library/asset/527>`__
+- `Audio Microphone Record Demo <https://godotengine.org/asset-library/asset/2760>`__
 
-- `Audio Spectrum Demo <https://godotengine.org/asset-library/asset/528>`__
+- `Audio Spectrum Visualizer Demo <https://godotengine.org/asset-library/asset/2762>`__
 
 .. rst-class:: classref-reftable-group
 

+ 3 - 3
classes/class_audiostream.rst

@@ -30,11 +30,11 @@ Tutorials
 
 - :doc:`Audio streams <../tutorials/audio/audio_streams>`
 
-- `Audio Generator Demo <https://godotengine.org/asset-library/asset/526>`__
+- `Audio Generator Demo <https://godotengine.org/asset-library/asset/2759>`__
 
-- `Audio Mic Record Demo <https://godotengine.org/asset-library/asset/527>`__
+- `Audio Microphone Record Demo <https://godotengine.org/asset-library/asset/2760>`__
 
-- `Audio Spectrum Demo <https://godotengine.org/asset-library/asset/528>`__
+- `Audio Spectrum Visualizer Demo <https://godotengine.org/asset-library/asset/2762>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_audiostreamgenerator.rst

@@ -91,7 +91,7 @@ See also :ref:`AudioEffectSpectrumAnalyzer<class_AudioEffectSpectrumAnalyzer>` f
 Tutorials
 ---------
 
-- `Audio Generator Demo <https://godotengine.org/asset-library/asset/526>`__
+- `Audio Generator Demo <https://godotengine.org/asset-library/asset/2759>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_audiostreamgeneratorplayback.rst

@@ -26,7 +26,7 @@ This class is meant to be used with :ref:`AudioStreamGenerator<class_AudioStream
 Tutorials
 ---------
 
-- `Audio Generator Demo <https://godotengine.org/asset-library/asset/526>`__
+- `Audio Generator Demo <https://godotengine.org/asset-library/asset/2759>`__
 
 - `Godot 3.2 will get new audio features <https://godotengine.org/article/godot-32-will-get-new-audio-features>`__
 

+ 2 - 0
classes/class_audiostreammp3.rst

@@ -147,6 +147,8 @@ You can load a file without having to import it beforehand using the code snippe
 
 
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedByteArray<class_PackedByteArray>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 1 - 1
classes/class_audiostreamplayback.rst

@@ -28,7 +28,7 @@ Can play, loop, pause a scroll through audio. See :ref:`AudioStream<class_AudioS
 Tutorials
 ---------
 
-- `Audio Generator Demo <https://godotengine.org/asset-library/asset/526>`__
+- `Audio Generator Demo <https://godotengine.org/asset-library/asset/2759>`__
 
 .. rst-class:: classref-reftable-group
 

+ 34 - 26
classes/class_audiostreamplayer.rst

@@ -15,16 +15,18 @@ AudioStreamPlayer
 
 **Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
-Plays back audio non-positionally.
+A node for audio playback.
 
 .. rst-class:: classref-introduction-group
 
 Description
 -----------
 
-Plays an audio stream non-positionally.
+The **AudioStreamPlayer** node plays an audio stream non-positionally. It is ideal for user interfaces, menus, or background music.
 
-To play audio positionally, use :ref:`AudioStreamPlayer2D<class_AudioStreamPlayer2D>` or :ref:`AudioStreamPlayer3D<class_AudioStreamPlayer3D>` instead of **AudioStreamPlayer**.
+To use this node, :ref:`stream<class_AudioStreamPlayer_property_stream>` needs to be set to a valid :ref:`AudioStream<class_AudioStream>` resource. Playing more than one sound at the time is also supported, see :ref:`max_polyphony<class_AudioStreamPlayer_property_max_polyphony>`.
+
+If you need to play audio at a specific position, use :ref:`AudioStreamPlayer2D<class_AudioStreamPlayer2D>` or :ref:`AudioStreamPlayer3D<class_AudioStreamPlayer3D>` instead.
 
 .. rst-class:: classref-introduction-group
 
@@ -33,15 +35,15 @@ Tutorials
 
 - :doc:`Audio streams <../tutorials/audio/audio_streams>`
 
-- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/515>`__
+- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/2712>`__
 
-- `Audio Device Changer Demo <https://godotengine.org/asset-library/asset/525>`__
+- `Audio Device Changer Demo <https://godotengine.org/asset-library/asset/2758>`__
 
-- `Audio Generator Demo <https://godotengine.org/asset-library/asset/526>`__
+- `Audio Generator Demo <https://godotengine.org/asset-library/asset/2759>`__
 
-- `Audio Mic Record Demo <https://godotengine.org/asset-library/asset/527>`__
+- `Audio Microphone Record Demo <https://godotengine.org/asset-library/asset/2760>`__
 
-- `Audio Spectrum Demo <https://godotengine.org/asset-library/asset/528>`__
+- `Audio Spectrum Visualizer Demo <https://godotengine.org/asset-library/asset/2762>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -108,7 +110,7 @@ Signals
 
 **finished**\ (\ )
 
-Emitted when the audio stops playing.
+Emitted when a sound finishes playing without interruptions. This signal is *not* emitted when calling :ref:`stop<class_AudioStreamPlayer_method_stop>`, or when exiting the tree while sounds are playing.
 
 .. rst-class:: classref-section-separator
 
@@ -131,7 +133,7 @@ enum **MixTarget**:
 
 :ref:`MixTarget<enum_AudioStreamPlayer_MixTarget>` **MIX_TARGET_STEREO** = ``0``
 
-The audio will be played only on the first channel.
+The audio will be played only on the first channel. This is the default.
 
 .. _class_AudioStreamPlayer_constant_MIX_TARGET_SURROUND:
 
@@ -169,7 +171,7 @@ Property Descriptions
 - |void| **set_autoplay**\ (\ value\: :ref:`bool<class_bool>`\ )
 - :ref:`bool<class_bool>` **is_autoplay_enabled**\ (\ )
 
-If ``true``, audio plays when added to scene tree.
+If ``true``, this node calls :ref:`play<class_AudioStreamPlayer_method_play>` when entering the tree.
 
 .. rst-class:: classref-item-separator
 
@@ -186,9 +188,9 @@ If ``true``, audio plays when added to scene tree.
 - |void| **set_bus**\ (\ value\: :ref:`StringName<class_StringName>`\ )
 - :ref:`StringName<class_StringName>` **get_bus**\ (\ )
 
-Bus on which this audio is playing.
+The target bus name. All sounds from this node will be playing on this bus.
 
-\ **Note:** When setting this property, keep in mind that no validation is performed to see if the given name matches an existing bus. This is because audio bus layouts might be loaded after this property is set. If this given name can't be resolved at runtime, it will fall back to ``"Master"``.
+\ **Note:** At runtime, if no bus with the given name exists, all sounds will fall back on ``"Master"``. See also :ref:`AudioServer.get_bus_name<class_AudioServer_method_get_bus_name>`.
 
 .. rst-class:: classref-item-separator
 
@@ -205,7 +207,7 @@ Bus on which this audio is playing.
 - |void| **set_max_polyphony**\ (\ value\: :ref:`int<class_int>`\ )
 - :ref:`int<class_int>` **get_max_polyphony**\ (\ )
 
-The maximum number of sounds this node can play at the same time. Playing additional sounds after this value is reached will cut off the oldest sounds.
+The maximum number of sounds this node can play at the same time. Calling :ref:`play<class_AudioStreamPlayer_method_play>` after this value is reached will cut off the oldest sounds.
 
 .. rst-class:: classref-item-separator
 
@@ -222,7 +224,7 @@ The maximum number of sounds this node can play at the same time. Playing additi
 - |void| **set_mix_target**\ (\ value\: :ref:`MixTarget<enum_AudioStreamPlayer_MixTarget>`\ )
 - :ref:`MixTarget<enum_AudioStreamPlayer_MixTarget>` **get_mix_target**\ (\ )
 
-If the audio configuration has more than two speakers, this sets the target channels. See :ref:`MixTarget<enum_AudioStreamPlayer_MixTarget>` constants.
+The mix target channels, as one of the :ref:`MixTarget<enum_AudioStreamPlayer_MixTarget>` constants. Has no effect when two speakers or less are detected (see :ref:`SpeakerMode<enum_AudioServer_SpeakerMode>`).
 
 .. rst-class:: classref-item-separator
 
@@ -239,7 +241,7 @@ If the audio configuration has more than two speakers, this sets the target chan
 - |void| **set_pitch_scale**\ (\ value\: :ref:`float<class_float>`\ )
 - :ref:`float<class_float>` **get_pitch_scale**\ (\ )
 
-The pitch and the tempo of the audio, as a multiplier of the audio sample's sample rate.
+The audio's pitch and tempo, as a multiplier of the :ref:`stream<class_AudioStreamPlayer_property_stream>`'s sample rate. A value of ``2.0`` doubles the audio's pitch, while a value of ``0.5`` halves the pitch.
 
 .. rst-class:: classref-item-separator
 
@@ -255,7 +257,7 @@ The pitch and the tempo of the audio, as a multiplier of the audio sample's samp
 
 - :ref:`bool<class_bool>` **is_playing**\ (\ )
 
-If ``true``, audio is playing.
+If ``true``, this node is playing sounds. Setting this property has the same effect as :ref:`play<class_AudioStreamPlayer_method_play>` and :ref:`stop<class_AudioStreamPlayer_method_stop>`.
 
 .. rst-class:: classref-item-separator
 
@@ -272,7 +274,7 @@ If ``true``, audio is playing.
 - |void| **set_stream**\ (\ value\: :ref:`AudioStream<class_AudioStream>`\ )
 - :ref:`AudioStream<class_AudioStream>` **get_stream**\ (\ )
 
-The :ref:`AudioStream<class_AudioStream>` object to be played.
+The :ref:`AudioStream<class_AudioStream>` resource to be played. Setting this property stops all currently playing sounds. If left empty, the **AudioStreamPlayer** does not work.
 
 .. rst-class:: classref-item-separator
 
@@ -289,7 +291,9 @@ The :ref:`AudioStream<class_AudioStream>` object to be played.
 - |void| **set_stream_paused**\ (\ value\: :ref:`bool<class_bool>`\ )
 - :ref:`bool<class_bool>` **get_stream_paused**\ (\ )
 
-If ``true``, the playback is paused. You can resume it by setting :ref:`stream_paused<class_AudioStreamPlayer_property_stream_paused>` to ``false``.
+If ``true``, the sounds are paused. Setting :ref:`stream_paused<class_AudioStreamPlayer_property_stream_paused>` to ``false`` resumes all sounds.
+
+\ **Note:** This property is automatically changed when exiting or entering the tree, or this node is paused (see :ref:`Node.process_mode<class_Node_property_process_mode>`).
 
 .. rst-class:: classref-item-separator
 
@@ -306,7 +310,9 @@ If ``true``, the playback is paused. You can resume it by setting :ref:`stream_p
 - |void| **set_volume_db**\ (\ value\: :ref:`float<class_float>`\ )
 - :ref:`float<class_float>` **get_volume_db**\ (\ )
 
-Volume of sound, in dB.
+Volume of sound, in decibel. This is an offset of the :ref:`stream<class_AudioStreamPlayer_property_stream>`'s volume.
+
+\ **Note:** To convert between decibel and linear energy (like most volume sliders do), use :ref:`@GlobalScope.db_to_linear<class_@GlobalScope_method_db_to_linear>` and :ref:`@GlobalScope.linear_to_db<class_@GlobalScope_method_linear_to_db>`.
 
 .. rst-class:: classref-section-separator
 
@@ -323,7 +329,9 @@ Method Descriptions
 
 :ref:`float<class_float>` **get_playback_position**\ (\ )
 
-Returns the position in the :ref:`AudioStream<class_AudioStream>` in seconds.
+Returns the position in the :ref:`AudioStream<class_AudioStream>` of the latest sound, in seconds. Returns ``0.0`` if no sounds are playing.
+
+\ **Note:** The position is not always accurate, as the :ref:`AudioServer<class_AudioServer>` does not mix audio every processed frame. To get more accurate results, add :ref:`AudioServer.get_time_since_last_mix<class_AudioServer_method_get_time_since_last_mix>` to the returned position.
 
 .. rst-class:: classref-item-separator
 
@@ -335,7 +343,7 @@ Returns the position in the :ref:`AudioStream<class_AudioStream>` in seconds.
 
 :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` **get_stream_playback**\ (\ )
 
-Returns the :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` object associated with this **AudioStreamPlayer**.
+Returns the latest :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` of this node, usually the most recently created by :ref:`play<class_AudioStreamPlayer_method_play>`. If no sounds are playing, this method fails and returns an empty playback.
 
 .. rst-class:: classref-item-separator
 
@@ -347,7 +355,7 @@ Returns the :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` object associa
 
 :ref:`bool<class_bool>` **has_stream_playback**\ (\ )
 
-Returns whether the **AudioStreamPlayer** can return the :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` object or not.
+Returns ``true`` if any sound is active, even if :ref:`stream_paused<class_AudioStreamPlayer_property_stream_paused>` is set to ``true``. See also :ref:`playing<class_AudioStreamPlayer_property_playing>` and :ref:`get_stream_playback<class_AudioStreamPlayer_method_get_stream_playback>`.
 
 .. rst-class:: classref-item-separator
 
@@ -359,7 +367,7 @@ Returns whether the **AudioStreamPlayer** can return the :ref:`AudioStreamPlayba
 
 |void| **play**\ (\ from_position\: :ref:`float<class_float>` = 0.0\ )
 
-Plays the audio from the given ``from_position``, in seconds.
+Plays a sound from the beginning, or the given ``from_position`` in seconds.
 
 .. rst-class:: classref-item-separator
 
@@ -371,7 +379,7 @@ Plays the audio from the given ``from_position``, in seconds.
 
 |void| **seek**\ (\ to_position\: :ref:`float<class_float>`\ )
 
-Sets the position from which audio will be played, in seconds.
+Restarts all sounds to be played from the given ``to_position``, in seconds. Does nothing if no sounds are playing.
 
 .. rst-class:: classref-item-separator
 
@@ -383,7 +391,7 @@ Sets the position from which audio will be played, in seconds.
 
 |void| **stop**\ (\ )
 
-Stops the audio.
+Stops all sounds from this node.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 2 - 0
classes/class_audiostreamwav.rst

@@ -171,6 +171,8 @@ Contains the audio data in bytes.
 
 \ **Note:** This property expects signed PCM8 data. To convert unsigned PCM8 to signed PCM8, subtract 128 from each byte.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedByteArray<class_PackedByteArray>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 4 - 4
classes/class_basis.rst

@@ -44,13 +44,13 @@ Tutorials
 
 - :doc:`Using 3D transforms <../tutorials/3d/using_transforms>`
 
-- `Matrix Transform Demo <https://godotengine.org/asset-library/asset/584>`__
+- `Matrix Transform Demo <https://godotengine.org/asset-library/asset/2787>`__
 
-- `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
+- `3D Platformer Demo <https://godotengine.org/asset-library/asset/2748>`__
 
-- `3D Voxel Demo <https://godotengine.org/asset-library/asset/676>`__
+- `3D Voxel Demo <https://godotengine.org/asset-library/asset/2755>`__
 
-- `2.5D Demo <https://godotengine.org/asset-library/asset/583>`__
+- `2.5D Game Demo <https://godotengine.org/asset-library/asset/2783>`__
 
 .. rst-class:: classref-reftable-group
 

+ 3 - 3
classes/class_boxshape3d.rst

@@ -28,11 +28,11 @@ A 3D box shape, intended for use in physics. Usually used to provide a shape for
 Tutorials
 ---------
 
-- `3D Physics Tests Demo <https://godotengine.org/asset-library/asset/675>`__
+- `3D Physics Tests Demo <https://godotengine.org/asset-library/asset/2747>`__
 
-- `3D Kinematic Character Demo <https://godotengine.org/asset-library/asset/126>`__
+- `3D Kinematic Character Demo <https://godotengine.org/asset-library/asset/2739>`__
 
-- `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
+- `3D Platformer Demo <https://godotengine.org/asset-library/asset/2748>`__
 
 .. rst-class:: classref-reftable-group
 

+ 2 - 2
classes/class_button.rst

@@ -65,9 +65,9 @@ See also :ref:`BaseButton<class_BaseButton>` which contains common properties an
 Tutorials
 ---------
 
-- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/515>`__
+- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/2712>`__
 
-- `OS Test Demo <https://godotengine.org/asset-library/asset/677>`__
+- `Operating System Testing Demo <https://godotengine.org/asset-library/asset/2789>`__
 
 .. rst-class:: classref-reftable-group
 

+ 2 - 4
classes/class_camera2d.rst

@@ -32,11 +32,9 @@ Note that the **Camera2D** node's ``position`` doesn't represent the actual posi
 Tutorials
 ---------
 
-- `2D Platformer Demo <https://godotengine.org/asset-library/asset/120>`__
+- `2D Platformer Demo <https://godotengine.org/asset-library/asset/2727>`__
 
-- `2D Isometric Demo <https://godotengine.org/asset-library/asset/112>`__
-
-- `2D HDR Demo <https://godotengine.org/asset-library/asset/110>`__
+- `2D Isometric Demo <https://godotengine.org/asset-library/asset/2718>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_camera3d.rst

@@ -28,7 +28,7 @@ Description
 Tutorials
 ---------
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_cameraserver.rst

@@ -23,7 +23,7 @@ The **CameraServer** keeps track of different cameras accessible in Godot. These
 
 It is notably used to provide AR modules with a video feed from the camera.
 
-\ **Note:** This class is currently only implemented on macOS and iOS. On other platforms, no :ref:`CameraFeed<class_CameraFeed>`\ s will be available.
+\ **Note:** This class is currently only implemented on macOS and iOS. To get a :ref:`CameraFeed<class_CameraFeed>` on iOS, the camera plugin from `godot-ios-plugins <https://github.com/godotengine/godot-ios-plugins>`__ is required. On other platforms, no :ref:`CameraFeed<class_CameraFeed>`\ s will be available.
 
 .. rst-class:: classref-reftable-group
 

+ 6 - 4
classes/class_canvasitem.rst

@@ -38,7 +38,7 @@ Tutorials
 
 - :doc:`Custom drawing in 2D <../tutorials/2d/custom_drawing_in_2d>`
 
-- `Audio Spectrum Demo <https://godotengine.org/asset-library/asset/528>`__
+- `Audio Spectrum Visualizer Demo <https://godotengine.org/asset-library/asset/2762>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -733,9 +733,11 @@ If ``true``, this **CanvasItem** is drawn. The node is only visible if all of it
 - |void| **set_y_sort_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
 - :ref:`bool<class_bool>` **is_y_sort_enabled**\ (\ )
 
-If ``true``, this **CanvasItem** and its **CanvasItem** child nodes are sorted according to the Y position. Nodes with a lower Y position are drawn before those with a higher Y position. If ``false``, Y-sorting is disabled.
+If ``true``, this and child **CanvasItem** nodes with a lower Y position are rendered in front of nodes with a higher Y position. If ``false``, this and child **CanvasItem** nodes are rendered normally in scene tree order.
 
-You can nest nodes with Y-sorting. Child Y-sorted nodes are sorted in the same space as the parent Y-sort. This feature allows you to organize a scene better or divide it into multiple ones without changing your scene tree.
+With Y-sorting enabled on a parent node ('A') but disabled on a child node ('B'), the child node ('B') is sorted but its children ('C1', 'C2', etc) render together on the same Y position as the child node 'B'. This allows you to organize the render order of a scene without changing the scene tree.
+
+Nodes sort relative to each other only if they are on the same :ref:`z_index<class_CanvasItem_property_z_index>`.
 
 .. rst-class:: classref-item-separator
 
@@ -769,7 +771,7 @@ If ``true``, the node's Z index is relative to its parent's Z index. If this nod
 - |void| **set_z_index**\ (\ value\: :ref:`int<class_int>`\ )
 - :ref:`int<class_int>` **get_z_index**\ (\ )
 
-Z index. Controls the order in which the nodes render. A node with a higher Z index will display in front of others. Must be between :ref:`RenderingServer.CANVAS_ITEM_Z_MIN<class_RenderingServer_constant_CANVAS_ITEM_Z_MIN>` and :ref:`RenderingServer.CANVAS_ITEM_Z_MAX<class_RenderingServer_constant_CANVAS_ITEM_Z_MAX>` (inclusive).
+Controls the order in which the nodes render. A node with a higher Z index will display in front of others. Must be between :ref:`RenderingServer.CANVAS_ITEM_Z_MIN<class_RenderingServer_constant_CANVAS_ITEM_Z_MIN>` and :ref:`RenderingServer.CANVAS_ITEM_Z_MAX<class_RenderingServer_constant_CANVAS_ITEM_Z_MAX>` (inclusive).
 
 \ **Note:** Changing the Z index of a :ref:`Control<class_Control>` only affects the drawing order, not the order in which input events are handled. This can be useful to implement certain UI animations, e.g. a menu where hovered items are scaled and should overlap others.
 

+ 1 - 1
classes/class_canvaslayer.rst

@@ -38,7 +38,7 @@ Tutorials
 
 - :doc:`Canvas layers <../tutorials/2d/canvas_layers>`
 
-- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/515>`__
+- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/2712>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_capsuleshape3d.rst

@@ -28,7 +28,7 @@ A 3D capsule shape, intended for use in physics. Usually used to provide a shape
 Tutorials
 ---------
 
-- `3D Physics Tests Demo <https://godotengine.org/asset-library/asset/675>`__
+- `3D Physics Tests Demo <https://godotengine.org/asset-library/asset/2747>`__
 
 .. rst-class:: classref-reftable-group
 

+ 8 - 4
classes/class_characterbody2d.rst

@@ -32,9 +32,9 @@ Tutorials
 
 - :doc:`Using CharacterBody2D <../tutorials/physics/using_character_body_2d>`
 
-- `2D Kinematic Character Demo <https://godotengine.org/asset-library/asset/113>`__
+- `2D Kinematic Character Demo <https://godotengine.org/asset-library/asset/2719>`__
 
-- `2D Platformer Demo <https://godotengine.org/asset-library/asset/120>`__
+- `2D Platformer Demo <https://godotengine.org/asset-library/asset/2727>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -498,7 +498,9 @@ Returns the floor's collision angle at the last collision point according to ``u
 
 :ref:`Vector2<class_Vector2>` **get_floor_normal**\ (\ ) |const|
 
-Returns the surface normal of the floor at the last collision point. Only valid after calling :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>` and when :ref:`is_on_floor<class_CharacterBody2D_method_is_on_floor>` returns ``true``.
+Returns the collision normal of the floor at the last collision point. Only valid after calling :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>` and when :ref:`is_on_floor<class_CharacterBody2D_method_is_on_floor>` returns ``true``.
+
+\ **Warning:** The collision normal is not always the same as the surface normal.
 
 .. rst-class:: classref-item-separator
 
@@ -615,7 +617,9 @@ Returns the number of times the body collided and changed direction during the l
 
 :ref:`Vector2<class_Vector2>` **get_wall_normal**\ (\ ) |const|
 
-Returns the surface normal of the wall at the last collision point. Only valid after calling :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>` and when :ref:`is_on_wall<class_CharacterBody2D_method_is_on_wall>` returns ``true``.
+Returns the collision normal of the wall at the last collision point. Only valid after calling :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>` and when :ref:`is_on_wall<class_CharacterBody2D_method_is_on_wall>` returns ``true``.
+
+\ **Warning:** The collision normal is not always the same as the surface normal.
 
 .. rst-class:: classref-item-separator
 

+ 10 - 6
classes/class_characterbody3d.rst

@@ -30,13 +30,13 @@ Tutorials
 
 - :doc:`Kinematic character (2D) <../tutorials/physics/kinematic_character_2d>`
 
-- `3D Kinematic Character Demo <https://godotengine.org/asset-library/asset/126>`__
+- `3D Kinematic Character Demo <https://godotengine.org/asset-library/asset/2739>`__
 
-- `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
+- `3D Platformer Demo <https://godotengine.org/asset-library/asset/2748>`__
 
-- `3D Voxel Demo <https://godotengine.org/asset-library/asset/676>`__
+- `3D Voxel Demo <https://godotengine.org/asset-library/asset/2755>`__
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -502,7 +502,9 @@ Returns the floor's collision angle at the last collision point according to ``u
 
 :ref:`Vector3<class_Vector3>` **get_floor_normal**\ (\ ) |const|
 
-Returns the surface normal of the floor at the last collision point. Only valid after calling :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>` and when :ref:`is_on_floor<class_CharacterBody3D_method_is_on_floor>` returns ``true``.
+Returns the collision normal of the floor at the last collision point. Only valid after calling :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>` and when :ref:`is_on_floor<class_CharacterBody3D_method_is_on_floor>` returns ``true``.
+
+\ **Warning:** The collision normal is not always the same as the surface normal.
 
 .. rst-class:: classref-item-separator
 
@@ -610,7 +612,9 @@ Returns the number of times the body collided and changed direction during the l
 
 :ref:`Vector3<class_Vector3>` **get_wall_normal**\ (\ ) |const|
 
-Returns the surface normal of the wall at the last collision point. Only valid after calling :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>` and when :ref:`is_on_wall<class_CharacterBody3D_method_is_on_wall>` returns ``true``.
+Returns the collision normal of the wall at the last collision point. Only valid after calling :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>` and when :ref:`is_on_wall<class_CharacterBody3D_method_is_on_wall>` returns ``true``.
+
+\ **Warning:** The collision normal is not always the same as the surface normal.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_collisionpolygon2d.rst

@@ -168,7 +168,7 @@ The polygon's list of vertices. Each point will be connected to the next, and th
 
 \ **Note:** The returned vertices are in the local coordinate space of the given **CollisionPolygon2D**.
 
-\ **Warning:** The returned value is a clone of the :ref:`PackedVector2Array<class_PackedVector2Array>`, not a reference.
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector2Array<class_PackedVector2Array>` for more details.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 1 - 1
classes/class_collisionpolygon3d.rst

@@ -114,7 +114,7 @@ The collision margin for the generated :ref:`Shape3D<class_Shape3D>`. See :ref:`
 
 Array of vertices which define the 2D polygon in the local XY plane.
 
-\ **Note:** The returned value is a copy of the original. Methods which mutate the size or properties of the return value will not impact the original polygon. To change properties of the polygon, assign it to a temporary variable and make changes before reassigning the class property.
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector2Array<class_PackedVector2Array>` for more details.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 3 - 3
classes/class_collisionshape2d.rst

@@ -28,11 +28,11 @@ Tutorials
 
 - :doc:`Physics introduction <../tutorials/physics/physics_introduction>`
 
-- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/515>`__
+- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/2712>`__
 
-- `2D Pong Demo <https://godotengine.org/asset-library/asset/121>`__
+- `2D Pong Demo <https://godotengine.org/asset-library/asset/2728>`__
 
-- `2D Kinematic Character Demo <https://godotengine.org/asset-library/asset/113>`__
+- `2D Kinematic Character Demo <https://godotengine.org/asset-library/asset/2719>`__
 
 .. rst-class:: classref-reftable-group
 

+ 3 - 3
classes/class_collisionshape3d.rst

@@ -30,11 +30,11 @@ Tutorials
 
 - :doc:`Physics introduction <../tutorials/physics/physics_introduction>`
 
-- `3D Kinematic Character Demo <https://godotengine.org/asset-library/asset/126>`__
+- `3D Kinematic Character Demo <https://godotengine.org/asset-library/asset/2739>`__
 
-- `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
+- `3D Platformer Demo <https://godotengine.org/asset-library/asset/2748>`__
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 

+ 3 - 3
classes/class_color.rst

@@ -34,11 +34,11 @@ Colors can be created in various ways: By the various **Color** constructors, by
 Tutorials
 ---------
 
-- `2D GD Paint Demo <https://godotengine.org/asset-library/asset/517>`__
+- `2D GD Paint Demo <https://godotengine.org/asset-library/asset/2768>`__
 
-- `Tween Demo <https://godotengine.org/asset-library/asset/146>`__
+- `Tween Interpolation Demo <https://godotengine.org/asset-library/asset/2733>`__
 
-- `GUI Drag And Drop Demo <https://godotengine.org/asset-library/asset/133>`__
+- `GUI Drag And Drop Demo <https://godotengine.org/asset-library/asset/2767>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_colorpicker.rst

@@ -28,7 +28,7 @@ A widget that provides an interface for selecting or modifying a color. It can o
 Tutorials
 ---------
 
-- `Tween Demo <https://godotengine.org/asset-library/asset/146>`__
+- `Tween Interpolation Demo <https://godotengine.org/asset-library/asset/2733>`__
 
 .. rst-class:: classref-reftable-group
 

+ 2 - 2
classes/class_colorpickerbutton.rst

@@ -30,9 +30,9 @@ See also :ref:`BaseButton<class_BaseButton>` which contains common properties an
 Tutorials
 ---------
 
-- `GUI Drag And Drop Demo <https://godotengine.org/asset-library/asset/133>`__
+- `2D GD Paint Demo <https://godotengine.org/asset-library/asset/2768>`__
 
-- `2D GD Paint Demo <https://godotengine.org/asset-library/asset/517>`__
+- `GUI Drag And Drop Demo <https://godotengine.org/asset-library/asset/2767>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_colorrect.rst

@@ -26,7 +26,7 @@ Displays a rectangle filled with a solid :ref:`color<class_ColorRect_property_co
 Tutorials
 ---------
 
-- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/515>`__
+- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/2712>`__
 
 .. rst-class:: classref-reftable-group
 

+ 2 - 0
classes/class_concavepolygonshape2d.rst

@@ -63,6 +63,8 @@ Property Descriptions
 
 The array of points that make up the **ConcavePolygonShape2D**'s line segments. The array (of length divisible by two) is naturally divided into pairs (one pair for each segment); each pair consists of the starting point of a segment and the endpoint of a segment.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector2Array<class_PackedVector2Array>` for more details.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 1 - 1
classes/class_concavepolygonshape3d.rst

@@ -34,7 +34,7 @@ Being just a collection of interconnected triangles, **ConcavePolygonShape3D** i
 Tutorials
 ---------
 
-- `3D Physics Tests Demo <https://godotengine.org/asset-library/asset/675>`__
+- `3D Physics Tests Demo <https://godotengine.org/asset-library/asset/2747>`__
 
 .. rst-class:: classref-reftable-group
 

+ 1 - 1
classes/class_configfile.rst

@@ -21,7 +21,7 @@ Description
 
 This helper class can be used to store :ref:`Variant<class_Variant>` values on the filesystem using INI-style formatting. The stored values are identified by a section and a key:
 
-::
+.. code:: text
 
     [section]
     some_key=42

+ 1 - 1
classes/class_control.rst

@@ -1319,7 +1319,7 @@ Enables whether rendering of :ref:`CanvasItem<class_CanvasItem>` based children
 - |void| **set_custom_minimum_size**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
 - :ref:`Vector2<class_Vector2>` **get_custom_minimum_size**\ (\ )
 
-The minimum size of the node's bounding rectangle. If you set it to a value greater than (0, 0), the node's bounding rectangle will always have at least this size, even if its content is smaller. If it's set to (0, 0), the node sizes automatically to fit its content, be it a texture or child nodes.
+The minimum size of the node's bounding rectangle. If you set it to a value greater than ``(0, 0)``, the node's bounding rectangle will always have at least this size. Note that **Control** nodes have their internal minimum size returned by :ref:`get_minimum_size<class_Control_method_get_minimum_size>`. It depends on the control's contents, like text, textures, or style boxes. The actual minimum size is the maximum value of this property and the internal minimum size (see :ref:`get_combined_minimum_size<class_Control_method_get_combined_minimum_size>`).
 
 .. rst-class:: classref-item-separator
 

+ 2 - 0
classes/class_convexpolygonshape2d.rst

@@ -75,6 +75,8 @@ The polygon's list of vertices that form a convex hull. Can be in either clockwi
 
 \ **Warning:** Only set this property to a list of points that actually form a convex hull. Use :ref:`set_point_cloud<class_ConvexPolygonShape2D_method_set_point_cloud>` to generate the convex hull of an arbitrary set of points.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector2Array<class_PackedVector2Array>` for more details.
+
 .. rst-class:: classref-section-separator
 
 ----

+ 3 - 1
classes/class_convexpolygonshape3d.rst

@@ -32,7 +32,7 @@ A 3D convex polyhedron shape, intended for use in physics. Usually used to provi
 Tutorials
 ---------
 
-- `3D Physics Tests Demo <https://godotengine.org/asset-library/asset/675>`__
+- `3D Physics Tests Demo <https://godotengine.org/asset-library/asset/2747>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -68,6 +68,8 @@ Property Descriptions
 
 The list of 3D points forming the convex polygon shape.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector3Array<class_PackedVector3Array>` for more details.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 6 - 0
classes/class_cpuparticles2d.rst

@@ -851,6 +851,8 @@ Particle draw order. Uses :ref:`DrawOrder<enum_CPUParticles2D_DrawOrder>` values
 
 Sets the :ref:`Color<class_Color>`\ s to modulate particles by when using :ref:`EMISSION_SHAPE_POINTS<class_CPUParticles2D_constant_EMISSION_SHAPE_POINTS>` or :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_CPUParticles2D_constant_EMISSION_SHAPE_DIRECTED_POINTS>`.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedColorArray<class_PackedColorArray>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -868,6 +870,8 @@ Sets the :ref:`Color<class_Color>`\ s to modulate particles by when using :ref:`
 
 Sets the direction the particles will be emitted in when using :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_CPUParticles2D_constant_EMISSION_SHAPE_DIRECTED_POINTS>`.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector2Array<class_PackedVector2Array>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -885,6 +889,8 @@ Sets the direction the particles will be emitted in when using :ref:`EMISSION_SH
 
 Sets the initial positions to spawn particles when using :ref:`EMISSION_SHAPE_POINTS<class_CPUParticles2D_constant_EMISSION_SHAPE_POINTS>` or :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_CPUParticles2D_constant_EMISSION_SHAPE_DIRECTED_POINTS>`.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector2Array<class_PackedVector2Array>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 6 - 0
classes/class_cpuparticles3d.rst

@@ -908,6 +908,8 @@ Sets the :ref:`Color<class_Color>`\ s to modulate particles by when using :ref:`
 
 \ **Note:** :ref:`emission_colors<class_CPUParticles3D_property_emission_colors>` multiplies the particle mesh's vertex colors. To have a visible effect on a :ref:`BaseMaterial3D<class_BaseMaterial3D>`, :ref:`BaseMaterial3D.vertex_color_use_as_albedo<class_BaseMaterial3D_property_vertex_color_use_as_albedo>` *must* be ``true``. For a :ref:`ShaderMaterial<class_ShaderMaterial>`, ``ALBEDO *= COLOR.rgb;`` must be inserted in the shader's ``fragment()`` function. Otherwise, :ref:`emission_colors<class_CPUParticles3D_property_emission_colors>` will have no visible effect.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedColorArray<class_PackedColorArray>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -925,6 +927,8 @@ Sets the :ref:`Color<class_Color>`\ s to modulate particles by when using :ref:`
 
 Sets the direction the particles will be emitted in when using :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_CPUParticles3D_constant_EMISSION_SHAPE_DIRECTED_POINTS>`.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector3Array<class_PackedVector3Array>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -942,6 +946,8 @@ Sets the direction the particles will be emitted in when using :ref:`EMISSION_SH
 
 Sets the initial positions to spawn particles when using :ref:`EMISSION_SHAPE_POINTS<class_CPUParticles3D_constant_EMISSION_SHAPE_POINTS>` or :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_CPUParticles3D_constant_EMISSION_SHAPE_DIRECTED_POINTS>`.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector3Array<class_PackedVector3Array>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 2 - 0
classes/class_csgpolygon3d.rst

@@ -403,6 +403,8 @@ The point array that defines the 2D polygon that is extruded. This can be a conv
 
 \ **Note:** If only 1 or 2 points are defined in :ref:`polygon<class_CSGPolygon3D_property_polygon>`, no mesh will be generated.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector2Array<class_PackedVector2Array>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 3 - 3
classes/class_cylindershape3d.rst

@@ -30,11 +30,11 @@ A 3D cylinder shape, intended for use in physics. Usually used to provide a shap
 Tutorials
 ---------
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
-- `3D Physics Tests Demo <https://godotengine.org/asset-library/asset/675>`__
+- `3D Physics Tests Demo <https://godotengine.org/asset-library/asset/2747>`__
 
-- `3D Voxel Demo <https://godotengine.org/asset-library/asset/676>`__
+- `3D Voxel Demo <https://godotengine.org/asset-library/asset/2755>`__
 
 .. rst-class:: classref-reftable-group
 

+ 2 - 2
classes/class_dictionary.rst

@@ -200,9 +200,9 @@ Tutorials
 
 - `GDScript basics: Dictionary <../tutorials/scripting/gdscript/gdscript_basics.html#dictionary>`__
 
-- `3D Voxel Demo <https://godotengine.org/asset-library/asset/676>`__
+- `3D Voxel Demo <https://godotengine.org/asset-library/asset/2755>`__
 
-- `OS Test Demo <https://godotengine.org/asset-library/asset/677>`__
+- `Operating System Testing Demo <https://godotengine.org/asset-library/asset/2789>`__
 
 .. rst-class:: classref-reftable-group
 

+ 14 - 14
classes/class_displayserver.rst

@@ -1886,7 +1886,7 @@ Returns ``true`` if positions of **OK** and **Cancel** buttons are swapped in di
 
 Returns the ID of the window at the specified screen ``position`` (in pixels). On multi-monitor setups, the screen position is relative to the virtual desktop area. On multi-monitor setups with different screen resolutions or orientations, the origin may be located outside any display like this:
 
-::
+.. code:: text
 
     * (0, 0)        +-------+
                     |       |
@@ -1933,7 +1933,7 @@ An ``accelerator`` can optionally be defined, which is a keyboard shortcut that
 
 \ **Supported system menu IDs:**\ 
 
-::
+.. code:: text
 
     "_main" - Main menu (macOS).
     "_dock" - Dock popup menu (macOS).
@@ -1965,7 +1965,7 @@ An ``accelerator`` can optionally be defined, which is a keyboard shortcut that
 
 \ **Supported system menu IDs:**\ 
 
-::
+.. code:: text
 
     "_main" - Main menu (macOS).
     "_dock" - Dock popup menu (macOS).
@@ -1997,7 +1997,7 @@ An ``accelerator`` can optionally be defined, which is a keyboard shortcut that
 
 \ **Supported system menu IDs:**\ 
 
-::
+.. code:: text
 
     "_main" - Main menu (macOS).
     "_dock" - Dock popup menu (macOS).
@@ -2031,7 +2031,7 @@ An ``accelerator`` can optionally be defined, which is a keyboard shortcut that
 
 \ **Supported system menu IDs:**\ 
 
-::
+.. code:: text
 
     "_main" - Main menu (macOS).
     "_dock" - Dock popup menu (macOS).
@@ -2063,7 +2063,7 @@ An ``accelerator`` can optionally be defined, which is a keyboard shortcut that
 
 \ **Supported system menu IDs:**\ 
 
-::
+.. code:: text
 
     "_main" - Main menu (macOS).
     "_dock" - Dock popup menu (macOS).
@@ -2099,7 +2099,7 @@ An ``accelerator`` can optionally be defined, which is a keyboard shortcut that
 
 \ **Supported system menu IDs:**\ 
 
-::
+.. code:: text
 
     "_main" - Main menu (macOS).
     "_dock" - Dock popup menu (macOS).
@@ -2133,7 +2133,7 @@ An ``accelerator`` can optionally be defined, which is a keyboard shortcut that
 
 \ **Supported system menu IDs:**\ 
 
-::
+.. code:: text
 
     "_main" - Main menu (macOS).
     "_dock" - Dock popup menu (macOS).
@@ -2161,7 +2161,7 @@ Returns index of the inserted item, it's not guaranteed to be the same as ``inde
 
 \ **Supported system menu IDs:**\ 
 
-::
+.. code:: text
 
     "_main" - Main menu (macOS).
     "_dock" - Dock popup menu (macOS).
@@ -2189,7 +2189,7 @@ Returns index of the inserted item, it's not guaranteed to be the same as ``inde
 
 \ **Supported system menu IDs:**\ 
 
-::
+.. code:: text
 
     "_main" - Main menu (macOS).
     "_dock" - Dock popup menu (macOS).
@@ -2215,7 +2215,7 @@ Removes all items from the global menu with ID ``menu_root``.
 
 \ **Supported system menu IDs:**\ 
 
-::
+.. code:: text
 
     "_main" - Main menu (macOS).
     "_dock" - Dock popup menu (macOS).
@@ -3135,7 +3135,7 @@ Returns the dots per inch density of the specified screen. If ``screen`` is :ref
 
 \ **Note:** On Android devices, the actual screen densities are grouped into six generalized densities:
 
-::
+.. code:: text
 
        ldpi - 120 dpi
        mdpi - 160 dpi
@@ -3220,7 +3220,7 @@ Returns color of the display pixel at the ``position``.
 
 Returns the screen's top-left corner position in pixels. On multi-monitor setups, the screen position is relative to the virtual desktop area. On multi-monitor setups with different screen resolutions or orientations, the origin may be located outside any display like this:
 
-::
+.. code:: text
 
     * (0, 0)        +-------+
                     |       |
@@ -4222,7 +4222,7 @@ Sets the bounding box of control, or menu item that was used to open the popup w
 
 Sets the position of the given window to ``position``. On multi-monitor setups, the screen position is relative to the virtual desktop area. On multi-monitor setups with different screen resolutions or orientations, the origin may be located outside any display like this:
 
-::
+.. code:: text
 
     * (0, 0)        +-------+
                     |       |

+ 30 - 16
classes/class_editorexportplatformandroid.rst

@@ -270,6 +270,8 @@ Properties
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`permissions/persistent_activity<class_EditorExportPlatformAndroid_property_permissions/persistent_activity>`                               |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`permissions/post_notifications<class_EditorExportPlatformAndroid_property_permissions/post_notifications>`                                 |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`permissions/process_outgoing_calls<class_EditorExportPlatformAndroid_property_permissions/process_outgoing_calls>`                         |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`permissions/read_calendar<class_EditorExportPlatformAndroid_property_permissions/read_calendar>`                                           |
@@ -446,9 +448,9 @@ Array of random bytes that the licensing Policy uses to create an `Obfuscator <h
 
 :ref:`bool<class_bool>` **apk_expansion/enable**
 
-If ``true``, project resources are stored in the separate APK expansion file, instead APK.
+If ``true``, project resources are stored in the separate APK expansion file, instead of the APK.
 
-\ **Note:** APK expansion should be enabled to use PCK encryption.
+\ **Note:** APK expansion should be enabled to use PCK encryption. See `APK Expansion Files <https://developer.android.com/google/play/expansion-files>`__
 
 .. rst-class:: classref-item-separator
 
@@ -460,7 +462,7 @@ If ``true``, project resources are stored in the separate APK expansion file, in
 
 :ref:`String<class_String>` **apk_expansion/public_key**
 
-Base64 encoded RSA public key for your publisher account, available from the profile page on the "Play Console".
+Base64 encoded RSA public key for your publisher account, available from the profile page on the "Google Play Console".
 
 .. rst-class:: classref-item-separator
 
@@ -520,7 +522,7 @@ If ``true``, ``x86_64`` binaries are included into exported project.
 
 :ref:`String<class_String>` **command_line/extra_args**
 
-A list of additional command line arguments, exported project will receive when started.
+A list of additional command line arguments, separated by space, which the exported project will receive when started.
 
 .. rst-class:: classref-item-separator
 
@@ -586,7 +588,7 @@ If ``true``, native libraries are compressed when performing a Gradle build.
 
 :ref:`int<class_int>` **gradle_build/export_format**
 
-Export format for Gradle build.
+Application export format (\*.apk or \*.aab).
 
 .. rst-class:: classref-item-separator
 
@@ -610,7 +612,7 @@ Path to the Gradle build directory. If left empty, then ``res://android`` will b
 
 :ref:`String<class_String>` **gradle_build/min_sdk**
 
-Minimal Android SDK version for Gradle build.
+Minimum Android API level required for the application to run (used during Gradle build). See `android:minSdkVersion <https://developer.android.com/guide/topics/manifest/uses-sdk-element#uses>`__.
 
 .. rst-class:: classref-item-separator
 
@@ -622,7 +624,7 @@ Minimal Android SDK version for Gradle build.
 
 :ref:`String<class_String>` **gradle_build/target_sdk**
 
-Target Android SDK version for Gradle build.
+The Android API level on which the application is designed to run (used during Gradle build). See `android:targetSdkVersion <https://developer.android.com/guide/topics/manifest/uses-sdk-element#uses>`__.
 
 .. rst-class:: classref-item-separator
 
@@ -748,7 +750,7 @@ Can be overridden with the environment variable ``GODOT_ANDROID_KEYSTORE_RELEASE
 
 :ref:`String<class_String>` **launcher_icons/adaptive_background_432x432**
 
-Background layer of the application adaptive icon file.
+Background layer of the application adaptive icon file. See `Design adaptive icons <https://developer.android.com/develop/ui/views/launch/icon_design_adaptive#design-adaptive-icons>`__.
 
 .. rst-class:: classref-item-separator
 
@@ -760,7 +762,7 @@ Background layer of the application adaptive icon file.
 
 :ref:`String<class_String>` **launcher_icons/adaptive_foreground_432x432**
 
-Foreground layer of the application adaptive icon file.
+Foreground layer of the application adaptive icon file. See `Design adaptive icons <https://developer.android.com/develop/ui/views/launch/icon_design_adaptive#design-adaptive-icons>`__.
 
 .. rst-class:: classref-item-separator
 
@@ -784,7 +786,7 @@ Application icon file. If left empty, it will fallback to :ref:`ProjectSettings.
 
 :ref:`int<class_int>` **package/app_category**
 
-Application category for the Play Store.
+Application category for the Google Play Store. Only define this if your application fits one of the categories well. See `android:appCategory <https://developer.android.com/guide/topics/manifest/application-element#appCategory>`__.
 
 .. rst-class:: classref-item-separator
 
@@ -796,7 +798,7 @@ Application category for the Play Store.
 
 :ref:`bool<class_bool>` **package/exclude_from_recents**
 
-If ``true``, task initiated by main activity will be excluded from the list of recently used applications.
+If ``true``, task initiated by main activity will be excluded from the list of recently used applications. See `android:excludeFromRecents <https://developer.android.com/guide/topics/manifest/activity-element#exclude>`__.
 
 .. rst-class:: classref-item-separator
 
@@ -820,7 +822,7 @@ Name of the application.
 
 :ref:`bool<class_bool>` **package/retain_data_on_uninstall**
 
-If ``true``, when the user uninstalls an app, a prompt to keep the app's data will be shown.
+If ``true``, when the user uninstalls an app, a prompt to keep the app's data will be shown. See `android:hasFragileUserData <https://developer.android.com/guide/topics/manifest/application-element#fragileuserdata>`__.
 
 .. rst-class:: classref-item-separator
 
@@ -1442,6 +1444,8 @@ Allows enabling/disabling location update notifications from the radio. See `CON
 
 Array of custom permission strings.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedStringArray<class_PackedStringArray>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -1874,7 +1878,19 @@ Allows applications to perform I/O operations over NFC. See `NFC <https://develo
 
 **Deprecated:** Deprecated in API level 15.
 
-Allow an application to make its activities persistent.
+Allows an application to make its activities persistent.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorExportPlatformAndroid_property_permissions/post_notifications:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **permissions/post_notifications**
+
+Allows an application to post notifications. Added in API level 33. See `Notification runtime permission <https://developer.android.com/develop/ui/views/notifications/notification-permission>`__.
 
 .. rst-class:: classref-item-separator
 
@@ -2766,9 +2782,7 @@ Application version visible to the user. Falls back to :ref:`ProjectSettings.app
 
 :ref:`int<class_int>` **xr_features/xr_mode**
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The extended reality (XR) mode for this application.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 1 - 1
classes/class_editorexportplatformios.rst

@@ -146,7 +146,7 @@ Property Descriptions
 
 Additional data added to the root ``<dict>`` section of the `Info.plist <https://developer.apple.com/documentation/bundleresources/information_property_list>`__ file. The value should be an XML section with pairs of key-value elements, e.g.:
 
-::
+.. code:: text
 
     <key>key_name</key>
     <string>value</string>

+ 3 - 1
classes/class_editorexportplatformmacos.rst

@@ -232,7 +232,7 @@ Property Descriptions
 
 Additional data added to the root ``<dict>`` section of the `Info.plist <https://developer.apple.com/documentation/bundleresources/information_property_list>`__ file. The value should be an XML section with pairs of key-value elements, e.g.:
 
-::
+.. code:: text
 
     <key>key_name</key>
     <string>value</string>
@@ -449,6 +449,8 @@ Tool to use for code signing.
 
 Array of the additional command line arguments passed to the code signing tool.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedStringArray<class_PackedStringArray>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 16 - 0
classes/class_editorexportplatformpc.rst

@@ -16,6 +16,22 @@ EditorExportPlatformPC
 
 Base class for the desktop platform exporter (Windows and Linux/BSD).
 
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+The base class for the desktop platform exporters. These include Windows and Linux/BSD, but not macOS. See the classes inheriting this one for more details.
+
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- :doc:`Exporting for Windows <../tutorials/export/exporting_for_windows>`
+
+- :doc:`Exporting for Linux <../tutorials/export/exporting_for_linux>`
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 9 - 0
classes/class_editorexportplatformwindows.rst

@@ -16,6 +16,13 @@ Exporter for Windows.
 
 .. rst-class:: classref-introduction-group
 
+Description
+-----------
+
+The Windows exporter customizes how a Windows build is handled. In the editor's "Export" window, it is created when adding a new "Windows" preset.
+
+.. rst-class:: classref-introduction-group
+
 Tutorials
 ---------
 
@@ -318,6 +325,8 @@ If ``true``, project resources are embedded into the executable.
 
 Array of the additional command line arguments passed to the code signing tool. See `Sign Tool <https://learn.microsoft.com/en-us/dotnet/framework/tools/signtool-exe>`__.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedStringArray<class_PackedStringArray>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 2 - 0
classes/class_editorfiledialog.rst

@@ -390,6 +390,8 @@ The dialog's open or save mode, which affects the selection behavior. See :ref:`
 
 The available file type filters. For example, this shows only ``.png`` and ``.gd`` files: ``set_filters(PackedStringArray(["*.png ; PNG Images","*.gd ; GDScript Files"]))``. Multiple file types can also be specified in a single filter. ``"*.png, *.jpg, *.jpeg ; Supported Images"`` will show both PNG and JPEG files when selected.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedStringArray<class_PackedStringArray>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 3 - 3
classes/class_editorpaths.rst

@@ -73,7 +73,7 @@ Returns the absolute path to the user's cache folder. This folder should be used
 
 \ **Default paths per platform:**\ 
 
-::
+.. code:: text
 
     - Windows: %LOCALAPPDATA%\Godot\
     - macOS: ~/Library/Caches/Godot/
@@ -93,7 +93,7 @@ Returns the absolute path to the user's configuration folder. This folder should
 
 \ **Default paths per platform:**\ 
 
-::
+.. code:: text
 
     - Windows: %APPDATA%\Godot\                    (same as `get_data_dir()`)
     - macOS: ~/Library/Application Support/Godot/  (same as `get_data_dir()`)
@@ -113,7 +113,7 @@ Returns the absolute path to the user's data folder. This folder should be used
 
 \ **Default paths per platform:**\ 
 
-::
+.. code:: text
 
     - Windows: %APPDATA%\Godot\                    (same as `get_config_dir()`)
     - macOS: ~/Library/Application Support/Godot/  (same as `get_config_dir()`)

+ 3 - 1
classes/class_editorsettings.rst

@@ -2949,6 +2949,8 @@ If ``true``, subresources can be edited in the current inspector view. If the re
 
 List of resources that should always be opened in a new inspector view, even if :ref:`interface/inspector/open_resources_in_current_inspector<class_EditorSettings_property_interface/inspector/open_resources_in_current_inspector>` is ``true``.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedStringArray<class_PackedStringArray>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -3201,7 +3203,7 @@ The icon and font color scheme to use in the editor.
 
 - **Auto** determines the color scheme to use automatically based on :ref:`interface/theme/base_color<class_EditorSettings_property_interface/theme/base_color>`.
 
-- **Dark** makes fonts and icons dark (suitable for light themes). Icon colors are automatically converted by the editor following the set of rules defined in `this file <https://github.com/godotengine/godot/blob/master/editor/editor_themes.cpp>`__.
+- **Dark** makes fonts and icons dark (suitable for light themes). Icon colors are automatically converted by the editor following the set of rules defined in `this file <https://github.com/godotengine/godot/blob/master/editor/themes/editor_theme_manager.cpp>`__.
 
 - **Light** makes fonts and icons light (suitable for dark themes).
 

+ 2 - 4
classes/class_environment.rst

@@ -38,11 +38,9 @@ Tutorials
 
 - :doc:`High dynamic range lighting <../tutorials/3d/high_dynamic_range>`
 
-- `3D Material Testers Demo <https://godotengine.org/asset-library/asset/123>`__
+- `3D Material Testers Demo <https://godotengine.org/asset-library/asset/2742>`__
 
-- `2D HDR Demo <https://godotengine.org/asset-library/asset/110>`__
-
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 

+ 2 - 2
classes/class_fileaccess.rst

@@ -71,7 +71,7 @@ Tutorials
 
 - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>`
 
-- `3D Voxel Demo <https://godotengine.org/asset-library/asset/676>`__
+- `3D Voxel Demo <https://godotengine.org/asset-library/asset/2755>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -606,7 +606,7 @@ Text is interpreted as being UTF-8 encoded. Text values must be enclosed in doub
 
 For example, the following CSV lines are valid and will be properly parsed as two strings each:
 
-::
+.. code:: text
 
     Alice,"Hello, Bob!"
     Bob,Alice! What a surprise!

+ 2 - 0
classes/class_filedialog.rst

@@ -366,6 +366,8 @@ The dialog's open or save mode, which affects the selection behavior. See :ref:`
 
 The available file type filters. Each filter string in the array should be formatted like this: ``*.txt,*.doc;Text Files``. The description text of the filter is optional and can be omitted.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedStringArray<class_PackedStringArray>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 2 - 0
classes/class_fontfile.rst

@@ -313,6 +313,8 @@ Font anti-aliasing mode.
 
 Contents of the dynamic font source file.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedByteArray<class_PackedByteArray>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 2 - 0
classes/class_gltfmesh.rst

@@ -82,6 +82,8 @@ Property Descriptions
 
 An array of floats representing the blend weights of the mesh.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedFloat32Array<class_PackedFloat32Array>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 2 - 0
classes/class_gltfnode.rst

@@ -121,6 +121,8 @@ If this GLTF node is a camera, the index of the :ref:`GLTFCamera<class_GLTFCamer
 
 The indices of the child nodes in the :ref:`GLTFState<class_GLTFState>`. If this GLTF node has no children, this will be an empty array.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedInt32Array<class_PackedInt32Array>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 1 - 1
classes/class_gltfphysicsbody.rst

@@ -248,7 +248,7 @@ Creates a new GLTFPhysicsBody instance by parsing the given :ref:`Dictionary<cla
 
 :ref:`GLTFPhysicsBody<class_GLTFPhysicsBody>` **from_node**\ (\ body_node\: :ref:`CollisionObject3D<class_CollisionObject3D>`\ ) |static|
 
-Create a new GLTFPhysicsBody instance from the given Godot :ref:`CollisionObject3D<class_CollisionObject3D>` node.
+Creates a new GLTFPhysicsBody instance from the given Godot :ref:`CollisionObject3D<class_CollisionObject3D>` node.
 
 .. rst-class:: classref-item-separator
 

+ 29 - 1
classes/class_gltfphysicsshape.rst

@@ -69,10 +69,14 @@ Methods
    +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`GLTFPhysicsShape<class_GLTFPhysicsShape>` | :ref:`from_node<class_GLTFPhysicsShape_method_from_node>`\ (\ shape_node\: :ref:`CollisionShape3D<class_CollisionShape3D>`\ ) |static| |
    +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`GLTFPhysicsShape<class_GLTFPhysicsShape>` | :ref:`from_resource<class_GLTFPhysicsShape_method_from_resource>`\ (\ shape_resource\: :ref:`Shape3D<class_Shape3D>`\ ) |static|       |
+   +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Dictionary<class_Dictionary>`             | :ref:`to_dictionary<class_GLTFPhysicsShape_method_to_dictionary>`\ (\ ) |const|                                                        |
    +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`CollisionShape3D<class_CollisionShape3D>` | :ref:`to_node<class_GLTFPhysicsShape_method_to_node>`\ (\ cache_shapes\: :ref:`bool<class_bool>` = false\ )                            |
    +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Shape3D<class_Shape3D>`                   | :ref:`to_resource<class_GLTFPhysicsShape_method_to_resource>`\ (\ cache_shapes\: :ref:`bool<class_bool>` = false\ )                    |
+   +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -227,7 +231,19 @@ Creates a new GLTFPhysicsShape instance by parsing the given :ref:`Dictionary<cl
 
 :ref:`GLTFPhysicsShape<class_GLTFPhysicsShape>` **from_node**\ (\ shape_node\: :ref:`CollisionShape3D<class_CollisionShape3D>`\ ) |static|
 
-Create a new GLTFPhysicsShape instance from the given Godot :ref:`CollisionShape3D<class_CollisionShape3D>` node.
+Creates a new GLTFPhysicsShape instance from the given Godot :ref:`CollisionShape3D<class_CollisionShape3D>` node.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_GLTFPhysicsShape_method_from_resource:
+
+.. rst-class:: classref-method
+
+:ref:`GLTFPhysicsShape<class_GLTFPhysicsShape>` **from_resource**\ (\ shape_resource\: :ref:`Shape3D<class_Shape3D>`\ ) |static|
+
+Creates a new GLTFPhysicsShape instance from the given Godot :ref:`Shape3D<class_Shape3D>` resource.
 
 .. rst-class:: classref-item-separator
 
@@ -253,6 +269,18 @@ Serializes this GLTFPhysicsShape instance into a :ref:`Dictionary<class_Dictiona
 
 Converts this GLTFPhysicsShape instance into a Godot :ref:`CollisionShape3D<class_CollisionShape3D>` node.
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_GLTFPhysicsShape_method_to_resource:
+
+.. rst-class:: classref-method
+
+:ref:`Shape3D<class_Shape3D>` **to_resource**\ (\ cache_shapes\: :ref:`bool<class_bool>` = false\ )
+
+Converts this GLTFPhysicsShape instance into a Godot :ref:`Shape3D<class_Shape3D>` resource.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 4 - 0
classes/class_gltfstate.rst

@@ -312,6 +312,8 @@ The file name associated with this GLTF data. If it ends with ``.gltf``, this is
 
 The binary buffer attached to a .glb file.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedByteArray<class_PackedByteArray>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -401,6 +403,8 @@ The original raw JSON document corresponding to this GLTFState.
 
 The root nodes of the GLTF file. Typically, a GLTF file will only have one scene, and therefore one root node. However, a GLTF file may have multiple scenes and therefore multiple root nodes, which will be generated as siblings of each other and as children of the root node of the generated Godot scene.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedInt32Array<class_PackedInt32Array>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 14 - 6
classes/class_gpuparticles2d.rst

@@ -32,9 +32,9 @@ Tutorials
 
 - :doc:`Particle systems (2D) <../tutorials/2d/particle_systems_2d>`
 
-- `2D Particles Demo <https://godotengine.org/asset-library/asset/118>`__
+- `2D Particles Demo <https://godotengine.org/asset-library/asset/2724>`__
 
-- `2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the player) <https://godotengine.org/asset-library/asset/515>`__
+- `2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the player) <https://godotengine.org/asset-library/asset/2712>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -127,9 +127,11 @@ Signals
 
 **finished**\ (\ )
 
-Emitted when all active particles have finished processing. When :ref:`one_shot<class_GPUParticles2D_property_one_shot>` is disabled, particles will process continuously, so this is never emitted.
+Emitted when all active particles have finished processing. To immediately restart the emission cycle, call :ref:`restart<class_GPUParticles2D_method_restart>`.
 
-\ **Note:** Due to the particles being computed on the GPU there might be a delay before the signal gets emitted.
+Never emitted when :ref:`one_shot<class_GPUParticles2D_property_one_shot>` is disabled, as particles will be emitted and processed continuously.
+
+\ **Note:** For :ref:`one_shot<class_GPUParticles2D_property_one_shot>` emitters, due to the particles being computed on the GPU, there may be a short period after receiving the signal during which setting :ref:`emitting<class_GPUParticles2D_property_emitting>` to ``true`` will not restart the emission cycle. This delay is avoided by instead calling :ref:`restart<class_GPUParticles2D_method_restart>`.
 
 .. rst-class:: classref-section-separator
 
@@ -314,7 +316,11 @@ Particle draw order. Uses :ref:`DrawOrder<enum_GPUParticles2D_DrawOrder>` values
 - |void| **set_emitting**\ (\ value\: :ref:`bool<class_bool>`\ )
 - :ref:`bool<class_bool>` **is_emitting**\ (\ )
 
-If ``true``, particles are being emitted. :ref:`emitting<class_GPUParticles2D_property_emitting>` can be used to start and stop particles from emitting. However, if :ref:`one_shot<class_GPUParticles2D_property_one_shot>` is ``true`` setting :ref:`emitting<class_GPUParticles2D_property_emitting>` to ``true`` will not restart the emission cycle until after all active particles finish processing. You can use the :ref:`finished<class_GPUParticles2D_signal_finished>` signal to be notified once all active particles finish processing.
+If ``true``, particles are being emitted. :ref:`emitting<class_GPUParticles2D_property_emitting>` can be used to start and stop particles from emitting. However, if :ref:`one_shot<class_GPUParticles2D_property_one_shot>` is ``true`` setting :ref:`emitting<class_GPUParticles2D_property_emitting>` to ``true`` will not restart the emission cycle unless all active particles have finished processing. Use the :ref:`finished<class_GPUParticles2D_signal_finished>` signal to be notified once all active particles finish processing.
+
+\ **Note:** For :ref:`one_shot<class_GPUParticles2D_property_one_shot>` emitters, due to the particles being computed on the GPU, there may be a short period after receiving the :ref:`finished<class_GPUParticles2D_signal_finished>` signal during which setting this to ``true`` will not restart the emission cycle.
+
+\ **Tip:** If your :ref:`one_shot<class_GPUParticles2D_property_one_shot>` emitter needs to immediately restart emitting particles once :ref:`finished<class_GPUParticles2D_signal_finished>` signal is received, consider calling :ref:`restart<class_GPUParticles2D_method_restart>` instead of setting :ref:`emitting<class_GPUParticles2D_property_emitting>`.
 
 .. rst-class:: classref-item-separator
 
@@ -704,7 +710,9 @@ The default ParticleProcessMaterial will overwrite ``color`` and use the content
 
 |void| **restart**\ (\ )
 
-Restarts all the existing particles.
+Restarts the particle emission cycle, clearing existing particles. To avoid particles vanishing from the viewport, wait for the :ref:`finished<class_GPUParticles2D_signal_finished>` signal before calling.			
+
+\ **Note:** The :ref:`finished<class_GPUParticles2D_signal_finished>` signal is only emitted by :ref:`one_shot<class_GPUParticles2D_property_one_shot>` emitters.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 13 - 5
classes/class_gpuparticles3d.rst

@@ -32,7 +32,7 @@ Tutorials
 
 - :doc:`Controlling thousands of fish with Particles <../tutorials/performance/vertex_animation/controlling_thousands_of_fish>`
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -137,9 +137,11 @@ Signals
 
 **finished**\ (\ )
 
-Emitted when all active particles have finished processing. When :ref:`one_shot<class_GPUParticles3D_property_one_shot>` is disabled, particles will process continuously, so this is never emitted.
+Emitted when all active particles have finished processing. To immediately emit new particles, call :ref:`restart<class_GPUParticles3D_method_restart>`.
 
-\ **Note:** Due to the particles being computed on the GPU there might be a delay before the signal gets emitted.
+Never emitted when :ref:`one_shot<class_GPUParticles3D_property_one_shot>` is disabled, as particles will be emitted and processed continuously.
+
+\ **Note:** For :ref:`one_shot<class_GPUParticles3D_property_one_shot>` emitters, due to the particles being computed on the GPU, there may be a short period after receiving the signal during which setting :ref:`emitting<class_GPUParticles3D_property_emitting>` to ``true`` will not restart the emission cycle. This delay is avoided by instead calling :ref:`restart<class_GPUParticles3D_method_restart>`.
 
 .. rst-class:: classref-section-separator
 
@@ -513,7 +515,11 @@ The number of draw passes when rendering particles.
 - |void| **set_emitting**\ (\ value\: :ref:`bool<class_bool>`\ )
 - :ref:`bool<class_bool>` **is_emitting**\ (\ )
 
-If ``true``, particles are being emitted. :ref:`emitting<class_GPUParticles3D_property_emitting>` can be used to start and stop particles from emitting. However, if :ref:`one_shot<class_GPUParticles3D_property_one_shot>` is ``true`` setting :ref:`emitting<class_GPUParticles3D_property_emitting>` to ``true`` will not restart the emission cycle until after all active particles finish processing. You can use the :ref:`finished<class_GPUParticles3D_signal_finished>` signal to be notified once all active particles finish processing.
+If ``true``, particles are being emitted. :ref:`emitting<class_GPUParticles3D_property_emitting>` can be used to start and stop particles from emitting. However, if :ref:`one_shot<class_GPUParticles3D_property_one_shot>` is ``true`` setting :ref:`emitting<class_GPUParticles3D_property_emitting>` to ``true`` will not restart the emission cycle unless all active particles have finished processing. Use the :ref:`finished<class_GPUParticles3D_signal_finished>` signal to be notified once all active particles finish processing.
+
+\ **Note:** For :ref:`one_shot<class_GPUParticles3D_property_one_shot>` emitters, due to the particles being computed on the GPU, there may be a short period after receiving the :ref:`finished<class_GPUParticles3D_signal_finished>` signal during which setting this to ``true`` will not restart the emission cycle.
+
+\ **Tip:** If your :ref:`one_shot<class_GPUParticles3D_property_one_shot>` emitter needs to immediately restart emitting particles once :ref:`finished<class_GPUParticles3D_signal_finished>` signal is received, consider calling :ref:`restart<class_GPUParticles3D_method_restart>` instead of setting :ref:`emitting<class_GPUParticles3D_property_emitting>`.
 
 .. rst-class:: classref-item-separator
 
@@ -883,7 +889,9 @@ Returns the :ref:`Mesh<class_Mesh>` that is drawn at index ``pass``.
 
 |void| **restart**\ (\ )
 
-Restarts the particle emission, clearing existing particles.
+Restarts the particle emission cycle, clearing existing particles. To avoid particles vanishing from the viewport, wait for the :ref:`finished<class_GPUParticles3D_signal_finished>` signal before calling.
+
+\ **Note:** The :ref:`finished<class_GPUParticles3D_signal_finished>` signal is only emitted by :ref:`one_shot<class_GPUParticles3D_property_one_shot>` emitters.
 
 .. rst-class:: classref-item-separator
 

+ 8 - 4
classes/class_gradient.rst

@@ -162,9 +162,11 @@ Property Descriptions
 - |void| **set_colors**\ (\ value\: :ref:`PackedColorArray<class_PackedColorArray>`\ )
 - :ref:`PackedColorArray<class_PackedColorArray>` **get_colors**\ (\ )
 
-Gradient's colors returned as a :ref:`PackedColorArray<class_PackedColorArray>`.
+Gradient's colors as a :ref:`PackedColorArray<class_PackedColorArray>`.
 
-\ **Note:** This property returns a copy, modifying the return value does not update the gradient. To update the gradient use :ref:`set_color<class_Gradient_method_set_color>` method (for updating colors individually) or assign to this property directly (for bulk-updating all colors at once).
+\ **Note:** Setting this property updates all colors at once. To update any color individually use :ref:`set_color<class_Gradient_method_set_color>`.
+
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedColorArray<class_PackedColorArray>` for more details.
 
 .. rst-class:: classref-item-separator
 
@@ -217,9 +219,11 @@ The algorithm used to interpolate between points of the gradient. See :ref:`Inte
 - |void| **set_offsets**\ (\ value\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`\ )
 - :ref:`PackedFloat32Array<class_PackedFloat32Array>` **get_offsets**\ (\ )
 
-Gradient's offsets returned as a :ref:`PackedFloat32Array<class_PackedFloat32Array>`.
+Gradient's offsets as a :ref:`PackedFloat32Array<class_PackedFloat32Array>`.
+
+\ **Note:** Setting this property updates all offsets at once. To update any offset individually use :ref:`set_offset<class_Gradient_method_set_offset>`.
 
-\ **Note:** This property returns a copy, modifying the return value does not update the gradient. To update the gradient use :ref:`set_offset<class_Gradient_method_set_offset>` method (for updating offsets individually) or assign to this property directly (for bulk-updating all offsets at once).
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedFloat32Array<class_PackedFloat32Array>` for more details.
 
 .. rst-class:: classref-section-separator
 

+ 1 - 1
classes/class_gridcontainer.rst

@@ -30,7 +30,7 @@ Tutorials
 
 - :doc:`Using Containers <../tutorials/ui/gui_containers>`
 
-- `OS Test Demo <https://godotengine.org/asset-library/asset/677>`__
+- `Operating System Testing Demo <https://godotengine.org/asset-library/asset/2789>`__
 
 .. rst-class:: classref-reftable-group
 

+ 2 - 2
classes/class_gridmap.rst

@@ -39,9 +39,9 @@ Tutorials
 
 - :doc:`Using gridmaps <../tutorials/3d/using_gridmaps>`
 
-- `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
+- `3D Platformer Demo <https://godotengine.org/asset-library/asset/2748>`__
 
-- `3D Kinematic Character Demo <https://godotengine.org/asset-library/asset/126>`__
+- `3D Kinematic Character Demo <https://godotengine.org/asset-library/asset/2739>`__
 
 .. rst-class:: classref-reftable-group
 

+ 2 - 0
classes/class_heightmapshape3d.rst

@@ -95,6 +95,8 @@ Property Descriptions
 
 Height map data. The array's size must be equal to :ref:`map_width<class_HeightMapShape3D_property_map_width>` multiplied by :ref:`map_depth<class_HeightMapShape3D_property_map_depth>`.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedFloat32Array<class_PackedFloat32Array>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 2 - 2
classes/class_input.rst

@@ -30,9 +30,9 @@ Tutorials
 
 - :doc:`Inputs documentation index <../tutorials/inputs/index>`
 
-- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/515>`__
+- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/2712>`__
 
-- `3D Voxel Demo <https://godotengine.org/asset-library/asset/676>`__
+- `3D Voxel Demo <https://godotengine.org/asset-library/asset/2755>`__
 
 .. rst-class:: classref-reftable-group
 

+ 2 - 2
classes/class_inputevent.rst

@@ -32,9 +32,9 @@ Tutorials
 
 - :doc:`Viewport and canvas transforms <../tutorials/2d/2d_transforms>`
 
-- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/515>`__
+- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/2712>`__
 
-- `3D Voxel Demo <https://godotengine.org/asset-library/asset/676>`__
+- `3D Voxel Demo <https://godotengine.org/asset-library/asset/2755>`__
 
 .. rst-class:: classref-reftable-group
 

+ 2 - 2
classes/class_inputeventaction.rst

@@ -30,9 +30,9 @@ Tutorials
 
 - `Using InputEvent: Actions <../tutorials/inputs/inputevent.html#actions>`__
 
-- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/515>`__
+- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/2712>`__
 
-- `3D Voxel Demo <https://godotengine.org/asset-library/asset/676>`__
+- `3D Voxel Demo <https://godotengine.org/asset-library/asset/2755>`__
 
 .. rst-class:: classref-reftable-group
 

+ 2 - 2
classes/class_inputeventkey.rst

@@ -123,7 +123,7 @@ For keyboard layouts with a single label on the key, it is equivalent to :ref:`k
 
 To get a human-readable representation of the **InputEventKey**, use ``OS.get_keycode_string(event.key_label)`` where ``event`` is the **InputEventKey**.
 
-::
+.. code:: text
 
         +-----+ +-----+
         | Q   | | Q   | - "Q" - keycode
@@ -149,7 +149,7 @@ Latin label printed on the key in the current keyboard layout, which corresponds
 
 To get a human-readable representation of the **InputEventKey**, use ``OS.get_keycode_string(event.keycode)`` where ``event`` is the **InputEventKey**.
 
-::
+.. code:: text
 
         +-----+ +-----+
         | Q   | | Q   | - "Q" - keycode

+ 1 - 1
classes/class_inputeventmousemotion.rst

@@ -32,7 +32,7 @@ Tutorials
 
 - :doc:`Mouse and input coordinates <../tutorials/inputs/mouse_and_input_coordinates>`
 
-- `3D Voxel Demo <https://godotengine.org/asset-library/asset/676>`__
+- `3D Voxel Demo <https://godotengine.org/asset-library/asset/2755>`__
 
 .. rst-class:: classref-reftable-group
 

+ 11 - 2
classes/class_javaclass.rst

@@ -12,9 +12,18 @@ JavaClass
 
 **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Represents an object from the Java Native Interface.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+Represents an object from the Java Native Interface. It is returned from :ref:`JavaClassWrapper.wrap<class_JavaClassWrapper_method_wrap>`.
+
+\ **Note:** This class only works on Android. For any other build, this class does nothing.
+
+\ **Note:** This class is not to be confused with :ref:`JavaScriptObject<class_JavaScriptObject>`.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 11 - 4
classes/class_javaclasswrapper.rst

@@ -12,9 +12,16 @@ JavaClassWrapper
 
 **Inherits:** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Provides access to the Java Native Interface.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+The JavaClassWrapper singleton provides a way for the Godot application to send and receive data through the `Java Native Interface <https://developer.android.com/training/articles/perf-jni>`__ (JNI).
+
+\ **Note:** This singleton is only available in Android builds.
 
 .. rst-class:: classref-reftable-group
 
@@ -43,9 +50,9 @@ Method Descriptions
 
 :ref:`JavaClass<class_JavaClass>` **wrap**\ (\ name\: :ref:`String<class_String>`\ )
 
-.. container:: contribute
+Wraps a class defined in Java, and returns it as a :ref:`JavaClass<class_JavaClass>` :ref:`Object<class_Object>` type that Godot can interact with.
 
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** This method only works on Android. On every other platform, this method does nothing and returns an empty :ref:`JavaClass<class_JavaClass>`.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 1 - 1
classes/class_joint3d.rst

@@ -28,7 +28,7 @@ Abstract base class for all joints in 3D physics. 3D joints bind together two ph
 Tutorials
 ---------
 
-- `3D Truck Town Demo <https://godotengine.org/asset-library/asset/524>`__
+- `3D Truck Town Demo <https://godotengine.org/asset-library/asset/2752>`__
 
 .. rst-class:: classref-reftable-group
 

+ 4 - 20
classes/class_jsonrpc.rst

@@ -66,11 +66,7 @@ enum **ErrorCode**:
 
 :ref:`ErrorCode<enum_JSONRPC_ErrorCode>` **PARSE_ERROR** = ``-32700``
 
-.. container:: contribute
-
-	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
-
-
+The request could not be parsed as it was not valid by JSON standard (:ref:`JSON.parse<class_JSON_method_parse>` failed).
 
 .. _class_JSONRPC_constant_INVALID_REQUEST:
 
@@ -78,11 +74,7 @@ enum **ErrorCode**:
 
 :ref:`ErrorCode<enum_JSONRPC_ErrorCode>` **INVALID_REQUEST** = ``-32600``
 
-.. container:: contribute
-
-	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
-
-
+A method call was requested but the request's format is not valid.
 
 .. _class_JSONRPC_constant_METHOD_NOT_FOUND:
 
@@ -98,11 +90,7 @@ A method call was requested but no function of that name existed in the JSONRPC
 
 :ref:`ErrorCode<enum_JSONRPC_ErrorCode>` **INVALID_PARAMS** = ``-32602``
 
-.. container:: contribute
-
-	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
-
-
+A method call was requested but the given method parameters are not valid. Not used by the built-in JSONRPC.
 
 .. _class_JSONRPC_constant_INTERNAL_ERROR:
 
@@ -110,11 +98,7 @@ A method call was requested but no function of that name existed in the JSONRPC
 
 :ref:`ErrorCode<enum_JSONRPC_ErrorCode>` **INTERNAL_ERROR** = ``-32603``
 
-.. container:: contribute
-
-	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
-
-
+An internal error occurred while processing the request. Not used by the built-in JSONRPC.
 
 .. rst-class:: classref-section-separator
 

+ 3 - 1
classes/class_label.rst

@@ -29,7 +29,7 @@ A control for displaying plain text. It gives you control over the horizontal an
 Tutorials
 ---------
 
-- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/515>`__
+- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/2712>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -346,6 +346,8 @@ Set additional options for BiDi override.
 
 Aligns text to the given tab-stops.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedFloat32Array<class_PackedFloat32Array>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 1 - 1
classes/class_light3d.rst

@@ -32,7 +32,7 @@ Tutorials
 
 - :doc:`Faking global illumination <../tutorials/3d/global_illumination/faking_global_illumination>`
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 

+ 4 - 2
classes/class_line2d.rst

@@ -30,9 +30,9 @@ This node draws a 2D polyline, i.e. a shape consisting of several points connect
 Tutorials
 ---------
 
-- `Matrix Transform Demo <https://godotengine.org/asset-library/asset/584>`__
+- `Matrix Transform Demo <https://godotengine.org/asset-library/asset/2787>`__
 
-- `2.5D Demo <https://godotengine.org/asset-library/asset/583>`__
+- `2.5D Game Demo <https://godotengine.org/asset-library/asset/2783>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -348,6 +348,8 @@ The style of the connections between segments of the polyline. Use :ref:`LineJoi
 
 The points of the polyline, interpreted in local 2D coordinates. Segments are drawn between the adjacent points in this array.
 
+**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector2Array<class_PackedVector2Array>` for more details.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 2 - 2
classes/class_material.rst

@@ -30,9 +30,9 @@ Importantly, you can inherit from **Material** to create your own custom materia
 Tutorials
 ---------
 
-- `3D Material Testers Demo <https://godotengine.org/asset-library/asset/123>`__
+- `3D Material Testers Demo <https://godotengine.org/asset-library/asset/2742>`__
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 

+ 4 - 4
classes/class_mesh.rst

@@ -28,13 +28,13 @@ Mesh is a type of :ref:`Resource<class_Resource>` that contains vertex array-bas
 Tutorials
 ---------
 
-- `3D Material Testers Demo <https://godotengine.org/asset-library/asset/123>`__
+- `3D Material Testers Demo <https://godotengine.org/asset-library/asset/2742>`__
 
-- `3D Kinematic Character Demo <https://godotengine.org/asset-library/asset/126>`__
+- `3D Kinematic Character Demo <https://godotengine.org/asset-library/asset/2739>`__
 
-- `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
+- `3D Platformer Demo <https://godotengine.org/asset-library/asset/2748>`__
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 

+ 43 - 29
classes/class_meshinstance3d.rst

@@ -28,13 +28,13 @@ MeshInstance3D is a node that takes a :ref:`Mesh<class_Mesh>` resource and adds
 Tutorials
 ---------
 
-- `3D Material Testers Demo <https://godotengine.org/asset-library/asset/123>`__
+- `3D Material Testers Demo <https://godotengine.org/asset-library/asset/2742>`__
 
-- `3D Kinematic Character Demo <https://godotengine.org/asset-library/asset/126>`__
+- `3D Kinematic Character Demo <https://godotengine.org/asset-library/asset/2739>`__
 
-- `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
+- `3D Platformer Demo <https://godotengine.org/asset-library/asset/2748>`__
 
-- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
+- `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -60,31 +60,33 @@ Methods
 .. table::
    :widths: auto
 
-   +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                          | :ref:`create_convex_collision<class_MeshInstance3D_method_create_convex_collision>`\ (\ clean\: :ref:`bool<class_bool>` = true, simplify\: :ref:`bool<class_bool>` = false\ )                                  |
-   +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                          | :ref:`create_debug_tangents<class_MeshInstance3D_method_create_debug_tangents>`\ (\ )                                                                                                                          |
-   +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                          | :ref:`create_multiple_convex_collisions<class_MeshInstance3D_method_create_multiple_convex_collisions>`\ (\ settings\: :ref:`MeshConvexDecompositionSettings<class_MeshConvexDecompositionSettings>` = null\ ) |
-   +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                          | :ref:`create_trimesh_collision<class_MeshInstance3D_method_create_trimesh_collision>`\ (\ )                                                                                                                    |
-   +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`           | :ref:`find_blend_shape_by_name<class_MeshInstance3D_method_find_blend_shape_by_name>`\ (\ name\: :ref:`StringName<class_StringName>`\ )                                                                        |
-   +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Material<class_Material>` | :ref:`get_active_material<class_MeshInstance3D_method_get_active_material>`\ (\ surface\: :ref:`int<class_int>`\ ) |const|                                                                                     |
-   +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`           | :ref:`get_blend_shape_count<class_MeshInstance3D_method_get_blend_shape_count>`\ (\ ) |const|                                                                                                                  |
-   +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`       | :ref:`get_blend_shape_value<class_MeshInstance3D_method_get_blend_shape_value>`\ (\ blend_shape_idx\: :ref:`int<class_int>`\ ) |const|                                                                         |
-   +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Material<class_Material>` | :ref:`get_surface_override_material<class_MeshInstance3D_method_get_surface_override_material>`\ (\ surface\: :ref:`int<class_int>`\ ) |const|                                                                 |
-   +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`           | :ref:`get_surface_override_material_count<class_MeshInstance3D_method_get_surface_override_material_count>`\ (\ ) |const|                                                                                      |
-   +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                          | :ref:`set_blend_shape_value<class_MeshInstance3D_method_set_blend_shape_value>`\ (\ blend_shape_idx\: :ref:`int<class_int>`, value\: :ref:`float<class_float>`\ )                                              |
-   +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | |void|                          | :ref:`set_surface_override_material<class_MeshInstance3D_method_set_surface_override_material>`\ (\ surface\: :ref:`int<class_int>`, material\: :ref:`Material<class_Material>`\ )                             |
-   +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                    | :ref:`create_convex_collision<class_MeshInstance3D_method_create_convex_collision>`\ (\ clean\: :ref:`bool<class_bool>` = true, simplify\: :ref:`bool<class_bool>` = false\ )                                  |
+   +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                    | :ref:`create_debug_tangents<class_MeshInstance3D_method_create_debug_tangents>`\ (\ )                                                                                                                          |
+   +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                    | :ref:`create_multiple_convex_collisions<class_MeshInstance3D_method_create_multiple_convex_collisions>`\ (\ settings\: :ref:`MeshConvexDecompositionSettings<class_MeshConvexDecompositionSettings>` = null\ ) |
+   +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                    | :ref:`create_trimesh_collision<class_MeshInstance3D_method_create_trimesh_collision>`\ (\ )                                                                                                                    |
+   +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                     | :ref:`find_blend_shape_by_name<class_MeshInstance3D_method_find_blend_shape_by_name>`\ (\ name\: :ref:`StringName<class_StringName>`\ )                                                                        |
+   +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Material<class_Material>`           | :ref:`get_active_material<class_MeshInstance3D_method_get_active_material>`\ (\ surface\: :ref:`int<class_int>`\ ) |const|                                                                                     |
+   +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                     | :ref:`get_blend_shape_count<class_MeshInstance3D_method_get_blend_shape_count>`\ (\ ) |const|                                                                                                                  |
+   +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                 | :ref:`get_blend_shape_value<class_MeshInstance3D_method_get_blend_shape_value>`\ (\ blend_shape_idx\: :ref:`int<class_int>`\ ) |const|                                                                         |
+   +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`SkinReference<class_SkinReference>` | :ref:`get_skin_reference<class_MeshInstance3D_method_get_skin_reference>`\ (\ ) |const|                                                                                                                        |
+   +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Material<class_Material>`           | :ref:`get_surface_override_material<class_MeshInstance3D_method_get_surface_override_material>`\ (\ surface\: :ref:`int<class_int>`\ ) |const|                                                                 |
+   +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                     | :ref:`get_surface_override_material_count<class_MeshInstance3D_method_get_surface_override_material_count>`\ (\ ) |const|                                                                                      |
+   +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                    | :ref:`set_blend_shape_value<class_MeshInstance3D_method_set_blend_shape_value>`\ (\ blend_shape_idx\: :ref:`int<class_int>`, value\: :ref:`float<class_float>`\ )                                              |
+   +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | |void|                                    | :ref:`set_surface_override_material<class_MeshInstance3D_method_set_surface_override_material>`\ (\ surface\: :ref:`int<class_int>`, material\: :ref:`Material<class_Material>`\ )                             |
+   +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -253,6 +255,18 @@ Returns the value of the blend shape at the given ``blend_shape_idx``. Returns `
 
 ----
 
+.. _class_MeshInstance3D_method_get_skin_reference:
+
+.. rst-class:: classref-method
+
+:ref:`SkinReference<class_SkinReference>` **get_skin_reference**\ (\ ) |const|
+
+Returns the internal :ref:`SkinReference<class_SkinReference>` containing the skeleton's :ref:`RID<class_RID>` attached to this RID. See also :ref:`Resource.get_rid<class_Resource_method_get_rid>`, :ref:`SkinReference.get_skeleton<class_SkinReference_method_get_skeleton>`, and :ref:`RenderingServer.instance_attach_skeleton<class_RenderingServer_method_instance_attach_skeleton>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_MeshInstance3D_method_get_surface_override_material:
 
 .. rst-class:: classref-method

+ 2 - 2
classes/class_meshlibrary.rst

@@ -26,9 +26,9 @@ A library of meshes. Contains a list of :ref:`Mesh<class_Mesh>` resources, each
 Tutorials
 ---------
 
-- `3D Kinematic Character Demo <https://godotengine.org/asset-library/asset/126>`__
+- `3D Kinematic Character Demo <https://godotengine.org/asset-library/asset/2739>`__
 
-- `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
+- `3D Platformer Demo <https://godotengine.org/asset-library/asset/2748>`__
 
 .. rst-class:: classref-reftable-group
 

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