Browse Source

classref: Sync with latest 4.0-alpha

Rémi Verschelde 3 năm trước cách đây
mục cha
commit
551ab512ca
100 tập tin đã thay đổi với 2437 bổ sung2107 xóa
  1. 16 19
      classes/[email protected]
  2. 164 94
      classes/[email protected]
  3. 10 6
      classes/class_aabb.rst
  4. 20 20
      classes/class_acceptdialog.rst
  5. 2 2
      classes/class_aescontext.rst
  6. 13 19
      classes/class_animatedsprite2d.rst
  7. 2 2
      classes/class_animatedtexture.rst
  8. 3 3
      classes/class_animation.rst
  9. 29 35
      classes/class_animationnodeoneshot.rst
  10. 1 1
      classes/class_animationnodestatemachine.rst
  11. 4 4
      classes/class_animationnodestatemachineplayback.rst
  12. 5 5
      classes/class_animationplayer.rst
  13. 1 1
      classes/class_animationtree.rst
  14. 22 22
      classes/class_area2d.rst
  15. 22 22
      classes/class_area3d.rst
  16. 115 99
      classes/class_array.rst
  17. 41 41
      classes/class_arraymesh.rst
  18. 19 19
      classes/class_aspectratiocontainer.rst
  19. 13 13
      classes/class_astar.rst
  20. 12 12
      classes/class_astar2d.rst
  21. 1 1
      classes/class_atlastexture.rst
  22. 6 2
      classes/class_audioeffectrecord.rst
  23. 2 2
      classes/class_audioeffectspectrumanalyzer.rst
  24. 1 1
      classes/class_audiolistener3d.rst
  25. 1 1
      classes/class_audioserver.rst
  26. 2 2
      classes/class_audiostreamgenerator.rst
  27. 1 1
      classes/class_audiostreamgeneratorplayback.rst
  28. 1 1
      classes/class_audiostreamplayer2d.rst
  29. 1 1
      classes/class_audiostreamplayer3d.rst
  30. 2 2
      classes/class_audiostreamsample.rst
  31. 1 1
      classes/class_backbuffercopy.rst
  32. 44 44
      classes/class_basebutton.rst
  33. 24 18
      classes/class_basematerial3d.rst
  34. 2 2
      classes/class_basis.rst
  35. 21 1
      classes/class_bitmap.rst
  36. 2 2
      classes/class_bone2d.rst
  37. 1 1
      classes/class_bool.rst
  38. 13 13
      classes/class_boxcontainer.rst
  39. 1 1
      classes/class_boxmesh.rst
  40. 149 168
      classes/class_button.rst
  41. 5 5
      classes/class_buttongroup.rst
  42. 1 1
      classes/class_callable.rst
  43. 1 1
      classes/class_callbacktweener.rst
  44. 16 12
      classes/class_camera2d.rst
  45. 4 4
      classes/class_camera3d.rst
  46. 1 1
      classes/class_camerafeed.rst
  47. 1 1
      classes/class_cameraserver.rst
  48. 1 1
      classes/class_cameratexture.rst
  49. 120 120
      classes/class_canvasitem.rst
  50. 3 3
      classes/class_canvasitemmaterial.rst
  51. 32 32
      classes/class_characterbody2d.rst
  52. 13 13
      classes/class_characterbody3d.rst
  53. 1 1
      classes/class_charfxtransform.rst
  54. 147 147
      classes/class_checkbox.rst
  55. 127 127
      classes/class_checkbutton.rst
  56. 1 1
      classes/class_classdb.rst
  57. 327 313
      classes/class_codeedit.rst
  58. 3 3
      classes/class_codehighlighter.rst
  59. 3 3
      classes/class_collisionobject2d.rst
  60. 3 3
      classes/class_collisionobject3d.rst
  61. 1 1
      classes/class_collisionpolygon3d.rst
  62. 20 8
      classes/class_color.rst
  63. 67 67
      classes/class_colorpicker.rst
  64. 73 73
      classes/class_colorpickerbutton.rst
  65. 1 1
      classes/class_concavepolygonshape3d.rst
  66. 1 1
      classes/class_configfile.rst
  67. 8 8
      classes/class_confirmationdialog.rst
  68. 4 4
      classes/class_container.rst
  69. 58 28
      classes/class_control.rst
  70. 1 1
      classes/class_convexpolygonshape2d.rst
  71. 16 0
      classes/class_cpuparticles2d.rst
  72. 19 3
      classes/class_cpuparticles3d.rst
  73. 3 3
      classes/class_crypto.rst
  74. 4 4
      classes/class_cryptokey.rst
  75. 2 2
      classes/class_csgmesh3d.rst
  76. 6 4
      classes/class_csgpolygon3d.rst
  77. 1 1
      classes/class_cubemap.rst
  78. 4 4
      classes/class_curve2d.rst
  79. 4 4
      classes/class_curve3d.rst
  80. 8 8
      classes/class_curvetexture.rst
  81. 10 10
      classes/class_curvexyztexture.rst
  82. 6 6
      classes/class_dictionary.rst
  83. 21 21
      classes/class_directionallight3d.rst
  84. 125 43
      classes/class_directory.rst
  85. 97 69
      classes/class_displayserver.rst
  86. 1 1
      classes/class_dtlsserver.rst
  87. 4 4
      classes/class_editorcommandpalette.rst
  88. 18 2
      classes/class_editorexportplugin.rst
  89. 22 22
      classes/class_editorfiledialog.rst
  90. 1 1
      classes/class_editorfilesystem.rst
  91. 1 1
      classes/class_editorimportplugin.rst
  92. 15 7
      classes/class_editorinspector.rst
  93. 89 79
      classes/class_editorinterface.rst
  94. 24 14
      classes/class_editornode3dgizmo.rst
  95. 67 55
      classes/class_editornode3dgizmoplugin.rst
  96. 6 6
      classes/class_editorpaths.rst
  97. 7 7
      classes/class_editorplugin.rst
  98. 4 4
      classes/class_editorresourcepicker.rst
  99. 3 3
      classes/class_editorresourcepreview.rst
  100. 15 31
      classes/class_editorsceneformatimporter.rst

+ 16 - 19
classes/[email protected]

@@ -14,12 +14,9 @@ Built-in GDScript functions.
 Description
 -----------
 
-List of core built-in GDScript functions. Math functions and other utilities. Everything else is provided by objects. (Keywords: builtin, built in, global functions.)
+A list of GDScript-specific utility functions accessed in any script.
 
-Tutorials
----------
-
-- :doc:`Random number generation <../tutorials/math/random_number_generation>`
+For the list of the global functions and constants see :ref:`@GlobalScope<class_@GlobalScope>`.
 
 Methods
 -------
@@ -73,11 +70,11 @@ Constants
 
 - **INF** = **inf** --- Positive floating-point infinity. This is the result of floating-point division when the divisor is ``0.0``. For negative infinity, use ``-INF``. Dividing by ``-0.0`` will result in negative infinity if the numerator is positive, so dividing by ``0.0`` is not the same as dividing by ``-0.0`` (despite ``0.0 == -0.0`` returning ``true``).
 
-**Note:** Numeric infinity is only a concept with floating-point numbers, and has no equivalent for integers. Dividing an integer number by ``0`` will not result in :ref:`INF<class_@GDScript_constant_INF>` and will result in a run-time error instead.
+\ **Note:** Numeric infinity is only a concept with floating-point numbers, and has no equivalent for integers. Dividing an integer number by ``0`` will not result in :ref:`INF<class_@GDScript_constant_INF>` and will result in a run-time error instead.
 
 - **NAN** = **nan** --- "Not a Number", an invalid floating-point value. :ref:`NAN<class_@GDScript_constant_NAN>` has special properties, including that it is not equal to itself (``NAN == NAN`` returns ``false``). It is output by some invalid operations, such as dividing floating-point ``0.0`` by ``0.0``.
 
-**Note:** "Not a Number" is only a concept with floating-point numbers, and has no equivalent for integers. Dividing an integer ``0`` by ``0`` will not result in :ref:`NAN<class_@GDScript_constant_NAN>` and will result in a run-time error instead.
+\ **Note:** "Not a Number" is only a concept with floating-point numbers, and has no equivalent for integers. Dividing an integer ``0`` by ``0`` will not result in :ref:`NAN<class_@GDScript_constant_NAN>` and will result in a run-time error instead.
 
 Method Descriptions
 -------------------
@@ -88,13 +85,13 @@ Method Descriptions
 
 Returns a color constructed from integer red, green, blue, and alpha channels. Each channel should have 8 bits of information ranging from 0 to 255.
 
-``r8`` red channel
+\ ``r8`` red channel
 
-``g8`` green channel
+\ ``g8`` green channel
 
-``b8`` blue channel
+\ ``b8`` blue channel
 
-``a8`` alpha channel
+\ ``a8`` alpha channel
 
 ::
 
@@ -108,7 +105,7 @@ Returns a color constructed from integer red, green, blue, and alpha channels. E
 
 Asserts that the ``condition`` is ``true``. If the ``condition`` is ``false``, an error is generated. When running from the editor, the running project will also be paused until you resume it. This can be used as a stronger form of :ref:`@GlobalScope.push_error<class_@GlobalScope_method_push_error>` for reporting errors to project developers or add-on users.
 
-**Note:** For performance reasons, the code inside :ref:`assert<class_@GDScript_method_assert>` is only executed in debug builds or when running the project from the editor. Don't include code that has side effects in an :ref:`assert<class_@GDScript_method_assert>` call. Otherwise, the project will behave differently when exported in release mode.
+\ **Note:** For performance reasons, the code inside :ref:`assert<class_@GDScript_method_assert>` is only executed in debug builds or when running the project from the editor. Don't include code that has side effects in an :ref:`assert<class_@GDScript_method_assert>` call. Otherwise, the project will behave differently when exported in release mode.
 
 The optional ``message`` argument, if given, is shown in addition to the generic "Assertion failed" message. You can use this to provide additional details about why the assertion failed.
 
@@ -185,7 +182,7 @@ would print
 
     [{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]
 
-**Note:** Not supported for calling from threads. Instead, this will return an empty array.
+\ **Note:** Not supported for calling from threads. Instead, this will return an empty array.
 
 ----
 
@@ -218,7 +215,7 @@ Prints out:
 
 Returns length of Variant ``var``. Length is the character count of String, element count of Array, size of Dictionary, etc.
 
-**Note:** Generates a fatal error if Variant can not provide a length.
+\ **Note:** Generates a fatal error if Variant can not provide a length.
 
 ::
 
@@ -233,14 +230,14 @@ Returns length of Variant ``var``. Length is the character count of String, elem
 
 Loads a resource from the filesystem located at ``path``. The resource is loaded on the method call (unless it's referenced already elsewhere, e.g. in another script or in the scene), which might cause slight delay, especially when loading scenes. To avoid unnecessary delays when loading something multiple times, either store the resource in a variable or use :ref:`preload<class_@GDScript_method_preload>`.
 
-**Note:** Resource paths can be obtained by right-clicking on a resource in the FileSystem dock and choosing "Copy Path" or by dragging the file from the FileSystem dock into the script.
+\ **Note:** Resource paths can be obtained by right-clicking on a resource in the FileSystem dock and choosing "Copy Path" or by dragging the file from the FileSystem dock into the script.
 
 ::
 
     # 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 local path will just return ``null``.
+\ **Important:** The path must be absolute, a local path will just return ``null``.
 
 This method is a simplified version of :ref:`ResourceLoader.load<class_ResourceLoader_method_load>`, which can be used for more advanced scenarios.
 
@@ -252,7 +249,7 @@ This method is a simplified version of :ref:`ResourceLoader.load<class_ResourceL
 
 Returns a :ref:`Resource<class_Resource>` from the filesystem located at ``path``. The resource is loaded during script parsing, i.e. is loaded with the script and :ref:`preload<class_@GDScript_method_preload>` effectively acts as a reference to that resource. Note that the method requires a constant path. If you want to load a resource from a dynamic/variable path, use :ref:`load<class_@GDScript_method_load>`.
 
-**Note:** Resource paths can be obtained by right clicking on a resource in the Assets Panel and choosing "Copy Path" or by dragging the file from the FileSystem dock into the script.
+\ **Note:** Resource paths can be obtained by right clicking on a resource in the Assets Panel and choosing "Copy Path" or by dragging the file from the FileSystem dock into the script.
 
 ::
 
@@ -274,7 +271,7 @@ Output in the console would look something like this:
     Test print
        At: res://test.gd:15:_process()
 
-**Note:** Not supported for calling from threads. Instead of the stack frame, this will print the thread ID.
+\ **Note:** Not supported for calling from threads. Instead of the stack frame, this will print the thread ID.
 
 ----
 
@@ -290,7 +287,7 @@ Output in the console would look something like this:
 
     Frame 0 - res://test.gd:16 in function '_process'
 
-**Note:** Not supported for calling from threads. Instead of the stack trace, this will print the thread ID.
+\ **Note:** Not supported for calling from threads. Instead of the stack trace, this will print the thread ID.
 
 ----
 

+ 164 - 94
classes/[email protected]

@@ -9,15 +9,22 @@
 @GlobalScope
 ============
 
-Global scope constants and variables.
+Global scope constants and functions.
 
 Description
 -----------
 
-Global scope constants and variables. This is all that resides in the globals, constants regarding error codes, keycodes, property hints, etc.
+A list of global scope enumerated constants and built-in functions. This is all that resides in the globals, constants regarding error codes, keycodes, property hints, etc.
 
 Singletons are also documented here, since they can be accessed from anywhere.
 
+For the entries related to GDScript which can be accessed in any script see :ref:`@GDScript<class_@GDScript>`.
+
+Tutorials
+---------
+
+- :doc:`Random number generation <../tutorials/math/random_number_generation>`
+
 Properties
 ----------
 
@@ -347,89 +354,93 @@ enum **ClockDirection**:
 
 ----
 
-.. _enum_@GlobalScope_HAlign:
+.. _enum_@GlobalScope_HorizontalAlignment:
 
-.. _class_@GlobalScope_constant_HALIGN_LEFT:
+.. _class_@GlobalScope_constant_HORIZONTAL_ALIGNMENT_LEFT:
 
-.. _class_@GlobalScope_constant_HALIGN_CENTER:
+.. _class_@GlobalScope_constant_HORIZONTAL_ALIGNMENT_CENTER:
 
-.. _class_@GlobalScope_constant_HALIGN_RIGHT:
+.. _class_@GlobalScope_constant_HORIZONTAL_ALIGNMENT_RIGHT:
 
-.. _class_@GlobalScope_constant_HALIGN_FILL:
+.. _class_@GlobalScope_constant_HORIZONTAL_ALIGNMENT_FILL:
 
-enum **HAlign**:
+enum **HorizontalAlignment**:
 
-- **HALIGN_LEFT** = **0** --- Horizontal left alignment, usually for text-derived classes.
+- **HORIZONTAL_ALIGNMENT_LEFT** = **0** --- Horizontal left alignment, usually for text-derived classes.
 
-- **HALIGN_CENTER** = **1** --- Horizontal center alignment, usually for text-derived classes.
+- **HORIZONTAL_ALIGNMENT_CENTER** = **1** --- Horizontal center alignment, usually for text-derived classes.
 
-- **HALIGN_RIGHT** = **2** --- Horizontal right alignment, usually for text-derived classes.
+- **HORIZONTAL_ALIGNMENT_RIGHT** = **2** --- Horizontal right alignment, usually for text-derived classes.
 
-- **HALIGN_FILL** = **3** --- Expand row to fit width, usually for text-derived classes.
+- **HORIZONTAL_ALIGNMENT_FILL** = **3** --- Expand row to fit width, usually for text-derived classes.
 
 ----
 
-.. _enum_@GlobalScope_VAlign:
+.. _enum_@GlobalScope_VerticalAlignment:
+
+.. _class_@GlobalScope_constant_VERTICAL_ALIGNMENT_TOP:
+
+.. _class_@GlobalScope_constant_VERTICAL_ALIGNMENT_CENTER:
 
-.. _class_@GlobalScope_constant_VALIGN_TOP:
+.. _class_@GlobalScope_constant_VERTICAL_ALIGNMENT_BOTTOM:
 
-.. _class_@GlobalScope_constant_VALIGN_CENTER:
+.. _class_@GlobalScope_constant_VERTICAL_ALIGNMENT_FILL:
 
-.. _class_@GlobalScope_constant_VALIGN_BOTTOM:
+enum **VerticalAlignment**:
 
-enum **VAlign**:
+- **VERTICAL_ALIGNMENT_TOP** = **0** --- Vertical top alignment, usually for text-derived classes.
 
-- **VALIGN_TOP** = **0** --- Vertical top alignment, usually for text-derived classes.
+- **VERTICAL_ALIGNMENT_CENTER** = **1** --- Vertical center alignment, usually for text-derived classes.
 
-- **VALIGN_CENTER** = **1** --- Vertical center alignment, usually for text-derived classes.
+- **VERTICAL_ALIGNMENT_BOTTOM** = **2** --- Vertical bottom alignment, usually for text-derived classes.
 
-- **VALIGN_BOTTOM** = **2** --- Vertical bottom alignment, usually for text-derived classes.
+- **VERTICAL_ALIGNMENT_FILL** = **3** --- Expand rows to fit height, usually for text-derived classes.
 
 ----
 
-.. _enum_@GlobalScope_InlineAlign:
+.. _enum_@GlobalScope_InlineAlignment:
 
-.. _class_@GlobalScope_constant_INLINE_ALIGN_TOP_TO:
+.. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TOP_TO:
 
-.. _class_@GlobalScope_constant_INLINE_ALIGN_CENTER_TO:
+.. _class_@GlobalScope_constant_INLINE_ALIGNMENT_CENTER_TO:
 
-.. _class_@GlobalScope_constant_INLINE_ALIGN_BOTTOM_TO:
+.. _class_@GlobalScope_constant_INLINE_ALIGNMENT_BOTTOM_TO:
 
-.. _class_@GlobalScope_constant_INLINE_ALIGN_TO_TOP:
+.. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TO_TOP:
 
-.. _class_@GlobalScope_constant_INLINE_ALIGN_TO_CENTER:
+.. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TO_CENTER:
 
-.. _class_@GlobalScope_constant_INLINE_ALIGN_TO_BASELINE:
+.. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TO_BASELINE:
 
-.. _class_@GlobalScope_constant_INLINE_ALIGN_TO_BOTTOM:
+.. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TO_BOTTOM:
 
-.. _class_@GlobalScope_constant_INLINE_ALIGN_TOP:
+.. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TOP:
 
-.. _class_@GlobalScope_constant_INLINE_ALIGN_CENTER:
+.. _class_@GlobalScope_constant_INLINE_ALIGNMENT_CENTER:
 
-.. _class_@GlobalScope_constant_INLINE_ALIGN_BOTTOM:
+.. _class_@GlobalScope_constant_INLINE_ALIGNMENT_BOTTOM:
 
-enum **InlineAlign**:
+enum **InlineAlignment**:
 
-- **INLINE_ALIGN_TOP_TO** = **0** --- Aligns the top of the inline object (e.g. image, table) to the position of the text specified by ``INLINE_ALIGN_TO_*`` constant.
+- **INLINE_ALIGNMENT_TOP_TO** = **0** --- Aligns the top of the inline object (e.g. image, table) to the position of the text specified by ``INLINE_ALIGNMENT_TO_*`` constant.
 
-- **INLINE_ALIGN_CENTER_TO** = **1** --- Aligns the center of the inline object (e.g. image, table) to the position of the text specified by ``INLINE_ALIGN_TO_*`` constant.
+- **INLINE_ALIGNMENT_CENTER_TO** = **1** --- Aligns the center of the inline object (e.g. image, table) to the position of the text specified by ``INLINE_ALIGNMENT_TO_*`` constant.
 
-- **INLINE_ALIGN_BOTTOM_TO** = **2** --- Aligns the bottom of the inline object (e.g. image, table) to the position of the text specified by ``INLINE_ALIGN_TO_*`` constant.
+- **INLINE_ALIGNMENT_BOTTOM_TO** = **2** --- Aligns the bottom of the inline object (e.g. image, table) to the position of the text specified by ``INLINE_ALIGNMENT_TO_*`` constant.
 
-- **INLINE_ALIGN_TO_TOP** = **0** --- Aligns the position of the inline object (e.g. image, table) specified by ``INLINE_ALIGN_*_TO`` constant to the top of the text.
+- **INLINE_ALIGNMENT_TO_TOP** = **0** --- Aligns the position of the inline object (e.g. image, table) specified by ``INLINE_ALIGNMENT_*_TO`` constant to the top of the text.
 
-- **INLINE_ALIGN_TO_CENTER** = **4** --- Aligns the position of the inline object (e.g. image, table) specified by ``INLINE_ALIGN_*_TO`` constant to the center of the text.
+- **INLINE_ALIGNMENT_TO_CENTER** = **4** --- Aligns the position of the inline object (e.g. image, table) specified by ``INLINE_ALIGNMENT_*_TO`` constant to the center of the text.
 
-- **INLINE_ALIGN_TO_BASELINE** = **8** --- Aligns the position of the inline object (e.g. image, table) specified by ``INLINE_ALIGN_*_TO`` constant to the baseline of the text.
+- **INLINE_ALIGNMENT_TO_BASELINE** = **8** --- Aligns the position of the inline object (e.g. image, table) specified by ``INLINE_ALIGNMENT_*_TO`` constant to the baseline of the text.
 
-- **INLINE_ALIGN_TO_BOTTOM** = **12** --- Aligns inline object (e.g. image, table) to the bottom of the text.
+- **INLINE_ALIGNMENT_TO_BOTTOM** = **12** --- Aligns inline object (e.g. image, table) to the bottom of the text.
 
-- **INLINE_ALIGN_TOP** = **0** --- Aligns top of the inline object (e.g. image, table) to the top of the text. Equvalent to ``INLINE_ALIGN_TOP_TO | INLINE_ALIGN_TO_TOP``.
+- **INLINE_ALIGNMENT_TOP** = **0** --- Aligns top of the inline object (e.g. image, table) to the top of the text. Equivalent to ``INLINE_ALIGNMENT_TOP_TO | INLINE_ALIGNMENT_TO_TOP``.
 
-- **INLINE_ALIGN_CENTER** = **5** --- Aligns center of the inline object (e.g. image, table) to the center of the text. Equvalent to ``INLINE_ALIGN_CENTER_TO | INLINE_ALIGN_TO_CENTER``.
+- **INLINE_ALIGNMENT_CENTER** = **5** --- Aligns center of the inline object (e.g. image, table) to the center of the text. Equivalent to ``INLINE_ALIGNMENT_CENTER_TO | INLINE_ALIGNMENT_TO_CENTER``.
 
-- **INLINE_ALIGN_BOTTOM** = **14** --- Aligns bottom of the inline object (e.g. image, table) to the bottom of the text. Equvalent to ``INLINE_ALIGN_BOTTOM_TO | INLINE_ALIGN_TO_BOTTOM``.
+- **INLINE_ALIGNMENT_BOTTOM** = **14** --- Aligns bottom of the inline object (e.g. image, table) to the bottom of the text. Equivalent to ``INLINE_ALIGNMENT_BOTTOM_TO | INLINE_ALIGNMENT_TO_BOTTOM``.
 
 ----
 
@@ -1613,7 +1624,13 @@ enum **JoyButton**:
 
 - **JOY_BUTTON_SDL_MAX** = **21** --- The number of SDL game controller buttons.
 
-- **JOY_BUTTON_MAX** = **36** --- The maximum number of game controller buttons: Android supports up to 36 buttons.
+- **JOY_BUTTON_MAX** = **128** --- The maximum number of game controller buttons supported by the engine. The actual limit may be lower on specific platforms:
+
+- Android: Up to 36 buttons.
+
+- Linux: Up to 80 buttons.
+
+- Windows and macOS: Up to 128 buttons.
 
 ----
 
@@ -1675,21 +1692,65 @@ enum **JoyAxis**:
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_PITCH_BEND:
 
+.. _class_@GlobalScope_constant_MIDI_MESSAGE_SYSTEM_EXCLUSIVE:
+
+.. _class_@GlobalScope_constant_MIDI_MESSAGE_QUARTER_FRAME:
+
+.. _class_@GlobalScope_constant_MIDI_MESSAGE_SONG_POSITION_POINTER:
+
+.. _class_@GlobalScope_constant_MIDI_MESSAGE_SONG_SELECT:
+
+.. _class_@GlobalScope_constant_MIDI_MESSAGE_TUNE_REQUEST:
+
+.. _class_@GlobalScope_constant_MIDI_MESSAGE_TIMING_CLOCK:
+
+.. _class_@GlobalScope_constant_MIDI_MESSAGE_START:
+
+.. _class_@GlobalScope_constant_MIDI_MESSAGE_CONTINUE:
+
+.. _class_@GlobalScope_constant_MIDI_MESSAGE_STOP:
+
+.. _class_@GlobalScope_constant_MIDI_MESSAGE_ACTIVE_SENSING:
+
+.. _class_@GlobalScope_constant_MIDI_MESSAGE_SYSTEM_RESET:
+
 enum **MIDIMessage**:
 
-- **MIDI_MESSAGE_NOTE_OFF** = **8** --- MIDI note OFF message.
+- **MIDI_MESSAGE_NOTE_OFF** = **8** --- MIDI note OFF message. See the documentation of :ref:`InputEventMIDI<class_InputEventMIDI>` for information of how to use MIDI inputs.
+
+- **MIDI_MESSAGE_NOTE_ON** = **9** --- MIDI note ON message. See the documentation of :ref:`InputEventMIDI<class_InputEventMIDI>` for information of how to use MIDI inputs.
+
+- **MIDI_MESSAGE_AFTERTOUCH** = **10** --- MIDI aftertouch message. This message is most often sent by pressing down on the key after it "bottoms out".
+
+- **MIDI_MESSAGE_CONTROL_CHANGE** = **11** --- MIDI control change message. This message is sent when a controller value changes. Controllers include devices such as pedals and levers.
+
+- **MIDI_MESSAGE_PROGRAM_CHANGE** = **12** --- MIDI program change message. This message sent when the program patch number changes.
+
+- **MIDI_MESSAGE_CHANNEL_PRESSURE** = **13** --- MIDI channel pressure message. This message is most often sent by pressing down on the key after it "bottoms out". This message is different from polyphonic after-touch as it indicates the highest pressure across all keys.
+
+- **MIDI_MESSAGE_PITCH_BEND** = **14** --- MIDI pitch bend message. This message is sent to indicate a change in the pitch bender (wheel or lever, typically).
+
+- **MIDI_MESSAGE_SYSTEM_EXCLUSIVE** = **240** --- MIDI system exclusive message. This has behavior exclusive to the device you're receiving input from. Getting this data is not implemented in Godot.
 
-- **MIDI_MESSAGE_NOTE_ON** = **9** --- MIDI note ON message.
+- **MIDI_MESSAGE_QUARTER_FRAME** = **241** --- MIDI quarter frame message. Contains timing information that is used to synchronize MIDI devices. Getting this data is not implemented in Godot.
 
-- **MIDI_MESSAGE_AFTERTOUCH** = **10** --- MIDI aftertouch message.
+- **MIDI_MESSAGE_SONG_POSITION_POINTER** = **242** --- MIDI song position pointer message. Gives the number of 16th notes since the start of the song. Getting this data is not implemented in Godot.
 
-- **MIDI_MESSAGE_CONTROL_CHANGE** = **11** --- MIDI control change message.
+- **MIDI_MESSAGE_SONG_SELECT** = **243** --- MIDI song select message. Specifies which sequence or song is to be played. Getting this data is not implemented in Godot.
 
-- **MIDI_MESSAGE_PROGRAM_CHANGE** = **12** --- MIDI program change message.
+- **MIDI_MESSAGE_TUNE_REQUEST** = **246** --- MIDI tune request message. Upon receiving a tune request, all analog synthesizers should tune their oscillators.
 
-- **MIDI_MESSAGE_CHANNEL_PRESSURE** = **13** --- MIDI channel pressure message.
+- **MIDI_MESSAGE_TIMING_CLOCK** = **248** --- MIDI timing clock message. Sent 24 times per quarter note when synchronization is required.
 
-- **MIDI_MESSAGE_PITCH_BEND** = **14** --- MIDI pitch bend message.
+- **MIDI_MESSAGE_START** = **250** --- MIDI start message. Start the current sequence playing. This message will be followed with Timing Clocks.
+
+- **MIDI_MESSAGE_CONTINUE** = **251** --- MIDI continue message. Continue at the point the sequence was stopped.
+
+- **MIDI_MESSAGE_STOP** = **252** --- MIDI stop message. Stop the current sequence.
+
+- **MIDI_MESSAGE_ACTIVE_SENSING** = **254** --- MIDI active sensing message. This message is intended to be sent repeatedly to tell the receiver that a connection is alive.
+
+- **MIDI_MESSAGE_SYSTEM_RESET** = **255** --- MIDI system reset message. Reset all receivers in the system to power-up status. It should not be sent on power-up itself.
 
 ----
 
@@ -1990,6 +2051,8 @@ Since :ref:`OK<class_@GlobalScope_constant_OK>` has value 0, and all other failu
 
 .. _class_@GlobalScope_constant_PROPERTY_HINT_ARRAY_TYPE:
 
+.. _class_@GlobalScope_constant_PROPERTY_HINT_LOCALE_ID:
+
 .. _class_@GlobalScope_constant_PROPERTY_HINT_MAX:
 
 enum **PropertyHint**:
@@ -2057,7 +2120,7 @@ Unlike :ref:`PROPERTY_HINT_ENUM<class_@GlobalScope_constant_PROPERTY_HINT_ENUM>`
     hint_string = "%s/%s:Resource" % [TYPE_OBJECT, TYPE_OBJECT] # Array of resources.
     hint_string = "%s:%s/%s:Resource" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] # Two-dimensional array of resources.
 
-**Note:** The final colon is required to specify for properly detecting built-in types.
+\ **Note:** The final colon is required to specify for properly detecting built-in types.
 
 - **PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE** = **26**
 
@@ -2089,7 +2152,9 @@ Unlike :ref:`PROPERTY_HINT_ENUM<class_@GlobalScope_constant_PROPERTY_HINT_ENUM>`
 
 - **PROPERTY_HINT_ARRAY_TYPE** = **39**
 
-- **PROPERTY_HINT_MAX** = **41**
+- **PROPERTY_HINT_LOCALE_ID** = **41** --- Hints that a string property is a locale code. Editing it will show a locale dialog for picking language and country.
+
+- **PROPERTY_HINT_MAX** = **42**
 
 ----
 
@@ -2367,23 +2432,23 @@ enum **TransferMode**:
 
 .. _class_@GlobalScope_constant_TYPE_ARRAY:
 
-.. _class_@GlobalScope_constant_TYPE_RAW_ARRAY:
+.. _class_@GlobalScope_constant_TYPE_PACKED_BYTE_ARRAY:
 
-.. _class_@GlobalScope_constant_TYPE_INT32_ARRAY:
+.. _class_@GlobalScope_constant_TYPE_PACKED_INT32_ARRAY:
 
-.. _class_@GlobalScope_constant_TYPE_INT64_ARRAY:
+.. _class_@GlobalScope_constant_TYPE_PACKED_INT64_ARRAY:
 
-.. _class_@GlobalScope_constant_TYPE_FLOAT32_ARRAY:
+.. _class_@GlobalScope_constant_TYPE_PACKED_FLOAT32_ARRAY:
 
-.. _class_@GlobalScope_constant_TYPE_FLOAT64_ARRAY:
+.. _class_@GlobalScope_constant_TYPE_PACKED_FLOAT64_ARRAY:
 
-.. _class_@GlobalScope_constant_TYPE_STRING_ARRAY:
+.. _class_@GlobalScope_constant_TYPE_PACKED_STRING_ARRAY:
 
-.. _class_@GlobalScope_constant_TYPE_VECTOR2_ARRAY:
+.. _class_@GlobalScope_constant_TYPE_PACKED_VECTOR2_ARRAY:
 
-.. _class_@GlobalScope_constant_TYPE_VECTOR3_ARRAY:
+.. _class_@GlobalScope_constant_TYPE_PACKED_VECTOR3_ARRAY:
 
-.. _class_@GlobalScope_constant_TYPE_COLOR_ARRAY:
+.. _class_@GlobalScope_constant_TYPE_PACKED_COLOR_ARRAY:
 
 .. _class_@GlobalScope_constant_TYPE_MAX:
 
@@ -2441,23 +2506,23 @@ enum **Variant.Type**:
 
 - **TYPE_ARRAY** = **25** --- Variable is of type :ref:`Array<class_Array>`.
 
-- **TYPE_RAW_ARRAY** = **26** --- Variable is of type :ref:`PackedByteArray<class_PackedByteArray>`.
+- **TYPE_PACKED_BYTE_ARRAY** = **26** --- Variable is of type :ref:`PackedByteArray<class_PackedByteArray>`.
 
-- **TYPE_INT32_ARRAY** = **27** --- Variable is of type :ref:`PackedInt32Array<class_PackedInt32Array>`.
+- **TYPE_PACKED_INT32_ARRAY** = **27** --- Variable is of type :ref:`PackedInt32Array<class_PackedInt32Array>`.
 
-- **TYPE_INT64_ARRAY** = **28** --- Variable is of type :ref:`PackedInt64Array<class_PackedInt64Array>`.
+- **TYPE_PACKED_INT64_ARRAY** = **28** --- Variable is of type :ref:`PackedInt64Array<class_PackedInt64Array>`.
 
-- **TYPE_FLOAT32_ARRAY** = **29** --- Variable is of type :ref:`PackedFloat32Array<class_PackedFloat32Array>`.
+- **TYPE_PACKED_FLOAT32_ARRAY** = **29** --- Variable is of type :ref:`PackedFloat32Array<class_PackedFloat32Array>`.
 
-- **TYPE_FLOAT64_ARRAY** = **30** --- Variable is of type :ref:`PackedFloat64Array<class_PackedFloat64Array>`.
+- **TYPE_PACKED_FLOAT64_ARRAY** = **30** --- Variable is of type :ref:`PackedFloat64Array<class_PackedFloat64Array>`.
 
-- **TYPE_STRING_ARRAY** = **31** --- Variable is of type :ref:`PackedStringArray<class_PackedStringArray>`.
+- **TYPE_PACKED_STRING_ARRAY** = **31** --- Variable is of type :ref:`PackedStringArray<class_PackedStringArray>`.
 
-- **TYPE_VECTOR2_ARRAY** = **32** --- Variable is of type :ref:`PackedVector2Array<class_PackedVector2Array>`.
+- **TYPE_PACKED_VECTOR2_ARRAY** = **32** --- Variable is of type :ref:`PackedVector2Array<class_PackedVector2Array>`.
 
-- **TYPE_VECTOR3_ARRAY** = **33** --- Variable is of type :ref:`PackedVector3Array<class_PackedVector3Array>`.
+- **TYPE_PACKED_VECTOR3_ARRAY** = **33** --- Variable is of type :ref:`PackedVector3Array<class_PackedVector3Array>`.
 
-- **TYPE_COLOR_ARRAY** = **34** --- Variable is of type :ref:`PackedColorArray<class_PackedColorArray>`.
+- **TYPE_PACKED_COLOR_ARRAY** = **34** --- Variable is of type :ref:`PackedColorArray<class_PackedColorArray>`.
 
 - **TYPE_MAX** = **35** --- Represents the size of the :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` enum.
 
@@ -2672,7 +2737,7 @@ The :ref:`InputMap<class_InputMap>` singleton.
 
 The :ref:`JavaClassWrapper<class_JavaClassWrapper>` singleton.
 
-**Note:** Only implemented on Android.
+\ **Note:** Only implemented on Android.
 
 ----
 
@@ -2682,7 +2747,7 @@ The :ref:`JavaClassWrapper<class_JavaClassWrapper>` singleton.
 
 The :ref:`JavaScript<class_JavaScript>` singleton.
 
-**Note:** Only implemented on HTML5.
+\ **Note:** Only implemented on HTML5.
 
 ----
 
@@ -2951,7 +3016,7 @@ Important note: The Y coordinate comes first, by convention.
 
 Decodes a byte array back to a :ref:`Variant<class_Variant>` value, without decoding objects.
 
-**Note:** If you need object deserialization, see :ref:`bytes2var_with_objects<class_@GlobalScope_method_bytes2var_with_objects>`.
+\ **Note:** If you need object deserialization, see :ref:`bytes2var_with_objects<class_@GlobalScope_method_bytes2var_with_objects>`.
 
 ----
 
@@ -2961,7 +3026,7 @@ Decodes a byte array back to a :ref:`Variant<class_Variant>` value, without deco
 
 Decodes a byte array back to a :ref:`Variant<class_Variant>` value. Decoding objects is allowed.
 
-**Warning:** Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
+\ **Warning:** Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
 
 ----
 
@@ -3104,11 +3169,11 @@ Returns an "eased" value of ``x`` based on an easing function defined with ``cur
     - 1.0: Linear
     - Between -1.0 and 0.0 (exclusive): Ease out-in
     - 0.0: Constant
-    - Between 0.0 to 1.0 (exclusive): Ease in
+    - Between 0.0 to 1.0 (exclusive): Ease out
     - 1.0: Linear
-    - Greater than 1.0 (exclusive): Ease out
+    - Greater than 1.0 (exclusive): Ease in
 
-`ease() curve values cheatsheet <https://raw.githubusercontent.com/godotengine/godot-docs/master/img/ease_cheatsheet.png>`__
+\ `ease() curve values cheatsheet <https://raw.githubusercontent.com/godotengine/godot-docs/master/img/ease_cheatsheet.png>`__\ 
 
 See also :ref:`smoothstep<class_@GlobalScope_method_smoothstep>`. If you need to perform more advanced transitions, use :ref:`Tween<class_Tween>` or :ref:`AnimationPlayer<class_AnimationPlayer>`.
 
@@ -3128,7 +3193,7 @@ Returns a human-readable name for the given error code.
 
 The natural exponential function. It raises the mathematical constant **e** to the power of ``x`` and returns it.
 
-**e** has an approximate value of 2.71828, and can be obtained with ``exp(1)``.
+\ **e** has an approximate value of 2.71828, and can be obtained with ``exp(1)``.
 
 For exponents to other bases use the method :ref:`pow<class_@GlobalScope_method_pow>`.
 
@@ -3153,7 +3218,7 @@ Rounds ``x`` downward (towards negative infinity), returning the largest whole n
 
 See also :ref:`ceil<class_@GlobalScope_method_ceil>`, :ref:`round<class_@GlobalScope_method_round>`, and :ref:`snapped<class_@GlobalScope_method_snapped>`.
 
-**Note:** This method returns a float. If you need an integer, you can use ``int(x)`` directly.
+\ **Note:** This method returns a float. If you need an integer, you can use ``int(x)`` directly.
 
 ----
 
@@ -3230,16 +3295,19 @@ Returns the Object that corresponds to ``instance_id``. All Objects have a uniqu
 
 - :ref:`float<class_float>` **inverse_lerp** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight **)**
 
-Returns a normalized value considering the given range. This is the opposite of :ref:`lerp<class_@GlobalScope_method_lerp>`.
+Returns an interpolation or extrapolation factor considering the range specified in ``from`` and ``to``, and the interpolated value specified in ``weight``. The returned value will be between ``0.0`` and ``1.0`` if ``weight`` is between ``from`` and ``to`` (inclusive). If ``weight`` is located outside this range, then an extrapolation factor will be returned (return value lower than ``0.0`` or greater than ``1.0``).
 
 ::
 
+    # The interpolation ratio in the `lerp()` call below is 0.75.
     var middle = lerp(20, 30, 0.75)
     # `middle` is now 27.5.
     # Now, we pretend to have forgotten the original ratio and want to get it back.
     var ratio = inverse_lerp(20, 30, 27.5)
     # `ratio` is now 0.75.
 
+See also :ref:`lerp<class_@GlobalScope_method_lerp>` which performs the reverse of this operation.
+
 ----
 
 .. _class_@GlobalScope_method_is_equal_approx:
@@ -3300,12 +3368,14 @@ This method is faster than using :ref:`is_equal_approx<class_@GlobalScope_method
 
 - :ref:`float<class_float>` **lerp** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight **)**
 
-Linearly interpolates between two values by a normalized value. This is the opposite of :ref:`inverse_lerp<class_@GlobalScope_method_inverse_lerp>`.
+Linearly interpolates between two values by the factor defined in ``weight``. To perform interpolation, ``weight`` should be between ``0.0`` and ``1.0`` (inclusive). However, values outside this range are allowed and can be used to perform *extrapolation*.
 
 ::
 
     lerp(0, 4, 0.75) # Returns 3.0
 
+See also :ref:`inverse_lerp<class_@GlobalScope_method_inverse_lerp>` which performs the reverse of this operation. To perform eased interpolation with :ref:`lerp<class_@GlobalScope_method_lerp>`, combine it with :ref:`ease<class_@GlobalScope_method_ease>` or :ref:`smoothstep<class_@GlobalScope_method_smoothstep>`.
+
 ----
 
 .. _class_@GlobalScope_method_lerp_angle:
@@ -3314,7 +3384,7 @@ Linearly interpolates between two values by a normalized value. This is the oppo
 
 Linearly interpolates between two angles (in radians) by a normalized value.
 
-Similar to :ref:`lerp<class_@GlobalScope_method_lerp>`, but interpolates correctly when the angles wrap around :ref:`@GDScript.TAU<class_@GDScript_constant_TAU>`.
+Similar to :ref:`lerp<class_@GlobalScope_method_lerp>`, but interpolates correctly when the angles wrap around :ref:`@GDScript.TAU<class_@GDScript_constant_TAU>`. To perform eased interpolation with :ref:`lerp_angle<class_@GlobalScope_method_lerp_angle>`, combine it with :ref:`ease<class_@GlobalScope_method_ease>` or :ref:`smoothstep<class_@GlobalScope_method_smoothstep>`.
 
 ::
 
@@ -3349,13 +3419,13 @@ Converts from linear energy to decibels (audio). This can be used to implement v
 
 Natural logarithm. The amount of time needed to reach a certain level of continuous growth.
 
-**Note:** This is not the same as the "log" function on most calculators, which uses a base 10 logarithm.
+\ **Note:** This is not the same as the "log" function on most calculators, which uses a base 10 logarithm.
 
 ::
 
     log(10) # Returns 2.302585
 
-**Note:** The logarithm of ``0`` returns ``-inf``, while negative values return ``-nan``.
+\ **Note:** The logarithm of ``0`` returns ``-inf``, while negative values return ``-nan``.
 
 ----
 
@@ -3468,7 +3538,7 @@ In other words, returns the smallest value ``a`` where ``a = pow(2, n)`` such th
     nearest_po2(0) # Returns 0 (this may not be what you expect)
     nearest_po2(-1) # Returns 0 (this may not be what you expect)
 
-**Warning:** Due to the way it is implemented, this function returns ``0`` rather than ``1`` for non-positive values of ``value`` (in reality, 1 is the smallest integer power of 2).
+\ **Warning:** Due to the way it is implemented, this function returns ``0`` rather than ``1`` for non-positive values of ``value`` (in reality, 1 is the smallest integer power of 2).
 
 ----
 
@@ -3541,7 +3611,7 @@ Converts one or more arguments of any type to string in the best way possible an
     var a = [1, 2, 3]
     print("a", "b", a) # Prints ab[1, 2, 3]
 
-**Note:** Consider using :ref:`push_error<class_@GlobalScope_method_push_error>` and :ref:`push_warning<class_@GlobalScope_method_push_warning>` to print error and warning messages instead of :ref:`print<class_@GlobalScope_method_print>`. This distinguishes them from print messages used for debugging purposes, while also displaying a stack trace when an error or warning is printed.
+\ **Note:** Consider using :ref:`push_error<class_@GlobalScope_method_push_error>` and :ref:`push_warning<class_@GlobalScope_method_push_warning>` to print error and warning messages instead of :ref:`print<class_@GlobalScope_method_print>`. This distinguishes them from print messages used for debugging purposes, while also displaying a stack trace when an error or warning is printed.
 
 ----
 
@@ -3577,7 +3647,7 @@ Prints one or more arguments to strings in the best way possible to console. No
     printraw("B")
     # Prints AB
 
-**Note:** Due to limitations with Godot's built-in console, this only prints to the terminal. If you need to print in the editor, use another method, such as :ref:`print<class_@GlobalScope_method_print>`.
+\ **Note:** Due to limitations with Godot's built-in console, this only prints to the terminal. If you need to print in the editor, use another method, such as :ref:`print<class_@GlobalScope_method_print>`.
 
 ----
 
@@ -3615,7 +3685,7 @@ Pushes an error message to Godot's built-in debugger and to the OS terminal.
 
     push_error("test error") # Prints "test error" to debugger and terminal as error call
 
-**Note:** Errors printed this way will not pause project execution. To print an error message and pause project execution in debug builds, use ``assert(false, "test error")`` instead.
+\ **Note:** Errors printed this way will not pause project execution. To print an error message and pause project execution in debug builds, use ``assert(false, "test error")`` instead.
 
 ----
 
@@ -3717,7 +3787,7 @@ Returns a random signed 32-bit integer between ``from`` and ``to`` (inclusive).
 
 Randomizes the seed (or the internal state) of the random number generator. Current implementation reseeds using a number based on time.
 
-**Note:** This method is called automatically when the project is run. If you need to fix the seed to have reproducible results, use :ref:`seed<class_@GlobalScope_method_seed>` to initialize the random number generator.
+\ **Note:** This method is called automatically when the project is run. If you need to fix the seed to have reproducible results, use :ref:`seed<class_@GlobalScope_method_seed>` to initialize the random number generator.
 
 ----
 
@@ -3871,7 +3941,7 @@ This S-shaped curve is the cubic Hermite interpolator, given by ``f(y) = 3*y^2 -
 
 Compared to :ref:`ease<class_@GlobalScope_method_ease>` with a curve value of ``-1.6521``, :ref:`smoothstep<class_@GlobalScope_method_smoothstep>` returns the smoothest possible curve with no sudden changes in the derivative. If you need to perform more advanced transitions, use :ref:`Tween<class_Tween>` or :ref:`AnimationPlayer<class_AnimationPlayer>`.
 
-`Comparison between smoothstep() and ease(x, -1.6521) return values <https://raw.githubusercontent.com/godotengine/godot-docs/master/img/smoothstep_ease_comparison.png>`__
+\ `Comparison between smoothstep() and ease(x, -1.6521) return values <https://raw.githubusercontent.com/godotengine/godot-docs/master/img/smoothstep_ease_comparison.png>`__
 
 ----
 
@@ -3900,7 +3970,7 @@ Returns the square root of ``x``, where ``x`` is a non-negative number.
 
     sqrt(9) # Returns 3
 
-**Note:** Negative values of ``x`` return NaN. If you need negative inputs, use ``System.Numerics.Complex`` in C#.
+\ **Note:** Negative values of ``x`` return NaN. If you need negative inputs, use ``System.Numerics.Complex`` in C#.
 
 ----
 
@@ -3992,7 +4062,7 @@ Returns the internal type of the given Variant object, using the :ref:`Variant.T
 
 Encodes a :ref:`Variant<class_Variant>` value to a byte array, without encoding objects. Deserialization can be done with :ref:`bytes2var<class_@GlobalScope_method_bytes2var>`.
 
-**Note:** If you need object serialization, see :ref:`var2bytes_with_objects<class_@GlobalScope_method_var2bytes_with_objects>`.
+\ **Note:** If you need object serialization, see :ref:`var2bytes_with_objects<class_@GlobalScope_method_var2bytes_with_objects>`.
 
 ----
 
@@ -4059,9 +4129,9 @@ Usable for creating loop-alike behavior or infinite surfaces.
     # Infinite rotation (in radians)
     angle = wrapf(angle + 0.1, -PI, PI)
 
-**Note:** If ``min`` is ``0``, this is equivalent to :ref:`fposmod<class_@GlobalScope_method_fposmod>`, so prefer using that instead.
+\ **Note:** If ``min`` is ``0``, this is equivalent to :ref:`fposmod<class_@GlobalScope_method_fposmod>`, so prefer using that instead.
 
-``wrapf`` is more flexible than using the :ref:`fposmod<class_@GlobalScope_method_fposmod>` approach by giving the user control over the minimum value.
+\ ``wrapf`` is more flexible than using the :ref:`fposmod<class_@GlobalScope_method_fposmod>` approach by giving the user control over the minimum value.
 
 ----
 

+ 10 - 6
classes/class_aabb.rst

@@ -18,7 +18,9 @@ Description
 
 It uses floating-point coordinates. The 2D counterpart to ``AABB`` is :ref:`Rect2<class_Rect2>`.
 
-**Note:** Unlike :ref:`Rect2<class_Rect2>`, ``AABB`` does not have a variant that uses integer coordinates.
+Negative values for :ref:`size<class_AABB_property_size>` are not supported and will not work for most methods. Use :ref:`abs<class_AABB_method_abs>` to get an AABB with a positive size.
+
+\ **Note:** Unlike :ref:`Rect2<class_Rect2>`, ``AABB`` does not have a variant that uses integer coordinates.
 
 Tutorials
 ---------
@@ -204,7 +206,7 @@ Returns ``true`` if this ``AABB`` completely encloses another one.
 
 Returns a copy of this ``AABB`` expanded to include a given point.
 
-**Example:**
+\ **Example:**\ 
 
 
 .. tabs::
@@ -335,7 +337,9 @@ Returns ``true`` if the ``AABB`` is flat or empty.
 
 - :ref:`bool<class_bool>` **has_point** **(** :ref:`Vector3<class_Vector3>` point **)** |const|
 
-Returns ``true`` if the ``AABB`` contains a point.
+Returns ``true`` if the ``AABB`` contains a point. Points on the faces of the AABB are considered included, though float-point precision errors may impact the accuracy of such checks.
+
+\ **Note:** This method is not reliable for ``AABB`` with a *negative size*. Use :ref:`abs<class_AABB_method_abs>` to get a positive sized equivalent ``AABB`` to check for contained points.
 
 ----
 
@@ -343,7 +347,7 @@ Returns ``true`` if the ``AABB`` contains a point.
 
 - :ref:`AABB<class_AABB>` **intersection** **(** :ref:`AABB<class_AABB>` with **)** |const|
 
-Returns the intersection between two ``AABB``. An empty AABB (size 0,0,0) is returned on failure.
+Returns the intersection between two ``AABB``. An empty AABB (size ``(0, 0, 0)``) is returned on failure.
 
 ----
 
@@ -404,7 +408,7 @@ Operator Descriptions
 
 Returns ``true`` if the vectors are not equal.
 
-**Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_AABB_method_is_equal_approx>` instead, which is more reliable.
+\ **Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_AABB_method_is_equal_approx>` instead, which is more reliable.
 
 ----
 
@@ -426,7 +430,7 @@ Inversely transforms (multiplies) the ``AABB`` by the given :ref:`Transform3D<cl
 
 Returns ``true`` if the AABBs are exactly equal.
 
-**Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_AABB_method_is_equal_approx>` instead, which is more reliable.
+\ **Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_AABB_method_is_equal_approx>` instead, which is more reliable.
 
 .. |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.)`

+ 20 - 20
classes/class_acceptdialog.rst

@@ -23,23 +23,23 @@ This dialog is useful for small notifications to the user about an event. It can
 Properties
 ----------
 
-+-----------------------------+-------------------------------------------------------------------------+----------------------------------+
-| :ref:`bool<class_bool>`     | :ref:`dialog_autowrap<class_AcceptDialog_property_dialog_autowrap>`     | ``false``                        |
-+-----------------------------+-------------------------------------------------------------------------+----------------------------------+
-| :ref:`bool<class_bool>`     | :ref:`dialog_hide_on_ok<class_AcceptDialog_property_dialog_hide_on_ok>` | ``true``                         |
-+-----------------------------+-------------------------------------------------------------------------+----------------------------------+
-| :ref:`String<class_String>` | :ref:`dialog_text<class_AcceptDialog_property_dialog_text>`             | ``""``                           |
-+-----------------------------+-------------------------------------------------------------------------+----------------------------------+
-| :ref:`bool<class_bool>`     | exclusive                                                               | ``true`` *(parent override)*     |
-+-----------------------------+-------------------------------------------------------------------------+----------------------------------+
-| :ref:`String<class_String>` | title                                                                   | ``"Alert!"`` *(parent override)* |
-+-----------------------------+-------------------------------------------------------------------------+----------------------------------+
-| :ref:`bool<class_bool>`     | transient                                                               | ``true`` *(parent override)*     |
-+-----------------------------+-------------------------------------------------------------------------+----------------------------------+
-| :ref:`bool<class_bool>`     | visible                                                                 | ``false`` *(parent override)*    |
-+-----------------------------+-------------------------------------------------------------------------+----------------------------------+
-| :ref:`bool<class_bool>`     | wrap_controls                                                           | ``true`` *(parent override)*     |
-+-----------------------------+-------------------------------------------------------------------------+----------------------------------+
++-----------------------------+-------------------------------------------------------------------------+-------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`     | :ref:`dialog_autowrap<class_AcceptDialog_property_dialog_autowrap>`     | ``false``                                                               |
++-----------------------------+-------------------------------------------------------------------------+-------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`     | :ref:`dialog_hide_on_ok<class_AcceptDialog_property_dialog_hide_on_ok>` | ``true``                                                                |
++-----------------------------+-------------------------------------------------------------------------+-------------------------------------------------------------------------+
+| :ref:`String<class_String>` | :ref:`dialog_text<class_AcceptDialog_property_dialog_text>`             | ``""``                                                                  |
++-----------------------------+-------------------------------------------------------------------------+-------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`     | exclusive                                                               | ``true`` (overrides :ref:`Window<class_Window_property_exclusive>`)     |
++-----------------------------+-------------------------------------------------------------------------+-------------------------------------------------------------------------+
+| :ref:`String<class_String>` | title                                                                   | ``"Alert!"`` (overrides :ref:`Window<class_Window_property_title>`)     |
++-----------------------------+-------------------------------------------------------------------------+-------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`     | transient                                                               | ``true`` (overrides :ref:`Window<class_Window_property_transient>`)     |
++-----------------------------+-------------------------------------------------------------------------+-------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`     | visible                                                                 | ``false`` (overrides :ref:`Window<class_Window_property_visible>`)      |
++-----------------------------+-------------------------------------------------------------------------+-------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`     | wrap_controls                                                           | ``true`` (overrides :ref:`Window<class_Window_property_wrap_controls>`) |
++-----------------------------+-------------------------------------------------------------------------+-------------------------------------------------------------------------+
 
 Methods
 -------
@@ -123,7 +123,7 @@ Sets autowrapping for the text in the dialog.
 
 If ``true``, the dialog is hidden when the OK button is pressed. You can set it to ``false`` if you want to do e.g. input validation when receiving the :ref:`confirmed<class_AcceptDialog_signal_confirmed>` signal, and handle hiding the dialog in your own logic.
 
-**Note:** Some nodes derived from this class can have a different default value, and potentially their own built-in logic overriding this setting. For example :ref:`FileDialog<class_FileDialog>` defaults to ``false``, and has its own input validation code that is called when you press OK, which eventually hides the dialog if the input is valid. As such, this property can't be used in :ref:`FileDialog<class_FileDialog>` to disable hiding the dialog when pressing OK.
+\ **Note:** Some nodes derived from this class can have a different default value, and potentially their own built-in logic overriding this setting. For example :ref:`FileDialog<class_FileDialog>` defaults to ``false``, and has its own input validation code that is called when you press OK, which eventually hides the dialog if the input is valid. As such, this property can't be used in :ref:`FileDialog<class_FileDialog>` to disable hiding the dialog when pressing OK.
 
 ----
 
@@ -172,7 +172,7 @@ You can use :ref:`remove_button<class_AcceptDialog_method_remove_button>` method
 
 Returns the label used for built-in text.
 
-**Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
+\ **Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
 
 ----
 
@@ -182,7 +182,7 @@ Returns the label used for built-in text.
 
 Returns the OK :ref:`Button<class_Button>` instance.
 
-**Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
+\ **Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
 
 ----
 

+ 2 - 2
classes/class_aescontext.rst

@@ -150,7 +150,7 @@ Close this AES context so it can be started again. See :ref:`start<class_AESCont
 
 Get the current IV state for this context (IV gets updated when calling :ref:`update<class_AESContext_method_update>`). You normally don't need this function.
 
-**Note:** This function only makes sense when the context is started with :ref:`MODE_CBC_ENCRYPT<class_AESContext_constant_MODE_CBC_ENCRYPT>` or :ref:`MODE_CBC_DECRYPT<class_AESContext_constant_MODE_CBC_DECRYPT>`.
+\ **Note:** This function only makes sense when the context is started with :ref:`MODE_CBC_ENCRYPT<class_AESContext_constant_MODE_CBC_ENCRYPT>` or :ref:`MODE_CBC_DECRYPT<class_AESContext_constant_MODE_CBC_DECRYPT>`.
 
 ----
 
@@ -168,7 +168,7 @@ Start the AES context in the given ``mode``. A ``key`` of either 16 or 32 bytes
 
 Run the desired operation for this AES context. Will return a :ref:`PackedByteArray<class_PackedByteArray>` containing the result of encrypting (or decrypting) the given ``src``. See :ref:`start<class_AESContext_method_start>` for mode of operation.
 
-**Note:** The size of ``src`` must be a multiple of 16. Apply some padding if needed.
+\ **Note:** The size of ``src`` must be a multiple of 16. Apply some padding if needed.
 
 .. |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 - 19
classes/class_animatedsprite2d.rst

@@ -18,7 +18,7 @@ Description
 
 Animations are created using a :ref:`SpriteFrames<class_SpriteFrames>` resource, which can be configured in the editor via the SpriteFrames panel.
 
-**Note:** You can associate a set of normal or specular maps by creating additional :ref:`SpriteFrames<class_SpriteFrames>` resources with a ``_normal`` or ``_specular`` suffix. For example, having 3 :ref:`SpriteFrames<class_SpriteFrames>` resources ``run``, ``run_normal``, and ``run_specular`` will make it so the ``run`` animation uses normal and specular maps.
+\ **Note:** You can associate a set of normal or specular maps by creating additional :ref:`SpriteFrames<class_SpriteFrames>` resources with a ``_normal`` or ``_specular`` suffix. For example, having 3 :ref:`SpriteFrames<class_SpriteFrames>` resources ``run``, ``run_normal``, and ``run_specular`` will make it so the ``run`` animation uses normal and specular maps.
 
 Tutorials
 ---------
@@ -53,13 +53,11 @@ Properties
 Methods
 -------
 
-+-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | :ref:`is_playing<class_AnimatedSprite2D_method_is_playing>` **(** **)** |const|                                                                   |
-+-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                    | :ref:`play<class_AnimatedSprite2D_method_play>` **(** :ref:`StringName<class_StringName>` anim=&"", :ref:`bool<class_bool>` backwards=false **)** |
-+-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                    | :ref:`stop<class_AnimatedSprite2D_method_stop>` **(** **)**                                                                                       |
-+-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
++------+---------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`play<class_AnimatedSprite2D_method_play>` **(** :ref:`StringName<class_StringName>` anim=&"", :ref:`bool<class_bool>` backwards=false **)** |
++------+---------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`stop<class_AnimatedSprite2D_method_stop>` **(** **)**                                                                                       |
++------+---------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -195,9 +193,13 @@ The texture's drawing offset.
 
 - :ref:`bool<class_bool>` **playing**
 
-+-----------+-----------+
-| *Default* | ``false`` |
-+-----------+-----------+
++-----------+--------------------+
+| *Default* | ``false``          |
++-----------+--------------------+
+| *Setter*  | set_playing(value) |
++-----------+--------------------+
+| *Getter*  | is_playing()       |
++-----------+--------------------+
 
 If ``true``, the :ref:`animation<class_AnimatedSprite2D_property_animation>` is currently playing.
 
@@ -220,14 +222,6 @@ The animation speed is multiplied by this value.
 Method Descriptions
 -------------------
 
-.. _class_AnimatedSprite2D_method_is_playing:
-
-- :ref:`bool<class_bool>` **is_playing** **(** **)** |const|
-
-Returns ``true`` if an animation is currently being played.
-
-----
-
 .. _class_AnimatedSprite2D_method_play:
 
 - void **play** **(** :ref:`StringName<class_StringName>` anim=&"", :ref:`bool<class_bool>` backwards=false **)**

+ 2 - 2
classes/class_animatedtexture.rst

@@ -20,9 +20,9 @@ Description
 
 The playback of the animation is controlled by the :ref:`fps<class_AnimatedTexture_property_fps>` property as well as each frame's optional delay (see :ref:`set_frame_delay<class_AnimatedTexture_method_set_frame_delay>`). The animation loops, i.e. it will restart at frame 0 automatically after playing the last frame.
 
-``AnimatedTexture`` currently requires all frame textures to have the same size, otherwise the bigger ones will be cropped to match the smallest one.
+\ ``AnimatedTexture`` currently requires all frame textures to have the same size, otherwise the bigger ones will be cropped to match the smallest one.
 
-**Note:** AnimatedTexture doesn't support using :ref:`AtlasTexture<class_AtlasTexture>`\ s. Each frame needs to be a separate :ref:`Texture2D<class_Texture2D>`.
+\ **Note:** AnimatedTexture doesn't support using :ref:`AtlasTexture<class_AtlasTexture>`\ s. Each frame needs to be a separate :ref:`Texture2D<class_Texture2D>`.
 
 Properties
 ----------

+ 3 - 3
classes/class_animation.rst

@@ -337,7 +337,7 @@ Property Descriptions
 
 The total length of the animation (in seconds).
 
-**Note:** Length is not delimited by the last key, as this one may be before or after the end to ensure correct interpolation and looping.
+\ **Note:** Length is not delimited by the last key, as this one may be before or after the end to ensure correct interpolation and looping.
 
 ----
 
@@ -440,7 +440,7 @@ Returns the audio stream of the key identified by ``key_idx``. The ``track_idx``
 
 Inserts an Audio Track key at the given ``time`` in seconds. The ``track_idx`` must be the index of an Audio Track.
 
-``stream`` is the :ref:`AudioStream<class_AudioStream>` resource to play. ``start_offset`` is the number of seconds cut off at the beginning of the audio stream, while ``end_offset`` is at the ending.
+\ ``stream`` is the :ref:`AudioStream<class_AudioStream>` resource to play. ``start_offset`` is the number of seconds cut off at the beginning of the audio stream, while ``end_offset`` is at the ending.
 
 ----
 
@@ -506,7 +506,7 @@ Returns the value of the key identified by ``key_idx``. The ``track_idx`` must b
 
 Inserts a Bezier Track key at the given ``time`` in seconds. The ``track_idx`` must be the index of a Bezier Track.
 
-``in_handle`` is the left-side weight of the added Bezier curve point, ``out_handle`` is the right-side one, while ``value`` is the actual value at this point.
+\ ``in_handle`` is the left-side weight of the added Bezier curve point, ``out_handle`` is the right-side one, while ``value`` is the actual value at this point.
 
 ----
 

+ 29 - 35
classes/class_animationnodeoneshot.rst

@@ -28,28 +28,21 @@ Tutorials
 Properties
 ----------
 
-+---------------------------+-----------------------------------------------------------------------------------------------+-----------+
-| :ref:`bool<class_bool>`   | :ref:`autorestart<class_AnimationNodeOneShot_property_autorestart>`                           | ``false`` |
-+---------------------------+-----------------------------------------------------------------------------------------------+-----------+
-| :ref:`float<class_float>` | :ref:`autorestart_delay<class_AnimationNodeOneShot_property_autorestart_delay>`               | ``1.0``   |
-+---------------------------+-----------------------------------------------------------------------------------------------+-----------+
-| :ref:`float<class_float>` | :ref:`autorestart_random_delay<class_AnimationNodeOneShot_property_autorestart_random_delay>` | ``0.0``   |
-+---------------------------+-----------------------------------------------------------------------------------------------+-----------+
-| :ref:`float<class_float>` | :ref:`fadein_time<class_AnimationNodeOneShot_property_fadein_time>`                           | ``0.1``   |
-+---------------------------+-----------------------------------------------------------------------------------------------+-----------+
-| :ref:`float<class_float>` | :ref:`fadeout_time<class_AnimationNodeOneShot_property_fadeout_time>`                         | ``0.1``   |
-+---------------------------+-----------------------------------------------------------------------------------------------+-----------+
-| :ref:`bool<class_bool>`   | :ref:`sync<class_AnimationNodeOneShot_property_sync>`                                         | ``false`` |
-+---------------------------+-----------------------------------------------------------------------------------------------+-----------+
-
-Methods
--------
-
-+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`MixMode<enum_AnimationNodeOneShot_MixMode>` | :ref:`get_mix_mode<class_AnimationNodeOneShot_method_get_mix_mode>` **(** **)** |const|                                                |
-+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
-| void                                              | :ref:`set_mix_mode<class_AnimationNodeOneShot_method_set_mix_mode>` **(** :ref:`MixMode<enum_AnimationNodeOneShot_MixMode>` mode **)** |
-+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
++---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
+| :ref:`bool<class_bool>`                           | :ref:`autorestart<class_AnimationNodeOneShot_property_autorestart>`                           | ``false`` |
++---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
+| :ref:`float<class_float>`                         | :ref:`autorestart_delay<class_AnimationNodeOneShot_property_autorestart_delay>`               | ``1.0``   |
++---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
+| :ref:`float<class_float>`                         | :ref:`autorestart_random_delay<class_AnimationNodeOneShot_property_autorestart_random_delay>` | ``0.0``   |
++---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
+| :ref:`float<class_float>`                         | :ref:`fadein_time<class_AnimationNodeOneShot_property_fadein_time>`                           | ``0.1``   |
++---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
+| :ref:`float<class_float>`                         | :ref:`fadeout_time<class_AnimationNodeOneShot_property_fadeout_time>`                         | ``0.1``   |
++---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
+| :ref:`MixMode<enum_AnimationNodeOneShot_MixMode>` | :ref:`mix_mode<class_AnimationNodeOneShot_property_mix_mode>`                                 | ``0``     |
++---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
+| :ref:`bool<class_bool>`                           | :ref:`sync<class_AnimationNodeOneShot_property_sync>`                                         | ``false`` |
++---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
 
 Enumerations
 ------------
@@ -145,6 +138,20 @@ If :ref:`autorestart<class_AnimationNodeOneShot_property_autorestart>` is ``true
 
 ----
 
+.. _class_AnimationNodeOneShot_property_mix_mode:
+
+- :ref:`MixMode<enum_AnimationNodeOneShot_MixMode>` **mix_mode**
+
++-----------+---------------------+
+| *Default* | ``0``               |
++-----------+---------------------+
+| *Setter*  | set_mix_mode(value) |
++-----------+---------------------+
+| *Getter*  | get_mix_mode()      |
++-----------+---------------------+
+
+----
+
 .. _class_AnimationNodeOneShot_property_sync:
 
 - :ref:`bool<class_bool>` **sync**
@@ -157,19 +164,6 @@ If :ref:`autorestart<class_AnimationNodeOneShot_property_autorestart>` is ``true
 | *Getter*  | is_using_sync()     |
 +-----------+---------------------+
 
-Method Descriptions
--------------------
-
-.. _class_AnimationNodeOneShot_method_get_mix_mode:
-
-- :ref:`MixMode<enum_AnimationNodeOneShot_MixMode>` **get_mix_mode** **(** **)** |const|
-
-----
-
-.. _class_AnimationNodeOneShot_method_set_mix_mode:
-
-- void **set_mix_mode** **(** :ref:`MixMode<enum_AnimationNodeOneShot_MixMode>` mode **)**
-
 .. |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_animationnodestatemachine.rst

@@ -18,7 +18,7 @@ Description
 
 Contains multiple nodes representing animation states, connected in a graph. Node transitions can be configured to happen automatically or via code, using a shortest-path algorithm. Retrieve the :ref:`AnimationNodeStateMachinePlayback<class_AnimationNodeStateMachinePlayback>` object from the :ref:`AnimationTree<class_AnimationTree>` node to control it programmatically.
 
-**Example:**
+\ **Example:**\ 
 
 
 .. tabs::

+ 4 - 4
classes/class_animationnodestatemachineplayback.rst

@@ -18,7 +18,7 @@ Description
 
 Allows control of :ref:`AnimationTree<class_AnimationTree>` state machines created with :ref:`AnimationNodeStateMachine<class_AnimationNodeStateMachine>`. Retrieve with ``$AnimationTree.get("parameters/playback")``.
 
-**Example:**
+\ **Example:**\ 
 
 
 .. tabs::
@@ -43,9 +43,9 @@ Tutorials
 Properties
 ----------
 
-+-------------------------+-------------------------+------------------------------+
-| :ref:`bool<class_bool>` | resource_local_to_scene | ``true`` *(parent override)* |
-+-------------------------+-------------------------+------------------------------+
++-------------------------+-------------------------+---------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | resource_local_to_scene | ``true`` (overrides :ref:`Resource<class_Resource_property_resource_local_to_scene>`) |
++-------------------------+-------------------------+---------------------------------------------------------------------------------------+
 
 Methods
 -------

+ 5 - 5
classes/class_animationplayer.rst

@@ -18,7 +18,7 @@ Description
 
 An animation player is used for general-purpose playback of :ref:`Animation<class_Animation>` resources. It contains a dictionary of animations (referenced by name) and custom blend times between their transitions. Additionally, animations can be played and blended in different channels.
 
-``AnimationPlayer`` is more suited than :ref:`Tween<class_Tween>` for animations where you know the final values in advance. For example, fading a screen in and out is more easily done with an ``AnimationPlayer`` node thanks to the animation tools provided by the editor. That particular example can also be implemented with a :ref:`Tween<class_Tween>` node, but it requires doing everything by code.
+\ ``AnimationPlayer`` is more suited than :ref:`Tween<class_Tween>` for animations where you know the final values in advance. For example, fading a screen in and out is more easily done with an ``AnimationPlayer`` node thanks to the animation tools provided by the editor. That particular example can also be implemented with a :ref:`Tween<class_Tween>` node, but it requires doing everything by code.
 
 Updating the target properties of animations occurs at process time.
 
@@ -118,7 +118,7 @@ Signals
 
 Emitted when a queued animation plays after the previous animation was finished. See :ref:`queue<class_AnimationPlayer_method_queue>`.
 
-**Note:** The signal is not emitted when the animation is changed via :ref:`play<class_AnimationPlayer_method_play>` or from :ref:`AnimationTree<class_AnimationTree>`.
+\ **Note:** The signal is not emitted when the animation is changed via :ref:`play<class_AnimationPlayer_method_play>` or from :ref:`AnimationTree<class_AnimationTree>`.
 
 ----
 
@@ -224,7 +224,7 @@ The name of the animation to play when the scene loads.
 
 The name of the currently playing animation. If no animation is playing, the property's value is an empty string. Changing this value does not restart the animation. See :ref:`play<class_AnimationPlayer_method_play>` for more information on playing animations.
 
-**Note:** while this property appears in the inspector, it's not meant to be edited, and it's not saved in the scene. This property is mainly used to get the currently playing animation, and internally for animation playback tracks. For more information, see :ref:`Animation<class_Animation>`.
+\ **Note:** while this property appears in the inspector, it's not meant to be edited, and it's not saved in the scene. This property is mainly used to get the currently playing animation, and internally for animation playback tracks. For more information, see :ref:`Animation<class_Animation>`.
 
 ----
 
@@ -485,7 +485,7 @@ Plays the animation with key ``name``. Custom blend times and speed can be set.
 
 The ``AnimationPlayer`` keeps track of its current or last played animation with :ref:`assigned_animation<class_AnimationPlayer_property_assigned_animation>`. If this method is called with that same animation ``name``, or with no ``name`` parameter, the assigned animation will resume playing if it was paused, or restart if it was stopped (see :ref:`stop<class_AnimationPlayer_method_stop>` for both pause and stop). If the animation was already playing, it will keep playing.
 
-**Note:** The animation will be updated the next time the ``AnimationPlayer`` is processed. If other variables are updated at the same time this is called, they may be updated too early. To perform the update immediately, call ``advance(0)``.
+\ **Note:** The animation will be updated the next time the ``AnimationPlayer`` is processed. If other variables are updated at the same time this is called, they may be updated too early. To perform the update immediately, call ``advance(0)``.
 
 ----
 
@@ -505,7 +505,7 @@ This method is a shorthand for :ref:`play<class_AnimationPlayer_method_play>` wi
 
 Queues an animation for playback once the current one is done.
 
-**Note:** If a looped animation is currently playing, the queued animation will never play unless the looped animation is stopped somehow.
+\ **Note:** If a looped animation is currently playing, the queued animation will never play unless the looped animation is stopped somehow.
 
 ----
 

+ 1 - 1
classes/class_animationtree.rst

@@ -18,7 +18,7 @@ Description
 
 A node to be used for advanced animation transitions in an :ref:`AnimationPlayer<class_AnimationPlayer>`.
 
-**Note:** When linked with an :ref:`AnimationPlayer<class_AnimationPlayer>`, several properties and methods of the corresponding :ref:`AnimationPlayer<class_AnimationPlayer>` will not function as expected. Playback and transitions should be handled using only the ``AnimationTree`` and its constituent :ref:`AnimationNode<class_AnimationNode>`\ (s). The :ref:`AnimationPlayer<class_AnimationPlayer>` node should be used solely for adding, deleting, and editing animations.
+\ **Note:** When linked with an :ref:`AnimationPlayer<class_AnimationPlayer>`, several properties and methods of the corresponding :ref:`AnimationPlayer<class_AnimationPlayer>` will not function as expected. Playback and transitions should be handled using only the ``AnimationTree`` and its constituent :ref:`AnimationNode<class_AnimationNode>`\ (s). The :ref:`AnimationPlayer<class_AnimationPlayer>` node should be used solely for adding, deleting, and editing animations.
 
 Tutorials
 ---------

+ 22 - 22
classes/class_area2d.rst

@@ -86,7 +86,7 @@ Signals
 
 Emitted when another Area2D enters this Area2D. Requires :ref:`monitoring<class_Area2D_property_monitoring>` to be set to ``true``.
 
-``area`` the other Area2D.
+\ ``area`` the other Area2D.
 
 ----
 
@@ -96,7 +96,7 @@ Emitted when another Area2D enters this Area2D. Requires :ref:`monitoring<class_
 
 Emitted when another Area2D exits this Area2D. Requires :ref:`monitoring<class_Area2D_property_monitoring>` to be set to ``true``.
 
-``area`` the other Area2D.
+\ ``area`` the other Area2D.
 
 ----
 
@@ -106,13 +106,13 @@ Emitted when another Area2D exits this Area2D. Requires :ref:`monitoring<class_A
 
 Emitted when one of another Area2D's :ref:`Shape2D<class_Shape2D>`\ s enters one of this Area2D's :ref:`Shape2D<class_Shape2D>`\ s. Requires :ref:`monitoring<class_Area2D_property_monitoring>` to be set to ``true``.
 
-``area_rid`` the :ref:`RID<class_RID>` of the other Area2D's :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+\ ``area_rid`` the :ref:`RID<class_RID>` of the other Area2D's :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
 
-``area`` the other Area2D.
+\ ``area`` the other Area2D.
 
-``area_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the other Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``area.shape_owner_get_owner(area_shape_index)``.
+\ ``area_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the other Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``area.shape_owner_get_owner(area_shape_index)``.
 
-``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
+\ ``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 ----
 
@@ -122,13 +122,13 @@ Emitted when one of another Area2D's :ref:`Shape2D<class_Shape2D>`\ s enters one
 
 Emitted when one of another Area2D's :ref:`Shape2D<class_Shape2D>`\ s exits one of this Area2D's :ref:`Shape2D<class_Shape2D>`\ s. Requires :ref:`monitoring<class_Area2D_property_monitoring>` to be set to ``true``.
 
-``area_rid`` the :ref:`RID<class_RID>` of the other Area2D's :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+\ ``area_rid`` the :ref:`RID<class_RID>` of the other Area2D's :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
 
-``area`` the other Area2D.
+\ ``area`` the other Area2D.
 
-``area_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the other Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``area.shape_owner_get_owner(area_shape_index)``.
+\ ``area_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the other Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``area.shape_owner_get_owner(area_shape_index)``.
 
-``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
+\ ``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 ----
 
@@ -138,7 +138,7 @@ Emitted when one of another Area2D's :ref:`Shape2D<class_Shape2D>`\ s exits one
 
 Emitted when a :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>` enters this Area2D. Requires :ref:`monitoring<class_Area2D_property_monitoring>` to be set to ``true``. :ref:`TileMap<class_TileMap>`\ s are detected if the :ref:`TileSet<class_TileSet>` has Collision :ref:`Shape2D<class_Shape2D>`\ s.
 
-``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`.
+\ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`.
 
 ----
 
@@ -148,7 +148,7 @@ Emitted when a :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_
 
 Emitted when a :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>` exits this Area2D. Requires :ref:`monitoring<class_Area2D_property_monitoring>` to be set to ``true``. :ref:`TileMap<class_TileMap>`\ s are detected if the :ref:`TileSet<class_TileSet>` has Collision :ref:`Shape2D<class_Shape2D>`\ s.
 
-``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`.
+\ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`.
 
 ----
 
@@ -158,13 +158,13 @@ Emitted when a :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_
 
 Emitted when one of a :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`'s :ref:`Shape2D<class_Shape2D>`\ s enters one of this Area2D's :ref:`Shape2D<class_Shape2D>`\ s. Requires :ref:`monitoring<class_Area2D_property_monitoring>` to be set to ``true``. :ref:`TileMap<class_TileMap>`\ s are detected if the :ref:`TileSet<class_TileSet>` has Collision :ref:`Shape2D<class_Shape2D>`\ s.
 
-``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileSet<class_TileSet>`'s :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+\ ``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileSet<class_TileSet>`'s :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
 
-``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`.
+\ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`.
 
-``body_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``body.shape_owner_get_owner(body_shape_index)``.
+\ ``body_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``body.shape_owner_get_owner(body_shape_index)``.
 
-``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
+\ ``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 ----
 
@@ -174,13 +174,13 @@ Emitted when one of a :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap
 
 Emitted when one of a :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`'s :ref:`Shape2D<class_Shape2D>`\ s exits one of this Area2D's :ref:`Shape2D<class_Shape2D>`\ s. Requires :ref:`monitoring<class_Area2D_property_monitoring>` to be set to ``true``. :ref:`TileMap<class_TileMap>`\ s are detected if the :ref:`TileSet<class_TileSet>` has Collision :ref:`Shape2D<class_Shape2D>`\ s.
 
-``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileSet<class_TileSet>`'s :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+\ ``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileSet<class_TileSet>`'s :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
 
-``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`.
+\ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`.
 
-``body_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``body.shape_owner_get_owner(body_shape_index)``.
+\ ``body_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``body.shape_owner_get_owner(body_shape_index)``.
 
-``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
+\ ``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 Enumerations
 ------------
@@ -483,7 +483,7 @@ For performance reasons (collisions are all processed at the same time) this lis
 
 If ``true``, the given area overlaps the Area2D.
 
-**Note:** The result of this test is not immediate after moving objects. For performance, the list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+\ **Note:** The result of this test is not immediate after moving objects. For performance, the list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
 
 ----
 
@@ -493,7 +493,7 @@ If ``true``, the given area overlaps the Area2D.
 
 If ``true``, the given physics body overlaps the Area2D.
 
-**Note:** The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+\ **Note:** The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
 
 The ``body`` argument can either be a :ref:`PhysicsBody2D<class_PhysicsBody2D>` or a :ref:`TileMap<class_TileMap>` instance (while TileMaps are not physics bodies themselves, they register their tiles with collision shapes as a virtual physics body).
 

+ 22 - 22
classes/class_area3d.rst

@@ -96,7 +96,7 @@ Signals
 
 Emitted when another Area3D enters this Area3D. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``.
 
-``area`` the other Area3D.
+\ ``area`` the other Area3D.
 
 ----
 
@@ -106,7 +106,7 @@ Emitted when another Area3D enters this Area3D. Requires :ref:`monitoring<class_
 
 Emitted when another Area3D exits this Area3D. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``.
 
-``area`` the other Area3D.
+\ ``area`` the other Area3D.
 
 ----
 
@@ -116,13 +116,13 @@ Emitted when another Area3D exits this Area3D. Requires :ref:`monitoring<class_A
 
 Emitted when one of another Area3D's :ref:`Shape3D<class_Shape3D>`\ s enters one of this Area3D's :ref:`Shape3D<class_Shape3D>`\ s. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``.
 
-``area_rid`` the :ref:`RID<class_RID>` of the other Area3D's :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+\ ``area_rid`` the :ref:`RID<class_RID>` of the other Area3D's :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
 
-``area`` the other Area3D.
+\ ``area`` the other Area3D.
 
-``area_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the other Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``area.shape_owner_get_owner(area_shape_index)``.
+\ ``area_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the other Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``area.shape_owner_get_owner(area_shape_index)``.
 
-``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
+\ ``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 ----
 
@@ -132,13 +132,13 @@ Emitted when one of another Area3D's :ref:`Shape3D<class_Shape3D>`\ s enters one
 
 Emitted when one of another Area3D's :ref:`Shape3D<class_Shape3D>`\ s exits one of this Area3D's :ref:`Shape3D<class_Shape3D>`\ s. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``.
 
-``area_rid`` the :ref:`RID<class_RID>` of the other Area3D's :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+\ ``area_rid`` the :ref:`RID<class_RID>` of the other Area3D's :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
 
-``area`` the other Area3D.
+\ ``area`` the other Area3D.
 
-``area_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the other Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``area.shape_owner_get_owner(area_shape_index)``.
+\ ``area_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the other Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``area.shape_owner_get_owner(area_shape_index)``.
 
-``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
+\ ``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 ----
 
@@ -148,7 +148,7 @@ Emitted when one of another Area3D's :ref:`Shape3D<class_Shape3D>`\ s exits one
 
 Emitted when a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>` enters this Area3D. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``. :ref:`GridMap<class_GridMap>`\ s are detected if the :ref:`MeshLibrary<class_MeshLibrary>` has Collision :ref:`Shape3D<class_Shape3D>`\ s.
 
-``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
+\ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
 
 ----
 
@@ -158,7 +158,7 @@ Emitted when a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_
 
 Emitted when a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>` exits this Area3D. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``. :ref:`GridMap<class_GridMap>`\ s are detected if the :ref:`MeshLibrary<class_MeshLibrary>` has Collision :ref:`Shape3D<class_Shape3D>`\ s.
 
-``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
+\ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
 
 ----
 
@@ -168,13 +168,13 @@ Emitted when a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_
 
 Emitted when one of a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`'s :ref:`Shape3D<class_Shape3D>`\ s enters one of this Area3D's :ref:`Shape3D<class_Shape3D>`\ s. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``. :ref:`GridMap<class_GridMap>`\ s are detected if the :ref:`MeshLibrary<class_MeshLibrary>` has Collision :ref:`Shape3D<class_Shape3D>`\ s.
 
-``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`MeshLibrary<class_MeshLibrary>`'s :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+\ ``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`MeshLibrary<class_MeshLibrary>`'s :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
 
-``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
+\ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
 
-``body_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``body.shape_owner_get_owner(body_shape_index)``.
+\ ``body_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``body.shape_owner_get_owner(body_shape_index)``.
 
-``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
+\ ``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 ----
 
@@ -184,13 +184,13 @@ Emitted when one of a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap
 
 Emitted when one of a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`'s :ref:`Shape3D<class_Shape3D>`\ s enters one of this Area3D's :ref:`Shape3D<class_Shape3D>`\ s. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``. :ref:`GridMap<class_GridMap>`\ s are detected if the :ref:`MeshLibrary<class_MeshLibrary>` has Collision :ref:`Shape3D<class_Shape3D>`\ s.
 
-``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`MeshLibrary<class_MeshLibrary>`'s :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+\ ``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`MeshLibrary<class_MeshLibrary>`'s :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
 
-``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
+\ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
 
-``body_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``body.shape_owner_get_owner(body_shape_index)``.
+\ ``body_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``body.shape_owner_get_owner(body_shape_index)``.
 
-``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
+\ ``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 Enumerations
 ------------
@@ -605,7 +605,7 @@ For performance reasons (collisions are all processed at the same time) this lis
 
 If ``true``, the given area overlaps the Area3D.
 
-**Note:** The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+\ **Note:** The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
 
 ----
 
@@ -615,7 +615,7 @@ If ``true``, the given area overlaps the Area3D.
 
 If ``true``, the given physics body overlaps the Area3D.
 
-**Note:** The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+\ **Note:** The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
 
 The ``body`` argument can either be a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or a :ref:`GridMap<class_GridMap>` instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
 

+ 115 - 99
classes/class_array.rst

@@ -16,7 +16,7 @@ Description
 
 A generic array that can contain several elements of any type, accessible by a numerical index starting at 0. Negative indices can be used to count from the back, like in Python (-1 is the last element, -2 is the second to last, etc.).
 
-**Example:**
+\ **Example:**\ 
 
 
 .. tabs::
@@ -61,11 +61,11 @@ Arrays can be concatenated using the ``+`` operator:
 
 
 
-**Note:** Concatenating with the ``+=`` operator will create a new array, which has a cost. If you want to append another array to an existing array, :ref:`append_array<class_Array_method_append_array>` is more efficient.
+\ **Note:** Concatenating with the ``+=`` operator will create a new array, which has a cost. If you want to append another array to an existing array, :ref:`append_array<class_Array_method_append_array>` is more efficient.
 
-**Note:** Arrays are always passed by reference. To get a copy of an array that can be modified independently of the original array, use :ref:`duplicate<class_Array_method_duplicate>`.
+\ **Note:** Arrays are always passed by reference. To get a copy of an array that can be modified independently of the original array, use :ref:`duplicate<class_Array_method_duplicate>`.
 
-**Note:** When declaring an array with ``const``, the array itself can still be mutated by defining the values at individual indices or pushing/removing elements. Using ``const`` will only prevent assigning the constant with another value after it was initialized.
+\ **Note:** When declaring an array with ``const``, the array itself can still be mutated by defining the values at individual indices or pushing/removing elements. Using ``const`` will only prevent assigning the constant with another value after it was initialized.
 
 Constructors
 ------------
@@ -97,79 +97,79 @@ Constructors
 Methods
 -------
 
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                          | :ref:`append<class_Array_method_append>` **(** :ref:`Variant<class_Variant>` value **)**                                                                                            |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                          | :ref:`append_array<class_Array_method_append_array>` **(** :ref:`Array<class_Array>` array **)**                                                                                    |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>` | :ref:`back<class_Array_method_back>` **(** **)** |const|                                                                                                                            |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`         | :ref:`bsearch<class_Array_method_bsearch>` **(** :ref:`Variant<class_Variant>` value, :ref:`bool<class_bool>` before=true **)**                                                     |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`         | :ref:`bsearch_custom<class_Array_method_bsearch_custom>` **(** :ref:`Variant<class_Variant>` value, :ref:`Callable<class_Callable>` func, :ref:`bool<class_bool>` before=true **)** |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                          | :ref:`clear<class_Array_method_clear>` **(** **)**                                                                                                                                  |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`         | :ref:`count<class_Array_method_count>` **(** :ref:`Variant<class_Variant>` value **)** |const|                                                                                      |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | :ref:`duplicate<class_Array_method_duplicate>` **(** :ref:`bool<class_bool>` deep=false **)** |const|                                                                               |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                          | :ref:`erase<class_Array_method_erase>` **(** :ref:`Variant<class_Variant>` value **)**                                                                                              |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                          | :ref:`fill<class_Array_method_fill>` **(** :ref:`Variant<class_Variant>` value **)**                                                                                                |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | :ref:`filter<class_Array_method_filter>` **(** :ref:`Callable<class_Callable>` method **)** |const|                                                                                 |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`         | :ref:`find<class_Array_method_find>` **(** :ref:`Variant<class_Variant>` what, :ref:`int<class_int>` from=0 **)** |const|                                                           |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`         | :ref:`find_last<class_Array_method_find_last>` **(** :ref:`Variant<class_Variant>` value **)** |const|                                                                              |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>` | :ref:`front<class_Array_method_front>` **(** **)** |const|                                                                                                                          |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | :ref:`has<class_Array_method_has>` **(** :ref:`Variant<class_Variant>` value **)** |const|                                                                                          |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`         | :ref:`hash<class_Array_method_hash>` **(** **)** |const|                                                                                                                            |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`         | :ref:`insert<class_Array_method_insert>` **(** :ref:`int<class_int>` position, :ref:`Variant<class_Variant>` value **)**                                                            |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | :ref:`is_empty<class_Array_method_is_empty>` **(** **)** |const|                                                                                                                    |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | :ref:`map<class_Array_method_map>` **(** :ref:`Callable<class_Callable>` method **)** |const|                                                                                       |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>` | :ref:`max<class_Array_method_max>` **(** **)** |const|                                                                                                                              |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>` | :ref:`min<class_Array_method_min>` **(** **)** |const|                                                                                                                              |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>` | :ref:`pop_at<class_Array_method_pop_at>` **(** :ref:`int<class_int>` position **)**                                                                                                 |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>` | :ref:`pop_back<class_Array_method_pop_back>` **(** **)**                                                                                                                            |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>` | :ref:`pop_front<class_Array_method_pop_front>` **(** **)**                                                                                                                          |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                          | :ref:`push_back<class_Array_method_push_back>` **(** :ref:`Variant<class_Variant>` value **)**                                                                                      |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                          | :ref:`push_front<class_Array_method_push_front>` **(** :ref:`Variant<class_Variant>` value **)**                                                                                    |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>` | :ref:`reduce<class_Array_method_reduce>` **(** :ref:`Callable<class_Callable>` method, :ref:`Variant<class_Variant>` accum=null **)** |const|                                       |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                          | :ref:`remove<class_Array_method_remove>` **(** :ref:`int<class_int>` position **)**                                                                                                 |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`         | :ref:`resize<class_Array_method_resize>` **(** :ref:`int<class_int>` size **)**                                                                                                     |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                          | :ref:`reverse<class_Array_method_reverse>` **(** **)**                                                                                                                              |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`         | :ref:`rfind<class_Array_method_rfind>` **(** :ref:`Variant<class_Variant>` what, :ref:`int<class_int>` from=-1 **)** |const|                                                        |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                          | :ref:`shuffle<class_Array_method_shuffle>` **(** **)**                                                                                                                              |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`         | :ref:`size<class_Array_method_size>` **(** **)** |const|                                                                                                                            |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | :ref:`slice<class_Array_method_slice>` **(** :ref:`int<class_int>` begin, :ref:`int<class_int>` end, :ref:`int<class_int>` step=1, :ref:`bool<class_bool>` deep=false **)** |const| |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                          | :ref:`sort<class_Array_method_sort>` **(** **)**                                                                                                                                    |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                          | :ref:`sort_custom<class_Array_method_sort_custom>` **(** :ref:`Callable<class_Callable>` func **)**                                                                                 |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`append<class_Array_method_append>` **(** :ref:`Variant<class_Variant>` value **)**                                                                                                       |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`append_array<class_Array_method_append_array>` **(** :ref:`Array<class_Array>` array **)**                                                                                               |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>` | :ref:`back<class_Array_method_back>` **(** **)** |const|                                                                                                                                       |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`bsearch<class_Array_method_bsearch>` **(** :ref:`Variant<class_Variant>` value, :ref:`bool<class_bool>` before=true **)**                                                                |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`bsearch_custom<class_Array_method_bsearch_custom>` **(** :ref:`Variant<class_Variant>` value, :ref:`Callable<class_Callable>` func, :ref:`bool<class_bool>` before=true **)**            |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`clear<class_Array_method_clear>` **(** **)**                                                                                                                                             |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`count<class_Array_method_count>` **(** :ref:`Variant<class_Variant>` value **)** |const|                                                                                                 |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`     | :ref:`duplicate<class_Array_method_duplicate>` **(** :ref:`bool<class_bool>` deep=false **)** |const|                                                                                          |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`erase<class_Array_method_erase>` **(** :ref:`Variant<class_Variant>` value **)**                                                                                                         |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`fill<class_Array_method_fill>` **(** :ref:`Variant<class_Variant>` value **)**                                                                                                           |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`     | :ref:`filter<class_Array_method_filter>` **(** :ref:`Callable<class_Callable>` method **)** |const|                                                                                            |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`find<class_Array_method_find>` **(** :ref:`Variant<class_Variant>` what, :ref:`int<class_int>` from=0 **)** |const|                                                                      |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`find_last<class_Array_method_find_last>` **(** :ref:`Variant<class_Variant>` value **)** |const|                                                                                         |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>` | :ref:`front<class_Array_method_front>` **(** **)** |const|                                                                                                                                     |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`has<class_Array_method_has>` **(** :ref:`Variant<class_Variant>` value **)** |const|                                                                                                     |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`hash<class_Array_method_hash>` **(** **)** |const|                                                                                                                                       |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`insert<class_Array_method_insert>` **(** :ref:`int<class_int>` position, :ref:`Variant<class_Variant>` value **)**                                                                       |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`is_empty<class_Array_method_is_empty>` **(** **)** |const|                                                                                                                               |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`     | :ref:`map<class_Array_method_map>` **(** :ref:`Callable<class_Callable>` method **)** |const|                                                                                                  |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>` | :ref:`max<class_Array_method_max>` **(** **)** |const|                                                                                                                                         |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>` | :ref:`min<class_Array_method_min>` **(** **)** |const|                                                                                                                                         |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>` | :ref:`pop_at<class_Array_method_pop_at>` **(** :ref:`int<class_int>` position **)**                                                                                                            |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>` | :ref:`pop_back<class_Array_method_pop_back>` **(** **)**                                                                                                                                       |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>` | :ref:`pop_front<class_Array_method_pop_front>` **(** **)**                                                                                                                                     |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`push_back<class_Array_method_push_back>` **(** :ref:`Variant<class_Variant>` value **)**                                                                                                 |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`push_front<class_Array_method_push_front>` **(** :ref:`Variant<class_Variant>` value **)**                                                                                               |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>` | :ref:`reduce<class_Array_method_reduce>` **(** :ref:`Callable<class_Callable>` method, :ref:`Variant<class_Variant>` accum=null **)** |const|                                                  |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`remove_at<class_Array_method_remove_at>` **(** :ref:`int<class_int>` position **)**                                                                                                      |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`resize<class_Array_method_resize>` **(** :ref:`int<class_int>` size **)**                                                                                                                |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`reverse<class_Array_method_reverse>` **(** **)**                                                                                                                                         |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`rfind<class_Array_method_rfind>` **(** :ref:`Variant<class_Variant>` what, :ref:`int<class_int>` from=-1 **)** |const|                                                                   |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`shuffle<class_Array_method_shuffle>` **(** **)**                                                                                                                                         |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`size<class_Array_method_size>` **(** **)** |const|                                                                                                                                       |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`     | :ref:`slice<class_Array_method_slice>` **(** :ref:`int<class_int>` begin, :ref:`int<class_int>` end=2147483647, :ref:`int<class_int>` step=1, :ref:`bool<class_bool>` deep=false **)** |const| |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`sort<class_Array_method_sort>` **(** **)**                                                                                                                                               |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`sort_custom<class_Array_method_sort_custom>` **(** :ref:`Callable<class_Callable>` func **)**                                                                                            |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Operators
 ---------
@@ -297,7 +297,7 @@ Appends another array at the end of this array.
 
 Returns the last element of the array. Prints an error and returns ``null`` if the array is empty.
 
-**Note:** Calling this function is not the same as writing ``array[-1]``. If the array is empty, accessing by index will pause project execution when running from the editor.
+\ **Note:** Calling this function is not the same as writing ``array[-1]``. If the array is empty, accessing by index will pause project execution when running from the editor.
 
 ----
 
@@ -307,7 +307,7 @@ Returns the last element of the array. Prints an error and returns ``null`` if t
 
 Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a ``before`` specifier can be passed. If ``false``, the returned index comes after all existing entries of the value in the array.
 
-**Note:** Calling :ref:`bsearch<class_Array_method_bsearch>` on an unsorted array results in unexpected behavior.
+\ **Note:** Calling :ref:`bsearch<class_Array_method_bsearch>` on an unsorted array results in unexpected behavior.
 
 ----
 
@@ -317,7 +317,7 @@ Finds the index of an existing value (or the insertion index that maintains sort
 
 Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search and a custom comparison method. Optionally, a ``before`` specifier can be passed. If ``false``, the returned index comes after all existing entries of the value in the array. The custom method receives two arguments (an element from the array and the value searched for) and must return ``true`` if the first argument is less than the second, and return ``false`` otherwise.
 
-**Note:** Calling :ref:`bsearch_custom<class_Array_method_bsearch_custom>` on an unsorted array results in unexpected behavior.
+\ **Note:** Calling :ref:`bsearch_custom<class_Array_method_bsearch_custom>` on an unsorted array results in unexpected behavior.
 
 ----
 
@@ -351,11 +351,11 @@ If ``deep`` is ``true``, a deep copy is performed: all nested arrays and diction
 
 - void **erase** **(** :ref:`Variant<class_Variant>` value **)**
 
-Removes the first occurrence of a value from the array. To remove an element by index, use :ref:`remove<class_Array_method_remove>` instead.
+Removes the first occurrence of a value from the array. To remove an element by index, use :ref:`remove_at<class_Array_method_remove_at>` instead.
 
-**Note:** This method acts in-place and doesn't return a value.
+\ **Note:** This method acts in-place and doesn't return a value.
 
-**Note:** On large arrays, this method will be slower if the removed element is close to the beginning of the array (index 0). This is because all elements placed after the removed element have to be reindexed.
+\ **Note:** On large arrays, this method will be slower if the removed element is close to the beginning of the array (index 0). This is because all elements placed after the removed element have to be reindexed.
 
 ----
 
@@ -425,7 +425,7 @@ Searches the array in reverse order for a value and returns its index or ``-1``
 
 Returns the first element of the array. Prints an error and returns ``null`` if the array is empty.
 
-**Note:** Calling this function is not the same as writing ``array[0]``. If the array is empty, accessing by index will pause project execution when running from the editor.
+\ **Note:** Calling this function is not the same as writing ``array[0]``. If the array is empty, accessing by index will pause project execution when running from the editor.
 
 ----
 
@@ -458,7 +458,7 @@ Returns ``true`` if the array contains the given value.
 
 
 
-**Note:** This is equivalent to using the ``in`` operator as follows:
+\ **Note:** This is equivalent to using the ``in`` operator as follows:
 
 
 .. tabs::
@@ -488,7 +488,7 @@ Returns ``true`` if the array contains the given value.
 
 Returns a hashed integer value representing the array and its contents.
 
-**Note:** Arrays with equal contents can still produce different hashes. Only the exact same arrays will produce the same hashed integer value.
+\ **Note:** Arrays with equal contents can still produce different hashes. Only the exact same arrays will produce the same hashed integer value.
 
 ----
 
@@ -498,9 +498,9 @@ Returns a hashed integer value representing the array and its contents.
 
 Inserts a new element at a given position in the array. The position must be valid, or at the end of the array (``pos == size()``).
 
-**Note:** This method acts in-place and doesn't return a value.
+\ **Note:** This method acts in-place and doesn't return a value.
 
-**Note:** On large arrays, this method will be slower if the inserted element is close to the beginning of the array (index 0). This is because all elements placed after the newly inserted element have to be reindexed.
+\ **Note:** On large arrays, this method will be slower if the inserted element is close to the beginning of the array (index 0). This is because all elements placed after the newly inserted element have to be reindexed.
 
 ----
 
@@ -553,7 +553,7 @@ Returns the minimum value contained in the array if all elements are of comparab
 
 Removes and returns the element of the array at index ``position``. If negative, ``position`` is considered relative to the end of the array. Leaves the array untouched and returns ``null`` if the array is empty or if it's accessed out of bounds. An error message is printed when the array is accessed out of bounds, but not when the array is empty.
 
-**Note:** On large arrays, this method can be slower than :ref:`pop_back<class_Array_method_pop_back>` as it will reindex the array's elements that are located after the removed element. The larger the array and the lower the index of the removed element, the slower :ref:`pop_at<class_Array_method_pop_at>` will be.
+\ **Note:** On large arrays, this method can be slower than :ref:`pop_back<class_Array_method_pop_back>` as it will reindex the array's elements that are located after the removed element. The larger the array and the lower the index of the removed element, the slower :ref:`pop_at<class_Array_method_pop_at>` will be.
 
 ----
 
@@ -571,7 +571,7 @@ Removes and returns the last element of the array. Returns ``null`` if the array
 
 Removes and returns the first element of the array. Returns ``null`` if the array is empty, without printing an error message. See also :ref:`pop_back<class_Array_method_pop_back>`.
 
-**Note:** On large arrays, this method is much slower than :ref:`pop_back<class_Array_method_pop_back>` as it will reindex all the array's elements every time it's called. The larger the array, the slower :ref:`pop_front<class_Array_method_pop_front>` will be.
+\ **Note:** On large arrays, this method is much slower than :ref:`pop_back<class_Array_method_pop_back>` as it will reindex all the array's elements every time it's called. The larger the array, the slower :ref:`pop_front<class_Array_method_pop_front>` will be.
 
 ----
 
@@ -589,7 +589,7 @@ Appends an element at the end of the array. See also :ref:`push_front<class_Arra
 
 Adds an element at the beginning of the array. See also :ref:`push_back<class_Array_method_push_back>`.
 
-**Note:** On large arrays, this method is much slower than :ref:`push_back<class_Array_method_push_back>` as it will reindex all the array's elements every time it's called. The larger the array, the slower :ref:`push_front<class_Array_method_push_front>` will be.
+\ **Note:** On large arrays, this method is much slower than :ref:`push_back<class_Array_method_push_back>` as it will reindex all the array's elements every time it's called. The larger the array, the slower :ref:`push_front<class_Array_method_push_front>` will be.
 
 ----
 
@@ -612,15 +612,15 @@ The callable's method takes two arguments: the current value of ``accum`` and th
 
 ----
 
-.. _class_Array_method_remove:
+.. _class_Array_method_remove_at:
 
-- void **remove** **(** :ref:`int<class_int>` position **)**
+- void **remove_at** **(** :ref:`int<class_int>` position **)**
 
 Removes an element from the array by index. If the index does not exist in the array, nothing happens. To remove an element by searching for its value, use :ref:`erase<class_Array_method_erase>` instead.
 
-**Note:** This method acts in-place and doesn't return a value.
+\ **Note:** This method acts in-place and doesn't return a value.
 
-**Note:** On large arrays, this method will be slower if the removed element is close to the beginning of the array (index 0). This is because all elements placed after the removed element have to be reindexed.
+\ **Note:** On large arrays, this method will be slower if the removed element is close to the beginning of the array (index 0). This is because all elements placed after the removed element have to be reindexed.
 
 ----
 
@@ -666,9 +666,17 @@ Returns the number of elements in the array.
 
 .. _class_Array_method_slice:
 
-- :ref:`Array<class_Array>` **slice** **(** :ref:`int<class_int>` begin, :ref:`int<class_int>` end, :ref:`int<class_int>` step=1, :ref:`bool<class_bool>` deep=false **)** |const|
+- :ref:`Array<class_Array>` **slice** **(** :ref:`int<class_int>` begin, :ref:`int<class_int>` end=2147483647, :ref:`int<class_int>` step=1, :ref:`bool<class_bool>` deep=false **)** |const|
 
-Duplicates the subset described in the function and returns it in an array, deeply copying the array if ``deep`` is ``true``. Lower and upper index are inclusive, with the ``step`` describing the change between indices while slicing. Wraps around if ``begin`` or ``end`` are out of bounds or negative. Returns an empty array for invalid parameters.
+Returns the slice of the ``Array``, from ``begin`` (inclusive) to ``end`` (exclusive), as a new ``Array``.
+
+The absolute value of ``begin`` and ``end`` will be clamped to the array size, so the default value for ``end`` makes it slice to the size of the array by default (i.e. ``arr.slice(1)`` is a shorthand for ``arr.slice(1, arr.size())``).
+
+If either ``begin`` or ``end`` are negative, they will be relative to the end of the array (i.e. ``arr.slice(0, -2)`` is a shorthand for ``arr.slice(0, arr.size() - 2)``).
+
+If specified, ``step`` is the relative index between source elements. It can be negative, then ``begin`` must be higher than ``end``. For example, ``[0, 1, 2, 3, 4, 5].slice(5, 1, -2)`` returns ``[5, 3]``).
+
+If ``deep`` is true, each element will be copied by value rather than by reference.
 
 ----
 
@@ -678,7 +686,7 @@ Duplicates the subset described in the function and returns it in an array, deep
 
 Sorts the array.
 
-**Note:** Strings are sorted in alphabetical order (as opposed to natural order). This may lead to unexpected behavior when sorting an array of strings ending with a sequence of numbers. Consider the following example:
+\ **Note:** Strings are sorted in alphabetical order (as opposed to natural order). This may lead to unexpected behavior when sorting an array of strings ending with a sequence of numbers. Consider the following example:
 
 
 .. tabs::
@@ -695,6 +703,14 @@ Sorts the array.
 
 
 
+To perform natural order sorting, you can use :ref:`sort_custom<class_Array_method_sort_custom>` with :ref:`String.naturalnocasecmp_to<class_String_method_naturalnocasecmp_to>` as follows:
+
+::
+
+    var strings = ["string1", "string2", "string10", "string11"]
+    strings.sort_custom(func(a, b): return a.naturalnocasecmp_to(b) < 0)
+    print(strings) # Prints [string1, string2, string10, string11]
+
 ----
 
 .. _class_Array_method_sort_custom:
@@ -703,7 +719,7 @@ Sorts the array.
 
 Sorts the array using a custom method. The custom method receives two arguments (a pair of elements from the array) and must return either ``true`` or ``false``. For two elements ``a`` and ``b``, if the given method returns ``true``, element ``b`` will be after element ``a`` in the array.
 
-**Note:** You cannot randomize the return value as the heapsort algorithm expects a deterministic result. Doing so will result in unexpected behavior.
+\ **Note:** You cannot randomize the return value as the heapsort algorithm expects a deterministic result. Doing so will result in unexpected behavior.
 
 
 .. tabs::

+ 41 - 41
classes/class_arraymesh.rst

@@ -65,7 +65,7 @@ The :ref:`MeshInstance3D<class_MeshInstance3D>` is ready to be added to the :ref
 
 See also :ref:`ImmediateMesh<class_ImmediateMesh>`, :ref:`MeshDataTool<class_MeshDataTool>` and :ref:`SurfaceTool<class_SurfaceTool>` for procedural geometry generation.
 
-**Note:** Godot uses clockwise `winding order <https://learnopengl.com/Advanced-OpenGL/Face-culling>`__ for front faces of triangle primitive modes.
+\ **Note:** Godot uses clockwise `winding order <https://learnopengl.com/Advanced-OpenGL/Face-culling>`__ for front faces of triangle primitive modes.
 
 Tutorials
 ---------
@@ -86,45 +86,45 @@ Properties
 Methods
 -------
 
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`add_blend_shape<class_ArrayMesh_method_add_blend_shape>` **(** :ref:`StringName<class_StringName>` name **)**                                                                                                                                                                                                   |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`add_surface_from_arrays<class_ArrayMesh_method_add_surface_from_arrays>` **(** :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` primitive, :ref:`Array<class_Array>` arrays, :ref:`Array<class_Array>` blend_shapes=[], :ref:`Dictionary<class_Dictionary>` lods={ }, :ref:`int<class_int>` compress_flags=0 **)** |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`clear_blend_shapes<class_ArrayMesh_method_clear_blend_shapes>` **(** **)**                                                                                                                                                                                                                                      |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`clear_surfaces<class_ArrayMesh_method_clear_surfaces>` **(** **)**                                                                                                                                                                                                                                              |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_blend_shape_count<class_ArrayMesh_method_get_blend_shape_count>` **(** **)** |const|                                                                                                                                                                                                                        |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`StringName<class_StringName>`           | :ref:`get_blend_shape_name<class_ArrayMesh_method_get_blend_shape_name>` **(** :ref:`int<class_int>` index **)** |const|                                                                                                                                                                                              |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`lightmap_unwrap<class_ArrayMesh_method_lightmap_unwrap>` **(** :ref:`Transform3D<class_Transform3D>` transform, :ref:`float<class_float>` texel_size **)**                                                                                                                                                      |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`regen_normal_maps<class_ArrayMesh_method_regen_normal_maps>` **(** **)**                                                                                                                                                                                                                                        |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`set_blend_shape_name<class_ArrayMesh_method_set_blend_shape_name>` **(** :ref:`int<class_int>` index, :ref:`StringName<class_StringName>` name **)**                                                                                                                                                            |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`surface_find_by_name<class_ArrayMesh_method_surface_find_by_name>` **(** :ref:`String<class_String>` name **)** |const|                                                                                                                                                                                         |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`surface_get_array_index_len<class_ArrayMesh_method_surface_get_array_index_len>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                             |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`surface_get_array_len<class_ArrayMesh_method_surface_get_array_len>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                         |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`surface_get_format<class_ArrayMesh_method_surface_get_format>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                               |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`surface_get_name<class_ArrayMesh_method_surface_get_name>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                                   |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` | :ref:`surface_get_primitive_type<class_ArrayMesh_method_surface_get_primitive_type>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                               |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`surface_set_name<class_ArrayMesh_method_surface_set_name>` **(** :ref:`int<class_int>` surf_idx, :ref:`String<class_String>` name **)**                                                                                                                                                                         |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`surface_update_attribute_region<class_ArrayMesh_method_surface_update_attribute_region>` **(** :ref:`int<class_int>` surf_idx, :ref:`int<class_int>` offset, :ref:`PackedByteArray<class_PackedByteArray>` data **)**                                                                                           |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`surface_update_skin_region<class_ArrayMesh_method_surface_update_skin_region>` **(** :ref:`int<class_int>` surf_idx, :ref:`int<class_int>` offset, :ref:`PackedByteArray<class_PackedByteArray>` data **)**                                                                                                     |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`surface_update_vertex_region<class_ArrayMesh_method_surface_update_vertex_region>` **(** :ref:`int<class_int>` surf_idx, :ref:`int<class_int>` offset, :ref:`PackedByteArray<class_PackedByteArray>` data **)**                                                                                                 |
-+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`add_blend_shape<class_ArrayMesh_method_add_blend_shape>` **(** :ref:`StringName<class_StringName>` name **)**                                                                                                                                                                                                  |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`add_surface_from_arrays<class_ArrayMesh_method_add_surface_from_arrays>` **(** :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` primitive, :ref:`Array<class_Array>` arrays, :ref:`Array<class_Array>` blend_shapes=[], :ref:`Dictionary<class_Dictionary>` lods={}, :ref:`int<class_int>` compress_flags=0 **)** |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`clear_blend_shapes<class_ArrayMesh_method_clear_blend_shapes>` **(** **)**                                                                                                                                                                                                                                     |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`clear_surfaces<class_ArrayMesh_method_clear_surfaces>` **(** **)**                                                                                                                                                                                                                                             |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_blend_shape_count<class_ArrayMesh_method_get_blend_shape_count>` **(** **)** |const|                                                                                                                                                                                                                       |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`StringName<class_StringName>`           | :ref:`get_blend_shape_name<class_ArrayMesh_method_get_blend_shape_name>` **(** :ref:`int<class_int>` index **)** |const|                                                                                                                                                                                             |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`lightmap_unwrap<class_ArrayMesh_method_lightmap_unwrap>` **(** :ref:`Transform3D<class_Transform3D>` transform, :ref:`float<class_float>` texel_size **)**                                                                                                                                                     |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`regen_normal_maps<class_ArrayMesh_method_regen_normal_maps>` **(** **)**                                                                                                                                                                                                                                       |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`set_blend_shape_name<class_ArrayMesh_method_set_blend_shape_name>` **(** :ref:`int<class_int>` index, :ref:`StringName<class_StringName>` name **)**                                                                                                                                                           |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`surface_find_by_name<class_ArrayMesh_method_surface_find_by_name>` **(** :ref:`String<class_String>` name **)** |const|                                                                                                                                                                                        |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`surface_get_array_index_len<class_ArrayMesh_method_surface_get_array_index_len>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                            |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`surface_get_array_len<class_ArrayMesh_method_surface_get_array_len>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                        |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`surface_get_format<class_ArrayMesh_method_surface_get_format>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                              |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`surface_get_name<class_ArrayMesh_method_surface_get_name>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                                                  |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` | :ref:`surface_get_primitive_type<class_ArrayMesh_method_surface_get_primitive_type>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                                                                                                                                              |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`surface_set_name<class_ArrayMesh_method_surface_set_name>` **(** :ref:`int<class_int>` surf_idx, :ref:`String<class_String>` name **)**                                                                                                                                                                        |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`surface_update_attribute_region<class_ArrayMesh_method_surface_update_attribute_region>` **(** :ref:`int<class_int>` surf_idx, :ref:`int<class_int>` offset, :ref:`PackedByteArray<class_PackedByteArray>` data **)**                                                                                          |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`surface_update_skin_region<class_ArrayMesh_method_surface_update_skin_region>` **(** :ref:`int<class_int>` surf_idx, :ref:`int<class_int>` offset, :ref:`PackedByteArray<class_PackedByteArray>` data **)**                                                                                                    |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`surface_update_vertex_region<class_ArrayMesh_method_surface_update_vertex_region>` **(** :ref:`int<class_int>` surf_idx, :ref:`int<class_int>` offset, :ref:`PackedByteArray<class_PackedByteArray>` data **)**                                                                                                |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Property Descriptions
 ---------------------
@@ -184,7 +184,7 @@ Adds name for a blend shape that will be added with :ref:`add_surface_from_array
 
 .. _class_ArrayMesh_method_add_surface_from_arrays:
 
-- void **add_surface_from_arrays** **(** :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` primitive, :ref:`Array<class_Array>` arrays, :ref:`Array<class_Array>` blend_shapes=[], :ref:`Dictionary<class_Dictionary>` lods={ }, :ref:`int<class_int>` compress_flags=0 **)**
+- void **add_surface_from_arrays** **(** :ref:`PrimitiveType<enum_Mesh_PrimitiveType>` primitive, :ref:`Array<class_Array>` arrays, :ref:`Array<class_Array>` blend_shapes=[], :ref:`Dictionary<class_Dictionary>` lods={}, :ref:`int<class_int>` compress_flags=0 **)**
 
 Creates a new surface.
 

+ 19 - 19
classes/class_aspectratiocontainer.rst

@@ -21,15 +21,15 @@ Arranges child controls in a way to preserve their aspect ratio automatically wh
 Properties
 ----------
 
-+-----------------------------------------------------------+---------------------------------------------------------------------------------------+---------+
-| :ref:`AlignMode<enum_AspectRatioContainer_AlignMode>`     | :ref:`alignment_horizontal<class_AspectRatioContainer_property_alignment_horizontal>` | ``1``   |
-+-----------------------------------------------------------+---------------------------------------------------------------------------------------+---------+
-| :ref:`AlignMode<enum_AspectRatioContainer_AlignMode>`     | :ref:`alignment_vertical<class_AspectRatioContainer_property_alignment_vertical>`     | ``1``   |
-+-----------------------------------------------------------+---------------------------------------------------------------------------------------+---------+
-| :ref:`float<class_float>`                                 | :ref:`ratio<class_AspectRatioContainer_property_ratio>`                               | ``1.0`` |
-+-----------------------------------------------------------+---------------------------------------------------------------------------------------+---------+
-| :ref:`StretchMode<enum_AspectRatioContainer_StretchMode>` | :ref:`stretch_mode<class_AspectRatioContainer_property_stretch_mode>`                 | ``2``   |
-+-----------------------------------------------------------+---------------------------------------------------------------------------------------+---------+
++---------------------------------------------------------------+---------------------------------------------------------------------------------------+---------+
+| :ref:`AlignmentMode<enum_AspectRatioContainer_AlignmentMode>` | :ref:`alignment_horizontal<class_AspectRatioContainer_property_alignment_horizontal>` | ``1``   |
++---------------------------------------------------------------+---------------------------------------------------------------------------------------+---------+
+| :ref:`AlignmentMode<enum_AspectRatioContainer_AlignmentMode>` | :ref:`alignment_vertical<class_AspectRatioContainer_property_alignment_vertical>`     | ``1``   |
++---------------------------------------------------------------+---------------------------------------------------------------------------------------+---------+
+| :ref:`float<class_float>`                                     | :ref:`ratio<class_AspectRatioContainer_property_ratio>`                               | ``1.0`` |
++---------------------------------------------------------------+---------------------------------------------------------------------------------------+---------+
+| :ref:`StretchMode<enum_AspectRatioContainer_StretchMode>`     | :ref:`stretch_mode<class_AspectRatioContainer_property_stretch_mode>`                 | ``2``   |
++---------------------------------------------------------------+---------------------------------------------------------------------------------------+---------+
 
 Enumerations
 ------------
@@ -58,28 +58,28 @@ When the bounding rectangle of child controls exceed the container's size and :r
 
 ----
 
-.. _enum_AspectRatioContainer_AlignMode:
+.. _enum_AspectRatioContainer_AlignmentMode:
 
-.. _class_AspectRatioContainer_constant_ALIGN_BEGIN:
+.. _class_AspectRatioContainer_constant_ALIGNMENT_BEGIN:
 
-.. _class_AspectRatioContainer_constant_ALIGN_CENTER:
+.. _class_AspectRatioContainer_constant_ALIGNMENT_CENTER:
 
-.. _class_AspectRatioContainer_constant_ALIGN_END:
+.. _class_AspectRatioContainer_constant_ALIGNMENT_END:
 
-enum **AlignMode**:
+enum **AlignmentMode**:
 
-- **ALIGN_BEGIN** = **0** --- Aligns child controls with the beginning (left or top) of the container.
+- **ALIGNMENT_BEGIN** = **0** --- Aligns child controls with the beginning (left or top) of the container.
 
-- **ALIGN_CENTER** = **1** --- Aligns child controls with the center of the container.
+- **ALIGNMENT_CENTER** = **1** --- Aligns child controls with the center of the container.
 
-- **ALIGN_END** = **2** --- Aligns child controls with the end (right or bottom) of the container.
+- **ALIGNMENT_END** = **2** --- Aligns child controls with the end (right or bottom) of the container.
 
 Property Descriptions
 ---------------------
 
 .. _class_AspectRatioContainer_property_alignment_horizontal:
 
-- :ref:`AlignMode<enum_AspectRatioContainer_AlignMode>` **alignment_horizontal**
+- :ref:`AlignmentMode<enum_AspectRatioContainer_AlignmentMode>` **alignment_horizontal**
 
 +-----------+---------------------------------+
 | *Default* | ``1``                           |
@@ -95,7 +95,7 @@ Specifies the horizontal relative position of child controls.
 
 .. _class_AspectRatioContainer_property_alignment_vertical:
 
-- :ref:`AlignMode<enum_AspectRatioContainer_AlignMode>` **alignment_vertical**
+- :ref:`AlignmentMode<enum_AspectRatioContainer_AlignmentMode>` **alignment_vertical**
 
 +-----------+-------------------------------+
 | *Default* | ``1``                         |

+ 13 - 13
classes/class_astar.rst

@@ -52,7 +52,7 @@ It is also possible to use non-Euclidean distances. To do so, create a class tha
 
 
 
-:ref:`_estimate_cost<class_AStar_method__estimate_cost>` should return a lower bound of the distance, i.e. ``_estimate_cost(u, v) <= _compute_cost(u, v)``. This serves as a hint to the algorithm because the custom ``_compute_cost`` might be computation-heavy. If this is not the case, make :ref:`_estimate_cost<class_AStar_method__estimate_cost>` return the same value as :ref:`_compute_cost<class_AStar_method__compute_cost>` to provide the algorithm with the most accurate information.
+\ :ref:`_estimate_cost<class_AStar_method__estimate_cost>` should return a lower bound of the distance, i.e. ``_estimate_cost(u, v) <= _compute_cost(u, v)``. This serves as a hint to the algorithm because the custom ``_compute_cost`` might be computation-heavy. If this is not the case, make :ref:`_estimate_cost<class_AStar_method__estimate_cost>` return the same value as :ref:`_compute_cost<class_AStar_method__compute_cost>` to provide the algorithm with the most accurate information.
 
 If the default :ref:`_estimate_cost<class_AStar_method__estimate_cost>` and :ref:`_compute_cost<class_AStar_method__compute_cost>` methods are used, or if the supplied :ref:`_estimate_cost<class_AStar_method__estimate_cost>` method returns a lower bound of the cost, then the paths returned by A\* will be the lowest-cost paths. Here, the cost of a path equals the sum of the :ref:`_compute_cost<class_AStar_method__compute_cost>` results of all segments in the path multiplied by the ``weight_scale``\ s of the endpoints of the respective segments. If the default methods are used and the ``weight_scale``\ s of all points are set to ``1.0``, then this equals the sum of Euclidean distances of all segments in the path.
 
@@ -88,14 +88,14 @@ Methods
 +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                               | :ref:`get_point_count<class_AStar_method_get_point_count>` **(** **)** |const|                                                                                                             |
 +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                           | :ref:`get_point_ids<class_AStar_method_get_point_ids>` **(** **)**                                                                                                                         |
++-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`get_point_path<class_AStar_method_get_point_path>` **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id **)**                                                            |
 +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector3<class_Vector3>`                       | :ref:`get_point_position<class_AStar_method_get_point_position>` **(** :ref:`int<class_int>` id **)** |const|                                                                              |
 +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                           | :ref:`get_point_weight_scale<class_AStar_method_get_point_weight_scale>` **(** :ref:`int<class_int>` id **)** |const|                                                                      |
 +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`                           | :ref:`get_points<class_AStar_method_get_points>` **(** **)**                                                                                                                               |
-+-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                             | :ref:`has_point<class_AStar_method_has_point>` **(** :ref:`int<class_int>` id **)** |const|                                                                                                |
 +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                             | :ref:`is_point_disabled<class_AStar_method_is_point_disabled>` **(** :ref:`int<class_int>` id **)** |const|                                                                                |
@@ -226,7 +226,7 @@ Returns the next available point ID with no point associated to it.
 
 Returns the ID of the closest point to ``to_position``, optionally taking disabled points into account. Returns ``-1`` if there are no points in the points pool.
 
-**Note:** If several points are the closest to ``to_position``, the one with the smallest ID will be returned, ensuring a deterministic result.
+\ **Note:** If several points are the closest to ``to_position``, the one with the smallest ID will be returned, ensuring a deterministic result.
 
 ----
 
@@ -358,13 +358,21 @@ Returns the number of points currently in the points pool.
 
 ----
 
+.. _class_AStar_method_get_point_ids:
+
+- :ref:`Array<class_Array>` **get_point_ids** **(** **)**
+
+Returns an array of all point IDs.
+
+----
+
 .. _class_AStar_method_get_point_path:
 
 - :ref:`PackedVector3Array<class_PackedVector3Array>` **get_point_path** **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id **)**
 
 Returns an array with the points that are in the path found by AStar between the given points. The array is ordered from the starting point to the ending point of the path.
 
-**Note:** This method is not thread-safe. If called from a :ref:`Thread<class_Thread>`, it will return an empty :ref:`PackedVector3Array<class_PackedVector3Array>` and will print an error message.
+\ **Note:** This method is not thread-safe. If called from a :ref:`Thread<class_Thread>`, it will return an empty :ref:`PackedVector3Array<class_PackedVector3Array>` and will print an error message.
 
 ----
 
@@ -384,14 +392,6 @@ Returns the weight scale of the point associated with the given ``id``.
 
 ----
 
-.. _class_AStar_method_get_points:
-
-- :ref:`Array<class_Array>` **get_points** **(** **)**
-
-Returns an array of all points.
-
-----
-
 .. _class_AStar_method_has_point:
 
 - :ref:`bool<class_bool>` **has_point** **(** :ref:`int<class_int>` id **)** |const|

+ 12 - 12
classes/class_astar2d.rst

@@ -50,14 +50,14 @@ Methods
 +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                               | :ref:`get_point_count<class_AStar2D_method_get_point_count>` **(** **)** |const|                                                                                               |
 +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                           | :ref:`get_point_ids<class_AStar2D_method_get_point_ids>` **(** **)**                                                                                                           |
++-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`get_point_path<class_AStar2D_method_get_point_path>` **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id **)**                                              |
 +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_Vector2>`                       | :ref:`get_point_position<class_AStar2D_method_get_point_position>` **(** :ref:`int<class_int>` id **)** |const|                                                                |
 +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                           | :ref:`get_point_weight_scale<class_AStar2D_method_get_point_weight_scale>` **(** :ref:`int<class_int>` id **)** |const|                                                        |
 +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`                           | :ref:`get_points<class_AStar2D_method_get_points>` **(** **)**                                                                                                                 |
-+-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                             | :ref:`has_point<class_AStar2D_method_has_point>` **(** :ref:`int<class_int>` id **)** |const|                                                                                  |
 +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                             | :ref:`is_point_disabled<class_AStar2D_method_is_point_disabled>` **(** :ref:`int<class_int>` id **)** |const|                                                                  |
@@ -188,7 +188,7 @@ Returns the next available point ID with no point associated to it.
 
 Returns the ID of the closest point to ``to_position``, optionally taking disabled points into account. Returns ``-1`` if there are no points in the points pool.
 
-**Note:** If several points are the closest to ``to_position``, the one with the smallest ID will be returned, ensuring a deterministic result.
+\ **Note:** If several points are the closest to ``to_position``, the one with the smallest ID will be returned, ensuring a deterministic result.
 
 ----
 
@@ -322,13 +322,21 @@ Returns the number of points currently in the points pool.
 
 ----
 
+.. _class_AStar2D_method_get_point_ids:
+
+- :ref:`Array<class_Array>` **get_point_ids** **(** **)**
+
+Returns an array of all point IDs.
+
+----
+
 .. _class_AStar2D_method_get_point_path:
 
 - :ref:`PackedVector2Array<class_PackedVector2Array>` **get_point_path** **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id **)**
 
 Returns an array with the points that are in the path found by AStar2D between the given points. The array is ordered from the starting point to the ending point of the path.
 
-**Note:** This method is not thread-safe. If called from a :ref:`Thread<class_Thread>`, it will return an empty :ref:`PackedVector2Array<class_PackedVector2Array>` and will print an error message.
+\ **Note:** This method is not thread-safe. If called from a :ref:`Thread<class_Thread>`, it will return an empty :ref:`PackedVector2Array<class_PackedVector2Array>` and will print an error message.
 
 ----
 
@@ -348,14 +356,6 @@ Returns the weight scale of the point associated with the given ``id``.
 
 ----
 
-.. _class_AStar2D_method_get_points:
-
-- :ref:`Array<class_Array>` **get_points** **(** **)**
-
-Returns an array of all points.
-
-----
-
 .. _class_AStar2D_method_has_point:
 
 - :ref:`bool<class_bool>` **has_point** **(** :ref:`int<class_int>` id **)** |const|

+ 1 - 1
classes/class_atlastexture.rst

@@ -18,7 +18,7 @@ Description
 
 :ref:`Texture2D<class_Texture2D>` resource that crops out one part of the :ref:`atlas<class_AtlasTexture_property_atlas>` texture, defined by :ref:`region<class_AtlasTexture_property_region>`. The main use case is cropping out textures from a texture atlas, which is a big texture file that packs multiple smaller textures. Consists of a :ref:`Texture2D<class_Texture2D>` for the :ref:`atlas<class_AtlasTexture_property_atlas>`, a :ref:`region<class_AtlasTexture_property_region>` that defines the area of :ref:`atlas<class_AtlasTexture_property_atlas>` to use, and a :ref:`margin<class_AtlasTexture_property_margin>` that defines the border width.
 
-``AtlasTexture`` cannot be used in an :ref:`AnimatedTexture<class_AnimatedTexture>`, cannot be tiled in nodes such as :ref:`TextureRect<class_TextureRect>`, and does not work properly if used inside of other ``AtlasTexture`` resources. Multiple ``AtlasTexture`` resources can be used to crop multiple textures from the atlas. Using a texture atlas helps to optimize video memory costs and render calls compared to using multiple small files.
+\ ``AtlasTexture`` cannot be used in an :ref:`AnimatedTexture<class_AnimatedTexture>`, cannot be tiled in nodes such as :ref:`TextureRect<class_TextureRect>`, and does not work properly if used inside of other ``AtlasTexture`` resources. Multiple ``AtlasTexture`` resources can be used to crop multiple textures from the atlas. Using a texture atlas helps to optimize video memory costs and render calls compared to using multiple small files.
 
 Properties
 ----------

+ 6 - 2
classes/class_audioeffectrecord.rst

@@ -11,12 +11,16 @@ AudioEffectRecord
 
 **Inherits:** :ref:`AudioEffect<class_AudioEffect>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-Audio effect used for recording sound from a microphone.
+Audio effect used for recording the sound from an audio bus.
 
 Description
 -----------
 
-Allows the user to record sound from a microphone. It sets and gets the format in which the audio file will be recorded (8-bit, 16-bit, or compressed). It checks whether or not the recording is active, and if it is, records the sound. It then returns the recorded sample.
+Allows the user to record the sound from an audio bus. This can include all audio output by Godot when used on the "Master" audio bus.
+
+Can be used (with an :ref:`AudioStreamMicrophone<class_AudioStreamMicrophone>`) to record from a microphone.
+
+It sets and gets the format in which the audio file will be recorded (8-bit, 16-bit, or compressed). It checks whether or not the recording is active, and if it is, records the sound. It then returns the recorded sample.
 
 Tutorials
 ---------

+ 2 - 2
classes/class_audioeffectspectrumanalyzer.rst

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

+ 1 - 1
classes/class_audiolistener3d.rst

@@ -56,7 +56,7 @@ Returns the listener's global orthonormalized :ref:`Transform3D<class_Transform3
 
 Returns ``true`` if the listener was made current using :ref:`make_current<class_AudioListener3D_method_make_current>`, ``false`` otherwise.
 
-**Note:** There may be more than one AudioListener3D marked as "current" in the scene tree, but only the one that was made current last will be used.
+\ **Note:** There may be more than one AudioListener3D marked as "current" in the scene tree, but only the one that was made current last will be used.
 
 ----
 

+ 1 - 1
classes/class_audioserver.rst

@@ -423,7 +423,7 @@ If ``true``, the bus at index ``bus_idx`` is in solo mode.
 
 Locks the audio driver's main loop.
 
-**Note:** Remember to unlock it afterwards.
+\ **Note:** Remember to unlock it afterwards.
 
 ----
 

+ 2 - 2
classes/class_audiostreamgenerator.rst

@@ -20,14 +20,14 @@ This audio stream does not play back sounds, but expects a script to generate au
 
 See also :ref:`AudioEffectSpectrumAnalyzer<class_AudioEffectSpectrumAnalyzer>` for performing real-time audio spectrum analysis.
 
-**Note:** Due to performance constraints, this class is best used from C# or from a compiled language via GDNative. If you still want to use this class from GDScript, consider using a lower :ref:`mix_rate<class_AudioStreamGenerator_property_mix_rate>` such as 11,025 Hz or 22,050 Hz.
+\ **Note:** Due to performance constraints, this class is best used from C# or from a compiled language via GDNative. If you still want to use this class from GDScript, consider using a lower :ref:`mix_rate<class_AudioStreamGenerator_property_mix_rate>` such as 11,025 Hz or 22,050 Hz.
 
 Tutorials
 ---------
 
 - `Audio Generator Demo <https://godotengine.org/asset-library/asset/526>`__
 
-- `https://godotengine.org/article/godot-32-will-get-new-audio-features <Godot 3.2 will get new audio features>`__
+- `Godot 3.2 will get new audio features <https://godotengine.org/article/godot-32-will-get-new-audio-features>`__
 
 Properties
 ----------

+ 1 - 1
classes/class_audiostreamgeneratorplayback.rst

@@ -23,7 +23,7 @@ Tutorials
 
 - `Audio Generator Demo <https://godotengine.org/asset-library/asset/526>`__
 
-- `https://godotengine.org/article/godot-32-will-get-new-audio-features <Godot 3.2 will get new audio features>`__
+- `Godot 3.2 will get new audio features <https://godotengine.org/article/godot-32-will-get-new-audio-features>`__
 
 Methods
 -------

+ 1 - 1
classes/class_audiostreamplayer2d.rst

@@ -20,7 +20,7 @@ Plays audio that dampens with distance from screen center.
 
 See also :ref:`AudioStreamPlayer<class_AudioStreamPlayer>` to play a sound non-positionally.
 
-**Note:** Hiding an ``AudioStreamPlayer2D`` node does not disable its audio output. To temporarily disable an ``AudioStreamPlayer2D``'s audio output, set :ref:`volume_db<class_AudioStreamPlayer2D_property_volume_db>` to a very low value like ``-100`` (which isn't audible to human hearing).
+\ **Note:** Hiding an ``AudioStreamPlayer2D`` node does not disable its audio output. To temporarily disable an ``AudioStreamPlayer2D``'s audio output, set :ref:`volume_db<class_AudioStreamPlayer2D_property_volume_db>` to a very low value like ``-100`` (which isn't audible to human hearing).
 
 Tutorials
 ---------

+ 1 - 1
classes/class_audiostreamplayer3d.rst

@@ -22,7 +22,7 @@ By default, audio is heard from the camera position. This can be changed by addi
 
 See also :ref:`AudioStreamPlayer<class_AudioStreamPlayer>` to play a sound non-positionally.
 
-**Note:** Hiding an ``AudioStreamPlayer3D`` node does not disable its audio output. To temporarily disable an ``AudioStreamPlayer3D``'s audio output, set :ref:`unit_db<class_AudioStreamPlayer3D_property_unit_db>` to a very low value like ``-100`` (which isn't audible to human hearing).
+\ **Note:** Hiding an ``AudioStreamPlayer3D`` node does not disable its audio output. To temporarily disable an ``AudioStreamPlayer3D``'s audio output, set :ref:`unit_db<class_AudioStreamPlayer3D_property_unit_db>` to a very low value like ``-100`` (which isn't audible to human hearing).
 
 Tutorials
 ---------

+ 2 - 2
classes/class_audiostreamsample.rst

@@ -104,7 +104,7 @@ Property Descriptions
 
 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:** This property expects signed PCM8 data. To convert unsigned PCM8 to signed PCM8, subtract 128 from each byte.
 
 ----
 
@@ -215,7 +215,7 @@ Method Descriptions
 
 Saves the AudioStreamSample as a WAV file to ``path``. Samples with IMA ADPCM format can't be saved.
 
-**Note:** A ``.wav`` extension is automatically appended to ``path`` if it is missing.
+\ **Note:** A ``.wav`` extension is automatically appended to ``path`` if it is missing.
 
 .. |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_backbuffercopy.rst

@@ -18,7 +18,7 @@ Description
 
 Node for back-buffering the currently-displayed screen. The region defined in the BackBufferCopy node is buffered with the content of the screen it covers, or the entire screen according to the copy mode set. Use the ``texture(SCREEN_TEXTURE, ...)`` function in your shader scripts to access the buffer.
 
-**Note:** Since this node inherits from :ref:`Node2D<class_Node2D>` (and not :ref:`Control<class_Control>`), anchors and margins won't apply to child :ref:`Control<class_Control>`-derived nodes. This can be problematic when resizing the window. To avoid this, add :ref:`Control<class_Control>`-derived nodes as *siblings* to the BackBufferCopy node instead of adding them as children.
+\ **Note:** Since this node inherits from :ref:`Node2D<class_Node2D>` (and not :ref:`Control<class_Control>`), anchors and margins won't apply to child :ref:`Control<class_Control>`-derived nodes. This can be problematic when resizing the window. To avoid this, add :ref:`Control<class_Control>`-derived nodes as *siblings* to the BackBufferCopy node instead of adding them as children.
 
 Properties
 ----------

+ 44 - 44
classes/class_basebutton.rst

@@ -23,29 +23,29 @@ BaseButton is the abstract base class for buttons, so it shouldn't be used direc
 Properties
 ----------
 
-+---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`ActionMode<enum_BaseButton_ActionMode>`     | :ref:`action_mode<class_BaseButton_property_action_mode>`                   | ``1``                     |
-+---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`ButtonGroup<class_ButtonGroup>`             | :ref:`button_group<class_BaseButton_property_button_group>`                 |                           |
-+---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`MouseButton<enum_@GlobalScope_MouseButton>` | :ref:`button_mask<class_BaseButton_property_button_mask>`                   | ``1``                     |
-+---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`bool<class_bool>`                           | :ref:`disabled<class_BaseButton_property_disabled>`                         | ``false``                 |
-+---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`FocusMode<enum_Control_FocusMode>`          | focus_mode                                                                  | ``2`` *(parent override)* |
-+---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`bool<class_bool>`                           | :ref:`keep_pressed_outside<class_BaseButton_property_keep_pressed_outside>` | ``false``                 |
-+---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`bool<class_bool>`                           | :ref:`pressed<class_BaseButton_property_pressed>`                           | ``false``                 |
-+---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`Shortcut<class_Shortcut>`                   | :ref:`shortcut<class_BaseButton_property_shortcut>`                         |                           |
-+---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`Node<class_Node>`                           | :ref:`shortcut_context<class_BaseButton_property_shortcut_context>`         |                           |
-+---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`bool<class_bool>`                           | :ref:`shortcut_in_tooltip<class_BaseButton_property_shortcut_in_tooltip>`   | ``true``                  |
-+---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`bool<class_bool>`                           | :ref:`toggle_mode<class_BaseButton_property_toggle_mode>`                   | ``false``                 |
-+---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
+| :ref:`ActionMode<enum_BaseButton_ActionMode>`     | :ref:`action_mode<class_BaseButton_property_action_mode>`                   | ``1``                                                               |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
+| :ref:`ButtonGroup<class_ButtonGroup>`             | :ref:`button_group<class_BaseButton_property_button_group>`                 |                                                                     |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
+| :ref:`MouseButton<enum_@GlobalScope_MouseButton>` | :ref:`button_mask<class_BaseButton_property_button_mask>`                   | ``1``                                                               |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`button_pressed<class_BaseButton_property_button_pressed>`             | ``false``                                                           |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`disabled<class_BaseButton_property_disabled>`                         | ``false``                                                           |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
+| :ref:`FocusMode<enum_Control_FocusMode>`          | focus_mode                                                                  | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`) |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`keep_pressed_outside<class_BaseButton_property_keep_pressed_outside>` | ``false``                                                           |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
+| :ref:`Shortcut<class_Shortcut>`                   | :ref:`shortcut<class_BaseButton_property_shortcut>`                         |                                                                     |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
+| :ref:`Node<class_Node>`                           | :ref:`shortcut_context<class_BaseButton_property_shortcut_context>`         |                                                                     |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`shortcut_in_tooltip<class_BaseButton_property_shortcut_in_tooltip>`   | ``true``                                                            |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`toggle_mode<class_BaseButton_property_toggle_mode>`                   | ``false``                                                           |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
 
 Methods
 -------
@@ -189,6 +189,24 @@ To allow both left-click and right-click, use ``MOUSE_BUTTON_MASK_LEFT | MOUSE_B
 
 ----
 
+.. _class_BaseButton_property_button_pressed:
+
+- :ref:`bool<class_bool>` **button_pressed**
+
++-----------+--------------------+
+| *Default* | ``false``          |
++-----------+--------------------+
+| *Setter*  | set_pressed(value) |
++-----------+--------------------+
+| *Getter*  | is_pressed()       |
++-----------+--------------------+
+
+If ``true``, the button's state is pressed. Means the button is pressed down or toggled (if :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` is active). Only works if :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` is ``true``.
+
+\ **Note:** Setting :ref:`button_pressed<class_BaseButton_property_button_pressed>` will result in :ref:`toggled<class_BaseButton_signal_toggled>` to be emitted. If you want to change the pressed state without emitting that signal, use :ref:`set_pressed_no_signal<class_BaseButton_method_set_pressed_no_signal>`.
+
+----
+
 .. _class_BaseButton_property_disabled:
 
 - :ref:`bool<class_bool>` **disabled**
@@ -219,25 +237,7 @@ If ``true``, the button is in disabled state and can't be clicked or toggled.
 
 If ``true``, the button stays pressed when moving the cursor outside the button while pressing it.
 
-**Note:** This property only affects the button's visual appearance. Signals will be emitted at the same moment regardless of this property's value.
-
-----
-
-.. _class_BaseButton_property_pressed:
-
-- :ref:`bool<class_bool>` **pressed**
-
-+-----------+--------------------+
-| *Default* | ``false``          |
-+-----------+--------------------+
-| *Setter*  | set_pressed(value) |
-+-----------+--------------------+
-| *Getter*  | is_pressed()       |
-+-----------+--------------------+
-
-If ``true``, the button's state is pressed. Means the button is pressed down or toggled (if :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` is active). Only works if :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` is ``true``.
-
-**Note:** Setting :ref:`pressed<class_BaseButton_property_pressed>` will result in :ref:`toggled<class_BaseButton_signal_toggled>` to be emitted. If you want to change the pressed state without emitting that signal, use :ref:`set_pressed_no_signal<class_BaseButton_method_set_pressed_no_signal>`.
+\ **Note:** This property only affects the button's visual appearance. Signals will be emitted at the same moment regardless of this property's value.
 
 ----
 
@@ -338,9 +338,9 @@ Returns ``true`` if the mouse has entered the button and has not left it yet.
 
 - void **set_pressed_no_signal** **(** :ref:`bool<class_bool>` pressed **)**
 
-Changes the :ref:`pressed<class_BaseButton_property_pressed>` state of the button, without emitting :ref:`toggled<class_BaseButton_signal_toggled>`. Use when you just want to change the state of the button without sending the pressed event (e.g. when initializing scene). Only works if :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` is ``true``.
+Changes the :ref:`button_pressed<class_BaseButton_property_button_pressed>` state of the button, without emitting :ref:`toggled<class_BaseButton_signal_toggled>`. Use when you just want to change the state of the button without sending the pressed event (e.g. when initializing scene). Only works if :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` is ``true``.
 
-**Note:** This method doesn't unpress other buttons in :ref:`button_group<class_BaseButton_property_button_group>`.
+\ **Note:** This method doesn't unpress other buttons in :ref:`button_group<class_BaseButton_property_button_group>`.
 
 .. |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.)`

+ 24 - 18
classes/class_basematerial3d.rst

@@ -582,9 +582,9 @@ enum **DepthDrawMode**:
 
 enum **CullMode**:
 
-- **CULL_BACK** = **0** --- Default cull mode. The back of the object is culled when not visible.
+- **CULL_BACK** = **0** --- Default cull mode. The back of the object is culled when not visible. Back face triangles will be culled when facing the camera. This results in only the front side of triangles being drawn. For closed-surface meshes this means that only the exterior of the mesh will be visible.
 
-- **CULL_FRONT** = **1** --- The front of the object is culled when not visible.
+- **CULL_FRONT** = **1** --- Front face triangles will be culled when facing the camera. This results in only the back side of triangles being drawn. For closed-surface meshes this means that the interior of the mesh will be drawn instead of the exterior.
 
 - **CULL_DISABLED** = **2** --- No culling is performed.
 
@@ -929,7 +929,7 @@ Threshold at which the alpha scissor will discard values.
 | *Getter*  | get_anisotropy()      |
 +-----------+-----------------------+
 
-The strength of the anisotropy effect.
+The strength of the anisotropy effect. This is multiplied by :ref:`anisotropy_flowmap<class_BaseMaterial3D_property_anisotropy_flowmap>`'s alpha channel if a texture is defined there and the texture contains an alpha channel.
 
 ----
 
@@ -945,7 +945,11 @@ The strength of the anisotropy effect.
 | *Getter*  | get_feature()      |
 +-----------+--------------------+
 
-If ``true``, anisotropy is enabled. Changes the shape of the specular blob and aligns it to tangent space. Mesh tangents are needed for this to work. If the mesh does not contain tangents the anisotropy effect will appear broken.
+If ``true``, anisotropy is enabled. Anisotropy changes the shape of the specular blob and aligns it to tangent space. This is useful for brushed aluminium and hair reflections.
+
+\ **Note:** Mesh tangents are needed for anisotropy to work. If the mesh does not contain tangents, the anisotropy effect will appear broken.
+
+\ **Note:** Material anisotropy should not to be confused with anisotropic texture filtering, which can be enabled by setting :ref:`texture_filter<class_BaseMaterial3D_property_texture_filter>` to :ref:`TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC<class_BaseMaterial3D_constant_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC>`.
 
 ----
 
@@ -959,7 +963,9 @@ If ``true``, anisotropy is enabled. Changes the shape of the specular blob and a
 | *Getter* | get_texture()      |
 +----------+--------------------+
 
-Texture that offsets the tangent map for anisotropy calculations.
+Texture that offsets the tangent map for anisotropy calculations and optionally controls the anisotropy effect (if an alpha channel is present). The flowmap texture is expected to be a derivative map, with the red channel representing distortion on the X axis and green channel representing distortion on the Y axis. Values below 0.5 will result in negative distortion, whereas values above 0.5 will result in positive distortion.
+
+If present, the texture's alpha channel will be used to multiply the strength of the :ref:`anisotropy<class_BaseMaterial3D_property_anisotropy>` effect. Fully opaque pixels will keep the anisotropy effect's original strength while fully transparent pixels will disable the anisotropy effect entirely. The flowmap texture's blue channel is ignored.
 
 ----
 
@@ -1117,7 +1123,7 @@ If ``true``, the shader will keep the scale set for the mesh. Otherwise, the sca
 
 Controls how the object faces the camera. See :ref:`BillboardMode<enum_BaseMaterial3D_BillboardMode>`.
 
-**Note:** Billboard mode is not suitable for VR because the left-right vector of the camera is not horizontal when the screen is attached to your head instead of on the table. See `GitHub issue #41567 <https://github.com/godotengine/godot/issues/41567>`__ for details.
+\ **Note:** Billboard mode is not suitable for VR because the left-right vector of the camera is not horizontal when the screen is attached to your head instead of on the table. See `GitHub issue #41567 <https://github.com/godotengine/godot/issues/41567>`__ for details.
 
 ----
 
@@ -1135,7 +1141,7 @@ Controls how the object faces the camera. See :ref:`BillboardMode<enum_BaseMater
 
 The material's blend mode.
 
-**Note:** Values other than ``Mix`` force the object into the transparent pipeline. See :ref:`BlendMode<enum_BaseMaterial3D_BlendMode>`.
+\ **Note:** Values other than ``Mix`` force the object into the transparent pipeline. See :ref:`BlendMode<enum_BaseMaterial3D_BlendMode>`.
 
 ----
 
@@ -1169,7 +1175,7 @@ Sets the strength of the clearcoat effect. Setting to ``0`` looks the same as di
 
 If ``true``, clearcoat rendering is enabled. Adds a secondary transparent pass to the lighting calculation resulting in an added specular blob. This makes materials appear as if they have a clear layer on them that can be either glossy or rough.
 
-**Note:** Clearcoat rendering is not visible if the material's :ref:`shading_mode<class_BaseMaterial3D_property_shading_mode>` is :ref:`SHADING_MODE_UNSHADED<class_BaseMaterial3D_constant_SHADING_MODE_UNSHADED>`.
+\ **Note:** Clearcoat rendering is not visible if the material's :ref:`shading_mode<class_BaseMaterial3D_property_shading_mode>` is :ref:`SHADING_MODE_UNSHADED<class_BaseMaterial3D_constant_SHADING_MODE_UNSHADED>`.
 
 ----
 
@@ -1215,7 +1221,7 @@ Texture that defines the strength of the clearcoat effect and the glossiness of
 | *Getter*  | get_cull_mode()      |
 +-----------+----------------------+
 
-Which side of the object is not drawn when backfaces are rendered. See :ref:`CullMode<enum_BaseMaterial3D_CullMode>`.
+Determines which side of the triangle to cull depending on whether the triangle faces towards or away from the camera. See :ref:`CullMode<enum_BaseMaterial3D_CullMode>`.
 
 ----
 
@@ -1307,7 +1313,7 @@ Texture used to specify how the detail textures get blended with the base textur
 
 Texture that specifies the per-pixel normal of the detail overlay.
 
-**Note:** Godot expects the normal map to use X+, Y-, and Z+ coordinates. See `this page <http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates>`__ for a comparison of normal map coordinates expected by popular engines.
+\ **Note:** Godot expects the normal map to use X+, Y+, and Z+ coordinates. See `this page <http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates>`__ for a comparison of normal map coordinates expected by popular engines.
 
 ----
 
@@ -1389,7 +1395,7 @@ If ``true``, the object receives no shadow that would otherwise be cast onto it.
 
 Distance at which the object appears fully opaque.
 
-**Note:** If ``distance_fade_max_distance`` is less than ``distance_fade_min_distance``, the behavior will be reversed. The object will start to fade away at ``distance_fade_max_distance`` and will fully disappear once it reaches ``distance_fade_min_distance``.
+\ **Note:** If ``distance_fade_max_distance`` is less than ``distance_fade_min_distance``, the behavior will be reversed. The object will start to fade away at ``distance_fade_max_distance`` and will fully disappear once it reaches ``distance_fade_min_distance``.
 
 ----
 
@@ -1407,7 +1413,7 @@ Distance at which the object appears fully opaque.
 
 Distance at which the object starts to become visible. If the object is less than this distance away, it will be invisible.
 
-**Note:** If ``distance_fade_min_distance`` is greater than ``distance_fade_max_distance``, the behavior will be reversed. The object will start to fade away at ``distance_fade_max_distance`` and will fully disappear once it reaches ``distance_fade_min_distance``.
+\ **Note:** If ``distance_fade_min_distance`` is greater than ``distance_fade_max_distance``, the behavior will be reversed. The object will start to fade away at ``distance_fade_max_distance`` and will fully disappear once it reaches ``distance_fade_min_distance``.
 
 ----
 
@@ -1597,7 +1603,7 @@ Grows object vertices in the direction of their normals.
 
 If ``true``, height mapping is enabled (also called "parallax mapping" or "depth mapping"). See also :ref:`normal_enabled<class_BaseMaterial3D_property_normal_enabled>`.
 
-**Note:** Height mapping is not supported if triplanar mapping is used on the same material. The value of :ref:`heightmap_enabled<class_BaseMaterial3D_property_heightmap_enabled>` will be ignored if :ref:`uv1_triplanar<class_BaseMaterial3D_property_uv1_triplanar>` is enabled.
+\ **Note:** Height mapping is not supported if triplanar mapping is used on the same material. The value of :ref:`heightmap_enabled<class_BaseMaterial3D_property_heightmap_enabled>` will be ignored if :ref:`uv1_triplanar<class_BaseMaterial3D_property_uv1_triplanar>` is enabled.
 
 ----
 
@@ -1723,7 +1729,7 @@ A high value makes the material appear more like a metal. Non-metals use their a
 
 Sets the size of the specular lobe. The specular lobe is the bright spot that is reflected from light sources.
 
-**Note:** Unlike :ref:`metallic<class_BaseMaterial3D_property_metallic>`, this is not energy-conserving, so it should be left at ``0.5`` in most cases. See also :ref:`roughness<class_BaseMaterial3D_property_roughness>`.
+\ **Note:** Unlike :ref:`metallic<class_BaseMaterial3D_property_metallic>`, this is not energy-conserving, so it should be left at ``0.5`` in most cases. See also :ref:`roughness<class_BaseMaterial3D_property_roughness>`.
 
 ----
 
@@ -1817,9 +1823,9 @@ The strength of the normal map's effect.
 
 Texture used to specify the normal at a given pixel. The ``normal_texture`` only uses the red and green channels; the blue and alpha channels are ignored. The normal read from ``normal_texture`` is oriented around the surface normal provided by the :ref:`Mesh<class_Mesh>`.
 
-**Note:** The mesh must have both normals and tangents defined in its vertex data. Otherwise, the normal map won't render correctly and will only appear to darken the whole surface. If creating geometry with :ref:`SurfaceTool<class_SurfaceTool>`, you can use :ref:`SurfaceTool.generate_normals<class_SurfaceTool_method_generate_normals>` and :ref:`SurfaceTool.generate_tangents<class_SurfaceTool_method_generate_tangents>` to automatically generate normals and tangents respectively.
+\ **Note:** The mesh must have both normals and tangents defined in its vertex data. Otherwise, the normal map won't render correctly and will only appear to darken the whole surface. If creating geometry with :ref:`SurfaceTool<class_SurfaceTool>`, you can use :ref:`SurfaceTool.generate_normals<class_SurfaceTool_method_generate_normals>` and :ref:`SurfaceTool.generate_tangents<class_SurfaceTool_method_generate_tangents>` to automatically generate normals and tangents respectively.
 
-**Note:** Godot expects the normal map to use X+, Y-, and Z+ coordinates. See `this page <http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates>`__ for a comparison of normal map coordinates expected by popular engines.
+\ **Note:** Godot expects the normal map to use X+, Y+, and Z+ coordinates. See `this page <http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates>`__ for a comparison of normal map coordinates expected by popular engines.
 
 ----
 
@@ -2017,7 +2023,7 @@ Sets the strength of the rim lighting effect.
 
 If ``true``, rim effect is enabled. Rim lighting increases the brightness at glancing angles on an object.
 
-**Note:** Rim lighting is not visible if the material's :ref:`shading_mode<class_BaseMaterial3D_property_shading_mode>` is :ref:`SHADING_MODE_UNSHADED<class_BaseMaterial3D_constant_SHADING_MODE_UNSHADED>`.
+\ **Note:** Rim lighting is not visible if the material's :ref:`shading_mode<class_BaseMaterial3D_property_shading_mode>` is :ref:`SHADING_MODE_UNSHADED<class_BaseMaterial3D_constant_SHADING_MODE_UNSHADED>`.
 
 ----
 
@@ -2351,7 +2357,7 @@ If ``true``, transparency is enabled on the body. See also :ref:`blend_mode<clas
 
 If ``true``, render point size can be changed.
 
-**Note:** This is only effective for objects whose geometry is point-based rather than triangle-based. See also :ref:`point_size<class_BaseMaterial3D_property_point_size>`.
+\ **Note:** This is only effective for objects whose geometry is point-based rather than triangle-based. See also :ref:`point_size<class_BaseMaterial3D_property_point_size>`.
 
 ----
 

+ 2 - 2
classes/class_basis.rst

@@ -406,7 +406,7 @@ Operator Descriptions
 
 Returns ``true`` if the ``Basis`` matrices are not equal.
 
-**Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_Basis_method_is_equal_approx>` instead, which is more reliable.
+\ **Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_Basis_method_is_equal_approx>` instead, which is more reliable.
 
 ----
 
@@ -446,7 +446,7 @@ This operator multiplies all components of the ``Basis``, which scales it unifor
 
 Returns ``true`` if the ``Basis`` matrices are exactly equal.
 
-**Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_Basis_method_is_equal_approx>` instead, which is more reliable.
+\ **Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_Basis_method_is_equal_approx>` instead, which is more reliable.
 
 ----
 

+ 21 - 1
classes/class_bitmap.rst

@@ -21,6 +21,8 @@ A two-dimensional array of boolean values, can be used to efficiently store a bi
 Methods
 -------
 
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Image<class_Image>`     | :ref:`convert_to_image<class_BitMap_method_convert_to_image>` **(** **)** |const|                                                                                |
 +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                          | :ref:`create<class_BitMap_method_create>` **(** :ref:`Vector2<class_Vector2>` size **)**                                                                         |
 +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -36,6 +38,8 @@ Methods
 +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Array<class_Array>`     | :ref:`opaque_to_polygons<class_BitMap_method_opaque_to_polygons>` **(** :ref:`Rect2<class_Rect2>` rect, :ref:`float<class_float>` epsilon=2.0 **)** |const|      |
 +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`resize<class_BitMap_method_resize>` **(** :ref:`Vector2<class_Vector2>` new_size **)**                                                                     |
++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                          | :ref:`set_bit<class_BitMap_method_set_bit>` **(** :ref:`Vector2<class_Vector2>` position, :ref:`bool<class_bool>` bit **)**                                      |
 +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                          | :ref:`set_bit_rect<class_BitMap_method_set_bit_rect>` **(** :ref:`Rect2<class_Rect2>` rect, :ref:`bool<class_bool>` bit **)**                                    |
@@ -44,6 +48,14 @@ Methods
 Method Descriptions
 -------------------
 
+.. _class_BitMap_method_convert_to_image:
+
+- :ref:`Image<class_Image>` **convert_to_image** **(** **)** |const|
+
+Returns an image of the same size as the bitmap and with a :ref:`Format<enum_Image_Format>` of type ``FORMAT_L8``. ``true`` bits of the bitmap are being converted into white pixels, and ``false`` bits into black.
+
+----
+
 .. _class_BitMap_method_create:
 
 - void **create** **(** :ref:`Vector2<class_Vector2>` size **)**
@@ -104,7 +116,15 @@ To get polygons covering the whole bitmap, pass:
 
     Rect2(Vector2(), get_size())
 
-``epsilon`` is passed to RDP to control how accurately the polygons cover the bitmap: a lower ``epsilon`` corresponds to more points in the polygons.
+\ ``epsilon`` is passed to RDP to control how accurately the polygons cover the bitmap: a lower ``epsilon`` corresponds to more points in the polygons.
+
+----
+
+.. _class_BitMap_method_resize:
+
+- void **resize** **(** :ref:`Vector2<class_Vector2>` new_size **)**
+
+Resizes the image to ``new_size``.
 
 ----
 

+ 2 - 2
classes/class_bone2d.rst

@@ -100,7 +100,7 @@ Returns whether this ``Bone2D`` node is going to autocalculate its length and bo
 
 Returns the angle of the bone in the ``Bone2D`` node.
 
-**Note:** This is different from the ``Bone2D``'s rotation. The bone angle is the rotation of the bone shown by the ``Bone2D`` gizmo, and because ``Bone2D`` bones are based on positions, this can vary from the actual rotation of the ``Bone2D`` node.
+\ **Note:** This is different from the ``Bone2D``'s rotation. The bone angle is the rotation of the bone shown by the ``Bone2D`` gizmo, and because ``Bone2D`` bones are based on positions, this can vary from the actual rotation of the ``Bone2D`` node.
 
 ----
 
@@ -150,7 +150,7 @@ When set to ``true``, the ``Bone2D`` node will attempt to automatically calculat
 
 Sets the bone angle for the ``Bone2D`` node. This is typically set to the rotation from the ``Bone2D`` node to a child ``Bone2D`` node.
 
-**Note:** This is different from the ``Bone2D``'s rotation. The bone angle is the rotation of the bone shown by the ``Bone2D`` gizmo, and because ``Bone2D`` bones are based on positions, this can vary from the actual rotation of the ``Bone2D`` node.
+\ **Note:** This is different from the ``Bone2D``'s rotation. The bone angle is the rotation of the bone shown by the ``Bone2D`` gizmo, and because ``Bone2D`` bones are based on positions, this can vary from the actual rotation of the ``Bone2D`` node.
 
 ----
 

+ 1 - 1
classes/class_bool.rst

@@ -45,7 +45,7 @@ Booleans can be directly used in ``if`` statements. The code below demonstrates
 
 The following code will only create a bullet if both conditions are met: action "shoot" is pressed and if ``can_shoot`` is ``true``.
 
-**Note:** ``Input.is_action_pressed("shoot")`` is also a boolean that is ``true`` when "shoot" is pressed and ``false`` when "shoot" isn't pressed.
+\ **Note:** ``Input.is_action_pressed("shoot")`` is also a boolean that is ``true`` when "shoot" is pressed and ``false`` when "shoot" isn't pressed.
 
 
 .. tabs::

+ 13 - 13
classes/class_boxcontainer.rst

@@ -23,9 +23,9 @@ Arranges child :ref:`Control<class_Control>` nodes vertically or horizontally, a
 Properties
 ----------
 
-+-----------------------------------------------+---------------------------------------------------------+-------+
-| :ref:`AlignMode<enum_BoxContainer_AlignMode>` | :ref:`alignment<class_BoxContainer_property_alignment>` | ``0`` |
-+-----------------------------------------------+---------------------------------------------------------+-------+
++-------------------------------------------------------+---------------------------------------------------------+-------+
+| :ref:`AlignmentMode<enum_BoxContainer_AlignmentMode>` | :ref:`alignment<class_BoxContainer_property_alignment>` | ``0`` |
++-------------------------------------------------------+---------------------------------------------------------+-------+
 
 Methods
 -------
@@ -37,28 +37,28 @@ Methods
 Enumerations
 ------------
 
-.. _enum_BoxContainer_AlignMode:
+.. _enum_BoxContainer_AlignmentMode:
 
-.. _class_BoxContainer_constant_ALIGN_BEGIN:
+.. _class_BoxContainer_constant_ALIGNMENT_BEGIN:
 
-.. _class_BoxContainer_constant_ALIGN_CENTER:
+.. _class_BoxContainer_constant_ALIGNMENT_CENTER:
 
-.. _class_BoxContainer_constant_ALIGN_END:
+.. _class_BoxContainer_constant_ALIGNMENT_END:
 
-enum **AlignMode**:
+enum **AlignmentMode**:
 
-- **ALIGN_BEGIN** = **0** --- Aligns children with the beginning of the container.
+- **ALIGNMENT_BEGIN** = **0**
 
-- **ALIGN_CENTER** = **1** --- Aligns children with the center of the container.
+- **ALIGNMENT_CENTER** = **1**
 
-- **ALIGN_END** = **2** --- Aligns children with the end of the container.
+- **ALIGNMENT_END** = **2**
 
 Property Descriptions
 ---------------------
 
 .. _class_BoxContainer_property_alignment:
 
-- :ref:`AlignMode<enum_BoxContainer_AlignMode>` **alignment**
+- :ref:`AlignmentMode<enum_BoxContainer_AlignmentMode>` **alignment**
 
 +-----------+----------------------+
 | *Default* | ``0``                |
@@ -68,7 +68,7 @@ Property Descriptions
 | *Getter*  | get_alignment()      |
 +-----------+----------------------+
 
-The alignment of the container's children (must be one of :ref:`ALIGN_BEGIN<class_BoxContainer_constant_ALIGN_BEGIN>`, :ref:`ALIGN_CENTER<class_BoxContainer_constant_ALIGN_CENTER>`, or :ref:`ALIGN_END<class_BoxContainer_constant_ALIGN_END>`).
+The alignment of the container's children (must be one of :ref:`ALIGNMENT_BEGIN<class_BoxContainer_constant_ALIGNMENT_BEGIN>`, :ref:`ALIGNMENT_CENTER<class_BoxContainer_constant_ALIGNMENT_CENTER>`, or :ref:`ALIGNMENT_END<class_BoxContainer_constant_ALIGNMENT_END>`).
 
 Method Descriptions
 -------------------

+ 1 - 1
classes/class_boxmesh.rst

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

+ 149 - 168
classes/class_button.rst

@@ -20,7 +20,7 @@ Description
 
 Button is the standard themed button. It can contain text and an icon, and will display them according to the current :ref:`Theme<class_Theme>`.
 
-**Example of creating a button and assigning an action when pressed by code:**
+\ **Example of creating a button and assigning an action when pressed by code:**\ 
 
 
 .. tabs::
@@ -57,7 +57,7 @@ Buttons (like all Control nodes) can also be created in the editor, but some sit
 
 See also :ref:`BaseButton<class_BaseButton>` which contains common properties and methods associated with this node.
 
-**Note:** Buttons do not interpret touch input and therefore don't support multitouch, since mouse emulation can only press one button at a given time. Use :ref:`TouchScreenButton<class_TouchScreenButton>` for buttons that trigger gameplay movement or actions, as :ref:`TouchScreenButton<class_TouchScreenButton>` supports multitouch.
+\ **Note:** Buttons do not interpret touch input and therefore don't support multitouch, since mouse emulation can only press one button at a given time. Use :ref:`TouchScreenButton<class_TouchScreenButton>` for buttons that trigger gameplay movement or actions, as :ref:`TouchScreenButton<class_TouchScreenButton>` supports multitouch.
 
 Tutorials
 ---------
@@ -69,25 +69,25 @@ Tutorials
 Properties
 ----------
 
-+--------------------------------------------------+-------------------------------------------------------------+-----------+
-| :ref:`TextAlign<enum_Button_TextAlign>`          | :ref:`align<class_Button_property_align>`                   | ``1``     |
-+--------------------------------------------------+-------------------------------------------------------------+-----------+
-| :ref:`bool<class_bool>`                          | :ref:`clip_text<class_Button_property_clip_text>`           | ``false`` |
-+--------------------------------------------------+-------------------------------------------------------------+-----------+
-| :ref:`bool<class_bool>`                          | :ref:`expand_icon<class_Button_property_expand_icon>`       | ``false`` |
-+--------------------------------------------------+-------------------------------------------------------------+-----------+
-| :ref:`bool<class_bool>`                          | :ref:`flat<class_Button_property_flat>`                     | ``false`` |
-+--------------------------------------------------+-------------------------------------------------------------+-----------+
-| :ref:`Texture2D<class_Texture2D>`                | :ref:`icon<class_Button_property_icon>`                     |           |
-+--------------------------------------------------+-------------------------------------------------------------+-----------+
-| :ref:`TextAlign<enum_Button_TextAlign>`          | :ref:`icon_align<class_Button_property_icon_align>`         | ``0``     |
-+--------------------------------------------------+-------------------------------------------------------------+-----------+
-| :ref:`String<class_String>`                      | :ref:`language<class_Button_property_language>`             | ``""``    |
-+--------------------------------------------------+-------------------------------------------------------------+-----------+
-| :ref:`String<class_String>`                      | :ref:`text<class_Button_property_text>`                     | ``""``    |
-+--------------------------------------------------+-------------------------------------------------------------+-----------+
-| :ref:`TextDirection<enum_Control_TextDirection>` | :ref:`text_direction<class_Button_property_text_direction>` | ``0``     |
-+--------------------------------------------------+-------------------------------------------------------------+-----------+
++-------------------------------------------------------------------+-------------------------------------------------------------+-----------+
+| :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` | :ref:`alignment<class_Button_property_alignment>`           | ``1``     |
++-------------------------------------------------------------------+-------------------------------------------------------------+-----------+
+| :ref:`bool<class_bool>`                                           | :ref:`clip_text<class_Button_property_clip_text>`           | ``false`` |
++-------------------------------------------------------------------+-------------------------------------------------------------+-----------+
+| :ref:`bool<class_bool>`                                           | :ref:`expand_icon<class_Button_property_expand_icon>`       | ``false`` |
++-------------------------------------------------------------------+-------------------------------------------------------------+-----------+
+| :ref:`bool<class_bool>`                                           | :ref:`flat<class_Button_property_flat>`                     | ``false`` |
++-------------------------------------------------------------------+-------------------------------------------------------------+-----------+
+| :ref:`Texture2D<class_Texture2D>`                                 | :ref:`icon<class_Button_property_icon>`                     |           |
++-------------------------------------------------------------------+-------------------------------------------------------------+-----------+
+| :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` | :ref:`icon_alignment<class_Button_property_icon_alignment>` | ``0``     |
++-------------------------------------------------------------------+-------------------------------------------------------------+-----------+
+| :ref:`String<class_String>`                                       | :ref:`language<class_Button_property_language>`             | ``""``    |
++-------------------------------------------------------------------+-------------------------------------------------------------+-----------+
+| :ref:`String<class_String>`                                       | :ref:`text<class_Button_property_text>`                     | ``""``    |
++-------------------------------------------------------------------+-------------------------------------------------------------+-----------+
+| :ref:`TextDirection<enum_Control_TextDirection>`                  | :ref:`text_direction<class_Button_property_text_direction>` | ``0``     |
++-------------------------------------------------------------------+-------------------------------------------------------------+-----------+
 
 Methods
 -------
@@ -103,87 +103,68 @@ Methods
 Theme Properties
 ----------------
 
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>` | :ref:`disabled<class_Button_theme_style_disabled>`                                 |                                |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>` | :ref:`focus<class_Button_theme_style_focus>`                                       |                                |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Font<class_Font>`         | :ref:`font<class_Button_theme_font_font>`                                          |                                |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`       | :ref:`font_color<class_Button_theme_color_font_color>`                             | ``Color(0.88, 0.88, 0.88, 1)`` |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`       | :ref:`font_disabled_color<class_Button_theme_color_font_disabled_color>`           | ``Color(0.9, 0.9, 0.9, 0.2)``  |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`       | :ref:`font_focus_color<class_Button_theme_color_font_focus_color>`                 | ``Color(0.94, 0.94, 0.94, 1)`` |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`       | :ref:`font_hover_color<class_Button_theme_color_font_hover_color>`                 | ``Color(0.94, 0.94, 0.94, 1)`` |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`       | :ref:`font_hover_pressed_color<class_Button_theme_color_font_hover_pressed_color>` | ``Color(1, 1, 1, 1)``          |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`       | :ref:`font_outline_color<class_Button_theme_color_font_outline_color>`             | ``Color(1, 1, 1, 1)``          |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`       | :ref:`font_pressed_color<class_Button_theme_color_font_pressed_color>`             | ``Color(1, 1, 1, 1)``          |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`int<class_int>`           | :ref:`font_size<class_Button_theme_font_size_font_size>`                           |                                |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>` | :ref:`hover<class_Button_theme_style_hover>`                                       |                                |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`int<class_int>`           | :ref:`hseparation<class_Button_theme_constant_hseparation>`                        | ``2``                          |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`       | :ref:`icon_disabled_color<class_Button_theme_color_icon_disabled_color>`           | ``Color(1, 1, 1, 1)``          |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`       | :ref:`icon_focus_color<class_Button_theme_color_icon_focus_color>`                 | ``Color(1, 1, 1, 1)``          |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`       | :ref:`icon_hover_color<class_Button_theme_color_icon_hover_color>`                 | ``Color(1, 1, 1, 1)``          |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`       | :ref:`icon_hover_pressed_color<class_Button_theme_color_icon_hover_pressed_color>` | ``Color(1, 1, 1, 1)``          |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`       | :ref:`icon_normal_color<class_Button_theme_color_icon_normal_color>`               | ``Color(1, 1, 1, 1)``          |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`       | :ref:`icon_pressed_color<class_Button_theme_color_icon_pressed_color>`             | ``Color(1, 1, 1, 1)``          |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>` | :ref:`normal<class_Button_theme_style_normal>`                                     |                                |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`int<class_int>`           | :ref:`outline_size<class_Button_theme_constant_outline_size>`                      | ``0``                          |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>` | :ref:`pressed<class_Button_theme_style_pressed>`                                   |                                |
-+---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
-
-Enumerations
-------------
-
-.. _enum_Button_TextAlign:
-
-.. _class_Button_constant_ALIGN_LEFT:
-
-.. _class_Button_constant_ALIGN_CENTER:
-
-.. _class_Button_constant_ALIGN_RIGHT:
-
-enum **TextAlign**:
-
-- **ALIGN_LEFT** = **0** --- Align the text to the left.
-
-- **ALIGN_CENTER** = **1** --- Align the text to the center.
-
-- **ALIGN_RIGHT** = **2** --- Align the text to the right.
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`font_color<class_Button_theme_color_font_color>`                             | ``Color(0.875, 0.875, 0.875, 1)``   |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`font_disabled_color<class_Button_theme_color_font_disabled_color>`           | ``Color(0.875, 0.875, 0.875, 0.5)`` |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`font_focus_color<class_Button_theme_color_font_focus_color>`                 | ``Color(0.95, 0.95, 0.95, 1)``      |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`font_hover_color<class_Button_theme_color_font_hover_color>`                 | ``Color(0.95, 0.95, 0.95, 1)``      |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`font_hover_pressed_color<class_Button_theme_color_font_hover_pressed_color>` | ``Color(1, 1, 1, 1)``               |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`font_outline_color<class_Button_theme_color_font_outline_color>`             | ``Color(1, 1, 1, 1)``               |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`font_pressed_color<class_Button_theme_color_font_pressed_color>`             | ``Color(1, 1, 1, 1)``               |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`icon_disabled_color<class_Button_theme_color_icon_disabled_color>`           | ``Color(1, 1, 1, 1)``               |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`icon_focus_color<class_Button_theme_color_icon_focus_color>`                 | ``Color(1, 1, 1, 1)``               |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`icon_hover_color<class_Button_theme_color_icon_hover_color>`                 | ``Color(1, 1, 1, 1)``               |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`icon_hover_pressed_color<class_Button_theme_color_icon_hover_pressed_color>` | ``Color(1, 1, 1, 1)``               |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`icon_normal_color<class_Button_theme_color_icon_normal_color>`               | ``Color(1, 1, 1, 1)``               |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`icon_pressed_color<class_Button_theme_color_icon_pressed_color>`             | ``Color(1, 1, 1, 1)``               |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`           | :ref:`hseparation<class_Button_theme_constant_hseparation>`                        | ``2``                               |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`           | :ref:`outline_size<class_Button_theme_constant_outline_size>`                      | ``0``                               |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Font<class_Font>`         | :ref:`font<class_Button_theme_font_font>`                                          |                                     |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`           | :ref:`font_size<class_Button_theme_font_size_font_size>`                           |                                     |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>` | :ref:`disabled<class_Button_theme_style_disabled>`                                 |                                     |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>` | :ref:`focus<class_Button_theme_style_focus>`                                       |                                     |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>` | :ref:`hover<class_Button_theme_style_hover>`                                       |                                     |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>` | :ref:`normal<class_Button_theme_style_normal>`                                     |                                     |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>` | :ref:`pressed<class_Button_theme_style_pressed>`                                   |                                     |
++---------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
 
 Property Descriptions
 ---------------------
 
-.. _class_Button_property_align:
+.. _class_Button_property_alignment:
 
-- :ref:`TextAlign<enum_Button_TextAlign>` **align**
+- :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **alignment**
 
-+-----------+-----------------------+
-| *Default* | ``1``                 |
-+-----------+-----------------------+
-| *Setter*  | set_text_align(value) |
-+-----------+-----------------------+
-| *Getter*  | get_text_align()      |
-+-----------+-----------------------+
++-----------+---------------------------+
+| *Default* | ``1``                     |
++-----------+---------------------------+
+| *Setter*  | set_text_alignment(value) |
++-----------+---------------------------+
+| *Getter*  | get_text_alignment()      |
++-----------+---------------------------+
 
-Text alignment policy for the button's text, use one of the :ref:`TextAlign<enum_Button_TextAlign>` constants.
+Text alignment policy for the button's text, use one of the :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` constants.
 
 ----
 
@@ -251,19 +232,19 @@ To edit margin and spacing of the icon, use :ref:`hseparation<class_Button_theme
 
 ----
 
-.. _class_Button_property_icon_align:
+.. _class_Button_property_icon_alignment:
 
-- :ref:`TextAlign<enum_Button_TextAlign>` **icon_align**
+- :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **icon_alignment**
 
-+-----------+-----------------------+
-| *Default* | ``0``                 |
-+-----------+-----------------------+
-| *Setter*  | set_icon_align(value) |
-+-----------+-----------------------+
-| *Getter*  | get_icon_align()      |
-+-----------+-----------------------+
++-----------+---------------------------+
+| *Default* | ``0``                     |
++-----------+---------------------------+
+| *Setter*  | set_icon_alignment(value) |
++-----------+---------------------------+
+| *Getter*  | get_icon_alignment()      |
++-----------+---------------------------+
 
-Specifies if the icon should be aligned to the left, right, or center of a button. Uses the same :ref:`TextAlign<enum_Button_TextAlign>` constants as the text alignment. If centered, text will draw on top of the icon.
+Specifies if the icon should be aligned to the left, right, or center of a button. Uses the same :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` constants as the text alignment. If centered, text will draw on top of the icon.
 
 ----
 
@@ -341,37 +322,13 @@ Sets OpenType feature ``tag``. More info: `OpenType feature tags <https://docs.m
 Theme Property Descriptions
 ---------------------------
 
-.. _class_Button_theme_style_disabled:
-
-- :ref:`StyleBox<class_StyleBox>` **disabled**
-
-:ref:`StyleBox<class_StyleBox>` used when the ``Button`` is disabled.
-
-----
-
-.. _class_Button_theme_style_focus:
-
-- :ref:`StyleBox<class_StyleBox>` **focus**
-
-:ref:`StyleBox<class_StyleBox>` used when the ``Button`` is focused. It is displayed over the current :ref:`StyleBox<class_StyleBox>`, so using :ref:`StyleBoxEmpty<class_StyleBoxEmpty>` will just disable the focus visual effect.
-
-----
-
-.. _class_Button_theme_font_font:
-
-- :ref:`Font<class_Font>` **font**
-
-:ref:`Font<class_Font>` of the ``Button``'s text.
-
-----
-
 .. _class_Button_theme_color_font_color:
 
 - :ref:`Color<class_Color>` **font_color**
 
-+-----------+--------------------------------+
-| *Default* | ``Color(0.88, 0.88, 0.88, 1)`` |
-+-----------+--------------------------------+
++-----------+-----------------------------------+
+| *Default* | ``Color(0.875, 0.875, 0.875, 1)`` |
++-----------+-----------------------------------+
 
 Default text :ref:`Color<class_Color>` of the ``Button``.
 
@@ -381,9 +338,9 @@ Default text :ref:`Color<class_Color>` of the ``Button``.
 
 - :ref:`Color<class_Color>` **font_disabled_color**
 
-+-----------+-------------------------------+
-| *Default* | ``Color(0.9, 0.9, 0.9, 0.2)`` |
-+-----------+-------------------------------+
++-----------+-------------------------------------+
+| *Default* | ``Color(0.875, 0.875, 0.875, 0.5)`` |
++-----------+-------------------------------------+
 
 Text :ref:`Color<class_Color>` used when the ``Button`` is disabled.
 
@@ -394,7 +351,7 @@ Text :ref:`Color<class_Color>` used when the ``Button`` is disabled.
 - :ref:`Color<class_Color>` **font_focus_color**
 
 +-----------+--------------------------------+
-| *Default* | ``Color(0.94, 0.94, 0.94, 1)`` |
+| *Default* | ``Color(0.95, 0.95, 0.95, 1)`` |
 +-----------+--------------------------------+
 
 Text :ref:`Color<class_Color>` used when the ``Button`` is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
@@ -406,7 +363,7 @@ Text :ref:`Color<class_Color>` used when the ``Button`` is focused. Only replace
 - :ref:`Color<class_Color>` **font_hover_color**
 
 +-----------+--------------------------------+
-| *Default* | ``Color(0.94, 0.94, 0.94, 1)`` |
+| *Default* | ``Color(0.95, 0.95, 0.95, 1)`` |
 +-----------+--------------------------------+
 
 Text :ref:`Color<class_Color>` used when the ``Button`` is being hovered.
@@ -449,34 +406,6 @@ Text :ref:`Color<class_Color>` used when the ``Button`` is being pressed.
 
 ----
 
-.. _class_Button_theme_font_size_font_size:
-
-- :ref:`int<class_int>` **font_size**
-
-Font size of the ``Button``'s text.
-
-----
-
-.. _class_Button_theme_style_hover:
-
-- :ref:`StyleBox<class_StyleBox>` **hover**
-
-:ref:`StyleBox<class_StyleBox>` used when the ``Button`` is being hovered.
-
-----
-
-.. _class_Button_theme_constant_hseparation:
-
-- :ref:`int<class_int>` **hseparation**
-
-+-----------+-------+
-| *Default* | ``2`` |
-+-----------+-------+
-
-The horizontal space between ``Button``'s icon and text.
-
-----
-
 .. _class_Button_theme_color_icon_disabled_color:
 
 - :ref:`Color<class_Color>` **icon_disabled_color**
@@ -549,11 +478,15 @@ Icon modulate :ref:`Color<class_Color>` used when the ``Button`` is being presse
 
 ----
 
-.. _class_Button_theme_style_normal:
+.. _class_Button_theme_constant_hseparation:
 
-- :ref:`StyleBox<class_StyleBox>` **normal**
+- :ref:`int<class_int>` **hseparation**
 
-Default :ref:`StyleBox<class_StyleBox>` for the ``Button``.
++-----------+-------+
+| *Default* | ``2`` |
++-----------+-------+
+
+The horizontal space between ``Button``'s icon and text.
 
 ----
 
@@ -569,6 +502,54 @@ The size of the text outline.
 
 ----
 
+.. _class_Button_theme_font_font:
+
+- :ref:`Font<class_Font>` **font**
+
+:ref:`Font<class_Font>` of the ``Button``'s text.
+
+----
+
+.. _class_Button_theme_font_size_font_size:
+
+- :ref:`int<class_int>` **font_size**
+
+Font size of the ``Button``'s text.
+
+----
+
+.. _class_Button_theme_style_disabled:
+
+- :ref:`StyleBox<class_StyleBox>` **disabled**
+
+:ref:`StyleBox<class_StyleBox>` used when the ``Button`` is disabled.
+
+----
+
+.. _class_Button_theme_style_focus:
+
+- :ref:`StyleBox<class_StyleBox>` **focus**
+
+:ref:`StyleBox<class_StyleBox>` used when the ``Button`` is focused. The ``focus`` :ref:`StyleBox<class_StyleBox>` is displayed *over* the base :ref:`StyleBox<class_StyleBox>`, so a partially transparent :ref:`StyleBox<class_StyleBox>` should be used to ensure the base :ref:`StyleBox<class_StyleBox>` remains visible. A :ref:`StyleBox<class_StyleBox>` that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a :ref:`StyleBoxEmpty<class_StyleBoxEmpty>` resource. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
+
+----
+
+.. _class_Button_theme_style_hover:
+
+- :ref:`StyleBox<class_StyleBox>` **hover**
+
+:ref:`StyleBox<class_StyleBox>` used when the ``Button`` is being hovered.
+
+----
+
+.. _class_Button_theme_style_normal:
+
+- :ref:`StyleBox<class_StyleBox>` **normal**
+
+Default :ref:`StyleBox<class_StyleBox>` for the ``Button``.
+
+----
+
 .. _class_Button_theme_style_pressed:
 
 - :ref:`StyleBox<class_StyleBox>` **pressed**

+ 5 - 5
classes/class_buttongroup.rst

@@ -18,14 +18,14 @@ Description
 
 Group of :ref:`Button<class_Button>`. All direct and indirect children buttons become radios. Only one allows being pressed.
 
-:ref:`BaseButton.toggle_mode<class_BaseButton_property_toggle_mode>` should be ``true``.
+\ :ref:`BaseButton.toggle_mode<class_BaseButton_property_toggle_mode>` should be ``true``.
 
 Properties
 ----------
 
-+-------------------------+-------------------------+------------------------------+
-| :ref:`bool<class_bool>` | resource_local_to_scene | ``true`` *(parent override)* |
-+-------------------------+-------------------------+------------------------------+
++-------------------------+-------------------------+---------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | resource_local_to_scene | ``true`` (overrides :ref:`Resource<class_Resource_property_resource_local_to_scene>`) |
++-------------------------+-------------------------+---------------------------------------------------------------------------------------+
 
 Methods
 -------
@@ -41,7 +41,7 @@ Signals
 
 .. _class_ButtonGroup_signal_pressed:
 
-- **pressed** **(** :ref:`Object<class_Object>` button **)**
+- **pressed** **(** :ref:`BaseButton<class_BaseButton>` button **)**
 
 Emitted when one of the buttons of the group is pressed.
 

+ 1 - 1
classes/class_callable.rst

@@ -16,7 +16,7 @@ Description
 
 ``Callable`` is a first class object which can be held in variables and passed to functions. It represents a given method in an :ref:`Object<class_Object>`, and is typically used for signal callbacks.
 
-**Example:**
+\ **Example:**\ 
 
 
 .. tabs::

+ 1 - 1
classes/class_callbacktweener.rst

@@ -18,7 +18,7 @@ Description
 
 ``CallbackTweener`` is used to call a method in a tweening sequence. See :ref:`Tween.tween_callback<class_Tween_method_tween_callback>` for more usage information.
 
-**Note:** :ref:`Tween.tween_callback<class_Tween_method_tween_callback>` is the only correct way to create ``CallbackTweener``. Any ``CallbackTweener`` created manually will not function correctly.
+\ **Note:** :ref:`Tween.tween_callback<class_Tween_method_tween_callback>` is the only correct way to create ``CallbackTweener``. Any ``CallbackTweener`` created manually will not function correctly.
 
 Methods
 -------

+ 16 - 12
classes/class_camera2d.rst

@@ -235,7 +235,7 @@ If ``true``, the camera only moves when reaching the horizontal (left and right)
 
 The relative horizontal drag offset of the camera between the right (``-1``) and left (``1``) drag margins.
 
-**Note:** Used to set the initial horizontal drag offset; determine the current offset; or force the current offset. It's not automatically updated when the horizontal drag margin is enabled or the drag margins are changed.
+\ **Note:** Used to set the initial horizontal drag offset; determine the current offset; or force the current offset. It's not automatically updated when :ref:`drag_horizontal_enabled<class_Camera2D_property_drag_horizontal_enabled>` is ``true`` or the drag margins are changed.
 
 ----
 
@@ -317,7 +317,7 @@ If ``true``, the camera only moves when reaching the vertical (top and bottom) d
 
 The relative vertical drag offset of the camera between the bottom (``-1``) and top (``1``) drag margins.
 
-**Note:** Used to set the initial vertical drag offset; determine the current offset; or force the current offset. It's not automatically updated when the vertical drag margin is enabled or the drag margins are changed.
+\ **Note:** Used to set the initial vertical drag offset; determine the current offset; or force the current offset. It's not automatically updated when :ref:`drag_vertical_enabled<class_Camera2D_property_drag_vertical_enabled>` is ``true`` or the drag margins are changed.
 
 ----
 
@@ -381,7 +381,7 @@ If ``true``, draws the camera's screen rectangle in the editor.
 | *Getter*  | get_limit()      |
 +-----------+------------------+
 
-Bottom scroll limit in pixels. The camera stops moving when reaching this value.
+Bottom scroll limit in pixels. The camera stops moving when reaching this value, but :ref:`offset<class_Camera2D_property_offset>` can push the view past the limit.
 
 ----
 
@@ -397,7 +397,7 @@ Bottom scroll limit in pixels. The camera stops moving when reaching this value.
 | *Getter*  | get_limit()      |
 +-----------+------------------+
 
-Left scroll limit in pixels. The camera stops moving when reaching this value.
+Left scroll limit in pixels. The camera stops moving when reaching this value, but :ref:`offset<class_Camera2D_property_offset>` can push the view past the limit.
 
 ----
 
@@ -413,7 +413,7 @@ Left scroll limit in pixels. The camera stops moving when reaching this value.
 | *Getter*  | get_limit()      |
 +-----------+------------------+
 
-Right scroll limit in pixels. The camera stops moving when reaching this value.
+Right scroll limit in pixels. The camera stops moving when reaching this value, but :ref:`offset<class_Camera2D_property_offset>` can push the view past the limit.
 
 ----
 
@@ -431,9 +431,9 @@ Right scroll limit in pixels. The camera stops moving when reaching this value.
 
 If ``true``, the camera smoothly stops when reaches its limits.
 
-This has no effect if smoothing is disabled.
+This property has no effect if :ref:`smoothing_enabled<class_Camera2D_property_smoothing_enabled>` is ``false``.
 
-**Note:** To immediately update the camera's position to be within limits without smoothing, even with this setting enabled, invoke :ref:`reset_smoothing<class_Camera2D_method_reset_smoothing>`.
+\ **Note:** To immediately update the camera's position to be within limits without smoothing, even with this setting enabled, invoke :ref:`reset_smoothing<class_Camera2D_method_reset_smoothing>`.
 
 ----
 
@@ -449,7 +449,7 @@ This has no effect if smoothing is disabled.
 | *Getter*  | get_limit()      |
 +-----------+------------------+
 
-Top scroll limit in pixels. The camera stops moving when reaching this value.
+Top scroll limit in pixels. The camera stops moving when reaching this value, but :ref:`offset<class_Camera2D_property_offset>` can push the view past the limit.
 
 ----
 
@@ -465,7 +465,7 @@ Top scroll limit in pixels. The camera stops moving when reaching this value.
 | *Getter*  | get_offset()      |
 +-----------+-------------------+
 
-The camera's offset, useful for looking around or camera shake animations.
+The camera's relative offset. Useful for looking around or camera shake animations. The offsetted camera can go past the limits defined in :ref:`limit_top<class_Camera2D_property_limit_top>`, :ref:`limit_bottom<class_Camera2D_property_limit_bottom>`, :ref:`limit_left<class_Camera2D_property_limit_left>` and :ref:`limit_right<class_Camera2D_property_limit_right>`.
 
 ----
 
@@ -497,7 +497,7 @@ The camera's process callback. See :ref:`Camera2DProcessCallback<enum_Camera2D_C
 | *Getter*  | is_rotating()       |
 +-----------+---------------------+
 
-If ``true``, the camera rotates with the target.
+If ``true``, the camera view rotates with the target.
 
 ----
 
@@ -570,7 +570,9 @@ Forces the camera to update scroll immediately.
 
 - :ref:`Vector2<class_Vector2>` **get_camera_position** **(** **)** |const|
 
-Returns the camera position.
+Returns the camera's ``position`` (the tracked point the camera attempts to follow), relative to the origin.
+
+\ **Note:** The returned value is not the same as :ref:`Node2D.position<class_Node2D_property_position>` or :ref:`Node2D.global_position<class_Node2D_property_global_position>`, as it is affected by the ``drag`` properties.
 
 ----
 
@@ -580,6 +582,8 @@ Returns the camera position.
 
 Returns the location of the ``Camera2D``'s screen-center, relative to the origin.
 
+\ **Note:** The real ``position`` of the camera may be different, see :ref:`get_camera_position<class_Camera2D_method_get_camera_position>`.
+
 ----
 
 .. _class_Camera2D_method_get_drag_margin:
@@ -604,7 +608,7 @@ Returns the camera limit for the specified :ref:`Side<enum_@GlobalScope_Side>`.
 
 Sets the camera's position immediately to its current smoothing destination.
 
-This has no effect if smoothing is disabled.
+This method has no effect if :ref:`smoothing_enabled<class_Camera2D_property_smoothing_enabled>` is ``false``.
 
 ----
 

+ 4 - 4
classes/class_camera3d.rst

@@ -146,9 +146,9 @@ enum **DopplerTracking**:
 
 - **DOPPLER_TRACKING_DISABLED** = **0** --- Disables `Doppler effect <https://en.wikipedia.org/wiki/Doppler_effect>`__ simulation (default).
 
-- **DOPPLER_TRACKING_IDLE_STEP** = **1** --- Simulate `Doppler effect <https://en.wikipedia.org/wiki/Doppler_effect>`__ by tracking positions of objects that are changed in ``_process``. Changes in the relative velocity of this camera compared to those objects affect how Audio is perceived (changing the Audio's ``pitch shift``).
+- **DOPPLER_TRACKING_IDLE_STEP** = **1** --- Simulate `Doppler effect <https://en.wikipedia.org/wiki/Doppler_effect>`__ by tracking positions of objects that are changed in ``_process``. Changes in the relative velocity of this camera compared to those objects affect how audio is perceived (changing the audio's :ref:`AudioStreamPlayer3D.pitch_scale<class_AudioStreamPlayer3D_property_pitch_scale>`).
 
-- **DOPPLER_TRACKING_PHYSICS_STEP** = **2** --- Simulate `Doppler effect <https://en.wikipedia.org/wiki/Doppler_effect>`__ by tracking positions of objects that are changed in ``_physics_process``. Changes in the relative velocity of this camera compared to those objects affect how Audio is perceived (changing the Audio's ``pitch shift``).
+- **DOPPLER_TRACKING_PHYSICS_STEP** = **2** --- Simulate `Doppler effect <https://en.wikipedia.org/wiki/Doppler_effect>`__ by tracking positions of objects that are changed in ``_physics_process``. Changes in the relative velocity of this camera compared to those objects affect how audio is perceived (changing the audio's :ref:`AudioStreamPlayer3D.pitch_scale<class_AudioStreamPlayer3D_property_pitch_scale>`).
 
 Property Descriptions
 ---------------------
@@ -438,7 +438,7 @@ Returns the RID of a pyramid shape encompassing the camera's view frustum, ignor
 
 Returns ``true`` if the given position is behind the camera (the blue part of the linked diagram). `See this diagram <https://raw.githubusercontent.com/godotengine/godot-docs/master/img/camera3d_position_frustum.png>`__ for an overview of position query methods.
 
-**Note:** A position which returns ``false`` may still be outside the camera's field of view.
+\ **Note:** A position which returns ``false`` may still be outside the camera's field of view.
 
 ----
 
@@ -528,7 +528,7 @@ Sets the camera projection to perspective mode (see :ref:`PROJECTION_PERSPECTIVE
 
 Returns the 2D coordinate in the :ref:`Viewport<class_Viewport>` rectangle that maps to the given 3D point in world space.
 
-**Note:** When using this to position GUI elements over a 3D viewport, use :ref:`is_position_behind<class_Camera3D_method_is_position_behind>` to prevent them from appearing if the 3D point is behind the camera:
+\ **Note:** When using this to position GUI elements over a 3D viewport, use :ref:`is_position_behind<class_Camera3D_method_is_position_behind>` to prevent them from appearing if the 3D point is behind the camera:
 
 ::
 

+ 1 - 1
classes/class_camerafeed.rst

@@ -18,7 +18,7 @@ Description
 
 A camera feed gives you access to a single physical camera attached to your device. When enabled, Godot will start capturing frames from the camera which can then be used. See also :ref:`CameraServer<class_CameraServer>`.
 
-**Note:** Many cameras will return YCbCr images which are split into two textures and need to be combined in a shader. Godot does this automatically for you if you set the environment to show the camera image in the background.
+\ **Note:** Many cameras will return YCbCr images which are split into two textures and need to be combined in a shader. Godot does this automatically for you if you set the environment to show the camera image in the background.
 
 Properties
 ----------

+ 1 - 1
classes/class_cameraserver.rst

@@ -20,7 +20,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. On other platforms, no :ref:`CameraFeed<class_CameraFeed>`\ s will be available.
 
 Methods
 -------

+ 1 - 1
classes/class_cameratexture.rst

@@ -18,7 +18,7 @@ Description
 
 This texture gives access to the camera texture provided by a :ref:`CameraFeed<class_CameraFeed>`.
 
-**Note:** Many cameras supply YCbCr images which need to be converted in a shader.
+\ **Note:** Many cameras supply YCbCr images which need to be converted in a shader.
 
 Properties
 ----------

+ 120 - 120
classes/class_canvasitem.rst

@@ -28,7 +28,7 @@ A ``CanvasItem`` can also be hidden, which will also hide its children. It provi
 
 Ultimately, a transform notification can be requested, which will notify the node that its global position changed in case the parent tree changed.
 
-**Note:** Unless otherwise specified, all methods that have angle parameters must have angles specified as *radians*. To convert degrees to radians, use :ref:`@GlobalScope.deg2rad<class_@GlobalScope_method_deg2rad>`.
+\ **Note:** Unless otherwise specified, all methods that have angle parameters must have angles specified as *radians*. To convert degrees to radians, use :ref:`@GlobalScope.deg2rad<class_@GlobalScope_method_deg2rad>`.
 
 Tutorials
 ---------
@@ -71,103 +71,103 @@ Properties
 Methods
 -------
 
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`_draw<class_CanvasItem_method__draw>` **(** **)** |virtual|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_animation_slice<class_CanvasItem_method_draw_animation_slice>` **(** :ref:`float<class_float>` animation_length, :ref:`float<class_float>` slice_begin, :ref:`float<class_float>` slice_end, :ref:`float<class_float>` offset=0.0 **)**                                                                                                                                                                                                                                                                                                  |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_arc<class_CanvasItem_method_draw_arc>` **(** :ref:`Vector2<class_Vector2>` center, :ref:`float<class_float>` radius, :ref:`float<class_float>` start_angle, :ref:`float<class_float>` end_angle, :ref:`int<class_int>` point_count, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`             | :ref:`draw_char<class_CanvasItem_method_draw_char>` **(** :ref:`Font<class_Font>` font, :ref:`Vector2<class_Vector2>` pos, :ref:`String<class_String>` char, :ref:`String<class_String>` next="", :ref:`int<class_int>` size=16, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`int<class_int>` outline_size=0, :ref:`Color<class_Color>` outline_modulate=Color(1, 1, 1, 0) **)** |const|                                                                                                                                             |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_circle<class_CanvasItem_method_draw_circle>` **(** :ref:`Vector2<class_Vector2>` position, :ref:`float<class_float>` radius, :ref:`Color<class_Color>` color **)**                                                                                                                                                                                                                                                                                                                                                                       |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_colored_polygon<class_CanvasItem_method_draw_colored_polygon>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs=PackedVector2Array(), :ref:`Texture2D<class_Texture2D>` texture=null **)**                                                                                                                                                                                                                                     |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_end_animation<class_CanvasItem_method_draw_end_animation>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_line<class_CanvasItem_method_draw_line>` **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0 **)**                                                                                                                                                                                                                                                                                                                                          |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_mesh<class_CanvasItem_method_draw_mesh>` **(** :ref:`Mesh<class_Mesh>` mesh, :ref:`Texture2D<class_Texture2D>` texture, :ref:`Transform2D<class_Transform2D>` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1) **)**                                                                                                                                                                                                                                                                        |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_msdf_texture_rect_region<class_CanvasItem_method_draw_msdf_texture_rect_region>` **(** :ref:`Texture2D<class_Texture2D>` texture, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`float<class_float>` outline=0.0, :ref:`float<class_float>` pixel_range=4.0 **)**                                                                                                                                                                                       |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_multiline<class_CanvasItem_method_draw_multiline>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0 **)**                                                                                                                                                                                                                                                                                                                                          |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_multiline_colors<class_CanvasItem_method_draw_multiline_colors>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=1.0 **)**                                                                                                                                                                                                                                                                                                     |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_multiline_string<class_CanvasItem_method_draw_multiline_string>` **(** :ref:`Font<class_Font>` font, :ref:`Vector2<class_Vector2>` pos, :ref:`String<class_String>` text, :ref:`HAlign<enum_@GlobalScope_HAlign>` align=0, :ref:`float<class_float>` width=-1, :ref:`int<class_int>` max_lines=-1, :ref:`int<class_int>` size=16, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`int<class_int>` outline_size=0, :ref:`Color<class_Color>` outline_modulate=Color(1, 1, 1, 0), :ref:`int<class_int>` flags=99 **)** |const| |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_multimesh<class_CanvasItem_method_draw_multimesh>` **(** :ref:`MultiMesh<class_MultiMesh>` multimesh, :ref:`Texture2D<class_Texture2D>` texture **)**                                                                                                                                                                                                                                                                                                                                                                                    |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_polygon<class_CanvasItem_method_draw_polygon>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs=PackedVector2Array(), :ref:`Texture2D<class_Texture2D>` texture=null **)**                                                                                                                                                                                                                              |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                                                                 |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_polyline_colors<class_CanvasItem_method_draw_polyline_colors>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                            |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_primitive<class_CanvasItem_method_draw_primitive>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs, :ref:`Texture2D<class_Texture2D>` texture=null, :ref:`float<class_float>` width=1.0 **)**                                                                                                                                                                                                          |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_rect<class_CanvasItem_method_draw_rect>` **(** :ref:`Rect2<class_Rect2>` rect, :ref:`Color<class_Color>` color, :ref:`bool<class_bool>` filled=true, :ref:`float<class_float>` width=1.0 **)**                                                                                                                                                                                                                                                                                                                                           |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_set_transform<class_CanvasItem_method_draw_set_transform>` **(** :ref:`Vector2<class_Vector2>` position, :ref:`float<class_float>` rotation=0.0, :ref:`Vector2<class_Vector2>` scale=Vector2(1, 1) **)**                                                                                                                                                                                                                                                                                                                                 |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_set_transform_matrix<class_CanvasItem_method_draw_set_transform_matrix>` **(** :ref:`Transform2D<class_Transform2D>` xform **)**                                                                                                                                                                                                                                                                                                                                                                                                         |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_string<class_CanvasItem_method_draw_string>` **(** :ref:`Font<class_Font>` font, :ref:`Vector2<class_Vector2>` pos, :ref:`String<class_String>` text, :ref:`HAlign<enum_@GlobalScope_HAlign>` align=0, :ref:`float<class_float>` width=-1, :ref:`int<class_int>` size=16, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`int<class_int>` outline_size=0, :ref:`Color<class_Color>` outline_modulate=Color(1, 1, 1, 0), :ref:`int<class_int>` flags=3 **)** |const|                                                          |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_style_box<class_CanvasItem_method_draw_style_box>` **(** :ref:`StyleBox<class_StyleBox>` style_box, :ref:`Rect2<class_Rect2>` rect **)**                                                                                                                                                                                                                                                                                                                                                                                                 |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_texture<class_CanvasItem_method_draw_texture>` **(** :ref:`Texture2D<class_Texture2D>` texture, :ref:`Vector2<class_Vector2>` position, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1) **)**                                                                                                                                                                                                                                                                                                                                       |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_texture_rect<class_CanvasItem_method_draw_texture_rect>` **(** :ref:`Texture2D<class_Texture2D>` texture, :ref:`Rect2<class_Rect2>` rect, :ref:`bool<class_bool>` tile, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`bool<class_bool>` transpose=false **)**                                                                                                                                                                                                                                                              |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_texture_rect_region<class_CanvasItem_method_draw_texture_rect_region>` **(** :ref:`Texture2D<class_Texture2D>` texture, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`bool<class_bool>` transpose=false, :ref:`bool<class_bool>` clip_uv=true **)**                                                                                                                                                                                                    |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`force_update_transform<class_CanvasItem_method_force_update_transform>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_RID>`                 | :ref:`get_canvas<class_CanvasItem_method_get_canvas>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_RID>`                 | :ref:`get_canvas_item<class_CanvasItem_method_get_canvas_item>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform2D<class_Transform2D>` | :ref:`get_canvas_transform<class_CanvasItem_method_get_canvas_transform>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`         | :ref:`get_global_mouse_position<class_CanvasItem_method_get_global_mouse_position>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                             |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform2D<class_Transform2D>` | :ref:`get_global_transform<class_CanvasItem_method_get_global_transform>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform2D<class_Transform2D>` | :ref:`get_global_transform_with_canvas<class_CanvasItem_method_get_global_transform_with_canvas>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                               |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`         | :ref:`get_local_mouse_position<class_CanvasItem_method_get_local_mouse_position>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                               |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform2D<class_Transform2D>` | :ref:`get_transform<class_CanvasItem_method_get_transform>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Rect2<class_Rect2>`             | :ref:`get_viewport_rect<class_CanvasItem_method_get_viewport_rect>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform2D<class_Transform2D>` | :ref:`get_viewport_transform<class_CanvasItem_method_get_viewport_transform>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`World2D<class_World2D>`         | :ref:`get_world_2d<class_CanvasItem_method_get_world_2d>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`hide<class_CanvasItem_method_hide>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`               | :ref:`is_local_transform_notification_enabled<class_CanvasItem_method_is_local_transform_notification_enabled>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                 |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`               | :ref:`is_transform_notification_enabled<class_CanvasItem_method_is_transform_notification_enabled>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                             |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`               | :ref:`is_visible_in_tree<class_CanvasItem_method_is_visible_in_tree>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`         | :ref:`make_canvas_position_local<class_CanvasItem_method_make_canvas_position_local>` **(** :ref:`Vector2<class_Vector2>` screen_point **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`InputEvent<class_InputEvent>`   | :ref:`make_input_local<class_CanvasItem_method_make_input_local>` **(** :ref:`InputEvent<class_InputEvent>` event **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                     |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`set_notify_local_transform<class_CanvasItem_method_set_notify_local_transform>` **(** :ref:`bool<class_bool>` enable **)**                                                                                                                                                                                                                                                                                                                                                                                                                    |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`set_notify_transform<class_CanvasItem_method_set_notify_transform>` **(** :ref:`bool<class_bool>` enable **)**                                                                                                                                                                                                                                                                                                                                                                                                                                |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`show<class_CanvasItem_method_show>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`update<class_CanvasItem_method_update>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
-+---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`_draw<class_CanvasItem_method__draw>` **(** **)** |virtual|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_animation_slice<class_CanvasItem_method_draw_animation_slice>` **(** :ref:`float<class_float>` animation_length, :ref:`float<class_float>` slice_begin, :ref:`float<class_float>` slice_end, :ref:`float<class_float>` offset=0.0 **)**                                                                                                                                                                                                                                                                                                                                |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_arc<class_CanvasItem_method_draw_arc>` **(** :ref:`Vector2<class_Vector2>` center, :ref:`float<class_float>` radius, :ref:`float<class_float>` start_angle, :ref:`float<class_float>` end_angle, :ref:`int<class_int>` point_count, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                              |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`             | :ref:`draw_char<class_CanvasItem_method_draw_char>` **(** :ref:`Font<class_Font>` font, :ref:`Vector2<class_Vector2>` pos, :ref:`String<class_String>` char, :ref:`String<class_String>` next="", :ref:`int<class_int>` size=16, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`int<class_int>` outline_size=0, :ref:`Color<class_Color>` outline_modulate=Color(1, 1, 1, 0) **)** |const|                                                                                                                                                                           |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_circle<class_CanvasItem_method_draw_circle>` **(** :ref:`Vector2<class_Vector2>` position, :ref:`float<class_float>` radius, :ref:`Color<class_Color>` color **)**                                                                                                                                                                                                                                                                                                                                                                                                     |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_colored_polygon<class_CanvasItem_method_draw_colored_polygon>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs=PackedVector2Array(), :ref:`Texture2D<class_Texture2D>` texture=null **)**                                                                                                                                                                                                                                                                   |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_end_animation<class_CanvasItem_method_draw_end_animation>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_line<class_CanvasItem_method_draw_line>` **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0 **)**                                                                                                                                                                                                                                                                                                                                                                        |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_mesh<class_CanvasItem_method_draw_mesh>` **(** :ref:`Mesh<class_Mesh>` mesh, :ref:`Texture2D<class_Texture2D>` texture, :ref:`Transform2D<class_Transform2D>` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1) **)**                                                                                                                                                                                                                                                                                                      |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_msdf_texture_rect_region<class_CanvasItem_method_draw_msdf_texture_rect_region>` **(** :ref:`Texture2D<class_Texture2D>` texture, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`float<class_float>` outline=0.0, :ref:`float<class_float>` pixel_range=4.0 **)**                                                                                                                                                                                                                     |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_multiline<class_CanvasItem_method_draw_multiline>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0 **)**                                                                                                                                                                                                                                                                                                                                                                        |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_multiline_colors<class_CanvasItem_method_draw_multiline_colors>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=1.0 **)**                                                                                                                                                                                                                                                                                                                                   |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_multiline_string<class_CanvasItem_method_draw_multiline_string>` **(** :ref:`Font<class_Font>` font, :ref:`Vector2<class_Vector2>` pos, :ref:`String<class_String>` text, :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` alignment=0, :ref:`float<class_float>` width=-1, :ref:`int<class_int>` max_lines=-1, :ref:`int<class_int>` size=16, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`int<class_int>` outline_size=0, :ref:`Color<class_Color>` outline_modulate=Color(1, 1, 1, 0), :ref:`int<class_int>` flags=99 **)** |const| |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_multimesh<class_CanvasItem_method_draw_multimesh>` **(** :ref:`MultiMesh<class_MultiMesh>` multimesh, :ref:`Texture2D<class_Texture2D>` texture **)**                                                                                                                                                                                                                                                                                                                                                                                                                  |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_polygon<class_CanvasItem_method_draw_polygon>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs=PackedVector2Array(), :ref:`Texture2D<class_Texture2D>` texture=null **)**                                                                                                                                                                                                                                                            |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                                                                                               |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_polyline_colors<class_CanvasItem_method_draw_polyline_colors>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                                                                          |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_primitive<class_CanvasItem_method_draw_primitive>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs, :ref:`Texture2D<class_Texture2D>` texture=null, :ref:`float<class_float>` width=1.0 **)**                                                                                                                                                                                                                                        |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_rect<class_CanvasItem_method_draw_rect>` **(** :ref:`Rect2<class_Rect2>` rect, :ref:`Color<class_Color>` color, :ref:`bool<class_bool>` filled=true, :ref:`float<class_float>` width=1.0 **)**                                                                                                                                                                                                                                                                                                                                                                         |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_set_transform<class_CanvasItem_method_draw_set_transform>` **(** :ref:`Vector2<class_Vector2>` position, :ref:`float<class_float>` rotation=0.0, :ref:`Vector2<class_Vector2>` scale=Vector2(1, 1) **)**                                                                                                                                                                                                                                                                                                                                                               |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_set_transform_matrix<class_CanvasItem_method_draw_set_transform_matrix>` **(** :ref:`Transform2D<class_Transform2D>` xform **)**                                                                                                                                                                                                                                                                                                                                                                                                                                       |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_string<class_CanvasItem_method_draw_string>` **(** :ref:`Font<class_Font>` font, :ref:`Vector2<class_Vector2>` pos, :ref:`String<class_String>` text, :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` alignment=0, :ref:`float<class_float>` width=-1, :ref:`int<class_int>` size=16, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`int<class_int>` outline_size=0, :ref:`Color<class_Color>` outline_modulate=Color(1, 1, 1, 0), :ref:`int<class_int>` flags=3 **)** |const|                                                          |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_style_box<class_CanvasItem_method_draw_style_box>` **(** :ref:`StyleBox<class_StyleBox>` style_box, :ref:`Rect2<class_Rect2>` rect **)**                                                                                                                                                                                                                                                                                                                                                                                                                               |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_texture<class_CanvasItem_method_draw_texture>` **(** :ref:`Texture2D<class_Texture2D>` texture, :ref:`Vector2<class_Vector2>` position, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1) **)**                                                                                                                                                                                                                                                                                                                                                                     |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_texture_rect<class_CanvasItem_method_draw_texture_rect>` **(** :ref:`Texture2D<class_Texture2D>` texture, :ref:`Rect2<class_Rect2>` rect, :ref:`bool<class_bool>` tile, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`bool<class_bool>` transpose=false **)**                                                                                                                                                                                                                                                                                            |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`draw_texture_rect_region<class_CanvasItem_method_draw_texture_rect_region>` **(** :ref:`Texture2D<class_Texture2D>` texture, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`bool<class_bool>` transpose=false, :ref:`bool<class_bool>` clip_uv=true **)**                                                                                                                                                                                                                                  |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`force_update_transform<class_CanvasItem_method_force_update_transform>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_RID>`                 | :ref:`get_canvas<class_CanvasItem_method_get_canvas>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_RID>`                 | :ref:`get_canvas_item<class_CanvasItem_method_get_canvas_item>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform2D<class_Transform2D>` | :ref:`get_canvas_transform<class_CanvasItem_method_get_canvas_transform>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`         | :ref:`get_global_mouse_position<class_CanvasItem_method_get_global_mouse_position>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform2D<class_Transform2D>` | :ref:`get_global_transform<class_CanvasItem_method_get_global_transform>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform2D<class_Transform2D>` | :ref:`get_global_transform_with_canvas<class_CanvasItem_method_get_global_transform_with_canvas>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`         | :ref:`get_local_mouse_position<class_CanvasItem_method_get_local_mouse_position>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform2D<class_Transform2D>` | :ref:`get_transform<class_CanvasItem_method_get_transform>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Rect2<class_Rect2>`             | :ref:`get_viewport_rect<class_CanvasItem_method_get_viewport_rect>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform2D<class_Transform2D>` | :ref:`get_viewport_transform<class_CanvasItem_method_get_viewport_transform>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`World2D<class_World2D>`         | :ref:`get_world_2d<class_CanvasItem_method_get_world_2d>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`hide<class_CanvasItem_method_hide>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`               | :ref:`is_local_transform_notification_enabled<class_CanvasItem_method_is_local_transform_notification_enabled>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                               |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`               | :ref:`is_transform_notification_enabled<class_CanvasItem_method_is_transform_notification_enabled>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`               | :ref:`is_visible_in_tree<class_CanvasItem_method_is_visible_in_tree>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`         | :ref:`make_canvas_position_local<class_CanvasItem_method_make_canvas_position_local>` **(** :ref:`Vector2<class_Vector2>` screen_point **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                              |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`InputEvent<class_InputEvent>`   | :ref:`make_input_local<class_CanvasItem_method_make_input_local>` **(** :ref:`InputEvent<class_InputEvent>` event **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`set_notify_local_transform<class_CanvasItem_method_set_notify_local_transform>` **(** :ref:`bool<class_bool>` enable **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`set_notify_transform<class_CanvasItem_method_set_notify_transform>` **(** :ref:`bool<class_bool>` enable **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`show<class_CanvasItem_method_show>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`update<class_CanvasItem_method_update>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
++---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -237,11 +237,11 @@ enum **TextureFilter**:
 
 - **TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC** = **5** --- The texture filter reads from the nearest pixel, but selects a mipmap based on the angle between the surface and the camera view. This reduces artifacts on surfaces that are almost in line with the camera.
 
-**Note:** This texture filter is rarely useful in 2D projects. :ref:`TEXTURE_FILTER_NEAREST_WITH_MIPMAPS<class_CanvasItem_constant_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS>` is usually more appropriate.
+\ **Note:** This texture filter is rarely useful in 2D projects. :ref:`TEXTURE_FILTER_NEAREST_WITH_MIPMAPS<class_CanvasItem_constant_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS>` is usually more appropriate.
 
 - **TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC** = **6** --- The texture filter blends between the nearest 4 pixels and selects a mipmap based on the angle between the surface and the camera view. This reduces artifacts on surfaces that are almost in line with the camera. This is the slowest of the filtering options, but results in the highest quality texturing.
 
-**Note:** This texture filter is rarely useful in 2D projects. :ref:`TEXTURE_FILTER_LINEAR_WITH_MIPMAPS<class_CanvasItem_constant_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS>` is usually more appropriate.
+\ **Note:** This texture filter is rarely useful in 2D projects. :ref:`TEXTURE_FILTER_LINEAR_WITH_MIPMAPS<class_CanvasItem_constant_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS>` is usually more appropriate.
 
 - **TEXTURE_FILTER_MAX** = **7** --- Represents the size of the :ref:`TextureFilter<enum_CanvasItem_TextureFilter>` enum.
 
@@ -475,7 +475,7 @@ If ``true``, the parent ``CanvasItem``'s :ref:`material<class_CanvasItem_propert
 
 If ``true``, this ``CanvasItem`` is drawn. The node is only visible if all of its antecedents are visible as well (in other words, :ref:`is_visible_in_tree<class_CanvasItem_method_is_visible_in_tree>` must return ``true``).
 
-**Note:** For controls that inherit :ref:`Popup<class_Popup>`, the correct way to make them visible is to call one of the multiple ``popup*()`` functions instead.
+\ **Note:** For controls that inherit :ref:`Popup<class_Popup>`, the correct way to make them visible is to call one of the multiple ``popup*()`` functions instead.
 
 Method Descriptions
 -------------------
@@ -500,7 +500,7 @@ Subsequent drawing commands will be ignored unless they fall within the specifie
 
 - void **draw_arc** **(** :ref:`Vector2<class_Vector2>` center, :ref:`float<class_float>` radius, :ref:`float<class_float>` start_angle, :ref:`float<class_float>` end_angle, :ref:`int<class_int>` point_count, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
 
-Draws an arc between the given angles. The larger the value of ``point_count``, the smoother the curve.
+Draws a unfilled arc between the given angles. The larger the value of ``point_count``, the smoother the curve. See also :ref:`draw_circle<class_CanvasItem_method_draw_circle>`.
 
 ----
 
@@ -516,7 +516,7 @@ Draws a string character using a custom font. Returns the advance, depending on
 
 - void **draw_circle** **(** :ref:`Vector2<class_Vector2>` position, :ref:`float<class_float>` radius, :ref:`Color<class_Color>` color **)**
 
-Draws a colored circle.
+Draws a colored, unfilled circle. See also :ref:`draw_arc<class_CanvasItem_method_draw_arc>`, :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>` and :ref:`draw_polygon<class_CanvasItem_method_draw_polygon>`.
 
 ----
 
@@ -524,7 +524,7 @@ Draws a colored circle.
 
 - void **draw_colored_polygon** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs=PackedVector2Array(), :ref:`Texture2D<class_Texture2D>` texture=null **)**
 
-Draws a colored polygon of any amount of points, convex or concave.
+Draws a colored polygon of any amount of points, convex or concave. Unlike :ref:`draw_polygon<class_CanvasItem_method_draw_polygon>`, a single color must be specified for the whole polygon.
 
 ----
 
@@ -540,7 +540,7 @@ After submitting all animations slices via :ref:`draw_animation_slice<class_Canv
 
 - void **draw_line** **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0 **)**
 
-Draws a line from a 2D point to another, with a given color and width.
+Draws a line from a 2D point to another, with a given color and width. See also :ref:`draw_multiline<class_CanvasItem_method_draw_multiline>` and :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>`.
 
 ----
 
@@ -556,7 +556,7 @@ Draws a :ref:`Mesh<class_Mesh>` in 2D, using the provided texture. See :ref:`Mes
 
 - void **draw_msdf_texture_rect_region** **(** :ref:`Texture2D<class_Texture2D>` texture, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`float<class_float>` outline=0.0, :ref:`float<class_float>` pixel_range=4.0 **)**
 
-Draws a textured rectangle region of the multi-channel signed distance field texture at a given position, optionally modulated by a color. See :ref:`FontData.set_multichannel_signed_distance_field<class_FontData_method_set_multichannel_signed_distance_field>` for more information and caveats about MSDF font rendering.
+Draws a textured rectangle region of the multi-channel signed distance field texture at a given position, optionally modulated by a color. See :ref:`FontData.multichannel_signed_distance_field<class_FontData_property_multichannel_signed_distance_field>` for more information and caveats about MSDF font rendering.
 
 If ``outline`` is positive, each alpha channel value of pixel in region is set to maximum value of true distance in the ``outline`` radius.
 
@@ -568,7 +568,7 @@ Value of the ``pixel_range`` should the same that was used during distance field
 
 - void **draw_multiline** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0 **)**
 
-Draws multiple, parallel lines with a uniform ``color``.
+Draws multiple disconnected lines with a uniform ``color``. When drawing large amounts of lines, this is faster than using individual :ref:`draw_line<class_CanvasItem_method_draw_line>` calls. To draw interconnected lines, use :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>` instead.
 
 ----
 
@@ -576,13 +576,13 @@ Draws multiple, parallel lines with a uniform ``color``.
 
 - void **draw_multiline_colors** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=1.0 **)**
 
-Draws multiple, parallel lines with a uniform ``width`` and segment-by-segment coloring. Colors assigned to line segments match by index between ``points`` and ``colors``.
+Draws multiple disconnected lines with a uniform ``width`` and segment-by-segment coloring. Colors assigned to line segments match by index between ``points`` and ``colors``. When drawing large amounts of lines, this is faster than using individual :ref:`draw_line<class_CanvasItem_method_draw_line>` calls. To draw interconnected lines, use :ref:`draw_polyline_colors<class_CanvasItem_method_draw_polyline_colors>` instead.
 
 ----
 
 .. _class_CanvasItem_method_draw_multiline_string:
 
-- void **draw_multiline_string** **(** :ref:`Font<class_Font>` font, :ref:`Vector2<class_Vector2>` pos, :ref:`String<class_String>` text, :ref:`HAlign<enum_@GlobalScope_HAlign>` align=0, :ref:`float<class_float>` width=-1, :ref:`int<class_int>` max_lines=-1, :ref:`int<class_int>` size=16, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`int<class_int>` outline_size=0, :ref:`Color<class_Color>` outline_modulate=Color(1, 1, 1, 0), :ref:`int<class_int>` flags=99 **)** |const|
+- void **draw_multiline_string** **(** :ref:`Font<class_Font>` font, :ref:`Vector2<class_Vector2>` pos, :ref:`String<class_String>` text, :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` alignment=0, :ref:`float<class_float>` width=-1, :ref:`int<class_int>` max_lines=-1, :ref:`int<class_int>` size=16, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`int<class_int>` outline_size=0, :ref:`Color<class_Color>` outline_modulate=Color(1, 1, 1, 0), :ref:`int<class_int>` flags=99 **)** |const|
 
 Breaks ``text`` to the lines and draws it using the specified ``font`` at the ``position`` (top-left corner). The text will have its color multiplied by ``modulate``. If ``clip_w`` is greater than or equal to 0, the text will be clipped if it exceeds the specified width.
 
@@ -600,7 +600,7 @@ Draws a :ref:`MultiMesh<class_MultiMesh>` in 2D with the provided texture. See :
 
 - void **draw_polygon** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs=PackedVector2Array(), :ref:`Texture2D<class_Texture2D>` texture=null **)**
 
-Draws a polygon of any amount of points, convex or concave.
+Draws a solid polygon of any amount of points, convex or concave. Unlike :ref:`draw_colored_polygon<class_CanvasItem_method_draw_colored_polygon>`, each point's color can be changed individually. See also :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>` and :ref:`draw_polyline_colors<class_CanvasItem_method_draw_polyline_colors>`.
 
 ----
 
@@ -608,7 +608,7 @@ Draws a polygon of any amount of points, convex or concave.
 
 - void **draw_polyline** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
 
-Draws interconnected line segments with a uniform ``color`` and ``width``.
+Draws interconnected line segments with a uniform ``color`` and ``width``. When drawing large amounts of lines, this is faster than using individual :ref:`draw_line<class_CanvasItem_method_draw_line>` calls. To draw disconnected lines, use :ref:`draw_multiline<class_CanvasItem_method_draw_multiline>` instead. See also :ref:`draw_polygon<class_CanvasItem_method_draw_polygon>`.
 
 ----
 
@@ -616,7 +616,7 @@ Draws interconnected line segments with a uniform ``color`` and ``width``.
 
 - void **draw_polyline_colors** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
 
-Draws interconnected line segments with a uniform ``width`` and segment-by-segment coloring. Colors assigned to line segments match by index between ``points`` and ``colors``.
+Draws interconnected line segments with a uniform ``width`` and segment-by-segment coloring. Colors assigned to line segments match by index between ``points`` and ``colors``. When drawing large amounts of lines, this is faster than using individual :ref:`draw_line<class_CanvasItem_method_draw_line>` calls. To draw disconnected lines, use :ref:`draw_multiline_colors<class_CanvasItem_method_draw_multiline_colors>` instead. See also :ref:`draw_polygon<class_CanvasItem_method_draw_polygon>`.
 
 ----
 
@@ -624,7 +624,7 @@ Draws interconnected line segments with a uniform ``width`` and segment-by-segme
 
 - void **draw_primitive** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` points, :ref:`PackedColorArray<class_PackedColorArray>` colors, :ref:`PackedVector2Array<class_PackedVector2Array>` uvs, :ref:`Texture2D<class_Texture2D>` texture=null, :ref:`float<class_float>` width=1.0 **)**
 
-Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points for a triangle, and 4 points for a quad.
+Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points for a triangle, and 4 points for a quad. If 0 points or more than 4 points are specified, nothing will be drawn and an error message will be printed. See also :ref:`draw_line<class_CanvasItem_method_draw_line>`, :ref:`draw_polyline<class_CanvasItem_method_draw_polyline>`, :ref:`draw_polygon<class_CanvasItem_method_draw_polygon>`, and :ref:`draw_rect<class_CanvasItem_method_draw_rect>`.
 
 ----
 
@@ -634,7 +634,7 @@ Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points for
 
 Draws a rectangle. If ``filled`` is ``true``, the rectangle will be filled with the ``color`` specified. If ``filled`` is ``false``, the rectangle will be drawn as a stroke with the ``color`` and ``width`` specified.
 
-**Note:** ``width`` is only effective if ``filled`` is ``false``.
+\ **Note:** ``width`` is only effective if ``filled`` is ``false``.
 
 ----
 
@@ -656,11 +656,11 @@ Sets a custom transform for drawing via matrix. Anything drawn afterwards will b
 
 .. _class_CanvasItem_method_draw_string:
 
-- void **draw_string** **(** :ref:`Font<class_Font>` font, :ref:`Vector2<class_Vector2>` pos, :ref:`String<class_String>` text, :ref:`HAlign<enum_@GlobalScope_HAlign>` align=0, :ref:`float<class_float>` width=-1, :ref:`int<class_int>` size=16, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`int<class_int>` outline_size=0, :ref:`Color<class_Color>` outline_modulate=Color(1, 1, 1, 0), :ref:`int<class_int>` flags=3 **)** |const|
+- void **draw_string** **(** :ref:`Font<class_Font>` font, :ref:`Vector2<class_Vector2>` pos, :ref:`String<class_String>` text, :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` alignment=0, :ref:`float<class_float>` width=-1, :ref:`int<class_int>` size=16, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`int<class_int>` outline_size=0, :ref:`Color<class_Color>` outline_modulate=Color(1, 1, 1, 0), :ref:`int<class_int>` flags=3 **)** |const|
 
 Draws ``text`` using the specified ``font`` at the ``position`` (bottom-left corner using the baseline of the font). The text will have its color multiplied by ``modulate``. If ``clip_w`` is greater than or equal to 0, the text will be clipped if it exceeds the specified width.
 
-**Example using the default project font:**
+\ **Example using the default project font:**\ 
 
 
 .. tabs::
@@ -672,7 +672,7 @@ Draws ``text`` using the specified ``font`` at the ``position`` (bottom-left cor
     # so the Control is only created once.
     var default_font = Control.new().get_font("font")
     var default_font_size = Control.new().get_font_size("font_size")
-    draw_string(default_font, Vector2(64, 64), "Hello world", HALIGN_LEFT, -1, font_size)
+    draw_string(default_font, Vector2(64, 64), "Hello world", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size)
 
  .. code-tab:: csharp
 
@@ -681,7 +681,7 @@ Draws ``text`` using the specified ``font`` at the ``position`` (bottom-left cor
     // so the Control is only created once.
     Font defaultFont = new Control().GetFont("font");
     int defaultFontSize = new Control().GetFontSize("font_size");
-    DrawString(defaultFont, new Vector2(64, 64), "Hello world", HALIGN_LEFT, -1, defaultFontSize);
+    DrawString(defaultFont, new Vector2(64, 64), "Hello world", HORIZONTAL_ALIGNMENT_LEFT, -1, defaultFontSize);
 
 
 
@@ -821,7 +821,7 @@ Returns the :ref:`World2D<class_World2D>` where this item is in.
 
 - void **hide** **(** **)**
 
-Hide the ``CanvasItem`` if it's currently visible.
+Hide the ``CanvasItem`` if it's currently visible. This is equivalent to setting :ref:`visible<class_CanvasItem_property_visible>` to ``false``.
 
 ----
 
@@ -885,7 +885,7 @@ If ``enable`` is ``true``, children will be updated with global transform data.
 
 - void **show** **(** **)**
 
-Show the ``CanvasItem`` if it's currently hidden. For controls that inherit :ref:`Popup<class_Popup>`, the correct way to make them visible is to call one of the multiple ``popup*()`` functions instead.
+Show the ``CanvasItem`` if it's currently hidden. This is equivalent to setting :ref:`visible<class_CanvasItem_property_visible>` to ``true``. For controls that inherit :ref:`Popup<class_Popup>`, the correct way to make them visible is to call one of the multiple ``popup*()`` functions instead.
 
 ----
 

+ 3 - 3
classes/class_canvasitemmaterial.rst

@@ -127,7 +127,7 @@ The manner in which material reacts to lighting.
 
 The number of columns in the spritesheet assigned as :ref:`Texture2D<class_Texture2D>` for a :ref:`GPUParticles2D<class_GPUParticles2D>` or :ref:`CPUParticles2D<class_CPUParticles2D>`.
 
-**Note:** This property is only used and visible in the editor if :ref:`particles_animation<class_CanvasItemMaterial_property_particles_animation>` is ``true``.
+\ **Note:** This property is only used and visible in the editor if :ref:`particles_animation<class_CanvasItemMaterial_property_particles_animation>` is ``true``.
 
 ----
 
@@ -143,7 +143,7 @@ The number of columns in the spritesheet assigned as :ref:`Texture2D<class_Textu
 
 If ``true``, the particles animation will loop.
 
-**Note:** This property is only used and visible in the editor if :ref:`particles_animation<class_CanvasItemMaterial_property_particles_animation>` is ``true``.
+\ **Note:** This property is only used and visible in the editor if :ref:`particles_animation<class_CanvasItemMaterial_property_particles_animation>` is ``true``.
 
 ----
 
@@ -159,7 +159,7 @@ If ``true``, the particles animation will loop.
 
 The number of rows in the spritesheet assigned as :ref:`Texture2D<class_Texture2D>` for a :ref:`GPUParticles2D<class_GPUParticles2D>` or :ref:`CPUParticles2D<class_CPUParticles2D>`.
 
-**Note:** This property is only used and visible in the editor if :ref:`particles_animation<class_CanvasItemMaterial_property_particles_animation>` is ``true``.
+\ **Note:** This property is only used and visible in the editor if :ref:`particles_animation<class_CanvasItemMaterial_property_particles_animation>` is ``true``.
 
 ----
 

+ 32 - 32
classes/class_characterbody2d.rst

@@ -18,9 +18,9 @@ Description
 
 Character bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all; to other types of bodies, such as a rigid body, these are the same as a :ref:`AnimatableBody2D<class_AnimatableBody2D>`. However, they have two main uses:
 
-**Kinematic characters:** Character bodies have an API for moving objects with walls and slopes detection (:ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>` method), in addition to collision detection (also done with :ref:`PhysicsBody2D.move_and_collide<class_PhysicsBody2D_method_move_and_collide>`). This makes them really useful to implement characters that move in specific ways and collide with the world, but don't require advanced physics.
+\ **Kinematic characters:** Character bodies have an API for moving objects with walls and slopes detection (:ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>` method), in addition to collision detection (also done with :ref:`PhysicsBody2D.move_and_collide<class_PhysicsBody2D_method_move_and_collide>`). This makes them really useful to implement characters that move in specific ways and collide with the world, but don't require advanced physics.
 
-**Kinematic motion:** Character bodies can also be used for kinematic motion (same functionality as :ref:`AnimatableBody2D<class_AnimatableBody2D>`), which allows them to be moved by code and push other bodies on their path.
+\ **Kinematic motion:** Character bodies can also be used for kinematic motion (same functionality as :ref:`AnimatableBody2D<class_AnimatableBody2D>`), which allows them to be moved by code and push other bodies on their path.
 
 Tutorials
 ---------
@@ -49,8 +49,6 @@ Properties
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+--------------------+
 | :ref:`bool<class_bool>`                                                                            | :ref:`floor_stop_on_slope<class_CharacterBody2D_property_floor_stop_on_slope>`                                         | ``true``           |
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+--------------------+
-| :ref:`float<class_float>`                                                                          | :ref:`free_mode_min_slide_angle<class_CharacterBody2D_property_free_mode_min_slide_angle>`                             | ``0.261799``       |
-+----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+--------------------+
 | :ref:`int<class_int>`                                                                              | :ref:`max_slides<class_CharacterBody2D_property_max_slides>`                                                           | ``4``              |
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+--------------------+
 | :ref:`MotionMode<enum_CharacterBody2D_MotionMode>`                                                 | :ref:`motion_mode<class_CharacterBody2D_property_motion_mode>`                                                         | ``0``              |
@@ -67,6 +65,8 @@ Properties
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+--------------------+
 | :ref:`Vector2<class_Vector2>`                                                                      | :ref:`up_direction<class_CharacterBody2D_property_up_direction>`                                                       | ``Vector2(0, -1)`` |
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+--------------------+
+| :ref:`float<class_float>`                                                                          | :ref:`wall_min_slide_angle<class_CharacterBody2D_property_wall_min_slide_angle>`                                       | ``0.261799``       |
++----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+--------------------+
 
 Methods
 -------
@@ -114,13 +114,13 @@ Enumerations
 
 .. _class_CharacterBody2D_constant_MOTION_MODE_GROUNDED:
 
-.. _class_CharacterBody2D_constant_MOTION_MODE_FREE:
+.. _class_CharacterBody2D_constant_MOTION_MODE_FLOATING:
 
 enum **MotionMode**:
 
 - **MOTION_MODE_GROUNDED** = **0** --- Apply when notions of walls, ceiling and floor are relevant. In this mode the body motion will react to slopes (acceleration/slowdown). This mode is suitable for sided games like platformers.
 
-- **MOTION_MODE_FREE** = **1** --- Apply when there is no notion of floor or ceiling. All collisions will be reported as ``on_wall``. In this mode, when you slide, the speed will always be constant. This mode is suitable for top-down games.
+- **MOTION_MODE_FLOATING** = **1** --- Apply when there is no notion of floor or ceiling. All collisions will be reported as ``on_wall``. In this mode, when you slide, the speed will always be constant. This mode is suitable for top-down games.
 
 ----
 
@@ -251,22 +251,6 @@ If ``false``, the body will slide on floor's slopes when :ref:`motion_velocity<c
 
 ----
 
-.. _class_CharacterBody2D_property_free_mode_min_slide_angle:
-
-- :ref:`float<class_float>` **free_mode_min_slide_angle**
-
-+-----------+--------------------------------------+
-| *Default* | ``0.261799``                         |
-+-----------+--------------------------------------+
-| *Setter*  | set_free_mode_min_slide_angle(value) |
-+-----------+--------------------------------------+
-| *Getter*  | get_free_mode_min_slide_angle()      |
-+-----------+--------------------------------------+
-
-Minimum angle (in radians) where the body is allowed to slide when it encounters a slope. The default value equals 15 degrees.
-
-----
-
 .. _class_CharacterBody2D_property_max_slides:
 
 - :ref:`int<class_int>` **max_slides**
@@ -295,7 +279,7 @@ Maximum number of times the body can change direction before it stops when calli
 | *Getter*  | get_motion_mode()      |
 +-----------+------------------------+
 
-Sets the motion mode which defines the behaviour of :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. See :ref:`MotionMode<enum_CharacterBody2D_MotionMode>` constants for available modes.
+Sets the motion mode which defines the behavior of :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. See :ref:`MotionMode<enum_CharacterBody2D_MotionMode>` constants for available modes.
 
 ----
 
@@ -327,7 +311,7 @@ Current velocity vector in pixels per second, used and modified during calls to
 | *Getter*  | get_moving_platform_apply_velocity_on_leave()      |
 +-----------+----------------------------------------------------+
 
-Sets the behaviour to apply when you leave a moving platform. By default, to be physically accurate, when you leave the last platform velocity is applied. See :ref:`MovingPlatformApplyVelocityOnLeave<enum_CharacterBody2D_MovingPlatformApplyVelocityOnLeave>` constants for available behaviour.
+Sets the behavior to apply when you leave a moving platform. By default, to be physically accurate, when you leave the last platform velocity is applied. See :ref:`MovingPlatformApplyVelocityOnLeave<enum_CharacterBody2D_MovingPlatformApplyVelocityOnLeave>` constants for available behavior.
 
 ----
 
@@ -393,6 +377,22 @@ If ``true``, during a jump against the ceiling, the body will slide, if ``false`
 
 Direction vector used to determine what is a wall and what is a floor (or a ceiling), rather than a wall, when calling :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. Defaults to ``Vector2.UP``. If set to ``Vector2(0, 0)``, everything is considered a wall. This is useful for topdown games.
 
+----
+
+.. _class_CharacterBody2D_property_wall_min_slide_angle:
+
+- :ref:`float<class_float>` **wall_min_slide_angle**
+
++-----------+---------------------------------+
+| *Default* | ``0.261799``                    |
++-----------+---------------------------------+
+| *Setter*  | set_wall_min_slide_angle(value) |
++-----------+---------------------------------+
+| *Getter*  | get_wall_min_slide_angle()      |
++-----------+---------------------------------+
+
+Minimum angle (in radians) where the body is allowed to slide when it encounters a slope. The default value equals 15 degrees. This property only affects movement when :ref:`motion_mode<class_CharacterBody2D_property_motion_mode>` is :ref:`MOTION_MODE_FLOATING<class_CharacterBody2D_constant_MOTION_MODE_FLOATING>`.
+
 Method Descriptions
 -------------------
 
@@ -458,7 +458,7 @@ Returns the current real velocity since the last call to :ref:`move_and_slide<cl
 
 Returns a :ref:`KinematicCollision2D<class_KinematicCollision2D>`, which contains information about a collision that occurred during the last call to :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. Since the body can collide several times in a single call to :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`, you must specify the index of the collision in the range 0 to (:ref:`get_slide_collision_count<class_CharacterBody2D_method_get_slide_collision_count>` - 1).
 
-**Example usage:**
+\ **Example usage:**\ 
 
 
 .. tabs::
@@ -501,7 +501,7 @@ Returns the surface normal of the wall at the last collision point. Only valid a
 
 - :ref:`bool<class_bool>` **is_on_ceiling** **(** **)** |const|
 
-Returns ``true`` if the body collided with the ceiling on the last call of :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. Otherwise, returns ``false``.
+Returns ``true`` if the body collided with the ceiling on the last call of :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. Otherwise, returns ``false``. The :ref:`up_direction<class_CharacterBody2D_property_up_direction>` and :ref:`floor_max_angle<class_CharacterBody2D_property_floor_max_angle>` are used to determine whether a surface is "ceiling" or not.
 
 ----
 
@@ -509,7 +509,7 @@ Returns ``true`` if the body collided with the ceiling on the last call of :ref:
 
 - :ref:`bool<class_bool>` **is_on_ceiling_only** **(** **)** |const|
 
-Returns ``true`` if the body collided only with the ceiling on the last call of :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. Otherwise, returns ``false``.
+Returns ``true`` if the body collided only with the ceiling on the last call of :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. Otherwise, returns ``false``. The :ref:`up_direction<class_CharacterBody2D_property_up_direction>` and :ref:`floor_max_angle<class_CharacterBody2D_property_floor_max_angle>` are used to determine whether a surface is "ceiling" or not.
 
 ----
 
@@ -517,7 +517,7 @@ Returns ``true`` if the body collided only with the ceiling on the last call of
 
 - :ref:`bool<class_bool>` **is_on_floor** **(** **)** |const|
 
-Returns ``true`` if the body collided with the floor on the last call of :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. Otherwise, returns ``false``.
+Returns ``true`` if the body collided with the floor on the last call of :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. Otherwise, returns ``false``. The :ref:`up_direction<class_CharacterBody2D_property_up_direction>` and :ref:`floor_max_angle<class_CharacterBody2D_property_floor_max_angle>` are used to determine whether a surface is "floor" or not.
 
 ----
 
@@ -525,7 +525,7 @@ Returns ``true`` if the body collided with the floor on the last call of :ref:`m
 
 - :ref:`bool<class_bool>` **is_on_floor_only** **(** **)** |const|
 
-Returns ``true`` if the body collided only with the floor on the last call of :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. Otherwise, returns ``false``.
+Returns ``true`` if the body collided only with the floor on the last call of :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. Otherwise, returns ``false``. The :ref:`up_direction<class_CharacterBody2D_property_up_direction>` and :ref:`floor_max_angle<class_CharacterBody2D_property_floor_max_angle>` are used to determine whether a surface is "floor" or not.
 
 ----
 
@@ -533,7 +533,7 @@ Returns ``true`` if the body collided only with the floor on the last call of :r
 
 - :ref:`bool<class_bool>` **is_on_wall** **(** **)** |const|
 
-Returns ``true`` if the body collided with a wall on the last call of :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. Otherwise, returns ``false``.
+Returns ``true`` if the body collided with a wall on the last call of :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. Otherwise, returns ``false``. The :ref:`up_direction<class_CharacterBody2D_property_up_direction>` and :ref:`floor_max_angle<class_CharacterBody2D_property_floor_max_angle>` are used to determine whether a surface is "wall" or not.
 
 ----
 
@@ -541,7 +541,7 @@ Returns ``true`` if the body collided with a wall on the last call of :ref:`move
 
 - :ref:`bool<class_bool>` **is_on_wall_only** **(** **)** |const|
 
-Returns ``true`` if the body collided only with a wall on the last call of :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. Otherwise, returns ``false``.
+Returns ``true`` if the body collided only with a wall on the last call of :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. Otherwise, returns ``false``. The :ref:`up_direction<class_CharacterBody2D_property_up_direction>` and :ref:`floor_max_angle<class_CharacterBody2D_property_floor_max_angle>` are used to determine whether a surface is "wall" or not.
 
 ----
 
@@ -557,7 +557,7 @@ Modifies :ref:`motion_velocity<class_CharacterBody2D_property_motion_velocity>`
 
 When the body touches a moving platform, the platform's velocity is automatically added to the body motion. If a collision occurs due to the platform's motion, it will always be first in the slide collisions.
 
-The general behaviour and available properties change according to the :ref:`motion_mode<class_CharacterBody2D_property_motion_mode>`.
+The general behavior and available properties change according to the :ref:`motion_mode<class_CharacterBody2D_property_motion_mode>`.
 
 Returns ``true`` if the body collided, otherwise, returns ``false``.
 

+ 13 - 13
classes/class_characterbody3d.rst

@@ -18,9 +18,9 @@ Description
 
 Character bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all; to other types of bodies, such as a rigid body, these are the same as a :ref:`AnimatableBody3D<class_AnimatableBody3D>`. However, they have two main uses:
 
-**Kinematic characters:** Character bodies have an API for moving objects with walls and slopes detection (:ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>` method), in addition to collision detection (also done with :ref:`PhysicsBody3D.move_and_collide<class_PhysicsBody3D_method_move_and_collide>`). This makes them really useful to implement characters that move in specific ways and collide with the world, but don't require advanced physics.
+\ **Kinematic characters:** Character bodies have an API for moving objects with walls and slopes detection (:ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>` method), in addition to collision detection (also done with :ref:`PhysicsBody3D.move_and_collide<class_PhysicsBody3D_method_move_and_collide>`). This makes them really useful to implement characters that move in specific ways and collide with the world, but don't require advanced physics.
 
-**Kinematic motion:** Character bodies can also be used for kinematic motion (same functionality as :ref:`AnimatableBody3D<class_AnimatableBody3D>`), which allows them to be moved by code and push other bodies on their path.
+\ **Kinematic motion:** Character bodies can also be used for kinematic motion (same functionality as :ref:`AnimatableBody3D<class_AnimatableBody3D>`), which allows them to be moved by code and push other bodies on their path.
 
 Tutorials
 ---------
@@ -116,13 +116,13 @@ Enumerations
 
 .. _class_CharacterBody3D_constant_MOTION_MODE_GROUNDED:
 
-.. _class_CharacterBody3D_constant_MOTION_MODE_FREE:
+.. _class_CharacterBody3D_constant_MOTION_MODE_FLOATING:
 
 enum **MotionMode**:
 
 - **MOTION_MODE_GROUNDED** = **0** --- Apply when notions of walls, ceiling and floor are relevant. In this mode the body motion will react to slopes (acceleration/slowdown). This mode is suitable for grounded games like platformers.
 
-- **MOTION_MODE_FREE** = **1** --- Apply when there is no notion of floor or ceiling. All collisions will be reported as ``on_wall``. In this mode, when you slide, the speed will always be constant. This mode is suitable for games without ground like space games.
+- **MOTION_MODE_FLOATING** = **1** --- Apply when there is no notion of floor or ceiling. All collisions will be reported as ``on_wall``. In this mode, when you slide, the speed will always be constant. This mode is suitable for games without ground like space games.
 
 ----
 
@@ -281,7 +281,7 @@ Maximum number of times the body can change direction before it stops when calli
 | *Getter*  | get_motion_mode()      |
 +-----------+------------------------+
 
-Sets the motion mode which defines the behaviour of :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. See :ref:`MotionMode<enum_CharacterBody3D_MotionMode>` constants for available modes.
+Sets the motion mode which defines the behavior of :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. See :ref:`MotionMode<enum_CharacterBody3D_MotionMode>` constants for available modes.
 
 ----
 
@@ -313,7 +313,7 @@ Current velocity vector (typically meters per second), used and modified during
 | *Getter*  | get_moving_platform_apply_velocity_on_leave()      |
 +-----------+----------------------------------------------------+
 
-Sets the behaviour to apply when you leave a moving platform. By default, to be physically accurate, when you leave the last platform velocity is applied. See :ref:`MovingPlatformApplyVelocityOnLeave<enum_CharacterBody3D_MovingPlatformApplyVelocityOnLeave>` constants for available behaviour.
+Sets the behavior to apply when you leave a moving platform. By default, to be physically accurate, when you leave the last platform velocity is applied. See :ref:`MovingPlatformApplyVelocityOnLeave<enum_CharacterBody3D_MovingPlatformApplyVelocityOnLeave>` constants for available behavior.
 
 ----
 
@@ -393,7 +393,7 @@ Direction vector used to determine what is a wall and what is a floor (or a ceil
 | *Getter*  | get_wall_min_slide_angle()      |
 +-----------+---------------------------------+
 
-Minimum angle (in radians) where the body is allowed to slide when it encounters a slope. The default value equals 15 degrees. In ``MOTION_MODE_GROUNDED``, it works only when :ref:`floor_block_on_wall<class_CharacterBody3D_property_floor_block_on_wall>` is ``true``.
+Minimum angle (in radians) where the body is allowed to slide when it encounters a slope. The default value equals 15 degrees. When :ref:`motion_mode<class_CharacterBody3D_property_motion_mode>` is :ref:`MOTION_MODE_GROUNDED<class_CharacterBody3D_constant_MOTION_MODE_GROUNDED>`, it only affects movement if :ref:`floor_block_on_wall<class_CharacterBody3D_property_floor_block_on_wall>` is ``true``.
 
 Method Descriptions
 -------------------
@@ -482,7 +482,7 @@ Returns the surface normal of the wall at the last collision point. Only valid a
 
 - :ref:`bool<class_bool>` **is_on_ceiling** **(** **)** |const|
 
-Returns ``true`` if the body collided with the ceiling on the last call of :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. Otherwise, returns ``false``.
+Returns ``true`` if the body collided with the ceiling on the last call of :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. Otherwise, returns ``false``. The :ref:`up_direction<class_CharacterBody3D_property_up_direction>` and :ref:`floor_max_angle<class_CharacterBody3D_property_floor_max_angle>` are used to determine whether a surface is "ceiling" or not.
 
 ----
 
@@ -490,7 +490,7 @@ Returns ``true`` if the body collided with the ceiling on the last call of :ref:
 
 - :ref:`bool<class_bool>` **is_on_ceiling_only** **(** **)** |const|
 
-Returns ``true`` if the body collided only with the ceiling on the last call of :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. Otherwise, returns ``false``.
+Returns ``true`` if the body collided only with the ceiling on the last call of :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. Otherwise, returns ``false``. The :ref:`up_direction<class_CharacterBody3D_property_up_direction>` and :ref:`floor_max_angle<class_CharacterBody3D_property_floor_max_angle>` are used to determine whether a surface is "ceiling" or not.
 
 ----
 
@@ -498,7 +498,7 @@ Returns ``true`` if the body collided only with the ceiling on the last call of
 
 - :ref:`bool<class_bool>` **is_on_floor** **(** **)** |const|
 
-Returns ``true`` if the body collided with the floor on the last call of :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. Otherwise, returns ``false``.
+Returns ``true`` if the body collided with the floor on the last call of :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. Otherwise, returns ``false``. The :ref:`up_direction<class_CharacterBody3D_property_up_direction>` and :ref:`floor_max_angle<class_CharacterBody3D_property_floor_max_angle>` are used to determine whether a surface is "floor" or not.
 
 ----
 
@@ -506,7 +506,7 @@ Returns ``true`` if the body collided with the floor on the last call of :ref:`m
 
 - :ref:`bool<class_bool>` **is_on_floor_only** **(** **)** |const|
 
-Returns ``true`` if the body collided only with the floor on the last call of :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. Otherwise, returns ``false``.
+Returns ``true`` if the body collided only with the floor on the last call of :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. Otherwise, returns ``false``. The :ref:`up_direction<class_CharacterBody3D_property_up_direction>` and :ref:`floor_max_angle<class_CharacterBody3D_property_floor_max_angle>` are used to determine whether a surface is "floor" or not.
 
 ----
 
@@ -514,7 +514,7 @@ Returns ``true`` if the body collided only with the floor on the last call of :r
 
 - :ref:`bool<class_bool>` **is_on_wall** **(** **)** |const|
 
-Returns ``true`` if the body collided with a wall on the last call of :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. Otherwise, returns ``false``.
+Returns ``true`` if the body collided with a wall on the last call of :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. Otherwise, returns ``false``. The :ref:`up_direction<class_CharacterBody3D_property_up_direction>` and :ref:`floor_max_angle<class_CharacterBody3D_property_floor_max_angle>` are used to determine whether a surface is "wall" or not.
 
 ----
 
@@ -522,7 +522,7 @@ Returns ``true`` if the body collided with a wall on the last call of :ref:`move
 
 - :ref:`bool<class_bool>` **is_on_wall_only** **(** **)** |const|
 
-Returns ``true`` if the body collided only with a wall on the last call of :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. Otherwise, returns ``false``.
+Returns ``true`` if the body collided only with a wall on the last call of :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. Otherwise, returns ``false``. The :ref:`up_direction<class_CharacterBody3D_property_up_direction>` and :ref:`floor_max_angle<class_CharacterBody3D_property_floor_max_angle>` are used to determine whether a surface is "wall" or not.
 
 ----
 

+ 1 - 1
classes/class_charfxtransform.rst

@@ -85,7 +85,7 @@ The color the character will be drawn with.
 
 The time elapsed since the :ref:`RichTextLabel<class_RichTextLabel>` was added to the scene tree (in seconds). Time stops when the :ref:`RichTextLabel<class_RichTextLabel>` is paused (see :ref:`Node.process_mode<class_Node_property_process_mode>`). Resets when the text in the :ref:`RichTextLabel<class_RichTextLabel>` is changed.
 
-**Note:** Time still passes while the :ref:`RichTextLabel<class_RichTextLabel>` is hidden.
+\ **Note:** Time still passes while the :ref:`RichTextLabel<class_RichTextLabel>` is hidden.
 
 ----
 

+ 147 - 147
classes/class_checkbox.rst

@@ -23,131 +23,79 @@ See also :ref:`BaseButton<class_BaseButton>` which contains common properties an
 Properties
 ----------
 
-+-----------------------------------------+-------------+------------------------------+
-| :ref:`TextAlign<enum_Button_TextAlign>` | align       | ``0`` *(parent override)*    |
-+-----------------------------------------+-------------+------------------------------+
-| :ref:`bool<class_bool>`                 | toggle_mode | ``true`` *(parent override)* |
-+-----------------------------------------+-------------+------------------------------+
++-------------------------------------------------------------------+-------------+-------------------------------------------------------------------------------+
+| :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` | alignment   | ``0`` (overrides :ref:`Button<class_Button_property_alignment>`)              |
++-------------------------------------------------------------------+-------------+-------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                           | toggle_mode | ``true`` (overrides :ref:`BaseButton<class_BaseButton_property_toggle_mode>`) |
++-------------------------------------------------------------------+-------------+-------------------------------------------------------------------------------+
 
 Theme Properties
 ----------------
 
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`int<class_int>`             | :ref:`check_vadjust<class_CheckBox_theme_constant_check_vadjust>`                    | ``0``                          |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`checked<class_CheckBox_theme_icon_checked>`                                    |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`checked_disabled<class_CheckBox_theme_icon_checked_disabled>`                  |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`disabled<class_CheckBox_theme_style_disabled>`                                 |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`focus<class_CheckBox_theme_style_focus>`                                       |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Font<class_Font>`           | :ref:`font<class_CheckBox_theme_font_font>`                                          |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_color<class_CheckBox_theme_color_font_color>`                             | ``Color(0.88, 0.88, 0.88, 1)`` |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_disabled_color<class_CheckBox_theme_color_font_disabled_color>`           | ``Color(0.9, 0.9, 0.9, 0.2)``  |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_focus_color<class_CheckBox_theme_color_font_focus_color>`                 | ``Color(0.94, 0.94, 0.94, 1)`` |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_hover_color<class_CheckBox_theme_color_font_hover_color>`                 | ``Color(0.94, 0.94, 0.94, 1)`` |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_hover_pressed_color<class_CheckBox_theme_color_font_hover_pressed_color>` | ``Color(1, 1, 1, 1)``          |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_outline_color<class_CheckBox_theme_color_font_outline_color>`             | ``Color(1, 1, 1, 1)``          |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_pressed_color<class_CheckBox_theme_color_font_pressed_color>`             | ``Color(1, 1, 1, 1)``          |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`int<class_int>`             | :ref:`font_size<class_CheckBox_theme_font_size_font_size>`                           |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`hover<class_CheckBox_theme_style_hover>`                                       |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`hover_pressed<class_CheckBox_theme_style_hover_pressed>`                       |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`int<class_int>`             | :ref:`hseparation<class_CheckBox_theme_constant_hseparation>`                        | ``4``                          |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`normal<class_CheckBox_theme_style_normal>`                                     |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`int<class_int>`             | :ref:`outline_size<class_CheckBox_theme_constant_outline_size>`                      | ``0``                          |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`pressed<class_CheckBox_theme_style_pressed>`                                   |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`radio_checked<class_CheckBox_theme_icon_radio_checked>`                        |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`radio_checked_disabled<class_CheckBox_theme_icon_radio_checked_disabled>`      |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`radio_unchecked<class_CheckBox_theme_icon_radio_unchecked>`                    |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`radio_unchecked_disabled<class_CheckBox_theme_icon_radio_unchecked_disabled>`  |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`unchecked<class_CheckBox_theme_icon_unchecked>`                                |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`unchecked_disabled<class_CheckBox_theme_icon_unchecked_disabled>`              |                                |
-+-----------------------------------+--------------------------------------------------------------------------------------+--------------------------------+
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_color<class_CheckBox_theme_color_font_color>`                             | ``Color(0.875, 0.875, 0.875, 1)``   |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_disabled_color<class_CheckBox_theme_color_font_disabled_color>`           | ``Color(0.875, 0.875, 0.875, 0.5)`` |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_focus_color<class_CheckBox_theme_color_font_focus_color>`                 | ``Color(0.95, 0.95, 0.95, 1)``      |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_hover_color<class_CheckBox_theme_color_font_hover_color>`                 | ``Color(0.95, 0.95, 0.95, 1)``      |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_hover_pressed_color<class_CheckBox_theme_color_font_hover_pressed_color>` | ``Color(1, 1, 1, 1)``               |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_outline_color<class_CheckBox_theme_color_font_outline_color>`             | ``Color(1, 1, 1, 1)``               |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_pressed_color<class_CheckBox_theme_color_font_pressed_color>`             | ``Color(1, 1, 1, 1)``               |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`             | :ref:`check_vadjust<class_CheckBox_theme_constant_check_vadjust>`                    | ``0``                               |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`             | :ref:`hseparation<class_CheckBox_theme_constant_hseparation>`                        | ``4``                               |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`             | :ref:`outline_size<class_CheckBox_theme_constant_outline_size>`                      | ``0``                               |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Font<class_Font>`           | :ref:`font<class_CheckBox_theme_font_font>`                                          |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`             | :ref:`font_size<class_CheckBox_theme_font_size_font_size>`                           |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`checked<class_CheckBox_theme_icon_checked>`                                    |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`checked_disabled<class_CheckBox_theme_icon_checked_disabled>`                  |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`radio_checked<class_CheckBox_theme_icon_radio_checked>`                        |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`radio_checked_disabled<class_CheckBox_theme_icon_radio_checked_disabled>`      |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`radio_unchecked<class_CheckBox_theme_icon_radio_unchecked>`                    |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`radio_unchecked_disabled<class_CheckBox_theme_icon_radio_unchecked_disabled>`  |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`unchecked<class_CheckBox_theme_icon_unchecked>`                                |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`unchecked_disabled<class_CheckBox_theme_icon_unchecked_disabled>`              |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`disabled<class_CheckBox_theme_style_disabled>`                                 |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`focus<class_CheckBox_theme_style_focus>`                                       |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`hover<class_CheckBox_theme_style_hover>`                                       |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`hover_pressed<class_CheckBox_theme_style_hover_pressed>`                       |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`normal<class_CheckBox_theme_style_normal>`                                     |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`pressed<class_CheckBox_theme_style_pressed>`                                   |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------+-------------------------------------+
 
 Theme Property Descriptions
 ---------------------------
 
-.. _class_CheckBox_theme_constant_check_vadjust:
-
-- :ref:`int<class_int>` **check_vadjust**
-
-+-----------+-------+
-| *Default* | ``0`` |
-+-----------+-------+
-
-The vertical offset used when rendering the check icons (in pixels).
-
-----
-
-.. _class_CheckBox_theme_icon_checked:
-
-- :ref:`Texture2D<class_Texture2D>` **checked**
-
-The check icon to display when the ``CheckBox`` is checked.
-
-----
-
-.. _class_CheckBox_theme_icon_checked_disabled:
-
-- :ref:`Texture2D<class_Texture2D>` **checked_disabled**
-
-The check icon to display when the ``CheckBox`` is checked and disabled.
-
-----
-
-.. _class_CheckBox_theme_style_disabled:
-
-- :ref:`StyleBox<class_StyleBox>` **disabled**
-
-The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckBox`` is disabled.
-
-----
-
-.. _class_CheckBox_theme_style_focus:
-
-- :ref:`StyleBox<class_StyleBox>` **focus**
-
-The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckBox`` is focused.
-
-----
-
-.. _class_CheckBox_theme_font_font:
-
-- :ref:`Font<class_Font>` **font**
-
-The :ref:`Font<class_Font>` to use for the ``CheckBox`` text.
-
-----
-
 .. _class_CheckBox_theme_color_font_color:
 
 - :ref:`Color<class_Color>` **font_color**
 
-+-----------+--------------------------------+
-| *Default* | ``Color(0.88, 0.88, 0.88, 1)`` |
-+-----------+--------------------------------+
++-----------+-----------------------------------+
+| *Default* | ``Color(0.875, 0.875, 0.875, 1)`` |
++-----------+-----------------------------------+
 
 The ``CheckBox`` text's font color.
 
@@ -157,9 +105,9 @@ The ``CheckBox`` text's font color.
 
 - :ref:`Color<class_Color>` **font_disabled_color**
 
-+-----------+-------------------------------+
-| *Default* | ``Color(0.9, 0.9, 0.9, 0.2)`` |
-+-----------+-------------------------------+
++-----------+-------------------------------------+
+| *Default* | ``Color(0.875, 0.875, 0.875, 0.5)`` |
++-----------+-------------------------------------+
 
 The ``CheckBox`` text's font color when it's disabled.
 
@@ -170,7 +118,7 @@ The ``CheckBox`` text's font color when it's disabled.
 - :ref:`Color<class_Color>` **font_focus_color**
 
 +-----------+--------------------------------+
-| *Default* | ``Color(0.94, 0.94, 0.94, 1)`` |
+| *Default* | ``Color(0.95, 0.95, 0.95, 1)`` |
 +-----------+--------------------------------+
 
 The ``CheckBox`` text's font color when it's focused. Only replaces the normal text color of the checkbox. Disabled, hovered, and pressed states take precedence over this color.
@@ -182,7 +130,7 @@ The ``CheckBox`` text's font color when it's focused. Only replaces the normal t
 - :ref:`Color<class_Color>` **font_hover_color**
 
 +-----------+--------------------------------+
-| *Default* | ``Color(0.94, 0.94, 0.94, 1)`` |
+| *Default* | ``Color(0.95, 0.95, 0.95, 1)`` |
 +-----------+--------------------------------+
 
 The ``CheckBox`` text's font color when it's hovered.
@@ -225,27 +173,15 @@ The ``CheckBox`` text's font color when it's pressed.
 
 ----
 
-.. _class_CheckBox_theme_font_size_font_size:
-
-- :ref:`int<class_int>` **font_size**
-
-Font size of the ``CheckBox``'s text.
-
-----
-
-.. _class_CheckBox_theme_style_hover:
-
-- :ref:`StyleBox<class_StyleBox>` **hover**
-
-The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckBox`` is hovered.
-
-----
+.. _class_CheckBox_theme_constant_check_vadjust:
 
-.. _class_CheckBox_theme_style_hover_pressed:
+- :ref:`int<class_int>` **check_vadjust**
 
-- :ref:`StyleBox<class_StyleBox>` **hover_pressed**
++-----------+-------+
+| *Default* | ``0`` |
++-----------+-------+
 
-The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckBox`` is hovered and pressed.
+The vertical offset used when rendering the check icons (in pixels).
 
 ----
 
@@ -261,14 +197,6 @@ The separation between the check icon and the text (in pixels).
 
 ----
 
-.. _class_CheckBox_theme_style_normal:
-
-- :ref:`StyleBox<class_StyleBox>` **normal**
-
-The :ref:`StyleBox<class_StyleBox>` to display as a background.
-
-----
-
 .. _class_CheckBox_theme_constant_outline_size:
 
 - :ref:`int<class_int>` **outline_size**
@@ -281,11 +209,35 @@ The size of the text outline.
 
 ----
 
-.. _class_CheckBox_theme_style_pressed:
+.. _class_CheckBox_theme_font_font:
 
-- :ref:`StyleBox<class_StyleBox>` **pressed**
+- :ref:`Font<class_Font>` **font**
 
-The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckBox`` is pressed.
+The :ref:`Font<class_Font>` to use for the ``CheckBox`` text.
+
+----
+
+.. _class_CheckBox_theme_font_size_font_size:
+
+- :ref:`int<class_int>` **font_size**
+
+Font size of the ``CheckBox``'s text.
+
+----
+
+.. _class_CheckBox_theme_icon_checked:
+
+- :ref:`Texture2D<class_Texture2D>` **checked**
+
+The check icon to display when the ``CheckBox`` is checked.
+
+----
+
+.. _class_CheckBox_theme_icon_checked_disabled:
+
+- :ref:`Texture2D<class_Texture2D>` **checked_disabled**
+
+The check icon to display when the ``CheckBox`` is checked and disabled.
 
 ----
 
@@ -331,6 +283,54 @@ The check icon to display when the ``CheckBox`` is unchecked.
 
 The check icon to display when the ``CheckBox`` is unchecked and disabled.
 
+----
+
+.. _class_CheckBox_theme_style_disabled:
+
+- :ref:`StyleBox<class_StyleBox>` **disabled**
+
+The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckBox`` is disabled.
+
+----
+
+.. _class_CheckBox_theme_style_focus:
+
+- :ref:`StyleBox<class_StyleBox>` **focus**
+
+The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckBox`` is focused. The ``focus`` :ref:`StyleBox<class_StyleBox>` is displayed *over* the base :ref:`StyleBox<class_StyleBox>`, so a partially transparent :ref:`StyleBox<class_StyleBox>` should be used to ensure the base :ref:`StyleBox<class_StyleBox>` remains visible. A :ref:`StyleBox<class_StyleBox>` that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a :ref:`StyleBoxEmpty<class_StyleBoxEmpty>` resource. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
+
+----
+
+.. _class_CheckBox_theme_style_hover:
+
+- :ref:`StyleBox<class_StyleBox>` **hover**
+
+The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckBox`` is hovered.
+
+----
+
+.. _class_CheckBox_theme_style_hover_pressed:
+
+- :ref:`StyleBox<class_StyleBox>` **hover_pressed**
+
+The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckBox`` is hovered and pressed.
+
+----
+
+.. _class_CheckBox_theme_style_normal:
+
+- :ref:`StyleBox<class_StyleBox>` **normal**
+
+The :ref:`StyleBox<class_StyleBox>` to display as a background.
+
+----
+
+.. _class_CheckBox_theme_style_pressed:
+
+- :ref:`StyleBox<class_StyleBox>` **pressed**
+
+The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckBox`` is pressed.
+
 .. |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.)`

+ 127 - 127
classes/class_checkbutton.rst

@@ -23,115 +23,79 @@ See also :ref:`BaseButton<class_BaseButton>` which contains common properties an
 Properties
 ----------
 
-+-----------------------------------------+-------------+------------------------------+
-| :ref:`TextAlign<enum_Button_TextAlign>` | align       | ``0`` *(parent override)*    |
-+-----------------------------------------+-------------+------------------------------+
-| :ref:`bool<class_bool>`                 | toggle_mode | ``true`` *(parent override)* |
-+-----------------------------------------+-------------+------------------------------+
++-------------------------------------------------------------------+-------------+-------------------------------------------------------------------------------+
+| :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` | alignment   | ``0`` (overrides :ref:`Button<class_Button_property_alignment>`)              |
++-------------------------------------------------------------------+-------------+-------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                           | toggle_mode | ``true`` (overrides :ref:`BaseButton<class_BaseButton_property_toggle_mode>`) |
++-------------------------------------------------------------------+-------------+-------------------------------------------------------------------------------+
 
 Theme Properties
 ----------------
 
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`int<class_int>`             | :ref:`check_vadjust<class_CheckButton_theme_constant_check_vadjust>`                    | ``0``                          |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`disabled<class_CheckButton_theme_style_disabled>`                                 |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`focus<class_CheckButton_theme_style_focus>`                                       |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Font<class_Font>`           | :ref:`font<class_CheckButton_theme_font_font>`                                          |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_color<class_CheckButton_theme_color_font_color>`                             | ``Color(0.88, 0.88, 0.88, 1)`` |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_disabled_color<class_CheckButton_theme_color_font_disabled_color>`           | ``Color(0.9, 0.9, 0.9, 0.2)``  |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_focus_color<class_CheckButton_theme_color_font_focus_color>`                 | ``Color(0.94, 0.94, 0.94, 1)`` |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_hover_color<class_CheckButton_theme_color_font_hover_color>`                 | ``Color(0.94, 0.94, 0.94, 1)`` |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_hover_pressed_color<class_CheckButton_theme_color_font_hover_pressed_color>` | ``Color(1, 1, 1, 1)``          |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_outline_color<class_CheckButton_theme_color_font_outline_color>`             | ``Color(1, 1, 1, 1)``          |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_pressed_color<class_CheckButton_theme_color_font_pressed_color>`             | ``Color(1, 1, 1, 1)``          |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`int<class_int>`             | :ref:`font_size<class_CheckButton_theme_font_size_font_size>`                           |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`hover<class_CheckButton_theme_style_hover>`                                       |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`hover_pressed<class_CheckButton_theme_style_hover_pressed>`                       |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`int<class_int>`             | :ref:`hseparation<class_CheckButton_theme_constant_hseparation>`                        | ``4``                          |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`normal<class_CheckButton_theme_style_normal>`                                     |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`off<class_CheckButton_theme_icon_off>`                                            |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`off_disabled<class_CheckButton_theme_icon_off_disabled>`                          |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`off_disabled_mirrored<class_CheckButton_theme_icon_off_disabled_mirrored>`        |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`off_mirrored<class_CheckButton_theme_icon_off_mirrored>`                          |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`on<class_CheckButton_theme_icon_on>`                                              |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`on_disabled<class_CheckButton_theme_icon_on_disabled>`                            |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`on_disabled_mirrored<class_CheckButton_theme_icon_on_disabled_mirrored>`          |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`on_mirrored<class_CheckButton_theme_icon_on_mirrored>`                            |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`int<class_int>`             | :ref:`outline_size<class_CheckButton_theme_constant_outline_size>`                      | ``0``                          |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`pressed<class_CheckButton_theme_style_pressed>`                                   |                                |
-+-----------------------------------+-----------------------------------------------------------------------------------------+--------------------------------+
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_color<class_CheckButton_theme_color_font_color>`                             | ``Color(0.875, 0.875, 0.875, 1)``   |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_disabled_color<class_CheckButton_theme_color_font_disabled_color>`           | ``Color(0.875, 0.875, 0.875, 0.5)`` |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_focus_color<class_CheckButton_theme_color_font_focus_color>`                 | ``Color(0.95, 0.95, 0.95, 1)``      |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_hover_color<class_CheckButton_theme_color_font_hover_color>`                 | ``Color(0.95, 0.95, 0.95, 1)``      |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_hover_pressed_color<class_CheckButton_theme_color_font_hover_pressed_color>` | ``Color(1, 1, 1, 1)``               |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_outline_color<class_CheckButton_theme_color_font_outline_color>`             | ``Color(1, 1, 1, 1)``               |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_pressed_color<class_CheckButton_theme_color_font_pressed_color>`             | ``Color(1, 1, 1, 1)``               |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`             | :ref:`check_vadjust<class_CheckButton_theme_constant_check_vadjust>`                    | ``0``                               |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`             | :ref:`hseparation<class_CheckButton_theme_constant_hseparation>`                        | ``4``                               |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`             | :ref:`outline_size<class_CheckButton_theme_constant_outline_size>`                      | ``0``                               |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Font<class_Font>`           | :ref:`font<class_CheckButton_theme_font_font>`                                          |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`             | :ref:`font_size<class_CheckButton_theme_font_size_font_size>`                           |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`off<class_CheckButton_theme_icon_off>`                                            |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`off_disabled<class_CheckButton_theme_icon_off_disabled>`                          |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`off_disabled_mirrored<class_CheckButton_theme_icon_off_disabled_mirrored>`        |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`off_mirrored<class_CheckButton_theme_icon_off_mirrored>`                          |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`on<class_CheckButton_theme_icon_on>`                                              |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`on_disabled<class_CheckButton_theme_icon_on_disabled>`                            |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`on_disabled_mirrored<class_CheckButton_theme_icon_on_disabled_mirrored>`          |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`on_mirrored<class_CheckButton_theme_icon_on_mirrored>`                            |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`disabled<class_CheckButton_theme_style_disabled>`                                 |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`focus<class_CheckButton_theme_style_focus>`                                       |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`hover<class_CheckButton_theme_style_hover>`                                       |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`hover_pressed<class_CheckButton_theme_style_hover_pressed>`                       |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`normal<class_CheckButton_theme_style_normal>`                                     |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`pressed<class_CheckButton_theme_style_pressed>`                                   |                                     |
++-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+
 
 Theme Property Descriptions
 ---------------------------
 
-.. _class_CheckButton_theme_constant_check_vadjust:
-
-- :ref:`int<class_int>` **check_vadjust**
-
-+-----------+-------+
-| *Default* | ``0`` |
-+-----------+-------+
-
-The vertical offset used when rendering the toggle icons (in pixels).
-
-----
-
-.. _class_CheckButton_theme_style_disabled:
-
-- :ref:`StyleBox<class_StyleBox>` **disabled**
-
-The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckButton`` is disabled.
-
-----
-
-.. _class_CheckButton_theme_style_focus:
-
-- :ref:`StyleBox<class_StyleBox>` **focus**
-
-The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckButton`` is focused.
-
-----
-
-.. _class_CheckButton_theme_font_font:
-
-- :ref:`Font<class_Font>` **font**
-
-The :ref:`Font<class_Font>` to use for the ``CheckButton`` text.
-
-----
-
 .. _class_CheckButton_theme_color_font_color:
 
 - :ref:`Color<class_Color>` **font_color**
 
-+-----------+--------------------------------+
-| *Default* | ``Color(0.88, 0.88, 0.88, 1)`` |
-+-----------+--------------------------------+
++-----------+-----------------------------------+
+| *Default* | ``Color(0.875, 0.875, 0.875, 1)`` |
++-----------+-----------------------------------+
 
 The ``CheckButton`` text's font color.
 
@@ -141,9 +105,9 @@ The ``CheckButton`` text's font color.
 
 - :ref:`Color<class_Color>` **font_disabled_color**
 
-+-----------+-------------------------------+
-| *Default* | ``Color(0.9, 0.9, 0.9, 0.2)`` |
-+-----------+-------------------------------+
++-----------+-------------------------------------+
+| *Default* | ``Color(0.875, 0.875, 0.875, 0.5)`` |
++-----------+-------------------------------------+
 
 The ``CheckButton`` text's font color when it's disabled.
 
@@ -154,7 +118,7 @@ The ``CheckButton`` text's font color when it's disabled.
 - :ref:`Color<class_Color>` **font_focus_color**
 
 +-----------+--------------------------------+
-| *Default* | ``Color(0.94, 0.94, 0.94, 1)`` |
+| *Default* | ``Color(0.95, 0.95, 0.95, 1)`` |
 +-----------+--------------------------------+
 
 The ``CheckButton`` text's font color when it's focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
@@ -166,7 +130,7 @@ The ``CheckButton`` text's font color when it's focused. Only replaces the norma
 - :ref:`Color<class_Color>` **font_hover_color**
 
 +-----------+--------------------------------+
-| *Default* | ``Color(0.94, 0.94, 0.94, 1)`` |
+| *Default* | ``Color(0.95, 0.95, 0.95, 1)`` |
 +-----------+--------------------------------+
 
 The ``CheckButton`` text's font color when it's hovered.
@@ -209,47 +173,55 @@ The ``CheckButton`` text's font color when it's pressed.
 
 ----
 
-.. _class_CheckButton_theme_font_size_font_size:
+.. _class_CheckButton_theme_constant_check_vadjust:
 
-- :ref:`int<class_int>` **font_size**
+- :ref:`int<class_int>` **check_vadjust**
 
-Font size of the ``CheckButton``'s text.
++-----------+-------+
+| *Default* | ``0`` |
++-----------+-------+
+
+The vertical offset used when rendering the toggle icons (in pixels).
 
 ----
 
-.. _class_CheckButton_theme_style_hover:
+.. _class_CheckButton_theme_constant_hseparation:
 
-- :ref:`StyleBox<class_StyleBox>` **hover**
+- :ref:`int<class_int>` **hseparation**
 
-The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckButton`` is hovered.
++-----------+-------+
+| *Default* | ``4`` |
++-----------+-------+
+
+The separation between the toggle icon and the text (in pixels).
 
 ----
 
-.. _class_CheckButton_theme_style_hover_pressed:
+.. _class_CheckButton_theme_constant_outline_size:
 
-- :ref:`StyleBox<class_StyleBox>` **hover_pressed**
+- :ref:`int<class_int>` **outline_size**
 
-The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckButton`` is hovered and pressed.
++-----------+-------+
+| *Default* | ``0`` |
++-----------+-------+
 
-----
+The size of the text outline.
 
-.. _class_CheckButton_theme_constant_hseparation:
+----
 
-- :ref:`int<class_int>` **hseparation**
+.. _class_CheckButton_theme_font_font:
 
-+-----------+-------+
-| *Default* | ``4`` |
-+-----------+-------+
+- :ref:`Font<class_Font>` **font**
 
-The separation between the toggle icon and the text (in pixels).
+The :ref:`Font<class_Font>` to use for the ``CheckButton`` text.
 
 ----
 
-.. _class_CheckButton_theme_style_normal:
+.. _class_CheckButton_theme_font_size_font_size:
 
-- :ref:`StyleBox<class_StyleBox>` **normal**
+- :ref:`int<class_int>` **font_size**
 
-The :ref:`StyleBox<class_StyleBox>` to display as a background.
+Font size of the ``CheckButton``'s text.
 
 ----
 
@@ -317,15 +289,43 @@ The icon to display when the ``CheckButton`` is checked (for right-to-left layou
 
 ----
 
-.. _class_CheckButton_theme_constant_outline_size:
+.. _class_CheckButton_theme_style_disabled:
 
-- :ref:`int<class_int>` **outline_size**
+- :ref:`StyleBox<class_StyleBox>` **disabled**
 
-+-----------+-------+
-| *Default* | ``0`` |
-+-----------+-------+
+The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckButton`` is disabled.
 
-The size of the text outline.
+----
+
+.. _class_CheckButton_theme_style_focus:
+
+- :ref:`StyleBox<class_StyleBox>` **focus**
+
+The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckButton`` is focused. The ``focus`` :ref:`StyleBox<class_StyleBox>` is displayed *over* the base :ref:`StyleBox<class_StyleBox>`, so a partially transparent :ref:`StyleBox<class_StyleBox>` should be used to ensure the base :ref:`StyleBox<class_StyleBox>` remains visible. A :ref:`StyleBox<class_StyleBox>` that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a :ref:`StyleBoxEmpty<class_StyleBoxEmpty>` resource. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
+
+----
+
+.. _class_CheckButton_theme_style_hover:
+
+- :ref:`StyleBox<class_StyleBox>` **hover**
+
+The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckButton`` is hovered.
+
+----
+
+.. _class_CheckButton_theme_style_hover_pressed:
+
+- :ref:`StyleBox<class_StyleBox>` **hover_pressed**
+
+The :ref:`StyleBox<class_StyleBox>` to display as a background when the ``CheckButton`` is hovered and pressed.
+
+----
+
+.. _class_CheckButton_theme_style_normal:
+
+- :ref:`StyleBox<class_StyleBox>` **normal**
+
+The :ref:`StyleBox<class_StyleBox>` to display as a background.
 
 ----
 

+ 1 - 1
classes/class_classdb.rst

@@ -144,7 +144,7 @@ Returns an array with the names all the integer constants of ``class`` or its an
 
 Returns an array with all the methods of ``class`` or its ancestry if ``no_inheritance`` is ``false``. Every element of the array is a :ref:`Dictionary<class_Dictionary>` with the following keys: ``args``, ``default_args``, ``flags``, ``id``, ``name``, ``return: (class_name, hint, hint_string, name, type, usage)``.
 
-**Note:** In exported release builds the debug info is not available, so the returned dictionaries will contain only method names.
+\ **Note:** In exported release builds the debug info is not available, so the returned dictionaries will contain only method names.
 
 ----
 

+ 327 - 313
classes/class_codeedit.rst

@@ -18,56 +18,56 @@ Description
 
 CodeEdit is a specialised :ref:`TextEdit<class_TextEdit>` designed for editing plain text code files. It contains a bunch of features commonly found in code editors such as line numbers, line folding, code completion, indent management and string / comment management.
 
-**Note:** By default ``CodeEdit`` always use left-to-right text direction to correctly display source code.
+\ **Note:** By default ``CodeEdit`` always use left-to-right text direction to correctly display source code.
 
 Properties
 ----------
 
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`auto_brace_completion_enabled<class_CodeEdit_property_auto_brace_completion_enabled>`                       | ``false``                                            |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`auto_brace_completion_highlight_matching<class_CodeEdit_property_auto_brace_completion_highlight_matching>` | ``false``                                            |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`Dictionary<class_Dictionary>`                  | :ref:`auto_brace_completion_pairs<class_CodeEdit_property_auto_brace_completion_pairs>`                           | ``{"\"": "\"","'": "'","(": ")","[": "]","{": "}"}`` |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`code_completion_enabled<class_CodeEdit_property_code_completion_enabled>`                                   | ``false``                                            |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`String[]<class_String>`                        | :ref:`code_completion_prefixes<class_CodeEdit_property_code_completion_prefixes>`                                 | ``[]``                                               |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`String[]<class_String>`                        | :ref:`delimiter_comments<class_CodeEdit_property_delimiter_comments>`                                             | ``[]``                                               |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`String[]<class_String>`                        | :ref:`delimiter_strings<class_CodeEdit_property_delimiter_strings>`                                               | ``["' '", "\" \""]``                                 |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`gutters_draw_bookmarks<class_CodeEdit_property_gutters_draw_bookmarks>`                                     | ``false``                                            |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`gutters_draw_breakpoints_gutter<class_CodeEdit_property_gutters_draw_breakpoints_gutter>`                   | ``false``                                            |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`gutters_draw_executing_lines<class_CodeEdit_property_gutters_draw_executing_lines>`                         | ``false``                                            |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`gutters_draw_fold_gutter<class_CodeEdit_property_gutters_draw_fold_gutter>`                                 | ``false``                                            |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`gutters_draw_line_numbers<class_CodeEdit_property_gutters_draw_line_numbers>`                               | ``false``                                            |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`gutters_zero_pad_line_numbers<class_CodeEdit_property_gutters_zero_pad_line_numbers>`                       | ``false``                                            |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`indent_automatic<class_CodeEdit_property_indent_automatic>`                                                 | ``false``                                            |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`String[]<class_String>`                        | :ref:`indent_automatic_prefixes<class_CodeEdit_property_indent_automatic_prefixes>`                               | ``["(", ":", "[", "{"]``                             |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`int<class_int>`                                | :ref:`indent_size<class_CodeEdit_property_indent_size>`                                                           | ``4``                                                |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`indent_use_spaces<class_CodeEdit_property_indent_use_spaces>`                                               | ``false``                                            |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`LayoutDirection<enum_Control_LayoutDirection>` | layout_direction                                                                                                  | ``2`` *(parent override)*                            |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`line_folding<class_CodeEdit_property_line_folding>`                                                         | ``false``                                            |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`int[]<class_int>`                              | :ref:`line_length_guidelines<class_CodeEdit_property_line_length_guidelines>`                                     | ``[]``                                               |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`symbol_lookup_on_click<class_CodeEdit_property_symbol_lookup_on_click>`                                     | ``false``                                            |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
-| :ref:`TextDirection<enum_Control_TextDirection>`     | text_direction                                                                                                    | ``1`` *(parent override)*                            |
-+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`auto_brace_completion_enabled<class_CodeEdit_property_auto_brace_completion_enabled>`                       | ``false``                                                                 |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`auto_brace_completion_highlight_matching<class_CodeEdit_property_auto_brace_completion_highlight_matching>` | ``false``                                                                 |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`Dictionary<class_Dictionary>`                  | :ref:`auto_brace_completion_pairs<class_CodeEdit_property_auto_brace_completion_pairs>`                           | ``{ "\"": "\"", "'": "'", "(": ")", "[": "]", "{": "}" }``                |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`code_completion_enabled<class_CodeEdit_property_code_completion_enabled>`                                   | ``false``                                                                 |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`String[]<class_String>`                        | :ref:`code_completion_prefixes<class_CodeEdit_property_code_completion_prefixes>`                                 | ``[]``                                                                    |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`String[]<class_String>`                        | :ref:`delimiter_comments<class_CodeEdit_property_delimiter_comments>`                                             | ``[]``                                                                    |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`String[]<class_String>`                        | :ref:`delimiter_strings<class_CodeEdit_property_delimiter_strings>`                                               | ``["' '", "\" \""]``                                                      |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`gutters_draw_bookmarks<class_CodeEdit_property_gutters_draw_bookmarks>`                                     | ``false``                                                                 |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`gutters_draw_breakpoints_gutter<class_CodeEdit_property_gutters_draw_breakpoints_gutter>`                   | ``false``                                                                 |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`gutters_draw_executing_lines<class_CodeEdit_property_gutters_draw_executing_lines>`                         | ``false``                                                                 |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`gutters_draw_fold_gutter<class_CodeEdit_property_gutters_draw_fold_gutter>`                                 | ``false``                                                                 |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`gutters_draw_line_numbers<class_CodeEdit_property_gutters_draw_line_numbers>`                               | ``false``                                                                 |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`gutters_zero_pad_line_numbers<class_CodeEdit_property_gutters_zero_pad_line_numbers>`                       | ``false``                                                                 |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`indent_automatic<class_CodeEdit_property_indent_automatic>`                                                 | ``false``                                                                 |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`String[]<class_String>`                        | :ref:`indent_automatic_prefixes<class_CodeEdit_property_indent_automatic_prefixes>`                               | ``["(", ":", "[", "{"]``                                                  |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                | :ref:`indent_size<class_CodeEdit_property_indent_size>`                                                           | ``4``                                                                     |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`indent_use_spaces<class_CodeEdit_property_indent_use_spaces>`                                               | ``false``                                                                 |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`LayoutDirection<enum_Control_LayoutDirection>` | layout_direction                                                                                                  | ``2`` (overrides :ref:`Control<class_Control_property_layout_direction>`) |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`line_folding<class_CodeEdit_property_line_folding>`                                                         | ``false``                                                                 |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`int[]<class_int>`                              | :ref:`line_length_guidelines<class_CodeEdit_property_line_length_guidelines>`                                     | ``[]``                                                                    |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`symbol_lookup_on_click<class_CodeEdit_property_symbol_lookup_on_click>`                                     | ``false``                                                                 |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`TextDirection<enum_Control_TextDirection>`     | text_direction                                                                                                    | ``1`` (overrides :ref:`TextEdit<class_TextEdit_property_text_direction>`) |
++------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
 
 Methods
 -------
@@ -195,93 +195,95 @@ Methods
 Theme Properties
 ----------------
 
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`background_color<class_CodeEdit_theme_color_background_color>`                       | ``Color(0, 0, 0, 0)``             |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`bookmark<class_CodeEdit_theme_icon_bookmark>`                                        |                                   |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`bookmark_color<class_CodeEdit_theme_color_bookmark_color>`                           | ``Color(0.5, 0.64, 1, 0.8)``      |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`brace_mismatch_color<class_CodeEdit_theme_color_brace_mismatch_color>`               | ``Color(1, 0.2, 0.2, 1)``         |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`breakpoint<class_CodeEdit_theme_icon_breakpoint>`                                    |                                   |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`breakpoint_color<class_CodeEdit_theme_color_breakpoint_color>`                       | ``Color(0.9, 0.29, 0.3, 1)``      |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`can_fold<class_CodeEdit_theme_icon_can_fold>`                                        |                                   |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`caret_background_color<class_CodeEdit_theme_color_caret_background_color>`           | ``Color(0, 0, 0, 1)``             |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`caret_color<class_CodeEdit_theme_color_caret_color>`                                 | ``Color(0.88, 0.88, 0.88, 1)``    |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`code_folding_color<class_CodeEdit_theme_color_code_folding_color>`                   | ``Color(0.8, 0.8, 0.8, 0.8)``     |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`completion<class_CodeEdit_theme_style_completion>`                                   |                                   |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`completion_background_color<class_CodeEdit_theme_color_completion_background_color>` | ``Color(0.17, 0.16, 0.2, 1)``     |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`completion_existing_color<class_CodeEdit_theme_color_completion_existing_color>`     | ``Color(0.87, 0.87, 0.87, 0.13)`` |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`completion_font_color<class_CodeEdit_theme_color_completion_font_color>`             | ``Color(0.67, 0.67, 0.67, 1)``    |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`int<class_int>`             | :ref:`completion_lines<class_CodeEdit_theme_constant_completion_lines>`                    | ``7``                             |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`int<class_int>`             | :ref:`completion_max_width<class_CodeEdit_theme_constant_completion_max_width>`            | ``50``                            |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`completion_scroll_color<class_CodeEdit_theme_color_completion_scroll_color>`         | ``Color(1, 1, 1, 1)``             |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`int<class_int>`             | :ref:`completion_scroll_width<class_CodeEdit_theme_constant_completion_scroll_width>`      | ``3``                             |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`completion_selected_color<class_CodeEdit_theme_color_completion_selected_color>`     | ``Color(0.26, 0.26, 0.27, 1)``    |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`current_line_color<class_CodeEdit_theme_color_current_line_color>`                   | ``Color(0.25, 0.25, 0.26, 0.8)``  |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`executing_line<class_CodeEdit_theme_icon_executing_line>`                            |                                   |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`executing_line_color<class_CodeEdit_theme_color_executing_line_color>`               | ``Color(0.98, 0.89, 0.27, 1)``    |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`focus<class_CodeEdit_theme_style_focus>`                                             |                                   |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`folded<class_CodeEdit_theme_icon_folded>`                                            |                                   |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`folded_eol_icon<class_CodeEdit_theme_icon_folded_eol_icon>`                          |                                   |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Font<class_Font>`           | :ref:`font<class_CodeEdit_theme_font_font>`                                                |                                   |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_color<class_CodeEdit_theme_color_font_color>`                                   | ``Color(0.88, 0.88, 0.88, 1)``    |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_outline_color<class_CodeEdit_theme_color_font_outline_color>`                   | ``Color(1, 1, 1, 1)``             |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_readonly_color<class_CodeEdit_theme_color_font_readonly_color>`                 | ``Color(0.88, 0.88, 0.88, 0.5)``  |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`font_selected_color<class_CodeEdit_theme_color_font_selected_color>`                 | ``Color(0, 0, 0, 1)``             |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`int<class_int>`             | :ref:`font_size<class_CodeEdit_theme_font_size_font_size>`                                 |                                   |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`line_length_guideline_color<class_CodeEdit_theme_color_line_length_guideline_color>` | ``Color(0.3, 0.5, 0.8, 0.1)``     |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`line_number_color<class_CodeEdit_theme_color_line_number_color>`                     | ``Color(0.67, 0.67, 0.67, 0.4)``  |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`int<class_int>`             | :ref:`line_spacing<class_CodeEdit_theme_constant_line_spacing>`                            | ``4``                             |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`normal<class_CodeEdit_theme_style_normal>`                                           |                                   |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`int<class_int>`             | :ref:`outline_size<class_CodeEdit_theme_constant_outline_size>`                            | ``0``                             |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`read_only<class_CodeEdit_theme_style_read_only>`                                     |                                   |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`search_result_border_color<class_CodeEdit_theme_color_search_result_border_color>`   | ``Color(0.3, 0.3, 0.3, 0.4)``     |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`search_result_color<class_CodeEdit_theme_color_search_result_color>`                 | ``Color(0.3, 0.3, 0.3, 1)``       |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`selection_color<class_CodeEdit_theme_color_selection_color>`                         | ``Color(0.49, 0.49, 0.49, 1)``    |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`space<class_CodeEdit_theme_icon_space>`                                              |                                   |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`tab<class_CodeEdit_theme_icon_tab>`                                                  |                                   |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
-| :ref:`Color<class_Color>`         | :ref:`word_highlighted_color<class_CodeEdit_theme_color_word_highlighted_color>`           | ``Color(0.8, 0.9, 0.9, 0.15)``    |
-+-----------------------------------+--------------------------------------------------------------------------------------------+-----------------------------------+
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`background_color<class_CodeEdit_theme_color_background_color>`                       | ``Color(0, 0, 0, 0)``               |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`bookmark_color<class_CodeEdit_theme_color_bookmark_color>`                           | ``Color(0.5, 0.64, 1, 0.8)``        |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`brace_mismatch_color<class_CodeEdit_theme_color_brace_mismatch_color>`               | ``Color(1, 0.2, 0.2, 1)``           |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`breakpoint_color<class_CodeEdit_theme_color_breakpoint_color>`                       | ``Color(0.9, 0.29, 0.3, 1)``        |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`caret_background_color<class_CodeEdit_theme_color_caret_background_color>`           | ``Color(0, 0, 0, 1)``               |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`caret_color<class_CodeEdit_theme_color_caret_color>`                                 | ``Color(0.875, 0.875, 0.875, 1)``   |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`code_folding_color<class_CodeEdit_theme_color_code_folding_color>`                   | ``Color(0.8, 0.8, 0.8, 0.8)``       |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`completion_background_color<class_CodeEdit_theme_color_completion_background_color>` | ``Color(0.17, 0.16, 0.2, 1)``       |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`completion_existing_color<class_CodeEdit_theme_color_completion_existing_color>`     | ``Color(0.87, 0.87, 0.87, 0.13)``   |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`completion_font_color<class_CodeEdit_theme_color_completion_font_color>`             | ``Color(0.67, 0.67, 0.67, 1)``      |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`completion_scroll_color<class_CodeEdit_theme_color_completion_scroll_color>`         | ``Color(1, 1, 1, 1)``               |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`completion_selected_color<class_CodeEdit_theme_color_completion_selected_color>`     | ``Color(0.26, 0.26, 0.27, 1)``      |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`current_line_color<class_CodeEdit_theme_color_current_line_color>`                   | ``Color(0.25, 0.25, 0.26, 0.8)``    |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`executing_line_color<class_CodeEdit_theme_color_executing_line_color>`               | ``Color(0.98, 0.89, 0.27, 1)``      |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_color<class_CodeEdit_theme_color_font_color>`                                   | ``Color(0.875, 0.875, 0.875, 1)``   |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_outline_color<class_CodeEdit_theme_color_font_outline_color>`                   | ``Color(1, 1, 1, 1)``               |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_placeholder_color<class_CodeEdit_theme_color_font_placeholder_color>`           | ``Color(0.875, 0.875, 0.875, 0.6)`` |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_readonly_color<class_CodeEdit_theme_color_font_readonly_color>`                 | ``Color(0.875, 0.875, 0.875, 0.5)`` |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`font_selected_color<class_CodeEdit_theme_color_font_selected_color>`                 | ``Color(0, 0, 0, 1)``               |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`line_length_guideline_color<class_CodeEdit_theme_color_line_length_guideline_color>` | ``Color(0.3, 0.5, 0.8, 0.1)``       |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`line_number_color<class_CodeEdit_theme_color_line_number_color>`                     | ``Color(0.67, 0.67, 0.67, 0.4)``    |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`search_result_border_color<class_CodeEdit_theme_color_search_result_border_color>`   | ``Color(0.3, 0.3, 0.3, 0.4)``       |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`search_result_color<class_CodeEdit_theme_color_search_result_color>`                 | ``Color(0.3, 0.3, 0.3, 1)``         |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`selection_color<class_CodeEdit_theme_color_selection_color>`                         | ``Color(0.5, 0.5, 0.5, 1)``         |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Color<class_Color>`         | :ref:`word_highlighted_color<class_CodeEdit_theme_color_word_highlighted_color>`           | ``Color(0.8, 0.9, 0.9, 0.15)``      |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`             | :ref:`completion_lines<class_CodeEdit_theme_constant_completion_lines>`                    | ``7``                               |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`             | :ref:`completion_max_width<class_CodeEdit_theme_constant_completion_max_width>`            | ``50``                              |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`             | :ref:`completion_scroll_width<class_CodeEdit_theme_constant_completion_scroll_width>`      | ``3``                               |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`             | :ref:`line_spacing<class_CodeEdit_theme_constant_line_spacing>`                            | ``4``                               |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`             | :ref:`outline_size<class_CodeEdit_theme_constant_outline_size>`                            | ``0``                               |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Font<class_Font>`           | :ref:`font<class_CodeEdit_theme_font_font>`                                                |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`int<class_int>`             | :ref:`font_size<class_CodeEdit_theme_font_size_font_size>`                                 |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`bookmark<class_CodeEdit_theme_icon_bookmark>`                                        |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`breakpoint<class_CodeEdit_theme_icon_breakpoint>`                                    |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`can_fold<class_CodeEdit_theme_icon_can_fold>`                                        |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`executing_line<class_CodeEdit_theme_icon_executing_line>`                            |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`folded<class_CodeEdit_theme_icon_folded>`                                            |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`folded_eol_icon<class_CodeEdit_theme_icon_folded_eol_icon>`                          |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`space<class_CodeEdit_theme_icon_space>`                                              |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`Texture2D<class_Texture2D>` | :ref:`tab<class_CodeEdit_theme_icon_tab>`                                                  |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`completion<class_CodeEdit_theme_style_completion>`                                   |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`focus<class_CodeEdit_theme_style_focus>`                                             |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`normal<class_CodeEdit_theme_style_normal>`                                           |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`read_only<class_CodeEdit_theme_style_read_only>`                                     |                                     |
++-----------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------+
 
 Signals
 -------
@@ -294,9 +296,9 @@ Emitted when a breakpoint is added or removed from a line. If the line is moved
 
 ----
 
-.. _class_CodeEdit_signal_request_code_completion:
+.. _class_CodeEdit_signal_code_completion_requested:
 
-- **request_code_completion** **(** **)**
+- **code_completion_requested** **(** **)**
 
 Emitted when the user requests code completion.
 
@@ -402,13 +404,13 @@ Highlight mismatching brace pairs.
 
 - :ref:`Dictionary<class_Dictionary>` **auto_brace_completion_pairs**
 
-+-----------+------------------------------------------------------+
-| *Default* | ``{"\"": "\"","'": "'","(": ")","[": "]","{": "}"}`` |
-+-----------+------------------------------------------------------+
-| *Setter*  | set_auto_brace_completion_pairs(value)               |
-+-----------+------------------------------------------------------+
-| *Getter*  | get_auto_brace_completion_pairs()                    |
-+-----------+------------------------------------------------------+
++-----------+------------------------------------------------------------+
+| *Default* | ``{ "\"": "\"", "'": "'", "(": ")", "[": "]", "{": "}" }`` |
++-----------+------------------------------------------------------------+
+| *Setter*  | set_auto_brace_completion_pairs(value)                     |
++-----------+------------------------------------------------------------+
+| *Getter*  | get_auto_brace_completion_pairs()                          |
++-----------+------------------------------------------------------------+
 
 Sets the brace pairs to be autocompleted.
 
@@ -729,7 +731,7 @@ Both the start and end keys must be symbols. Only the start key has to be unique
 
 Submits an item to the queue of potential candidates for the autocomplete menu. Call :ref:`update_code_completion_options<class_CodeEdit_method_update_code_completion_options>` to update the list.
 
-**Note:** This list will replace all current candidates.
+\ **Note:** This list will replace all current candidates.
 
 ----
 
@@ -883,17 +885,17 @@ Gets all breakpointed lines.
 
 Gets the completion option at ``index``. The return :ref:`Dictionary<class_Dictionary>` has the following key-values:
 
-``kind``: :ref:`CodeCompletionKind<enum_CodeEdit_CodeCompletionKind>`
+\ ``kind``: :ref:`CodeCompletionKind<enum_CodeEdit_CodeCompletionKind>`\ 
 
-``display_text``: Text that is shown on the autocomplete menu.
+\ ``display_text``: Text that is shown on the autocomplete menu.
 
-``insert_text``: Text that is to be inserted when this item is selected.
+\ ``insert_text``: Text that is to be inserted when this item is selected.
 
-``font_color``: Color of the text on the autocomplete menu.
+\ ``font_color``: Color of the text on the autocomplete menu.
 
-``icon``: Icon to draw on the autocomplete menu.
+\ ``icon``: Icon to draw on the autocomplete menu.
 
-``default_value``: Value of the symbol.
+\ ``default_value``: Value of the symbol.
 
 ----
 
@@ -957,7 +959,7 @@ Gets all executing lines.
 
 - :ref:`int[]<class_int>` **get_folded_lines** **(** **)** |const|
 
-Return all lines that are current folded.
+Returns all lines that are current folded.
 
 ----
 
@@ -1021,7 +1023,7 @@ Indents selected lines, or in the case of no selection the caret line by one.
 
 - :ref:`int<class_int>` **is_in_comment** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` column=-1 **)** |const|
 
-Return delimiter index if ``line`` ``column`` is in a comment. If ``column`` is not provided, will return delimiter index if the entire ``line`` is a comment. Otherwise ``-1``.
+Returns delimiter index if ``line`` ``column`` is in a comment. If ``column`` is not provided, will return delimiter index if the entire ``line`` is a comment. Otherwise ``-1``.
 
 ----
 
@@ -1029,7 +1031,7 @@ Return delimiter index if ``line`` ``column`` is in a comment. If ``column`` is
 
 - :ref:`int<class_int>` **is_in_string** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` column=-1 **)** |const|
 
-Return the delimiter index if ``line`` ``column`` is in a string. If ``column`` is not provided, will return the delimiter index if the entire ``line`` is a string. Otherwise ``-1``.
+Returns the delimiter index if ``line`` ``column`` is in a string. If ``column`` is not provided, will return the delimiter index if the entire ``line`` is a string. Otherwise ``-1``.
 
 ----
 
@@ -1085,7 +1087,7 @@ Removes the string delimiter with ``start_key``.
 
 - void **request_code_completion** **(** :ref:`bool<class_bool>` force=false **)**
 
-Emits :ref:`request_code_completion<class_CodeEdit_signal_request_code_completion>`, if ``force`` is true will bypass all checks. Otherwise will check that the caret is in a word or in front of a prefix. Will ignore the request if all current options are of type file path, node path or signal.
+Emits :ref:`code_completion_requested<class_CodeEdit_signal_code_completion_requested>`, if ``force`` is true will bypass all checks. Otherwise will check that the caret is in a word or in front of a prefix. Will ignore the request if all current options are of type file path, node path or signal.
 
 ----
 
@@ -1183,7 +1185,7 @@ Unindents selected lines, or in the case of no selection the caret line by one.
 
 Submits all completion options added with :ref:`add_code_completion_option<class_CodeEdit_method_add_code_completion_option>`. Will try to force the autoccomplete menu to popup, if ``force`` is ``true``.
 
-**Note:** This will replace all current candidates.
+\ **Note:** This will replace all current candidates.
 
 Theme Property Descriptions
 ---------------------------
@@ -1200,14 +1202,6 @@ Sets the background :ref:`Color<class_Color>`.
 
 ----
 
-.. _class_CodeEdit_theme_icon_bookmark:
-
-- :ref:`Texture2D<class_Texture2D>` **bookmark**
-
-Sets a custom :ref:`Texture2D<class_Texture2D>` to draw in the bookmark gutter for bookmarked lines.
-
-----
-
 .. _class_CodeEdit_theme_color_bookmark_color:
 
 - :ref:`Color<class_Color>` **bookmark_color**
@@ -1232,14 +1226,6 @@ Sets a custom :ref:`Texture2D<class_Texture2D>` to draw in the bookmark gutter f
 
 ----
 
-.. _class_CodeEdit_theme_icon_breakpoint:
-
-- :ref:`Texture2D<class_Texture2D>` **breakpoint**
-
-Sets a custom :ref:`Texture2D<class_Texture2D>` to draw in the breakpoint gutter for breakpointed lines.
-
-----
-
 .. _class_CodeEdit_theme_color_breakpoint_color:
 
 - :ref:`Color<class_Color>` **breakpoint_color**
@@ -1252,14 +1238,6 @@ Sets a custom :ref:`Texture2D<class_Texture2D>` to draw in the breakpoint gutter
 
 ----
 
-.. _class_CodeEdit_theme_icon_can_fold:
-
-- :ref:`Texture2D<class_Texture2D>` **can_fold**
-
-Sets a custom :ref:`Texture2D<class_Texture2D>` to draw in the line folding gutter when a line can be folded.
-
-----
-
 .. _class_CodeEdit_theme_color_caret_background_color:
 
 - :ref:`Color<class_Color>` **caret_background_color**
@@ -1276,9 +1254,9 @@ Sets a custom :ref:`Texture2D<class_Texture2D>` to draw in the line folding gutt
 
 - :ref:`Color<class_Color>` **caret_color**
 
-+-----------+--------------------------------+
-| *Default* | ``Color(0.88, 0.88, 0.88, 1)`` |
-+-----------+--------------------------------+
++-----------+-----------------------------------+
+| *Default* | ``Color(0.875, 0.875, 0.875, 1)`` |
++-----------+-----------------------------------+
 
 :ref:`Color<class_Color>` of the caret.
 
@@ -1296,14 +1274,6 @@ Sets a custom :ref:`Texture2D<class_Texture2D>` to draw in the line folding gutt
 
 ----
 
-.. _class_CodeEdit_theme_style_completion:
-
-- :ref:`StyleBox<class_StyleBox>` **completion**
-
-:ref:`StyleBox<class_StyleBox>` for the code completion popup.
-
-----
-
 .. _class_CodeEdit_theme_color_completion_background_color:
 
 - :ref:`Color<class_Color>` **completion_background_color**
@@ -1340,30 +1310,6 @@ Font :ref:`Color<class_Color>` for the code completion popup.
 
 ----
 
-.. _class_CodeEdit_theme_constant_completion_lines:
-
-- :ref:`int<class_int>` **completion_lines**
-
-+-----------+-------+
-| *Default* | ``7`` |
-+-----------+-------+
-
-Max number of options to display in the code completion popup at any one time.
-
-----
-
-.. _class_CodeEdit_theme_constant_completion_max_width:
-
-- :ref:`int<class_int>` **completion_max_width**
-
-+-----------+--------+
-| *Default* | ``50`` |
-+-----------+--------+
-
-Max width of options in the code completion popup. Options longer then this will be cut off.
-
-----
-
 .. _class_CodeEdit_theme_color_completion_scroll_color:
 
 - :ref:`Color<class_Color>` **completion_scroll_color**
@@ -1376,18 +1322,6 @@ Max width of options in the code completion popup. Options longer then this will
 
 ----
 
-.. _class_CodeEdit_theme_constant_completion_scroll_width:
-
-- :ref:`int<class_int>` **completion_scroll_width**
-
-+-----------+-------+
-| *Default* | ``3`` |
-+-----------+-------+
-
-Width of the scrollbar in the code completion popup.
-
-----
-
 .. _class_CodeEdit_theme_color_completion_selected_color:
 
 - :ref:`Color<class_Color>` **completion_selected_color**
@@ -1412,14 +1346,6 @@ Background :ref:`Color<class_Color>` of the line containing the caret.
 
 ----
 
-.. _class_CodeEdit_theme_icon_executing_line:
-
-- :ref:`Texture2D<class_Texture2D>` **executing_line**
-
-Icon to draw in the executing gutter for executing lines.
-
-----
-
 .. _class_CodeEdit_theme_color_executing_line_color:
 
 - :ref:`Color<class_Color>` **executing_line_color**
@@ -1432,45 +1358,13 @@ Icon to draw in the executing gutter for executing lines.
 
 ----
 
-.. _class_CodeEdit_theme_style_focus:
-
-- :ref:`StyleBox<class_StyleBox>` **focus**
-
-Sets the :ref:`StyleBox<class_StyleBox>` when in focus.
-
-----
-
-.. _class_CodeEdit_theme_icon_folded:
-
-- :ref:`Texture2D<class_Texture2D>` **folded**
-
-Sets a custom :ref:`Texture2D<class_Texture2D>` to draw in the line folding gutter when a line is folded and can be unfolded.
-
-----
-
-.. _class_CodeEdit_theme_icon_folded_eol_icon:
-
-- :ref:`Texture2D<class_Texture2D>` **folded_eol_icon**
-
-Sets a custom :ref:`Texture2D<class_Texture2D>` to draw at the end of a folded line.
-
-----
-
-.. _class_CodeEdit_theme_font_font:
-
-- :ref:`Font<class_Font>` **font**
-
-Sets the default :ref:`Font<class_Font>`.
-
-----
-
 .. _class_CodeEdit_theme_color_font_color:
 
 - :ref:`Color<class_Color>` **font_color**
 
-+-----------+--------------------------------+
-| *Default* | ``Color(0.88, 0.88, 0.88, 1)`` |
-+-----------+--------------------------------+
++-----------+-----------------------------------+
+| *Default* | ``Color(0.875, 0.875, 0.875, 1)`` |
++-----------+-----------------------------------+
 
 Sets the font :ref:`Color<class_Color>`.
 
@@ -1488,13 +1382,25 @@ The tint of text outline of the ``CodeEdit``.
 
 ----
 
+.. _class_CodeEdit_theme_color_font_placeholder_color:
+
+- :ref:`Color<class_Color>` **font_placeholder_color**
+
++-----------+-------------------------------------+
+| *Default* | ``Color(0.875, 0.875, 0.875, 0.6)`` |
++-----------+-------------------------------------+
+
+Font color for :ref:`TextEdit.placeholder_text<class_TextEdit_property_placeholder_text>`.
+
+----
+
 .. _class_CodeEdit_theme_color_font_readonly_color:
 
 - :ref:`Color<class_Color>` **font_readonly_color**
 
-+-----------+----------------------------------+
-| *Default* | ``Color(0.88, 0.88, 0.88, 0.5)`` |
-+-----------+----------------------------------+
++-----------+-------------------------------------+
+| *Default* | ``Color(0.875, 0.875, 0.875, 0.5)`` |
++-----------+-------------------------------------+
 
 Sets the font :ref:`Color<class_Color>` when :ref:`TextEdit.editable<class_TextEdit_property_editable>` is disabled.
 
@@ -1512,14 +1418,6 @@ Sets the :ref:`Color<class_Color>` of the selected text. :ref:`TextEdit.override
 
 ----
 
-.. _class_CodeEdit_theme_font_size_font_size:
-
-- :ref:`int<class_int>` **font_size**
-
-Sets default font size.
-
-----
-
 .. _class_CodeEdit_theme_color_line_length_guideline_color:
 
 - :ref:`Color<class_Color>` **line_length_guideline_color**
@@ -1544,23 +1442,99 @@ Sets the :ref:`Color<class_Color>` of line numbers.
 
 ----
 
-.. _class_CodeEdit_theme_constant_line_spacing:
+.. _class_CodeEdit_theme_color_search_result_border_color:
 
-- :ref:`int<class_int>` **line_spacing**
+- :ref:`Color<class_Color>` **search_result_border_color**
+
++-----------+-------------------------------+
+| *Default* | ``Color(0.3, 0.3, 0.3, 0.4)`` |
++-----------+-------------------------------+
+
+:ref:`Color<class_Color>` of the border around text that matches the search query.
+
+----
+
+.. _class_CodeEdit_theme_color_search_result_color:
+
+- :ref:`Color<class_Color>` **search_result_color**
+
++-----------+-----------------------------+
+| *Default* | ``Color(0.3, 0.3, 0.3, 1)`` |
++-----------+-----------------------------+
+
+:ref:`Color<class_Color>` behind the text that matches the search query.
+
+----
+
+.. _class_CodeEdit_theme_color_selection_color:
+
+- :ref:`Color<class_Color>` **selection_color**
+
++-----------+-----------------------------+
+| *Default* | ``Color(0.5, 0.5, 0.5, 1)`` |
++-----------+-----------------------------+
+
+Sets the highlight :ref:`Color<class_Color>` of text selections.
+
+----
+
+.. _class_CodeEdit_theme_color_word_highlighted_color:
+
+- :ref:`Color<class_Color>` **word_highlighted_color**
+
++-----------+--------------------------------+
+| *Default* | ``Color(0.8, 0.9, 0.9, 0.15)`` |
++-----------+--------------------------------+
+
+Sets the highlight :ref:`Color<class_Color>` of multiple occurrences. :ref:`TextEdit.highlight_all_occurrences<class_TextEdit_property_highlight_all_occurrences>` has to be enabled.
+
+----
+
+.. _class_CodeEdit_theme_constant_completion_lines:
+
+- :ref:`int<class_int>` **completion_lines**
 
 +-----------+-------+
-| *Default* | ``4`` |
+| *Default* | ``7`` |
 +-----------+-------+
 
-Sets the spacing between the lines.
+Max number of options to display in the code completion popup at any one time.
 
 ----
 
-.. _class_CodeEdit_theme_style_normal:
+.. _class_CodeEdit_theme_constant_completion_max_width:
 
-- :ref:`StyleBox<class_StyleBox>` **normal**
+- :ref:`int<class_int>` **completion_max_width**
 
-Sets the :ref:`StyleBox<class_StyleBox>`.
++-----------+--------+
+| *Default* | ``50`` |
++-----------+--------+
+
+Max width of options in the code completion popup. Options longer then this will be cut off.
+
+----
+
+.. _class_CodeEdit_theme_constant_completion_scroll_width:
+
+- :ref:`int<class_int>` **completion_scroll_width**
+
++-----------+-------+
+| *Default* | ``3`` |
++-----------+-------+
+
+Width of the scrollbar in the code completion popup.
+
+----
+
+.. _class_CodeEdit_theme_constant_line_spacing:
+
+- :ref:`int<class_int>` **line_spacing**
+
++-----------+-------+
+| *Default* | ``4`` |
++-----------+-------+
+
+Sets the spacing between the lines.
 
 ----
 
@@ -1576,47 +1550,67 @@ The size of the text outline.
 
 ----
 
-.. _class_CodeEdit_theme_style_read_only:
+.. _class_CodeEdit_theme_font_font:
 
-- :ref:`StyleBox<class_StyleBox>` **read_only**
+- :ref:`Font<class_Font>` **font**
 
-Sets the :ref:`StyleBox<class_StyleBox>` when :ref:`TextEdit.editable<class_TextEdit_property_editable>` is disabled.
+Sets the default :ref:`Font<class_Font>`.
 
 ----
 
-.. _class_CodeEdit_theme_color_search_result_border_color:
+.. _class_CodeEdit_theme_font_size_font_size:
 
-- :ref:`Color<class_Color>` **search_result_border_color**
+- :ref:`int<class_int>` **font_size**
 
-+-----------+-------------------------------+
-| *Default* | ``Color(0.3, 0.3, 0.3, 0.4)`` |
-+-----------+-------------------------------+
+Sets default font size.
 
-:ref:`Color<class_Color>` of the border around text that matches the search query.
+----
+
+.. _class_CodeEdit_theme_icon_bookmark:
+
+- :ref:`Texture2D<class_Texture2D>` **bookmark**
+
+Sets a custom :ref:`Texture2D<class_Texture2D>` to draw in the bookmark gutter for bookmarked lines.
 
 ----
 
-.. _class_CodeEdit_theme_color_search_result_color:
+.. _class_CodeEdit_theme_icon_breakpoint:
 
-- :ref:`Color<class_Color>` **search_result_color**
+- :ref:`Texture2D<class_Texture2D>` **breakpoint**
 
-+-----------+-----------------------------+
-| *Default* | ``Color(0.3, 0.3, 0.3, 1)`` |
-+-----------+-----------------------------+
+Sets a custom :ref:`Texture2D<class_Texture2D>` to draw in the breakpoint gutter for breakpointed lines.
 
-:ref:`Color<class_Color>` behind the text that matches the search query.
+----
+
+.. _class_CodeEdit_theme_icon_can_fold:
+
+- :ref:`Texture2D<class_Texture2D>` **can_fold**
+
+Sets a custom :ref:`Texture2D<class_Texture2D>` to draw in the line folding gutter when a line can be folded.
 
 ----
 
-.. _class_CodeEdit_theme_color_selection_color:
+.. _class_CodeEdit_theme_icon_executing_line:
 
-- :ref:`Color<class_Color>` **selection_color**
+- :ref:`Texture2D<class_Texture2D>` **executing_line**
 
-+-----------+--------------------------------+
-| *Default* | ``Color(0.49, 0.49, 0.49, 1)`` |
-+-----------+--------------------------------+
+Icon to draw in the executing gutter for executing lines.
 
-Sets the highlight :ref:`Color<class_Color>` of text selections.
+----
+
+.. _class_CodeEdit_theme_icon_folded:
+
+- :ref:`Texture2D<class_Texture2D>` **folded**
+
+Sets a custom :ref:`Texture2D<class_Texture2D>` to draw in the line folding gutter when a line is folded and can be unfolded.
+
+----
+
+.. _class_CodeEdit_theme_icon_folded_eol_icon:
+
+- :ref:`Texture2D<class_Texture2D>` **folded_eol_icon**
+
+Sets a custom :ref:`Texture2D<class_Texture2D>` to draw at the end of a folded line.
 
 ----
 
@@ -1636,15 +1630,35 @@ Sets a custom :ref:`Texture2D<class_Texture2D>` for tab text characters.
 
 ----
 
-.. _class_CodeEdit_theme_color_word_highlighted_color:
+.. _class_CodeEdit_theme_style_completion:
 
-- :ref:`Color<class_Color>` **word_highlighted_color**
+- :ref:`StyleBox<class_StyleBox>` **completion**
 
-+-----------+--------------------------------+
-| *Default* | ``Color(0.8, 0.9, 0.9, 0.15)`` |
-+-----------+--------------------------------+
+:ref:`StyleBox<class_StyleBox>` for the code completion popup.
 
-Sets the highlight :ref:`Color<class_Color>` of multiple occurrences. :ref:`TextEdit.highlight_all_occurrences<class_TextEdit_property_highlight_all_occurrences>` has to be enabled.
+----
+
+.. _class_CodeEdit_theme_style_focus:
+
+- :ref:`StyleBox<class_StyleBox>` **focus**
+
+Sets the :ref:`StyleBox<class_StyleBox>` when in focus. The ``focus`` :ref:`StyleBox<class_StyleBox>` is displayed *over* the base :ref:`StyleBox<class_StyleBox>`, so a partially transparent :ref:`StyleBox<class_StyleBox>` should be used to ensure the base :ref:`StyleBox<class_StyleBox>` remains visible. A :ref:`StyleBox<class_StyleBox>` that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a :ref:`StyleBoxEmpty<class_StyleBoxEmpty>` resource. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
+
+----
+
+.. _class_CodeEdit_theme_style_normal:
+
+- :ref:`StyleBox<class_StyleBox>` **normal**
+
+Sets the :ref:`StyleBox<class_StyleBox>`.
+
+----
+
+.. _class_CodeEdit_theme_style_read_only:
+
+- :ref:`StyleBox<class_StyleBox>` **read_only**
+
+Sets the :ref:`StyleBox<class_StyleBox>` when :ref:`TextEdit.editable<class_TextEdit_property_editable>` is disabled.
 
 .. |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_codehighlighter.rst

@@ -264,7 +264,7 @@ Returns the color for a member keyword.
 
 - :ref:`bool<class_bool>` **has_color_region** **(** :ref:`String<class_String>` start_key **)** |const|
 
-Return ``true`` if the start key exists, else ``false``.
+Returns ``true`` if the start key exists, else ``false``.
 
 ----
 
@@ -272,7 +272,7 @@ Return ``true`` if the start key exists, else ``false``.
 
 - :ref:`bool<class_bool>` **has_keyword_color** **(** :ref:`String<class_String>` keyword **)** |const|
 
-Return ``true`` if the keyword exists, else ``false``.
+Returns ``true`` if the keyword exists, else ``false``.
 
 ----
 
@@ -280,7 +280,7 @@ Return ``true`` if the keyword exists, else ``false``.
 
 - :ref:`bool<class_bool>` **has_member_keyword_color** **(** :ref:`String<class_String>` member_keyword **)** |const|
 
-Return ``true`` if the member keyword exists, else ``false``.
+Returns ``true`` if the member keyword exists, else ``false``.
 
 ----
 

+ 3 - 3
classes/class_collisionobject2d.rst

@@ -169,7 +169,7 @@ Property Descriptions
 
 The physics layers this CollisionObject2D is in. Collision objects can exist in one or more of 32 different layers. See also :ref:`collision_mask<class_CollisionObject2D_property_collision_mask>`.
 
-**Note:** Object A can detect a contact with object B only if object B is in any of the layers that object A scans. See `Collision layers and masks <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ in the documentation for more information.
+\ **Note:** Object A can detect a contact with object B only if object B is in any of the layers that object A scans. See `Collision layers and masks <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ in the documentation for more information.
 
 ----
 
@@ -187,7 +187,7 @@ The physics layers this CollisionObject2D is in. Collision objects can exist in
 
 The physics layers this CollisionObject2D scans. Collision objects can scan one or more of 32 different layers. See also :ref:`collision_layer<class_CollisionObject2D_property_collision_layer>`.
 
-**Note:** Object A can detect a contact with object B only if object B is in any of the layers that object A scans. See `Collision layers and masks <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ in the documentation for more information.
+\ **Note:** Object A can detect a contact with object B only if object B is in any of the layers that object A scans. See `Collision layers and masks <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ in the documentation for more information.
 
 ----
 
@@ -219,7 +219,7 @@ Defines the behavior in physics when :ref:`Node.process_mode<class_Node_property
 | *Getter*  | is_pickable()       |
 +-----------+---------------------+
 
-If ``true``, this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events. Requires at least one ``collision_layer`` bit to be set.
+If ``true``, this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events. Requires at least one :ref:`collision_layer<class_CollisionObject2D_property_collision_layer>` bit to be set.
 
 Method Descriptions
 -------------------

+ 3 - 3
classes/class_collisionobject3d.rst

@@ -147,7 +147,7 @@ Property Descriptions
 
 The physics layers this CollisionObject3D **is in**. Collision objects can exist in one or more of 32 different layers. See also :ref:`collision_mask<class_CollisionObject3D_property_collision_mask>`.
 
-**Note:** Object A can detect a contact with object B only if object B is in any of the layers that object A scans. See `Collision layers and masks <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ in the documentation for more information.
+\ **Note:** Object A can detect a contact with object B only if object B is in any of the layers that object A scans. See `Collision layers and masks <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ in the documentation for more information.
 
 ----
 
@@ -165,7 +165,7 @@ The physics layers this CollisionObject3D **is in**. Collision objects can exist
 
 The physics layers this CollisionObject3D **scans**. Collision objects can scan one or more of 32 different layers. See also :ref:`collision_layer<class_CollisionObject3D_property_collision_layer>`.
 
-**Note:** Object A can detect a contact with object B only if object B is in any of the layers that object A scans. See `Collision layers and masks <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ in the documentation for more information.
+\ **Note:** Object A can detect a contact with object B only if object B is in any of the layers that object A scans. See `Collision layers and masks <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ in the documentation for more information.
 
 ----
 
@@ -213,7 +213,7 @@ If ``true``, the ``CollisionObject3D`` will continue to receive input events as
 | *Getter*  | is_ray_pickable()       |
 +-----------+-------------------------+
 
-If ``true``, the ``CollisionObject3D``'s shapes will respond to :ref:`RayCast3D<class_RayCast3D>`\ s.
+If ``true``, this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events. Requires at least one :ref:`collision_layer<class_CollisionObject3D_property_collision_layer>` bit to be set.
 
 Method Descriptions
 -------------------

+ 1 - 1
classes/class_collisionpolygon3d.rst

@@ -96,7 +96,7 @@ The collision margin for the generated :ref:`Shape3D<class_Shape3D>`. See :ref:`
 
 Array of vertices which define the polygon.
 
-**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 ``polygon`` member.
+\ **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 ``polygon`` member.
 
 .. |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.)`

+ 20 - 8
classes/class_color.rst

@@ -14,15 +14,15 @@ Color in RGBA format using floats on the range of 0 to 1.
 Description
 -----------
 
-A color represented by red, green, blue, and alpha (RGBA) components. The alpha component is often used for transparency. Values are in floating-point and usually range from 0 to 1. Some properties (such as CanvasItem.modulate) may accept values greater than 1 (overbright or HDR colors).
+A color represented by red, green, blue, and alpha (RGBA) components. The alpha component is often used for opacity. Values are in floating-point and usually range from 0 to 1. Some properties (such as CanvasItem.modulate) may accept values greater than 1 (overbright or HDR colors).
 
 You can also create a color from standardized color names by using the string constructor or directly using the color constants defined here. The standardized color set is based on the `X11 color names <https://en.wikipedia.org/wiki/X11_color_names>`__.
 
 If you want to supply values in a range of 0 to 255, you should use :ref:`@GDScript.Color8<class_@GDScript_method_Color8>`.
 
-**Note:** In a boolean context, a Color will evaluate to ``false`` if it's equal to ``Color(0, 0, 0, 1)`` (opaque black). Otherwise, a Color will always evaluate to ``true``.
+\ **Note:** In a boolean context, a Color will evaluate to ``false`` if it's equal to ``Color(0, 0, 0, 1)`` (opaque black). Otherwise, a Color will always evaluate to ``true``.
 
-`Color constants cheatsheet <https://raw.githubusercontent.com/godotengine/godot-docs/master/img/color_constants.png>`__
+\ `Color constants cheatsheet <https://raw.githubusercontent.com/godotengine/godot-docs/master/img/color_constants.png>`__
 
 Tutorials
 ---------
@@ -97,6 +97,8 @@ Methods
 +-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Color<class_Color>`   | :ref:`from_string<class_Color_method_from_string>` **(** :ref:`String<class_String>` str, :ref:`Color<class_Color>` default **)** |static|                                                   |
 +-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`   | :ref:`get_luminance<class_Color_method_get_luminance>` **(** **)** |const|                                                                                                                   |
++-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Color<class_Color>`   | :ref:`get_named_color<class_Color_method_get_named_color>` **(** :ref:`int<class_int>` idx **)** |static|                                                                                    |
 +-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`       | :ref:`get_named_color_count<class_Color_method_get_named_color_count>` **(** **)** |static|                                                                                                  |
@@ -767,7 +769,7 @@ Property Descriptions
 | *Default* | ``1.0`` |
 +-----------+---------+
 
-The color's alpha (transparency) component, typically on the range of 0 to 1.
+The color's alpha component, typically on the range of 0 to 1. A value of 0 means that the color is fully transparent. A value of 1 means that the color is fully opaque.
 
 ----
 
@@ -909,11 +911,11 @@ Constructs a ``Color`` from an existing color, but with a custom alpha value.
 
  .. code-tab:: gdscript
 
-    var red = Color(Color.red, 0.5) # 50% transparent red.
+    var red = Color(Color.red, 0.2) # 20% opaque red.
 
  .. code-tab:: csharp
 
-    var red = new Color(Colors.Red, 0.5f); // 50% transparent red.
+    var red = new Color(Colors.Red, 0.2f); // 20% opaque red.
 
 
 
@@ -1071,6 +1073,16 @@ Constructs a color from an `HSV profile <https://en.wikipedia.org/wiki/HSL_and_H
 
 ----
 
+.. _class_Color_method_get_luminance:
+
+- :ref:`float<class_float>` **get_luminance** **(** **)** |const|
+
+Returns the luminance of the color in the ``[0.0, 1.0]`` range.
+
+This is useful when determining light or dark color. Colors with a luminance smaller than 0.5 can be generally considered dark.
+
+----
+
 .. _class_Color_method_get_named_color:
 
 - :ref:`Color<class_Color>` **get_named_color** **(** :ref:`int<class_int>` idx **)** |static|
@@ -1368,7 +1380,7 @@ Operator Descriptions
 
 Returns ``true`` if the colors are not equal.
 
-**Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_Color_method_is_equal_approx>` instead, which is more reliable.
+\ **Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_Color_method_is_equal_approx>` instead, which is more reliable.
 
 ----
 
@@ -1438,7 +1450,7 @@ Divides each component of the ``Color`` by the given :ref:`int<class_int>`.
 
 Returns ``true`` if the colors are exactly equal.
 
-**Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_Color_method_is_equal_approx>` instead, which is more reliable.
+\ **Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_Color_method_is_equal_approx>` instead, which is more reliable.
 
 ----
 

+ 67 - 67
classes/class_colorpicker.rst

@@ -18,7 +18,7 @@ Description
 
 Displays a color picker widget. Useful for selecting a color from an RGB/RGBA colorspace.
 
-**Note:** This control is the color picker widget itself. You can use a :ref:`ColorPickerButton<class_ColorPickerButton>` instead if you need a button that brings up a ``ColorPicker`` in a pop-up.
+\ **Note:** This control is the color picker widget itself. You can use a :ref:`ColorPickerButton<class_ColorPickerButton>` instead if you need a button that brings up a ``ColorPicker`` in a pop-up.
 
 Tutorials
 ---------
@@ -60,6 +60,16 @@ Methods
 Theme Properties
 ----------------
 
++-----------------------------------+--------------------------------------------------------------------------------+---------+
+| :ref:`int<class_int>`             | :ref:`h_width<class_ColorPicker_theme_constant_h_width>`                       | ``30``  |
++-----------------------------------+--------------------------------------------------------------------------------+---------+
+| :ref:`int<class_int>`             | :ref:`label_width<class_ColorPicker_theme_constant_label_width>`               | ``10``  |
++-----------------------------------+--------------------------------------------------------------------------------+---------+
+| :ref:`int<class_int>`             | :ref:`margin<class_ColorPicker_theme_constant_margin>`                         | ``4``   |
++-----------------------------------+--------------------------------------------------------------------------------+---------+
+| :ref:`int<class_int>`             | :ref:`sv_height<class_ColorPicker_theme_constant_sv_height>`                   | ``256`` |
++-----------------------------------+--------------------------------------------------------------------------------+---------+
+| :ref:`int<class_int>`             | :ref:`sv_width<class_ColorPicker_theme_constant_sv_width>`                     | ``256`` |
 +-----------------------------------+--------------------------------------------------------------------------------+---------+
 | :ref:`Texture2D<class_Texture2D>` | :ref:`add_preset<class_ColorPicker_theme_icon_add_preset>`                     |         |
 +-----------------------------------+--------------------------------------------------------------------------------+---------+
@@ -69,12 +79,6 @@ Theme Properties
 +-----------------------------------+--------------------------------------------------------------------------------+---------+
 | :ref:`Texture2D<class_Texture2D>` | :ref:`color_sample<class_ColorPicker_theme_icon_color_sample>`                 |         |
 +-----------------------------------+--------------------------------------------------------------------------------+---------+
-| :ref:`int<class_int>`             | :ref:`h_width<class_ColorPicker_theme_constant_h_width>`                       | ``30``  |
-+-----------------------------------+--------------------------------------------------------------------------------+---------+
-| :ref:`int<class_int>`             | :ref:`label_width<class_ColorPicker_theme_constant_label_width>`               | ``10``  |
-+-----------------------------------+--------------------------------------------------------------------------------+---------+
-| :ref:`int<class_int>`             | :ref:`margin<class_ColorPicker_theme_constant_margin>`                         | ``4``   |
-+-----------------------------------+--------------------------------------------------------------------------------+---------+
 | :ref:`Texture2D<class_Texture2D>` | :ref:`overbright_indicator<class_ColorPicker_theme_icon_overbright_indicator>` |         |
 +-----------------------------------+--------------------------------------------------------------------------------+---------+
 | :ref:`Texture2D<class_Texture2D>` | :ref:`picker_cursor<class_ColorPicker_theme_icon_picker_cursor>`               |         |
@@ -83,10 +87,6 @@ Theme Properties
 +-----------------------------------+--------------------------------------------------------------------------------+---------+
 | :ref:`Texture2D<class_Texture2D>` | :ref:`screen_picker<class_ColorPicker_theme_icon_screen_picker>`               |         |
 +-----------------------------------+--------------------------------------------------------------------------------+---------+
-| :ref:`int<class_int>`             | :ref:`sv_height<class_ColorPicker_theme_constant_sv_height>`                   | ``256`` |
-+-----------------------------------+--------------------------------------------------------------------------------+---------+
-| :ref:`int<class_int>`             | :ref:`sv_width<class_ColorPicker_theme_constant_sv_width>`                     | ``256`` |
-+-----------------------------------+--------------------------------------------------------------------------------+---------+
 
 Signals
 -------
@@ -179,7 +179,7 @@ If ``true``, the color will apply only after the user releases the mouse button,
 | *Getter*  | is_editing_alpha()    |
 +-----------+-----------------------+
 
-If ``true``, shows an alpha channel slider (transparency).
+If ``true``, shows an alpha channel slider (opacity).
 
 ----
 
@@ -197,7 +197,7 @@ If ``true``, shows an alpha channel slider (transparency).
 
 If ``true``, allows editing the color with Hue/Saturation/Value sliders.
 
-**Note:** Cannot be enabled if raw mode is on.
+\ **Note:** Cannot be enabled if raw mode is on.
 
 ----
 
@@ -263,7 +263,7 @@ If ``true``, saved color presets are visible.
 
 If ``true``, allows the color R, G, B component values to go beyond 1.0, which can be used for certain special operations that require it (like tinting without darkening or rendering sprites in HDR).
 
-**Note:** Cannot be enabled if HSV mode is on.
+\ **Note:** Cannot be enabled if HSV mode is on.
 
 Method Descriptions
 -------------------
@@ -274,7 +274,7 @@ Method Descriptions
 
 Adds the given color to a list of color presets. The presets are displayed in the color picker and the user will be able to select them.
 
-**Note:** The presets list is only for *this* color picker.
+\ **Note:** The presets list is only for *this* color picker.
 
 ----
 
@@ -295,36 +295,6 @@ Returns the list of colors in the presets of the color picker.
 Theme Property Descriptions
 ---------------------------
 
-.. _class_ColorPicker_theme_icon_add_preset:
-
-- :ref:`Texture2D<class_Texture2D>` **add_preset**
-
-The icon for the "Add Preset" button.
-
-----
-
-.. _class_ColorPicker_theme_icon_bar_arrow:
-
-- :ref:`Texture2D<class_Texture2D>` **bar_arrow**
-
-The texture for the arrow grabber.
-
-----
-
-.. _class_ColorPicker_theme_icon_color_hue:
-
-- :ref:`Texture2D<class_Texture2D>` **color_hue**
-
-Custom texture for the hue selection slider on the right.
-
-----
-
-.. _class_ColorPicker_theme_icon_color_sample:
-
-- :ref:`Texture2D<class_Texture2D>` **color_sample**
-
-----
-
 .. _class_ColorPicker_theme_constant_h_width:
 
 - :ref:`int<class_int>` **h_width**
@@ -359,55 +329,85 @@ The margin around the ``ColorPicker``.
 
 ----
 
-.. _class_ColorPicker_theme_icon_overbright_indicator:
+.. _class_ColorPicker_theme_constant_sv_height:
 
-- :ref:`Texture2D<class_Texture2D>` **overbright_indicator**
+- :ref:`int<class_int>` **sv_height**
 
-The indicator used to signalize that the color value is outside the 0-1 range.
++-----------+---------+
+| *Default* | ``256`` |
++-----------+---------+
+
+The height of the saturation-value selection box.
 
 ----
 
-.. _class_ColorPicker_theme_icon_picker_cursor:
+.. _class_ColorPicker_theme_constant_sv_width:
 
-- :ref:`Texture2D<class_Texture2D>` **picker_cursor**
+- :ref:`int<class_int>` **sv_width**
+
++-----------+---------+
+| *Default* | ``256`` |
++-----------+---------+
+
+The width of the saturation-value selection box.
 
 ----
 
-.. _class_ColorPicker_theme_icon_sample_bg:
+.. _class_ColorPicker_theme_icon_add_preset:
 
-- :ref:`Texture2D<class_Texture2D>` **sample_bg**
+- :ref:`Texture2D<class_Texture2D>` **add_preset**
+
+The icon for the "Add Preset" button.
 
 ----
 
-.. _class_ColorPicker_theme_icon_screen_picker:
+.. _class_ColorPicker_theme_icon_bar_arrow:
 
-- :ref:`Texture2D<class_Texture2D>` **screen_picker**
+- :ref:`Texture2D<class_Texture2D>` **bar_arrow**
 
-The icon for the screen color picker button.
+The texture for the arrow grabber.
 
 ----
 
-.. _class_ColorPicker_theme_constant_sv_height:
+.. _class_ColorPicker_theme_icon_color_hue:
 
-- :ref:`int<class_int>` **sv_height**
+- :ref:`Texture2D<class_Texture2D>` **color_hue**
 
-+-----------+---------+
-| *Default* | ``256`` |
-+-----------+---------+
+Custom texture for the hue selection slider on the right.
 
-The height of the saturation-value selection box.
+----
+
+.. _class_ColorPicker_theme_icon_color_sample:
+
+- :ref:`Texture2D<class_Texture2D>` **color_sample**
 
 ----
 
-.. _class_ColorPicker_theme_constant_sv_width:
+.. _class_ColorPicker_theme_icon_overbright_indicator:
 
-- :ref:`int<class_int>` **sv_width**
+- :ref:`Texture2D<class_Texture2D>` **overbright_indicator**
 
-+-----------+---------+
-| *Default* | ``256`` |
-+-----------+---------+
+The indicator used to signalize that the color value is outside the 0-1 range.
 
-The width of the saturation-value selection box.
+----
+
+.. _class_ColorPicker_theme_icon_picker_cursor:
+
+- :ref:`Texture2D<class_Texture2D>` **picker_cursor**
+
+----
+
+.. _class_ColorPicker_theme_icon_sample_bg:
+
+- :ref:`Texture2D<class_Texture2D>` **sample_bg**
+
+----
+
+.. _class_ColorPicker_theme_icon_screen_picker:
+
+- :ref:`Texture2D<class_Texture2D>` **screen_picker**
+
+The icon for the screen color picker button.
 
 .. |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.)`

+ 73 - 73
classes/class_colorpickerbutton.rst

@@ -20,7 +20,7 @@ Encapsulates a :ref:`ColorPicker<class_ColorPicker>` making it accessible by pre
 
 See also :ref:`BaseButton<class_BaseButton>` which contains common properties and methods associated with this node.
 
-**Note:** By default, the button may not be wide enough for the color preview swatch to be visible. Make sure to set :ref:`Control.rect_min_size<class_Control_property_rect_min_size>` to a big enough value to give the button enough space.
+\ **Note:** By default, the button may not be wide enough for the color preview swatch to be visible. Make sure to set :ref:`Control.rect_min_size<class_Control_property_rect_min_size>` to a big enough value to give the button enough space.
 
 Tutorials
 ---------
@@ -32,13 +32,13 @@ Tutorials
 Properties
 ----------
 
-+---------------------------+----------------------------------------------------------------+------------------------------+
-| :ref:`Color<class_Color>` | :ref:`color<class_ColorPickerButton_property_color>`           | ``Color(0, 0, 0, 1)``        |
-+---------------------------+----------------------------------------------------------------+------------------------------+
-| :ref:`bool<class_bool>`   | :ref:`edit_alpha<class_ColorPickerButton_property_edit_alpha>` | ``true``                     |
-+---------------------------+----------------------------------------------------------------+------------------------------+
-| :ref:`bool<class_bool>`   | toggle_mode                                                    | ``true`` *(parent override)* |
-+---------------------------+----------------------------------------------------------------+------------------------------+
++---------------------------+----------------------------------------------------------------+-------------------------------------------------------------------------------+
+| :ref:`Color<class_Color>` | :ref:`color<class_ColorPickerButton_property_color>`           | ``Color(0, 0, 0, 1)``                                                         |
++---------------------------+----------------------------------------------------------------+-------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`edit_alpha<class_ColorPickerButton_property_edit_alpha>` | ``true``                                                                      |
++---------------------------+----------------------------------------------------------------+-------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | toggle_mode                                                    | ``true`` (overrides :ref:`BaseButton<class_BaseButton_property_toggle_mode>`) |
++---------------------------+----------------------------------------------------------------+-------------------------------------------------------------------------------+
 
 Methods
 -------
@@ -52,14 +52,6 @@ Methods
 Theme Properties
 ----------------
 
-+-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
-| :ref:`Texture2D<class_Texture2D>` | :ref:`bg<class_ColorPickerButton_theme_icon_bg>`                                    |                               |
-+-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`disabled<class_ColorPickerButton_theme_style_disabled>`                       |                               |
-+-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`focus<class_ColorPickerButton_theme_style_focus>`                             |                               |
-+-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
-| :ref:`Font<class_Font>`           | :ref:`font<class_ColorPickerButton_theme_font_font>`                                |                               |
 +-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
 | :ref:`Color<class_Color>`         | :ref:`font_color<class_ColorPickerButton_theme_color_font_color>`                   | ``Color(1, 1, 1, 1)``         |
 +-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
@@ -73,15 +65,23 @@ Theme Properties
 +-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
 | :ref:`Color<class_Color>`         | :ref:`font_pressed_color<class_ColorPickerButton_theme_color_font_pressed_color>`   | ``Color(0.8, 0.8, 0.8, 1)``   |
 +-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
+| :ref:`int<class_int>`             | :ref:`hseparation<class_ColorPickerButton_theme_constant_hseparation>`              | ``2``                         |
++-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
+| :ref:`int<class_int>`             | :ref:`outline_size<class_ColorPickerButton_theme_constant_outline_size>`            | ``0``                         |
++-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
+| :ref:`Font<class_Font>`           | :ref:`font<class_ColorPickerButton_theme_font_font>`                                |                               |
++-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
 | :ref:`int<class_int>`             | :ref:`font_size<class_ColorPickerButton_theme_font_size_font_size>`                 |                               |
 +-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`hover<class_ColorPickerButton_theme_style_hover>`                             |                               |
+| :ref:`Texture2D<class_Texture2D>` | :ref:`bg<class_ColorPickerButton_theme_icon_bg>`                                    |                               |
 +-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
-| :ref:`int<class_int>`             | :ref:`hseparation<class_ColorPickerButton_theme_constant_hseparation>`              | ``2``                         |
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`disabled<class_ColorPickerButton_theme_style_disabled>`                       |                               |
 +-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
-| :ref:`StyleBox<class_StyleBox>`   | :ref:`normal<class_ColorPickerButton_theme_style_normal>`                           |                               |
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`focus<class_ColorPickerButton_theme_style_focus>`                             |                               |
 +-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
-| :ref:`int<class_int>`             | :ref:`outline_size<class_ColorPickerButton_theme_constant_outline_size>`            | ``0``                         |
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`hover<class_ColorPickerButton_theme_style_hover>`                             |                               |
++-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
+| :ref:`StyleBox<class_StyleBox>`   | :ref:`normal<class_ColorPickerButton_theme_style_normal>`                           |                               |
 +-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
 | :ref:`StyleBox<class_StyleBox>`   | :ref:`pressed<class_ColorPickerButton_theme_style_pressed>`                         |                               |
 +-----------------------------------+-------------------------------------------------------------------------------------+-------------------------------+
@@ -153,7 +153,7 @@ Method Descriptions
 
 Returns the :ref:`ColorPicker<class_ColorPicker>` that this node toggles.
 
-**Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
+\ **Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
 
 ----
 
@@ -163,43 +163,11 @@ Returns the :ref:`ColorPicker<class_ColorPicker>` that this node toggles.
 
 Returns the control's :ref:`PopupPanel<class_PopupPanel>` which allows you to connect to popup signals. This allows you to handle events when the ColorPicker is shown or hidden.
 
-**Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`Window.visible<class_Window_property_visible>` property.
+\ **Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`Window.visible<class_Window_property_visible>` property.
 
 Theme Property Descriptions
 ---------------------------
 
-.. _class_ColorPickerButton_theme_icon_bg:
-
-- :ref:`Texture2D<class_Texture2D>` **bg**
-
-The background of the color preview rect on the button.
-
-----
-
-.. _class_ColorPickerButton_theme_style_disabled:
-
-- :ref:`StyleBox<class_StyleBox>` **disabled**
-
-:ref:`StyleBox<class_StyleBox>` used when the ``ColorPickerButton`` is disabled.
-
-----
-
-.. _class_ColorPickerButton_theme_style_focus:
-
-- :ref:`StyleBox<class_StyleBox>` **focus**
-
-:ref:`StyleBox<class_StyleBox>` used when the ``ColorPickerButton`` is focused. It is displayed over the current :ref:`StyleBox<class_StyleBox>`, so using :ref:`StyleBoxEmpty<class_StyleBoxEmpty>` will just disable the focus visual effect.
-
-----
-
-.. _class_ColorPickerButton_theme_font_font:
-
-- :ref:`Font<class_Font>` **font**
-
-:ref:`Font<class_Font>` of the ``ColorPickerButton``'s text.
-
-----
-
 .. _class_ColorPickerButton_theme_color_font_color:
 
 - :ref:`Color<class_Color>` **font_color**
@@ -272,6 +240,38 @@ Text :ref:`Color<class_Color>` used when the ``ColorPickerButton`` is being pres
 
 ----
 
+.. _class_ColorPickerButton_theme_constant_hseparation:
+
+- :ref:`int<class_int>` **hseparation**
+
++-----------+-------+
+| *Default* | ``2`` |
++-----------+-------+
+
+The horizontal space between ``ColorPickerButton``'s icon and text.
+
+----
+
+.. _class_ColorPickerButton_theme_constant_outline_size:
+
+- :ref:`int<class_int>` **outline_size**
+
++-----------+-------+
+| *Default* | ``0`` |
++-----------+-------+
+
+The size of the text outline.
+
+----
+
+.. _class_ColorPickerButton_theme_font_font:
+
+- :ref:`Font<class_Font>` **font**
+
+:ref:`Font<class_Font>` of the ``ColorPickerButton``'s text.
+
+----
+
 .. _class_ColorPickerButton_theme_font_size_font_size:
 
 - :ref:`int<class_int>` **font_size**
@@ -280,43 +280,43 @@ Font size of the ``ColorPickerButton``'s text.
 
 ----
 
-.. _class_ColorPickerButton_theme_style_hover:
+.. _class_ColorPickerButton_theme_icon_bg:
 
-- :ref:`StyleBox<class_StyleBox>` **hover**
+- :ref:`Texture2D<class_Texture2D>` **bg**
 
-:ref:`StyleBox<class_StyleBox>` used when the ``ColorPickerButton`` is being hovered.
+The background of the color preview rect on the button.
 
 ----
 
-.. _class_ColorPickerButton_theme_constant_hseparation:
-
-- :ref:`int<class_int>` **hseparation**
+.. _class_ColorPickerButton_theme_style_disabled:
 
-+-----------+-------+
-| *Default* | ``2`` |
-+-----------+-------+
+- :ref:`StyleBox<class_StyleBox>` **disabled**
 
-The horizontal space between ``ColorPickerButton``'s icon and text.
+:ref:`StyleBox<class_StyleBox>` used when the ``ColorPickerButton`` is disabled.
 
 ----
 
-.. _class_ColorPickerButton_theme_style_normal:
+.. _class_ColorPickerButton_theme_style_focus:
 
-- :ref:`StyleBox<class_StyleBox>` **normal**
+- :ref:`StyleBox<class_StyleBox>` **focus**
 
-Default :ref:`StyleBox<class_StyleBox>` for the ``ColorPickerButton``.
+:ref:`StyleBox<class_StyleBox>` used when the ``ColorPickerButton`` is focused. The ``focus`` :ref:`StyleBox<class_StyleBox>` is displayed *over* the base :ref:`StyleBox<class_StyleBox>`, so a partially transparent :ref:`StyleBox<class_StyleBox>` should be used to ensure the base :ref:`StyleBox<class_StyleBox>` remains visible. A :ref:`StyleBox<class_StyleBox>` that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a :ref:`StyleBoxEmpty<class_StyleBoxEmpty>` resource. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
 
 ----
 
-.. _class_ColorPickerButton_theme_constant_outline_size:
+.. _class_ColorPickerButton_theme_style_hover:
 
-- :ref:`int<class_int>` **outline_size**
+- :ref:`StyleBox<class_StyleBox>` **hover**
 
-+-----------+-------+
-| *Default* | ``0`` |
-+-----------+-------+
+:ref:`StyleBox<class_StyleBox>` used when the ``ColorPickerButton`` is being hovered.
 
-The size of the text outline.
+----
+
+.. _class_ColorPickerButton_theme_style_normal:
+
+- :ref:`StyleBox<class_StyleBox>` **normal**
+
+Default :ref:`StyleBox<class_StyleBox>` for the ``ColorPickerButton``.
 
 ----
 

+ 1 - 1
classes/class_concavepolygonshape3d.rst

@@ -18,7 +18,7 @@ Description
 
 Concave polygon shape resource, which can be set into a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or area. This shape is created by feeding a list of triangles.
 
-**Note:** When used for collision, ``ConcavePolygonShape3D`` is intended to work with static :ref:`PhysicsBody3D<class_PhysicsBody3D>` nodes like :ref:`StaticBody3D<class_StaticBody3D>` and will not work with :ref:`CharacterBody3D<class_CharacterBody3D>` or :ref:`RigidDynamicBody3D<class_RigidDynamicBody3D>` with a mode other than Static.
+\ **Note:** When used for collision, ``ConcavePolygonShape3D`` is intended to work with static :ref:`PhysicsBody3D<class_PhysicsBody3D>` nodes like :ref:`StaticBody3D<class_StaticBody3D>` and will not work with :ref:`CharacterBody3D<class_CharacterBody3D>` or :ref:`RigidDynamicBody3D<class_RigidDynamicBody3D>` with a mode other than Static.
 
 Tutorials
 ---------

+ 1 - 1
classes/class_configfile.rst

@@ -117,7 +117,7 @@ Keep in mind that section and property names can't contain spaces. Anything afte
 
 ConfigFiles can also contain manually written comment lines starting with a semicolon (``;``). Those lines will be ignored when parsing the file. Note that comments will be lost when saving the ConfigFile. This can still be useful for dedicated server configuration files, which are typically never overwritten without explicit user action.
 
-**Note:** The file extension given to a ConfigFile does not have any impact on its formatting or behavior. By convention, the ``.cfg`` extension is used here, but any other extension such as ``.ini`` is also valid. Since neither ``.cfg`` nor ``.ini`` are standardized, Godot's ConfigFile formatting may differ from files written by other programs.
+\ **Note:** The file extension given to a ConfigFile does not have any impact on its formatting or behavior. By convention, the ``.cfg`` extension is used here, but any other extension such as ``.ini`` is also valid. Since neither ``.cfg`` nor ``.ini`` are standardized, Godot's ConfigFile formatting may differ from files written by other programs.
 
 Methods
 -------

+ 8 - 8
classes/class_confirmationdialog.rst

@@ -38,13 +38,13 @@ To get cancel action, you can use:
 Properties
 ----------
 
-+---------------------------------+----------+---------------------------------------------+
-| :ref:`Vector2i<class_Vector2i>` | min_size | ``Vector2i(200, 70)`` *(parent override)*   |
-+---------------------------------+----------+---------------------------------------------+
-| :ref:`Vector2i<class_Vector2i>` | size     | ``Vector2i(200, 100)`` *(parent override)*  |
-+---------------------------------+----------+---------------------------------------------+
-| :ref:`String<class_String>`     | title    | ``"Please Confirm..."`` *(parent override)* |
-+---------------------------------+----------+---------------------------------------------+
++---------------------------------+----------+---------------------------------------------------------------------------------+
+| :ref:`Vector2i<class_Vector2i>` | min_size | ``Vector2i(200, 70)`` (overrides :ref:`Window<class_Window_property_min_size>`) |
++---------------------------------+----------+---------------------------------------------------------------------------------+
+| :ref:`Vector2i<class_Vector2i>` | size     | ``Vector2i(200, 100)`` (overrides :ref:`Window<class_Window_property_size>`)    |
++---------------------------------+----------+---------------------------------------------------------------------------------+
+| :ref:`String<class_String>`     | title    | ``"Please Confirm..."`` (overrides :ref:`Window<class_Window_property_title>`)  |
++---------------------------------+----------+---------------------------------------------------------------------------------+
 
 Methods
 -------
@@ -62,7 +62,7 @@ Method Descriptions
 
 Returns the cancel button.
 
-**Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
+\ **Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
 
 .. |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.)`

+ 4 - 4
classes/class_container.rst

@@ -11,7 +11,7 @@ Container
 
 **Inherits:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`AspectRatioContainer<class_AspectRatioContainer>`, :ref:`BoxContainer<class_BoxContainer>`, :ref:`CenterContainer<class_CenterContainer>`, :ref:`EditorProperty<class_EditorProperty>`, :ref:`GraphNode<class_GraphNode>`, :ref:`GridContainer<class_GridContainer>`, :ref:`MarginContainer<class_MarginContainer>`, :ref:`PanelContainer<class_PanelContainer>`, :ref:`ScrollContainer<class_ScrollContainer>`, :ref:`SplitContainer<class_SplitContainer>`, :ref:`SubViewportContainer<class_SubViewportContainer>`, :ref:`TabContainer<class_TabContainer>`
+**Inherited By:** :ref:`AspectRatioContainer<class_AspectRatioContainer>`, :ref:`BoxContainer<class_BoxContainer>`, :ref:`CenterContainer<class_CenterContainer>`, :ref:`EditorProperty<class_EditorProperty>`, :ref:`FlowContainer<class_FlowContainer>`, :ref:`GraphNode<class_GraphNode>`, :ref:`GridContainer<class_GridContainer>`, :ref:`MarginContainer<class_MarginContainer>`, :ref:`PanelContainer<class_PanelContainer>`, :ref:`ScrollContainer<class_ScrollContainer>`, :ref:`SplitContainer<class_SplitContainer>`, :ref:`SubViewportContainer<class_SubViewportContainer>`, :ref:`TabContainer<class_TabContainer>`
 
 Base node for containers.
 
@@ -25,9 +25,9 @@ A Control can inherit this to create custom container classes.
 Properties
 ----------
 
-+----------------------------------------------+--------------+---------------------------+
-| :ref:`MouseFilter<enum_Control_MouseFilter>` | mouse_filter | ``1`` *(parent override)* |
-+----------------------------------------------+--------------+---------------------------+
++----------------------------------------------+--------------+-----------------------------------------------------------------------+
+| :ref:`MouseFilter<enum_Control_MouseFilter>` | mouse_filter | ``1`` (overrides :ref:`Control<class_Control_property_mouse_filter>`) |
++----------------------------------------------+--------------+-----------------------------------------------------------------------+
 
 Methods
 -------

+ 58 - 28
classes/class_control.rst

@@ -11,7 +11,7 @@ Control
 
 **Inherits:** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`BaseButton<class_BaseButton>`, :ref:`ColorRect<class_ColorRect>`, :ref:`Container<class_Container>`, :ref:`EditorDebuggerPlugin<class_EditorDebuggerPlugin>`, :ref:`GraphEdit<class_GraphEdit>`, :ref:`ItemList<class_ItemList>`, :ref:`Label<class_Label>`, :ref:`LineEdit<class_LineEdit>`, :ref:`NinePatchRect<class_NinePatchRect>`, :ref:`Panel<class_Panel>`, :ref:`Range<class_Range>`, :ref:`ReferenceRect<class_ReferenceRect>`, :ref:`RichTextLabel<class_RichTextLabel>`, :ref:`Separator<class_Separator>`, :ref:`TabBar<class_TabBar>`, :ref:`TextEdit<class_TextEdit>`, :ref:`TextureRect<class_TextureRect>`, :ref:`Tree<class_Tree>`, :ref:`VideoPlayer<class_VideoPlayer>`
+**Inherited By:** :ref:`BaseButton<class_BaseButton>`, :ref:`ColorRect<class_ColorRect>`, :ref:`Container<class_Container>`, :ref:`EditorDebuggerPlugin<class_EditorDebuggerPlugin>`, :ref:`GraphEdit<class_GraphEdit>`, :ref:`ItemList<class_ItemList>`, :ref:`Label<class_Label>`, :ref:`LineEdit<class_LineEdit>`, :ref:`NinePatchRect<class_NinePatchRect>`, :ref:`Panel<class_Panel>`, :ref:`Range<class_Range>`, :ref:`ReferenceRect<class_ReferenceRect>`, :ref:`RichTextLabel<class_RichTextLabel>`, :ref:`Separator<class_Separator>`, :ref:`TabBar<class_TabBar>`, :ref:`TextEdit<class_TextEdit>`, :ref:`TextureRect<class_TextureRect>`, :ref:`Tree<class_Tree>`, :ref:`VideoStreamPlayer<class_VideoStreamPlayer>`
 
 All user interface nodes inherit from Control. A control's anchors and offsets adapt its position and size relative to its parent.
 
@@ -22,11 +22,11 @@ Base class for all UI-related nodes. ``Control`` features a bounding rectangle t
 
 For more information on Godot's UI system, anchors, offsets, and containers, see the related tutorials in the manual. To build flexible UIs, you'll need a mix of UI elements that inherit from ``Control`` and :ref:`Container<class_Container>` nodes.
 
-**User Interface nodes and input**
+\ **User Interface nodes and input**\ 
 
 Godot sends input events to the scene's root node first, by calling :ref:`Node._input<class_Node_method__input>`. :ref:`Node._input<class_Node_method__input>` forwards the event down the node tree to the nodes under the mouse cursor, or on keyboard focus. To do so, it calls ``MainLoop._input_event``.
 
-**FIXME:** No longer valid after DisplayServer split and Input refactoring.
+\ **FIXME:** No longer valid after DisplayServer split and Input refactoring.
 
 Call :ref:`accept_event<class_Control_method_accept_event>` so no other node receives the event. Once you accept an input, it becomes handled so :ref:`Node._unhandled_input<class_Node_method__unhandled_input>` will not process it.
 
@@ -34,9 +34,9 @@ Only one ``Control`` node can be in keyboard focus. Only the node in focus will
 
 Sets :ref:`mouse_filter<class_Control_property_mouse_filter>` to :ref:`MOUSE_FILTER_IGNORE<class_Control_constant_MOUSE_FILTER_IGNORE>` to tell a ``Control`` node to ignore mouse or touch events. You'll need it if you place an icon on top of a button.
 
-:ref:`Theme<class_Theme>` resources change the Control's appearance. If you change the :ref:`Theme<class_Theme>` on a ``Control`` node, it affects all of its children. To override some of the theme's parameters, call one of the ``add_theme_*_override`` methods, like :ref:`add_theme_font_override<class_Control_method_add_theme_font_override>`. You can override the theme with the inspector.
+\ :ref:`Theme<class_Theme>` resources change the Control's appearance. If you change the :ref:`Theme<class_Theme>` on a ``Control`` node, it affects all of its children. To override some of the theme's parameters, call one of the ``add_theme_*_override`` methods, like :ref:`add_theme_font_override<class_Control_method_add_theme_font_override>`. You can override the theme with the inspector.
 
-**Note:** Theme items are *not* :ref:`Object<class_Object>` properties. This means you can't access their values using :ref:`Object.get<class_Object_method_get>` and :ref:`Object.set<class_Object_method_set>`. Instead, use the ``get_theme_*`` and ``add_theme_*_override`` methods provided by this class.
+\ **Note:** Theme items are *not* :ref:`Object<class_Object>` properties. This means you can't access their values using :ref:`Object.get<class_Object_method_get>` and :ref:`Object.set<class_Object_method_set>`. Instead, use the ``get_theme_*`` and ``add_theme_*_override`` methods provided by this class.
 
 Tutorials
 ---------
@@ -244,9 +244,9 @@ Methods
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                      | :ref:`has_theme_stylebox_override<class_Control_method_has_theme_stylebox_override>` **(** :ref:`StringName<class_StringName>` name **)** |const|                                                                                                                  |
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                      | :ref:`is_layout_rtl<class_Control_method_is_layout_rtl>` **(** **)** |const|                                                                                                                                                                                       |
+| :ref:`bool<class_bool>`                      | :ref:`is_drag_successful<class_Control_method_is_drag_successful>` **(** **)** |const|                                                                                                                                                                             |
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`minimum_size_changed<class_Control_method_minimum_size_changed>` **(** **)**                                                                                                                                                                                 |
+| :ref:`bool<class_bool>`                      | :ref:`is_layout_rtl<class_Control_method_is_layout_rtl>` **(** **)** |const|                                                                                                                                                                                       |
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                         | :ref:`release_focus<class_Control_method_release_focus>` **(** **)**                                                                                                                                                                                               |
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -262,6 +262,8 @@ Methods
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                         | :ref:`remove_theme_stylebox_override<class_Control_method_remove_theme_stylebox_override>` **(** :ref:`StringName<class_StringName>` name **)**                                                                                                                    |
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                         | :ref:`reset_size<class_Control_method_reset_size>` **(** **)**                                                                                                                                                                                                     |
++----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                         | :ref:`set_anchor<class_Control_method_set_anchor>` **(** :ref:`Side<enum_@GlobalScope_Side>` side, :ref:`float<class_float>` anchor, :ref:`bool<class_bool>` keep_offset=false, :ref:`bool<class_bool>` push_opposite_anchor=true **)**                            |
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                         | :ref:`set_anchor_and_offset<class_Control_method_set_anchor_and_offset>` **(** :ref:`Side<enum_@GlobalScope_Side>` side, :ref:`float<class_float>` anchor, :ref:`float<class_float>` offset, :ref:`bool<class_bool>` push_opposite_anchor=false **)**              |
@@ -290,6 +292,8 @@ Methods
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                         | :ref:`set_size<class_Control_method_set_size>` **(** :ref:`Vector2<class_Vector2>` size, :ref:`bool<class_bool>` keep_offsets=false **)**                                                                                                                          |
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                         | :ref:`update_minimum_size<class_Control_method_update_minimum_size>` **(** **)**                                                                                                                                                                                   |
++----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                         | :ref:`warp_mouse<class_Control_method_warp_mouse>` **(** :ref:`Vector2<class_Vector2>` to_position **)**                                                                                                                                                           |
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
@@ -334,7 +338,7 @@ Emitted when the node's minimum size changes.
 
 Emitted when the mouse enters the control's ``Rect`` area, provided its :ref:`mouse_filter<class_Control_property_mouse_filter>` lets the event reach it.
 
-**Note:** :ref:`mouse_entered<class_Control_signal_mouse_entered>` will not be emitted if the mouse enters a child ``Control`` node before entering the parent's ``Rect`` area, at least until the mouse is moved to reach the parent's ``Rect`` area.
+\ **Note:** :ref:`mouse_entered<class_Control_signal_mouse_entered>` will not be emitted if the mouse enters a child ``Control`` node before entering the parent's ``Rect`` area, at least until the mouse is moved to reach the parent's ``Rect`` area.
 
 ----
 
@@ -344,7 +348,15 @@ Emitted when the mouse enters the control's ``Rect`` area, provided its :ref:`mo
 
 Emitted when the mouse leaves the control's ``Rect`` area, provided its :ref:`mouse_filter<class_Control_property_mouse_filter>` lets the event reach it.
 
-**Note:** :ref:`mouse_exited<class_Control_signal_mouse_exited>` will be emitted if the mouse enters a child ``Control`` node, even if the mouse cursor is still inside the parent's ``Rect`` area.
+\ **Note:** :ref:`mouse_exited<class_Control_signal_mouse_exited>` will be emitted if the mouse enters a child ``Control`` node, even if the mouse cursor is still inside the parent's ``Rect`` area.
+
+If you want to check whether the mouse truly left the area, ignoring any top nodes, you can use code like this:
+
+::
+
+    func _on_mouse_exited():
+        if not Rect2(Vector2(), rect_size).has_point(get_local_mouse_position()):
+            # Not hovering over area.
 
 ----
 
@@ -1042,7 +1054,7 @@ Controls layout direction and text writing direction. Right-to-left layouts are
 
 The default cursor shape for this control. Useful for Godot plugins and applications or games that use the system's mouse cursors.
 
-**Note:** On Linux, shapes may vary depending on the cursor theme of the system.
+\ **Note:** On Linux, shapes may vary depending on the cursor theme of the system.
 
 ----
 
@@ -1238,9 +1250,9 @@ The node's rotation around its pivot, in radians. See :ref:`rect_pivot_offset<cl
 
 The node's scale, relative to its :ref:`rect_size<class_Control_property_rect_size>`. Change this property to scale the node around its :ref:`rect_pivot_offset<class_Control_property_rect_pivot_offset>`. The Control's :ref:`hint_tooltip<class_Control_property_hint_tooltip>` will also scale according to this value.
 
-**Note:** This property is mainly intended to be used for animation purposes. Text inside the Control will look pixelated or blurry when the Control is scaled. To support multiple resolutions in your project, use an appropriate viewport stretch mode as described in the :doc:`documentation <../tutorials/viewports/multiple_resolutions>` instead of scaling Controls individually.
+\ **Note:** This property is mainly intended to be used for animation purposes. Text inside the Control will look pixelated or blurry when the Control is scaled. To support multiple resolutions in your project, use an appropriate viewport stretch mode as described in the :doc:`documentation <../tutorials/viewports/multiple_resolutions>` instead of scaling Controls individually.
 
-**Note:** If the Control node is a child of a :ref:`Container<class_Container>` node, the scale will be reset to ``Vector2(1, 1)`` when the scene is instantiated. To set the Control's scale when it's instantiated, wait for one frame using ``await get_tree().process_frame`` then set its :ref:`rect_scale<class_Control_property_rect_scale>` property.
+\ **Note:** If the Control node is a child of a :ref:`Container<class_Container>` node, the scale will be reset to ``Vector2(1, 1)`` when the scene is instantiated. To set the Control's scale when it's instantiated, wait for one frame using ``await get_tree().process_frame`` then set its :ref:`rect_scale<class_Control_property_rect_scale>` property.
 
 ----
 
@@ -1336,9 +1348,9 @@ The name of a theme type variation used by this ``Control`` to look up its own t
 
 When set, this property gives the highest priority to the type of the specified name. This type can in turn extend another type, forming a dependency chain. See :ref:`Theme.set_type_variation<class_Theme_method_set_type_variation>`. If the theme item cannot be found using this type or its base types, lookup falls back on the class names.
 
-**Note:** To look up ``Control``'s own items use various ``get_theme_*`` methods without specifying ``theme_type``.
+\ **Note:** To look up ``Control``'s own items use various ``get_theme_*`` methods without specifying ``theme_type``.
 
-**Note:** Theme items are looked for in the tree order, from branch to root, where each ``Control`` node is checked for its :ref:`theme<class_Control_property_theme>` property. The earliest match against any type/class name is returned. The project-level Theme and the default Theme are checked last.
+\ **Note:** Theme items are looked for in the tree order, from branch to root, where each ``Control`` node is checked for its :ref:`theme<class_Control_property_theme>` property. The earliest match against any type/class name is returned. The project-level Theme and the default Theme are checked last.
 
 Method Descriptions
 -------------------
@@ -1444,6 +1456,8 @@ Virtual method to be implemented by the user. Returns the minimum size for this
 
 If not overridden, defaults to :ref:`Vector2.ZERO<class_Vector2_constant_ZERO>`.
 
+\ **Note:** This method will not be called when the script is attached to a ``Control`` node that already overrides its minimum size (e.g. :ref:`Label<class_Label>`, :ref:`Button<class_Button>`, :ref:`PanelContainer<class_PanelContainer>` etc.). It can only be used with most basic GUI nodes, like ``Control``, :ref:`Container<class_Container>`, :ref:`Panel<class_Panel>` etc.
+
 ----
 
 .. _class_Control_method__gui_input:
@@ -1492,7 +1506,7 @@ The event won't trigger if:
 
 \* it happens outside the parent's rectangle and the parent has either :ref:`rect_clip_content<class_Control_property_rect_clip_content>` enabled.
 
-**Note:** Event position is relative to the control origin.
+\ **Note:** Event position is relative to the control origin.
 
 ----
 
@@ -1504,7 +1518,7 @@ Virtual method to be implemented by the user. Returns whether the given ``point`
 
 If not overridden, default behavior is checking if the point is within control's Rect.
 
-**Note:** If you want to check if a point is inside the control, you can use ``get_rect().has_point(point)``.
+\ **Note:** If you want to check if a point is inside the control, you can use ``get_rect().has_point(point)``.
 
 ----
 
@@ -1518,9 +1532,9 @@ The returned node must be of type ``Control`` or Control-derived. It can have ch
 
 The returned node will be added as child to a :ref:`PopupPanel<class_PopupPanel>`, so you should only provide the contents of that panel. That :ref:`PopupPanel<class_PopupPanel>` can be themed using :ref:`Theme.set_stylebox<class_Theme_method_set_stylebox>` for the type ``"TooltipPanel"`` (see :ref:`hint_tooltip<class_Control_property_hint_tooltip>` for an example).
 
-**Note:** The tooltip is shrunk to minimal size. If you want to ensure it's fully visible, you might want to set its :ref:`rect_min_size<class_Control_property_rect_min_size>` to some non-zero value.
+\ **Note:** The tooltip is shrunk to minimal size. If you want to ensure it's fully visible, you might want to set its :ref:`rect_min_size<class_Control_property_rect_min_size>` to some non-zero value.
 
-**Note:** The node (and any relevant children) should be :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` when returned, otherwise, the viewport that instantiates it will not be able to calculate its minimum size reliably.
+\ **Note:** The node (and any relevant children) should be :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` when returned, otherwise, the viewport that instantiates it will not be able to calculate its minimum size reliably.
 
 Example of usage with a custom-constructed node:
 
@@ -1576,7 +1590,7 @@ Example of usage with a custom scene instance:
 
 User defined BiDi algorithm override function.
 
-Return ``Array`` of ``Vector2i`` text ranges, in the left-to-right order. Ranges should cover full source ``text`` without overlaps. BiDi algorithm will be used on each range separately.
+Returns ``Array`` of ``Vector2i`` text ranges, in the left-to-right order. Ranges should cover full source ``text`` without overlaps. BiDi algorithm will be used on each range separately.
 
 ----
 
@@ -1596,7 +1610,7 @@ Creates a local override for a theme :ref:`Color<class_Color>` with the specifie
 
 See also :ref:`get_theme_color<class_Control_method_get_theme_color>`.
 
-**Example of overriding a label's color and resetting it later:**
+\ **Example of overriding a label's color and resetting it later:**\ 
 
 
 .. tabs::
@@ -1671,7 +1685,7 @@ Creates a local override for a theme :ref:`StyleBox<class_StyleBox>` with the sp
 
 See also :ref:`get_theme_stylebox<class_Control_method_get_theme_stylebox>`.
 
-**Example of modifying a property in a StyleBox by duplicating it:**
+\ **Example of modifying a property in a StyleBox by duplicating it:**\ 
 
 
 .. tabs::
@@ -2132,19 +2146,19 @@ See :ref:`add_theme_stylebox_override<class_Control_method_add_theme_stylebox_ov
 
 ----
 
-.. _class_Control_method_is_layout_rtl:
+.. _class_Control_method_is_drag_successful:
 
-- :ref:`bool<class_bool>` **is_layout_rtl** **(** **)** |const|
+- :ref:`bool<class_bool>` **is_drag_successful** **(** **)** |const|
 
-Returns ``true`` if layout is right-to-left.
+Returns ``true`` if drag operation is successful.
 
 ----
 
-.. _class_Control_method_minimum_size_changed:
+.. _class_Control_method_is_layout_rtl:
 
-- void **minimum_size_changed** **(** **)**
+- :ref:`bool<class_bool>` **is_layout_rtl** **(** **)** |const|
 
-Invalidates the size cache in this node and in parent nodes up to top_level. Intended to be used with :ref:`get_minimum_size<class_Control_method_get_minimum_size>` when the return value is changed. Setting :ref:`rect_min_size<class_Control_property_rect_min_size>` directly calls this method automatically.
+Returns ``true`` if layout is right-to-left.
 
 ----
 
@@ -2204,6 +2218,14 @@ Removes a local override for a theme :ref:`StyleBox<class_StyleBox>` with the sp
 
 ----
 
+.. _class_Control_method_reset_size:
+
+- void **reset_size** **(** **)**
+
+Resets the size to :ref:`get_combined_minimum_size<class_Control_method_get_combined_minimum_size>`. This is equivalent to calling ``set_size(Vector2())`` (or any size below the minimum).
+
+----
+
 .. _class_Control_method_set_anchor:
 
 - void **set_anchor** **(** :ref:`Side<enum_@GlobalScope_Side>` side, :ref:`float<class_float>` anchor, :ref:`bool<class_bool>` keep_offset=false, :ref:`bool<class_bool>` push_opposite_anchor=true **)**
@@ -2258,7 +2280,7 @@ Forwards the handling of this control's drag and drop to ``target`` object.
 
 Forwarding can be implemented in the target object similar to the methods :ref:`_get_drag_data<class_Control_method__get_drag_data>`, :ref:`_can_drop_data<class_Control_method__can_drop_data>`, and :ref:`_drop_data<class_Control_method__drop_data>` but with two differences:
 
-1. The function name must be suffixed with **_fw**
+1. The function name must be suffixed with **_fw**\ 
 
 2. The function must take an extra argument that is the control doing the forwarding
 
@@ -2430,6 +2452,14 @@ If ``keep_offsets`` is ``true``, control's anchors will be updated instead of of
 
 ----
 
+.. _class_Control_method_update_minimum_size:
+
+- void **update_minimum_size** **(** **)**
+
+Invalidates the size cache in this node and in parent nodes up to top level. Intended to be used with :ref:`get_minimum_size<class_Control_method_get_minimum_size>` when the return value is changed. Setting :ref:`rect_min_size<class_Control_property_rect_min_size>` directly calls this method automatically.
+
+----
+
 .. _class_Control_method_warp_mouse:
 
 - void **warp_mouse** **(** :ref:`Vector2<class_Vector2>` to_position **)**

+ 1 - 1
classes/class_convexpolygonshape2d.rst

@@ -49,7 +49,7 @@ Property Descriptions
 | *Getter*  | get_points()             |
 +-----------+--------------------------+
 
-The polygon's list of vertices. Can be in either clockwise or counterclockwise order.
+The polygon's list of vertices. Can be in either clockwise or counterclockwise order. Only set this property with convex hull points, use :ref:`set_point_cloud<class_ConvexPolygonShape2D_method_set_point_cloud>` to generate a convex hull shape from concave shape points.
 
 Method Descriptions
 -------------------

+ 16 - 0
classes/class_cpuparticles2d.rst

@@ -57,6 +57,8 @@ Properties
 +---------------------------------------------------------+-------------------------------------------------------------------------------------+-----------------------+
 | :ref:`Color<class_Color>`                               | :ref:`color<class_CPUParticles2D_property_color>`                                   | ``Color(1, 1, 1, 1)`` |
 +---------------------------------------------------------+-------------------------------------------------------------------------------------+-----------------------+
+| :ref:`Gradient<class_Gradient>`                         | :ref:`color_initial_ramp<class_CPUParticles2D_property_color_initial_ramp>`         |                       |
++---------------------------------------------------------+-------------------------------------------------------------------------------------+-----------------------+
 | :ref:`Gradient<class_Gradient>`                         | :ref:`color_ramp<class_CPUParticles2D_property_color_ramp>`                         |                       |
 +---------------------------------------------------------+-------------------------------------------------------------------------------------+-----------------------+
 | :ref:`Curve<class_Curve>`                               | :ref:`damping_curve<class_CPUParticles2D_property_damping_curve>`                   |                       |
@@ -511,6 +513,20 @@ Each particle's initial color. If :ref:`texture<class_CPUParticles2D_property_te
 
 ----
 
+.. _class_CPUParticles2D_property_color_initial_ramp:
+
+- :ref:`Gradient<class_Gradient>` **color_initial_ramp**
+
++----------+-------------------------------+
+| *Setter* | set_color_initial_ramp(value) |
++----------+-------------------------------+
+| *Getter* | get_color_initial_ramp()      |
++----------+-------------------------------+
+
+Each particle's initial color will vary along this :ref:`GradientTexture1D<class_GradientTexture1D>` (multiplied with :ref:`color<class_CPUParticles2D_property_color>`).
+
+----
+
 .. _class_CPUParticles2D_property_color_ramp:
 
 - :ref:`Gradient<class_Gradient>` **color_ramp**

+ 19 - 3
classes/class_cpuparticles3d.rst

@@ -52,6 +52,8 @@ Properties
 +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
 | :ref:`Color<class_Color>`                               | :ref:`color<class_CPUParticles3D_property_color>`                                           | ``Color(1, 1, 1, 1)``   |
 +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
+| :ref:`Gradient<class_Gradient>`                         | :ref:`color_initial_ramp<class_CPUParticles3D_property_color_initial_ramp>`                 |                         |
++---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
 | :ref:`Gradient<class_Gradient>`                         | :ref:`color_ramp<class_CPUParticles3D_property_color_ramp>`                                 |                         |
 +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
 | :ref:`Curve<class_Curve>`                               | :ref:`damping_curve<class_CPUParticles3D_property_damping_curve>`                           |                         |
@@ -402,7 +404,7 @@ Minimum angle.
 | *Getter* | get_param_curve()      |
 +----------+------------------------+
 
-Each particle's angular velocity will vary along this :ref:`Curve<class_Curve>`.
+Each particle's angular velocity (rotation speed) will vary along this :ref:`Curve<class_Curve>` over its lifetime.
 
 ----
 
@@ -418,7 +420,7 @@ Each particle's angular velocity will vary along this :ref:`Curve<class_Curve>`.
 | *Getter*  | get_param_max()      |
 +-----------+----------------------+
 
-Maximum angular velocity.
+Maximum initial angular velocity (rotation speed) applied to each particle in *degrees* per second.
 
 ----
 
@@ -434,7 +436,7 @@ Maximum angular velocity.
 | *Getter*  | get_param_min()      |
 +-----------+----------------------+
 
-Minimum angular velocity.
+Minimum initial angular velocity (rotation speed) applied to each particle in *degrees* per second.
 
 ----
 
@@ -546,6 +548,20 @@ Each particle's initial color. To have particle display color in a :ref:`BaseMat
 
 ----
 
+.. _class_CPUParticles3D_property_color_initial_ramp:
+
+- :ref:`Gradient<class_Gradient>` **color_initial_ramp**
+
++----------+-------------------------------+
+| *Setter* | set_color_initial_ramp(value) |
++----------+-------------------------------+
+| *Getter* | get_color_initial_ramp()      |
++----------+-------------------------------+
+
+Each particle's initial color will vary along this :ref:`GradientTexture1D<class_GradientTexture1D>` (multiplied with :ref:`color<class_CPUParticles3D_property_color>`).
+
+----
+
 .. _class_CPUParticles3D_property_color_ramp:
 
 - :ref:`Gradient<class_Gradient>` **color_ramp**

+ 3 - 3
classes/class_crypto.rst

@@ -87,7 +87,7 @@ For now, this includes generating cryptographically secure random bytes, RSA key
 
 
 
-**Note:** Not available in HTML5 exports.
+\ **Note:** Not available in HTML5 exports.
 
 Methods
 -------
@@ -131,7 +131,7 @@ See `this blog post <https://paragonie.com/blog/2015/11/preventing-timing-attack
 
 Decrypt the given ``ciphertext`` with the provided private ``key``.
 
-**Note:** The maximum size of accepted ciphertext is limited by the key size.
+\ **Note:** The maximum size of accepted ciphertext is limited by the key size.
 
 ----
 
@@ -141,7 +141,7 @@ Decrypt the given ``ciphertext`` with the provided private ``key``.
 
 Encrypt the given ``plaintext`` with the provided public ``key``.
 
-**Note:** The maximum size of accepted plaintext is limited by the key size.
+\ **Note:** The maximum size of accepted plaintext is limited by the key size.
 
 ----
 

+ 4 - 4
classes/class_cryptokey.rst

@@ -20,7 +20,7 @@ The CryptoKey class represents a cryptographic key. Keys can be loaded and saved
 
 They can be used to generate a self-signed :ref:`X509Certificate<class_X509Certificate>` via :ref:`Crypto.generate_self_signed_certificate<class_Crypto_method_generate_self_signed_certificate>` and as private key in :ref:`StreamPeerSSL.accept_stream<class_StreamPeerSSL_method_accept_stream>` along with the appropriate certificate.
 
-**Note:** Not available in HTML5 exports.
+\ **Note:** Not available in HTML5 exports.
 
 Methods
 -------
@@ -44,7 +44,7 @@ Method Descriptions
 
 - :ref:`bool<class_bool>` **is_public_only** **(** **)** |const|
 
-Return ``true`` if this CryptoKey only has the public part, and not the private one.
+Returns ``true`` if this CryptoKey only has the public part, and not the private one.
 
 ----
 
@@ -54,7 +54,7 @@ Return ``true`` if this CryptoKey only has the public part, and not the private
 
 Loads a key from ``path``. If ``public_only`` is ``true``, only the public key will be loaded.
 
-**Note:** ``path`` should be a "\*.pub" file if ``public_only`` is ``true``, a "\*.key" file otherwise.
+\ **Note:** ``path`` should be a "\*.pub" file if ``public_only`` is ``true``, a "\*.key" file otherwise.
 
 ----
 
@@ -72,7 +72,7 @@ Loads a key from the given ``string``. If ``public_only`` is ``true``, only the
 
 Saves a key to the given ``path``. If ``public_only`` is ``true``, only the public key will be saved.
 
-**Note:** ``path`` should be a "\*.pub" file if ``public_only`` is ``true``, a "\*.key" file otherwise.
+\ **Note:** ``path`` should be a "\*.pub" file if ``public_only`` is ``true``, a "\*.key" file otherwise.
 
 ----
 

+ 2 - 2
classes/class_csgmesh3d.rst

@@ -16,7 +16,7 @@ A CSG Mesh shape that uses a mesh resource.
 Description
 -----------
 
-This CSG node allows you to use any mesh resource as a CSG shape, provided it is closed, does not self-intersect, does not contain internal faces and has no edges that connect to more than two faces.
+This CSG node allows you to use any mesh resource as a CSG shape, provided it is closed, does not self-intersect, does not contain internal faces and has no edges that connect to more than two faces. See also :ref:`CSGPolygon3D<class_CSGPolygon3D>` for drawing 2D extruded polygons to be used as CSG nodes.
 
 Properties
 ----------
@@ -56,7 +56,7 @@ The :ref:`Material<class_Material>` used in drawing the CSG shape.
 
 The :ref:`Mesh<class_Mesh>` resource to use as a CSG shape.
 
-**Note:** When using an :ref:`ArrayMesh<class_ArrayMesh>`, avoid meshes with vertex normals unless a flat shader is required. By default, CSGMesh will ignore the mesh's vertex normals and use a smooth shader calculated using the faces' normals. If a flat shader is required, ensure that all faces' vertex normals are parallel.
+\ **Note:** When using an :ref:`ArrayMesh<class_ArrayMesh>`, avoid meshes with vertex normals unless a flat shader is required. By default, CSGMesh will ignore the mesh's vertex normals and use a smooth shader calculated using the faces' normals. If a flat shader is required, ensure that all faces' vertex normals are parallel.
 
 .. |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.)`

+ 6 - 4
classes/class_csgpolygon3d.rst

@@ -16,7 +16,7 @@ Extrudes a 2D polygon shape to create a 3D mesh.
 Description
 -----------
 
-An array of 2D points is extruded to quickly and easily create a variety of 3D meshes.
+An array of 2D points is extruded to quickly and easily create a variety of 3D meshes. See also :ref:`CSGMesh3D<class_CSGMesh3D>` for using 3D meshes as CSG nodes.
 
 Properties
 ----------
@@ -88,11 +88,11 @@ enum **PathRotation**:
 
 - **PATH_ROTATION_POLYGON** = **0** --- The :ref:`polygon<class_CSGPolygon3D_property_polygon>` shape is not rotated.
 
-**Note:** Requires the path Z coordinates to continually decrease to ensure viable shapes.
+\ **Note:** Requires the path Z coordinates to continually decrease to ensure viable shapes.
 
 - **PATH_ROTATION_PATH** = **1** --- The :ref:`polygon<class_CSGPolygon3D_property_polygon>` shape is rotated along the path, but it is not rotated around the path axis.
 
-**Note:** Requires the path Z coordinates to continually decrease to ensure viable shapes.
+\ **Note:** Requires the path Z coordinates to continually decrease to ensure viable shapes.
 
 - **PATH_ROTATION_PATH_FOLLOW** = **2** --- The :ref:`polygon<class_CSGPolygon3D_property_polygon>` shape follows the path and its rotations around the path axis.
 
@@ -297,7 +297,9 @@ When :ref:`mode<class_CSGPolygon3D_property_mode>` is :ref:`MODE_PATH<class_CSGP
 | *Getter*  | get_polygon()                                  |
 +-----------+------------------------------------------------+
 
-The point array that defines the 2D polygon that is extruded.
+The point array that defines the 2D polygon that is extruded. This can be a convex or concave polygon with 3 or more points. The polygon must *not* have any intersecting edges. Otherwise, triangulation will fail and no mesh will be generated.
+
+\ **Note:** If only 1 or 2 points are defined in :ref:`polygon<class_CSGPolygon3D_property_polygon>`, no mesh will be generated.
 
 ----
 

+ 1 - 1
classes/class_cubemap.rst

@@ -20,7 +20,7 @@ A cubemap is a 6-sided texture typically used for faking reflections in 3D rende
 
 This resource is typically used as a uniform in custom shaders. Few core Godot methods make use of Cubemap resources.
 
-**Note:** Godot doesn't support using cubemaps as a :ref:`PanoramaSkyMaterial<class_PanoramaSkyMaterial>`. You can use `this tool <https://danilw.github.io/GLSL-howto/cubemap_to_panorama_js/cubemap_to_panorama.html>`__ to convert a cube map to an equirectangular sky map.
+\ **Note:** Godot doesn't support using cubemaps as a :ref:`PanoramaSkyMaterial<class_PanoramaSkyMaterial>`. You can use `this tool <https://danilw.github.io/GLSL-howto/cubemap_to_panorama_js/cubemap_to_panorama.html>`__ to convert a cube map to an equirectangular sky map.
 
 .. |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.)`

+ 4 - 4
classes/class_curve2d.rst

@@ -128,7 +128,7 @@ Returns the cache of points as a :ref:`PackedVector2Array<class_PackedVector2Arr
 
 Returns the closest offset to ``to_point``. This offset is meant to be used in :ref:`interpolate_baked<class_Curve2D_method_interpolate_baked>`.
 
-``to_point`` must be in this curve's local space.
+\ ``to_point`` must be in this curve's local space.
 
 ----
 
@@ -138,7 +138,7 @@ Returns the closest offset to ``to_point``. This offset is meant to be used in :
 
 Returns the closest baked point (in curve's local space) to ``to_point``.
 
-``to_point`` must be in this curve's local space.
+\ ``to_point`` must be in this curve's local space.
 
 ----
 
@@ -244,9 +244,9 @@ Returns a list of points along the curve, with a curvature controlled point dens
 
 This approximation makes straight segments between each point, then subdivides those segments until the resulting shape is similar enough.
 
-``max_stages`` controls how many subdivisions a curve segment may face before it is considered approximate enough. Each subdivision splits the segment in half, so the default 5 stages may mean up to 32 subdivisions per curve segment. Increase with care!
+\ ``max_stages`` controls how many subdivisions a curve segment may face before it is considered approximate enough. Each subdivision splits the segment in half, so the default 5 stages may mean up to 32 subdivisions per curve segment. Increase with care!
 
-``tolerance_degrees`` controls how many degrees the midpoint of a segment may deviate from the real curve, before the segment has to be subdivided.
+\ ``tolerance_degrees`` controls how many degrees the midpoint of a segment may deviate from the real curve, before the segment has to be subdivided.
 
 .. |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.)`

+ 4 - 4
classes/class_curve3d.rst

@@ -174,7 +174,7 @@ If :ref:`up_vector_enabled<class_Curve3D_property_up_vector_enabled>` is ``false
 
 Returns the closest offset to ``to_point``. This offset is meant to be used in :ref:`interpolate_baked<class_Curve3D_method_interpolate_baked>` or :ref:`interpolate_baked_up_vector<class_Curve3D_method_interpolate_baked_up_vector>`.
 
-``to_point`` must be in this curve's local space.
+\ ``to_point`` must be in this curve's local space.
 
 ----
 
@@ -184,7 +184,7 @@ Returns the closest offset to ``to_point``. This offset is meant to be used in :
 
 Returns the closest baked point (in curve's local space) to ``to_point``.
 
-``to_point`` must be in this curve's local space.
+\ ``to_point`` must be in this curve's local space.
 
 ----
 
@@ -320,9 +320,9 @@ Returns a list of points along the curve, with a curvature controlled point dens
 
 This approximation makes straight segments between each point, then subdivides those segments until the resulting shape is similar enough.
 
-``max_stages`` controls how many subdivisions a curve segment may face before it is considered approximate enough. Each subdivision splits the segment in half, so the default 5 stages may mean up to 32 subdivisions per curve segment. Increase with care!
+\ ``max_stages`` controls how many subdivisions a curve segment may face before it is considered approximate enough. Each subdivision splits the segment in half, so the default 5 stages may mean up to 32 subdivisions per curve segment. Increase with care!
 
-``tolerance_degrees`` controls how many degrees the midpoint of a segment may deviate from the real curve, before the segment has to be subdivided.
+\ ``tolerance_degrees`` controls how many degrees the midpoint of a segment may deviate from the real curve, before the segment has to be subdivided.
 
 .. |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.)`

+ 8 - 8
classes/class_curvetexture.rst

@@ -21,13 +21,13 @@ Renders a given :ref:`Curve<class_Curve>` provided to it. Simplifies the task of
 Properties
 ----------
 
-+---------------------------------------------------+---------------------------------------------------------------+----------+
-| :ref:`Curve<class_Curve>`                         | :ref:`curve<class_CurveTexture_property_curve>`               |          |
-+---------------------------------------------------+---------------------------------------------------------------+----------+
-| :ref:`TextureMode<enum_CurveTexture_TextureMode>` | :ref:`texture_mode<class_CurveTexture_property_texture_mode>` | ``0``    |
-+---------------------------------------------------+---------------------------------------------------------------+----------+
-| :ref:`int<class_int>`                             | :ref:`width<class_CurveTexture_property_width>`               | ``2048`` |
-+---------------------------------------------------+---------------------------------------------------------------+----------+
++---------------------------------------------------+---------------------------------------------------------------+---------+
+| :ref:`Curve<class_Curve>`                         | :ref:`curve<class_CurveTexture_property_curve>`               |         |
++---------------------------------------------------+---------------------------------------------------------------+---------+
+| :ref:`TextureMode<enum_CurveTexture_TextureMode>` | :ref:`texture_mode<class_CurveTexture_property_texture_mode>` | ``0``   |
++---------------------------------------------------+---------------------------------------------------------------+---------+
+| :ref:`int<class_int>`                             | :ref:`width<class_CurveTexture_property_width>`               | ``256`` |
++---------------------------------------------------+---------------------------------------------------------------+---------+
 
 Enumerations
 ------------
@@ -80,7 +80,7 @@ The ``curve`` rendered onto the texture.
 - :ref:`int<class_int>` **width**
 
 +-----------+------------------+
-| *Default* | ``2048``         |
+| *Default* | ``256``          |
 +-----------+------------------+
 | *Setter*  | set_width(value) |
 +-----------+------------------+

+ 10 - 10
classes/class_curvexyztexture.rst

@@ -16,15 +16,15 @@ CurveXYZTexture
 Properties
 ----------
 
-+---------------------------+--------------------------------------------------------+----------+
-| :ref:`Curve<class_Curve>` | :ref:`curve_x<class_CurveXYZTexture_property_curve_x>` |          |
-+---------------------------+--------------------------------------------------------+----------+
-| :ref:`Curve<class_Curve>` | :ref:`curve_y<class_CurveXYZTexture_property_curve_y>` |          |
-+---------------------------+--------------------------------------------------------+----------+
-| :ref:`Curve<class_Curve>` | :ref:`curve_z<class_CurveXYZTexture_property_curve_z>` |          |
-+---------------------------+--------------------------------------------------------+----------+
-| :ref:`int<class_int>`     | :ref:`width<class_CurveXYZTexture_property_width>`     | ``2048`` |
-+---------------------------+--------------------------------------------------------+----------+
++---------------------------+--------------------------------------------------------+---------+
+| :ref:`Curve<class_Curve>` | :ref:`curve_x<class_CurveXYZTexture_property_curve_x>` |         |
++---------------------------+--------------------------------------------------------+---------+
+| :ref:`Curve<class_Curve>` | :ref:`curve_y<class_CurveXYZTexture_property_curve_y>` |         |
++---------------------------+--------------------------------------------------------+---------+
+| :ref:`Curve<class_Curve>` | :ref:`curve_z<class_CurveXYZTexture_property_curve_z>` |         |
++---------------------------+--------------------------------------------------------+---------+
+| :ref:`int<class_int>`     | :ref:`width<class_CurveXYZTexture_property_width>`     | ``256`` |
++---------------------------+--------------------------------------------------------+---------+
 
 Property Descriptions
 ---------------------
@@ -70,7 +70,7 @@ Property Descriptions
 - :ref:`int<class_int>` **width**
 
 +-----------+------------------+
-| *Default* | ``2048``         |
+| *Default* | ``256``          |
 +-----------+------------------+
 | *Setter*  | set_width(value) |
 +-----------+------------------+

+ 6 - 6
classes/class_dictionary.rst

@@ -20,7 +20,7 @@ You can define a dictionary by placing a comma-separated list of ``key: value``
 
 Erasing elements while iterating over them **is not supported** and will result in undefined behavior.
 
-**Note:** Dictionaries are always passed by reference. To get a copy of a dictionary which can be modified independently of the original dictionary, use :ref:`duplicate<class_Dictionary_method_duplicate>`.
+\ **Note:** Dictionaries are always passed by reference. To get a copy of a dictionary which can be modified independently of the original dictionary, use :ref:`duplicate<class_Dictionary_method_duplicate>`.
 
 Creating a dictionary:
 
@@ -163,7 +163,7 @@ Finally, dictionaries can contain different types of keys and values in the same
 
 
 
-**Note:** Unlike :ref:`Array<class_Array>`\ s, you can't compare dictionaries directly:
+\ **Note:** Unlike :ref:`Array<class_Array>`\ s, you can't compare dictionaries directly:
 
 
 .. tabs::
@@ -231,7 +231,7 @@ You need to first calculate the dictionary's hash with :ref:`hash<class_Dictiona
 
 
 
-**Note:** When declaring a dictionary with ``const``, the dictionary itself can still be mutated by defining the values of individual keys. Using ``const`` will only prevent assigning the constant with another value after it was initialized.
+\ **Note:** When declaring a dictionary with ``const``, the dictionary itself can still be mutated by defining the values of individual keys. Using ``const`` will only prevent assigning the constant with another value after it was initialized.
 
 Tutorials
 ---------
@@ -333,7 +333,7 @@ Creates a copy of the dictionary, and returns it. The ``deep`` parameter causes
 
 Erase a dictionary key/value pair by key. Returns ``true`` if the given key was present in the dictionary, ``false`` otherwise.
 
-**Note:** Don't erase elements while iterating over the dictionary. You can iterate over the :ref:`keys<class_Dictionary_method_keys>` array instead.
+\ **Note:** Don't erase elements while iterating over the dictionary. You can iterate over the :ref:`keys<class_Dictionary_method_keys>` array instead.
 
 ----
 
@@ -351,7 +351,7 @@ Returns the current value for the specified key in the ``Dictionary``. If the ke
 
 Returns ``true`` if the dictionary has a given key.
 
-**Note:** This is equivalent to using the ``in`` operator as follows:
+\ **Note:** This is equivalent to using the ``in`` operator as follows:
 
 
 .. tabs::
@@ -410,7 +410,7 @@ Returns a hashed integer value representing the dictionary contents. This can be
 
 
 
-**Note:** Dictionaries with the same keys/values but in a different order will have a different hash.
+\ **Note:** Dictionaries with the same keys/values but in a different order will have a different hash.
 
 ----
 

+ 21 - 21
classes/class_directionallight3d.rst

@@ -26,27 +26,27 @@ Tutorials
 Properties
 ----------
 
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------------------------+
-| :ref:`bool<class_bool>`                               | :ref:`directional_shadow_blend_splits<class_DirectionalLight3D_property_directional_shadow_blend_splits>` | ``false``                   |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------------------------+
-| :ref:`float<class_float>`                             | :ref:`directional_shadow_fade_start<class_DirectionalLight3D_property_directional_shadow_fade_start>`     | ``0.8``                     |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------------------------+
-| :ref:`float<class_float>`                             | :ref:`directional_shadow_max_distance<class_DirectionalLight3D_property_directional_shadow_max_distance>` | ``100.0``                   |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------------------------+
-| :ref:`ShadowMode<enum_DirectionalLight3D_ShadowMode>` | :ref:`directional_shadow_mode<class_DirectionalLight3D_property_directional_shadow_mode>`                 | ``2``                       |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------------------------+
-| :ref:`float<class_float>`                             | :ref:`directional_shadow_pancake_size<class_DirectionalLight3D_property_directional_shadow_pancake_size>` | ``20.0``                    |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------------------------+
-| :ref:`float<class_float>`                             | :ref:`directional_shadow_split_1<class_DirectionalLight3D_property_directional_shadow_split_1>`           | ``0.1``                     |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------------------------+
-| :ref:`float<class_float>`                             | :ref:`directional_shadow_split_2<class_DirectionalLight3D_property_directional_shadow_split_2>`           | ``0.2``                     |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------------------------+
-| :ref:`float<class_float>`                             | :ref:`directional_shadow_split_3<class_DirectionalLight3D_property_directional_shadow_split_3>`           | ``0.5``                     |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------------------------+
-| :ref:`float<class_float>`                             | shadow_bias                                                                                               | ``0.1`` *(parent override)* |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------------------------+
-| :ref:`bool<class_bool>`                               | :ref:`use_in_sky_only<class_DirectionalLight3D_property_use_in_sky_only>`                                 | ``false``                   |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------------------------+
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                               | :ref:`directional_shadow_blend_splits<class_DirectionalLight3D_property_directional_shadow_blend_splits>` | ``false``                                                              |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+
+| :ref:`float<class_float>`                             | :ref:`directional_shadow_fade_start<class_DirectionalLight3D_property_directional_shadow_fade_start>`     | ``0.8``                                                                |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+
+| :ref:`float<class_float>`                             | :ref:`directional_shadow_max_distance<class_DirectionalLight3D_property_directional_shadow_max_distance>` | ``100.0``                                                              |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+
+| :ref:`ShadowMode<enum_DirectionalLight3D_ShadowMode>` | :ref:`directional_shadow_mode<class_DirectionalLight3D_property_directional_shadow_mode>`                 | ``2``                                                                  |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+
+| :ref:`float<class_float>`                             | :ref:`directional_shadow_pancake_size<class_DirectionalLight3D_property_directional_shadow_pancake_size>` | ``20.0``                                                               |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+
+| :ref:`float<class_float>`                             | :ref:`directional_shadow_split_1<class_DirectionalLight3D_property_directional_shadow_split_1>`           | ``0.1``                                                                |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+
+| :ref:`float<class_float>`                             | :ref:`directional_shadow_split_2<class_DirectionalLight3D_property_directional_shadow_split_2>`           | ``0.2``                                                                |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+
+| :ref:`float<class_float>`                             | :ref:`directional_shadow_split_3<class_DirectionalLight3D_property_directional_shadow_split_3>`           | ``0.5``                                                                |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+
+| :ref:`float<class_float>`                             | shadow_bias                                                                                               | ``0.1`` (overrides :ref:`Light3D<class_Light3D_property_shadow_bias>`) |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                               | :ref:`use_in_sky_only<class_DirectionalLight3D_property_use_in_sky_only>`                                 | ``false``                                                              |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+
 
 Enumerations
 ------------

+ 125 - 43
classes/class_directory.rst

@@ -20,7 +20,7 @@ Directory type. It is used to manage directories and their content (not restrict
 
 When creating a new ``Directory``, it must be explicitly opened using :ref:`open<class_Directory_method_open>` before most methods can be used. However, :ref:`file_exists<class_Directory_method_file_exists>` and :ref:`dir_exists<class_Directory_method_dir_exists>` can be used without opening a directory. If so, they use a path relative to ``res://``.
 
-**Note:** Many resources types are imported (e.g. textures or sound files), and their source asset will not be included in the exported game, as only the imported version is used. Use :ref:`ResourceLoader<class_ResourceLoader>` to access imported resources.
+\ **Note:** Many resources types are imported (e.g. textures or sound files), and their source asset will not be included in the exported game, as only the imported version is used. Use :ref:`ResourceLoader<class_ResourceLoader>` to access imported resources.
 
 Here is an example on how to iterate through the files of a directory:
 
@@ -78,46 +78,96 @@ Tutorials
 
 - :doc:`File system <../tutorials/scripting/filesystem>`
 
+Properties
+----------
+
++-------------------------+----------------------------------------------------------------------------+-----------+
+| :ref:`bool<class_bool>` | :ref:`include_hidden<class_Directory_property_include_hidden>`             | ``false`` |
++-------------------------+----------------------------------------------------------------------------+-----------+
+| :ref:`bool<class_bool>` | :ref:`include_navigational<class_Directory_property_include_navigational>` | ``false`` |
++-------------------------+----------------------------------------------------------------------------+-----------+
+
 Methods
 -------
 
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`change_dir<class_Directory_method_change_dir>` **(** :ref:`String<class_String>` todir **)**                                                                  |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`copy<class_Directory_method_copy>` **(** :ref:`String<class_String>` from, :ref:`String<class_String>` to **)**                                               |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`               | :ref:`current_is_dir<class_Directory_method_current_is_dir>` **(** **)** |const|                                                                                    |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`               | :ref:`dir_exists<class_Directory_method_dir_exists>` **(** :ref:`String<class_String>` path **)**                                                                   |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`               | :ref:`file_exists<class_Directory_method_file_exists>` **(** :ref:`String<class_String>` path **)**                                                                 |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`           | :ref:`get_current_dir<class_Directory_method_get_current_dir>` **(** **)**                                                                                          |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                 | :ref:`get_current_drive<class_Directory_method_get_current_drive>` **(** **)**                                                                                      |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`           | :ref:`get_drive<class_Directory_method_get_drive>` **(** :ref:`int<class_int>` idx **)**                                                                            |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                 | :ref:`get_drive_count<class_Directory_method_get_drive_count>` **(** **)**                                                                                          |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`           | :ref:`get_next<class_Directory_method_get_next>` **(** **)**                                                                                                        |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                 | :ref:`get_space_left<class_Directory_method_get_space_left>` **(** **)**                                                                                            |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`list_dir_begin<class_Directory_method_list_dir_begin>` **(** :ref:`bool<class_bool>` show_navigational=false, :ref:`bool<class_bool>` show_hidden=false **)** |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`list_dir_end<class_Directory_method_list_dir_end>` **(** **)**                                                                                                |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`make_dir<class_Directory_method_make_dir>` **(** :ref:`String<class_String>` path **)**                                                                       |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`make_dir_recursive<class_Directory_method_make_dir_recursive>` **(** :ref:`String<class_String>` path **)**                                                   |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`open<class_Directory_method_open>` **(** :ref:`String<class_String>` path **)**                                                                               |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`remove<class_Directory_method_remove>` **(** :ref:`String<class_String>` path **)**                                                                           |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`rename<class_Directory_method_rename>` **(** :ref:`String<class_String>` from, :ref:`String<class_String>` to **)**                                           |
-+---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`             | :ref:`change_dir<class_Directory_method_change_dir>` **(** :ref:`String<class_String>` todir **)**                        |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`             | :ref:`copy<class_Directory_method_copy>` **(** :ref:`String<class_String>` from, :ref:`String<class_String>` to **)**     |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`current_is_dir<class_Directory_method_current_is_dir>` **(** **)** |const|                                          |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`dir_exists<class_Directory_method_dir_exists>` **(** :ref:`String<class_String>` path **)**                         |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`file_exists<class_Directory_method_file_exists>` **(** :ref:`String<class_String>` path **)**                       |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                       | :ref:`get_current_dir<class_Directory_method_get_current_dir>` **(** **)**                                                |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                             | :ref:`get_current_drive<class_Directory_method_get_current_drive>` **(** **)**                                            |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_directories<class_Directory_method_get_directories>` **(** **)**                                                |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                       | :ref:`get_drive<class_Directory_method_get_drive>` **(** :ref:`int<class_int>` idx **)**                                  |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                             | :ref:`get_drive_count<class_Directory_method_get_drive_count>` **(** **)**                                                |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_files<class_Directory_method_get_files>` **(** **)**                                                            |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                       | :ref:`get_next<class_Directory_method_get_next>` **(** **)**                                                              |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                             | :ref:`get_space_left<class_Directory_method_get_space_left>` **(** **)**                                                  |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`             | :ref:`list_dir_begin<class_Directory_method_list_dir_begin>` **(** **)**                                                  |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| void                                              | :ref:`list_dir_end<class_Directory_method_list_dir_end>` **(** **)**                                                      |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`             | :ref:`make_dir<class_Directory_method_make_dir>` **(** :ref:`String<class_String>` path **)**                             |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`             | :ref:`make_dir_recursive<class_Directory_method_make_dir_recursive>` **(** :ref:`String<class_String>` path **)**         |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`             | :ref:`open<class_Directory_method_open>` **(** :ref:`String<class_String>` path **)**                                     |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`             | :ref:`remove<class_Directory_method_remove>` **(** :ref:`String<class_String>` path **)**                                 |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`             | :ref:`rename<class_Directory_method_rename>` **(** :ref:`String<class_String>` from, :ref:`String<class_String>` to **)** |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+
+Property Descriptions
+---------------------
+
+.. _class_Directory_property_include_hidden:
+
+- :ref:`bool<class_bool>` **include_hidden**
+
++-----------+---------------------------+
+| *Default* | ``false``                 |
++-----------+---------------------------+
+| *Setter*  | set_include_hidden(value) |
++-----------+---------------------------+
+| *Getter*  | get_include_hidden()      |
++-----------+---------------------------+
+
+If ``true``, hidden files are included when the navigating directory.
+
+Affects :ref:`list_dir_begin<class_Directory_method_list_dir_begin>`, :ref:`get_directories<class_Directory_method_get_directories>` and :ref:`get_files<class_Directory_method_get_files>`.
+
+----
+
+.. _class_Directory_property_include_navigational:
+
+- :ref:`bool<class_bool>` **include_navigational**
+
++-----------+---------------------------------+
+| *Default* | ``false``                       |
++-----------+---------------------------------+
+| *Setter*  | set_include_navigational(value) |
++-----------+---------------------------------+
+| *Getter*  | get_include_navigational()      |
++-----------+---------------------------------+
+
+If ``true``, ``.`` and ``..`` are included when navigating the directory.
+
+Affects :ref:`list_dir_begin<class_Directory_method_list_dir_begin>` and :ref:`get_directories<class_Directory_method_get_directories>`.
 
 Method Descriptions
 -------------------
@@ -186,11 +236,27 @@ Returns the currently opened directory's drive index. See :ref:`get_drive<class_
 
 ----
 
+.. _class_Directory_method_get_directories:
+
+- :ref:`PackedStringArray<class_PackedStringArray>` **get_directories** **(** **)**
+
+Returns a :ref:`PackedStringArray<class_PackedStringArray>` containing filenames of the directory contents, excluding files. The array is sorted alphabetically.
+
+Affected by :ref:`include_hidden<class_Directory_property_include_hidden>` and :ref:`include_navigational<class_Directory_property_include_navigational>`.
+
+----
+
 .. _class_Directory_method_get_drive:
 
 - :ref:`String<class_String>` **get_drive** **(** :ref:`int<class_int>` idx **)**
 
-On Windows, returns the name of the drive (partition) passed as an argument (e.g. ``C:``). On other platforms, or if the requested drive does not exist, the method returns an empty String.
+On Windows, returns the name of the drive (partition) passed as an argument (e.g. ``C:``).
+
+On macOS, returns the path to the mounted volume passed as an argument.
+
+On Linux, returns the path to the mounted volume or GTK 3 bookmark passed as an argument.
+
+On other platforms, or if the requested drive does not exist, the method returns an empty String.
 
 ----
 
@@ -198,7 +264,23 @@ On Windows, returns the name of the drive (partition) passed as an argument (e.g
 
 - :ref:`int<class_int>` **get_drive_count** **(** **)**
 
-On Windows, returns the number of drives (partitions) mounted on the current filesystem. On other platforms, the method returns 0.
+On Windows, returns the number of drives (partitions) mounted on the current filesystem.
+
+On macOS, returns the number of mounted volumes.
+
+On Linux, returns the number of mounted volumes and GTK 3 bookmarks.
+
+On other platforms, the method returns 0.
+
+----
+
+.. _class_Directory_method_get_files:
+
+- :ref:`PackedStringArray<class_PackedStringArray>` **get_files** **(** **)**
+
+Returns a :ref:`PackedStringArray<class_PackedStringArray>` containing filenames of the directory contents, excluding directories. The array is sorted alphabetically.
+
+Affected by :ref:`include_hidden<class_Directory_property_include_hidden>`.
 
 ----
 
@@ -222,13 +304,13 @@ On UNIX desktop systems, returns the available space on the current directory's
 
 .. _class_Directory_method_list_dir_begin:
 
-- :ref:`Error<enum_@GlobalScope_Error>` **list_dir_begin** **(** :ref:`bool<class_bool>` show_navigational=false, :ref:`bool<class_bool>` show_hidden=false **)**
+- :ref:`Error<enum_@GlobalScope_Error>` **list_dir_begin** **(** **)**
 
 Initializes the stream used to list all files and directories using the :ref:`get_next<class_Directory_method_get_next>` function, closing the currently opened stream if needed. Once the stream has been processed, it should typically be closed with :ref:`list_dir_end<class_Directory_method_list_dir_end>`.
 
-If ``show_navigational`` is ``true``, ``.`` and ``..`` are included too.
+Affected by :ref:`include_hidden<class_Directory_property_include_hidden>` and :ref:`include_navigational<class_Directory_property_include_navigational>`.
 
-If ``show_hidden`` is ``true``, hidden files are included too.
+\ **Note:** The order of files and directories returned by this method is not deterministic, and can vary between operating systems. If you want a list of all files or folders sorted alphabetically, use :ref:`get_files<class_Directory_method_get_files>` or :ref:`get_directories<class_Directory_method_get_directories>`.
 
 ----
 

+ 97 - 69
classes/class_displayserver.rst

@@ -21,12 +21,12 @@ Methods
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`                                    | :ref:`clipboard_get_primary<class_DisplayServer_method_clipboard_get_primary>` **(** **)** |const|                                                                                                                                                                                                                                                    |
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                        | :ref:`clipboard_has<class_DisplayServer_method_clipboard_has>` **(** **)** |const|                                                                                                                                                                                                                                                                    |
++----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                           | :ref:`clipboard_set<class_DisplayServer_method_clipboard_set>` **(** :ref:`String<class_String>` clipboard **)**                                                                                                                                                                                                                                      |
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                           | :ref:`clipboard_set_primary<class_DisplayServer_method_clipboard_set_primary>` **(** :ref:`String<class_String>` clipboard_primary **)**                                                                                                                                                                                                              |
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`console_set_visible<class_DisplayServer_method_console_set_visible>` **(** :ref:`bool<class_bool>` console_visible **)**                                                                                                                                                                                                                        |
-+----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                          | :ref:`create_sub_window<class_DisplayServer_method_create_sub_window>` **(** :ref:`WindowMode<enum_DisplayServer_WindowMode>` mode, :ref:`VSyncMode<enum_DisplayServer_VSyncMode>` vsync_mode, :ref:`int<class_int>` flags, :ref:`Rect2i<class_Rect2i>` rect=Rect2i(0, 0, 0, 0) **)**                                                                 |
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`CursorShape<enum_DisplayServer_CursorShape>`             | :ref:`cursor_get_shape<class_DisplayServer_method_cursor_get_shape>` **(** **)** |const|                                                                                                                                                                                                                                                              |
@@ -97,8 +97,6 @@ Methods
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`                                    | :ref:`ime_get_text<class_DisplayServer_method_ime_get_text>` **(** **)** |const|                                                                                                                                                                                                                                                                      |
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                        | :ref:`is_console_visible<class_DisplayServer_method_is_console_visible>` **(** **)** |const|                                                                                                                                                                                                                                                          |
-+----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                          | :ref:`keyboard_get_current_layout<class_DisplayServer_method_keyboard_get_current_layout>` **(** **)** |const|                                                                                                                                                                                                                                        |
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Key<enum_@GlobalScope_Key>`                              | :ref:`keyboard_get_keycode_from_physical<class_DisplayServer_method_keyboard_get_keycode_from_physical>` **(** :ref:`Key<enum_@GlobalScope_Key>` keycode **)** |const|                                                                                                                                                                                |
@@ -111,8 +109,6 @@ Methods
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                           | :ref:`keyboard_set_current_layout<class_DisplayServer_method_keyboard_set_current_layout>` **(** :ref:`int<class_int>` index **)**                                                                                                                                                                                                                    |
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2i<class_Vector2i>`                                | :ref:`mouse_get_absolute_position<class_DisplayServer_method_mouse_get_absolute_position>` **(** **)** |const|                                                                                                                                                                                                                                        |
-+----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`MouseButton<enum_@GlobalScope_MouseButton>`              | :ref:`mouse_get_button_state<class_DisplayServer_method_mouse_get_button_state>` **(** **)** |const|                                                                                                                                                                                                                                                  |
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`MouseMode<enum_DisplayServer_MouseMode>`                 | :ref:`mouse_get_mode<class_DisplayServer_method_mouse_get_mode>` **(** **)** |const|                                                                                                                                                                                                                                                                  |
@@ -181,6 +177,8 @@ Methods
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`WindowMode<enum_DisplayServer_WindowMode>`               | :ref:`window_get_mode<class_DisplayServer_method_window_get_mode>` **(** :ref:`int<class_int>` window_id=0 **)** |const|                                                                                                                                                                                                                              |
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                          | :ref:`window_get_native_handle<class_DisplayServer_method_window_get_native_handle>` **(** :ref:`HandleType<enum_DisplayServer_HandleType>` handle_type, :ref:`int<class_int>` window_id=0 **)** |const|                                                                                                                                              |
++----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2i<class_Vector2i>`                                | :ref:`window_get_position<class_DisplayServer_method_window_get_position>` **(** :ref:`int<class_int>` window_id=0 **)** |const|                                                                                                                                                                                                                      |
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2i<class_Vector2i>`                                | :ref:`window_get_real_size<class_DisplayServer_method_window_get_real_size>` **(** :ref:`int<class_int>` window_id=0 **)** |const|                                                                                                                                                                                                                    |
@@ -255,8 +253,6 @@ Enumerations
 
 .. _class_DisplayServer_constant_FEATURE_NATIVE_DIALOG:
 
-.. _class_DisplayServer_constant_FEATURE_CONSOLE_WINDOW:
-
 .. _class_DisplayServer_constant_FEATURE_IME:
 
 .. _class_DisplayServer_constant_FEATURE_WINDOW_TRANSPARENCY:
@@ -295,23 +291,21 @@ enum **Feature**:
 
 - **FEATURE_NATIVE_DIALOG** = **9**
 
-- **FEATURE_CONSOLE_WINDOW** = **10**
+- **FEATURE_IME** = **10**
 
-- **FEATURE_IME** = **11**
+- **FEATURE_WINDOW_TRANSPARENCY** = **11**
 
-- **FEATURE_WINDOW_TRANSPARENCY** = **12**
+- **FEATURE_HIDPI** = **12**
 
-- **FEATURE_HIDPI** = **13**
+- **FEATURE_ICON** = **13**
 
-- **FEATURE_ICON** = **14**
+- **FEATURE_NATIVE_ICON** = **14**
 
-- **FEATURE_NATIVE_ICON** = **15**
+- **FEATURE_ORIENTATION** = **15**
 
-- **FEATURE_ORIENTATION** = **16**
+- **FEATURE_SWAP_BUFFERS** = **16**
 
-- **FEATURE_SWAP_BUFFERS** = **17**
-
-- **FEATURE_CLIPBOARD_PRIMARY** = **19**
+- **FEATURE_CLIPBOARD_PRIMARY** = **18**
 
 ----
 
@@ -335,7 +329,7 @@ enum **MouseMode**:
 
 - **MOUSE_MODE_CAPTURED** = **2** --- Captures the mouse. The mouse will be hidden and its position locked at the center of the screen.
 
-**Note:** If you want to process the mouse's movement in this mode, you need to use :ref:`InputEventMouseMotion.relative<class_InputEventMouseMotion_property_relative>`.
+\ **Note:** If you want to process the mouse's movement in this mode, you need to use :ref:`InputEventMouseMotion.relative<class_InputEventMouseMotion_property_relative>`.
 
 - **MOUSE_MODE_CONFINED** = **3** --- Confines the mouse cursor to the game window, and make it visible.
 
@@ -565,6 +559,40 @@ enum **VSyncMode**:
 
 Although not guaranteed, the images can be rendered as fast as possible, which may reduce input lag.
 
+----
+
+.. _enum_DisplayServer_HandleType:
+
+.. _class_DisplayServer_constant_DISPLAY_HANDLE:
+
+.. _class_DisplayServer_constant_WINDOW_HANDLE:
+
+.. _class_DisplayServer_constant_WINDOW_VIEW:
+
+enum **HandleType**:
+
+- **DISPLAY_HANDLE** = **0** --- Display handle:
+
+- Linux: ``X11::Display*`` for the display.
+
+- **WINDOW_HANDLE** = **1** --- Window handle:
+
+- Windows: ``HWND`` for the window.
+
+- Linux: ``X11::Window*`` for the window.
+
+- MacOS: ``NSWindow*`` for the window.
+
+- iOS: ``UIViewController*`` for the view controller.
+
+- Android: ``jObject`` for the activity.
+
+- **WINDOW_VIEW** = **2** --- Window view:
+
+- MacOS: ``NSView*`` for the window main view.
+
+- iOS: ``UIView*`` for the window main view.
+
 Constants
 ---------
 
@@ -597,7 +625,15 @@ Returns the user's clipboard as a string if possible.
 
 Returns the user's primary clipboard as a string if possible.
 
-**Note:** This method is only implemented on Linux.
+\ **Note:** This method is only implemented on Linux.
+
+----
+
+.. _class_DisplayServer_method_clipboard_has:
+
+- :ref:`bool<class_bool>` **clipboard_has** **(** **)** |const|
+
+Returns ``true`` if there is content on the user's clipboard.
 
 ----
 
@@ -615,13 +651,7 @@ Sets the user's clipboard content to the given string.
 
 Sets the user's primary clipboard content to the given string.
 
-**Note:** This method is only implemented on Linux.
-
-----
-
-.. _class_DisplayServer_method_console_set_visible:
-
-- void **console_set_visible** **(** :ref:`bool<class_bool>` console_visible **)**
+\ **Note:** This method is only implemented on Linux.
 
 ----
 
@@ -835,19 +865,13 @@ Sets the user's primary clipboard content to the given string.
 
 ----
 
-.. _class_DisplayServer_method_is_console_visible:
-
-- :ref:`bool<class_bool>` **is_console_visible** **(** **)** |const|
-
-----
-
 .. _class_DisplayServer_method_keyboard_get_current_layout:
 
 - :ref:`int<class_int>` **keyboard_get_current_layout** **(** **)** |const|
 
 Returns active keyboard layout index.
 
-**Note:** This method is implemented on Linux, macOS and Windows.
+\ **Note:** This method is implemented on Linux, macOS and Windows.
 
 ----
 
@@ -857,7 +881,7 @@ Returns active keyboard layout index.
 
 Converts a physical (US QWERTY) ``keycode`` to one in the active keyboard layout.
 
-**Note:** This method is implemented on Linux, macOS and Windows.
+\ **Note:** This method is implemented on Linux, macOS and Windows.
 
 ----
 
@@ -867,7 +891,7 @@ Converts a physical (US QWERTY) ``keycode`` to one in the active keyboard layout
 
 Returns the number of keyboard layouts.
 
-**Note:** This method is implemented on Linux, macOS and Windows.
+\ **Note:** This method is implemented on Linux, macOS and Windows.
 
 ----
 
@@ -877,7 +901,7 @@ Returns the number of keyboard layouts.
 
 Returns the ISO-639/BCP-47 language code of the keyboard layout at position ``index``.
 
-**Note:** This method is implemented on Linux, macOS and Windows.
+\ **Note:** This method is implemented on Linux, macOS and Windows.
 
 ----
 
@@ -887,7 +911,7 @@ Returns the ISO-639/BCP-47 language code of the keyboard layout at position ``in
 
 Returns the localized name of the keyboard layout at position ``index``.
 
-**Note:** This method is implemented on Linux, macOS and Windows.
+\ **Note:** This method is implemented on Linux, macOS and Windows.
 
 ----
 
@@ -897,13 +921,7 @@ Returns the localized name of the keyboard layout at position ``index``.
 
 Sets active keyboard layout.
 
-**Note:** This method is implemented on Linux, macOS and Windows.
-
-----
-
-.. _class_DisplayServer_method_mouse_get_absolute_position:
-
-- :ref:`Vector2i<class_Vector2i>` **mouse_get_absolute_position** **(** **)** |const|
+\ **Note:** This method is implemented on Linux, macOS and Windows.
 
 ----
 
@@ -953,9 +971,9 @@ Sets the mouse cursor position to the given ``position``.
 
 Returns the dots per inch density of the specified screen. If ``screen`` is ``\ SCREEN_OF_MAIN_WINDOW`` (the default value), a screen with the main window will be used.
 
-**Note:** On macOS, returned value is inaccurate if fractional display scaling mode is used.
+\ **Note:** On macOS, returned value is inaccurate if fractional display scaling mode is used.
 
-**Note:** On Android devices, the actual screen densities are grouped into six generalized densities:
+\ **Note:** On Android devices, the actual screen densities are grouped into six generalized densities:
 
 ::
 
@@ -966,7 +984,7 @@ Returns the dots per inch density of the specified screen. If ``screen`` is ``\
      xxhdpi - 480 dpi
     xxxhdpi - 640 dpi
 
-**Note:** This method is implemented on Android, Linux, macOS and Windows. Returns ``72`` on unsupported platforms.
+\ **Note:** This method is implemented on Android, Linux, macOS and Windows. Returns ``72`` on unsupported platforms.
 
 ----
 
@@ -974,11 +992,11 @@ Returns the dots per inch density of the specified screen. If ``screen`` is ``\
 
 - :ref:`float<class_float>` **screen_get_max_scale** **(** **)** |const|
 
-Return the greatest scale factor of all screens.
+Returns the greatest scale factor of all screens.
 
-**Note:** On macOS returned value is ``2.0`` if there is at least one hiDPI (Retina) screen in the system, and ``1.0`` in all other cases.
+\ **Note:** On macOS returned value is ``2.0`` if there is at least one hiDPI (Retina) screen in the system, and ``1.0`` in all other cases.
 
-**Note:** This method is implemented on macOS.
+\ **Note:** This method is implemented on macOS.
 
 ----
 
@@ -998,11 +1016,11 @@ Return the greatest scale factor of all screens.
 
 - :ref:`float<class_float>` **screen_get_scale** **(** :ref:`int<class_int>` screen=-1 **)** |const|
 
-Return the scale factor of the specified screen by index.
+Returns the scale factor of the specified screen by index.
 
-**Note:** On macOS returned value is ``2.0`` for hiDPI (Retina) screen, and ``1.0`` for all other cases.
+\ **Note:** On macOS returned value is ``2.0`` for hiDPI (Retina) screen, and ``1.0`` for all other cases.
 
-**Note:** This method is implemented on macOS.
+\ **Note:** This method is implemented on macOS.
 
 ----
 
@@ -1060,7 +1078,7 @@ Return the scale factor of the specified screen by index.
 
 Returns current active tablet driver name.
 
-**Note:** This method is implemented on Windows.
+\ **Note:** This method is implemented on Windows.
 
 ----
 
@@ -1070,7 +1088,7 @@ Returns current active tablet driver name.
 
 Returns the total number of available tablet drivers.
 
-**Note:** This method is implemented on Windows.
+\ **Note:** This method is implemented on Windows.
 
 ----
 
@@ -1080,7 +1098,7 @@ Returns the total number of available tablet drivers.
 
 Returns the tablet driver name for the given index.
 
-**Note:** This method is implemented on Windows.
+\ **Note:** This method is implemented on Windows.
 
 ----
 
@@ -1090,7 +1108,7 @@ Returns the tablet driver name for the given index.
 
 Set active tablet driver name.
 
-**Note:** This method is implemented on Windows.
+\ **Note:** This method is implemented on Windows.
 
 ----
 
@@ -1116,19 +1134,19 @@ Hides the virtual keyboard if it is shown, does nothing otherwise.
 
 Shows the virtual keyboard if the platform has one.
 
-``existing_text`` parameter is useful for implementing your own :ref:`LineEdit<class_LineEdit>` or :ref:`TextEdit<class_TextEdit>`, as it tells the virtual keyboard what text has already been typed (the virtual keyboard uses it for auto-correct and predictions).
+\ ``existing_text`` parameter is useful for implementing your own :ref:`LineEdit<class_LineEdit>` or :ref:`TextEdit<class_TextEdit>`, as it tells the virtual keyboard what text has already been typed (the virtual keyboard uses it for auto-correct and predictions).
 
-``position`` parameter is the screen space :ref:`Rect2<class_Rect2>` of the edited text.
+\ ``position`` parameter is the screen space :ref:`Rect2<class_Rect2>` of the edited text.
 
-``multiline`` parameter needs to be set to ``true`` to be able to enter multiple lines of text, as in :ref:`TextEdit<class_TextEdit>`.
+\ ``multiline`` parameter needs to be set to ``true`` to be able to enter multiple lines of text, as in :ref:`TextEdit<class_TextEdit>`.
 
-``max_length`` limits the number of characters that can be entered if different from ``-1``.
+\ ``max_length`` limits the number of characters that can be entered if different from ``-1``.
 
-``cursor_start`` can optionally define the current text cursor position if ``cursor_end`` is not set.
+\ ``cursor_start`` can optionally define the current text cursor position if ``cursor_end`` is not set.
 
-``cursor_start`` and ``cursor_end`` can optionally define the current text selection.
+\ ``cursor_start`` and ``cursor_end`` can optionally define the current text selection.
 
-**Note:** This method is implemented on Android, iOS and UWP.
+\ **Note:** This method is implemented on Android, iOS and UWP.
 
 ----
 
@@ -1184,6 +1202,16 @@ Returns the mode of the given window.
 
 ----
 
+.. _class_DisplayServer_method_window_get_native_handle:
+
+- :ref:`int<class_int>` **window_get_native_handle** **(** :ref:`HandleType<enum_DisplayServer_HandleType>` handle_type, :ref:`int<class_int>` window_id=0 **)** |const|
+
+Returns internal structure pointers for use in plugins.
+
+\ **Note:** This method is implemented on Android, Linux, macOS and Windows.
+
+----
+
 .. _class_DisplayServer_method_window_get_position:
 
 - :ref:`Vector2i<class_Vector2i>` **window_get_position** **(** :ref:`int<class_int>` window_id=0 **)** |const|
@@ -1280,7 +1308,7 @@ Enables or disables the given window's given ``flag``. See :ref:`WindowFlags<enu
 
 Sets the minimum size for the given window to ``min_size`` (in pixels).
 
-**Note:** By default, the main window has a minimum size of ``Vector2i(64, 64)``. This prevents issues that can arise when the window is resized to a near-zero size.
+\ **Note:** By default, the main window has a minimum size of ``Vector2i(64, 64)``. This prevents issues that can arise when the window is resized to a near-zero size.
 
 ----
 
@@ -1290,7 +1318,7 @@ Sets the minimum size for the given window to ``min_size`` (in pixels).
 
 Sets window mode for the given window to ``mode``. See :ref:`WindowMode<enum_DisplayServer_WindowMode>` for possible values and how each mode behaves.
 
-**Note:** Setting the window to fullscreen forcibly sets the borderless flag to ``true``, so make sure to set it back to ``false`` when not wanted.
+\ **Note:** Setting the window to fullscreen forcibly sets the borderless flag to ``true``, so make sure to set it back to ``false`` when not wanted.
 
 ----
 
@@ -1329,9 +1357,9 @@ Passing an empty array will disable passthrough support (all mouse events will b
 
 
 
-**Note:** On Windows, the portion of a window that lies outside the region is not drawn, while on Linux and macOS it is.
+\ **Note:** On Windows, the portion of a window that lies outside the region is not drawn, while on Linux and macOS it is.
 
-**Note:** This method is implemented on Linux, macOS and Windows.
+\ **Note:** This method is implemented on Linux, macOS and Windows.
 
 ----
 

+ 1 - 1
classes/class_dtlsserver.rst

@@ -192,7 +192,7 @@ Setup the DTLS server to use the given ``private_key`` and provide the given ``c
 
 Try to initiate the DTLS handshake with the given ``udp_peer`` which must be already connected (see :ref:`PacketPeerUDP.connect_to_host<class_PacketPeerUDP_method_connect_to_host>`).
 
-**Note:** You must check that the state of the return PacketPeerUDP is :ref:`PacketPeerDTLS.STATUS_HANDSHAKING<class_PacketPeerDTLS_constant_STATUS_HANDSHAKING>`, as it is normal that 50% of the new connections will be invalid due to cookie exchange.
+\ **Note:** You must check that the state of the return PacketPeerUDP is :ref:`PacketPeerDTLS.STATUS_HANDSHAKING<class_PacketPeerDTLS_constant_STATUS_HANDSHAKING>`, as it is normal that 50% of the new connections will be invalid due to cookie exchange.
 
 .. |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.)`

+ 4 - 4
classes/class_editorcommandpalette.rst

@@ -39,14 +39,14 @@ Command key names use slash delimiters to distinguish sections Example: ``"examp
 
 
 
-**Note:** This class shouldn't be instantiated directly. Instead, access the singleton using :ref:`EditorInterface.get_command_palette<class_EditorInterface_method_get_command_palette>`.
+\ **Note:** This class shouldn't be instantiated directly. Instead, access the singleton using :ref:`EditorInterface.get_command_palette<class_EditorInterface_method_get_command_palette>`.
 
 Properties
 ----------
 
-+-------------------------+-------------------+-------------------------------+
-| :ref:`bool<class_bool>` | dialog_hide_on_ok | ``false`` *(parent override)* |
-+-------------------------+-------------------+-------------------------------+
++-------------------------+-------------------+------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | dialog_hide_on_ok | ``false`` (overrides :ref:`AcceptDialog<class_AcceptDialog_property_dialog_hide_on_ok>`) |
++-------------------------+-------------------+------------------------------------------------------------------------------------------+
 
 Methods
 -------

+ 18 - 2
classes/class_editorexportplugin.rst

@@ -46,6 +46,8 @@ Methods
 +------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void | :ref:`add_ios_project_static_lib<class_EditorExportPlugin_method_add_ios_project_static_lib>` **(** :ref:`String<class_String>` path **)**                                                                                                            |
 +------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`add_osx_plugin_file<class_EditorExportPlugin_method_add_osx_plugin_file>` **(** :ref:`String<class_String>` path **)**                                                                                                                          |
++------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void | :ref:`add_shared_object<class_EditorExportPlugin_method_add_shared_object>` **(** :ref:`String<class_String>` path, :ref:`PackedStringArray<class_PackedStringArray>` tags **)**                                                                      |
 +------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void | :ref:`skip<class_EditorExportPlugin_method_skip>` **(** **)**                                                                                                                                                                                         |
@@ -110,7 +112,7 @@ Adds a C++ code to the iOS export. The final code is created from the code appen
 
 Adds a dynamic library (\*.dylib, \*.framework) to Linking Phase in iOS's Xcode project and embeds it into resulting binary.
 
-**Note:** For static libraries (\*.a) works in same way as ``add_ios_framework``.
+\ **Note:** For static libraries (\*.a) works in same way as ``add_ios_framework``.
 
 This method should not be used for System libraries as they are already present on the device.
 
@@ -148,11 +150,25 @@ Adds a static lib from the given ``path`` to the iOS project.
 
 ----
 
+.. _class_EditorExportPlugin_method_add_osx_plugin_file:
+
+- void **add_osx_plugin_file** **(** :ref:`String<class_String>` path **)**
+
+Adds file or directory matching ``path`` to ``PlugIns`` directory of macOS app bundle.
+
+\ **Note:** This is useful only for macOS exports.
+
+----
+
 .. _class_EditorExportPlugin_method_add_shared_object:
 
 - void **add_shared_object** **(** :ref:`String<class_String>` path, :ref:`PackedStringArray<class_PackedStringArray>` tags **)**
 
-Adds a shared object with the given ``tags`` and destination ``path``.
+Adds a shared object or a directory containing only shared objects with the given ``tags`` and destination ``path``.
+
+\ **Note:** In case of macOS exports, those shared objects will be added to ``Frameworks`` directory of app bundle.
+
+In case of a directory code-sign will error if you place non code object in directory.
 
 ----
 

+ 22 - 22
classes/class_editorfiledialog.rst

@@ -16,27 +16,27 @@ A modified version of :ref:`FileDialog<class_FileDialog>` used by the editor.
 Properties
 ----------
 
-+-------------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------------+
-| :ref:`Access<enum_EditorFileDialog_Access>`           | :ref:`access<class_EditorFileDialog_property_access>`                                       | ``0``                                 |
-+-------------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------------+
-| :ref:`String<class_String>`                           | :ref:`current_dir<class_EditorFileDialog_property_current_dir>`                             | ``"res://"``                          |
-+-------------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------------+
-| :ref:`String<class_String>`                           | :ref:`current_file<class_EditorFileDialog_property_current_file>`                           | ``""``                                |
-+-------------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------------+
-| :ref:`String<class_String>`                           | :ref:`current_path<class_EditorFileDialog_property_current_path>`                           | ``"res://"``                          |
-+-------------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------------+
-| :ref:`bool<class_bool>`                               | dialog_hide_on_ok                                                                           | ``false`` *(parent override)*         |
-+-------------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------------+
-| :ref:`bool<class_bool>`                               | :ref:`disable_overwrite_warning<class_EditorFileDialog_property_disable_overwrite_warning>` | ``false``                             |
-+-------------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------------+
-| :ref:`DisplayMode<enum_EditorFileDialog_DisplayMode>` | :ref:`display_mode<class_EditorFileDialog_property_display_mode>`                           | ``0``                                 |
-+-------------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------------+
-| :ref:`FileMode<enum_EditorFileDialog_FileMode>`       | :ref:`file_mode<class_EditorFileDialog_property_file_mode>`                                 | ``4``                                 |
-+-------------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------------+
-| :ref:`bool<class_bool>`                               | :ref:`show_hidden_files<class_EditorFileDialog_property_show_hidden_files>`                 | ``false``                             |
-+-------------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------------+
-| :ref:`String<class_String>`                           | title                                                                                       | ``"Save a File"`` *(parent override)* |
-+-------------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------------+
++-------------------------------------------------------+---------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+
+| :ref:`Access<enum_EditorFileDialog_Access>`           | :ref:`access<class_EditorFileDialog_property_access>`                                       | ``0``                                                                                    |
++-------------------------------------------------------+---------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                           | :ref:`current_dir<class_EditorFileDialog_property_current_dir>`                             | ``"res://"``                                                                             |
++-------------------------------------------------------+---------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                           | :ref:`current_file<class_EditorFileDialog_property_current_file>`                           | ``""``                                                                                   |
++-------------------------------------------------------+---------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                           | :ref:`current_path<class_EditorFileDialog_property_current_path>`                           | ``"res://"``                                                                             |
++-------------------------------------------------------+---------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                               | dialog_hide_on_ok                                                                           | ``false`` (overrides :ref:`AcceptDialog<class_AcceptDialog_property_dialog_hide_on_ok>`) |
++-------------------------------------------------------+---------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                               | :ref:`disable_overwrite_warning<class_EditorFileDialog_property_disable_overwrite_warning>` | ``false``                                                                                |
++-------------------------------------------------------+---------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+
+| :ref:`DisplayMode<enum_EditorFileDialog_DisplayMode>` | :ref:`display_mode<class_EditorFileDialog_property_display_mode>`                           | ``0``                                                                                    |
++-------------------------------------------------------+---------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+
+| :ref:`FileMode<enum_EditorFileDialog_FileMode>`       | :ref:`file_mode<class_EditorFileDialog_property_file_mode>`                                 | ``4``                                                                                    |
++-------------------------------------------------------+---------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                               | :ref:`show_hidden_files<class_EditorFileDialog_property_show_hidden_files>`                 | ``false``                                                                                |
++-------------------------------------------------------+---------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                           | title                                                                                       | ``"Save a File"`` (overrides :ref:`Window<class_Window_property_title>`)                 |
++-------------------------------------------------------+---------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+
 
 Methods
 -------
@@ -291,7 +291,7 @@ Removes all filters except for "All Files (\*)".
 
 Returns the ``VBoxContainer`` used to display the file system.
 
-**Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
+\ **Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
 
 ----
 

+ 1 - 1
classes/class_editorfilesystem.rst

@@ -18,7 +18,7 @@ Description
 
 This object holds information of all resources in the filesystem, their types, etc.
 
-**Note:** This class shouldn't be instantiated directly. Instead, access the singleton using :ref:`EditorInterface.get_resource_filesystem<class_EditorInterface_method_get_resource_filesystem>`.
+\ **Note:** This class shouldn't be instantiated directly. Instead, access the singleton using :ref:`EditorInterface.get_resource_filesystem<class_EditorInterface_method_get_resource_filesystem>`.
 
 Methods
 -------

+ 1 - 1
classes/class_editorimportplugin.rst

@@ -224,7 +224,7 @@ This method can be overridden to hide specific import options if conditions are
 
 
 
-Return ``true`` to make all options always visible.
+Returns ``true`` to make all options always visible.
 
 ----
 

+ 15 - 7
classes/class_editorinspector.rst

@@ -18,18 +18,26 @@ Description
 
 The editor inspector is by default located on the right-hand side of the editor. It's used to edit the properties of the selected node. For example, you can select a node such as the Sprite2D then edit its transform through the inspector tool. The editor inspector is an essential tool in the game development workflow.
 
-**Note:** This class shouldn't be instantiated directly. Instead, access the singleton using :ref:`EditorInterface.get_inspector<class_EditorInterface_method_get_inspector>`.
+\ **Note:** This class shouldn't be instantiated directly. Instead, access the singleton using :ref:`EditorInterface.get_inspector<class_EditorInterface_method_get_inspector>`.
 
 Properties
 ----------
 
-+-------------------------+---------------------------+-------------------------------+
-| :ref:`bool<class_bool>` | scroll_horizontal_enabled | ``false`` *(parent override)* |
-+-------------------------+---------------------------+-------------------------------+
++----------------------------------------------------+------------------------+-------------------------------------------------------------------------------------------------+
+| :ref:`ScrollMode<enum_ScrollContainer_ScrollMode>` | horizontal_scroll_mode | ``0`` (overrides :ref:`ScrollContainer<class_ScrollContainer_property_horizontal_scroll_mode>`) |
++----------------------------------------------------+------------------------+-------------------------------------------------------------------------------------------------+
 
 Signals
 -------
 
+.. _class_EditorInspector_signal_edited_object_changed:
+
+- **edited_object_changed** **(** **)**
+
+Emitted when the object being edited by the inspector has changed.
+
+----
+
 .. _class_EditorInspector_signal_object_id_selected:
 
 - **object_id_selected** **(** :ref:`int<class_int>` id **)**
@@ -56,7 +64,7 @@ Emitted when a property is edited in the inspector.
 
 .. _class_EditorInspector_signal_property_keyed:
 
-- **property_keyed** **(** :ref:`String<class_String>` property **)**
+- **property_keyed** **(** :ref:`String<class_String>` property, :ref:`Variant<class_Variant>` value, :ref:`bool<class_bool>` advance **)**
 
 Emitted when a property is keyed in the inspector. Properties can be keyed by clicking the "key" icon next to a property when the Animation panel is toggled.
 
@@ -76,13 +84,13 @@ Emitted when a property is selected in the inspector.
 
 Emitted when a boolean property is toggled in the inspector.
 
-**Note:** This signal is never emitted if the internal ``autoclear`` property enabled. Since this property is always enabled in the editor inspector, this signal is never emitted by the editor itself.
+\ **Note:** This signal is never emitted if the internal ``autoclear`` property enabled. Since this property is always enabled in the editor inspector, this signal is never emitted by the editor itself.
 
 ----
 
 .. _class_EditorInspector_signal_resource_selected:
 
-- **resource_selected** **(** :ref:`Object<class_Object>` res, :ref:`String<class_String>` prop **)**
+- **resource_selected** **(** :ref:`Resource<class_Resource>` resource, :ref:`String<class_String>` path **)**
 
 Emitted when a resource is selected in the inspector.
 

+ 89 - 79
classes/class_editorinterface.rst

@@ -18,7 +18,7 @@ Description
 
 EditorInterface gives you control over Godot editor's window. It allows customizing the window, saving and (re-)loading scenes, rendering mesh previews, inspecting and editing resources and objects, and provides access to :ref:`EditorSettings<class_EditorSettings>`, :ref:`EditorFileSystem<class_EditorFileSystem>`, :ref:`EditorResourcePreview<class_EditorResourcePreview>`, :ref:`ScriptEditor<class_ScriptEditor>`, the editor viewport, and information about scenes.
 
-**Note:** This class shouldn't be instantiated directly. Instead, access the singleton using :ref:`EditorPlugin.get_editor_interface<class_EditorPlugin_method_get_editor_interface>`.
+\ **Note:** This class shouldn't be instantiated directly. Instead, access the singleton using :ref:`EditorPlugin.get_editor_interface<class_EditorPlugin_method_get_editor_interface>`.
 
 Properties
 ----------
@@ -30,75 +30,77 @@ Properties
 Methods
 -------
 
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                      | :ref:`edit_node<class_EditorInterface_method_edit_node>` **(** :ref:`Node<class_Node>` node **)**                                                                                                            |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                      | :ref:`edit_resource<class_EditorInterface_method_edit_resource>` **(** :ref:`Resource<class_Resource>` resource **)**                                                                                        |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Control<class_Control>`                             | :ref:`get_base_control<class_EditorInterface_method_get_base_control>` **(** **)**                                                                                                                           |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`EditorCommandPalette<class_EditorCommandPalette>`   | :ref:`get_command_palette<class_EditorInterface_method_get_command_palette>` **(** **)** |const|                                                                                                             |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                               | :ref:`get_current_path<class_EditorInterface_method_get_current_path>` **(** **)** |const|                                                                                                                   |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Node<class_Node>`                                   | :ref:`get_edited_scene_root<class_EditorInterface_method_get_edited_scene_root>` **(** **)**                                                                                                                 |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Control<class_Control>`                             | :ref:`get_editor_main_control<class_EditorInterface_method_get_editor_main_control>` **(** **)**                                                                                                             |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`EditorPaths<class_EditorPaths>`                     | :ref:`get_editor_paths<class_EditorInterface_method_get_editor_paths>` **(** **)**                                                                                                                           |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                                 | :ref:`get_editor_scale<class_EditorInterface_method_get_editor_scale>` **(** **)** |const|                                                                                                                   |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`EditorSettings<class_EditorSettings>`               | :ref:`get_editor_settings<class_EditorInterface_method_get_editor_settings>` **(** **)**                                                                                                                     |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`FileSystemDock<class_FileSystemDock>`               | :ref:`get_file_system_dock<class_EditorInterface_method_get_file_system_dock>` **(** **)**                                                                                                                   |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`EditorInspector<class_EditorInspector>`             | :ref:`get_inspector<class_EditorInterface_method_get_inspector>` **(** **)** |const|                                                                                                                         |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`                                 | :ref:`get_open_scenes<class_EditorInterface_method_get_open_scenes>` **(** **)** |const|                                                                                                                     |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                               | :ref:`get_playing_scene<class_EditorInterface_method_get_playing_scene>` **(** **)** |const|                                                                                                                 |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`EditorFileSystem<class_EditorFileSystem>`           | :ref:`get_resource_filesystem<class_EditorInterface_method_get_resource_filesystem>` **(** **)**                                                                                                             |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`EditorResourcePreview<class_EditorResourcePreview>` | :ref:`get_resource_previewer<class_EditorInterface_method_get_resource_previewer>` **(** **)**                                                                                                               |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`ScriptEditor<class_ScriptEditor>`                   | :ref:`get_script_editor<class_EditorInterface_method_get_script_editor>` **(** **)**                                                                                                                         |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                               | :ref:`get_selected_path<class_EditorInterface_method_get_selected_path>` **(** **)** |const|                                                                                                                 |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`EditorSelection<class_EditorSelection>`             | :ref:`get_selection<class_EditorInterface_method_get_selection>` **(** **)**                                                                                                                                 |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                      | :ref:`inspect_object<class_EditorInterface_method_inspect_object>` **(** :ref:`Object<class_Object>` object, :ref:`String<class_String>` for_property="", :ref:`bool<class_bool>` inspector_only=false **)** |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                   | :ref:`is_playing_scene<class_EditorInterface_method_is_playing_scene>` **(** **)** |const|                                                                                                                   |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                   | :ref:`is_plugin_enabled<class_EditorInterface_method_is_plugin_enabled>` **(** :ref:`String<class_String>` plugin **)** |const|                                                                              |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`                                 | :ref:`make_mesh_previews<class_EditorInterface_method_make_mesh_previews>` **(** :ref:`Array<class_Array>` meshes, :ref:`int<class_int>` preview_size **)**                                                  |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                      | :ref:`open_scene_from_path<class_EditorInterface_method_open_scene_from_path>` **(** :ref:`String<class_String>` scene_filepath **)**                                                                        |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                      | :ref:`play_current_scene<class_EditorInterface_method_play_current_scene>` **(** **)**                                                                                                                       |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                      | :ref:`play_custom_scene<class_EditorInterface_method_play_custom_scene>` **(** :ref:`String<class_String>` scene_filepath **)**                                                                              |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                      | :ref:`play_main_scene<class_EditorInterface_method_play_main_scene>` **(** **)**                                                                                                                             |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                      | :ref:`reload_scene_from_path<class_EditorInterface_method_reload_scene_from_path>` **(** :ref:`String<class_String>` scene_filepath **)**                                                                    |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`                     | :ref:`save_scene<class_EditorInterface_method_save_scene>` **(** **)**                                                                                                                                       |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                      | :ref:`save_scene_as<class_EditorInterface_method_save_scene_as>` **(** :ref:`String<class_String>` path, :ref:`bool<class_bool>` with_preview=true **)**                                                     |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                      | :ref:`select_file<class_EditorInterface_method_select_file>` **(** :ref:`String<class_String>` file **)**                                                                                                    |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                      | :ref:`set_main_screen_editor<class_EditorInterface_method_set_main_screen_editor>` **(** :ref:`String<class_String>` name **)**                                                                              |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                      | :ref:`set_plugin_enabled<class_EditorInterface_method_set_plugin_enabled>` **(** :ref:`String<class_String>` plugin, :ref:`bool<class_bool>` enabled **)**                                                   |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                      | :ref:`stop_playing_scene<class_EditorInterface_method_stop_playing_scene>` **(** **)**                                                                                                                       |
-+-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`edit_node<class_EditorInterface_method_edit_node>` **(** :ref:`Node<class_Node>` node **)**                                                                                                                   |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`edit_resource<class_EditorInterface_method_edit_resource>` **(** :ref:`Resource<class_Resource>` resource **)**                                                                                               |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`edit_script<class_EditorInterface_method_edit_script>` **(** :ref:`Script<class_Script>` script, :ref:`int<class_int>` line=-1, :ref:`int<class_int>` column=0, :ref:`bool<class_bool>` grab_focus=true **)** |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Control<class_Control>`                             | :ref:`get_base_control<class_EditorInterface_method_get_base_control>` **(** **)**                                                                                                                                  |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`EditorCommandPalette<class_EditorCommandPalette>`   | :ref:`get_command_palette<class_EditorInterface_method_get_command_palette>` **(** **)** |const|                                                                                                                    |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                               | :ref:`get_current_path<class_EditorInterface_method_get_current_path>` **(** **)** |const|                                                                                                                          |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Node<class_Node>`                                   | :ref:`get_edited_scene_root<class_EditorInterface_method_get_edited_scene_root>` **(** **)**                                                                                                                        |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Control<class_Control>`                             | :ref:`get_editor_main_control<class_EditorInterface_method_get_editor_main_control>` **(** **)**                                                                                                                    |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`EditorPaths<class_EditorPaths>`                     | :ref:`get_editor_paths<class_EditorInterface_method_get_editor_paths>` **(** **)**                                                                                                                                  |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                                 | :ref:`get_editor_scale<class_EditorInterface_method_get_editor_scale>` **(** **)** |const|                                                                                                                          |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`EditorSettings<class_EditorSettings>`               | :ref:`get_editor_settings<class_EditorInterface_method_get_editor_settings>` **(** **)**                                                                                                                            |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`FileSystemDock<class_FileSystemDock>`               | :ref:`get_file_system_dock<class_EditorInterface_method_get_file_system_dock>` **(** **)**                                                                                                                          |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`EditorInspector<class_EditorInspector>`             | :ref:`get_inspector<class_EditorInterface_method_get_inspector>` **(** **)** |const|                                                                                                                                |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                                 | :ref:`get_open_scenes<class_EditorInterface_method_get_open_scenes>` **(** **)** |const|                                                                                                                            |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                               | :ref:`get_playing_scene<class_EditorInterface_method_get_playing_scene>` **(** **)** |const|                                                                                                                        |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`EditorFileSystem<class_EditorFileSystem>`           | :ref:`get_resource_filesystem<class_EditorInterface_method_get_resource_filesystem>` **(** **)**                                                                                                                    |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`EditorResourcePreview<class_EditorResourcePreview>` | :ref:`get_resource_previewer<class_EditorInterface_method_get_resource_previewer>` **(** **)**                                                                                                                      |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`ScriptEditor<class_ScriptEditor>`                   | :ref:`get_script_editor<class_EditorInterface_method_get_script_editor>` **(** **)**                                                                                                                                |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                               | :ref:`get_selected_path<class_EditorInterface_method_get_selected_path>` **(** **)** |const|                                                                                                                        |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`EditorSelection<class_EditorSelection>`             | :ref:`get_selection<class_EditorInterface_method_get_selection>` **(** **)**                                                                                                                                        |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`inspect_object<class_EditorInterface_method_inspect_object>` **(** :ref:`Object<class_Object>` object, :ref:`String<class_String>` for_property="", :ref:`bool<class_bool>` inspector_only=false **)**        |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                   | :ref:`is_playing_scene<class_EditorInterface_method_is_playing_scene>` **(** **)** |const|                                                                                                                          |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                   | :ref:`is_plugin_enabled<class_EditorInterface_method_is_plugin_enabled>` **(** :ref:`String<class_String>` plugin **)** |const|                                                                                     |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                                 | :ref:`make_mesh_previews<class_EditorInterface_method_make_mesh_previews>` **(** :ref:`Array<class_Array>` meshes, :ref:`int<class_int>` preview_size **)**                                                         |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`open_scene_from_path<class_EditorInterface_method_open_scene_from_path>` **(** :ref:`String<class_String>` scene_filepath **)**                                                                               |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`play_current_scene<class_EditorInterface_method_play_current_scene>` **(** **)**                                                                                                                              |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`play_custom_scene<class_EditorInterface_method_play_custom_scene>` **(** :ref:`String<class_String>` scene_filepath **)**                                                                                     |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`play_main_scene<class_EditorInterface_method_play_main_scene>` **(** **)**                                                                                                                                    |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`reload_scene_from_path<class_EditorInterface_method_reload_scene_from_path>` **(** :ref:`String<class_String>` scene_filepath **)**                                                                           |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`                     | :ref:`save_scene<class_EditorInterface_method_save_scene>` **(** **)**                                                                                                                                              |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`save_scene_as<class_EditorInterface_method_save_scene_as>` **(** :ref:`String<class_String>` path, :ref:`bool<class_bool>` with_preview=true **)**                                                            |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`select_file<class_EditorInterface_method_select_file>` **(** :ref:`String<class_String>` file **)**                                                                                                           |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`set_main_screen_editor<class_EditorInterface_method_set_main_screen_editor>` **(** :ref:`String<class_String>` name **)**                                                                                     |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`set_plugin_enabled<class_EditorInterface_method_set_plugin_enabled>` **(** :ref:`String<class_String>` plugin, :ref:`bool<class_bool>` enabled **)**                                                          |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`stop_playing_scene<class_EditorInterface_method_stop_playing_scene>` **(** **)**                                                                                                                              |
++-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Property Descriptions
 ---------------------
@@ -130,7 +132,15 @@ Edits the given :ref:`Node<class_Node>`. The node will be also selected if it's
 
 - void **edit_resource** **(** :ref:`Resource<class_Resource>` resource **)**
 
-Edits the given :ref:`Resource<class_Resource>`.
+Edits the given :ref:`Resource<class_Resource>`. If the resource is a :ref:`Script<class_Script>` you can also edit it with :ref:`edit_script<class_EditorInterface_method_edit_script>` to specify the line and column position.
+
+----
+
+.. _class_EditorInterface_method_edit_script:
+
+- void **edit_script** **(** :ref:`Script<class_Script>` script, :ref:`int<class_int>` line=-1, :ref:`int<class_int>` column=0, :ref:`bool<class_bool>` grab_focus=true **)**
+
+Edits the given :ref:`Script<class_Script>`. The line and column on which to open the script can also be specified. The script will be open with the user-configured editor for the script's language which may be an external editor.
 
 ----
 
@@ -140,7 +150,7 @@ Edits the given :ref:`Resource<class_Resource>`.
 
 Returns the main container of Godot editor's window. For example, you can use it to retrieve the size of the container and place your controls accordingly.
 
-**Warning:** Removing and freeing this node will render the editor useless and may cause a crash.
+\ **Warning:** Removing and freeing this node will render the editor useless and may cause a crash.
 
 ----
 
@@ -150,7 +160,7 @@ Returns the main container of Godot editor's window. For example, you can use it
 
 Returns the editor's :ref:`EditorCommandPalette<class_EditorCommandPalette>` instance.
 
-**Warning:** Removing and freeing this node will render a part of the editor useless and may cause a crash.
+\ **Warning:** Removing and freeing this node will render a part of the editor useless and may cause a crash.
 
 ----
 
@@ -176,9 +186,9 @@ Returns the edited (current) scene's root :ref:`Node<class_Node>`.
 
 Returns the main editor control. Use this as a parent for main screens.
 
-**Note:** This returns the main editor control containing the whole editor, not the 2D or 3D viewports specifically.
+\ **Note:** This returns the main editor control containing the whole editor, not the 2D or 3D viewports specifically.
 
-**Warning:** Removing and freeing this node will render a part of the editor useless and may cause a crash.
+\ **Warning:** Removing and freeing this node will render a part of the editor useless and may cause a crash.
 
 ----
 
@@ -194,7 +204,7 @@ Returns the main editor control. Use this as a parent for main screens.
 
 Returns the actual scale of the editor UI (``1.0`` being 100% scale). This can be used to adjust position and dimensions of the UI added by plugins.
 
-**Note:** This value is set via the ``interface/editor/display_scale`` and ``interface/editor/custom_display_scale`` editor settings. Editor must be restarted for changes to be properly applied.
+\ **Note:** This value is set via the ``interface/editor/display_scale`` and ``interface/editor/custom_display_scale`` editor settings. Editor must be restarted for changes to be properly applied.
 
 ----
 
@@ -212,7 +222,7 @@ Returns the editor's :ref:`EditorSettings<class_EditorSettings>` instance.
 
 Returns the editor's :ref:`FileSystemDock<class_FileSystemDock>` instance.
 
-**Warning:** Removing and freeing this node will render a part of the editor useless and may cause a crash.
+\ **Warning:** Removing and freeing this node will render a part of the editor useless and may cause a crash.
 
 ----
 
@@ -222,7 +232,7 @@ Returns the editor's :ref:`FileSystemDock<class_FileSystemDock>` instance.
 
 Returns the editor's :ref:`EditorInspector<class_EditorInspector>` instance.
 
-**Warning:** Removing and freeing this node will render a part of the editor useless and may cause a crash.
+\ **Warning:** Removing and freeing this node will render a part of the editor useless and may cause a crash.
 
 ----
 
@@ -264,7 +274,7 @@ Returns the editor's :ref:`EditorResourcePreview<class_EditorResourcePreview>` i
 
 Returns the editor's :ref:`ScriptEditor<class_ScriptEditor>` instance.
 
-**Warning:** Removing and freeing this node will render a part of the editor useless and may cause a crash.
+\ **Warning:** Removing and freeing this node will render a part of the editor useless and may cause a crash.
 
 ----
 

+ 24 - 14
classes/class_editornode3dgizmo.rst

@@ -22,21 +22,21 @@ Methods
 -------
 
 +---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                          | :ref:`_commit_handle<class_EditorNode3DGizmo_method__commit_handle>` **(** :ref:`int<class_int>` id, :ref:`Variant<class_Variant>` restore, :ref:`bool<class_bool>` cancel **)** |virtual|                                                                                                                              |
+| void                                                          | :ref:`_commit_handle<class_EditorNode3DGizmo_method__commit_handle>` **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` secondary, :ref:`Variant<class_Variant>` restore, :ref:`bool<class_bool>` cancel **)** |virtual|                                                                                           |
 +---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                          | :ref:`_commit_subgizmos<class_EditorNode3DGizmo_method__commit_subgizmos>` **(** :ref:`PackedInt32Array<class_PackedInt32Array>` ids, :ref:`Transform3D[]<class_Transform3D>` restores, :ref:`bool<class_bool>` cancel **)** |virtual|                                                                                  |
 +---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                                   | :ref:`_get_handle_name<class_EditorNode3DGizmo_method__get_handle_name>` **(** :ref:`int<class_int>` id **)** |virtual| |const|                                                                                                                                                                                         |
+| :ref:`String<class_String>`                                   | :ref:`_get_handle_name<class_EditorNode3DGizmo_method__get_handle_name>` **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` secondary **)** |virtual| |const|                                                                                                                                                      |
 +---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>`                                 | :ref:`_get_handle_value<class_EditorNode3DGizmo_method__get_handle_value>` **(** :ref:`int<class_int>` id **)** |virtual| |const|                                                                                                                                                                                       |
+| :ref:`Variant<class_Variant>`                                 | :ref:`_get_handle_value<class_EditorNode3DGizmo_method__get_handle_value>` **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` secondary **)** |virtual| |const|                                                                                                                                                    |
 +---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Transform3D<class_Transform3D>`                         | :ref:`_get_subgizmo_transform<class_EditorNode3DGizmo_method__get_subgizmo_transform>` **(** :ref:`int<class_int>` id **)** |virtual| |const|                                                                                                                                                                           |
 +---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                       | :ref:`_is_handle_highlighted<class_EditorNode3DGizmo_method__is_handle_highlighted>` **(** :ref:`int<class_int>` id **)** |virtual| |const|                                                                                                                                                                             |
+| :ref:`bool<class_bool>`                                       | :ref:`_is_handle_highlighted<class_EditorNode3DGizmo_method__is_handle_highlighted>` **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` secondary **)** |virtual| |const|                                                                                                                                          |
 +---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                          | :ref:`_redraw<class_EditorNode3DGizmo_method__redraw>` **(** **)** |virtual|                                                                                                                                                                                                                                            |
 +---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                          | :ref:`_set_handle<class_EditorNode3DGizmo_method__set_handle>` **(** :ref:`int<class_int>` id, :ref:`Camera3D<class_Camera3D>` camera, :ref:`Vector2<class_Vector2>` point **)** |virtual|                                                                                                                              |
+| void                                                          | :ref:`_set_handle<class_EditorNode3DGizmo_method__set_handle>` **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` secondary, :ref:`Camera3D<class_Camera3D>` camera, :ref:`Vector2<class_Vector2>` point **)** |virtual|                                                                                           |
 +---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                          | :ref:`_set_subgizmo_transform<class_EditorNode3DGizmo_method__set_subgizmo_transform>` **(** :ref:`int<class_int>` id, :ref:`Transform3D<class_Transform3D>` transform **)** |virtual|                                                                                                                                  |
 +---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -52,7 +52,7 @@ Methods
 +---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                          | :ref:`add_lines<class_EditorNode3DGizmo_method_add_lines>` **(** :ref:`PackedVector3Array<class_PackedVector3Array>` lines, :ref:`Material<class_Material>` material, :ref:`bool<class_bool>` billboard=false, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1) **)**                                               |
 +---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                          | :ref:`add_mesh<class_EditorNode3DGizmo_method_add_mesh>` **(** :ref:`ArrayMesh<class_ArrayMesh>` mesh, :ref:`Material<class_Material>` material=null, :ref:`Transform3D<class_Transform3D>` transform=Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), :ref:`SkinReference<class_SkinReference>` skeleton=null **)**    |
+| void                                                          | :ref:`add_mesh<class_EditorNode3DGizmo_method_add_mesh>` **(** :ref:`Mesh<class_Mesh>` mesh, :ref:`Material<class_Material>` material=null, :ref:`Transform3D<class_Transform3D>` transform=Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), :ref:`SkinReference<class_SkinReference>` skeleton=null **)**              |
 +---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                          | :ref:`add_unscaled_billboard<class_EditorNode3DGizmo_method_add_unscaled_billboard>` **(** :ref:`Material<class_Material>` material, :ref:`float<class_float>` default_scale=1, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1) **)**                                                                              |
 +---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -76,12 +76,14 @@ Method Descriptions
 
 .. _class_EditorNode3DGizmo_method__commit_handle:
 
-- void **_commit_handle** **(** :ref:`int<class_int>` id, :ref:`Variant<class_Variant>` restore, :ref:`bool<class_bool>` cancel **)** |virtual|
+- void **_commit_handle** **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` secondary, :ref:`Variant<class_Variant>` restore, :ref:`bool<class_bool>` cancel **)** |virtual|
 
 Override this method to commit a handle being edited (handles must have been previously added by :ref:`add_handles<class_EditorNode3DGizmo_method_add_handles>`). This usually means creating an :ref:`UndoRedo<class_UndoRedo>` action for the change, using the current handle value as "do" and the ``restore`` argument as "undo".
 
 If the ``cancel`` argument is ``true``, the ``restore`` value should be directly set, without any :ref:`UndoRedo<class_UndoRedo>` action.
 
+The ``secondary`` argument is ``true`` when the committed handle is secondary (see :ref:`add_handles<class_EditorNode3DGizmo_method_add_handles>` for more information).
+
 ----
 
 .. _class_EditorNode3DGizmo_method__commit_subgizmos:
@@ -96,20 +98,22 @@ If the ``cancel`` argument is ``true``, the ``restore`` transforms should be dir
 
 .. _class_EditorNode3DGizmo_method__get_handle_name:
 
-- :ref:`String<class_String>` **_get_handle_name** **(** :ref:`int<class_int>` id **)** |virtual| |const|
+- :ref:`String<class_String>` **_get_handle_name** **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` secondary **)** |virtual| |const|
 
-Override this method to return the name of an edited handle (handles must have been previously added by :ref:`add_handles<class_EditorNode3DGizmo_method_add_handles>`).
+Override this method to return the name of an edited handle (handles must have been previously added by :ref:`add_handles<class_EditorNode3DGizmo_method_add_handles>`). Handles can be named for reference to the user when editing.
 
-Handles can be named for reference to the user when editing.
+The ``secondary`` argument is ``true`` when the requested handle is secondary (see :ref:`add_handles<class_EditorNode3DGizmo_method_add_handles>` for more information).
 
 ----
 
 .. _class_EditorNode3DGizmo_method__get_handle_value:
 
-- :ref:`Variant<class_Variant>` **_get_handle_value** **(** :ref:`int<class_int>` id **)** |virtual| |const|
+- :ref:`Variant<class_Variant>` **_get_handle_value** **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` secondary **)** |virtual| |const|
 
 Override this method to return the current value of a handle. This value will be requested at the start of an edit and used as the ``restore`` argument in :ref:`_commit_handle<class_EditorNode3DGizmo_method__commit_handle>`.
 
+The ``secondary`` argument is ``true`` when the requested handle is secondary (see :ref:`add_handles<class_EditorNode3DGizmo_method_add_handles>` for more information).
+
 ----
 
 .. _class_EditorNode3DGizmo_method__get_subgizmo_transform:
@@ -122,10 +126,12 @@ Override this method to return the current transform of a subgizmo. This transfo
 
 .. _class_EditorNode3DGizmo_method__is_handle_highlighted:
 
-- :ref:`bool<class_bool>` **_is_handle_highlighted** **(** :ref:`int<class_int>` id **)** |virtual| |const|
+- :ref:`bool<class_bool>` **_is_handle_highlighted** **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` secondary **)** |virtual| |const|
 
 Override this method to return ``true`` whenever the given handle should be highlighted in the editor.
 
+The ``secondary`` argument is ``true`` when the requested handle is secondary (see :ref:`add_handles<class_EditorNode3DGizmo_method_add_handles>` for more information).
+
 ----
 
 .. _class_EditorNode3DGizmo_method__redraw:
@@ -138,10 +144,12 @@ Override this method to add all the gizmo elements whenever a gizmo update is re
 
 .. _class_EditorNode3DGizmo_method__set_handle:
 
-- void **_set_handle** **(** :ref:`int<class_int>` id, :ref:`Camera3D<class_Camera3D>` camera, :ref:`Vector2<class_Vector2>` point **)** |virtual|
+- void **_set_handle** **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` secondary, :ref:`Camera3D<class_Camera3D>` camera, :ref:`Vector2<class_Vector2>` point **)** |virtual|
 
 Override this method to update the node properties when the user drags a gizmo handle (previously added with :ref:`add_handles<class_EditorNode3DGizmo_method_add_handles>`). The provided ``point`` is the mouse position in screen coordinates and the ``camera`` can be used to convert it to raycasts.
 
+The ``secondary`` argument is ``true`` when the edited handle is secondary (see :ref:`add_handles<class_EditorNode3DGizmo_method_add_handles>` for more information).
+
 ----
 
 .. _class_EditorNode3DGizmo_method__set_subgizmo_transform:
@@ -190,6 +198,8 @@ Adds collision triangles to the gizmo for picking. A :ref:`TriangleMesh<class_Tr
 
 Adds a list of handles (points) which can be used to edit the properties of the gizmo's Node3D. The ``ids`` argument can be used to specify a custom identifier for each handle, if an empty ``Array`` is passed, the ids will be assigned automatically from the ``handles`` argument order.
 
+The ``secondary`` argument marks the added handles as secondary, meaning they will normally have less selection priority than regular handles. When the user is holding the shift key secondary handles will switch to have higher priority than regular handles. This change in priority can be used to place multiple handles at the same point while still giving the user control on their selection.
+
 There are virtual methods which will be called upon editing of these handles. Call this method during :ref:`_redraw<class_EditorNode3DGizmo_method__redraw>`.
 
 ----
@@ -204,7 +214,7 @@ Adds lines to the gizmo (as sets of 2 points), with a given material. The lines
 
 .. _class_EditorNode3DGizmo_method_add_mesh:
 
-- void **add_mesh** **(** :ref:`ArrayMesh<class_ArrayMesh>` mesh, :ref:`Material<class_Material>` material=null, :ref:`Transform3D<class_Transform3D>` transform=Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), :ref:`SkinReference<class_SkinReference>` skeleton=null **)**
+- void **add_mesh** **(** :ref:`Mesh<class_Mesh>` mesh, :ref:`Material<class_Material>` material=null, :ref:`Transform3D<class_Transform3D>` transform=Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), :ref:`SkinReference<class_SkinReference>` skeleton=null **)**
 
 Adds a mesh to the gizmo with the specified ``material``, local ``transform`` and ``skeleton``. Call this method during :ref:`_redraw<class_EditorNode3DGizmo_method__redraw>`.
 

+ 67 - 55
classes/class_editornode3dgizmoplugin.rst

@@ -28,51 +28,51 @@ Tutorials
 Methods
 -------
 
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                             | :ref:`_can_be_hidden<class_EditorNode3DGizmoPlugin_method__can_be_hidden>` **(** **)** |virtual| |const|                                                                                                                                                                                              |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                | :ref:`_commit_handle<class_EditorNode3DGizmoPlugin_method__commit_handle>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id, :ref:`Variant<class_Variant>` restore, :ref:`bool<class_bool>` cancel **)** |virtual|                                      |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                | :ref:`_commit_subgizmos<class_EditorNode3DGizmoPlugin_method__commit_subgizmos>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`PackedInt32Array<class_PackedInt32Array>` ids, :ref:`Transform3D[]<class_Transform3D>` restores, :ref:`bool<class_bool>` cancel **)** |virtual| |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>`   | :ref:`_create_gizmo<class_EditorNode3DGizmoPlugin_method__create_gizmo>` **(** :ref:`Node3D<class_Node3D>` for_node_3d **)** |virtual| |const|                                                                                                                                                        |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                         | :ref:`_get_gizmo_name<class_EditorNode3DGizmoPlugin_method__get_gizmo_name>` **(** **)** |virtual| |const|                                                                                                                                                                                            |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                         | :ref:`_get_handle_name<class_EditorNode3DGizmoPlugin_method__get_handle_name>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id **)** |virtual| |const|                                                                                                 |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>`                       | :ref:`_get_handle_value<class_EditorNode3DGizmoPlugin_method__get_handle_value>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id **)** |virtual| |const|                                                                                               |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                               | :ref:`_get_priority<class_EditorNode3DGizmoPlugin_method__get_priority>` **(** **)** |virtual| |const|                                                                                                                                                                                                |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform3D<class_Transform3D>`               | :ref:`_get_subgizmo_transform<class_EditorNode3DGizmoPlugin_method__get_subgizmo_transform>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` subgizmo_id **)** |virtual| |const|                                                                                 |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                             | :ref:`_has_gizmo<class_EditorNode3DGizmoPlugin_method__has_gizmo>` **(** :ref:`Node3D<class_Node3D>` for_node_3d **)** |virtual| |const|                                                                                                                                                              |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                             | :ref:`_is_handle_highlighted<class_EditorNode3DGizmoPlugin_method__is_handle_highlighted>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id **)** |virtual| |const|                                                                                     |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                             | :ref:`_is_selectable_when_hidden<class_EditorNode3DGizmoPlugin_method__is_selectable_when_hidden>` **(** **)** |virtual| |const|                                                                                                                                                                      |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                | :ref:`_redraw<class_EditorNode3DGizmoPlugin_method__redraw>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo **)** |virtual|                                                                                                                                                            |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                | :ref:`_set_handle<class_EditorNode3DGizmoPlugin_method__set_handle>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id, :ref:`Camera3D<class_Camera3D>` camera, :ref:`Vector2<class_Vector2>` screen_pos **)** |virtual|                                 |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                | :ref:`_set_subgizmo_transform<class_EditorNode3DGizmoPlugin_method__set_subgizmo_transform>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` subgizmo_id, :ref:`Transform3D<class_Transform3D>` transform **)** |virtual|                                        |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PackedInt32Array<class_PackedInt32Array>`     | :ref:`_subgizmos_intersect_frustum<class_EditorNode3DGizmoPlugin_method__subgizmos_intersect_frustum>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`Camera3D<class_Camera3D>` camera, :ref:`Plane[]<class_Plane>` frustum_planes **)** |virtual| |const|                      |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                               | :ref:`_subgizmos_intersect_ray<class_EditorNode3DGizmoPlugin_method__subgizmos_intersect_ray>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`Camera3D<class_Camera3D>` camera, :ref:`Vector2<class_Vector2>` screen_pos **)** |virtual| |const|                                |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                | :ref:`add_material<class_EditorNode3DGizmoPlugin_method_add_material>` **(** :ref:`String<class_String>` name, :ref:`StandardMaterial3D<class_StandardMaterial3D>` material **)**                                                                                                                     |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                | :ref:`create_handle_material<class_EditorNode3DGizmoPlugin_method_create_handle_material>` **(** :ref:`String<class_String>` name, :ref:`bool<class_bool>` billboard=false, :ref:`Texture2D<class_Texture2D>` texture=null **)**                                                                      |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                | :ref:`create_icon_material<class_EditorNode3DGizmoPlugin_method_create_icon_material>` **(** :ref:`String<class_String>` name, :ref:`Texture2D<class_Texture2D>` texture, :ref:`bool<class_bool>` on_top=false, :ref:`Color<class_Color>` color=Color(1, 1, 1, 1) **)**                               |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                | :ref:`create_material<class_EditorNode3DGizmoPlugin_method_create_material>` **(** :ref:`String<class_String>` name, :ref:`Color<class_Color>` color, :ref:`bool<class_bool>` billboard=false, :ref:`bool<class_bool>` on_top=false, :ref:`bool<class_bool>` use_vertex_color=false **)**             |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`StandardMaterial3D<class_StandardMaterial3D>` | :ref:`get_material<class_EditorNode3DGizmoPlugin_method_get_material>` **(** :ref:`String<class_String>` name, :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo=null **)**                                                                                                                     |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                             | :ref:`_can_be_hidden<class_EditorNode3DGizmoPlugin_method__can_be_hidden>` **(** **)** |virtual| |const|                                                                                                                                                                                                 |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                | :ref:`_commit_handle<class_EditorNode3DGizmoPlugin_method__commit_handle>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id, :ref:`bool<class_bool>` secondary, :ref:`Variant<class_Variant>` restore, :ref:`bool<class_bool>` cancel **)** |virtual|      |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                | :ref:`_commit_subgizmos<class_EditorNode3DGizmoPlugin_method__commit_subgizmos>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`PackedInt32Array<class_PackedInt32Array>` ids, :ref:`Transform3D[]<class_Transform3D>` restores, :ref:`bool<class_bool>` cancel **)** |virtual|    |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>`   | :ref:`_create_gizmo<class_EditorNode3DGizmoPlugin_method__create_gizmo>` **(** :ref:`Node3D<class_Node3D>` for_node_3d **)** |virtual| |const|                                                                                                                                                           |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                         | :ref:`_get_gizmo_name<class_EditorNode3DGizmoPlugin_method__get_gizmo_name>` **(** **)** |virtual| |const|                                                                                                                                                                                               |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                         | :ref:`_get_handle_name<class_EditorNode3DGizmoPlugin_method__get_handle_name>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id, :ref:`bool<class_bool>` secondary **)** |virtual| |const|                                                                 |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>`                       | :ref:`_get_handle_value<class_EditorNode3DGizmoPlugin_method__get_handle_value>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id, :ref:`bool<class_bool>` secondary **)** |virtual| |const|                                                               |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`_get_priority<class_EditorNode3DGizmoPlugin_method__get_priority>` **(** **)** |virtual| |const|                                                                                                                                                                                                   |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform3D<class_Transform3D>`               | :ref:`_get_subgizmo_transform<class_EditorNode3DGizmoPlugin_method__get_subgizmo_transform>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` subgizmo_id **)** |virtual| |const|                                                                                    |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                             | :ref:`_has_gizmo<class_EditorNode3DGizmoPlugin_method__has_gizmo>` **(** :ref:`Node3D<class_Node3D>` for_node_3d **)** |virtual| |const|                                                                                                                                                                 |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                             | :ref:`_is_handle_highlighted<class_EditorNode3DGizmoPlugin_method__is_handle_highlighted>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id, :ref:`bool<class_bool>` secondary **)** |virtual| |const|                                                     |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                             | :ref:`_is_selectable_when_hidden<class_EditorNode3DGizmoPlugin_method__is_selectable_when_hidden>` **(** **)** |virtual| |const|                                                                                                                                                                         |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                | :ref:`_redraw<class_EditorNode3DGizmoPlugin_method__redraw>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo **)** |virtual|                                                                                                                                                               |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                | :ref:`_set_handle<class_EditorNode3DGizmoPlugin_method__set_handle>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id, :ref:`bool<class_bool>` secondary, :ref:`Camera3D<class_Camera3D>` camera, :ref:`Vector2<class_Vector2>` screen_pos **)** |virtual| |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                | :ref:`_set_subgizmo_transform<class_EditorNode3DGizmoPlugin_method__set_subgizmo_transform>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` subgizmo_id, :ref:`Transform3D<class_Transform3D>` transform **)** |virtual|                                           |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PackedInt32Array<class_PackedInt32Array>`     | :ref:`_subgizmos_intersect_frustum<class_EditorNode3DGizmoPlugin_method__subgizmos_intersect_frustum>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`Camera3D<class_Camera3D>` camera, :ref:`Plane[]<class_Plane>` frustum_planes **)** |virtual| |const|                         |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`_subgizmos_intersect_ray<class_EditorNode3DGizmoPlugin_method__subgizmos_intersect_ray>` **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`Camera3D<class_Camera3D>` camera, :ref:`Vector2<class_Vector2>` screen_pos **)** |virtual| |const|                                   |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                | :ref:`add_material<class_EditorNode3DGizmoPlugin_method_add_material>` **(** :ref:`String<class_String>` name, :ref:`StandardMaterial3D<class_StandardMaterial3D>` material **)**                                                                                                                        |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                | :ref:`create_handle_material<class_EditorNode3DGizmoPlugin_method_create_handle_material>` **(** :ref:`String<class_String>` name, :ref:`bool<class_bool>` billboard=false, :ref:`Texture2D<class_Texture2D>` texture=null **)**                                                                         |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                | :ref:`create_icon_material<class_EditorNode3DGizmoPlugin_method_create_icon_material>` **(** :ref:`String<class_String>` name, :ref:`Texture2D<class_Texture2D>` texture, :ref:`bool<class_bool>` on_top=false, :ref:`Color<class_Color>` color=Color(1, 1, 1, 1) **)**                                  |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                | :ref:`create_material<class_EditorNode3DGizmoPlugin_method_create_material>` **(** :ref:`String<class_String>` name, :ref:`Color<class_Color>` color, :ref:`bool<class_bool>` billboard=false, :ref:`bool<class_bool>` on_top=false, :ref:`bool<class_bool>` use_vertex_color=false **)**                |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`StandardMaterial3D<class_StandardMaterial3D>` | :ref:`get_material<class_EditorNode3DGizmoPlugin_method_get_material>` **(** :ref:`String<class_String>` name, :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo=null **)**                                                                                                                        |
++-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Method Descriptions
 -------------------
@@ -87,11 +87,15 @@ Override this method to define whether the gizmos handled by this plugin can be
 
 .. _class_EditorNode3DGizmoPlugin_method__commit_handle:
 
-- void **_commit_handle** **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id, :ref:`Variant<class_Variant>` restore, :ref:`bool<class_bool>` cancel **)** |virtual|
+- void **_commit_handle** **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id, :ref:`bool<class_bool>` secondary, :ref:`Variant<class_Variant>` restore, :ref:`bool<class_bool>` cancel **)** |virtual|
 
 Override this method to commit a handle being edited (handles must have been previously added by :ref:`EditorNode3DGizmo.add_handles<class_EditorNode3DGizmo_method_add_handles>` during :ref:`_redraw<class_EditorNode3DGizmoPlugin_method__redraw>`). This usually means creating an :ref:`UndoRedo<class_UndoRedo>` action for the change, using the current handle value as "do" and the ``restore`` argument as "undo".
 
-If the ``cancel`` argument is ``true``, the ``restore`` value should be directly set, without any :ref:`UndoRedo<class_UndoRedo>` action. Called for this plugin's active gizmos.
+If the ``cancel`` argument is ``true``, the ``restore`` value should be directly set, without any :ref:`UndoRedo<class_UndoRedo>` action.
+
+The ``secondary`` argument is ``true`` when the committed handle is secondary (see :ref:`EditorNode3DGizmo.add_handles<class_EditorNode3DGizmo_method_add_handles>` for more information).
+
+Called for this plugin's active gizmos.
 
 ----
 
@@ -123,17 +127,21 @@ Override this method to provide the name that will appear in the gizmo visibilit
 
 .. _class_EditorNode3DGizmoPlugin_method__get_handle_name:
 
-- :ref:`String<class_String>` **_get_handle_name** **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id **)** |virtual| |const|
+- :ref:`String<class_String>` **_get_handle_name** **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id, :ref:`bool<class_bool>` secondary **)** |virtual| |const|
 
-Override this method to provide gizmo's handle names. Called for this plugin's active gizmos.
+Override this method to provide gizmo's handle names. The ``secondary`` argument is ``true`` when the requested handle is secondary (see :ref:`EditorNode3DGizmo.add_handles<class_EditorNode3DGizmo_method_add_handles>` for more information). Called for this plugin's active gizmos.
 
 ----
 
 .. _class_EditorNode3DGizmoPlugin_method__get_handle_value:
 
-- :ref:`Variant<class_Variant>` **_get_handle_value** **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id **)** |virtual| |const|
+- :ref:`Variant<class_Variant>` **_get_handle_value** **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id, :ref:`bool<class_bool>` secondary **)** |virtual| |const|
+
+Override this method to return the current value of a handle. This value will be requested at the start of an edit and used as the ``restore`` argument in :ref:`_commit_handle<class_EditorNode3DGizmoPlugin_method__commit_handle>`.
 
-Override this method to return the current value of a handle. This value will be requested at the start of an edit and used as the ``restore`` argument in :ref:`_commit_handle<class_EditorNode3DGizmoPlugin_method__commit_handle>`. Called for this plugin's active gizmos.
+The ``secondary`` argument is ``true`` when the requested handle is secondary (see :ref:`EditorNode3DGizmo.add_handles<class_EditorNode3DGizmo_method_add_handles>` for more information).
+
+Called for this plugin's active gizmos.
 
 ----
 
@@ -165,9 +173,9 @@ Override this method to define which Node3D nodes have a gizmo from this plugin.
 
 .. _class_EditorNode3DGizmoPlugin_method__is_handle_highlighted:
 
-- :ref:`bool<class_bool>` **_is_handle_highlighted** **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id **)** |virtual| |const|
+- :ref:`bool<class_bool>` **_is_handle_highlighted** **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id, :ref:`bool<class_bool>` secondary **)** |virtual| |const|
 
-Override this method to return ``true`` whenever to given handle should be highlighted in the editor. Called for this plugin's active gizmos.
+Override this method to return ``true`` whenever to given handle should be highlighted in the editor. The ``secondary`` argument is ``true`` when the requested handle is secondary (see :ref:`EditorNode3DGizmo.add_handles<class_EditorNode3DGizmo_method_add_handles>` for more information). Called for this plugin's active gizmos.
 
 ----
 
@@ -189,9 +197,13 @@ Override this method to add all the gizmo elements whenever a gizmo update is re
 
 .. _class_EditorNode3DGizmoPlugin_method__set_handle:
 
-- void **_set_handle** **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id, :ref:`Camera3D<class_Camera3D>` camera, :ref:`Vector2<class_Vector2>` screen_pos **)** |virtual|
+- void **_set_handle** **(** :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` gizmo, :ref:`int<class_int>` handle_id, :ref:`bool<class_bool>` secondary, :ref:`Camera3D<class_Camera3D>` camera, :ref:`Vector2<class_Vector2>` screen_pos **)** |virtual|
+
+Override this method to update the node's properties when the user drags a gizmo handle (previously added with :ref:`EditorNode3DGizmo.add_handles<class_EditorNode3DGizmo_method_add_handles>`). The provided ``point`` is the mouse position in screen coordinates and the ``camera`` can be used to convert it to raycasts.
+
+The ``secondary`` argument is ``true`` when the edited handle is secondary (see :ref:`EditorNode3DGizmo.add_handles<class_EditorNode3DGizmo_method_add_handles>` for more information).
 
-Override this method to update the node's properties when the user drags a gizmo handle (previously added with :ref:`EditorNode3DGizmo.add_handles<class_EditorNode3DGizmo_method_add_handles>`). The provided ``point`` is the mouse position in screen coordinates and the ``camera`` can be used to convert it to raycasts. Called for this plugin's active gizmos.
+Called for this plugin's active gizmos.
 
 ----
 

+ 6 - 6
classes/class_editorpaths.rst

@@ -18,9 +18,9 @@ Description
 
 This editor-only singleton returns OS-specific paths to various data folders and files. It can be used in editor plugins to ensure files are saved in the correct location on each operating system.
 
-**Note:** This singleton is not accessible in exported projects. Attempting to access it in an exported project will result in a script error as the singleton won't be declared. To prevent script errors in exported projects, use :ref:`Engine.has_singleton<class_Engine_method_has_singleton>` to check whether the singleton is available before using it.
+\ **Note:** This singleton is not accessible in exported projects. Attempting to access it in an exported project will result in a script error as the singleton won't be declared. To prevent script errors in exported projects, use :ref:`Engine.has_singleton<class_Engine_method_has_singleton>` to check whether the singleton is available before using it.
 
-**Note:** Godot complies with the `XDG Base Directory Specification <https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html>`__ on *all* platforms. You can override environment variables following the specification to change the editor and project data paths.
+\ **Note:** Godot complies with the `XDG Base Directory Specification <https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html>`__ on *all* platforms. You can override environment variables following the specification to change the editor and project data paths.
 
 Tutorials
 ---------
@@ -51,7 +51,7 @@ Method Descriptions
 
 Returns the absolute path to the user's cache folder. This folder should be used for temporary data that can be removed safely whenever the editor is closed (such as generated resource thumbnails).
 
-**Default paths per platform:**
+\ **Default paths per platform:**\ 
 
 ::
 
@@ -67,7 +67,7 @@ Returns the absolute path to the user's cache folder. This folder should be used
 
 Returns the absolute path to the user's configuration folder. This folder should be used for *persistent* user configuration files.
 
-**Default paths per platform:**
+\ **Default paths per platform:**\ 
 
 ::
 
@@ -83,7 +83,7 @@ Returns the absolute path to the user's configuration folder. This folder should
 
 Returns the absolute path to the user's data folder. This folder should be used for *persistent* user data files such as installed export templates.
 
-**Default paths per platform:**
+\ **Default paths per platform:**\ 
 
 ::
 
@@ -109,7 +109,7 @@ Returns ``true`` if the editor is marked as self-contained, ``false`` otherwise.
 
 Self-contained mode can be enabled by creating a file named ``._sc_`` or ``_sc_`` in the same folder as the editor binary while the editor is not running. See also :ref:`get_self_contained_file<class_EditorPaths_method_get_self_contained_file>`.
 
-**Note:** The Steam release of Godot uses self-contained mode by default.
+\ **Note:** The Steam release of Godot uses self-contained mode by default.
 
 .. |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.)`

+ 7 - 7
classes/class_editorplugin.rst

@@ -99,7 +99,7 @@ Methods
 +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                | :ref:`add_tool_menu_item<class_EditorPlugin_method_add_tool_menu_item>` **(** :ref:`String<class_String>` name, :ref:`Callable<class_Callable>` callable **)**                                                                     |
 +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                | :ref:`add_tool_submenu_item<class_EditorPlugin_method_add_tool_submenu_item>` **(** :ref:`String<class_String>` name, :ref:`Object<class_Object>` submenu **)**                                                                    |
+| void                                                | :ref:`add_tool_submenu_item<class_EditorPlugin_method_add_tool_submenu_item>` **(** :ref:`String<class_String>` name, :ref:`PopupMenu<class_PopupMenu>` submenu **)**                                                              |
 +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                | :ref:`add_translation_parser_plugin<class_EditorPlugin_method_add_translation_parser_plugin>` **(** :ref:`EditorTranslationParserPlugin<class_EditorTranslationParserPlugin>` parser **)**                                         |
 +-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -749,7 +749,7 @@ See :ref:`add_inspector_plugin<class_EditorPlugin_method_add_inspector_plugin>`
 
 Registers a new :ref:`EditorImportPlugin<class_EditorImportPlugin>`. Import plugins are used to import custom and unsupported assets as a custom :ref:`Resource<class_Resource>` type.
 
-**Note:** If you want to import custom 3D asset formats use :ref:`add_scene_format_importer_plugin<class_EditorPlugin_method_add_scene_format_importer_plugin>` instead.
+\ **Note:** If you want to import custom 3D asset formats use :ref:`add_scene_format_importer_plugin<class_EditorPlugin_method_add_scene_format_importer_plugin>` instead.
 
 See :ref:`add_inspector_plugin<class_EditorPlugin_method_add_inspector_plugin>` for an example of how to register a plugin.
 
@@ -761,7 +761,7 @@ See :ref:`add_inspector_plugin<class_EditorPlugin_method_add_inspector_plugin>`
 
 Registers a new :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>`. Inspector plugins are used to extend :ref:`EditorInspector<class_EditorInspector>` and provide custom configuration tools for your object's properties.
 
-**Note:** Always use :ref:`remove_inspector_plugin<class_EditorPlugin_method_remove_inspector_plugin>` to remove the registered :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>` when your ``EditorPlugin`` is disabled to prevent leaks and an unexpected behavior.
+\ **Note:** Always use :ref:`remove_inspector_plugin<class_EditorPlugin_method_remove_inspector_plugin>` to remove the registered :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>` when your ``EditorPlugin`` is disabled to prevent leaks and an unexpected behavior.
 
 
 .. tabs::
@@ -817,9 +817,9 @@ Adds a custom menu item to **Project > Tools** named ``name``. When clicked, the
 
 .. _class_EditorPlugin_method_add_tool_submenu_item:
 
-- void **add_tool_submenu_item** **(** :ref:`String<class_String>` name, :ref:`Object<class_Object>` submenu **)**
+- void **add_tool_submenu_item** **(** :ref:`String<class_String>` name, :ref:`PopupMenu<class_PopupMenu>` submenu **)**
 
-Adds a custom submenu under **Project > Tools >** ``name``. ``submenu`` should be an object of class :ref:`PopupMenu<class_PopupMenu>`. Use ``remove_tool_menu_item(name)`` on plugin clean up to remove the menu.
+Adds a custom :ref:`PopupMenu<class_PopupMenu>` submenu under **Project > Tools >** ``name``. Use ``remove_tool_menu_item(name)`` on plugin clean up to remove the menu.
 
 ----
 
@@ -855,9 +855,9 @@ Returns the :ref:`EditorInterface<class_EditorInterface>` object that gives you
 
 Gets the Editor's dialogue used for making scripts.
 
-**Note:** Users can configure it before use.
+\ **Note:** Users can configure it before use.
 
-**Warning:** Removing and freeing this node will render a part of the editor useless and may cause a crash.
+\ **Warning:** Removing and freeing this node will render a part of the editor useless and may cause a crash.
 
 ----
 

+ 4 - 4
classes/class_editorresourcepicker.rst

@@ -20,7 +20,7 @@ Description
 
 This :ref:`Control<class_Control>` node is used in the editor's Inspector dock to allow editing of :ref:`Resource<class_Resource>` type properties. It provides options for creating, loading, saving and converting resources. Can be used with :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>` to recreate the same behavior.
 
-**Note:** This :ref:`Control<class_Control>` does not include any editor for the resource, as editing is controlled by the Inspector dock itself or sub-Inspectors.
+\ **Note:** This :ref:`Control<class_Control>` does not include any editor for the resource, as editing is controlled by the Inspector dock itself or sub-Inspectors.
 
 Properties
 ----------
@@ -39,7 +39,7 @@ Methods
 -------
 
 +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                              | :ref:`_handle_menu_selected<class_EditorResourcePicker_method__handle_menu_selected>` **(** :ref:`int<class_int>` id **)** |virtual|          |
+| :ref:`bool<class_bool>`                           | :ref:`_handle_menu_selected<class_EditorResourcePicker_method__handle_menu_selected>` **(** :ref:`int<class_int>` id **)** |virtual|          |
 +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                              | :ref:`_set_create_options<class_EditorResourcePicker_method__set_create_options>` **(** :ref:`Object<class_Object>` menu_node **)** |virtual| |
 +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
@@ -133,7 +133,7 @@ Method Descriptions
 
 .. _class_EditorResourcePicker_method__handle_menu_selected:
 
-- void **_handle_menu_selected** **(** :ref:`int<class_int>` id **)** |virtual|
+- :ref:`bool<class_bool>` **_handle_menu_selected** **(** :ref:`int<class_int>` id **)** |virtual|
 
 This virtual method can be implemented to handle context menu items not handled by default. See :ref:`_set_create_options<class_EditorResourcePicker_method__set_create_options>`.
 
@@ -145,7 +145,7 @@ This virtual method can be implemented to handle context menu items not handled
 
 This virtual method is called when updating the context menu of ``EditorResourcePicker``. Implement this method to override the "New ..." items with your own options. ``menu_node`` is a reference to the :ref:`PopupMenu<class_PopupMenu>` node.
 
-**Note:** Implement :ref:`_handle_menu_selected<class_EditorResourcePicker_method__handle_menu_selected>` to handle these custom items.
+\ **Note:** Implement :ref:`_handle_menu_selected<class_EditorResourcePicker_method__handle_menu_selected>` to handle these custom items.
 
 ----
 

+ 3 - 3
classes/class_editorresourcepreview.rst

@@ -18,7 +18,7 @@ Description
 
 This object is used to generate previews for resources of files.
 
-**Note:** This class shouldn't be instantiated directly. Instead, access the singleton using :ref:`EditorInterface.get_resource_previewer<class_EditorInterface_method_get_resource_previewer>`.
+\ **Note:** This class shouldn't be instantiated directly. Instead, access the singleton using :ref:`EditorInterface.get_resource_previewer<class_EditorInterface_method_get_resource_previewer>`.
 
 Methods
 -------
@@ -69,7 +69,7 @@ Check if the resource changed, if so, it will be invalidated and the correspondi
 
 Queue the ``resource`` being edited for preview. Once the preview is ready, the ``receiver``'s ``receiver_func`` will be called. The ``receiver_func`` must take the following four arguments: :ref:`String<class_String>` path, :ref:`Texture2D<class_Texture2D>` preview, :ref:`Texture2D<class_Texture2D>` thumbnail_preview, :ref:`Variant<class_Variant>` userdata. ``userdata`` can be anything, and will be returned when ``receiver_func`` is called.
 
-**Note:** If it was not possible to create the preview the ``receiver_func`` will still be called, but the preview will be null.
+\ **Note:** If it was not possible to create the preview the ``receiver_func`` will still be called, but the preview will be null.
 
 ----
 
@@ -79,7 +79,7 @@ Queue the ``resource`` being edited for preview. Once the preview is ready, the
 
 Queue a resource file located at ``path`` for preview. Once the preview is ready, the ``receiver``'s ``receiver_func`` will be called. The ``receiver_func`` must take the following four arguments: :ref:`String<class_String>` path, :ref:`Texture2D<class_Texture2D>` preview, :ref:`Texture2D<class_Texture2D>` thumbnail_preview, :ref:`Variant<class_Variant>` userdata. ``userdata`` can be anything, and will be returned when ``receiver_func`` is called.
 
-**Note:** If it was not possible to create the preview the ``receiver_func`` will still be called, but the preview will be null.
+\ **Note:** If it was not possible to create the preview the ``receiver_func`` will still be called, but the preview will be null.
 
 ----
 

+ 15 - 31
classes/class_editorsceneformatimporter.rst

@@ -25,23 +25,19 @@ To use ``EditorSceneFormatImporter``, register it using the :ref:`EditorPlugin.a
 Methods
 -------
 
-+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`_get_extensions<class_EditorSceneFormatImporter_method__get_extensions>` **(** **)** |virtual| |const|                                                                                                                       |
-+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                             | :ref:`_get_import_flags<class_EditorSceneFormatImporter_method__get_import_flags>` **(** **)** |virtual| |const|                                                                                                                   |
-+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                              | :ref:`_get_import_options<class_EditorSceneFormatImporter_method__get_import_options>` **(** :ref:`String<class_String>` path **)** |virtual|                                                                                      |
-+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>`                     | :ref:`_get_option_visibility<class_EditorSceneFormatImporter_method__get_option_visibility>` **(** :ref:`String<class_String>` path, :ref:`String<class_String>` option **)** |virtual| |const|                                    |
-+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Animation<class_Animation>`                 | :ref:`_import_animation<class_EditorSceneFormatImporter_method__import_animation>` **(** :ref:`String<class_String>` path, :ref:`int<class_int>` flags, :ref:`int<class_int>` bake_fps **)** |virtual|                             |
-+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_Object>`                       | :ref:`_import_scene<class_EditorSceneFormatImporter_method__import_scene>` **(** :ref:`String<class_String>` path, :ref:`int<class_int>` flags, :ref:`int<class_int>` bake_fps **)** |virtual|                                     |
-+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Animation<class_Animation>`                 | :ref:`import_animation_from_other_importer<class_EditorSceneFormatImporter_method_import_animation_from_other_importer>` **(** :ref:`String<class_String>` path, :ref:`int<class_int>` flags, :ref:`int<class_int>` bake_fps **)** |
-+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Node<class_Node>`                           | :ref:`import_scene_from_other_importer<class_EditorSceneFormatImporter_method_import_scene_from_other_importer>` **(** :ref:`String<class_String>` path, :ref:`int<class_int>` flags, :ref:`int<class_int>` bake_fps **)**         |
-+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`_get_extensions<class_EditorSceneFormatImporter_method__get_extensions>` **(** **)** |virtual| |const|                                                                                                                                        |
++---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                             | :ref:`_get_import_flags<class_EditorSceneFormatImporter_method__get_import_flags>` **(** **)** |virtual| |const|                                                                                                                                    |
++---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                              | :ref:`_get_import_options<class_EditorSceneFormatImporter_method__get_import_options>` **(** :ref:`String<class_String>` path **)** |virtual|                                                                                                       |
++---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>`                     | :ref:`_get_option_visibility<class_EditorSceneFormatImporter_method__get_option_visibility>` **(** :ref:`String<class_String>` path, :ref:`String<class_String>` option **)** |virtual| |const|                                                     |
++---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Animation<class_Animation>`                 | :ref:`_import_animation<class_EditorSceneFormatImporter_method__import_animation>` **(** :ref:`String<class_String>` path, :ref:`int<class_int>` flags, :ref:`Dictionary<class_Dictionary>` options, :ref:`int<class_int>` bake_fps **)** |virtual| |
++---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_Object>`                       | :ref:`_import_scene<class_EditorSceneFormatImporter_method__import_scene>` **(** :ref:`String<class_String>` path, :ref:`int<class_int>` flags, :ref:`Dictionary<class_Dictionary>` options, :ref:`int<class_int>` bake_fps **)** |virtual|         |
++---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Constants
 ---------
@@ -95,25 +91,13 @@ Method Descriptions
 
 .. _class_EditorSceneFormatImporter_method__import_animation:
 
-- :ref:`Animation<class_Animation>` **_import_animation** **(** :ref:`String<class_String>` path, :ref:`int<class_int>` flags, :ref:`int<class_int>` bake_fps **)** |virtual|
+- :ref:`Animation<class_Animation>` **_import_animation** **(** :ref:`String<class_String>` path, :ref:`int<class_int>` flags, :ref:`Dictionary<class_Dictionary>` options, :ref:`int<class_int>` bake_fps **)** |virtual|
 
 ----
 
 .. _class_EditorSceneFormatImporter_method__import_scene:
 
-- :ref:`Object<class_Object>` **_import_scene** **(** :ref:`String<class_String>` path, :ref:`int<class_int>` flags, :ref:`int<class_int>` bake_fps **)** |virtual|
-
-----
-
-.. _class_EditorSceneFormatImporter_method_import_animation_from_other_importer:
-
-- :ref:`Animation<class_Animation>` **import_animation_from_other_importer** **(** :ref:`String<class_String>` path, :ref:`int<class_int>` flags, :ref:`int<class_int>` bake_fps **)**
-
-----
-
-.. _class_EditorSceneFormatImporter_method_import_scene_from_other_importer:
-
-- :ref:`Node<class_Node>` **import_scene_from_other_importer** **(** :ref:`String<class_String>` path, :ref:`int<class_int>` flags, :ref:`int<class_int>` bake_fps **)**
+- :ref:`Object<class_Object>` **_import_scene** **(** :ref:`String<class_String>` path, :ref:`int<class_int>` flags, :ref:`Dictionary<class_Dictionary>` options, :ref:`int<class_int>` bake_fps **)** |virtual|
 
 .. |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.)`

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