浏览代码

classref: Sync with current master branch (a574c02)

Godot Organization 1 年之前
父节点
当前提交
cd54012c7f

+ 1 - 1
classes/[email protected]

@@ -2601,7 +2601,7 @@ Game controller SDL guide button. Corresponds to the Sony PS, Xbox Home button.
 
 :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_START** = ``6``
 
-Game controller SDL start button. Corresponds to the Nintendo + button.
+Game controller SDL start button. Corresponds to the Sony Options, Xbox Menu, Nintendo + button.
 
 .. _class_@GlobalScope_constant_JOY_BUTTON_LEFT_STICK:
 

+ 16 - 0
classes/class_diraccess.rst

@@ -152,6 +152,8 @@ Methods
    +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`get_space_left<class_DirAccess_method_get_space_left>` **(** **)**                                                                                                               |
    +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`is_case_sensitive<class_DirAccess_method_is_case_sensitive>` **(** :ref:`String<class_String>` path **)** |const|                                                                |
+   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Error<enum_@GlobalScope_Error>`             | :ref:`list_dir_begin<class_DirAccess_method_list_dir_begin>` **(** **)**                                                                                                               |
    +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                              | :ref:`list_dir_end<class_DirAccess_method_list_dir_end>` **(** **)**                                                                                                                   |
@@ -477,6 +479,20 @@ Returns the available space on the current directory's disk, in bytes. Returns `
 
 ----
 
+.. _class_DirAccess_method_is_case_sensitive:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **is_case_sensitive** **(** :ref:`String<class_String>` path **)** |const|
+
+Returns ``true`` if the file system or directory use case sensitive file names.
+
+\ **Note:** This method is implemented on macOS, Linux (for EXT4 and F2FS filesystems only) and Windows. On other platforms, it always returns ``true``.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_DirAccess_method_list_dir_begin:
 
 .. rst-class:: classref-method

+ 1 - 1
classes/class_editorexportplatformandroid.rst

@@ -21,7 +21,7 @@ Tutorials
 
 - :doc:`Exporting for Android <../tutorials/export/exporting_for_android>`
 
-- :doc:`Gradle builds for Android <../tutorials/export/android_gradle_build>`
+- :doc:`Custom builds for Android <../tutorials/export/android_custom_build>`
 
 - :doc:`Android plugins documentation index <../tutorials/platform/index>`
 

+ 30 - 0
classes/class_editorsettings.rst

@@ -251,6 +251,8 @@ Properties
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`       | :ref:`filesystem/on_save/safe_save_on_backup_then_rename<class_EditorSettings_property_filesystem/on_save/safe_save_on_backup_then_rename>`                                         |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`   | :ref:`filesystem/tools/oidn/oidn_denoise_path<class_EditorSettings_property_filesystem/tools/oidn/oidn_denoise_path>`                                                               |
+   +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`         | :ref:`interface/editor/accept_dialog_cancel_ok_buttons<class_EditorSettings_property_interface/editor/accept_dialog_cancel_ok_buttons>`                                             |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`       | :ref:`interface/editor/automatically_open_screenshots<class_EditorSettings_property_interface/editor/automatically_open_screenshots>`                                               |
@@ -527,6 +529,8 @@ Properties
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Color<class_Color>`     | :ref:`text_editor/theme/highlighting/current_line_color<class_EditorSettings_property_text_editor/theme/highlighting/current_line_color>`                                           |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Color<class_Color>`     | :ref:`text_editor/theme/highlighting/doc_comment_color<class_EditorSettings_property_text_editor/theme/highlighting/doc_comment_color>`                                             |
+   +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Color<class_Color>`     | :ref:`text_editor/theme/highlighting/engine_type_color<class_EditorSettings_property_text_editor/theme/highlighting/engine_type_color>`                                             |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Color<class_Color>`     | :ref:`text_editor/theme/highlighting/executing_line_color<class_EditorSettings_property_text_editor/theme/highlighting/executing_line_color>`                                       |
@@ -1865,6 +1869,20 @@ If ``true``, when saving a file, the editor will rename the old file to a differ
 
 ----
 
+.. _class_EditorSettings_property_filesystem/tools/oidn/oidn_denoise_path:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **filesystem/tools/oidn/oidn_denoise_path**
+
+The path to the directory containing the Open Image Denoise (OIDN) executable, used optionally for denoising lightmaps. It can be downloaded from `openimagedenoise.org <https://www.openimagedenoise.org/downloads.html>`__.
+
+To enable this feature for your specific project, use :ref:`ProjectSettings.rendering/lightmapping/denoising/denoiser<class_ProjectSettings_property_rendering/lightmapping/denoising/denoiser>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorSettings_property_interface/editor/accept_dialog_cancel_ok_buttons:
 
 .. rst-class:: classref-property
@@ -3599,6 +3617,18 @@ The script editor's background color for the line the caret is currently on. Thi
 
 ----
 
+.. _class_EditorSettings_property_text_editor/theme/highlighting/doc_comment_color:
+
+.. rst-class:: classref-property
+
+:ref:`Color<class_Color>` **text_editor/theme/highlighting/doc_comment_color**
+
+The script editor's documentation comment color. In GDScript, this is used for comments starting with ``##``. In C#, this is used for comments starting with ``///`` or ``/**``.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorSettings_property_text_editor/theme/highlighting/engine_type_color:
 
 .. rst-class:: classref-property

+ 1 - 1
classes/class_enetconnection.rst

@@ -177,7 +177,7 @@ A peer has disconnected. This event is generated on a successful completion of a
 
 :ref:`EventType<enum_ENetConnection_EventType>` **EVENT_RECEIVE** = ``3``
 
-A packet has been received from a peer. The array will contain the peer which sent the packet, the channel number upon which the packet was received, and the received packet.
+A packet has been received from a peer. The array will contain the peer which sent the packet and the channel number upon which the packet was received. The received packet will be queued to the associated :ref:`ENetPacketPeer<class_ENetPacketPeer>`.
 
 .. rst-class:: classref-item-separator
 

+ 4 - 0
classes/class_fileaccess.rst

@@ -644,6 +644,8 @@ Returns the last error that happened when trying to perform operations. Compare
 
 Returns the whole ``path`` file contents as a :ref:`PackedByteArray<class_PackedByteArray>` without any decoding.
 
+Returns an empty :ref:`PackedByteArray<class_PackedByteArray>` if an error occurred while opening the file. You can use :ref:`get_open_error<class_FileAccess_method_get_open_error>` to check the error that occurred.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -656,6 +658,8 @@ Returns the whole ``path`` file contents as a :ref:`PackedByteArray<class_Packed
 
 Returns the whole ``path`` file contents as a :ref:`String<class_String>`. Text is interpreted as being UTF-8 encoded.
 
+Returns an empty :ref:`String<class_String>` if an error occurred while opening the file. You can use :ref:`get_open_error<class_FileAccess_method_get_open_error>` to check the error that occurred.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 19 - 0
classes/class_fontfile.rst

@@ -73,6 +73,8 @@ Properties
    +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
    | :ref:`int<class_int>`                                           | :ref:`fixed_size<class_FontFile_property_fixed_size>`                                                 | ``0``                 |
    +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
+   | :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>`   | :ref:`fixed_size_scale_mode<class_FontFile_property_fixed_size_scale_mode>`                           | ``0``                 |
+   +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
    | :ref:`String<class_String>`                                     | :ref:`font_name<class_FontFile_property_font_name>`                                                   | ``""``                |
    +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
    | :ref:`int<class_int>`                                           | :ref:`font_stretch<class_FontFile_property_font_stretch>`                                             | ``100``               |
@@ -319,6 +321,23 @@ Font size, used only for the bitmap fonts.
 
 ----
 
+.. _class_FontFile_property_fixed_size_scale_mode:
+
+.. rst-class:: classref-property
+
+:ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` **fixed_size_scale_mode** = ``0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_fixed_size_scale_mode** **(** :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` value **)**
+- :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` **get_fixed_size_scale_mode** **(** **)**
+
+Scaling mode, used only for the bitmap fonts with :ref:`fixed_size<class_FontFile_property_fixed_size>` greater than zero.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_FontFile_property_font_name:
 
 .. rst-class:: classref-property

+ 42 - 0
classes/class_gpuparticles2d.rst

@@ -47,6 +47,8 @@ Properties
    +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+
    | :ref:`int<class_int>`                           | :ref:`amount<class_GPUParticles2D_property_amount>`                                         | ``8``                           |
    +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+
+   | :ref:`float<class_float>`                       | :ref:`amount_ratio<class_GPUParticles2D_property_amount_ratio>`                             | ``1.0``                         |
+   +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+
    | :ref:`float<class_float>`                       | :ref:`collision_base_size<class_GPUParticles2D_property_collision_base_size>`               | ``1.0``                         |
    +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+
    | :ref:`DrawOrder<enum_GPUParticles2D_DrawOrder>` | :ref:`draw_order<class_GPUParticles2D_property_draw_order>`                                 | ``1``                           |
@@ -59,6 +61,8 @@ Properties
    +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+
    | :ref:`bool<class_bool>`                         | :ref:`fract_delta<class_GPUParticles2D_property_fract_delta>`                               | ``true``                        |
    +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+
+   | :ref:`float<class_float>`                       | :ref:`interp_to_end<class_GPUParticles2D_property_interp_to_end>`                           | ``0.0``                         |
+   +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+
    | :ref:`bool<class_bool>`                         | :ref:`interpolate<class_GPUParticles2D_property_interpolate>`                               | ``true``                        |
    +-------------------------------------------------+---------------------------------------------------------------------------------------------+---------------------------------+
    | :ref:`float<class_float>`                       | :ref:`lifetime<class_GPUParticles2D_property_lifetime>`                                     | ``1.0``                         |
@@ -242,6 +246,25 @@ Number of particles emitted in one emission cycle.
 
 ----
 
+.. _class_GPUParticles2D_property_amount_ratio:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **amount_ratio** = ``1.0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_amount_ratio** **(** :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_amount_ratio** **(** **)**
+
+The ratio of particles that should actually be emitted. If set to a value lower than ``1.0``, this will set the amount of emitted particles throughout the lifetime to ``amount * amount_ratio``. Unlike changing :ref:`amount<class_GPUParticles2D_property_amount>`, changing :ref:`amount_ratio<class_GPUParticles2D_property_amount_ratio>` while emitting does not affect already-emitted particles and doesn't cause the particle system to restart. :ref:`amount_ratio<class_GPUParticles2D_property_amount_ratio>` can be used to create effects that make the number of emitted particles vary over time.
+
+\ **Note:** Reducing the :ref:`amount_ratio<class_GPUParticles2D_property_amount_ratio>` has no performance benefit, since resources need to be allocated and processed for the total :ref:`amount<class_GPUParticles2D_property_amount>` of particles regardless of the :ref:`amount_ratio<class_GPUParticles2D_property_amount_ratio>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_GPUParticles2D_property_collision_base_size:
 
 .. rst-class:: classref-property
@@ -344,6 +367,25 @@ If ``true``, results in fractional delta calculation which has a smoother partic
 
 ----
 
+.. _class_GPUParticles2D_property_interp_to_end:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **interp_to_end** = ``0.0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_interp_to_end** **(** :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_interp_to_end** **(** **)**
+
+Causes all the particles in this node to interpolate towards the end of their lifetime.
+
+\ **Note**: This only works when used with a :ref:`ParticleProcessMaterial<class_ParticleProcessMaterial>`. It needs to be manually implemented for custom process shaders.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_GPUParticles2D_property_interpolate:
 
 .. rst-class:: classref-property

+ 42 - 0
classes/class_gpuparticles3d.rst

@@ -45,6 +45,8 @@ Properties
    +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
    | :ref:`int<class_int>`                                     | :ref:`amount<class_GPUParticles3D_property_amount>`                           | ``8``                         |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                                 | :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>`               | ``1.0``                       |
+   +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
    | :ref:`float<class_float>`                                 | :ref:`collision_base_size<class_GPUParticles3D_property_collision_base_size>` | ``0.01``                      |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
    | :ref:`DrawOrder<enum_GPUParticles3D_DrawOrder>`           | :ref:`draw_order<class_GPUParticles3D_property_draw_order>`                   | ``0``                         |
@@ -69,6 +71,8 @@ Properties
    +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
    | :ref:`bool<class_bool>`                                   | :ref:`fract_delta<class_GPUParticles3D_property_fract_delta>`                 | ``true``                      |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                                 | :ref:`interp_to_end<class_GPUParticles3D_property_interp_to_end>`             | ``0.0``                       |
+   +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
    | :ref:`bool<class_bool>`                                   | :ref:`interpolate<class_GPUParticles3D_property_interpolate>`                 | ``true``                      |
    +-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
    | :ref:`float<class_float>`                                 | :ref:`lifetime<class_GPUParticles3D_property_lifetime>`                       | ``1.0``                       |
@@ -319,6 +323,25 @@ Number of particles to emit.
 
 ----
 
+.. _class_GPUParticles3D_property_amount_ratio:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **amount_ratio** = ``1.0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_amount_ratio** **(** :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_amount_ratio** **(** **)**
+
+The ratio of particles that should actually be emitted. If set to a value lower than ``1.0``, this will set the amount of emitted particles throughout the lifetime to ``amount * amount_ratio``. Unlike changing :ref:`amount<class_GPUParticles3D_property_amount>`, changing :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>` while emitting does not affect already-emitted particles and doesn't cause the particle system to restart. :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>` can be used to create effects that make the number of emitted particles vary over time.
+
+\ **Note:** Reducing the :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>` has no performance benefit, since resources need to be allocated and processed for the total :ref:`amount<class_GPUParticles3D_property_amount>` of particles regardless of the :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_GPUParticles3D_property_collision_base_size:
 
 .. rst-class:: classref-property
@@ -529,6 +552,25 @@ If ``true``, results in fractional delta calculation which has a smoother partic
 
 ----
 
+.. _class_GPUParticles3D_property_interp_to_end:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **interp_to_end** = ``0.0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_interp_to_end** **(** :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_interp_to_end** **(** **)**
+
+Causes all the particles in this node to interpolate towards the end of their lifetime.
+
+\ **Note**: This only works when used with a :ref:`ParticleProcessMaterial<class_ParticleProcessMaterial>`. It needs to be manually implemented for custom process shaders.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_GPUParticles3D_property_interpolate:
 
 .. rst-class:: classref-property

+ 1 - 1
classes/class_input.rst

@@ -512,7 +512,7 @@ If ``exact_match`` is ``false``, it ignores additional input modifiers for :ref:
 
 :ref:`float<class_float>` **get_action_strength** **(** :ref:`StringName<class_StringName>` action, :ref:`bool<class_bool>` exact_match=false **)** |const|
 
-Returns a value between 0 and 1 representing the intensity of the given action. In a joypad, for example, the further away the axis (analog sticks or L2, R2 triggers) is from the dead zone, the closer the value will be to 1. If the action is mapped to a control that has no axis as the keyboard, the value returned will be 0 or 1.
+Returns a value between 0 and 1 representing the intensity of the given action. In a joypad, for example, the further away the axis (analog sticks or L2, R2 triggers) is from the dead zone, the closer the value will be to 1. If the action is mapped to a control that has no axis such as the keyboard, the value returned will be 0 or 1.
 
 If ``exact_match`` is ``false``, it ignores additional input modifiers for :ref:`InputEventKey<class_InputEventKey>` and :ref:`InputEventMouseButton<class_InputEventMouseButton>` events, and the direction for :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>` events.
 

+ 43 - 1
classes/class_lightmapgi.rst

@@ -49,6 +49,8 @@ Properties
    +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
    | :ref:`float<class_float>`                               | :ref:`bias<class_LightmapGI_property_bias>`                                           | ``0.0005`` |
    +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`float<class_float>`                               | :ref:`bounce_indirect_energy<class_LightmapGI_property_bounce_indirect_energy>`       | ``1.0``    |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
    | :ref:`int<class_int>`                                   | :ref:`bounces<class_LightmapGI_property_bounces>`                                     | ``3``      |
    +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
    | :ref:`CameraAttributes<class_CameraAttributes>`         | :ref:`camera_attributes<class_LightmapGI_property_camera_attributes>`                 |            |
@@ -77,6 +79,8 @@ Properties
    +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
    | :ref:`bool<class_bool>`                                 | :ref:`use_denoiser<class_LightmapGI_property_use_denoiser>`                           | ``true``   |
    +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
+   | :ref:`bool<class_bool>`                                 | :ref:`use_texture_for_bounces<class_LightmapGI_property_use_texture_for_bounces>`     | ``true``   |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------+------------+
 
 .. rst-class:: classref-section-separator
 
@@ -335,6 +339,25 @@ The bias to use when computing shadows. Increasing :ref:`bias<class_LightmapGI_p
 
 ----
 
+.. _class_LightmapGI_property_bounce_indirect_energy:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **bounce_indirect_energy** = ``1.0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_bounce_indirect_energy** **(** :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_bounce_indirect_energy** **(** **)**
+
+The energy multiplier for each bounce. Higher values will make indirect lighting brighter. A value of ``1.0`` represents physically accurate behavior, but higher values can be used to make indirect lighting propagate more visibly when using a low number of bounces. This can be used to speed up bake times by lowering the number of :ref:`bounces<class_LightmapGI_property_bounces>` then increasing :ref:`bounce_indirect_energy<class_LightmapGI_property_bounce_indirect_energy>`.
+
+\ **Note:** :ref:`bounce_indirect_energy<class_LightmapGI_property_bounce_indirect_energy>` only has an effect if :ref:`bounces<class_LightmapGI_property_bounces>` is set to a value greater than or equal to ``1``.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_LightmapGI_property_bounces:
 
 .. rst-class:: classref-property
@@ -380,7 +403,7 @@ The :ref:`CameraAttributes<class_CameraAttributes>` resource that specifies expo
 - void **set_denoiser_strength** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_denoiser_strength** **(** **)**
 
-The strength of denoising step applied to the generated lightmaps. Only effective if :ref:`use_denoiser<class_LightmapGI_property_use_denoiser>` is ``true``.
+The strength of denoising step applied to the generated lightmaps. Only effective if :ref:`use_denoiser<class_LightmapGI_property_use_denoiser>` is ``true`` and :ref:`ProjectSettings.rendering/lightmapping/denoising/denoiser<class_ProjectSettings_property_rendering/lightmapping/denoising/denoiser>` is set to JNLM.
 
 .. rst-class:: classref-item-separator
 
@@ -577,6 +600,25 @@ To further speed up bake times, decrease :ref:`bounces<class_LightmapGI_property
 
 If ``true``, uses a GPU-based denoising algorithm on the generated lightmap. This eliminates most noise within the generated lightmap at the cost of longer bake times. File sizes are generally not impacted significantly by the use of a denoiser, although lossless compression may do a better job at compressing a denoised image.
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_LightmapGI_property_use_texture_for_bounces:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **use_texture_for_bounces** = ``true``
+
+.. rst-class:: classref-property-setget
+
+- void **set_use_texture_for_bounces** **(** :ref:`bool<class_bool>` value **)**
+- :ref:`bool<class_bool>` **is_using_texture_for_bounces** **(** **)**
+
+If ``true``, a texture with the lighting information will be generated to speed up the generation of indirect lighting at the cost of some accuracy. The geometry might exhibit extra light leak artifacts when using low resolution lightmaps or UVs that stretch the lightmap significantly across surfaces. Leave :ref:`use_texture_for_bounces<class_LightmapGI_property_use_texture_for_bounces>` at its default value of ``true`` if unsure.
+
+\ **Note:** :ref:`use_texture_for_bounces<class_LightmapGI_property_use_texture_for_bounces>` only has an effect if :ref:`bounces<class_LightmapGI_property_bounces>` is set to a value greater than or equal to ``1``.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 1 - 1
classes/class_os.rst

@@ -900,7 +900,7 @@ On the web, this is ``"Web"``.
         case "Linux":
         case "FreeBSD":
         case "NetBSD":
-        case "OpenBSD"
+        case "OpenBSD":
         case "BSD":
             GD.Print("Linux/BSD");
             break;

+ 388 - 7
classes/class_particleprocessmaterial.rst

@@ -29,6 +29,8 @@ Properties
 .. table::
    :widths: auto
 
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`Texture2D<class_Texture2D>`                                  | :ref:`alpha_curve<class_ParticleProcessMaterial_property_alpha_curve>`                                                 |                         |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`Texture2D<class_Texture2D>`                                  | :ref:`angle_curve<class_ParticleProcessMaterial_property_angle_curve>`                                                 |                         |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
@@ -78,10 +80,18 @@ Properties
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`Vector3<class_Vector3>`                                      | :ref:`direction<class_ParticleProcessMaterial_property_direction>`                                                     | ``Vector3(1, 0, 0)``    |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`Texture2D<class_Texture2D>`                                  | :ref:`directional_velocity_curve<class_ParticleProcessMaterial_property_directional_velocity_curve>`                   |                         |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`float<class_float>`                                          | :ref:`directional_velocity_max<class_ParticleProcessMaterial_property_directional_velocity_max>`                       |                         |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`float<class_float>`                                          | :ref:`directional_velocity_min<class_ParticleProcessMaterial_property_directional_velocity_min>`                       |                         |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`Vector3<class_Vector3>`                                      | :ref:`emission_box_extents<class_ParticleProcessMaterial_property_emission_box_extents>`                               |                         |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`Texture2D<class_Texture2D>`                                  | :ref:`emission_color_texture<class_ParticleProcessMaterial_property_emission_color_texture>`                           |                         |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`Texture2D<class_Texture2D>`                                  | :ref:`emission_curve<class_ParticleProcessMaterial_property_emission_curve>`                                           |                         |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`Texture2D<class_Texture2D>`                                  | :ref:`emission_normal_texture<class_ParticleProcessMaterial_property_emission_normal_texture>`                         |                         |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`int<class_int>`                                              | :ref:`emission_point_count<class_ParticleProcessMaterial_property_emission_point_count>`                               |                         |
@@ -98,6 +108,10 @@ Properties
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`EmissionShape<enum_ParticleProcessMaterial_EmissionShape>`   | :ref:`emission_shape<class_ParticleProcessMaterial_property_emission_shape>`                                           | ``0``                   |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`Vector3<class_Vector3>`                                      | :ref:`emission_shape_offset<class_ParticleProcessMaterial_property_emission_shape_offset>`                             | ``Vector3(0, 0, 0)``    |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`Vector3<class_Vector3>`                                      | :ref:`emission_shape_scale<class_ParticleProcessMaterial_property_emission_shape_scale>`                               | ``Vector3(1, 1, 1)``    |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`float<class_float>`                                          | :ref:`emission_sphere_radius<class_ParticleProcessMaterial_property_emission_sphere_radius>`                           |                         |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`float<class_float>`                                          | :ref:`flatness<class_ParticleProcessMaterial_property_flatness>`                                                       | ``0.0``                 |
@@ -110,6 +124,8 @@ Properties
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`float<class_float>`                                          | :ref:`hue_variation_min<class_ParticleProcessMaterial_property_hue_variation_min>`                                     | ``0.0``                 |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`float<class_float>`                                          | :ref:`inherit_velocity_ratio<class_ParticleProcessMaterial_property_inherit_velocity_ratio>`                           | ``0.0``                 |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`float<class_float>`                                          | :ref:`initial_velocity_max<class_ParticleProcessMaterial_property_initial_velocity_max>`                               | ``0.0``                 |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`float<class_float>`                                          | :ref:`initial_velocity_min<class_ParticleProcessMaterial_property_initial_velocity_min>`                               | ``0.0``                 |
@@ -124,12 +140,14 @@ Properties
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`Texture2D<class_Texture2D>`                                  | :ref:`orbit_velocity_curve<class_ParticleProcessMaterial_property_orbit_velocity_curve>`                               |                         |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                                          | :ref:`orbit_velocity_max<class_ParticleProcessMaterial_property_orbit_velocity_max>`                                   |                         |
+   | :ref:`float<class_float>`                                          | :ref:`orbit_velocity_max<class_ParticleProcessMaterial_property_orbit_velocity_max>`                                   | ``0.0``                 |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                                          | :ref:`orbit_velocity_min<class_ParticleProcessMaterial_property_orbit_velocity_min>`                                   |                         |
+   | :ref:`float<class_float>`                                          | :ref:`orbit_velocity_min<class_ParticleProcessMaterial_property_orbit_velocity_min>`                                   | ``0.0``                 |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`bool<class_bool>`                                            | :ref:`particle_flag_align_y<class_ParticleProcessMaterial_property_particle_flag_align_y>`                             | ``false``               |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`bool<class_bool>`                                            | :ref:`particle_flag_damping_as_friction<class_ParticleProcessMaterial_property_particle_flag_damping_as_friction>`     | ``false``               |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`bool<class_bool>`                                            | :ref:`particle_flag_disable_z<class_ParticleProcessMaterial_property_particle_flag_disable_z>`                         | ``false``               |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`bool<class_bool>`                                            | :ref:`particle_flag_rotate_y<class_ParticleProcessMaterial_property_particle_flag_rotate_y>`                           | ``false``               |
@@ -140,12 +158,24 @@ Properties
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`float<class_float>`                                          | :ref:`radial_accel_min<class_ParticleProcessMaterial_property_radial_accel_min>`                                       | ``0.0``                 |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`Texture2D<class_Texture2D>`                                  | :ref:`radial_velocity_curve<class_ParticleProcessMaterial_property_radial_velocity_curve>`                             |                         |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`float<class_float>`                                          | :ref:`radial_velocity_max<class_ParticleProcessMaterial_property_radial_velocity_max>`                                 | ``0.0``                 |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`float<class_float>`                                          | :ref:`radial_velocity_min<class_ParticleProcessMaterial_property_radial_velocity_min>`                                 | ``0.0``                 |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`Texture2D<class_Texture2D>`                                  | :ref:`scale_curve<class_ParticleProcessMaterial_property_scale_curve>`                                                 |                         |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`float<class_float>`                                          | :ref:`scale_max<class_ParticleProcessMaterial_property_scale_max>`                                                     | ``1.0``                 |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`float<class_float>`                                          | :ref:`scale_min<class_ParticleProcessMaterial_property_scale_min>`                                                     | ``1.0``                 |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`Texture2D<class_Texture2D>`                                  | :ref:`scale_over_velocity_curve<class_ParticleProcessMaterial_property_scale_over_velocity_curve>`                     |                         |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`float<class_float>`                                          | :ref:`scale_over_velocity_max<class_ParticleProcessMaterial_property_scale_over_velocity_max>`                         | ``0.0``                 |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`float<class_float>`                                          | :ref:`scale_over_velocity_min<class_ParticleProcessMaterial_property_scale_over_velocity_min>`                         | ``0.0``                 |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`float<class_float>`                                          | :ref:`spread<class_ParticleProcessMaterial_property_spread>`                                                           | ``45.0``                |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`int<class_int>`                                              | :ref:`sub_emitter_amount_at_collision<class_ParticleProcessMaterial_property_sub_emitter_amount_at_collision>`         |                         |
@@ -184,6 +214,10 @@ Properties
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
    | :ref:`float<class_float>`                                          | :ref:`turbulence_noise_strength<class_ParticleProcessMaterial_property_turbulence_noise_strength>`                     | ``1.0``                 |
    +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`Texture2D<class_Texture2D>`                                  | :ref:`velocity_limit_curve<class_ParticleProcessMaterial_property_velocity_limit_curve>`                               |                         |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`Vector3<class_Vector3>`                                      | :ref:`velocity_pivot<class_ParticleProcessMaterial_property_velocity_pivot>`                                           | ``Vector3(0, 0, 0)``    |
+   +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-------------------------+
 
 .. rst-class:: classref-reftable-group
 
@@ -322,11 +356,35 @@ Use with :ref:`set_param_min<class_ParticleProcessMaterial_method_set_param_min>
 
 Use with :ref:`set_param_min<class_ParticleProcessMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticleProcessMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticleProcessMaterial_method_set_param_texture>` to set animation offset properties.
 
+.. _class_ParticleProcessMaterial_constant_PARAM_RADIAL_VELOCITY:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` **PARAM_RADIAL_VELOCITY** = ``15``
+
+Use with :ref:`set_param_min<class_ParticleProcessMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticleProcessMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticleProcessMaterial_method_set_param_texture>` to set radial velocity properties.
+
+.. _class_ParticleProcessMaterial_constant_PARAM_DIRECTIONAL_VELOCITY:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` **PARAM_DIRECTIONAL_VELOCITY** = ``16``
+
+Use with :ref:`set_param_min<class_ParticleProcessMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticleProcessMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticleProcessMaterial_method_set_param_texture>` to set directional velocity properties.
+
+.. _class_ParticleProcessMaterial_constant_PARAM_SCALE_OVER_VELOCITY:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` **PARAM_SCALE_OVER_VELOCITY** = ``17``
+
+Use with :ref:`set_param_min<class_ParticleProcessMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticleProcessMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticleProcessMaterial_method_set_param_texture>` to set scale over velocity properties.
+
 .. _class_ParticleProcessMaterial_constant_PARAM_MAX:
 
 .. rst-class:: classref-enumeration-constant
 
-:ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` **PARAM_MAX** = ``15``
+:ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` **PARAM_MAX** = ``18``
 
 Represents the size of the :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` enum.
 
@@ -388,11 +446,19 @@ Use with :ref:`set_particle_flag<class_ParticleProcessMaterial_method_set_partic
 
 Use with :ref:`set_particle_flag<class_ParticleProcessMaterial_method_set_particle_flag>` to set :ref:`particle_flag_disable_z<class_ParticleProcessMaterial_property_particle_flag_disable_z>`.
 
+.. _class_ParticleProcessMaterial_constant_PARTICLE_FLAG_DAMPING_AS_FRICTION:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`ParticleFlags<enum_ParticleProcessMaterial_ParticleFlags>` **PARTICLE_FLAG_DAMPING_AS_FRICTION** = ``3``
+
+
+
 .. _class_ParticleProcessMaterial_constant_PARTICLE_FLAG_MAX:
 
 .. rst-class:: classref-enumeration-constant
 
-:ref:`ParticleFlags<enum_ParticleProcessMaterial_ParticleFlags>` **PARTICLE_FLAG_MAX** = ``3``
+:ref:`ParticleFlags<enum_ParticleProcessMaterial_ParticleFlags>` **PARTICLE_FLAG_MAX** = ``4``
 
 Represents the size of the :ref:`ParticleFlags<enum_ParticleProcessMaterial_ParticleFlags>` enum.
 
@@ -571,6 +637,23 @@ Represents the size of the :ref:`CollisionMode<enum_ParticleProcessMaterial_Coll
 Property Descriptions
 ---------------------
 
+.. _class_ParticleProcessMaterial_property_alpha_curve:
+
+.. rst-class:: classref-property
+
+:ref:`Texture2D<class_Texture2D>` **alpha_curve**
+
+.. rst-class:: classref-property-setget
+
+- void **set_alpha_curve** **(** :ref:`Texture2D<class_Texture2D>` value **)**
+- :ref:`Texture2D<class_Texture2D>` **get_alpha_curve** **(** **)**
+
+The alpha value of each particle's color will be multiplied by this :ref:`CurveTexture<class_CurveTexture>` over its lifetime.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ParticleProcessMaterial_property_angle_curve:
 
 .. rst-class:: classref-property
@@ -995,6 +1078,63 @@ Unit vector specifying the particles' emission direction.
 
 ----
 
+.. _class_ParticleProcessMaterial_property_directional_velocity_curve:
+
+.. rst-class:: classref-property
+
+:ref:`Texture2D<class_Texture2D>` **directional_velocity_curve**
+
+.. rst-class:: classref-property-setget
+
+- void **set_param_texture** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param, :ref:`Texture2D<class_Texture2D>` texture **)**
+- :ref:`Texture2D<class_Texture2D>` **get_param_texture** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param **)** |const|
+
+A curve that specifies the velocity along each of the axes of the particle system along its lifetime.
+
+\ **Note:** Animated velocities will not be affected by damping, use :ref:`velocity_limit_curve<class_ParticleProcessMaterial_property_velocity_limit_curve>` instead.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ParticleProcessMaterial_property_directional_velocity_max:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **directional_velocity_max**
+
+.. rst-class:: classref-property-setget
+
+- void **set_param_max** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param, :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_param_max** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param **)** |const|
+
+Maximum directional velocity value, which is multiplied by :ref:`directional_velocity_curve<class_ParticleProcessMaterial_property_directional_velocity_curve>`.
+
+\ **Note:** Animated velocities will not be affected by damping, use :ref:`velocity_limit_curve<class_ParticleProcessMaterial_property_velocity_limit_curve>` instead.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ParticleProcessMaterial_property_directional_velocity_min:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **directional_velocity_min**
+
+.. rst-class:: classref-property-setget
+
+- void **set_param_min** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param, :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_param_min** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param **)** |const|
+
+Minimum directional velocity value, which is multiplied by :ref:`directional_velocity_curve<class_ParticleProcessMaterial_property_directional_velocity_curve>`.
+
+\ **Note:** Animated velocities will not be affected by damping, use :ref:`velocity_limit_curve<class_ParticleProcessMaterial_property_velocity_limit_curve>` instead.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ParticleProcessMaterial_property_emission_box_extents:
 
 .. rst-class:: classref-property
@@ -1031,6 +1171,25 @@ Particle color will be modulated by color determined by sampling this texture at
 
 ----
 
+.. _class_ParticleProcessMaterial_property_emission_curve:
+
+.. rst-class:: classref-property
+
+:ref:`Texture2D<class_Texture2D>` **emission_curve**
+
+.. rst-class:: classref-property-setget
+
+- void **set_emission_curve** **(** :ref:`Texture2D<class_Texture2D>` value **)**
+- :ref:`Texture2D<class_Texture2D>` **get_emission_curve** **(** **)**
+
+Each particle's color will be multiplied by this :ref:`CurveTexture<class_CurveTexture>` over its lifetime.
+
+\ **Note:** This property won't have a visible effect unless the render material is marked as unshaded.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ParticleProcessMaterial_property_emission_normal_texture:
 
 .. rst-class:: classref-property
@@ -1167,6 +1326,40 @@ Particles will be emitted inside this region. Use :ref:`EmissionShape<enum_Parti
 
 ----
 
+.. _class_ParticleProcessMaterial_property_emission_shape_offset:
+
+.. rst-class:: classref-property
+
+:ref:`Vector3<class_Vector3>` **emission_shape_offset** = ``Vector3(0, 0, 0)``
+
+.. rst-class:: classref-property-setget
+
+- void **set_emission_shape_offset** **(** :ref:`Vector3<class_Vector3>` value **)**
+- :ref:`Vector3<class_Vector3>` **get_emission_shape_offset** **(** **)**
+
+The offset for the :ref:`emission_shape<class_ParticleProcessMaterial_property_emission_shape>`, in local space.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ParticleProcessMaterial_property_emission_shape_scale:
+
+.. rst-class:: classref-property
+
+:ref:`Vector3<class_Vector3>` **emission_shape_scale** = ``Vector3(1, 1, 1)``
+
+.. rst-class:: classref-property-setget
+
+- void **set_emission_shape_scale** **(** :ref:`Vector3<class_Vector3>` value **)**
+- :ref:`Vector3<class_Vector3>` **get_emission_shape_scale** **(** **)**
+
+The scale of the :ref:`emission_shape<class_ParticleProcessMaterial_property_emission_shape>`, in local space.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ParticleProcessMaterial_property_emission_sphere_radius:
 
 .. rst-class:: classref-property
@@ -1269,6 +1462,23 @@ Minimum equivalent of :ref:`hue_variation_max<class_ParticleProcessMaterial_prop
 
 ----
 
+.. _class_ParticleProcessMaterial_property_inherit_velocity_ratio:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **inherit_velocity_ratio** = ``0.0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_inherit_velocity_ratio** **(** :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_inherit_velocity_ratio** **(** **)**
+
+Percentage of the velocity of the respective :ref:`GPUParticles2D<class_GPUParticles2D>` or :ref:`GPUParticles3D<class_GPUParticles3D>` inherited by each particle when spawning.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ParticleProcessMaterial_property_initial_velocity_max:
 
 .. rst-class:: classref-property
@@ -1384,6 +1594,10 @@ Minimum equivalent of :ref:`linear_accel_max<class_ParticleProcessMaterial_prope
 
 Each particle's orbital velocity will vary along this :ref:`CurveTexture<class_CurveTexture>`.
 
+\ **Note:** For 3D orbital velocity, use a :ref:`CurveXYZTexture<class_CurveXYZTexture>`.
+
+\ **Note:** Animated velocities will not be affected by damping, use :ref:`velocity_limit_curve<class_ParticleProcessMaterial_property_velocity_limit_curve>` instead.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -1392,7 +1606,7 @@ Each particle's orbital velocity will vary along this :ref:`CurveTexture<class_C
 
 .. rst-class:: classref-property
 
-:ref:`float<class_float>` **orbit_velocity_max**
+:ref:`float<class_float>` **orbit_velocity_max** = ``0.0``
 
 .. rst-class:: classref-property-setget
 
@@ -1401,7 +1615,7 @@ Each particle's orbital velocity will vary along this :ref:`CurveTexture<class_C
 
 Maximum orbital velocity applied to each particle. Makes the particles circle around origin. Specified in number of full rotations around origin per second.
 
-Only available when :ref:`particle_flag_disable_z<class_ParticleProcessMaterial_property_particle_flag_disable_z>` is ``true``.
+\ **Note:** Animated velocities will not be affected by damping, use :ref:`velocity_limit_curve<class_ParticleProcessMaterial_property_velocity_limit_curve>` instead.
 
 .. rst-class:: classref-item-separator
 
@@ -1411,7 +1625,7 @@ Only available when :ref:`particle_flag_disable_z<class_ParticleProcessMaterial_
 
 .. rst-class:: classref-property
 
-:ref:`float<class_float>` **orbit_velocity_min**
+:ref:`float<class_float>` **orbit_velocity_min** = ``0.0``
 
 .. rst-class:: classref-property-setget
 
@@ -1420,6 +1634,8 @@ Only available when :ref:`particle_flag_disable_z<class_ParticleProcessMaterial_
 
 Minimum equivalent of :ref:`orbit_velocity_max<class_ParticleProcessMaterial_property_orbit_velocity_max>`.
 
+\ **Note:** Animated velocities will not be affected by damping, use :ref:`velocity_limit_curve<class_ParticleProcessMaterial_property_velocity_limit_curve>` instead.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -1441,6 +1657,23 @@ Align Y axis of particle with the direction of its velocity.
 
 ----
 
+.. _class_ParticleProcessMaterial_property_particle_flag_damping_as_friction:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **particle_flag_damping_as_friction** = ``false``
+
+.. rst-class:: classref-property-setget
+
+- void **set_particle_flag** **(** :ref:`ParticleFlags<enum_ParticleProcessMaterial_ParticleFlags>` particle_flag, :ref:`bool<class_bool>` enable **)**
+- :ref:`bool<class_bool>` **get_particle_flag** **(** :ref:`ParticleFlags<enum_ParticleProcessMaterial_ParticleFlags>` particle_flag **)** |const|
+
+Changes the behavior of the damping properties from a linear deceleration to a deceleration based on speed percentage.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ParticleProcessMaterial_property_particle_flag_disable_z:
 
 .. rst-class:: classref-property
@@ -1526,6 +1759,63 @@ Minimum equivalent of :ref:`radial_accel_max<class_ParticleProcessMaterial_prope
 
 ----
 
+.. _class_ParticleProcessMaterial_property_radial_velocity_curve:
+
+.. rst-class:: classref-property
+
+:ref:`Texture2D<class_Texture2D>` **radial_velocity_curve**
+
+.. rst-class:: classref-property-setget
+
+- void **set_param_texture** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param, :ref:`Texture2D<class_Texture2D>` texture **)**
+- :ref:`Texture2D<class_Texture2D>` **get_param_texture** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param **)** |const|
+
+A :ref:`CurveTexture<class_CurveTexture>` that defines the velocity over the particle's lifetime away (or toward) the :ref:`velocity_pivot<class_ParticleProcessMaterial_property_velocity_pivot>`.
+
+\ **Note:** Animated velocities will not be affected by damping, use :ref:`velocity_limit_curve<class_ParticleProcessMaterial_property_velocity_limit_curve>` instead.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ParticleProcessMaterial_property_radial_velocity_max:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **radial_velocity_max** = ``0.0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_param_max** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param, :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_param_max** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param **)** |const|
+
+Maximum radial velocity applied to each particle. Makes particles move away from the :ref:`velocity_pivot<class_ParticleProcessMaterial_property_velocity_pivot>`, or toward it if negative.
+
+\ **Note:** Animated velocities will not be affected by damping, use :ref:`velocity_limit_curve<class_ParticleProcessMaterial_property_velocity_limit_curve>` instead.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ParticleProcessMaterial_property_radial_velocity_min:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **radial_velocity_min** = ``0.0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_param_min** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param, :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_param_min** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param **)** |const|
+
+Minimum radial velocity applied to each particle. Makes particles move away from the :ref:`velocity_pivot<class_ParticleProcessMaterial_property_velocity_pivot>`, or toward it if negative.
+
+\ **Note:** Animated velocities will not be affected by damping, use :ref:`velocity_limit_curve<class_ParticleProcessMaterial_property_velocity_limit_curve>` instead.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ParticleProcessMaterial_property_scale_curve:
 
 .. rst-class:: classref-property
@@ -1577,6 +1867,61 @@ Minimum equivalent of :ref:`scale_max<class_ParticleProcessMaterial_property_sca
 
 ----
 
+.. _class_ParticleProcessMaterial_property_scale_over_velocity_curve:
+
+.. rst-class:: classref-property
+
+:ref:`Texture2D<class_Texture2D>` **scale_over_velocity_curve**
+
+.. rst-class:: classref-property-setget
+
+- void **set_param_texture** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param, :ref:`Texture2D<class_Texture2D>` texture **)**
+- :ref:`Texture2D<class_Texture2D>` **get_param_texture** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param **)** |const|
+
+Either a :ref:`CurveTexture<class_CurveTexture>` or a :ref:`CurveXYZTexture<class_CurveXYZTexture>` that scales each particle based on its velocity.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ParticleProcessMaterial_property_scale_over_velocity_max:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **scale_over_velocity_max** = ``0.0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_param_max** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param, :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_param_max** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param **)** |const|
+
+Maximum velocity value reference for :ref:`scale_over_velocity_curve<class_ParticleProcessMaterial_property_scale_over_velocity_curve>`.
+
+\ :ref:`scale_over_velocity_curve<class_ParticleProcessMaterial_property_scale_over_velocity_curve>` will be interpolated between :ref:`scale_over_velocity_min<class_ParticleProcessMaterial_property_scale_over_velocity_min>` and :ref:`scale_over_velocity_max<class_ParticleProcessMaterial_property_scale_over_velocity_max>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ParticleProcessMaterial_property_scale_over_velocity_min:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **scale_over_velocity_min** = ``0.0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_param_min** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param, :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_param_min** **(** :ref:`Parameter<enum_ParticleProcessMaterial_Parameter>` param **)** |const|
+
+Minimum velocity value reference for :ref:`scale_over_velocity_curve<class_ParticleProcessMaterial_property_scale_over_velocity_curve>`.
+
+\ :ref:`scale_over_velocity_curve<class_ParticleProcessMaterial_property_scale_over_velocity_curve>` will be interpolated between :ref:`scale_over_velocity_min<class_ParticleProcessMaterial_property_scale_over_velocity_min>` and :ref:`scale_over_velocity_max<class_ParticleProcessMaterial_property_scale_over_velocity_max>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ParticleProcessMaterial_property_spread:
 
 .. rst-class:: classref-property
@@ -1922,6 +2267,42 @@ A value of 0.0 will result in a fixed pattern.
 
 The turbulence noise strength. Increasing this will result in a stronger, more contrasting, flow pattern.
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ParticleProcessMaterial_property_velocity_limit_curve:
+
+.. rst-class:: classref-property
+
+:ref:`Texture2D<class_Texture2D>` **velocity_limit_curve**
+
+.. rst-class:: classref-property-setget
+
+- void **set_velocity_limit_curve** **(** :ref:`Texture2D<class_Texture2D>` value **)**
+- :ref:`Texture2D<class_Texture2D>` **get_velocity_limit_curve** **(** **)**
+
+A :ref:`CurveTexture<class_CurveTexture>` that defines the maximum velocity of a particle during its lifetime.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ParticleProcessMaterial_property_velocity_pivot:
+
+.. rst-class:: classref-property
+
+:ref:`Vector3<class_Vector3>` **velocity_pivot** = ``Vector3(0, 0, 0)``
+
+.. rst-class:: classref-property-setget
+
+- void **set_velocity_pivot** **(** :ref:`Vector3<class_Vector3>` value **)**
+- :ref:`Vector3<class_Vector3>` **get_velocity_pivot** **(** **)**
+
+.. container:: contribute
+
+	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 .. rst-class:: classref-section-separator
 
 ----

+ 90 - 8
classes/class_projectsettings.rst

@@ -145,6 +145,10 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`compression/formats/zstd/window_log_size<class_ProjectSettings_property_compression/formats/zstd/window_log_size>`                                                                                   | ``27``                                                                                           |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`Color<class_Color>`                         | :ref:`debug/canvas_items/debug_redraw_color<class_ProjectSettings_property_debug/canvas_items/debug_redraw_color>`                                                                                         | ``Color(1, 0.2, 0.2, 0.5)``                                                                      |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`debug/canvas_items/debug_redraw_time<class_ProjectSettings_property_debug/canvas_items/debug_redraw_time>`                                                                                           | ``1.0``                                                                                          |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`debug/file_logging/enable_file_logging<class_ProjectSettings_property_debug/file_logging/enable_file_logging>`                                                                                       | ``false``                                                                                        |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`debug/file_logging/enable_file_logging.pc<class_ProjectSettings_property_debug/file_logging/enable_file_logging.pc>`                                                                                 | ``true``                                                                                         |
@@ -665,6 +669,10 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                       | :ref:`input_devices/pen_tablet/driver.windows<class_ProjectSettings_property_input_devices/pen_tablet/driver.windows>`                                                                                     |                                                                                                  |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`input_devices/pointing/android/enable_long_press_as_right_click<class_ProjectSettings_property_input_devices/pointing/android/enable_long_press_as_right_click>`                                     | ``false``                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`input_devices/pointing/android/enable_pan_and_scale_gestures<class_ProjectSettings_property_input_devices/pointing/android/enable_pan_and_scale_gestures>`                                           | ``false``                                                                                        |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`input_devices/pointing/emulate_mouse_from_touch<class_ProjectSettings_property_input_devices/pointing/emulate_mouse_from_touch>`                                                                     | ``true``                                                                                         |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`input_devices/pointing/emulate_touch_from_mouse<class_ProjectSettings_property_input_devices/pointing/emulate_touch_from_mouse>`                                                                     | ``false``                                                                                        |
@@ -1337,19 +1345,21 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`rendering/lightmapping/bake_quality/high_quality_probe_ray_count<class_ProjectSettings_property_rendering/lightmapping/bake_quality/high_quality_probe_ray_count>`                                   | ``512``                                                                                          |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                             | :ref:`rendering/lightmapping/bake_quality/high_quality_ray_count<class_ProjectSettings_property_rendering/lightmapping/bake_quality/high_quality_ray_count>`                                               | ``256``                                                                                          |
+   | :ref:`int<class_int>`                             | :ref:`rendering/lightmapping/bake_quality/high_quality_ray_count<class_ProjectSettings_property_rendering/lightmapping/bake_quality/high_quality_ray_count>`                                               | ``512``                                                                                          |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`rendering/lightmapping/bake_quality/low_quality_probe_ray_count<class_ProjectSettings_property_rendering/lightmapping/bake_quality/low_quality_probe_ray_count>`                                     | ``64``                                                                                           |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                             | :ref:`rendering/lightmapping/bake_quality/low_quality_ray_count<class_ProjectSettings_property_rendering/lightmapping/bake_quality/low_quality_ray_count>`                                                 | ``16``                                                                                           |
+   | :ref:`int<class_int>`                             | :ref:`rendering/lightmapping/bake_quality/low_quality_ray_count<class_ProjectSettings_property_rendering/lightmapping/bake_quality/low_quality_ray_count>`                                                 | ``32``                                                                                           |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`rendering/lightmapping/bake_quality/medium_quality_probe_ray_count<class_ProjectSettings_property_rendering/lightmapping/bake_quality/medium_quality_probe_ray_count>`                               | ``256``                                                                                          |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                             | :ref:`rendering/lightmapping/bake_quality/medium_quality_ray_count<class_ProjectSettings_property_rendering/lightmapping/bake_quality/medium_quality_ray_count>`                                           | ``64``                                                                                           |
+   | :ref:`int<class_int>`                             | :ref:`rendering/lightmapping/bake_quality/medium_quality_ray_count<class_ProjectSettings_property_rendering/lightmapping/bake_quality/medium_quality_ray_count>`                                           | ``128``                                                                                          |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`rendering/lightmapping/bake_quality/ultra_quality_probe_ray_count<class_ProjectSettings_property_rendering/lightmapping/bake_quality/ultra_quality_probe_ray_count>`                                 | ``2048``                                                                                         |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                             | :ref:`rendering/lightmapping/bake_quality/ultra_quality_ray_count<class_ProjectSettings_property_rendering/lightmapping/bake_quality/ultra_quality_ray_count>`                                             | ``1024``                                                                                         |
+   | :ref:`int<class_int>`                             | :ref:`rendering/lightmapping/bake_quality/ultra_quality_ray_count<class_ProjectSettings_property_rendering/lightmapping/bake_quality/ultra_quality_ray_count>`                                             | ``2048``                                                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`rendering/lightmapping/denoising/denoiser<class_ProjectSettings_property_rendering/lightmapping/denoising/denoiser>`                                                                                 | ``0``                                                                                            |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                         | :ref:`rendering/lightmapping/primitive_meshes/texel_size<class_ProjectSettings_property_rendering/lightmapping/primitive_meshes/texel_size>`                                                               | ``0.2``                                                                                          |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
@@ -2272,6 +2282,30 @@ Largest size limit (in power of 2) allowed when compressing using long-distance
 
 ----
 
+.. _class_ProjectSettings_property_debug/canvas_items/debug_redraw_color:
+
+.. rst-class:: classref-property
+
+:ref:`Color<class_Color>` **debug/canvas_items/debug_redraw_color** = ``Color(1, 0.2, 0.2, 0.5)``
+
+If canvas item redraw debugging is active, this color will be flashed on canvas items when they redraw.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_debug/canvas_items/debug_redraw_time:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **debug/canvas_items/debug_redraw_time** = ``1.0``
+
+If canvas item redraw debugging is active, this will be the time the flash will last each time they redraw.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_debug/file_logging/enable_file_logging:
 
 .. rst-class:: classref-property
@@ -5632,6 +5666,30 @@ Override for :ref:`input_devices/pen_tablet/driver<class_ProjectSettings_propert
 
 ----
 
+.. _class_ProjectSettings_property_input_devices/pointing/android/enable_long_press_as_right_click:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **input_devices/pointing/android/enable_long_press_as_right_click** = ``false``
+
+If ``true``, long press events on an Android touchscreen are transformed into right click events.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_input_devices/pointing/android/enable_pan_and_scale_gestures:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **input_devices/pointing/android/enable_pan_and_scale_gestures** = ``false``
+
+If ``true``, multi-touch pan and scale gestures are enabled on Android devices.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_input_devices/pointing/emulate_mouse_from_touch:
 
 .. rst-class:: classref-property
@@ -9840,7 +9898,7 @@ The number of rays to use for baking dynamic object lighting in :ref:`LightmapPr
 
 .. rst-class:: classref-property
 
-:ref:`int<class_int>` **rendering/lightmapping/bake_quality/high_quality_ray_count** = ``256``
+:ref:`int<class_int>` **rendering/lightmapping/bake_quality/high_quality_ray_count** = ``512``
 
 The number of rays to use for baking lightmaps with :ref:`LightmapGI<class_LightmapGI>` when :ref:`LightmapGI.quality<class_LightmapGI_property_quality>` is :ref:`LightmapGI.BAKE_QUALITY_HIGH<class_LightmapGI_constant_BAKE_QUALITY_HIGH>`.
 
@@ -9864,7 +9922,7 @@ The number of rays to use for baking dynamic object lighting in :ref:`LightmapPr
 
 .. rst-class:: classref-property
 
-:ref:`int<class_int>` **rendering/lightmapping/bake_quality/low_quality_ray_count** = ``16``
+:ref:`int<class_int>` **rendering/lightmapping/bake_quality/low_quality_ray_count** = ``32``
 
 The number of rays to use for baking lightmaps with :ref:`LightmapGI<class_LightmapGI>` when :ref:`LightmapGI.quality<class_LightmapGI_property_quality>` is :ref:`LightmapGI.BAKE_QUALITY_LOW<class_LightmapGI_constant_BAKE_QUALITY_LOW>`.
 
@@ -9888,7 +9946,7 @@ The number of rays to use for baking dynamic object lighting in :ref:`LightmapPr
 
 .. rst-class:: classref-property
 
-:ref:`int<class_int>` **rendering/lightmapping/bake_quality/medium_quality_ray_count** = ``64``
+:ref:`int<class_int>` **rendering/lightmapping/bake_quality/medium_quality_ray_count** = ``128``
 
 The number of rays to use for baking lightmaps with :ref:`LightmapGI<class_LightmapGI>` when :ref:`LightmapGI.quality<class_LightmapGI_property_quality>` is :ref:`LightmapGI.BAKE_QUALITY_MEDIUM<class_LightmapGI_constant_BAKE_QUALITY_MEDIUM>`.
 
@@ -9912,7 +9970,7 @@ The number of rays to use for baking dynamic object lighting in :ref:`LightmapPr
 
 .. rst-class:: classref-property
 
-:ref:`int<class_int>` **rendering/lightmapping/bake_quality/ultra_quality_ray_count** = ``1024``
+:ref:`int<class_int>` **rendering/lightmapping/bake_quality/ultra_quality_ray_count** = ``2048``
 
 The number of rays to use for baking lightmaps with :ref:`LightmapGI<class_LightmapGI>` when :ref:`LightmapGI.quality<class_LightmapGI_property_quality>` is :ref:`LightmapGI.BAKE_QUALITY_ULTRA<class_LightmapGI_constant_BAKE_QUALITY_ULTRA>`.
 
@@ -9920,6 +9978,30 @@ The number of rays to use for baking lightmaps with :ref:`LightmapGI<class_Light
 
 ----
 
+.. _class_ProjectSettings_property_rendering/lightmapping/denoising/denoiser:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **rendering/lightmapping/denoising/denoiser** = ``0``
+
+Denoiser tool used for denoising lightmaps.
+
+Using `OpenImageDenoise <https://www.openimagedenoise.org/>`__ (OIDN) requires configuring a path to an OIDN executable in the editor settings at :ref:`EditorSettings.filesystem/tools/oidn/oidn_denoise_path<class_EditorSettings_property_filesystem/tools/oidn/oidn_denoise_path>`. OIDN can be downloaded from `OpenImageDenoise's downloads page <https://www.openimagedenoise.org/downloads.html>`__.
+
+OIDN will use GPU acceleration when available. Unlike JNLM which uses compute shaders for acceleration, OIDN uses vendor-specific acceleration methods. For GPU acceleration to be available, the following libraries must be installed on the system depending on your GPU:
+
+- NVIDIA GPUs: CUDA libraries
+
+- AMD GPUs: HIP libraries
+
+- Intel GPUs: SYCL libraries
+
+If no GPU acceleration is configured on the system, multi-threaded CPU-based denoising will be performed instead. This CPU-based denoising is significantly slower than the JNLM denoiser in most cases.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_rendering/lightmapping/primitive_meshes/texel_size:
 
 .. rst-class:: classref-property

+ 1 - 1
classes/class_refcounted.rst

@@ -111,7 +111,7 @@ Returns ``true`` if the increment was successful, ``false`` otherwise.
 
 Decrements the internal reference counter. Use this only if you really know what you are doing.
 
-Returns ``true`` if the decrement was successful, ``false`` otherwise.
+Returns ``true`` if the object should be freed after the decrement, ``false`` otherwise.
 
 .. |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.)`

+ 42 - 0
classes/class_renderingserver.rst

@@ -667,6 +667,8 @@ Methods
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`particles_set_amount<class_RenderingServer_method_particles_set_amount>` **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` amount **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                             | :ref:`particles_set_amount_ratio<class_RenderingServer_method_particles_set_amount_ratio>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` ratio **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
+   +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`particles_set_collision_base_size<class_RenderingServer_method_particles_set_collision_base_size>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` size **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`particles_set_custom_aabb<class_RenderingServer_method_particles_set_custom_aabb>` **(** :ref:`RID<class_RID>` particles, :ref:`AABB<class_AABB>` aabb **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
@@ -679,6 +681,8 @@ Methods
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`particles_set_emission_transform<class_RenderingServer_method_particles_set_emission_transform>` **(** :ref:`RID<class_RID>` particles, :ref:`Transform3D<class_Transform3D>` transform **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                             | :ref:`particles_set_emitter_velocity<class_RenderingServer_method_particles_set_emitter_velocity>` **(** :ref:`RID<class_RID>` particles, :ref:`Vector3<class_Vector3>` velocity **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
+   +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`particles_set_emitting<class_RenderingServer_method_particles_set_emitting>` **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` emitting **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`particles_set_explosiveness_ratio<class_RenderingServer_method_particles_set_explosiveness_ratio>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` ratio **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
@@ -687,6 +691,8 @@ Methods
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`particles_set_fractional_delta<class_RenderingServer_method_particles_set_fractional_delta>` **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` enable **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                             | :ref:`particles_set_interp_to_end<class_RenderingServer_method_particles_set_interp_to_end>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` factor **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
+   +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`particles_set_interpolate<class_RenderingServer_method_particles_set_interpolate>` **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` enable **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`particles_set_lifetime<class_RenderingServer_method_particles_set_lifetime>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` lifetime **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
@@ -9247,6 +9253,18 @@ Sets the number of particles to be drawn and allocates the memory for them. Equi
 
 ----
 
+.. _class_RenderingServer_method_particles_set_amount_ratio:
+
+.. rst-class:: classref-method
+
+void **particles_set_amount_ratio** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` ratio **)**
+
+Sets the amount ratio for particles to be emitted. Equivalent to :ref:`GPUParticles3D.amount_ratio<class_GPUParticles3D_property_amount_ratio>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_RenderingServer_method_particles_set_collision_base_size:
 
 .. rst-class:: classref-method
@@ -9321,6 +9339,18 @@ Sets the :ref:`Transform3D<class_Transform3D>` that will be used by the particle
 
 ----
 
+.. _class_RenderingServer_method_particles_set_emitter_velocity:
+
+.. rst-class:: classref-method
+
+void **particles_set_emitter_velocity** **(** :ref:`RID<class_RID>` particles, :ref:`Vector3<class_Vector3>` velocity **)**
+
+Sets the velocity of a particle node, that will be used by :ref:`ParticleProcessMaterial.inherit_velocity_ratio<class_ParticleProcessMaterial_property_inherit_velocity_ratio>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_RenderingServer_method_particles_set_emitting:
 
 .. rst-class:: classref-method
@@ -9369,6 +9399,18 @@ If ``true``, uses fractional delta which smooths the movement of the particles.
 
 ----
 
+.. _class_RenderingServer_method_particles_set_interp_to_end:
+
+.. rst-class:: classref-method
+
+void **particles_set_interp_to_end** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` factor **)**
+
+Sets the value that informs a :ref:`ParticleProcessMaterial<class_ParticleProcessMaterial>` to rush all particles towards the end of their lifetime.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_RenderingServer_method_particles_set_interpolate:
 
 .. rst-class:: classref-method

+ 19 - 5
classes/class_resourceimporterbmfont.rst

@@ -40,11 +40,13 @@ Properties
 .. table::
    :widths: auto
 
-   +---------------------------+-------------------------------------------------------------------+----------+
-   | :ref:`bool<class_bool>`   | :ref:`compress<class_ResourceImporterBMFont_property_compress>`   | ``true`` |
-   +---------------------------+-------------------------------------------------------------------+----------+
-   | :ref:`Array<class_Array>` | :ref:`fallbacks<class_ResourceImporterBMFont_property_fallbacks>` | ``[]``   |
-   +---------------------------+-------------------------------------------------------------------+----------+
+   +---------------------------+-------------------------------------------------------------------------+----------+
+   | :ref:`bool<class_bool>`   | :ref:`compress<class_ResourceImporterBMFont_property_compress>`         | ``true`` |
+   +---------------------------+-------------------------------------------------------------------------+----------+
+   | :ref:`Array<class_Array>` | :ref:`fallbacks<class_ResourceImporterBMFont_property_fallbacks>`       | ``[]``   |
+   +---------------------------+-------------------------------------------------------------------------+----------+
+   | :ref:`int<class_int>`     | :ref:`scaling_mode<class_ResourceImporterBMFont_property_scaling_mode>` | ``2``    |
+   +---------------------------+-------------------------------------------------------------------------+----------+
 
 .. rst-class:: classref-section-separator
 
@@ -75,6 +77,18 @@ If ``true``, uses lossless compression for the resulting font.
 
 List of font fallbacks to use if a glyph isn't found in this bitmap font. Fonts at the beginning of the array are attempted first.
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ResourceImporterBMFont_property_scaling_mode:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **scaling_mode** = ``2``
+
+Font scaling mode.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 14 - 0
classes/class_resourceimporterimagefont.rst

@@ -53,6 +53,8 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+
    | :ref:`int<class_int>`                             | :ref:`rows<class_ResourceImporterImageFont_property_rows>`                         | ``1``                   |
    +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`int<class_int>`                             | :ref:`scaling_mode<class_ResourceImporterImageFont_property_scaling_mode>`         | ``2``                   |
+   +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -147,6 +149,18 @@ Margin to cut on the sides of the entire image. This can be used to cut parts of
 
 Number of rows in the font image. See also :ref:`columns<class_ResourceImporterImageFont_property_columns>`.
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ResourceImporterImageFont_property_scaling_mode:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **scaling_mode** = ``2``
+
+Font scaling mode.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 16 - 0
classes/class_scriptlanguageextension.rst

@@ -67,6 +67,8 @@ Methods
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`_get_comment_delimiters<class_ScriptLanguageExtension_method__get_comment_delimiters>` **(** **)** |virtual| |const|                                                                                                                                                                                                                       |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`_get_doc_comment_delimiters<class_ScriptLanguageExtension_method__get_doc_comment_delimiters>` **(** **)** |virtual| |const|                                                                                                                                                                                                               |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                       | :ref:`_get_extension<class_ScriptLanguageExtension_method__get_extension>` **(** **)** |virtual| |const|                                                                                                                                                                                                                                         |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Dictionary<class_Dictionary>`               | :ref:`_get_global_class_name<class_ScriptLanguageExtension_method__get_global_class_name>` **(** :ref:`String<class_String>` path **)** |virtual| |const|                                                                                                                                                                                        |
@@ -672,6 +674,20 @@ void **_frame** **(** **)** |virtual|
 
 ----
 
+.. _class_ScriptLanguageExtension_method__get_doc_comment_delimiters:
+
+.. rst-class:: classref-method
+
+:ref:`PackedStringArray<class_PackedStringArray>` **_get_doc_comment_delimiters** **(** **)** |virtual| |const|
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ScriptLanguageExtension_method__get_extension:
 
 .. rst-class:: classref-method

+ 2 - 0
classes/class_spinbox.rst

@@ -48,6 +48,8 @@ The above code will create a **SpinBox**, disable context menu on it and set the
 
 See :ref:`Range<class_Range>` class for more options over the **SpinBox**.
 
+\ **Note:** With the **SpinBox**'s context menu disabled, you can right-click the bottom half of the spinbox to set the value to its minimum, while right-clicking the top half sets the value to its maximum.
+
 \ **Note:** **SpinBox** relies on an underlying :ref:`LineEdit<class_LineEdit>` node. To theme a **SpinBox**'s background, add theme items for :ref:`LineEdit<class_LineEdit>` and customize them.
 
 \ **Note:** If you want to implement drag and drop for the underlying :ref:`LineEdit<class_LineEdit>`, you can use :ref:`Control.set_drag_forwarding<class_Control_method_set_drag_forwarding>` on the node returned by :ref:`get_line_edit<class_SpinBox_method_get_line_edit>`.

+ 62 - 0
classes/class_textserver.rst

@@ -68,6 +68,8 @@ Methods
    +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                           | :ref:`font_get_fixed_size<class_TextServer_method_font_get_fixed_size>` **(** :ref:`RID<class_RID>` font_rid **)** |const|                                                                                                                                                                                                                                             |
    +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>`   | :ref:`font_get_fixed_size_scale_mode<class_TextServer_method_font_get_fixed_size_scale_mode>` **(** :ref:`RID<class_RID>` font_rid **)** |const|                                                                                                                                                                                                                       |
+   +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                         | :ref:`font_get_generate_mipmaps<class_TextServer_method_font_get_generate_mipmaps>` **(** :ref:`RID<class_RID>` font_rid **)** |const|                                                                                                                                                                                                                                 |
    +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                                       | :ref:`font_get_global_oversampling<class_TextServer_method_font_get_global_oversampling>` **(** **)** |const|                                                                                                                                                                                                                                                          |
@@ -194,6 +196,8 @@ Methods
    +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                            | :ref:`font_set_fixed_size<class_TextServer_method_font_set_fixed_size>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` fixed_size **)**                                                                                                                                                                                                                   |
    +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                            | :ref:`font_set_fixed_size_scale_mode<class_TextServer_method_font_set_fixed_size_scale_mode>` **(** :ref:`RID<class_RID>` font_rid, :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` fixed_size_scale_mode **)**                                                                                                                                          |
+   +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                            | :ref:`font_set_force_autohinter<class_TextServer_method_font_set_force_autohinter>` **(** :ref:`RID<class_RID>` font_rid, :ref:`bool<class_bool>` force_autohinter **)**                                                                                                                                                                                               |
    +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                            | :ref:`font_set_generate_mipmaps<class_TextServer_method_font_set_generate_mipmaps>` **(** :ref:`RID<class_RID>` font_rid, :ref:`bool<class_bool>` generate_mipmaps **)**                                                                                                                                                                                               |
@@ -1474,6 +1478,40 @@ BiDi override for GDScript.
 
 User defined structured text BiDi override function.
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _enum_TextServer_FixedSizeScaleMode:
+
+.. rst-class:: classref-enumeration
+
+enum **FixedSizeScaleMode**:
+
+.. _class_TextServer_constant_FIXED_SIZE_SCALE_DISABLE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` **FIXED_SIZE_SCALE_DISABLE** = ``0``
+
+Bitmap font is not scaled.
+
+.. _class_TextServer_constant_FIXED_SIZE_SCALE_INTEGER_ONLY:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` **FIXED_SIZE_SCALE_INTEGER_ONLY** = ``1``
+
+Bitmap font is scaled to the closest integer multiple of the font's fixed size. This is the recommended option for pixel art fonts.
+
+.. _class_TextServer_constant_FIXED_SIZE_SCALE_ENABLED:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` **FIXED_SIZE_SCALE_ENABLED** = ``2``
+
+Bitmap font is scaled to an arbitrary (fractional) size. This is the recommended option for non-pixel art fonts.
+
 .. rst-class:: classref-section-separator
 
 ----
@@ -1715,6 +1753,18 @@ Returns bitmap font fixed size.
 
 ----
 
+.. _class_TextServer_method_font_get_fixed_size_scale_mode:
+
+.. rst-class:: classref-method
+
+:ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` **font_get_fixed_size_scale_mode** **(** :ref:`RID<class_RID>` font_rid **)** |const|
+
+Returned bitmap font scaling mode.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_TextServer_method_font_get_generate_mipmaps:
 
 .. rst-class:: classref-method
@@ -2487,6 +2537,18 @@ Sets bitmap font fixed size. If set to value greater than zero, same cache entry
 
 ----
 
+.. _class_TextServer_method_font_set_fixed_size_scale_mode:
+
+.. rst-class:: classref-method
+
+void **font_set_fixed_size_scale_mode** **(** :ref:`RID<class_RID>` font_rid, :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` fixed_size_scale_mode **)**
+
+Sets bitmap font scaling mode. This property is used only if ``fixed_size`` is greater than zero.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_TextServer_method_font_set_force_autohinter:
 
 .. rst-class:: classref-method

+ 32 - 0
classes/class_textserverextension.rst

@@ -70,6 +70,8 @@ Methods
    +-----------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                           | :ref:`_font_get_fixed_size<class_TextServerExtension_method__font_get_fixed_size>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|                                                                                                                                                                                                                            |
    +-----------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>`   | :ref:`_font_get_fixed_size_scale_mode<class_TextServerExtension_method__font_get_fixed_size_scale_mode>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|                                                                                                                                                                                                      |
+   +-----------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                         | :ref:`_font_get_generate_mipmaps<class_TextServerExtension_method__font_get_generate_mipmaps>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|                                                                                                                                                                                                                |
    +-----------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                                       | :ref:`_font_get_global_oversampling<class_TextServerExtension_method__font_get_global_oversampling>` **(** **)** |virtual| |const|                                                                                                                                                                                                                                         |
@@ -198,6 +200,8 @@ Methods
    +-----------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                            | :ref:`_font_set_fixed_size<class_TextServerExtension_method__font_set_fixed_size>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` fixed_size **)** |virtual|                                                                                                                                                                                                  |
    +-----------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                            | :ref:`_font_set_fixed_size_scale_mode<class_TextServerExtension_method__font_set_fixed_size_scale_mode>` **(** :ref:`RID<class_RID>` font_rid, :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` fixed_size_scale_mode **)** |virtual|                                                                                                                         |
+   +-----------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                            | :ref:`_font_set_force_autohinter<class_TextServerExtension_method__font_set_force_autohinter>` **(** :ref:`RID<class_RID>` font_rid, :ref:`bool<class_bool>` force_autohinter **)** |virtual|                                                                                                                                                                              |
    +-----------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                            | :ref:`_font_set_generate_mipmaps<class_TextServerExtension_method__font_set_generate_mipmaps>` **(** :ref:`RID<class_RID>` font_rid, :ref:`bool<class_bool>` generate_mipmaps **)** |virtual|                                                                                                                                                                              |
@@ -716,6 +720,20 @@ void **_font_draw_glyph_outline** **(** :ref:`RID<class_RID>` font_rid, :ref:`RI
 
 ----
 
+.. _class_TextServerExtension_method__font_get_fixed_size_scale_mode:
+
+.. rst-class:: classref-method
+
+:ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` **_font_get_fixed_size_scale_mode** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_TextServerExtension_method__font_get_generate_mipmaps:
 
 .. rst-class:: classref-method
@@ -1612,6 +1630,20 @@ void **_font_set_fixed_size** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<cl
 
 ----
 
+.. _class_TextServerExtension_method__font_set_fixed_size_scale_mode:
+
+.. rst-class:: classref-method
+
+void **_font_set_fixed_size_scale_mode** **(** :ref:`RID<class_RID>` font_rid, :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` fixed_size_scale_mode **)** |virtual|
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_TextServerExtension_method__font_set_force_autohinter:
 
 .. rst-class:: classref-method

+ 28 - 0
classes/class_tilemap.rst

@@ -129,6 +129,8 @@ Methods
    +---------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                     | :ref:`is_layer_enabled<class_TileMap_method_is_layer_enabled>` **(** :ref:`int<class_int>` layer **)** |const|                                                                                                                                                                          |
    +---------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                     | :ref:`is_layer_navigation_enabled<class_TileMap_method_is_layer_navigation_enabled>` **(** :ref:`int<class_int>` layer **)** |const|                                                                                                                                                    |
+   +---------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                     | :ref:`is_layer_y_sort_enabled<class_TileMap_method_is_layer_y_sort_enabled>` **(** :ref:`int<class_int>` layer **)** |const|                                                                                                                                                            |
    +---------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Vector2i<class_Vector2i>`             | :ref:`local_to_map<class_TileMap_method_local_to_map>` **(** :ref:`Vector2<class_Vector2>` local_position **)** |const|                                                                                                                                                                 |
@@ -155,6 +157,8 @@ Methods
    +---------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                        | :ref:`set_layer_name<class_TileMap_method_set_layer_name>` **(** :ref:`int<class_int>` layer, :ref:`String<class_String>` name **)**                                                                                                                                                    |
    +---------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                        | :ref:`set_layer_navigation_enabled<class_TileMap_method_set_layer_navigation_enabled>` **(** :ref:`int<class_int>` layer, :ref:`bool<class_bool>` enabled **)**                                                                                                                         |
+   +---------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                        | :ref:`set_layer_navigation_map<class_TileMap_method_set_layer_navigation_map>` **(** :ref:`int<class_int>` layer, :ref:`RID<class_RID>` map **)**                                                                                                                                       |
    +---------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                        | :ref:`set_layer_y_sort_enabled<class_TileMap_method_set_layer_y_sort_enabled>` **(** :ref:`int<class_int>` layer, :ref:`bool<class_bool>` y_sort_enabled **)**                                                                                                                          |
@@ -729,6 +733,18 @@ If ``layer`` is negative, the layers are accessed from the last one.
 
 ----
 
+.. _class_TileMap_method_is_layer_navigation_enabled:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **is_layer_navigation_enabled** **(** :ref:`int<class_int>` layer **)** |const|
+
+Returns if a layer's built-in navigation regions generation is enabled.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_TileMap_method_is_layer_y_sort_enabled:
 
 .. rst-class:: classref-method
@@ -923,6 +939,18 @@ If ``layer`` is negative, the layers are accessed from the last one.
 
 ----
 
+.. _class_TileMap_method_set_layer_navigation_enabled:
+
+.. rst-class:: classref-method
+
+void **set_layer_navigation_enabled** **(** :ref:`int<class_int>` layer, :ref:`bool<class_bool>` enabled **)**
+
+Enables or disables a layer's built-in navigation regions generation. Disable this if you need to bake navigation regions from a TileMap using a :ref:`NavigationRegion2D<class_NavigationRegion2D>` node.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_TileMap_method_set_layer_navigation_map:
 
 .. rst-class:: classref-method

+ 20 - 1
classes/class_viewport.rst

@@ -75,6 +75,8 @@ Properties
    +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+
    | :ref:`DebugDraw<enum_Viewport_DebugDraw>`                                                     | :ref:`debug_draw<class_Viewport_property_debug_draw>`                                                 | ``0``          |
    +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+
+   | :ref:`bool<class_bool>`                                                                       | :ref:`disable_2d<class_Viewport_property_disable_2d>`                                                 | ``false``      |
+   +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+
    | :ref:`bool<class_bool>`                                                                       | :ref:`disable_3d<class_Viewport_property_disable_3d>`                                                 | ``false``      |
    +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+
    | :ref:`float<class_float>`                                                                     | :ref:`fsr_sharpness<class_Viewport_property_fsr_sharpness>`                                           | ``0.2``        |
@@ -1106,6 +1108,23 @@ The overlay mode for test rendered geometry in debug purposes.
 
 ----
 
+.. _class_Viewport_property_disable_2d:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **disable_2d** = ``false``
+
+.. rst-class:: classref-property-setget
+
+- void **set_disable_2d** **(** :ref:`bool<class_bool>` value **)**
+- :ref:`bool<class_bool>` **is_2d_disabled** **(** **)**
+
+If ``true``, disables 2D rendering while keeping 3D rendering. See also :ref:`disable_3d<class_Viewport_property_disable_3d>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_Viewport_property_disable_3d:
 
 .. rst-class:: classref-property
@@ -1117,7 +1136,7 @@ The overlay mode for test rendered geometry in debug purposes.
 - void **set_disable_3d** **(** :ref:`bool<class_bool>` value **)**
 - :ref:`bool<class_bool>` **is_3d_disabled** **(** **)**
 
-Disable 3D rendering (but keep 2D rendering).
+If ``true``, disables 3D rendering while keeping 2D rendering. See also :ref:`disable_2d<class_Viewport_property_disable_2d>`.
 
 .. rst-class:: classref-item-separator