浏览代码

Merge pull request #9340 from godotengine/classref/sync-f9d101d

classref: Sync with current 4.2 branch (f9d101d)
Max Hilbrunner 1 年之前
父节点
当前提交
5b28272477
共有 100 个文件被更改,包括 876 次插入391 次删除
  1. 12 4
      classes/[email protected]
  2. 38 34
      classes/[email protected]
  3. 212 50
      classes/class_aabb.rst
  4. 2 2
      classes/class_acceptdialog.rst
  5. 2 2
      classes/class_aescontext.rst
  6. 2 2
      classes/class_animatablebody2d.rst
  7. 2 2
      classes/class_animatablebody3d.rst
  8. 2 2
      classes/class_animatedsprite2d.rst
  9. 2 2
      classes/class_animatedsprite3d.rst
  10. 2 2
      classes/class_animatedtexture.rst
  11. 8 6
      classes/class_animation.rst
  12. 2 2
      classes/class_animationlibrary.rst
  13. 2 2
      classes/class_animationmixer.rst
  14. 4 4
      classes/class_animationnode.rst
  15. 2 2
      classes/class_animationnodeadd2.rst
  16. 2 2
      classes/class_animationnodeadd3.rst
  17. 2 2
      classes/class_animationnodeanimation.rst
  18. 2 2
      classes/class_animationnodeblend2.rst
  19. 2 2
      classes/class_animationnodeblend3.rst
  20. 2 2
      classes/class_animationnodeblendspace1d.rst
  21. 2 2
      classes/class_animationnodeblendspace2d.rst
  22. 2 2
      classes/class_animationnodeblendtree.rst
  23. 2 2
      classes/class_animationnodeoneshot.rst
  24. 2 2
      classes/class_animationnodeoutput.rst
  25. 3 3
      classes/class_animationnodestatemachine.rst
  26. 2 2
      classes/class_animationnodestatemachineplayback.rst
  27. 2 2
      classes/class_animationnodestatemachinetransition.rst
  28. 2 2
      classes/class_animationnodesub2.rst
  29. 2 2
      classes/class_animationnodesync.rst
  30. 3 3
      classes/class_animationnodetimescale.rst
  31. 2 2
      classes/class_animationnodetimeseek.rst
  32. 2 2
      classes/class_animationnodetransition.rst
  33. 2 2
      classes/class_animationplayer.rst
  34. 2 2
      classes/class_animationrootnode.rst
  35. 2 2
      classes/class_animationtree.rst
  36. 2 2
      classes/class_area2d.rst
  37. 2 2
      classes/class_area3d.rst
  38. 47 7
      classes/class_array.rst
  39. 2 2
      classes/class_arraymesh.rst
  40. 2 2
      classes/class_arrayoccluder3d.rst
  41. 2 2
      classes/class_aspectratiocontainer.rst
  42. 2 2
      classes/class_astar2d.rst
  43. 2 2
      classes/class_astar3d.rst
  44. 3 3
      classes/class_astargrid2d.rst
  45. 2 2
      classes/class_atlastexture.rst
  46. 2 2
      classes/class_audiobuslayout.rst
  47. 2 2
      classes/class_audioeffect.rst
  48. 2 2
      classes/class_audioeffectamplify.rst
  49. 2 2
      classes/class_audioeffectbandlimitfilter.rst
  50. 2 2
      classes/class_audioeffectbandpassfilter.rst
  51. 2 2
      classes/class_audioeffectcapture.rst
  52. 2 2
      classes/class_audioeffectchorus.rst
  53. 2 2
      classes/class_audioeffectcompressor.rst
  54. 2 2
      classes/class_audioeffectdelay.rst
  55. 2 2
      classes/class_audioeffectdistortion.rst
  56. 2 2
      classes/class_audioeffecteq.rst
  57. 2 2
      classes/class_audioeffecteq10.rst
  58. 2 2
      classes/class_audioeffecteq21.rst
  59. 2 2
      classes/class_audioeffecteq6.rst
  60. 2 2
      classes/class_audioeffectfilter.rst
  61. 2 2
      classes/class_audioeffecthighpassfilter.rst
  62. 2 2
      classes/class_audioeffecthighshelffilter.rst
  63. 2 2
      classes/class_audioeffectinstance.rst
  64. 2 2
      classes/class_audioeffectlimiter.rst
  65. 2 2
      classes/class_audioeffectlowpassfilter.rst
  66. 2 2
      classes/class_audioeffectlowshelffilter.rst
  67. 2 2
      classes/class_audioeffectnotchfilter.rst
  68. 2 2
      classes/class_audioeffectpanner.rst
  69. 2 2
      classes/class_audioeffectphaser.rst
  70. 3 3
      classes/class_audioeffectpitchshift.rst
  71. 2 2
      classes/class_audioeffectrecord.rst
  72. 2 2
      classes/class_audioeffectreverb.rst
  73. 2 2
      classes/class_audioeffectspectrumanalyzer.rst
  74. 2 2
      classes/class_audioeffectspectrumanalyzerinstance.rst
  75. 2 2
      classes/class_audioeffectstereoenhance.rst
  76. 2 2
      classes/class_audiolistener2d.rst
  77. 2 2
      classes/class_audiolistener3d.rst
  78. 4 4
      classes/class_audioserver.rst
  79. 12 20
      classes/class_audiostream.rst
  80. 2 2
      classes/class_audiostreamgenerator.rst
  81. 2 2
      classes/class_audiostreamgeneratorplayback.rst
  82. 2 2
      classes/class_audiostreammicrophone.rst
  83. 2 2
      classes/class_audiostreammp3.rst
  84. 2 2
      classes/class_audiostreamoggvorbis.rst
  85. 11 25
      classes/class_audiostreamplayback.rst
  86. 2 2
      classes/class_audiostreamplaybackoggvorbis.rst
  87. 2 2
      classes/class_audiostreamplaybackpolyphonic.rst
  88. 2 2
      classes/class_audiostreamplaybackresampled.rst
  89. 2 2
      classes/class_audiostreamplayer.rst
  90. 2 2
      classes/class_audiostreamplayer2d.rst
  91. 2 2
      classes/class_audiostreamplayer3d.rst
  92. 2 2
      classes/class_audiostreampolyphonic.rst
  93. 2 2
      classes/class_audiostreamrandomizer.rst
  94. 2 2
      classes/class_audiostreamwav.rst
  95. 2 2
      classes/class_backbuffercopy.rst
  96. 2 2
      classes/class_basebutton.rst
  97. 9 9
      classes/class_basematerial3d.rst
  98. 336 45
      classes/class_basis.rst
  99. 2 2
      classes/class_bitmap.rst
  100. 3 3
      classes/class_bone2d.rst

+ 12 - 4
classes/[email protected]

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/modules/gdscript/doc_classes/@GDScript.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/modules/gdscript/doc_classes/@GDScript.xml.
 
 .. _class_@GDScript:
 
@@ -725,6 +725,10 @@ The order of ``mode``, ``sync`` and ``transfer_mode`` does not matter, but value
 
 Make a script with static variables to not persist after all references are lost. If the script is loaded again the static variables will revert to their default values.
 
+\ **Note:** As annotations describe their subject, the :ref:`@static_unload<class_@GDScript_annotation_@static_unload>` annotation must be placed before the class definition and inheritance.
+
+\ **Warning:** Currently, due to a bug, scripts are never freed, even if :ref:`@static_unload<class_@GDScript_annotation_@static_unload>` annotation is used.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -814,6 +818,8 @@ An optional ``message`` can be shown in addition to the generic "Assertion faile
     assert(speed >= 0 and speed < 20) # You can also combine the two conditional statements in one check.
     assert(speed < 20, "the speed limit is 20") # Show a message.
 
+\ **Note:** :ref:`assert<class_@GDScript_method_assert>` is a keyword, not a function. So you cannot access it as a :ref:`Callable<class_Callable>` or use it inside expressions.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -947,7 +953,7 @@ Returns ``true`` if ``value`` is an instance of ``type``. The ``type`` value mus
 
 - A :ref:`Script<class_Script>` (you can use any class, including inner one).
 
-Unlike the right operand of the ``is`` operator, ``type`` can be a non-constant value. The ``is`` operator supports more features (such as typed arrays) and is more performant. Use the operator instead of this method if you do not need dynamic type checking.
+Unlike the right operand of the ``is`` operator, ``type`` can be a non-constant value. The ``is`` operator supports more features (such as typed arrays). Use the operator instead of this method if you do not need dynamic type checking.
 
 Examples:
 
@@ -1001,7 +1007,7 @@ Returns a :ref:`Resource<class_Resource>` from the filesystem located at the abs
     # Load a scene called "main" located in the root of the project directory and cache it in a variable.
     var main = load("res://main.tscn") # main will contain a PackedScene resource.
 
-\ **Important:** The path must be absolute. A relative path will always return ``null``.
+\ **Important:** Relative paths are *not* relative to the script calling this method, instead it is prefixed with ``"res://"``. Loading from relative paths might not work as expected.
 
 This function is a simplified version of :ref:`ResourceLoader.load<class_ResourceLoader_method_load>`, which can be used for more advanced scenarios.
 
@@ -1028,6 +1034,8 @@ Returns a :ref:`Resource<class_Resource>` from the filesystem located at ``path`
     # Create instance of a scene.
     var diamond = preload("res://diamond.tscn").instantiate()
 
+\ **Note:** :ref:`preload<class_@GDScript_method_preload>` is a keyword, not a function. So you cannot access it as a :ref:`Callable<class_Callable>`.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 38 - 34
classes/[email protected]

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/@GlobalScope.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/@GlobalScope.xml.
 
 .. _class_@GlobalScope:
 
@@ -2835,7 +2835,7 @@ enum **MIDIMessage**:
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_NONE** = ``0``
 
-Enum value which doesn't correspond to any MIDI message. This is used to initialize :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` properties with a generic state.
+Does not correspond to any MIDI message. This is the default value of :ref:`InputEventMIDI.message<class_InputEventMIDI_property_message>`.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_OFF:
 
@@ -2843,7 +2843,9 @@ Enum value which doesn't correspond to any MIDI message. This is used to initial
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_NOTE_OFF** = ``8``
 
-MIDI note OFF message. Not all MIDI devices send this event; some send :ref:`MIDI_MESSAGE_NOTE_ON<class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_ON>` with zero velocity instead. See the documentation of :ref:`InputEventMIDI<class_InputEventMIDI>` for information of how to use MIDI inputs.
+MIDI message sent when a note is released.
+
+\ **Note:** Not all MIDI devices send this message; some may send :ref:`MIDI_MESSAGE_NOTE_ON<class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_ON>` with :ref:`InputEventMIDI.velocity<class_InputEventMIDI_property_velocity>` set to ``0``.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_ON:
 
@@ -2851,7 +2853,7 @@ MIDI note OFF message. Not all MIDI devices send this event; some send :ref:`MID
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_NOTE_ON** = ``9``
 
-MIDI note ON message. Some MIDI devices send this event with velocity zero instead of :ref:`MIDI_MESSAGE_NOTE_OFF<class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_OFF>`, but implementations vary. See the documentation of :ref:`InputEventMIDI<class_InputEventMIDI>` for information of how to use MIDI inputs.
+MIDI message sent when a note is pressed.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_AFTERTOUCH:
 
@@ -2859,7 +2861,7 @@ MIDI note ON message. Some MIDI devices send this event with velocity zero inste
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **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 sent to indicate a change in pressure while a note is being pressed down, also called aftertouch.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_CONTROL_CHANGE:
 
@@ -2867,7 +2869,7 @@ MIDI aftertouch message. This message is most often sent by pressing down on the
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **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 sent when a controller value changes. In a MIDI device, a controller is any input that doesn't play notes. These may include sliders for volume, balance, and panning, as well as switches and pedals. See the `General MIDI specification <https://en.wikipedia.org/wiki/General_MIDI#Controller_events>`__ for a small list.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_PROGRAM_CHANGE:
 
@@ -2875,7 +2877,7 @@ MIDI control change message. This message is sent when a controller value change
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_PROGRAM_CHANGE** = ``12``
 
-MIDI program change message. This message sent when the program patch number changes.
+MIDI message sent when the MIDI device changes its current instrument (also called *program* or *preset*).
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_CHANNEL_PRESSURE:
 
@@ -2883,7 +2885,7 @@ MIDI program change message. This message sent when the program patch number cha
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **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 sent to indicate a change in pressure for the whole channel. Some MIDI devices may send this instead of :ref:`MIDI_MESSAGE_AFTERTOUCH<class_@GlobalScope_constant_MIDI_MESSAGE_AFTERTOUCH>`.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_PITCH_BEND:
 
@@ -2891,7 +2893,7 @@ MIDI channel pressure message. This message is most often sent by pressing down
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **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 sent when the value of the pitch bender changes, usually a wheel on the MIDI device.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_SYSTEM_EXCLUSIVE:
 
@@ -2899,7 +2901,9 @@ MIDI pitch bend message. This message is sent to indicate a change in the pitch
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **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 system exclusive (SysEx) message. This type of message is not standardized and it's highly dependent on the MIDI device sending it.
+
+\ **Note:** Getting this message's data from :ref:`InputEventMIDI<class_InputEventMIDI>` is not implemented.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_QUARTER_FRAME:
 
@@ -2907,7 +2911,9 @@ MIDI system exclusive message. This has behavior exclusive to the device you're
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **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 sent every quarter frame to keep connected MIDI devices synchronized. Related to :ref:`MIDI_MESSAGE_TIMING_CLOCK<class_@GlobalScope_constant_MIDI_MESSAGE_TIMING_CLOCK>`.
+
+\ **Note:** Getting this message's data from :ref:`InputEventMIDI<class_InputEventMIDI>` is not implemented.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_SONG_POSITION_POINTER:
 
@@ -2915,7 +2921,9 @@ MIDI quarter frame message. Contains timing information that is used to synchron
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **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 sent to jump onto a new position in the current sequence or song.
+
+\ **Note:** Getting this message's data from :ref:`InputEventMIDI<class_InputEventMIDI>` is not implemented.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_SONG_SELECT:
 
@@ -2923,7 +2931,9 @@ MIDI song position pointer message. Gives the number of 16th notes since the sta
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **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 sent to select a sequence or song to play.
+
+\ **Note:** Getting this message's data from :ref:`InputEventMIDI<class_InputEventMIDI>` is not implemented.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_TUNE_REQUEST:
 
@@ -2931,7 +2941,7 @@ MIDI song select message. Specifies which sequence or song is to be played. Gett
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_TUNE_REQUEST** = ``246``
 
-MIDI tune request message. Upon receiving a tune request, all analog synthesizers should tune their oscillators.
+MIDI message sent to request a tuning calibration. Used on analog synthesizers. Most modern MIDI devices do not need this message.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_TIMING_CLOCK:
 
@@ -2939,7 +2949,7 @@ MIDI tune request message. Upon receiving a tune request, all analog synthesizer
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_TIMING_CLOCK** = ``248``
 
-MIDI timing clock message. Sent 24 times per quarter note when synchronization is required.
+MIDI message sent 24 times after :ref:`MIDI_MESSAGE_QUARTER_FRAME<class_@GlobalScope_constant_MIDI_MESSAGE_QUARTER_FRAME>`, to keep connected MIDI devices synchronized.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_START:
 
@@ -2947,7 +2957,7 @@ MIDI timing clock message. Sent 24 times per quarter note when synchronization i
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_START** = ``250``
 
-MIDI start message. Start the current sequence playing. This message will be followed with Timing Clocks.
+MIDI message sent to start the current sequence or song from the beginning.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_CONTINUE:
 
@@ -2955,7 +2965,7 @@ MIDI start message. Start the current sequence playing. This message will be fol
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_CONTINUE** = ``251``
 
-MIDI continue message. Continue at the point the sequence was stopped.
+MIDI message sent to resume from the point the current sequence or song was paused.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_STOP:
 
@@ -2963,7 +2973,7 @@ MIDI continue message. Continue at the point the sequence was stopped.
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_STOP** = ``252``
 
-MIDI stop message. Stop the current sequence.
+MIDI message sent to pause the current sequence or song.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_ACTIVE_SENSING:
 
@@ -2971,7 +2981,7 @@ MIDI stop message. Stop the current sequence.
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **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 sent repeatedly while the MIDI device is idle, to tell the receiver that the connection is alive. Most MIDI devices do not send this message.
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_SYSTEM_RESET:
 
@@ -2979,7 +2989,7 @@ MIDI active sensing message. This message is intended to be sent repeatedly to t
 
 :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **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.
+MIDI message sent to reset a MIDI device to its default state, as if it was just turned on. It should not be sent when the MIDI device is being turned on.
 
 .. rst-class:: classref-item-separator
 
@@ -5480,20 +5490,10 @@ Clamps the ``value``, returning a :ref:`Variant<class_Variant>` not less than ``
     
     var b = clamp(8.1, 0.9, 5.5)
     # b is 5.5
-    
-    var c = clamp(Vector2(-3.5, -4), Vector2(-3.2, -2), Vector2(2, 6.5))
-    # c is (-3.2, -2)
-    
-    var d = clamp(Vector2i(7, 8), Vector2i(-3, -2), Vector2i(2, 6))
-    # d is (2, 6)
-    
-    var e = clamp(Vector3(-7, 8.5, -3.8), Vector3(-3, -2, 5.4), Vector3(-2, 6, -4.1))
-    # e is (-3, -2, 5.4)
-    
-    var f = clamp(Vector3i(-7, -8, -9), Vector3i(-1, 2, 3), Vector3i(-4, -5, -6))
-    # f is (-4, -5, -6)
 
-\ **Note:** For better type safety, use :ref:`clampf<class_@GlobalScope_method_clampf>`, :ref:`clampi<class_@GlobalScope_method_clampi>`, :ref:`Vector2.clamp<class_Vector2_method_clamp>`, :ref:`Vector2i.clamp<class_Vector2i_method_clamp>`, :ref:`Vector3.clamp<class_Vector3_method_clamp>`, :ref:`Vector3i.clamp<class_Vector3i_method_clamp>`, :ref:`Vector4.clamp<class_Vector4_method_clamp>`, :ref:`Vector4i.clamp<class_Vector4i_method_clamp>`, or :ref:`Color.clamp<class_Color_method_clamp>`.
+\ **Note:** For better type safety, use :ref:`clampf<class_@GlobalScope_method_clampf>`, :ref:`clampi<class_@GlobalScope_method_clampi>`, :ref:`Vector2.clamp<class_Vector2_method_clamp>`, :ref:`Vector2i.clamp<class_Vector2i_method_clamp>`, :ref:`Vector3.clamp<class_Vector3_method_clamp>`, :ref:`Vector3i.clamp<class_Vector3i_method_clamp>`, :ref:`Vector4.clamp<class_Vector4_method_clamp>`, :ref:`Vector4i.clamp<class_Vector4i_method_clamp>`, or :ref:`Color.clamp<class_Color_method_clamp>` (not currently supported by this method).
+
+\ **Note:** When using this on vectors it will *not* perform component-wise clamping, and will pick ``min`` if ``value < min`` or ``max`` if ``value > max``. To perform component-wise clamping use the methods listed above.
 
 .. rst-class:: classref-item-separator
 
@@ -7293,6 +7293,8 @@ Encodes a :ref:`Variant<class_Variant>` value to a byte array, without encoding
 
 \ **Note:** If you need object serialization, see :ref:`var_to_bytes_with_objects<class_@GlobalScope_method_var_to_bytes_with_objects>`.
 
+\ **Note:** Encoding :ref:`Callable<class_Callable>` is not supported and will result in an empty value, regardless of the data.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -7305,6 +7307,8 @@ Encodes a :ref:`Variant<class_Variant>` value to a byte array, without encoding
 
 Encodes a :ref:`Variant<class_Variant>` value to a byte array. Encoding objects is allowed (and can potentially include executable code). Deserialization can be done with :ref:`bytes_to_var_with_objects<class_@GlobalScope_method_bytes_to_var_with_objects>`.
 
+\ **Note:** Encoding :ref:`Callable<class_Callable>` is not supported and will result in an empty value, regardless of the data.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 212 - 50
classes/class_aabb.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AABB.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AABB.xml.
 
 .. _class_AABB:
 
@@ -17,13 +17,13 @@ A 3D axis-aligned bounding box.
 Description
 -----------
 
-**AABB** consists of a position, a size, and several utility functions. It is typically used for fast overlap tests.
+The **AABB** built-in :ref:`Variant<class_Variant>` type represents an axis-aligned bounding box in a 3D space. It is defined by its :ref:`position<class_AABB_property_position>` and :ref:`size<class_AABB_property_size>`, which are :ref:`Vector3<class_Vector3>`. It is frequently used for fast overlap tests (see :ref:`intersects<class_AABB_method_intersects>`). Although **AABB** itself is axis-aligned, it can be combined with :ref:`Transform3D<class_Transform3D>` to represent a rotated or skewed bounding box.
 
-It uses floating-point coordinates. The 2D counterpart to **AABB** is :ref:`Rect2<class_Rect2>`.
+It uses floating-point coordinates. The 2D counterpart to **AABB** is :ref:`Rect2<class_Rect2>`. There is no version of **AABB** 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:** Negative values for :ref:`size<class_AABB_property_size>` are not supported. With negative size, most **AABB** methods do not work correctly. Use :ref:`abs<class_AABB_method_abs>` to get an equivalent **AABB** with a non-negative size.
 
-\ **Note:** Unlike :ref:`Rect2<class_Rect2>`, **AABB** does not have a variant that uses integer coordinates.
+\ **Note:** In a boolean context, a **AABB** evaluates to ``false`` if both :ref:`position<class_AABB_property_position>` and :ref:`size<class_AABB_property_size>` are zero (equal to :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`). Otherwise, it always evaluates to ``true``.
 
 .. note::
 
@@ -163,7 +163,7 @@ Property Descriptions
 
 :ref:`Vector3<class_Vector3>` **end** = ``Vector3(0, 0, 0)``
 
-Ending corner. This is calculated as ``position + size``. Setting this value will change the size.
+The ending point. This is usually the corner on the top-right and forward of the bounding box, and is equivalent to ``position + size``. Setting this point affects the :ref:`size<class_AABB_property_size>`.
 
 .. rst-class:: classref-item-separator
 
@@ -175,7 +175,7 @@ Ending corner. This is calculated as ``position + size``. Setting this value wil
 
 :ref:`Vector3<class_Vector3>` **position** = ``Vector3(0, 0, 0)``
 
-Beginning corner. Typically has values lower than :ref:`end<class_AABB_property_end>`.
+The origin point. This is usually the corner on the bottom-left and back of the bounding box.
 
 .. rst-class:: classref-item-separator
 
@@ -187,9 +187,9 @@ Beginning corner. Typically has values lower than :ref:`end<class_AABB_property_
 
 :ref:`Vector3<class_Vector3>` **size** = ``Vector3(0, 0, 0)``
 
-Size from :ref:`position<class_AABB_property_position>` to :ref:`end<class_AABB_property_end>`. Typically, all components are positive.
+The bounding box's width, height, and depth starting from :ref:`position<class_AABB_property_position>`. Setting this value also affects the :ref:`end<class_AABB_property_end>` point.
 
-If the size is negative, you can use :ref:`abs<class_AABB_method_abs>` to fix it.
+\ **Note:** It's recommended setting the width, height, and depth to non-negative values. This is because most methods in Godot assume that the :ref:`position<class_AABB_property_position>` is the bottom-left-back corner, and the :ref:`end<class_AABB_property_end>` is the top-right-forward corner. To get an equivalent bounding box with non-negative size, use :ref:`abs<class_AABB_method_abs>`.
 
 .. rst-class:: classref-section-separator
 
@@ -206,7 +206,7 @@ Constructor Descriptions
 
 :ref:`AABB<class_AABB>` **AABB** **(** **)**
 
-Constructs a default-initialized **AABB** with default (zero) values of :ref:`position<class_AABB_property_position>` and :ref:`size<class_AABB_property_size>`.
+Constructs an **AABB** with its :ref:`position<class_AABB_property_position>` and :ref:`size<class_AABB_property_size>` set to :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`.
 
 .. rst-class:: classref-item-separator
 
@@ -226,7 +226,7 @@ Constructs an **AABB** as a copy of the given **AABB**.
 
 :ref:`AABB<class_AABB>` **AABB** **(** :ref:`Vector3<class_Vector3>` position, :ref:`Vector3<class_Vector3>` size **)**
 
-Constructs an **AABB** from a position and size.
+Constructs an **AABB** by ``position`` and ``size``.
 
 .. rst-class:: classref-section-separator
 
@@ -243,7 +243,28 @@ Method Descriptions
 
 :ref:`AABB<class_AABB>` **abs** **(** **)** |const|
 
-Returns an AABB with equivalent position and size, modified so that the most-negative corner is the origin and the size is positive.
+Returns an **AABB** equivalent to this bounding box, with its width, height, and depth modified to be non-negative values.
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var box = AABB(Vector3(5, 0, 5), Vector3(-20, -10, -5))
+    var absolute = box.abs()
+    print(absolute.position) # Prints (-15, -10, 0)
+    print(absolute.size)     # Prints (20, 10, 5)
+
+ .. code-tab:: csharp
+
+    var box = new Aabb(new Vector3(5, 0, 5), new Vector3(-20, -10, -5));
+    var absolute = box.Abs();
+    GD.Print(absolute.Position); // Prints (-15, -10, 0)
+    GD.Print(absolute.Size);     // Prints (20, 10, 5)
+
+
+
+\ **Note:** It's recommended to use this method when :ref:`size<class_AABB_property_size>` is negative, as most other methods in Godot assume that the :ref:`size<class_AABB_property_size>`'s components are greater than ``0``.
 
 .. rst-class:: classref-item-separator
 
@@ -255,7 +276,32 @@ Returns an AABB with equivalent position and size, modified so that the most-neg
 
 :ref:`bool<class_bool>` **encloses** **(** :ref:`AABB<class_AABB>` with **)** |const|
 
-Returns ``true`` if this **AABB** completely encloses another one.
+Returns ``true`` if this bounding box *completely* encloses the ``with`` box. The edges of both boxes are included.
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var a = AABB(Vector3(0, 0, 0), Vector3(4, 4, 4))
+    var b = AABB(Vector3(1, 1, 1), Vector3(3, 3, 3))
+    var c = AABB(Vector3(2, 2, 2), Vector3(8, 8, 8))
+    
+    print(a.encloses(a)) # Prints true
+    print(a.encloses(b)) # Prints true
+    print(a.encloses(c)) # Prints false
+
+ .. code-tab:: csharp
+
+    var a = new Aabb(new Vector3(0, 0, 0), new Vector3(4, 4, 4));
+    var b = new Aabb(new Vector3(1, 1, 1), new Vector3(3, 3, 3));
+    var c = new Aabb(new Vector3(2, 2, 2), new Vector3(8, 8, 8));
+    
+    GD.Print(a.Encloses(a)); // Prints True
+    GD.Print(a.Encloses(b)); // Prints True
+    GD.Print(a.Encloses(c)); // Prints False
+
+
 
 .. rst-class:: classref-item-separator
 
@@ -267,26 +313,34 @@ Returns ``true`` if this **AABB** completely encloses another one.
 
 :ref:`AABB<class_AABB>` **expand** **(** :ref:`Vector3<class_Vector3>` to_point **)** |const|
 
-Returns a copy of this **AABB** expanded to include a given point.
-
-\ **Example:**\ 
+Returns a copy of this bounding box expanded to align the edges with the given ``to_point``, if necessary.
 
 
 .. tabs::
 
  .. code-tab:: gdscript
 
-    # position (-3, 2, 0), size (1, 1, 1)
-    var box = AABB(Vector3(-3, 2, 0), Vector3(1, 1, 1))
-    # position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB and Vector3(0, -1, 2)
-    var box2 = box.expand(Vector3(0, -1, 2))
+    var box = AABB(Vector3(0, 0, 0), Vector3(5, 2, 5))
+    
+    box = box.expand(Vector3(10, 0, 0))
+    print(box.position) # Prints (0, 0, 0)
+    print(box.size)     # Prints (10, 2, 5)
+    
+    box = box.expand(Vector3(-5, 0, 5))
+    print(box.position) # Prints (-5, 0, 0)
+    print(box.size)     # Prints (15, 2, 5)
 
  .. code-tab:: csharp
 
-    // position (-3, 2, 0), size (1, 1, 1)
-    var box = new Aabb(new Vector3(-3, 2, 0), new Vector3(1, 1, 1));
-    // position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB and Vector3(0, -1, 2)
-    var box2 = box.Expand(new Vector3(0, -1, 2));
+    var box = new Aabb(new Vector3(0, 0, 0), new Vector3(5, 2, 5));
+    
+    box = box.Expand(new Vector3(10, 0, 0));
+    GD.Print(box.Position); // Prints (0, 0, 0)
+    GD.Print(box.Size);     // Prints (10, 2, 5)
+    
+    box = box.Expand(new Vector3(-5, 0, 5));
+    GD.Print(box.Position); // Prints (-5, 0, 0)
+    GD.Print(box.Size);     // Prints (15, 2, 5)
 
 
 
@@ -300,7 +354,7 @@ Returns a copy of this **AABB** expanded to include a given point.
 
 :ref:`Vector3<class_Vector3>` **get_center** **(** **)** |const|
 
-Returns the center of the **AABB**, which is equal to :ref:`position<class_AABB_property_position>` + (:ref:`size<class_AABB_property_size>` / 2).
+Returns the center point of the bounding box. This is the same as ``position + (size / 2.0)``.
 
 .. rst-class:: classref-item-separator
 
@@ -312,7 +366,7 @@ Returns the center of the **AABB**, which is equal to :ref:`position<class_AABB_
 
 :ref:`Vector3<class_Vector3>` **get_endpoint** **(** :ref:`int<class_int>` idx **)** |const|
 
-Gets the position of the 8 endpoints of the **AABB** in space.
+Returns the position of one of the 8 vertices that compose this bounding box. With a ``idx`` of ``0`` this is the same as :ref:`position<class_AABB_property_position>`, and a ``idx`` of ``7`` is the same as :ref:`end<class_AABB_property_end>`.
 
 .. rst-class:: classref-item-separator
 
@@ -324,7 +378,30 @@ Gets the position of the 8 endpoints of the **AABB** in space.
 
 :ref:`Vector3<class_Vector3>` **get_longest_axis** **(** **)** |const|
 
-Returns the normalized longest axis of the **AABB**.
+Returns the longest normalized axis of this bounding box's :ref:`size<class_AABB_property_size>`, as a :ref:`Vector3<class_Vector3>` (:ref:`Vector3.RIGHT<class_Vector3_constant_RIGHT>`, :ref:`Vector3.UP<class_Vector3_constant_UP>`, or :ref:`Vector3.BACK<class_Vector3_constant_BACK>`).
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var box = AABB(Vector3(0, 0, 0), Vector3(2, 4, 8))
+    
+    print(box.get_longest_axis())       # Prints (0, 0, 1)
+    print(box.get_longest_axis_index()) # Prints 2
+    print(box.get_longest_axis_size())  # Prints 8
+
+ .. code-tab:: csharp
+
+    var box = new Aabb(new Vector3(0, 0, 0), new Vector3(2, 4, 8));
+    
+    GD.Print(box.GetLongestAxis());      // Prints (0, 0, 1)
+    GD.Print(box.GetLongestAxisIndex()); // Prints 2
+    GD.Print(box.GetLongestAxisSize());  // Prints 8
+
+
+
+See also :ref:`get_longest_axis_index<class_AABB_method_get_longest_axis_index>` and :ref:`get_longest_axis_size<class_AABB_method_get_longest_axis_size>`.
 
 .. rst-class:: classref-item-separator
 
@@ -336,7 +413,9 @@ Returns the normalized longest axis of the **AABB**.
 
 :ref:`int<class_int>` **get_longest_axis_index** **(** **)** |const|
 
-Returns the index of the longest axis of the **AABB** (according to :ref:`Vector3<class_Vector3>`'s ``AXIS_*`` constants).
+Returns the index to the longest axis of this bounding box's :ref:`size<class_AABB_property_size>` (see :ref:`Vector3.AXIS_X<class_Vector3_constant_AXIS_X>`, :ref:`Vector3.AXIS_Y<class_Vector3_constant_AXIS_Y>`, and :ref:`Vector3.AXIS_Z<class_Vector3_constant_AXIS_Z>`).
+
+For an example, see :ref:`get_longest_axis<class_AABB_method_get_longest_axis>`.
 
 .. rst-class:: classref-item-separator
 
@@ -348,7 +427,9 @@ Returns the index of the longest axis of the **AABB** (according to :ref:`Vector
 
 :ref:`float<class_float>` **get_longest_axis_size** **(** **)** |const|
 
-Returns the scalar length of the longest axis of the **AABB**.
+Returns the longest dimension of this bounding box's :ref:`size<class_AABB_property_size>`.
+
+For an example, see :ref:`get_longest_axis<class_AABB_method_get_longest_axis>`.
 
 .. rst-class:: classref-item-separator
 
@@ -360,7 +441,30 @@ Returns the scalar length of the longest axis of the **AABB**.
 
 :ref:`Vector3<class_Vector3>` **get_shortest_axis** **(** **)** |const|
 
-Returns the normalized shortest axis of the **AABB**.
+Returns the shortest normaalized axis of this bounding box's :ref:`size<class_AABB_property_size>`, as a :ref:`Vector3<class_Vector3>` (:ref:`Vector3.RIGHT<class_Vector3_constant_RIGHT>`, :ref:`Vector3.UP<class_Vector3_constant_UP>`, or :ref:`Vector3.BACK<class_Vector3_constant_BACK>`).
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var box = AABB(Vector3(0, 0, 0), Vector3(2, 4, 8))
+    
+    print(box.get_shortest_axis())       # Prints (1, 0, 0)
+    print(box.get_shortest_axis_index()) # Prints 0
+    print(box.get_shortest_axis_size())  # Prints 2
+
+ .. code-tab:: csharp
+
+    var box = new Aabb(new Vector3(0, 0, 0), new Vector3(2, 4, 8));
+    
+    GD.Print(box.GetShortestAxis());      // Prints (1, 0, 0)
+    GD.Print(box.GetShortestAxisIndex()); // Prints 0
+    GD.Print(box.GetShortestAxisSize());  // Prints 2
+
+
+
+See also :ref:`get_shortest_axis_index<class_AABB_method_get_shortest_axis_index>` and :ref:`get_shortest_axis_size<class_AABB_method_get_shortest_axis_size>`.
 
 .. rst-class:: classref-item-separator
 
@@ -372,7 +476,9 @@ Returns the normalized shortest axis of the **AABB**.
 
 :ref:`int<class_int>` **get_shortest_axis_index** **(** **)** |const|
 
-Returns the index of the shortest axis of the **AABB** (according to :ref:`Vector3<class_Vector3>`::AXIS\* enum).
+Returns the index to the shortest axis of this bounding box's :ref:`size<class_AABB_property_size>` (see :ref:`Vector3.AXIS_X<class_Vector3_constant_AXIS_X>`, :ref:`Vector3.AXIS_Y<class_Vector3_constant_AXIS_Y>`, and :ref:`Vector3.AXIS_Z<class_Vector3_constant_AXIS_Z>`).
+
+For an example, see :ref:`get_shortest_axis<class_AABB_method_get_shortest_axis>`.
 
 .. rst-class:: classref-item-separator
 
@@ -384,7 +490,9 @@ Returns the index of the shortest axis of the **AABB** (according to :ref:`Vecto
 
 :ref:`float<class_float>` **get_shortest_axis_size** **(** **)** |const|
 
-Returns the scalar length of the shortest axis of the **AABB**.
+Returns the shortest dimension of this bounding box's :ref:`size<class_AABB_property_size>`.
+
+For an example, see :ref:`get_shortest_axis<class_AABB_method_get_shortest_axis>`.
 
 .. rst-class:: classref-item-separator
 
@@ -396,7 +504,7 @@ Returns the scalar length of the shortest axis of the **AABB**.
 
 :ref:`Vector3<class_Vector3>` **get_support** **(** :ref:`Vector3<class_Vector3>` dir **)** |const|
 
-Returns the vertex of the AABB that's the farthest in a given direction. This point is commonly known as the support point in collision detection algorithms.
+Returns the vertex's position of this bounding box that's the farthest in the given direction. This point is commonly known as the support point in collision detection algorithms.
 
 .. rst-class:: classref-item-separator
 
@@ -408,7 +516,7 @@ Returns the vertex of the AABB that's the farthest in a given direction. This po
 
 :ref:`float<class_float>` **get_volume** **(** **)** |const|
 
-Returns the volume of the **AABB**.
+Returns the bounding box's volume. This is equivalent to ``size.x * size.y * size.z``. See also :ref:`has_volume<class_AABB_method_has_volume>`.
 
 .. rst-class:: classref-item-separator
 
@@ -420,7 +528,32 @@ Returns the volume of the **AABB**.
 
 :ref:`AABB<class_AABB>` **grow** **(** :ref:`float<class_float>` by **)** |const|
 
-Returns a copy of the **AABB** grown a given number of units towards all the sides.
+Returns a copy of this bounding box extended on all sides by the given amount ``by``. A negative amount shrinks the box instead.
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var a = AABB(Vector3(4, 4, 4), Vector3(8, 8, 8)).grow(4)
+    print(a.position) # Prints (0, 0, 0)
+    print(a.size)     # Prints (16, 16, 16)
+    
+    var b = AABB(Vector3(0, 0, 0), Vector3(8, 4, 2)).grow(2)
+    print(b.position) # Prints (-2, -2, -2)
+    print(b.size)     # Prints (12, 8, 6)
+
+ .. code-tab:: csharp
+
+    var a = new Aabb(new Vector3(4, 4, 4), new Vector3(8, 8, 8)).Grow(4);
+    GD.Print(a.Position); // Prints (0, 0, 0)
+    GD.Print(a.Size);     // Prints (16, 16, 16)
+    
+    var b = new Aabb(new Vector3(0, 0, 0), new Vector3(8, 4, 2)).Grow(2);
+    GD.Print(b.Position); // Prints (-2, -2, -2)
+    GD.Print(b.Size);     // Prints (12, 8, 6)
+
+
 
 .. rst-class:: classref-item-separator
 
@@ -432,9 +565,9 @@ Returns a copy of the **AABB** grown a given number of units towards all the sid
 
 :ref:`bool<class_bool>` **has_point** **(** :ref:`Vector3<class_Vector3>` point **)** |const|
 
-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.
+Returns ``true`` if the bounding box contains the given ``point``. By convention, points exactly on the right, top, and front sides are **not** included.
 
-\ **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.
+\ **Note:** This method is not reliable for **AABB** with a *negative* :ref:`size<class_AABB_property_size>`. Use :ref:`abs<class_AABB_method_abs>` first to get a valid bounding box.
 
 .. rst-class:: classref-item-separator
 
@@ -446,7 +579,7 @@ Returns ``true`` if the **AABB** contains a point. Points on the faces of the AA
 
 :ref:`bool<class_bool>` **has_surface** **(** **)** |const|
 
-Returns ``true`` if the **AABB** has a surface or a length, and ``false`` if the **AABB** is empty (all components of :ref:`size<class_AABB_property_size>` are zero or negative).
+Returns ``true`` if this bounding box has a surface or a length, that is, at least one component of :ref:`size<class_AABB_property_size>` is greater than ``0``. Otherwise, returns ``false``.
 
 .. rst-class:: classref-item-separator
 
@@ -458,7 +591,7 @@ Returns ``true`` if the **AABB** has a surface or a length, and ``false`` if the
 
 :ref:`bool<class_bool>` **has_volume** **(** **)** |const|
 
-Returns ``true`` if the **AABB** has a volume, and ``false`` if the **AABB** is flat, empty, or has a negative :ref:`size<class_AABB_property_size>`.
+Returns ``true`` if this bounding box's width, height, and depth are all positive. See also :ref:`get_volume<class_AABB_method_get_volume>`.
 
 .. rst-class:: classref-item-separator
 
@@ -470,7 +603,32 @@ Returns ``true`` if the **AABB** has a volume, and ``false`` if the **AABB** is
 
 :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 this bounding box and ``with``. If the boxes do not intersect, returns an empty **AABB**. If the boxes intersect at the edge, returns a flat **AABB** with no volume (see :ref:`has_surface<class_AABB_method_has_surface>` and :ref:`has_volume<class_AABB_method_has_volume>`).
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var box1 = AABB(Vector3(0, 0, 0), Vector3(5, 2, 8))
+    var box2 = AABB(Vector3(2, 0, 2), Vector3(8, 4, 4))
+    
+    var intersection = box1.intersection(box2)
+    print(intersection.position) # Prints (2, 0, 2)
+    print(intersection.size)     # Prints (3, 2, 4)
+
+ .. code-tab:: csharp
+
+    var box1 = new Aabb(new Vector3(0, 0, 0), new Vector3(5, 2, 8));
+    var box2 = new Aabb(new Vector3(2, 0, 2), new Vector3(8, 4, 4));
+    
+    var intersection = box1.Intersection(box2);
+    GD.Print(intersection.Position); // Prints (2, 0, 2)
+    GD.Print(intersection.Size);     // Prints (3, 2, 4)
+
+
+
+\ **Note:** If you only need to know whether two bounding boxes are intersecting, use :ref:`intersects<class_AABB_method_intersects>`, instead.
 
 .. rst-class:: classref-item-separator
 
@@ -482,7 +640,7 @@ Returns the intersection between two **AABB**. An empty AABB (size ``(0, 0, 0)``
 
 :ref:`bool<class_bool>` **intersects** **(** :ref:`AABB<class_AABB>` with **)** |const|
 
-Returns ``true`` if the **AABB** overlaps with another.
+Returns ``true`` if this bounding box overlaps with the box ``with``. The edges of both boxes are *always* excluded.
 
 .. rst-class:: classref-item-separator
 
@@ -494,7 +652,7 @@ Returns ``true`` if the **AABB** overlaps with another.
 
 :ref:`bool<class_bool>` **intersects_plane** **(** :ref:`Plane<class_Plane>` plane **)** |const|
 
-Returns ``true`` if the **AABB** is on both sides of a plane.
+Returns ``true`` if this bounding box is on both sides of the given ``plane``.
 
 .. rst-class:: classref-item-separator
 
@@ -506,7 +664,9 @@ Returns ``true`` if the **AABB** is on both sides of a plane.
 
 :ref:`Variant<class_Variant>` **intersects_ray** **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` dir **)** |const|
 
-Returns the point of intersection of the given ray with this **AABB** or ``null`` if there is no intersection. Ray length is infinite.
+Returns the first point where this bounding box and the given ray intersect, as a :ref:`Vector3<class_Vector3>`. If no intersection occurs, returns ``null``.
+
+The ray begin at ``from``, faces ``dir`` and extends towards infinity.
 
 .. rst-class:: classref-item-separator
 
@@ -518,7 +678,9 @@ Returns the point of intersection of the given ray with this **AABB** or ``null`
 
 :ref:`Variant<class_Variant>` **intersects_segment** **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` to **)** |const|
 
-Returns the point of intersection between ``from`` and ``to`` with this **AABB** or ``null`` if there is no intersection.
+Returns the first point where this bounding box and the given segment intersect, as a :ref:`Vector3<class_Vector3>`. If no intersection occurs, returns ``null``.
+
+The segment begins at ``from`` and ends at ``to``.
 
 .. rst-class:: classref-item-separator
 
@@ -530,7 +692,7 @@ Returns the point of intersection between ``from`` and ``to`` with this **AABB**
 
 :ref:`bool<class_bool>` **is_equal_approx** **(** :ref:`AABB<class_AABB>` aabb **)** |const|
 
-Returns ``true`` if this **AABB** and ``aabb`` are approximately equal, by calling :ref:`@GlobalScope.is_equal_approx<class_@GlobalScope_method_is_equal_approx>` on each component.
+Returns ``true`` if this bounding box and ``aabb`` are approximately equal, by calling :ref:`Vector2.is_equal_approx<class_Vector2_method_is_equal_approx>` on the :ref:`position<class_AABB_property_position>` and the :ref:`size<class_AABB_property_size>`.
 
 .. rst-class:: classref-item-separator
 
@@ -542,7 +704,7 @@ Returns ``true`` if this **AABB** and ``aabb`` are approximately equal, by calli
 
 :ref:`bool<class_bool>` **is_finite** **(** **)** |const|
 
-Returns ``true`` if this **AABB** is finite, by calling :ref:`@GlobalScope.is_finite<class_@GlobalScope_method_is_finite>` on each component.
+Returns ``true`` if this bounding box's values are finite, by calling :ref:`Vector2.is_finite<class_Vector2_method_is_finite>` on the :ref:`position<class_AABB_property_position>` and the :ref:`size<class_AABB_property_size>`.
 
 .. rst-class:: classref-item-separator
 
@@ -554,7 +716,7 @@ Returns ``true`` if this **AABB** is finite, by calling :ref:`@GlobalScope.is_fi
 
 :ref:`AABB<class_AABB>` **merge** **(** :ref:`AABB<class_AABB>` with **)** |const|
 
-Returns a larger **AABB** that contains both this **AABB** and ``with``.
+Returns an **AABB** that encloses both this bounding box and ``with`` around the edges. See also :ref:`encloses<class_AABB_method_encloses>`.
 
 .. rst-class:: classref-section-separator
 
@@ -571,7 +733,7 @@ Operator Descriptions
 
 :ref:`bool<class_bool>` **operator !=** **(** :ref:`AABB<class_AABB>` right **)**
 
-Returns ``true`` if the AABBs are not equal.
+Returns ``true`` if the :ref:`position<class_AABB_property_position>` or :ref:`size<class_AABB_property_size>` of both bounding boxes 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.
 
@@ -601,7 +763,7 @@ For transforming by inverse of an affine transformation (e.g. with scaling) ``tr
 
 :ref:`bool<class_bool>` **operator ==** **(** :ref:`AABB<class_AABB>` right **)**
 
-Returns ``true`` if the AABBs are exactly equal.
+Returns ``true`` if both :ref:`position<class_AABB_property_position>` and :ref:`size<class_AABB_property_size>` of the bounding boxes are exactly equal, respectively.
 
 \ **Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_AABB_method_is_equal_approx>` instead, which is more reliable.
 

+ 2 - 2
classes/class_acceptdialog.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AcceptDialog.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AcceptDialog.xml.
 
 .. _class_AcceptDialog:
 

+ 2 - 2
classes/class_aescontext.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AESContext.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AESContext.xml.
 
 .. _class_AESContext:
 

+ 2 - 2
classes/class_animatablebody2d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimatableBody2D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimatableBody2D.xml.
 
 .. _class_AnimatableBody2D:
 

+ 2 - 2
classes/class_animatablebody3d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimatableBody3D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimatableBody3D.xml.
 
 .. _class_AnimatableBody3D:
 

+ 2 - 2
classes/class_animatedsprite2d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimatedSprite2D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimatedSprite2D.xml.
 
 .. _class_AnimatedSprite2D:
 

+ 2 - 2
classes/class_animatedsprite3d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimatedSprite3D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimatedSprite3D.xml.
 
 .. _class_AnimatedSprite3D:
 

+ 2 - 2
classes/class_animatedtexture.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimatedTexture.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimatedTexture.xml.
 
 .. _class_AnimatedTexture:
 

+ 8 - 6
classes/class_animation.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Animation.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/Animation.xml.
 
 .. _class_Animation:
 
@@ -27,22 +27,24 @@ This resource holds data that can be used to animate anything in the engine. Ani
  .. code-tab:: gdscript
 
     # This creates an animation that makes the node "Enemy" move to the right by
-    # 100 pixels in 0.5 seconds.
+    # 100 pixels in 2.0 seconds.
     var animation = Animation.new()
     var track_index = animation.add_track(Animation.TYPE_VALUE)
     animation.track_set_path(track_index, "Enemy:position:x")
     animation.track_insert_key(track_index, 0.0, 0)
-    animation.track_insert_key(track_index, 0.5, 100)
+    animation.track_insert_key(track_index, 2.0, 100)
+    animation.length = 2.0
 
  .. code-tab:: csharp
 
     // This creates an animation that makes the node "Enemy" move to the right by
-    // 100 pixels in 0.5 seconds.
+    // 100 pixels in 2.0 seconds.
     var animation = new Animation();
     int trackIndex = animation.AddTrack(Animation.TrackType.Value);
     animation.TrackSetPath(trackIndex, "Enemy:position:x");
     animation.TrackInsertKey(trackIndex, 0.0f, 0);
-    animation.TrackInsertKey(trackIndex, 0.5f, 100);
+    animation.TrackInsertKey(trackIndex, 2.0f, 100);
+    animation.Length = 2.0f;
 
 
 

+ 2 - 2
classes/class_animationlibrary.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationLibrary.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationLibrary.xml.
 
 .. _class_AnimationLibrary:
 

+ 2 - 2
classes/class_animationmixer.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationMixer.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationMixer.xml.
 
 .. _class_AnimationMixer:
 

+ 4 - 4
classes/class_animationnode.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNode.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNode.xml.
 
 .. _class_AnimationNode:
 
@@ -245,7 +245,7 @@ When inheriting from :ref:`AnimationRootNode<class_AnimationRootNode>`, implemen
 
 :ref:`Dictionary<class_Dictionary>` **_get_child_nodes** **(** **)** |virtual| |const|
 
-When inheriting from :ref:`AnimationRootNode<class_AnimationRootNode>`, implement this virtual method to return all children animation nodes in order as a ``name: node`` dictionary.
+When inheriting from :ref:`AnimationRootNode<class_AnimationRootNode>`, implement this virtual method to return all child animation nodes in order as a ``name: node`` dictionary.
 
 .. rst-class:: classref-item-separator
 
@@ -359,7 +359,7 @@ Blend an input. This is only useful for animation nodes created for an :ref:`Ani
 
 :ref:`float<class_float>` **blend_node** **(** :ref:`StringName<class_StringName>` name, :ref:`AnimationNode<class_AnimationNode>` node, :ref:`float<class_float>` time, :ref:`bool<class_bool>` seek, :ref:`bool<class_bool>` is_external_seeking, :ref:`float<class_float>` blend, :ref:`FilterAction<enum_AnimationNode_FilterAction>` filter=0, :ref:`bool<class_bool>` sync=true, :ref:`bool<class_bool>` test_only=false **)**
 
-Blend another animation node (in case this animation node contains children animation nodes). This function is only useful if you inherit from :ref:`AnimationRootNode<class_AnimationRootNode>` instead, else editors will not display your animation node for addition.
+Blend another animation node (in case this animation node contains child animation nodes). This function is only useful if you inherit from :ref:`AnimationRootNode<class_AnimationRootNode>` instead, otherwise editors will not display your animation node for addition.
 
 .. rst-class:: classref-item-separator
 

+ 2 - 2
classes/class_animationnodeadd2.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeAdd2.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeAdd2.xml.
 
 .. _class_AnimationNodeAdd2:
 

+ 2 - 2
classes/class_animationnodeadd3.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeAdd3.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeAdd3.xml.
 
 .. _class_AnimationNodeAdd3:
 

+ 2 - 2
classes/class_animationnodeanimation.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeAnimation.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeAnimation.xml.
 
 .. _class_AnimationNodeAnimation:
 

+ 2 - 2
classes/class_animationnodeblend2.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeBlend2.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeBlend2.xml.
 
 .. _class_AnimationNodeBlend2:
 

+ 2 - 2
classes/class_animationnodeblend3.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeBlend3.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeBlend3.xml.
 
 .. _class_AnimationNodeBlend3:
 

+ 2 - 2
classes/class_animationnodeblendspace1d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeBlendSpace1D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeBlendSpace1D.xml.
 
 .. _class_AnimationNodeBlendSpace1D:
 

+ 2 - 2
classes/class_animationnodeblendspace2d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeBlendSpace2D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeBlendSpace2D.xml.
 
 .. _class_AnimationNodeBlendSpace2D:
 

+ 2 - 2
classes/class_animationnodeblendtree.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeBlendTree.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeBlendTree.xml.
 
 .. _class_AnimationNodeBlendTree:
 

+ 2 - 2
classes/class_animationnodeoneshot.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeOneShot.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeOneShot.xml.
 
 .. _class_AnimationNodeOneShot:
 

+ 2 - 2
classes/class_animationnodeoutput.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeOutput.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeOutput.xml.
 
 .. _class_AnimationNodeOutput:
 

+ 3 - 3
classes/class_animationnodestatemachine.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeStateMachine.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeStateMachine.xml.
 
 .. _class_AnimationNodeStateMachine:
 
@@ -146,7 +146,7 @@ Seeking to the beginning is treated as seeking to the beginning of the animation
 
 :ref:`StateMachineType<enum_AnimationNodeStateMachine_StateMachineType>` **STATE_MACHINE_TYPE_GROUPED** = ``2``
 
-This is a grouped state machine that can be controlled from a parent state machine. It does not work on standalone. There must be a state machine with :ref:`state_machine_type<class_AnimationNodeStateMachine_property_state_machine_type>` of :ref:`STATE_MACHINE_TYPE_ROOT<class_AnimationNodeStateMachine_constant_STATE_MACHINE_TYPE_ROOT>` or :ref:`STATE_MACHINE_TYPE_NESTED<class_AnimationNodeStateMachine_constant_STATE_MACHINE_TYPE_NESTED>` in the parent or ancestor.
+This is a grouped state machine that can be controlled from a parent state machine. It does not work independently. There must be a state machine with :ref:`state_machine_type<class_AnimationNodeStateMachine_property_state_machine_type>` of :ref:`STATE_MACHINE_TYPE_ROOT<class_AnimationNodeStateMachine_constant_STATE_MACHINE_TYPE_ROOT>` or :ref:`STATE_MACHINE_TYPE_NESTED<class_AnimationNodeStateMachine_constant_STATE_MACHINE_TYPE_NESTED>` in the parent or ancestor.
 
 .. rst-class:: classref-section-separator
 

+ 2 - 2
classes/class_animationnodestatemachineplayback.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeStateMachinePlayback.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeStateMachinePlayback.xml.
 
 .. _class_AnimationNodeStateMachinePlayback:
 

+ 2 - 2
classes/class_animationnodestatemachinetransition.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeStateMachineTransition.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeStateMachineTransition.xml.
 
 .. _class_AnimationNodeStateMachineTransition:
 

+ 2 - 2
classes/class_animationnodesub2.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeSub2.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeSub2.xml.
 
 .. _class_AnimationNodeSub2:
 

+ 2 - 2
classes/class_animationnodesync.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeSync.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeSync.xml.
 
 .. _class_AnimationNodeSync:
 

+ 3 - 3
classes/class_animationnodetimescale.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeTimeScale.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeTimeScale.xml.
 
 .. _class_AnimationNodeTimeScale:
 
@@ -19,7 +19,7 @@ A time-scaling animation node used in :ref:`AnimationTree<class_AnimationTree>`.
 Description
 -----------
 
-Allows to scale the speed of the animation (or reverse it) in any children :ref:`AnimationNode<class_AnimationNode>`\ s. Setting it to ``0.0`` will pause the animation.
+Allows to scale the speed of the animation (or reverse it) in any child :ref:`AnimationNode<class_AnimationNode>`\ s. Setting it to ``0.0`` will pause the animation.
 
 .. rst-class:: classref-introduction-group
 

+ 2 - 2
classes/class_animationnodetimeseek.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeTimeSeek.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeTimeSeek.xml.
 
 .. _class_AnimationNodeTimeSeek:
 

+ 2 - 2
classes/class_animationnodetransition.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeTransition.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationNodeTransition.xml.
 
 .. _class_AnimationNodeTransition:
 

+ 2 - 2
classes/class_animationplayer.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationPlayer.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationPlayer.xml.
 
 .. _class_AnimationPlayer:
 

+ 2 - 2
classes/class_animationrootnode.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationRootNode.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationRootNode.xml.
 
 .. _class_AnimationRootNode:
 

+ 2 - 2
classes/class_animationtree.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationTree.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AnimationTree.xml.
 
 .. _class_AnimationTree:
 

+ 2 - 2
classes/class_area2d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Area2D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/Area2D.xml.
 
 .. _class_Area2D:
 

+ 2 - 2
classes/class_area3d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Area3D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/Area3D.xml.
 
 .. _class_Area3D:
 

+ 47 - 7
classes/class_array.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Array.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/Array.xml.
 
 .. _class_Array:
 
@@ -259,7 +259,37 @@ Constructs an empty **Array**.
 
 :ref:`Array<class_Array>` **Array** **(** :ref:`Array<class_Array>` base, :ref:`int<class_int>` type, :ref:`StringName<class_StringName>` class_name, :ref:`Variant<class_Variant>` script **)**
 
-Creates a typed array from the ``base`` array.
+Creates a typed array from the ``base`` array. All arguments are required.
+
+- ``type`` is the built-in type as a :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` constant, for example :ref:`@GlobalScope.TYPE_INT<class_@GlobalScope_constant_TYPE_INT>`.
+
+- ``class_name`` is the **native** class name, for example :ref:`Node<class_Node>`. If ``type`` is not :ref:`@GlobalScope.TYPE_OBJECT<class_@GlobalScope_constant_TYPE_OBJECT>`, must be an empty string.
+
+- ``script`` is the associated script. Must be a :ref:`Script<class_Script>` instance or ``null``.
+
+Examples:
+
+::
+
+    class_name MyNode
+    extends Node
+    
+    class MyClass:
+        pass
+    
+    func _ready():
+        var a = Array([], TYPE_INT, &"", null) # Array[int]
+        var b = Array([], TYPE_OBJECT, &"Node", null) # Array[Node]
+        var c = Array([], TYPE_OBJECT, &"Node", MyNode) # Array[MyNode]
+        var d = Array([], TYPE_OBJECT, &"RefCounted", MyClass) # Array[MyClass]
+
+\ **Note:** This constructor can be useful if you want to create a typed array on the fly, but you are not required to use it. In GDScript you can use a temporary variable with the static type you need and then pass it:
+
+::
+
+    func _ready():
+        var a: Array[int] = []
+        some_func(a)
 
 .. rst-class:: classref-item-separator
 
@@ -501,6 +531,12 @@ 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.
 
+::
+
+    var array = ["a", "b", "c", "c", "d", "e"]
+    print(array.bsearch("c", true))  # Prints 2, at the first matching element.
+    print(array.bsearch("c", false)) # Prints 4, after the last matching element, pointing to "d".
+
 \ **Note:** Calling :ref:`bsearch<class_Array_method_bsearch>` on an unsorted array results in unexpected behavior.
 
 .. rst-class:: classref-item-separator
@@ -515,6 +551,8 @@ 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:** The custom method must accept the two arguments in any order, you cannot rely on that the first argument will always be from the array.
+
 \ **Note:** Calling :ref:`bsearch_custom<class_Array_method_bsearch_custom>` on an unsorted array results in unexpected behavior.
 
 .. rst-class:: classref-item-separator
@@ -665,7 +703,7 @@ Returns the first element of the array. Prints an error and returns ``null`` if
 
 :ref:`int<class_int>` **get_typed_builtin** **(** **)** |const|
 
-Returns the :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` constant for a typed array. If the **Array** is not typed, returns :ref:`@GlobalScope.TYPE_NIL<class_@GlobalScope_constant_TYPE_NIL>`.
+Returns the built-in type of the typed array as a :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` constant. If the array is not typed, returns :ref:`@GlobalScope.TYPE_NIL<class_@GlobalScope_constant_TYPE_NIL>`.
 
 .. rst-class:: classref-item-separator
 
@@ -677,7 +715,7 @@ Returns the :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` constant for a t
 
 :ref:`StringName<class_StringName>` **get_typed_class_name** **(** **)** |const|
 
-Returns a class name of a typed **Array** of type :ref:`@GlobalScope.TYPE_OBJECT<class_@GlobalScope_constant_TYPE_OBJECT>`.
+Returns the **native** class name of the typed array if the built-in type is :ref:`@GlobalScope.TYPE_OBJECT<class_@GlobalScope_constant_TYPE_OBJECT>`. Otherwise, this method returns an empty string.
 
 .. rst-class:: classref-item-separator
 
@@ -689,7 +727,7 @@ Returns a class name of a typed **Array** of type :ref:`@GlobalScope.TYPE_OBJECT
 
 :ref:`Variant<class_Variant>` **get_typed_script** **(** **)** |const|
 
-Returns the script associated with a typed array tied to a class name.
+Returns the script associated with the typed array. This method returns a :ref:`Script<class_Script>` instance or ``null``.
 
 .. rst-class:: classref-item-separator
 
@@ -936,7 +974,7 @@ Returns a random value from the target array. Prints an error and returns ``null
 
 :ref:`Variant<class_Variant>` **pop_at** **(** :ref:`int<class_int>` position **)**
 
-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.
+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 unchanged 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.
 
@@ -1047,6 +1085,8 @@ Removes an element from the array by index. If the index does not exist in the a
 
 Resizes the array to contain a different number of elements. If the array size is smaller, elements are cleared, if bigger, new elements are ``null``. Returns :ref:`@GlobalScope.OK<class_@GlobalScope_constant_OK>` on success, or one of the other :ref:`Error<enum_@GlobalScope_Error>` values if the operation failed.
 
+Calling :ref:`resize<class_Array_method_resize>` once and assigning the new values is faster than adding new elements one by one.
+
 \ **Note:** This method acts in-place and doesn't return a modified array.
 
 .. rst-class:: classref-item-separator

+ 2 - 2
classes/class_arraymesh.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ArrayMesh.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/ArrayMesh.xml.
 
 .. _class_ArrayMesh:
 

+ 2 - 2
classes/class_arrayoccluder3d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ArrayOccluder3D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/ArrayOccluder3D.xml.
 
 .. _class_ArrayOccluder3D:
 

+ 2 - 2
classes/class_aspectratiocontainer.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AspectRatioContainer.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AspectRatioContainer.xml.
 
 .. _class_AspectRatioContainer:
 

+ 2 - 2
classes/class_astar2d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AStar2D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AStar2D.xml.
 
 .. _class_AStar2D:
 

+ 2 - 2
classes/class_astar3d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AStar3D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AStar3D.xml.
 
 .. _class_AStar3D:
 

+ 3 - 3
classes/class_astargrid2d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AStarGrid2D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AStarGrid2D.xml.
 
 .. _class_AStarGrid2D:
 
@@ -492,7 +492,7 @@ Returns an array with the IDs of the points that form the path found by AStar2D
 
 Returns an array with the points that are in the path found by **AStarGrid2D** 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:`PackedVector2Array<class_PackedVector2Array>` and will print an error message.
 
 .. rst-class:: classref-item-separator
 

+ 2 - 2
classes/class_atlastexture.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AtlasTexture.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AtlasTexture.xml.
 
 .. _class_AtlasTexture:
 

+ 2 - 2
classes/class_audiobuslayout.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioBusLayout.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioBusLayout.xml.
 
 .. _class_AudioBusLayout:
 

+ 2 - 2
classes/class_audioeffect.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffect.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffect.xml.
 
 .. _class_AudioEffect:
 

+ 2 - 2
classes/class_audioeffectamplify.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectAmplify.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectAmplify.xml.
 
 .. _class_AudioEffectAmplify:
 

+ 2 - 2
classes/class_audioeffectbandlimitfilter.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectBandLimitFilter.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectBandLimitFilter.xml.
 
 .. _class_AudioEffectBandLimitFilter:
 

+ 2 - 2
classes/class_audioeffectbandpassfilter.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectBandPassFilter.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectBandPassFilter.xml.
 
 .. _class_AudioEffectBandPassFilter:
 

+ 2 - 2
classes/class_audioeffectcapture.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectCapture.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectCapture.xml.
 
 .. _class_AudioEffectCapture:
 

+ 2 - 2
classes/class_audioeffectchorus.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectChorus.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectChorus.xml.
 
 .. _class_AudioEffectChorus:
 

+ 2 - 2
classes/class_audioeffectcompressor.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectCompressor.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectCompressor.xml.
 
 .. _class_AudioEffectCompressor:
 

+ 2 - 2
classes/class_audioeffectdelay.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectDelay.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectDelay.xml.
 
 .. _class_AudioEffectDelay:
 

+ 2 - 2
classes/class_audioeffectdistortion.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectDistortion.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectDistortion.xml.
 
 .. _class_AudioEffectDistortion:
 

+ 2 - 2
classes/class_audioeffecteq.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectEQ.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectEQ.xml.
 
 .. _class_AudioEffectEQ:
 

+ 2 - 2
classes/class_audioeffecteq10.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectEQ10.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectEQ10.xml.
 
 .. _class_AudioEffectEQ10:
 

+ 2 - 2
classes/class_audioeffecteq21.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectEQ21.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectEQ21.xml.
 
 .. _class_AudioEffectEQ21:
 

+ 2 - 2
classes/class_audioeffecteq6.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectEQ6.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectEQ6.xml.
 
 .. _class_AudioEffectEQ6:
 

+ 2 - 2
classes/class_audioeffectfilter.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectFilter.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectFilter.xml.
 
 .. _class_AudioEffectFilter:
 

+ 2 - 2
classes/class_audioeffecthighpassfilter.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectHighPassFilter.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectHighPassFilter.xml.
 
 .. _class_AudioEffectHighPassFilter:
 

+ 2 - 2
classes/class_audioeffecthighshelffilter.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectHighShelfFilter.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectHighShelfFilter.xml.
 
 .. _class_AudioEffectHighShelfFilter:
 

+ 2 - 2
classes/class_audioeffectinstance.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectInstance.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectInstance.xml.
 
 .. _class_AudioEffectInstance:
 

+ 2 - 2
classes/class_audioeffectlimiter.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectLimiter.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectLimiter.xml.
 
 .. _class_AudioEffectLimiter:
 

+ 2 - 2
classes/class_audioeffectlowpassfilter.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectLowPassFilter.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectLowPassFilter.xml.
 
 .. _class_AudioEffectLowPassFilter:
 

+ 2 - 2
classes/class_audioeffectlowshelffilter.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectLowShelfFilter.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectLowShelfFilter.xml.
 
 .. _class_AudioEffectLowShelfFilter:
 

+ 2 - 2
classes/class_audioeffectnotchfilter.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectNotchFilter.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectNotchFilter.xml.
 
 .. _class_AudioEffectNotchFilter:
 

+ 2 - 2
classes/class_audioeffectpanner.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectPanner.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectPanner.xml.
 
 .. _class_AudioEffectPanner:
 

+ 2 - 2
classes/class_audioeffectphaser.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectPhaser.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectPhaser.xml.
 
 .. _class_AudioEffectPhaser:
 

+ 3 - 3
classes/class_audioeffectpitchshift.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectPitchShift.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectPitchShift.xml.
 
 .. _class_AudioEffectPitchShift:
 
@@ -163,7 +163,7 @@ The oversampling factor to use. Higher values result in better quality, but are
 - void **set_pitch_scale** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_pitch_scale** **(** **)**
 
-The pitch scale to use. ``1.0`` is the default pitch and plays sounds unaltered. :ref:`pitch_scale<class_AudioEffectPitchShift_property_pitch_scale>` can range from ``0.0`` (infinitely low pitch, inaudible) to ``16`` (16 times higher than the initial pitch).
+The pitch scale to use. ``1.0`` is the default pitch and plays sounds unaffected. :ref:`pitch_scale<class_AudioEffectPitchShift_property_pitch_scale>` can range from ``0.0`` (infinitely low pitch, inaudible) to ``16`` (16 times higher than the initial pitch).
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 2 - 2
classes/class_audioeffectrecord.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectRecord.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectRecord.xml.
 
 .. _class_AudioEffectRecord:
 

+ 2 - 2
classes/class_audioeffectreverb.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectReverb.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectReverb.xml.
 
 .. _class_AudioEffectReverb:
 

+ 2 - 2
classes/class_audioeffectspectrumanalyzer.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectSpectrumAnalyzer.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectSpectrumAnalyzer.xml.
 
 .. _class_AudioEffectSpectrumAnalyzer:
 

+ 2 - 2
classes/class_audioeffectspectrumanalyzerinstance.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectSpectrumAnalyzerInstance.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectSpectrumAnalyzerInstance.xml.
 
 .. _class_AudioEffectSpectrumAnalyzerInstance:
 

+ 2 - 2
classes/class_audioeffectstereoenhance.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectStereoEnhance.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioEffectStereoEnhance.xml.
 
 .. _class_AudioEffectStereoEnhance:
 

+ 2 - 2
classes/class_audiolistener2d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioListener2D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioListener2D.xml.
 
 .. _class_AudioListener2D:
 

+ 2 - 2
classes/class_audiolistener3d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioListener3D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioListener3D.xml.
 
 .. _class_AudioListener3D:
 

+ 4 - 4
classes/class_audioserver.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioServer.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioServer.xml.
 
 .. _class_AudioServer:
 
@@ -744,9 +744,9 @@ Sets the volume of the bus at index ``bus_idx`` to ``volume_db``.
 
 void **set_enable_tagging_used_audio_streams** **(** :ref:`bool<class_bool>` enable **)**
 
-.. container:: contribute
+If set to ``true``, all instances of :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` will call :ref:`AudioStreamPlayback._tag_used_streams<class_AudioStreamPlayback_private_method__tag_used_streams>` every mix step.
 
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** This is enabled by default in the editor, as it is used by editor plugins for the audio stream previews.
 
 .. rst-class:: classref-item-separator
 

+ 12 - 20
classes/class_audiostream.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStream.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioStream.xml.
 
 .. _class_AudioStream:
 
@@ -79,9 +79,9 @@ Method Descriptions
 
 :ref:`int<class_int>` **_get_beat_count** **(** **)** |virtual| |const|
 
-.. container:: contribute
+Overridable method. Should return the total number of beats of this audio stream. Used by the engine to determine the position of every beat.
 
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Ideally, the returned value should be based off the stream's sample rate (:ref:`AudioStreamWAV.mix_rate<class_AudioStreamWAV_property_mix_rate>`, for example).
 
 .. rst-class:: classref-item-separator
 
@@ -93,9 +93,9 @@ Method Descriptions
 
 :ref:`float<class_float>` **_get_bpm** **(** **)** |virtual| |const|
 
-.. container:: contribute
+Overridable method. Should return the tempo of this audio stream, in beats per minute (BPM). Used by the engine to determine the position of every beat.
 
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Ideally, the returned value should be based off the stream's sample rate (:ref:`AudioStreamWAV.mix_rate<class_AudioStreamWAV_property_mix_rate>`, for example).
 
 .. rst-class:: classref-item-separator
 
@@ -107,9 +107,7 @@ Method Descriptions
 
 :ref:`float<class_float>` **_get_length** **(** **)** |virtual| |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override this method to customize the returned value of :ref:`get_length<class_AudioStream_method_get_length>`. Should return the length of this audio stream, in seconds.
 
 .. rst-class:: classref-item-separator
 
@@ -121,9 +119,7 @@ Method Descriptions
 
 :ref:`String<class_String>` **_get_stream_name** **(** **)** |virtual| |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override this method to customize the name assigned to this audio stream. Unused by the engine.
 
 .. rst-class:: classref-item-separator
 
@@ -135,9 +131,7 @@ Method Descriptions
 
 :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` **_instantiate_playback** **(** **)** |virtual| |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override this method to customize the returned value of :ref:`instantiate_playback<class_AudioStream_method_instantiate_playback>`. Should returned a new :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` created when the stream is played (such as by an :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`)..
 
 .. rst-class:: classref-item-separator
 
@@ -149,9 +143,7 @@ Method Descriptions
 
 :ref:`bool<class_bool>` **_is_monophonic** **(** **)** |virtual| |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override this method to customize the returned value of :ref:`is_monophonic<class_AudioStream_method_is_monophonic>`. Should return ``true`` if this audio stream only supports one channel.
 
 .. rst-class:: classref-item-separator
 
@@ -175,7 +167,7 @@ Returns the length of the audio stream in seconds.
 
 :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` **instantiate_playback** **(** **)**
 
-Returns an AudioStreamPlayback. Useful for when you want to extend :ref:`_instantiate_playback<class_AudioStream_private_method__instantiate_playback>` but call :ref:`instantiate_playback<class_AudioStream_method_instantiate_playback>` from an internally held AudioStream subresource. An example of this can be found in the source files for ``AudioStreamRandomPitch::instantiate_playback``.
+Returns a newly created :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` intended to play this audio stream. Useful for when you want to extend :ref:`_instantiate_playback<class_AudioStream_private_method__instantiate_playback>` but call :ref:`instantiate_playback<class_AudioStream_method_instantiate_playback>` from an internally held AudioStream subresource. An example of this can be found in the source code for ``AudioStreamRandomPitch::instantiate_playback``.
 
 .. rst-class:: classref-item-separator
 
@@ -187,7 +179,7 @@ Returns an AudioStreamPlayback. Useful for when you want to extend :ref:`_instan
 
 :ref:`bool<class_bool>` **is_monophonic** **(** **)** |const|
 
-Returns true if this audio stream only supports monophonic playback, or false if the audio stream supports polyphony.
+Returns ``true`` if this audio stream only supports one channel (*monophony*), or ``false`` if the audio stream supports two or more channels (*polyphony*).
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 2 - 2
classes/class_audiostreamgenerator.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamGenerator.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioStreamGenerator.xml.
 
 .. _class_AudioStreamGenerator:
 

+ 2 - 2
classes/class_audiostreamgeneratorplayback.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamGeneratorPlayback.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioStreamGeneratorPlayback.xml.
 
 .. _class_AudioStreamGeneratorPlayback:
 

+ 2 - 2
classes/class_audiostreammicrophone.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamMicrophone.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioStreamMicrophone.xml.
 
 .. _class_AudioStreamMicrophone:
 

+ 2 - 2
classes/class_audiostreammp3.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/modules/minimp3/doc_classes/AudioStreamMP3.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/modules/minimp3/doc_classes/AudioStreamMP3.xml.
 
 .. _class_AudioStreamMP3:
 

+ 2 - 2
classes/class_audiostreamoggvorbis.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/modules/vorbis/doc_classes/AudioStreamOggVorbis.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/modules/vorbis/doc_classes/AudioStreamOggVorbis.xml.
 
 .. _class_AudioStreamOggVorbis:
 

+ 11 - 25
classes/class_audiostreamplayback.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPlayback.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioStreamPlayback.xml.
 
 .. _class_AudioStreamPlayback:
 
@@ -71,9 +71,7 @@ Method Descriptions
 
 :ref:`int<class_int>` **_get_loop_count** **(** **)** |virtual| |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Overridable method. Should return how many times this audio stream has looped. Most built-in playbacks always return ``0``.
 
 .. rst-class:: classref-item-separator
 
@@ -85,9 +83,7 @@ Method Descriptions
 
 :ref:`float<class_float>` **_get_playback_position** **(** **)** |virtual| |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Overridable method. Should return the current progress along the audio stream, in seconds.
 
 .. rst-class:: classref-item-separator
 
@@ -99,9 +95,7 @@ Method Descriptions
 
 :ref:`bool<class_bool>` **_is_playing** **(** **)** |virtual| |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Overridable method. Should return ``true`` if this playback is active and playing its audio stream.
 
 .. rst-class:: classref-item-separator
 
@@ -113,9 +107,9 @@ Method Descriptions
 
 :ref:`int<class_int>` **_mix** **(** AudioFrame* buffer, :ref:`float<class_float>` rate_scale, :ref:`int<class_int>` frames **)** |virtual|
 
-.. container:: contribute
+Override this method to customize how the audio stream is mixed. This method is called even if the playback is not active.
 
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** It is not useful to override this method in GDScript or C#. Only GDExtension can take advantage of it.
 
 .. rst-class:: classref-item-separator
 
@@ -127,9 +121,7 @@ Method Descriptions
 
 void **_seek** **(** :ref:`float<class_float>` position **)** |virtual|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override this method to customize what happens when seeking this audio stream at the given ``position``, such as by calling :ref:`AudioStreamPlayer.seek<class_AudioStreamPlayer_method_seek>`.
 
 .. rst-class:: classref-item-separator
 
@@ -141,9 +133,7 @@ void **_seek** **(** :ref:`float<class_float>` position **)** |virtual|
 
 void **_start** **(** :ref:`float<class_float>` from_pos **)** |virtual|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override this method to customize what happens when the playback starts at the given position, such as by calling :ref:`AudioStreamPlayer.play<class_AudioStreamPlayer_method_play>`.
 
 .. rst-class:: classref-item-separator
 
@@ -155,9 +145,7 @@ void **_start** **(** :ref:`float<class_float>` from_pos **)** |virtual|
 
 void **_stop** **(** **)** |virtual|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override this method to customize what happens when the playback is stopped, such as by calling :ref:`AudioStreamPlayer.stop<class_AudioStreamPlayer_method_stop>`.
 
 .. rst-class:: classref-item-separator
 
@@ -169,9 +157,7 @@ void **_stop** **(** **)** |virtual|
 
 void **_tag_used_streams** **(** **)** |virtual|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Overridable method. Called whenever the audio stream is mixed if the playback is active and :ref:`AudioServer.set_enable_tagging_used_audio_streams<class_AudioServer_method_set_enable_tagging_used_audio_streams>` has been set to ``true``. Editor plugins may use this method to "tag" the current position along the audio stream and display it in a preview.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 2 - 2
classes/class_audiostreamplaybackoggvorbis.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/modules/vorbis/doc_classes/AudioStreamPlaybackOggVorbis.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/modules/vorbis/doc_classes/AudioStreamPlaybackOggVorbis.xml.
 
 .. _class_AudioStreamPlaybackOggVorbis:
 

+ 2 - 2
classes/class_audiostreamplaybackpolyphonic.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPlaybackPolyphonic.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioStreamPlaybackPolyphonic.xml.
 
 .. _class_AudioStreamPlaybackPolyphonic:
 

+ 2 - 2
classes/class_audiostreamplaybackresampled.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPlaybackResampled.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioStreamPlaybackResampled.xml.
 
 .. _class_AudioStreamPlaybackResampled:
 

+ 2 - 2
classes/class_audiostreamplayer.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPlayer.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioStreamPlayer.xml.
 
 .. _class_AudioStreamPlayer:
 

+ 2 - 2
classes/class_audiostreamplayer2d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPlayer2D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioStreamPlayer2D.xml.
 
 .. _class_AudioStreamPlayer2D:
 

+ 2 - 2
classes/class_audiostreamplayer3d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPlayer3D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioStreamPlayer3D.xml.
 
 .. _class_AudioStreamPlayer3D:
 

+ 2 - 2
classes/class_audiostreampolyphonic.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPolyphonic.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioStreamPolyphonic.xml.
 
 .. _class_AudioStreamPolyphonic:
 

+ 2 - 2
classes/class_audiostreamrandomizer.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamRandomizer.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioStreamRandomizer.xml.
 
 .. _class_AudioStreamRandomizer:
 

+ 2 - 2
classes/class_audiostreamwav.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamWAV.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/AudioStreamWAV.xml.
 
 .. _class_AudioStreamWAV:
 

+ 2 - 2
classes/class_backbuffercopy.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BackBufferCopy.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/BackBufferCopy.xml.
 
 .. _class_BackBufferCopy:
 

+ 2 - 2
classes/class_basebutton.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BaseButton.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/BaseButton.xml.
 
 .. _class_BaseButton:
 

+ 9 - 9
classes/class_basematerial3d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BaseMaterial3D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/BaseMaterial3D.xml.
 
 .. _class_BaseMaterial3D:
 
@@ -479,7 +479,7 @@ enum **TextureFilter**:
 
 :ref:`TextureFilter<enum_BaseMaterial3D_TextureFilter>` **TEXTURE_FILTER_NEAREST** = ``0``
 
-The texture filter reads from the nearest pixel only. The simplest and fastest method of filtering, but the texture will look pixelized.
+The texture filter reads from the nearest pixel only. This makes the texture look pixelated from up close, and grainy from a distance (due to mipmaps not being sampled).
 
 .. _class_BaseMaterial3D_constant_TEXTURE_FILTER_LINEAR:
 
@@ -487,7 +487,7 @@ The texture filter reads from the nearest pixel only. The simplest and fastest m
 
 :ref:`TextureFilter<enum_BaseMaterial3D_TextureFilter>` **TEXTURE_FILTER_LINEAR** = ``1``
 
-The texture filter blends between the nearest 4 pixels. Use this when you want to avoid a pixelated style, but do not want mipmaps.
+The texture filter blends between the nearest 4 pixels. This makes the texture look smooth from up close, and grainy from a distance (due to mipmaps not being sampled).
 
 .. _class_BaseMaterial3D_constant_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS:
 
@@ -495,7 +495,7 @@ The texture filter blends between the nearest 4 pixels. Use this when you want t
 
 :ref:`TextureFilter<enum_BaseMaterial3D_TextureFilter>` **TEXTURE_FILTER_NEAREST_WITH_MIPMAPS** = ``2``
 
-The texture filter reads from the nearest pixel in the nearest mipmap. The fastest way to read from textures with mipmaps.
+The texture filter reads from the nearest pixel and blends between the nearest 2 mipmaps (or uses the nearest mipmap if :ref:`ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter<class_ProjectSettings_property_rendering/textures/default_filters/use_nearest_mipmap_filter>` is ``true``). This makes the texture look pixelated from up close, and smooth from a distance.
 
 .. _class_BaseMaterial3D_constant_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS:
 
@@ -503,7 +503,7 @@ The texture filter reads from the nearest pixel in the nearest mipmap. The faste
 
 :ref:`TextureFilter<enum_BaseMaterial3D_TextureFilter>` **TEXTURE_FILTER_LINEAR_WITH_MIPMAPS** = ``3``
 
-The texture filter blends between the nearest 4 pixels and between the nearest 2 mipmaps. Use this for most cases as mipmaps are important to smooth out pixels that are far from the camera.
+The texture filter blends between the nearest 4 pixels and between the nearest 2 mipmaps (or uses the nearest mipmap if :ref:`ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter<class_ProjectSettings_property_rendering/textures/default_filters/use_nearest_mipmap_filter>` is ``true``). This makes the texture look smooth from up close, and smooth from a distance.
 
 .. _class_BaseMaterial3D_constant_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC:
 
@@ -511,7 +511,7 @@ The texture filter blends between the nearest 4 pixels and between the nearest 2
 
 :ref:`TextureFilter<enum_BaseMaterial3D_TextureFilter>` **TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC** = ``4``
 
-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. The anisotropic filtering level can be changed by adjusting :ref:`ProjectSettings.rendering/textures/default_filters/anisotropic_filtering_level<class_ProjectSettings_property_rendering/textures/default_filters/anisotropic_filtering_level>`.
+The texture filter reads from the nearest pixel and blends between 2 mipmaps (or uses the nearest mipmap if :ref:`ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter<class_ProjectSettings_property_rendering/textures/default_filters/use_nearest_mipmap_filter>` is ``true``) based on the angle between the surface and the camera view. This makes the texture look pixelated from up close, and smooth from a distance. Anisotropic filtering improves texture quality on surfaces that are almost in line with the camera, but is slightly slower. The anisotropic filtering level can be changed by adjusting :ref:`ProjectSettings.rendering/textures/default_filters/anisotropic_filtering_level<class_ProjectSettings_property_rendering/textures/default_filters/anisotropic_filtering_level>`.
 
 .. _class_BaseMaterial3D_constant_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC:
 
@@ -519,7 +519,7 @@ The texture filter reads from the nearest pixel, but selects a mipmap based on t
 
 :ref:`TextureFilter<enum_BaseMaterial3D_TextureFilter>` **TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC** = ``5``
 
-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. The anisotropic filtering level can be changed by adjusting :ref:`ProjectSettings.rendering/textures/default_filters/anisotropic_filtering_level<class_ProjectSettings_property_rendering/textures/default_filters/anisotropic_filtering_level>`.
+The texture filter blends between the nearest 4 pixels and blends between 2 mipmaps (or uses the nearest mipmap if :ref:`ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter<class_ProjectSettings_property_rendering/textures/default_filters/use_nearest_mipmap_filter>` is ``true``) based on the angle between the surface and the camera view. This makes the texture look smooth from up close, and smooth from a distance. Anisotropic filtering improves texture quality on surfaces that are almost in line with the camera, but is slightly slower. The anisotropic filtering level can be changed by adjusting :ref:`ProjectSettings.rendering/textures/default_filters/anisotropic_filtering_level<class_ProjectSettings_property_rendering/textures/default_filters/anisotropic_filtering_level>`.
 
 .. _class_BaseMaterial3D_constant_TEXTURE_FILTER_MAX:
 
@@ -3108,7 +3108,7 @@ If ``true``, enables subsurface scattering transmittance. Only effective if :ref
 - void **set_texture** **(** :ref:`TextureParam<enum_BaseMaterial3D_TextureParam>` param, :ref:`Texture2D<class_Texture2D>` texture **)**
 - :ref:`Texture2D<class_Texture2D>` **get_texture** **(** :ref:`TextureParam<enum_BaseMaterial3D_TextureParam>` param **)** |const|
 
-The texture to use for multiplying the intensity of the subsurface scattering transmitteance intensity. See also :ref:`subsurf_scatter_texture<class_BaseMaterial3D_property_subsurf_scatter_texture>`. Ignored if :ref:`subsurf_scatter_skin_mode<class_BaseMaterial3D_property_subsurf_scatter_skin_mode>` is ``true``.
+The texture to use for multiplying the intensity of the subsurface scattering transmittance intensity. See also :ref:`subsurf_scatter_texture<class_BaseMaterial3D_property_subsurf_scatter_texture>`. Ignored if :ref:`subsurf_scatter_skin_mode<class_BaseMaterial3D_property_subsurf_scatter_skin_mode>` is ``true``.
 
 .. rst-class:: classref-item-separator
 

+ 336 - 45
classes/class_basis.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Basis.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/Basis.xml.
 
 .. _class_Basis:
 
@@ -17,13 +17,17 @@ A 3×3 matrix for representing 3D rotation and scale.
 Description
 -----------
 
-A 3×3 matrix used for representing 3D rotation and scale. Usually used as an orthogonal basis for a :ref:`Transform3D<class_Transform3D>`.
+The **Basis** built-in :ref:`Variant<class_Variant>` type is a 3x3 `matrix <https://en.wikipedia.org/wiki/Matrix_(mathematics)>`__ used to represent 3D rotation, scale, and shear. It is frequently used within a :ref:`Transform3D<class_Transform3D>`.
 
-Contains 3 vector fields X, Y and Z as its columns, which are typically interpreted as the local basis vectors of a transformation. For such use, it is composed of a scaling and a rotation matrix, in that order (M = R.S).
+A **Basis** is composed by 3 axis vectors, each representing a column of the matrix: :ref:`x<class_Basis_property_x>`, :ref:`y<class_Basis_property_y>`, and :ref:`z<class_Basis_property_z>`. The length of each axis (:ref:`Vector3.length<class_Vector3_method_length>`) influences the basis's scale, while the direction of all axes influence the rotation. Usually, these axes are perpendicular to one another. However, when you rotate any axis individually, the basis becomes sheared. Applying a sheared basis to a 3D model will make the model appear distorted.
 
-Basis can also be accessed as an array of 3D vectors. These vectors are usually orthogonal to each other, but are not necessarily normalized (due to scaling).
+A **Basis** is **orthogonal** if its axes are perpendicular to each other. A basis is **normalized** if the length of every axis is ``1``. A basis is **uniform** if all axes share the same length (see :ref:`get_scale<class_Basis_method_get_scale>`). A basis is **orthonormal** if it is both orthogonal and normalized, which allows it to only represent rotations. A basis is **conformal** if it is both orthogonal and uniform, which ensures it is not distorted.
 
-For more information, read the "Matrices and transforms" documentation article.
+For a general introduction, see the :doc:`Matrices and transforms <../tutorials/math/matrices_and_transforms>` tutorial.
+
+\ **Note:** Godot uses a `right-handed coordinate system <https://en.wikipedia.org/wiki/Right-hand_rule>`__, which is a common standard. For directions, the convention for built-in types like :ref:`Camera3D<class_Camera3D>` is for -Z to point forward (+X is right, +Y is up, and +Z is back). Other objects may use different direction conventions. For more information, see the `Importing 3D Scenes <../tutorials/assets_pipeline/importing_scenes.html#d-asset-direction-conventions>`__ tutorial.
+
+\ **Note:** The basis matrices are exposed as `column-major <https://www.mindcontrol.org/~hplus/graphics/matrix-layout.html>`__ order, which is the same as OpenGL. However, they are stored internally in row-major order, which is the same as DirectX.
 
 .. note::
 
@@ -171,7 +175,26 @@ Constants
 
 **IDENTITY** = ``Basis(1, 0, 0, 0, 1, 0, 0, 0, 1)``
 
-The identity basis, with no rotation or scaling applied.
+The identity basis. This is a basis with no rotation, no shear, and its scale being ``1``. This means that:
+
+- The :ref:`x<class_Basis_property_x>` points right (:ref:`Vector3.RIGHT<class_Vector3_constant_RIGHT>`);
+
+- The :ref:`y<class_Basis_property_y>` points up (:ref:`Vector3.UP<class_Vector3_constant_UP>`);
+
+- The :ref:`z<class_Basis_property_z>` points back (:ref:`Vector3.BACK<class_Vector3_constant_BACK>`).
+
+::
+
+    var basis := Basis.IDENTITY
+    print("| X | Y | Z")
+    print("| %s | %s | %s" % [basis.x.x, basis.y.x, basis.z.x])
+    print("| %s | %s | %s" % [basis.x.y, basis.y.y, basis.z.y])
+    print("| %s | %s | %s" % [basis.x.z, basis.y.z, basis.z.z])
+    # Prints:
+    # | X | Y | Z
+    # | 1 | 0 | 0
+    # | 0 | 1 | 0
+    # | 0 | 0 | 1
 
 This is identical to creating :ref:`Basis<class_Basis_constructor_Basis>` without any parameters. This constant can be used to make your code clearer, and for consistency with C#.
 
@@ -181,7 +204,9 @@ This is identical to creating :ref:`Basis<class_Basis_constructor_Basis>` withou
 
 **FLIP_X** = ``Basis(-1, 0, 0, 0, 1, 0, 0, 0, 1)``
 
-The basis that will flip something along the X axis when used in a transformation.
+When any basis is multiplied by :ref:`FLIP_X<class_Basis_constant_FLIP_X>`, it negates all components of the :ref:`x<class_Basis_property_x>` axis (the X column).
+
+When :ref:`FLIP_X<class_Basis_constant_FLIP_X>` is multiplied by any basis, it negates the :ref:`Vector3.x<class_Vector3_property_x>` component of all axes (the X row).
 
 .. _class_Basis_constant_FLIP_Y:
 
@@ -189,7 +214,9 @@ The basis that will flip something along the X axis when used in a transformatio
 
 **FLIP_Y** = ``Basis(1, 0, 0, 0, -1, 0, 0, 0, 1)``
 
-The basis that will flip something along the Y axis when used in a transformation.
+When any basis is multiplied by :ref:`FLIP_Y<class_Basis_constant_FLIP_Y>`, it negates all components of the :ref:`y<class_Basis_property_y>` axis (the Y column).
+
+When :ref:`FLIP_Y<class_Basis_constant_FLIP_Y>` is multiplied by any basis, it negates the :ref:`Vector3.y<class_Vector3_property_y>` component of all axes (the Y row).
 
 .. _class_Basis_constant_FLIP_Z:
 
@@ -197,7 +224,9 @@ The basis that will flip something along the Y axis when used in a transformatio
 
 **FLIP_Z** = ``Basis(1, 0, 0, 0, 1, 0, 0, 0, -1)``
 
-The basis that will flip something along the Z axis when used in a transformation.
+When any basis is multiplied by :ref:`FLIP_Z<class_Basis_constant_FLIP_Z>`, it negates all components of the :ref:`z<class_Basis_property_z>` axis (the Z column).
+
+When :ref:`FLIP_Z<class_Basis_constant_FLIP_Z>` is multiplied by any basis, it negates the :ref:`Vector3.z<class_Vector3_property_z>` component of all axes (the Z row).
 
 .. rst-class:: classref-section-separator
 
@@ -214,7 +243,9 @@ Property Descriptions
 
 :ref:`Vector3<class_Vector3>` **x** = ``Vector3(1, 0, 0)``
 
-The basis matrix's X vector (column 0). Equivalent to array index ``0``.
+The basis's X axis, and the column ``0`` of the matrix.
+
+On the identity basis, this vector points right (:ref:`Vector3.RIGHT<class_Vector3_constant_RIGHT>`).
 
 .. rst-class:: classref-item-separator
 
@@ -226,7 +257,9 @@ The basis matrix's X vector (column 0). Equivalent to array index ``0``.
 
 :ref:`Vector3<class_Vector3>` **y** = ``Vector3(0, 1, 0)``
 
-The basis matrix's Y vector (column 1). Equivalent to array index ``1``.
+The basis's Y axis, and the column ``1`` of the matrix.
+
+On the identity basis, this vector points up (:ref:`Vector3.UP<class_Vector3_constant_UP>`).
 
 .. rst-class:: classref-item-separator
 
@@ -238,7 +271,9 @@ The basis matrix's Y vector (column 1). Equivalent to array index ``1``.
 
 :ref:`Vector3<class_Vector3>` **z** = ``Vector3(0, 0, 1)``
 
-The basis matrix's Z vector (column 2). Equivalent to array index ``2``.
+The basis's Z axis, and the column ``2`` of the matrix.
+
+On the identity basis, this vector points back (:ref:`Vector3.BACK<class_Vector3_constant_BACK>`).
 
 .. rst-class:: classref-section-separator
 
@@ -255,7 +290,7 @@ Constructor Descriptions
 
 :ref:`Basis<class_Basis>` **Basis** **(** **)**
 
-Constructs a default-initialized **Basis** set to :ref:`IDENTITY<class_Basis_constant_IDENTITY>`.
+Constructs a **Basis** identical to the :ref:`IDENTITY<class_Basis_constant_IDENTITY>`.
 
 .. rst-class:: classref-item-separator
 
@@ -275,7 +310,9 @@ Constructs a **Basis** as a copy of the given **Basis**.
 
 :ref:`Basis<class_Basis>` **Basis** **(** :ref:`Vector3<class_Vector3>` axis, :ref:`float<class_float>` angle **)**
 
-Constructs a pure rotation basis matrix, rotated around the given ``axis`` by ``angle`` (in radians). The axis must be a normalized vector.
+Constructs a **Basis** that only represents rotation, rotated around the ``axis`` by the given ``angle``, in radians. The axis must be a normalized vector.
+
+\ **Note:** This is the same as using :ref:`rotated<class_Basis_method_rotated>` on the :ref:`IDENTITY<class_Basis_constant_IDENTITY>` basis. With more than one angle consider using :ref:`from_euler<class_Basis_method_from_euler>`, instead.
 
 .. rst-class:: classref-item-separator
 
@@ -285,7 +322,9 @@ Constructs a pure rotation basis matrix, rotated around the given ``axis`` by ``
 
 :ref:`Basis<class_Basis>` **Basis** **(** :ref:`Quaternion<class_Quaternion>` from **)**
 
-Constructs a pure rotation basis matrix from the given quaternion.
+Constructs a **Basis** that only represents rotation from the given :ref:`Quaternion<class_Quaternion>`.
+
+\ **Note:** Quaternions *only* store rotation, not scale. Because of this, conversions from **Basis** to :ref:`Quaternion<class_Quaternion>` cannot always be reversed.
 
 .. rst-class:: classref-item-separator
 
@@ -295,7 +334,7 @@ Constructs a pure rotation basis matrix from the given quaternion.
 
 :ref:`Basis<class_Basis>` **Basis** **(** :ref:`Vector3<class_Vector3>` x_axis, :ref:`Vector3<class_Vector3>` y_axis, :ref:`Vector3<class_Vector3>` z_axis **)**
 
-Constructs a basis matrix from 3 axis vectors (matrix columns).
+Constructs a **Basis** from 3 axis vectors. These are the columns of the basis matrix.
 
 .. rst-class:: classref-section-separator
 
@@ -312,9 +351,13 @@ Method Descriptions
 
 :ref:`float<class_float>` **determinant** **(** **)** |const|
 
-Returns the determinant of the basis matrix. If the basis is uniformly scaled, its determinant is the square of the scale.
+Returns the `determinant <https://en.wikipedia.org/wiki/Determinant>`__ of this basis's matrix. For advanced math, this number can be used to determine a few attributes:
+
+- If the determinant is exactly ``0``, the basis is not invertible (see :ref:`inverse<class_Basis_method_inverse>`).
+
+- If the determinant is a negative number, the basis represents a negative scale.
 
-A negative determinant means the basis has a negative scale. A zero determinant means the basis isn't invertible, and is usually considered invalid.
+\ **Note:** If the basis's scale is the same for every axis, its determinant is always that scale by the power of 2.
 
 .. rst-class:: classref-item-separator
 
@@ -326,7 +369,34 @@ A negative determinant means the basis has a negative scale. A zero determinant
 
 :ref:`Basis<class_Basis>` **from_euler** **(** :ref:`Vector3<class_Vector3>` euler, :ref:`int<class_int>` order=2 **)** |static|
 
-Constructs a pure rotation Basis matrix from Euler angles in the specified Euler rotation order. By default, use YXZ order (most common). See the :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` enum for possible values.
+Constructs a new **Basis** that only represents rotation from the given :ref:`Vector3<class_Vector3>` of `Euler angles <https://en.wikipedia.org/wiki/Euler_angles>`__, in radians.
+
+- The :ref:`Vector3.x<class_Vector3_property_x>` should contain the angle around the :ref:`x<class_Basis_property_x>` axis (pitch).
+
+- The :ref:`Vector3.y<class_Vector3_property_y>` should contain the angle around the :ref:`y<class_Basis_property_y>` axis (yaw).
+
+- The :ref:`Vector3.z<class_Vector3_property_z>` should contain the angle around the :ref:`z<class_Basis_property_z>` axis (roll).
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    # Creates a Basis whose z axis points down.
+    var my_basis = Basis.from_euler(Vector3(TAU / 4, 0, 0))
+    
+    print(my_basis.z) # Prints (0, -1, 0).
+
+ .. code-tab:: csharp
+
+    // Creates a Basis whose z axis points down.
+    var myBasis = Basis.FromEuler(new Vector3(Mathf.Tau / 4.0f, 0.0f, 0.0f));
+    
+    GD.Print(myBasis.Z); // Prints (0, -1, 0).
+
+
+
+The order of each consecutive rotation can be changed with ``order`` (see :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` constants). By default, the YXZ convention is used (:ref:`@GlobalScope.EULER_ORDER_YXZ<class_@GlobalScope_constant_EULER_ORDER_YXZ>`): the basis rotates first around the Y axis (yaw), then X (pitch), and lastly Z (roll). When using the opposite method :ref:`get_euler<class_Basis_method_get_euler>`, this order is reversed.
 
 .. rst-class:: classref-item-separator
 
@@ -338,7 +408,30 @@ Constructs a pure rotation Basis matrix from Euler angles in the specified Euler
 
 :ref:`Basis<class_Basis>` **from_scale** **(** :ref:`Vector3<class_Vector3>` scale **)** |static|
 
-Constructs a pure scale basis matrix with no rotation or shearing. The scale values are set as the diagonal of the matrix, and the other parts of the matrix are zero.
+Constructs a new **Basis** that only represents scale, with no rotation or shear, from the given ``scale`` vector.
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var my_basis = Basis.from_scale(Vector3(2, 4, 8))
+    
+    print(my_basis.x) # Prints (2, 0, 0).
+    print(my_basis.y) # Prints (0, 4, 0).
+    print(my_basis.z) # Prints (0, 0, 8).
+
+ .. code-tab:: csharp
+
+    var myBasis = Basis.FromScale(new Vector3(2.0f, 4.0f, 8.0f));
+    
+    GD.Print(myBasis.X); // Prints (2, 0, 0).
+    GD.Print(myBasis.Y); // Prints (0, 4, 0).
+    GD.Print(myBasis.Z); // Prints (0, 0, 8).
+
+
+
+\ **Note:** In linear algebra, the matrix of this basis is also known as a `diagonal matrix <https://en.wikipedia.org/wiki/Diagonal_matrix>`__.
 
 .. rst-class:: classref-item-separator
 
@@ -350,9 +443,19 @@ Constructs a pure scale basis matrix with no rotation or shearing. The scale val
 
 :ref:`Vector3<class_Vector3>` **get_euler** **(** :ref:`int<class_int>` order=2 **)** |const|
 
-Returns the basis's rotation in the form of Euler angles. The Euler order depends on the ``order`` parameter, by default it uses the YXZ convention: when decomposing, first Z, then X, and Y last. The returned vector contains the rotation angles in the format (X angle, Y angle, Z angle).
+Returns this basis's rotation as a :ref:`Vector3<class_Vector3>` of `Euler angles <https://en.wikipedia.org/wiki/Euler_angles>`__, in radians.
+
+- The :ref:`Vector3.x<class_Vector3_property_x>` contains the angle around the :ref:`x<class_Basis_property_x>` axis (pitch);
 
-Consider using the :ref:`get_rotation_quaternion<class_Basis_method_get_rotation_quaternion>` method instead, which returns a :ref:`Quaternion<class_Quaternion>` quaternion instead of Euler angles.
+- The :ref:`Vector3.y<class_Vector3_property_y>` contains the angle around the :ref:`y<class_Basis_property_y>` axis (yaw);
+
+- The :ref:`Vector3.z<class_Vector3_property_z>` contains the angle around the :ref:`z<class_Basis_property_z>` axis (roll).
+
+The order of each consecutive rotation can be changed with ``order`` (see :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` constants). By default, the YXZ convention is used (:ref:`@GlobalScope.EULER_ORDER_YXZ<class_@GlobalScope_constant_EULER_ORDER_YXZ>`): Z (roll) is calculated first, then X (pitch), and lastly Y (yaw). When using the opposite method :ref:`from_euler<class_Basis_method_from_euler>`, this order is reversed.
+
+\ **Note:** Euler angles are much more intuitive but are not suitable for 3D math. Because of this, consider using the :ref:`get_rotation_quaternion<class_Basis_method_get_rotation_quaternion>` method instead, which returns a :ref:`Quaternion<class_Quaternion>`.
+
+\ **Note:** In the Inspector dock, a basis's rotation is often displayed in Euler angles (in degrees), as is the case with the :ref:`Node3D.rotation<class_Node3D_property_rotation>` property.
 
 .. rst-class:: classref-item-separator
 
@@ -364,7 +467,9 @@ Consider using the :ref:`get_rotation_quaternion<class_Basis_method_get_rotation
 
 :ref:`Quaternion<class_Quaternion>` **get_rotation_quaternion** **(** **)** |const|
 
-Returns the basis's rotation in the form of a quaternion. See :ref:`get_euler<class_Basis_method_get_euler>` if you need Euler angles, but keep in mind quaternions should generally be preferred to Euler angles.
+Returns this basis's rotation as a :ref:`Quaternion<class_Quaternion>`.
+
+\ **Note:** Quatenions are much more suitable for 3D math but are less intuitive. For user interfaces, consider using the :ref:`get_euler<class_Basis_method_get_euler>` method, which returns Euler angles.
 
 .. rst-class:: classref-item-separator
 
@@ -376,7 +481,40 @@ Returns the basis's rotation in the form of a quaternion. See :ref:`get_euler<cl
 
 :ref:`Vector3<class_Vector3>` **get_scale** **(** **)** |const|
 
-Assuming that the matrix is the combination of a rotation and scaling, return the absolute value of scaling factors along each axis.
+Returns the length of each axis of this basis, as a :ref:`Vector3<class_Vector3>`. If the basis is not sheared, this is the scaling factor. It is not affected by rotation.
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var my_basis = Basis(
+        Vector3(2, 0, 0),
+        Vector3(0, 4, 0),
+        Vector3(0, 0, 8)
+    )
+    # Rotating the Basis in any way preserves its scale.
+    my_basis = my_basis.rotated(Vector3.UP, TAU / 2)
+    my_basis = my_basis.rotated(Vector3.RIGHT, TAU / 4)
+    
+    print(my_basis.get_scale()) # Prints (2, 4, 8).
+
+ .. code-tab:: csharp
+
+    var myBasis = new Basis(
+        Vector3(2.0f, 0.0f, 0.0f),
+        Vector3(0.0f, 4.0f, 0.0f),
+        Vector3(0.0f, 0.0f, 8.0f)
+    );
+    // Rotating the Basis in any way preserves its scale.
+    myBasis = myBasis.Rotated(Vector3.Up, Mathf.Tau / 2.0f);
+    myBasis = myBasis.Rotated(Vector3.Right, Mathf.Tau / 4.0f);
+    
+    GD.Print(myBasis.Scale); // Prints (2, 4, 8).
+
+
+
+\ **Note:** If the value returned by :ref:`determinant<class_Basis_method_determinant>` is negative, the scale is also negative.
 
 .. rst-class:: classref-item-separator
 
@@ -388,7 +526,7 @@ Assuming that the matrix is the combination of a rotation and scaling, return th
 
 :ref:`Basis<class_Basis>` **inverse** **(** **)** |const|
 
-Returns the inverse of the matrix.
+Returns the `inverse of this basis's matrix <https://en.wikipedia.org/wiki/Invertible_matrix>`__.
 
 .. rst-class:: classref-item-separator
 
@@ -400,7 +538,7 @@ Returns the inverse of the matrix.
 
 :ref:`bool<class_bool>` **is_conformal** **(** **)** |const|
 
-Returns ``true`` if the basis is conformal, meaning it preserves angles and distance ratios, and may only be composed of rotation and uniform scale. Returns ``false`` if the basis has non-uniform scale or shear/skew. This can be used to validate if the basis is non-distorted, which is important for physics and other use cases.
+Returns ``true`` if this basis is conformal. A conformal basis is both *orthogonal* (the axes are perpendicular to each other) and *uniform* (the axes share the same length). This method can be especially useful during physics calculations.
 
 .. rst-class:: classref-item-separator
 
@@ -436,11 +574,11 @@ Returns ``true`` if this basis is finite, by calling :ref:`@GlobalScope.is_finit
 
 :ref:`Basis<class_Basis>` **looking_at** **(** :ref:`Vector3<class_Vector3>` target, :ref:`Vector3<class_Vector3>` up=Vector3(0, 1, 0), :ref:`bool<class_bool>` use_model_front=false **)** |static|
 
-Creates a Basis with a rotation such that the forward axis (-Z) points towards the ``target`` position.
+Creates a new **Basis** with a rotation such that the forward axis (-Z) points towards the ``target`` position.
 
-The up axis (+Y) points as close to the ``up`` vector as possible while staying perpendicular to the forward axis. The resulting Basis is orthonormalized. The ``target`` and ``up`` vectors cannot be zero, and cannot be parallel to each other.
+By default, the -Z axis (camera forward) is treated as forward (implies +X is right). If ``use_model_front`` is ``true``, the +Z axis (asset front) is treated as forward (implies +X is left) and points toward the ``target`` position.
 
-If ``use_model_front`` is ``true``, the +Z axis (asset front) is treated as forward (implies +X is left) and points toward the ``target`` position. By default, the -Z axis (camera forward) is treated as forward (implies +X is right).
+The up axis (+Y) points as close to the ``up`` vector as possible while staying perpendicular to the forward axis. The returned basis is orthonormalized (see :ref:`orthonormalized<class_Basis_method_orthonormalized>`). The ``target`` and ``up`` vectors cannot be :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`, and cannot be parallel to each other.
 
 .. rst-class:: classref-item-separator
 
@@ -452,7 +590,33 @@ If ``use_model_front`` is ``true``, the +Z axis (asset front) is treated as forw
 
 :ref:`Basis<class_Basis>` **orthonormalized** **(** **)** |const|
 
-Returns the orthonormalized version of the matrix (useful to call from time to time to avoid rounding error for orthogonal matrices). This performs a Gram-Schmidt orthonormalization on the basis of the matrix.
+Returns the orthonormalized version of this basis. An orthonormal basis is both *orthogonal* (the axes are perpendicular to each other) and *normalized* (the axes have a length of ``1``), which also means it can only represent rotation.
+
+It is often useful to call this method to avoid rounding errors on a rotating basis:
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    # Rotate this Node3D every frame.
+    func _process(delta):
+        basis = basis.rotated(Vector3.UP, TAU * delta)
+        basis = basis.rotated(Vector3.RIGHT, TAU * delta)
+    
+        basis = basis.orthonormalized()
+
+ .. code-tab:: csharp
+
+    // Rotate this Node3D every frame.
+    public override void _Process(double delta)
+    {
+        Basis = Basis.Rotated(Vector3.Up, Mathf.Tau * (float)delta)
+                     .Rotated(Vector3.Right, Mathf.Tau * (float)delta)
+                     .Orthonormalized();
+    }
+
+
 
 .. rst-class:: classref-item-separator
 
@@ -464,7 +628,32 @@ Returns the orthonormalized version of the matrix (useful to call from time to t
 
 :ref:`Basis<class_Basis>` **rotated** **(** :ref:`Vector3<class_Vector3>` axis, :ref:`float<class_float>` angle **)** |const|
 
-Introduce an additional rotation around the given axis by ``angle`` (in radians). The axis must be a normalized vector.
+Returns this basis rotated around the given ``axis`` by ``angle`` (in radians). The ``axis`` must be a normalized vector (see :ref:`Vector3.normalized<class_Vector3_method_normalized>`).
+
+Positive values rotate this basis clockwise around the axis, while negative values rotate it counterclockwise.
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var my_basis = Basis.IDENTITY
+    var angle = TAU / 2
+    
+    my_basis = my_basis.rotated(Vector3.UP, angle)    # Rotate around the up axis (yaw).
+    my_basis = my_basis.rotated(Vector3.RIGHT, angle) # Rotate around the right axis (pitch).
+    my_basis = my_basis.rotated(Vector3.BACK, angle)  # Rotate around the back axis (roll).
+
+ .. code-tab:: csharp
+
+    var myBasis = Basis.Identity;
+    var angle = Mathf.Tau / 2.0f;
+    
+    myBasis = myBasis.Rotated(Vector3.Up, angle);    // Rotate around the up axis (yaw).
+    myBasis = myBasis.Rotated(Vector3.Right, angle); // Rotate around the right axis (pitch).
+    myBasis = myBasis.Rotated(Vector3.Back, angle);  // Rotate around the back axis (roll).
+
+
 
 .. rst-class:: classref-item-separator
 
@@ -476,7 +665,40 @@ Introduce an additional rotation around the given axis by ``angle`` (in radians)
 
 :ref:`Basis<class_Basis>` **scaled** **(** :ref:`Vector3<class_Vector3>` scale **)** |const|
 
-Introduce an additional scaling specified by the given 3D scaling factor.
+Returns this basis with each axis's components scaled by the given ``scale``'s components.
+
+The basis matrix's rows are multiplied by ``scale``'s components. This operation is a global scale (relative to the parent).
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var my_basis = Basis(
+        Vector3(1, 1, 1),
+        Vector3(2, 2, 2),
+        Vector3(3, 3, 3)
+    )
+    my_basis = my_basis.scaled(Vector3(0, 2, -2))
+    
+    print(my_basis.x) # Prints (0, 2, -2).
+    print(my_basis.y) # Prints (0, 4, -4).
+    print(my_basis.z) # Prints (0, 6, -6).
+
+ .. code-tab:: csharp
+
+    var myBasis = new Basis(
+        new Vector3(1.0f, 1.0f, 1.0f),
+        new Vector3(2.0f, 2.0f, 2.0f),
+        new Vector3(3.0f, 3.0f, 3.0f)
+    );
+    myBasis = myBasis.Scaled(new Vector3(0.0f, 2.0f, -2.0f));
+    
+    GD.Print(myBasis.X); // Prints (0, 2, -2).
+    GD.Print(myBasis.Y); // Prints (0, 4, -4).
+    GD.Print(myBasis.Z); // Prints (0, 6, -6).
+
+
 
 .. rst-class:: classref-item-separator
 
@@ -488,7 +710,20 @@ Introduce an additional scaling specified by the given 3D scaling factor.
 
 :ref:`Basis<class_Basis>` **slerp** **(** :ref:`Basis<class_Basis>` to, :ref:`float<class_float>` weight **)** |const|
 
-Assuming that the matrix is a proper rotation matrix, slerp performs a spherical-linear interpolation with another rotation matrix.
+Performs a spherical-linear interpolation with the ``to`` basis, given a ``weight``. Both this basis and ``to`` should represent a rotation.
+
+\ **Example:** Smoothly rotate a :ref:`Node3D<class_Node3D>` to the target basis over time, with a :ref:`Tween<class_Tween>`.
+
+::
+
+    var start_basis = Basis.IDENTITY
+    var target_basis = Basis.IDENTITY.rotated(Vector3.UP, TAU / 2)
+    
+    func _ready():
+        create_tween().tween_method(interpolate, 0.0, 1.0, 5.0).set_trans(Tween.TRANS_EXPO)
+    
+    func interpolate(weight):
+        basis = start_basis.slerp(target_basis, weight)
 
 .. rst-class:: classref-item-separator
 
@@ -500,7 +735,9 @@ Assuming that the matrix is a proper rotation matrix, slerp performs a spherical
 
 :ref:`float<class_float>` **tdotx** **(** :ref:`Vector3<class_Vector3>` with **)** |const|
 
-Transposed dot product with the X axis of the matrix.
+Returns the transposed dot product between ``with`` and the :ref:`x<class_Basis_property_x>` axis (see :ref:`transposed<class_Basis_method_transposed>`).
+
+This is equivalent to ``basis.x.dot(vector)``.
 
 .. rst-class:: classref-item-separator
 
@@ -512,7 +749,9 @@ Transposed dot product with the X axis of the matrix.
 
 :ref:`float<class_float>` **tdoty** **(** :ref:`Vector3<class_Vector3>` with **)** |const|
 
-Transposed dot product with the Y axis of the matrix.
+Returns the transposed dot product between ``with`` and the :ref:`y<class_Basis_property_y>` axis (see :ref:`transposed<class_Basis_method_transposed>`).
+
+This is equivalent to ``basis.y.dot(vector)``.
 
 .. rst-class:: classref-item-separator
 
@@ -524,7 +763,9 @@ Transposed dot product with the Y axis of the matrix.
 
 :ref:`float<class_float>` **tdotz** **(** :ref:`Vector3<class_Vector3>` with **)** |const|
 
-Transposed dot product with the Z axis of the matrix.
+Returns the transposed dot product between ``with`` and the :ref:`z<class_Basis_property_z>` axis (see :ref:`transposed<class_Basis_method_transposed>`).
+
+This is equivalent to ``basis.z.dot(vector)``.
 
 .. rst-class:: classref-item-separator
 
@@ -536,7 +777,38 @@ Transposed dot product with the Z axis of the matrix.
 
 :ref:`Basis<class_Basis>` **transposed** **(** **)** |const|
 
-Returns the transposed version of the matrix.
+Returns the transposed version of this basis. This turns the basis matrix's columns into rows, and its rows into columns.
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var my_basis = Basis(
+        Vector3(1, 2, 3),
+        Vector3(4, 5, 6),
+        Vector3(7, 8, 9)
+    )
+    my_basis = my_basis.transposed()
+    
+    print(my_basis.x) # Prints (1, 4, 7).
+    print(my_basis.y) # Prints (2, 5, 8).
+    print(my_basis.z) # Prints (3, 6, 9).
+
+ .. code-tab:: csharp
+
+    var myBasis = new Basis(
+        new Vector3(1.0f, 2.0f, 3.0f),
+        new Vector3(4.0f, 5.0f, 6.0f),
+        new Vector3(7.0f, 8.0f, 9.0f)
+    );
+    myBasis = myBasis.Transposed();
+    
+    GD.Print(myBasis.X); // Prints (1, 4, 7).
+    GD.Print(myBasis.Y); // Prints (2, 5, 8).
+    GD.Print(myBasis.Z); // Prints (3, 6, 9).
+
+
 
 .. rst-class:: classref-section-separator
 
@@ -553,7 +825,7 @@ Operator Descriptions
 
 :ref:`bool<class_bool>` **operator !=** **(** :ref:`Basis<class_Basis>` right **)**
 
-Returns ``true`` if the **Basis** matrices are not equal.
+Returns ``true`` if the components of both **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.
 
@@ -567,7 +839,9 @@ Returns ``true`` if the **Basis** matrices are not equal.
 
 :ref:`Basis<class_Basis>` **operator *** **(** :ref:`Basis<class_Basis>` right **)**
 
-Composes these two basis matrices by multiplying them together. This has the effect of transforming the second basis (the child) by the first basis (the parent).
+Transforms (multiplies) the ``right`` basis by this basis.
+
+This is the operation performed between parent and child :ref:`Node3D<class_Node3D>`\ s.
 
 .. rst-class:: classref-item-separator
 
@@ -579,7 +853,22 @@ Composes these two basis matrices by multiplying them together. This has the eff
 
 :ref:`Vector3<class_Vector3>` **operator *** **(** :ref:`Vector3<class_Vector3>` right **)**
 
-Transforms (multiplies) the :ref:`Vector3<class_Vector3>` by the given **Basis** matrix.
+Transforms (multiplies) the ``right`` vector by this basis, returning a :ref:`Vector3<class_Vector3>`.
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var my_basis = Basis(Vector3(1, 1, 1), Vector3(1, 1, 1), Vector3(0, 2, 5))
+    print(my_basis * Vector3(1, 2, 3)) # Prints (7, 3, 16)
+
+ .. code-tab:: csharp
+
+    var myBasis = new Basis(new Vector3(1, 1, 1), new Vector3(1, 1, 1), new Vector3(0, 2, 5));
+    GD.Print(my_basis * new Vector3(1, 2, 3)); // Prints (7, 3, 16)
+
+
 
 .. rst-class:: classref-item-separator
 
@@ -591,7 +880,7 @@ Transforms (multiplies) the :ref:`Vector3<class_Vector3>` by the given **Basis**
 
 :ref:`Basis<class_Basis>` **operator *** **(** :ref:`float<class_float>` right **)**
 
-This operator multiplies all components of the **Basis**, which scales it uniformly.
+Multiplies all components of the **Basis** by the given :ref:`float<class_float>`. This affects the basis's scale uniformly, resizing all 3 axes by the ``right`` value.
 
 .. rst-class:: classref-item-separator
 
@@ -603,7 +892,7 @@ This operator multiplies all components of the **Basis**, which scales it unifor
 
 :ref:`Basis<class_Basis>` **operator *** **(** :ref:`int<class_int>` right **)**
 
-This operator multiplies all components of the **Basis**, which scales it uniformly.
+Multiplies all components of the **Basis** by the given :ref:`int<class_int>`. This affects the basis's scale uniformly, resizing all 3 axes by the ``right`` value.
 
 .. rst-class:: classref-item-separator
 
@@ -615,7 +904,7 @@ This operator multiplies all components of the **Basis**, which scales it unifor
 
 :ref:`bool<class_bool>` **operator ==** **(** :ref:`Basis<class_Basis>` right **)**
 
-Returns ``true`` if the **Basis** matrices are exactly equal.
+Returns ``true`` if the components of both **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.
 
@@ -629,7 +918,9 @@ Returns ``true`` if the **Basis** matrices are exactly equal.
 
 :ref:`Vector3<class_Vector3>` **operator []** **(** :ref:`int<class_int>` index **)**
 
-Access basis components using their index. ``b[0]`` is equivalent to ``b.x``, ``b[1]`` is equivalent to ``b.y``, and ``b[2]`` is equivalent to ``b.z``.
+Accesses each axis (column) of this basis by their index. Index ``0`` is the same as :ref:`x<class_Basis_property_x>`, index ``1`` is the same as :ref:`y<class_Basis_property_y>`, and index ``2`` is the same as :ref:`z<class_Basis_property_z>`.
+
+\ **Note:** In C++, this operator accesses the rows of the basis matrix, *not* the columns. For the same behavior as scripting languages, use the ``set_column`` and ``get_column`` methods.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 2 - 2
classes/class_bitmap.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BitMap.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/BitMap.xml.
 
 .. _class_BitMap:
 

+ 3 - 3
classes/class_bone2d.rst

@@ -2,8 +2,8 @@
 
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
-.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
-.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Bone2D.xml.
+.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/Bone2D.xml.
 
 .. _class_Bone2D:
 
@@ -104,7 +104,7 @@ Method Descriptions
 
 void **apply_rest** **(** **)**
 
-Stores the node's current transforms in :ref:`rest<class_Bone2D_property_rest>`.
+Resets the bone to the rest pose. This is equivalent to setting :ref:`Node2D.transform<class_Node2D_property_transform>` to :ref:`rest<class_Bone2D_property_rest>`.
 
 .. rst-class:: classref-item-separator
 

部分文件因为文件数量过多而无法显示