Răsfoiți Sursa

Fix incorrect uses of a/an

A Thousand Ships 1 an în urmă
părinte
comite
bd6cc665a7
41 a modificat fișierele cu 80 adăugiri și 79 ștergeri
  1. 5 5
      about/faq.rst
  2. 2 2
      about/system_requirements.rst
  3. 1 1
      contributing/development/compiling/introduction_to_the_buildsystem.rst
  4. 1 1
      contributing/development/core_and_modules/binding_to_external_libraries.rst
  5. 1 1
      contributing/development/core_and_modules/custom_modules_in_cpp.rst
  6. 2 2
      contributing/development/core_and_modules/internal_rendering_architecture.rst
  7. 1 1
      contributing/development/core_and_modules/unit_testing.rst
  8. 3 3
      contributing/development/file_formats/tscn.rst
  9. 1 1
      tutorials/3d/global_illumination/using_lightmap_gi.rst
  10. 1 1
      tutorials/animation/creating_movies.rst
  11. 11 11
      tutorials/animation/playing_videos.rst
  12. 1 1
      tutorials/assets_pipeline/escn_exporter/material.rst
  13. 1 1
      tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst
  14. 6 6
      tutorials/assets_pipeline/importing_audio_samples.rst
  15. 1 1
      tutorials/assets_pipeline/importing_images.rst
  16. 2 2
      tutorials/editor/using_the_android_editor.rst
  17. 2 1
      tutorials/export/exporting_for_macos.rst
  18. 1 1
      tutorials/export/one-click_deploy.rst
  19. 2 2
      tutorials/i18n/localization_using_gettext.rst
  20. 1 1
      tutorials/inputs/inputevent.rst
  21. 1 1
      tutorials/io/background_loading.rst
  22. 1 1
      tutorials/io/runtime_file_loading_and_saving.rst
  23. 1 1
      tutorials/navigation/navigation_introduction_2d.rst
  24. 2 2
      tutorials/networking/high_level_multiplayer.rst
  25. 1 1
      tutorials/networking/http_request_class.rst
  26. 1 1
      tutorials/physics/soft_body.rst
  27. 1 1
      tutorials/platform/android/android_in_app_purchases.rst
  28. 1 1
      tutorials/rendering/multiple_resolutions.rst
  29. 1 1
      tutorials/scripting/c_sharp/c_sharp_variant.rst
  30. 1 1
      tutorials/scripting/change_scenes_manually.rst
  31. 1 1
      tutorials/scripting/evaluating_expressions.rst
  32. 1 1
      tutorials/scripting/gdextension/what_is_gdextension.rst
  33. 1 1
      tutorials/shaders/screen-reading_shaders.rst
  34. 4 4
      tutorials/shaders/shader_reference/canvas_item_shader.rst
  35. 3 3
      tutorials/shaders/shader_reference/fog_shader.rst
  36. 2 2
      tutorials/shaders/shader_reference/particle_shader.rst
  37. 1 1
      tutorials/shaders/shader_reference/sky_shader.rst
  38. 1 1
      tutorials/shaders/shader_reference/spatial_shader.rst
  39. 7 7
      tutorials/ui/gui_containers.rst
  40. 1 1
      tutorials/ui/gui_using_theme_editor.rst
  41. 1 1
      tutorials/xr/xr_room_scale.rst

+ 5 - 5
about/faq.rst

@@ -275,7 +275,7 @@ data directory. This is usually a good approach, but this means configuration fi
 will not carry across machines if you copy the folder containing the Godot executable.
 will not carry across machines if you copy the folder containing the Godot executable.
 See :ref:`doc_data_paths` for more information.
 See :ref:`doc_data_paths` for more information.
 
 
-If *true* portable operation is desired (e.g. for use on an USB stick),
+If *true* portable operation is desired (e.g. for use on a USB stick),
 follow the steps in :ref:`doc_data_paths_self_contained_mode`.
 follow the steps in :ref:`doc_data_paths_self_contained_mode`.
 
 
 Why does Godot prioritize Vulkan and OpenGL over Direct3D?
 Why does Godot prioritize Vulkan and OpenGL over Direct3D?
@@ -287,10 +287,10 @@ available on (nearly) all platforms. Thanks to this design decision, a project
 developed with Godot on Windows will run out of the box on Linux, macOS, and
 developed with Godot on Windows will run out of the box on Linux, macOS, and
 more.
 more.
 
 
-While Vulkan and OpenGL remain our primary focus for their open standard and 
-cross-platform benefits, Godot 4.3 introduced experimental support for Direct3D 12. 
-This addition aims to enhance performance and compatibility on platforms where 
-Direct3D 12 is prevalent, such as Windows and Xbox. However, Vulkan and OpenGL 
+While Vulkan and OpenGL remain our primary focus for their open standard and
+cross-platform benefits, Godot 4.3 introduced experimental support for Direct3D 12.
+This addition aims to enhance performance and compatibility on platforms where
+Direct3D 12 is prevalent, such as Windows and Xbox. However, Vulkan and OpenGL
 will continue as the default rendering backends on all platforms, including Windows.
 will continue as the default rendering backends on all platforms, including Windows.
 
 
 Why does Godot aim to keep its core feature set small?
 Why does Godot aim to keep its core feature set small?

+ 2 - 2
about/system_requirements.rst

@@ -69,7 +69,7 @@ Desktop or laptop PC - Minimum
 
 
     Vulkan drivers for these Windows versions are known to have issues with
     Vulkan drivers for these Windows versions are known to have issues with
     memory leaks. As a result, it's recommended to stick to the Compatibility
     memory leaks. As a result, it's recommended to stick to the Compatibility
-    rendering method when running Godot on an Windows version older than 10.
+    rendering method when running Godot on a Windows version older than 10.
 
 
 Mobile device (smartphone/tablet) - Minimum
 Mobile device (smartphone/tablet) - Minimum
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -252,7 +252,7 @@ Desktop or laptop PC - Minimum
 
 
     Vulkan drivers for these Windows versions are known to have issues with
     Vulkan drivers for these Windows versions are known to have issues with
     memory leaks. As a result, it's recommended to stick to the Compatibility
     memory leaks. As a result, it's recommended to stick to the Compatibility
-    rendering method when running Godot on an Windows version older than 10.
+    rendering method when running Godot on a Windows version older than 10.
 
 
 Mobile device (smartphone/tablet) - Minimum
 Mobile device (smartphone/tablet) - Minimum
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

+ 1 - 1
contributing/development/compiling/introduction_to_the_buildsystem.rst

@@ -397,7 +397,7 @@ For the folders accelerated by this option, multiple ``.cpp`` files are
 compiled in each translation unit, so headers can be shared between multiple
 compiled in each translation unit, so headers can be shared between multiple
 files, which can dramatically decrease build times.
 files, which can dramatically decrease build times.
 
 
-To make a SCU build, use the ``scu_build=yes`` SCons option.
+To peform an SCU build, use the ``scu_build=yes`` SCons option.
 
 
 .. note:: When developing a Pull Request using SCU builds, be sure to make a
 .. note:: When developing a Pull Request using SCU builds, be sure to make a
           regular build prior to submitting the PR. This is because SCU builds
           regular build prior to submitting the PR. This is because SCU builds

+ 1 - 1
contributing/development/core_and_modules/binding_to_external_libraries.rst

@@ -109,7 +109,7 @@ These files should contain the following:
         // Nothing to do here in this example.
         // Nothing to do here in this example.
     }
     }
 
 
-Next, you need to create a ``SCsub`` file so the build system compiles
+Next, you need to create an ``SCsub`` file so the build system compiles
 this module:
 this module:
 
 
 .. code-block:: python
 .. code-block:: python

+ 1 - 1
contributing/development/core_and_modules/custom_modules_in_cpp.rst

@@ -148,7 +148,7 @@ These files should contain the following:
        // Nothing to do here in this example.
        // Nothing to do here in this example.
     }
     }
 
 
-Next, we need to create a ``SCsub`` file so the build system compiles
+Next, we need to create an ``SCsub`` file so the build system compiles
 this module:
 this module:
 
 
 .. code-block:: python
 .. code-block:: python

+ 2 - 2
contributing/development/core_and_modules/internal_rendering_architecture.rst

@@ -72,7 +72,7 @@ pass.
 
 
 The first important change in the mobile renderer is that the mobile renderer
 The first important change in the mobile renderer is that the mobile renderer
 does not use the RGBA16F texture formats that the desktop renderer does.
 does not use the RGBA16F texture formats that the desktop renderer does.
-Instead, it is using a R10G10B10A2 UNORM texture format. This halves the bandwidth
+Instead, it is using an R10G10B10A2 UNORM texture format. This halves the bandwidth
 required and has further improvements as mobile hardware often further optimizes
 required and has further improvements as mobile hardware often further optimizes
 for 32-bit formats. The tradeoff is that the mobile renderer has limited HDR
 for 32-bit formats. The tradeoff is that the mobile renderer has limited HDR
 capabilities due to the reduced precision and maximum values in the color data.
 capabilities due to the reduced precision and maximum values in the color data.
@@ -421,7 +421,7 @@ begins. Godot's 2D drawing methods such as the Line2D node or some CanvasItem
 strips and vertex colors, which don't require MSAA to work.
 strips and vertex colors, which don't require MSAA to work.
 
 
 A 2D signed distance field representing LightOccluder2D nodes in the viewport is
 A 2D signed distance field representing LightOccluder2D nodes in the viewport is
-automatically generated if an user shader requests it. This can be used for
+automatically generated if a user shader requests it. This can be used for
 various effects in custom shaders, such as 2D global illumination. It is also
 various effects in custom shaders, such as 2D global illumination. It is also
 used to calculate particle collisions in 2D.
 used to calculate particle collisions in 2D.
 
 

+ 1 - 1
contributing/development/core_and_modules/unit_testing.rst

@@ -202,7 +202,7 @@ macros which allow to log test output in a format written by doctest.
 +----------------+-----------------------------------------------------------------------------------------------------------+
 +----------------+-----------------------------------------------------------------------------------------------------------+
 
 
 Different reporters can be chosen at run-time. For instance, here's how the
 Different reporters can be chosen at run-time. For instance, here's how the
-output can be redirected to a XML file:
+output can be redirected to an XML file:
 
 
 .. code-block:: shell
 .. code-block:: shell
 
 

+ 3 - 3
contributing/development/file_formats/tscn.rst

@@ -54,7 +54,7 @@ If the file has no resources, ``load_steps`` is omitted. The engine will
 still load the file correctly if ``load_steps`` is incorrect, but this will affect
 still load the file correctly if ``load_steps`` is incorrect, but this will affect
 loading bars and any other piece of code relying on that value.
 loading bars and any other piece of code relying on that value.
 
 
-``uid`` is an unique string-based identifier representing the scene. This is
+``uid`` is a unique string-based identifier representing the scene. This is
 used by the engine to track files that are moved around, even while the editor
 used by the engine to track files that are moved around, even while the editor
 is closed. Scripts can also load UID-based resources using the ``uid://`` path
 is closed. Scripts can also load UID-based resources using the ``uid://`` path
 prefix to avoid relying on filesystem paths. This makes it possible to move
 prefix to avoid relying on filesystem paths. This makes it possible to move
@@ -279,8 +279,8 @@ External resources
 ~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~
 
 
 External resources are links to resources not contained within the TSCN file
 External resources are links to resources not contained within the TSCN file
-itself. An external resource consists of a path, a type, an UID (used to map its
-filesystem location to an unique identifier) and an ID (used to refer to the
+itself. An external resource consists of a path, a type, a UID (used to map its
+filesystem location to a unique identifier) and an ID (used to refer to the
 resource in the scene file).
 resource in the scene file).
 
 
 Godot always generates absolute paths relative to the resource directory and
 Godot always generates absolute paths relative to the resource directory and

+ 1 - 1
tutorials/3d/global_illumination/using_lightmap_gi.rst

@@ -78,7 +78,7 @@ Setting up
 ----------
 ----------
 
 
 First of all, before the lightmapper can do anything, the objects to be baked need
 First of all, before the lightmapper can do anything, the objects to be baked need
-an UV2 layer and a texture size. An UV2 layer is a set of secondary texture coordinates
+a UV2 layer and a texture size. A UV2 layer is a set of secondary texture coordinates
 that ensures any face in the object has its own place in the UV map. Faces must
 that ensures any face in the object has its own place in the UV map. Faces must
 not share pixels in the texture.
 not share pixels in the texture.
 
 

+ 1 - 1
tutorials/animation/creating_movies.rst

@@ -359,7 +359,7 @@ others will require a conversion step beforehand. `HandBrake <https://handbrake.
 (GUI) and `FFmpeg <https://ffmpeg.org/>`__ (CLI) are popular open source tools
 (GUI) and `FFmpeg <https://ffmpeg.org/>`__ (CLI) are popular open source tools
 for this purpose. FFmpeg has a steeper learning curve, but it's more powerful.
 for this purpose. FFmpeg has a steeper learning curve, but it's more powerful.
 
 
-The command below converts an AVI video to a MP4 (H.264) video with a Constant
+The command below converts an AVI video to an MP4 (H.264) video with a Constant
 Rate Factor (CRF) of 15. This results in a relatively large file, but is
 Rate Factor (CRF) of 15. This results in a relatively large file, but is
 well-suited for platforms that will re-encode your videos to reduce their size
 well-suited for platforms that will re-encode your videos to reduce their size
 (such as most video sharing websites):
 (such as most video sharing websites):

+ 11 - 11
tutorials/animation/playing_videos.rst

@@ -185,7 +185,7 @@ of disk space.
 (GUI) and `FFmpeg <https://ffmpeg.org/>`__ (CLI) are popular open source tools
 (GUI) and `FFmpeg <https://ffmpeg.org/>`__ (CLI) are popular open source tools
 for this purpose. FFmpeg has a steeper learning curve, but it's more powerful.
 for this purpose. FFmpeg has a steeper learning curve, but it's more powerful.
 
 
-Here are example FFmpeg commands to convert a MP4 video to Ogg Theora. Since
+Here are example FFmpeg commands to convert an MP4 video to Ogg Theora. Since
 FFmpeg supports a lot of input formats, you should be able to use the commands
 FFmpeg supports a lot of input formats, you should be able to use the commands
 below with almost any input video format (AVI, MOV, WebM, …).
 below with almost any input video format (AVI, MOV, WebM, …).
 
 
@@ -297,13 +297,13 @@ To implement the chroma key effect, follow these steps:
        COLOR = vec4(color.rgb, fade_factor);
        COLOR = vec4(color.rgb, fade_factor);
    }
    }
 
 
-The shader uses the distance calculation to identify pixels close to the chroma key color and discards them, 
-effectively removing the selected color. Pixels that are slightly further away from the chroma key color are 
-faded based on the fade_factor, blending them smoothly with the surrounding colors. 
-This process creates the desired chroma key effect, making it appear as if the background has been replaced with 
+The shader uses the distance calculation to identify pixels close to the chroma key color and discards them,
+effectively removing the selected color. Pixels that are slightly further away from the chroma key color are
+faded based on the fade_factor, blending them smoothly with the surrounding colors.
+This process creates the desired chroma key effect, making it appear as if the background has been replaced with
 another image or video.
 another image or video.
 
 
-The code above represents a simple demonstration of the Chroma Key shader, 
+The code above represents a simple demonstration of the Chroma Key shader,
 and users can customize it according to their specific requirements.
 and users can customize it according to their specific requirements.
 
 
 UI Controls
 UI Controls
@@ -338,11 +338,11 @@ also make sure that the range of the sliders are appropriate, our settings are :
 Signal Handling
 Signal Handling
 ^^^^^^^^^^^^^^^^
 ^^^^^^^^^^^^^^^^
 
 
-Connect the appropriate signal from the UI elements to the `Control` node's script. 
-you created in the `Control` node's script to control the chroma key effect. 
-These signal handlers will update the shader's uniform variables 
+Connect the appropriate signal from the UI elements to the `Control` node's script.
+you created in the `Control` node's script to control the chroma key effect.
+These signal handlers will update the shader's uniform variables
 in response to user input.
 in response to user input.
 
 
-Save and run the scene to see the chroma key effect in action! With the provided UI controls, 
-you can now adjust the chroma key color, pickup range, and fade amount in real-time, achieving the desired 
+Save and run the scene to see the chroma key effect in action! With the provided UI controls,
+you can now adjust the chroma key color, pickup range, and fade amount in real-time, achieving the desired
 chroma key functionality for your video content.
 chroma key functionality for your video content.

+ 1 - 1
tutorials/assets_pipeline/escn_exporter/material.rst

@@ -64,6 +64,6 @@ file when the ``escn`` file opens in Godot.
 
 
 .. image:: img/external_mat_option.jpg
 .. image:: img/external_mat_option.jpg
 
 
-``.material`` file can be assigned to any material slot to be a external resource.
+``.material`` file can be assigned to any material slot to be an external resource.
 
 
 .. image:: img/gd_dot_material.jpg
 .. image:: img/gd_dot_material.jpg

+ 1 - 1
tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst

@@ -225,7 +225,7 @@ These options are only visible if some of the above options are enabled:
   use cases.
   use cases.
 - **Occluder > Simplification Distance:** Only visible if **Generate >
 - **Occluder > Simplification Distance:** Only visible if **Generate >
   Occluder** is set to **Mesh + Occluder** or **Occluder Only**. Higher values
   Occluder** is set to **Mesh + Occluder** or **Occluder Only**. Higher values
-  result in a occluder mesh with fewer vertices (resulting in decreased CPU
+  result in an occluder mesh with fewer vertices (resulting in decreased CPU
   utilization), at the cost of more occlusion culling issues (such as false
   utilization), at the cost of more occlusion culling issues (such as false
   positives or false negatives). If you run into objects disappearing when they
   positives or false negatives). If you run into objects disappearing when they
   shouldn't when the camera is near a certain mesh, try decreasing this value.
   shouldn't when the camera is near a certain mesh, try decreasing this value.

+ 6 - 6
tutorials/assets_pipeline/importing_audio_samples.rst

@@ -17,7 +17,7 @@ Each format has different advantages:
   smaller file size, but require significantly more processing power to
   smaller file size, but require significantly more processing power to
   play back.
   play back.
 - MP3 files use better compression than WAV with IMA-ADPCM, but worse than
 - MP3 files use better compression than WAV with IMA-ADPCM, but worse than
-  Ogg Vorbis. This means that a MP3 file with roughly equal quality to
+  Ogg Vorbis. This means that an MP3 file with roughly equal quality to
   Ogg Vorbis will be significantly larger. On the bright side, MP3 requires
   Ogg Vorbis will be significantly larger. On the bright side, MP3 requires
   less CPU usage to play back compared to Ogg Vorbis.
   less CPU usage to play back compared to Ogg Vorbis.
 
 
@@ -71,13 +71,13 @@ the FileSystem dock:
 
 
    Import options in the Import dock after selecting a WAV file in the FileSystem dock
    Import options in the Import dock after selecting a WAV file in the FileSystem dock
 
 
-The set of options available after selecting a Ogg Vorbis or MP3 file is different:
+The set of options available after selecting an Ogg Vorbis or MP3 file is different:
 
 
 .. figure:: img/importing_audio_samples_import_options_mp3.webp
 .. figure:: img/importing_audio_samples_import_options_mp3.webp
    :align: center
    :align: center
-   :alt: Import options in the Import dock after selecting a MP3 file in the FileSystem dock
+   :alt: Import options in the Import dock after selecting an MP3 file in the FileSystem dock
 
 
-   Import options in the Import dock after selecting a MP3 file in the
+   Import options in the Import dock after selecting an MP3 file in the
    FileSystem dock. Options are identical for Ogg Vorbis files.
    FileSystem dock. Options are identical for Ogg Vorbis files.
 
 
 After importing a sound, you can play it back using the AudioStreamPlayer,
 After importing a sound, you can play it back using the AudioStreamPlayer,
@@ -246,9 +246,9 @@ If you double-click an Ogg Vorbis or MP3 file in the FileSystem dock (or choose
 
 
 .. figure:: img/importing_audio_samples_advanced_import_settings.webp
 .. figure:: img/importing_audio_samples_advanced_import_settings.webp
    :align: center
    :align: center
-   :alt: Advanced dialog when double-clicking a Ogg Vorbis or MP3 file in the FileSystem dock
+   :alt: Advanced dialog when double-clicking an Ogg Vorbis or MP3 file in the FileSystem dock
 
 
-   Advanced dialog when double-clicking a Ogg Vorbis or MP3 file in the FileSystem dock
+   Advanced dialog when double-clicking an Ogg Vorbis or MP3 file in the FileSystem dock
 
 
 This dialog allows you to edit the audio's loop point with a real-time preview,
 This dialog allows you to edit the audio's loop point with a real-time preview,
 in addition to the :abbr:`BPM (Beats Per Minute)`, beat count and bar beats.
 in addition to the :abbr:`BPM (Beats Per Minute)`, beat count and bar beats.

+ 1 - 1
tutorials/assets_pipeline/importing_images.rst

@@ -526,7 +526,7 @@ editing the original text afterwards:
 - Select your text object in Inkscape, then duplicate it in place by pressing
 - Select your text object in Inkscape, then duplicate it in place by pressing
   :kbd:`Ctrl + D` and use **Path > Object to Path**. Hide the original text
   :kbd:`Ctrl + D` and use **Path > Object to Path**. Hide the original text
   object afterwards using the **Layers and Objects** dock.
   object afterwards using the **Layers and Objects** dock.
-- Use the Inkscape command line to export a SVG from another SVG file with text
+- Use the Inkscape command line to export an SVG from another SVG file with text
   converted to paths:
   converted to paths:
 
 
 ::
 ::

+ 2 - 2
tutorials/editor/using_the_android_editor.rst

@@ -4,7 +4,7 @@ Using the Android editor
 ========================
 ========================
 
 
 In 2023, `we added <https://godotengine.org/article/android_godot_editor_play_store_beta_release/>`__
 In 2023, `we added <https://godotengine.org/article/android_godot_editor_play_store_beta_release/>`__
-a `Android port of the editor <https://godotengine.org/download/android/>`__
+an `Android port of the editor <https://godotengine.org/download/android/>`__
 that can be used to work on new or existing projects on Android devices.
 that can be used to work on new or existing projects on Android devices.
 
 
 .. note::
 .. note::
@@ -45,7 +45,7 @@ Here are the known limitations and issues of the Android editor:
 - UX not optimized for Android phones form-factor
 - UX not optimized for Android phones form-factor
 - `Android Go devices <https://developer.android.com/guide/topics/androidgo>`__ lacks
 - `Android Go devices <https://developer.android.com/guide/topics/androidgo>`__ lacks
   the *All files access* permission required for device read/write access.
   the *All files access* permission required for device read/write access.
-  As a workaround, when using a Android Go device, it's recommended to create new projects only in the Android *Documents* or *Downloads* directories.
+  As a workaround, when using an Android Go device, it's recommended to create new projects only in the Android *Documents* or *Downloads* directories.
 - The editor doesn't properly resume when *Don't keep activities* is enabled in the *Developer Options*
 - The editor doesn't properly resume when *Don't keep activities* is enabled in the *Developer Options*
 
 
 .. seealso::
 .. seealso::

+ 2 - 1
tutorials/export/exporting_for_macos.rst

@@ -82,7 +82,8 @@ If you do not have an Apple Developer ID Certificate
 - Select ``Built-in (ad-hoc only)`` in the ``Code Signing > Codesign`` option.
 - Select ``Built-in (ad-hoc only)`` in the ``Code Signing > Codesign`` option.
 - Select ``Disabled`` in the ``Notarization > Notarization`` option.
 - Select ``Disabled`` in the ``Notarization > Notarization`` option.
 
 
-In this case Godot will use a ad-hoc signature, which will make running an exported app easier for the end users, see the :ref:`Running Godot apps on macOS <doc_running_on_macos>` page for more information.
+In this case Godot will use an ad-hoc signature, which will make running an exported app easier for the end users,
+see the :ref:`Running Godot apps on macOS <doc_running_on_macos>` page for more information.
 
 
 Signing Options
 Signing Options
 ~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~

+ 1 - 1
tutorials/export/one-click_deploy.rst

@@ -155,7 +155,7 @@ Web > Use TLS**.
     and bypass the warning by clicking **Advanced** and then **Proceed to
     and bypass the warning by clicking **Advanced** and then **Proceed to
     (address)**.
     (address)**.
 
 
-    If you have a SSL/TLS certificate that is trusted by browsers, you can specify
+    If you have an SSL/TLS certificate that is trusted by browsers, you can specify
     the paths to the key and certificate files in the **Export > Web > TLS Key**
     the paths to the key and certificate files in the **Export > Web > TLS Key**
     and **Export > Web > TLS Certificate**. This will only work if the project
     and **Export > Web > TLS Certificate**. This will only work if the project
     is accessed through a domain name that is part of the TLS certificate.
     is accessed through a domain name that is part of the TLS certificate.

+ 2 - 2
tutorials/i18n/localization_using_gettext.rst

@@ -207,7 +207,7 @@ it can be worth it to use binary (compiled) MO message files instead of text-bas
 PO files. Binary MO files are smaller and faster to read than the equivalent
 PO files. Binary MO files are smaller and faster to read than the equivalent
 PO files.
 PO files.
 
 
-You can generate a MO file with the command below:
+You can generate an MO file with the command below:
 
 
 .. code-block:: shell
 .. code-block:: shell
 
 
@@ -218,7 +218,7 @@ the PO file. This MO file can then be loaded in Godot as described above.
 
 
 The original PO file should be kept in version control so you can update
 The original PO file should be kept in version control so you can update
 your translation in the future. In case you lose the original PO file and
 your translation in the future. In case you lose the original PO file and
-wish to decompile a MO file into a text-based PO file, you can do so with:
+wish to decompile an MO file into a text-based PO file, you can do so with:
 
 
 .. code-block:: shell
 .. code-block:: shell
 
 

+ 1 - 1
tutorials/inputs/inputevent.rst

@@ -99,7 +99,7 @@ received input, in order:
 6. If so far no one consumed the event, the :ref:`Node._unhandled_key_input() <class_Node_private_method__unhandled_key_input>` callback
 6. If so far no one consumed the event, the :ref:`Node._unhandled_key_input() <class_Node_private_method__unhandled_key_input>` callback
    will be called if overridden (and not disabled with
    will be called if overridden (and not disabled with
    :ref:`Node.set_process_unhandled_key_input() <class_Node_method_set_process_unhandled_key_input>`).
    :ref:`Node.set_process_unhandled_key_input() <class_Node_method_set_process_unhandled_key_input>`).
-   This happens only if the event is a :ref:`InputEventKey <class_InputEventKey>`.
+   This happens only if the event is an :ref:`InputEventKey <class_InputEventKey>`.
    If any function consumes the event, it can call :ref:`Viewport.set_input_as_handled() <class_Viewport_method_set_input_as_handled>`, and the
    If any function consumes the event, it can call :ref:`Viewport.set_input_as_handled() <class_Viewport_method_set_input_as_handled>`, and the
    event will not spread any more. The unhandled key input callback is ideal for key events.
    event will not spread any more. The unhandled key input callback is ideal for key events.
 7. If so far no one consumed the event, the :ref:`Node._unhandled_input() <class_Node_private_method__unhandled_input>` callback
 7. If so far no one consumed the event, the :ref:`Node._unhandled_input() <class_Node_private_method__unhandled_input>` callback

+ 1 - 1
tutorials/io/background_loading.rst

@@ -42,7 +42,7 @@ Example
 -------
 -------
 
 
 This example demonstrates how to load a scene in the background.
 This example demonstrates how to load a scene in the background.
-We will have a button spawn a enemy when pressed.
+We will have a button spawn an enemy when pressed.
 The enemy will be ``Enemy.tscn`` which we will load on ``_ready`` and instantiate when pressed.
 The enemy will be ``Enemy.tscn`` which we will load on ``_ready`` and instantiate when pressed.
 The path will be ``"Enemy.tscn"`` which is located at ``res://Enemy.tscn``.
 The path will be ``"Enemy.tscn"`` which is located at ``res://Enemy.tscn``.
 
 

+ 1 - 1
tutorials/io/runtime_file_loading_and_saving.rst

@@ -76,7 +76,7 @@ Image's :ref:`Image.load_from_file <class_Image_method_load_from_file>` static m
 handles everything, from format detection based on file extension to reading the
 handles everything, from format detection based on file extension to reading the
 file from disk.
 file from disk.
 
 
-If you need error handling or more control (such as changing the scale a SVG is
+If you need error handling or more control (such as changing the scale an SVG is
 loaded at), use one of the following methods depending on the file format:
 loaded at), use one of the following methods depending on the file format:
 
 
 - :ref:`Image.load_jpg_from_buffer <class_Image_method_load_jpg_from_buffer>`
 - :ref:`Image.load_jpg_from_buffer <class_Image_method_load_jpg_from_buffer>`

+ 1 - 1
tutorials/navigation/navigation_introduction_2d.rst

@@ -14,7 +14,7 @@ Godot provides the following objects and classes for 2D navigation:
     The AStar2D class is best suited for cell-based 2D gameplay that does not require actors to reach any possible position within an area but only predefined, distinct positions.
     The AStar2D class is best suited for cell-based 2D gameplay that does not require actors to reach any possible position within an area but only predefined, distinct positions.
 
 
 - :ref:`NavigationServer2D<class_NavigationServer2D>`
 - :ref:`NavigationServer2D<class_NavigationServer2D>`
-    ``NavigationServer2D`` provides a powerful server API to find the shortest path between two positions on a area defined by a navigation mesh.
+    ``NavigationServer2D`` provides a powerful server API to find the shortest path between two positions on an area defined by a navigation mesh.
 
 
     The NavigationServer is best suited for 2D realtime gameplay that does require actors to reach any possible position within a navigation mesh defined area.
     The NavigationServer is best suited for 2D realtime gameplay that does require actors to reach any possible position within a navigation mesh defined area.
     Mesh-based navigation scales well with large game worlds as a large area can often be defined with a single polygon when it would require many, many grid cells.
     Mesh-based navigation scales well with large game worlds as a large area can often be defined with a single polygon when it would require many, many grid cells.

+ 2 - 2
tutorials/networking/high_level_multiplayer.rst

@@ -90,7 +90,7 @@ residential connections use a `NAT
 high-level multiplayer API only uses UDP, so you must forward the port in UDP,
 high-level multiplayer API only uses UDP, so you must forward the port in UDP,
 not just TCP.
 not just TCP.
 
 
-After forwarding an UDP port and making sure your server uses that port, you can
+After forwarding a UDP port and making sure your server uses that port, you can
 use `this website <https://icanhazip.com/>`__ to find your public IP address.
 use `this website <https://icanhazip.com/>`__ to find your public IP address.
 Then give this public IP address to any Internet clients that wish to connect to
 Then give this public IP address to any Internet clients that wish to connect to
 your server.
 your server.
@@ -196,7 +196,7 @@ For a remote call to be successful, the sending and receiving node need to have
 must have the same name. When using ``add_child()`` for nodes which are expected to use RPCs, set the argument
 must have the same name. When using ``add_child()`` for nodes which are expected to use RPCs, set the argument
 ``force_readable_name`` to ``true``.
 ``force_readable_name`` to ``true``.
 
 
-.. warning:: 
+.. warning::
 
 
     If a function is annotated with ``@rpc`` on the client script (resp. server script),
     If a function is annotated with ``@rpc`` on the client script (resp. server script),
     then this function must also be declared on the server script (resp. client script).
     then this function must also be declared on the server script (resp. client script).

+ 1 - 1
tutorials/networking/http_request_class.rst

@@ -51,7 +51,7 @@ Preparing the scene
 -------------------
 -------------------
 
 
 Create a new empty scene, add a root :ref:`Node <class_Node>` and add a script to it.
 Create a new empty scene, add a root :ref:`Node <class_Node>` and add a script to it.
-Then add a :ref:`HTTPRequest <class_HTTPRequest>` node as a child.
+Then add an :ref:`HTTPRequest <class_HTTPRequest>` node as a child.
 
 
 .. image:: img/rest_api_scene.webp
 .. image:: img/rest_api_scene.webp
 
 

+ 1 - 1
tutorials/physics/soft_body.rst

@@ -46,7 +46,7 @@ Open the ``PlaneMesh`` properties and set the size(x: 0.5 y: 1) then set ``Subdi
 
 
 Add a :ref:`BoneAttachment3D <class_BoneAttachment3D>` node under the skeleton node and select the Neck bone to attach the cloak to the character skeleton.
 Add a :ref:`BoneAttachment3D <class_BoneAttachment3D>` node under the skeleton node and select the Neck bone to attach the cloak to the character skeleton.
 
 
-.. note:: ``BoneAttachment3D`` node is to attach objects to a bone of a armature. The attached object will follow the bone's movement, weapon of a character can be attached this way.
+.. note:: ``BoneAttachment3D`` node is to attach objects to a bone of an armature. The attached object will follow the bone's movement, weapon of a character can be attached this way.
 
 
 .. image:: img/softbody_cloak_bone_attach.png
 .. image:: img/softbody_cloak_bone_attach.png
 
 

+ 1 - 1
tutorials/platform/android/android_in_app_purchases.rst

@@ -82,7 +82,7 @@ Query available items
 *********************
 *********************
 
 
 Once the API has connected, query SKUs using ``querySkuDetails()``. You must successfully complete
 Once the API has connected, query SKUs using ``querySkuDetails()``. You must successfully complete
-a SKU query before calling the ``purchase()`` or ``queryPurchases()`` functions,
+an SKU query before calling the ``purchase()`` or ``queryPurchases()`` functions,
 or they will return an error. ``querySkuDetails()`` takes two parameters: an array
 or they will return an error. ``querySkuDetails()`` takes two parameters: an array
 of SKU name strings, and a string specifying the type of SKU being queried.
 of SKU name strings, and a string specifying the type of SKU being queried.
 The SKU type string should be ``"inapp"`` for normal in-app purchases or ``"subs"`` for subscriptions.
 The SKU type string should be ``"inapp"`` for normal in-app purchases or ``"subs"`` for subscriptions.

+ 1 - 1
tutorials/rendering/multiple_resolutions.rst

@@ -84,7 +84,7 @@ To configure the stretch base size at runtime from a script, use the
 ``get_tree().root.content_scale_size`` property (see
 ``get_tree().root.content_scale_size`` property (see
 :ref:`Window.content_scale_size <class_Window_property_content_scale_size>`).
 :ref:`Window.content_scale_size <class_Window_property_content_scale_size>`).
 Changing this value can indirectly change the size of 2D elements. However, to
 Changing this value can indirectly change the size of 2D elements. However, to
-provide an user-accessible scaling option, using
+provide a user-accessible scaling option, using
 :ref:`doc_multiple_resolutions_stretch_scale` is recommended as it's easier to
 :ref:`doc_multiple_resolutions_stretch_scale` is recommended as it's easier to
 adjust.
 adjust.
 
 

+ 1 - 1
tutorials/scripting/c_sharp/c_sharp_variant.rst

@@ -65,7 +65,7 @@ may be useful when the type of Variant is completely unknown. However, when poss
 specific conversions. ``Variant.Obj`` evaluates a ``switch`` on ``Variant.VariantType`` and it may
 specific conversions. ``Variant.Obj`` evaluates a ``switch`` on ``Variant.VariantType`` and it may
 not be necessary. Also, if the result is a value type, it is boxed.
 not be necessary. Also, if the result is a value type, it is boxed.
 
 
-For example, if the potential for ``Variant.As<MyNode>()`` to throw a invalid cast exception isn't
+For example, if the potential for ``Variant.As<MyNode>()`` to throw an invalid cast exception isn't
 acceptable, consider using a ``Variant.As<GodotObject>() is MyNode n`` type pattern instead.
 acceptable, consider using a ``Variant.As<GodotObject>() is MyNode n`` type pattern instead.
 
 
 .. note::
 .. note::

+ 1 - 1
tutorials/scripting/change_scenes_manually.rst

@@ -118,7 +118,7 @@ access and integrity.
       access.
       access.
 
 
 There are also cases where one may wish to have many scenes present at the same
 There are also cases where one may wish to have many scenes present at the same
-time. Perhaps one is adding their own singleton at runtime, or preserving a
+time. Perhaps one is adding their own singleton at runtime, or preserving
 a scene's data between scene changes (adding the scene to the root node).
 a scene's data between scene changes (adding the scene to the root node).
 
 
 .. tabs::
 .. tabs::

+ 1 - 1
tutorials/scripting/evaluating_expressions.rst

@@ -9,7 +9,7 @@ An expression can be:
 
 
 - A mathematical expression such as ``(2 + 4) * 16/4.0``.
 - A mathematical expression such as ``(2 + 4) * 16/4.0``.
 - A built-in method call like ``deg_to_rad(90)``.
 - A built-in method call like ``deg_to_rad(90)``.
-- A method call on an user-provided script like ``update_health()``,
+- A method call on a user-provided script like ``update_health()``,
   if ``base_instance`` is set to a value other than ``null`` when calling
   if ``base_instance`` is set to a value other than ``null`` when calling
   :ref:`Expression.execute() <class_Expression_method_execute>`.
   :ref:`Expression.execute() <class_Expression_method_execute>`.
 
 

+ 1 - 1
tutorials/scripting/gdextension/what_is_gdextension.rst

@@ -118,6 +118,6 @@ not compatible with Godot 3.x.
 
 
 GDExtension add-ons are also only compatible with engine builds that use the
 GDExtension add-ons are also only compatible with engine builds that use the
 level of floating-point precision the extension was compiled for. This means
 level of floating-point precision the extension was compiled for. This means
-that if you use a engine build with double-precision floats, the extension must
+that if you use an engine build with double-precision floats, the extension must
 also be compiled for double-precision floats. See
 also be compiled for double-precision floats. See
 :ref:`doc_large_world_coordinates` for details.
 :ref:`doc_large_world_coordinates` for details.

+ 1 - 1
tutorials/shaders/screen-reading_shaders.rst

@@ -47,7 +47,7 @@ you.
 .. warning::
 .. warning::
 
 
     If the filter mode is not changed to a filter mode that contains ``mipmap`` in its name,
     If the filter mode is not changed to a filter mode that contains ``mipmap`` in its name,
-    ``textureLod`` with a LOD parameter greater than ``0.0`` will have the same appearance
+    ``textureLod`` with an LOD parameter greater than ``0.0`` will have the same appearance
     as with the ``0.0`` LOD parameter.
     as with the ``0.0`` LOD parameter.
 
 
 Screen texture example
 Screen texture example

+ 4 - 4
tutorials/shaders/shader_reference/canvas_item_shader.rst

@@ -65,7 +65,7 @@ Global built-ins are available everywhere, including custom functions.
 | in float **TAU**  | A ``TAU`` constant (``6.283185``).                                                     |
 | in float **TAU**  | A ``TAU`` constant (``6.283185``).                                                     |
 |                   | An equivalent of ``PI * 2`` and amount of radians in full turn.                        |
 |                   | An equivalent of ``PI * 2`` and amount of radians in full turn.                        |
 +-------------------+----------------------------------------------------------------------------------------+
 +-------------------+----------------------------------------------------------------------------------------+
-| in float **E**    | A ``E`` constant (``2.718281``).                                                       |
+| in float **E**    | An ``E`` constant (``2.718281``).                                                      |
 |                   | Euler's number and a base of the natural logarithm.                                    |
 |                   | Euler's number and a base of the natural logarithm.                                    |
 +-------------------+----------------------------------------------------------------------------------------+
 +-------------------+----------------------------------------------------------------------------------------+
 
 
@@ -214,7 +214,7 @@ words, Godot no longer draws the object again for each light.
 Use render_mode ``unshaded`` if you do not want the light processor function to
 Use render_mode ``unshaded`` if you do not want the light processor function to
 run. Use render_mode ``light_only`` if you only want to see the impact of
 run. Use render_mode ``light_only`` if you only want to see the impact of
 lighting on an object; this can be useful when you only want the object visible
 lighting on an object; this can be useful when you only want the object visible
-where it is covered by light. 
+where it is covered by light.
 
 
 If you define a light function it will replace the built in light function,
 If you define a light function it will replace the built in light function,
 even if your light function is empty.
 even if your light function is empty.
@@ -289,7 +289,7 @@ documentation for more information.
 +-----------------------------------------------+-------------------------------------------+
 +-----------------------------------------------+-------------------------------------------+
 | vec2 **texture_sdf_normal** (vec2 sdf_pos)    | Calculates a normal from the SDF texture. |
 | vec2 **texture_sdf_normal** (vec2 sdf_pos)    | Calculates a normal from the SDF texture. |
 +-----------------------------------------------+-------------------------------------------+
 +-----------------------------------------------+-------------------------------------------+
-| vec2 **sdf_to_screen_uv** (vec2 sdf_pos)      | Converts a SDF to screen UV.              |
+| vec2 **sdf_to_screen_uv** (vec2 sdf_pos)      | Converts an SDF to screen UV.             |
 +-----------------------------------------------+-------------------------------------------+
 +-----------------------------------------------+-------------------------------------------+
-| vec2 **screen_uv_to_sdf** (vec2 uv)           | Converts screen UV to a SDF.              |
+| vec2 **screen_uv_to_sdf** (vec2 uv)           | Converts screen UV to an SDF.             |
 +-----------------------------------------------+-------------------------------------------+
 +-----------------------------------------------+-------------------------------------------+

+ 3 - 3
tutorials/shaders/shader_reference/fog_shader.rst

@@ -16,13 +16,13 @@ camera.
 Fog shaders are a special form of compute shader that is called once for
 Fog shaders are a special form of compute shader that is called once for
 every froxel that is touched by an axis aligned bounding box of the associated
 every froxel that is touched by an axis aligned bounding box of the associated
 :ref:`FogVolume <class_FogVolume>`. This means that froxels that just barely
 :ref:`FogVolume <class_FogVolume>`. This means that froxels that just barely
-touch a given :ref:`FogVolume <class_FogVolume>` will still be used. 
+touch a given :ref:`FogVolume <class_FogVolume>` will still be used.
 
 
 Built-ins
 Built-ins
 ^^^^^^^^^
 ^^^^^^^^^
 
 
 Values marked as "in" are read-only. Values marked as "out" are for optional
 Values marked as "in" are read-only. Values marked as "out" are for optional
-writing and will not necessarily contain sensible values. Samplers cannot be 
+writing and will not necessarily contain sensible values. Samplers cannot be
 written to so they are not marked.
 written to so they are not marked.
 
 
 
 
@@ -43,7 +43,7 @@ Global built-ins are available everywhere, including in custom functions.
 | in float **TAU**                | A ``TAU`` constant (``6.283185``).                                                      |
 | in float **TAU**                | A ``TAU`` constant (``6.283185``).                                                      |
 |                                 | An equivalent of ``PI * 2`` and amount of radians in full turn.                         |
 |                                 | An equivalent of ``PI * 2`` and amount of radians in full turn.                         |
 +---------------------------------+-----------------------------------------------------------------------------------------+
 +---------------------------------+-----------------------------------------------------------------------------------------+
-| in float **E**                  | A ``E`` constant (``2.718281``).                                                        |
+| in float **E**                  | An ``E`` constant (``2.718281``).                                                       |
 |                                 | Euler's number and a base of the natural logarithm.                                     |
 |                                 | Euler's number and a base of the natural logarithm.                                     |
 +---------------------------------+-----------------------------------------------------------------------------------------+
 +---------------------------------+-----------------------------------------------------------------------------------------+
 
 

+ 2 - 2
tutorials/shaders/shader_reference/particle_shader.rst

@@ -66,13 +66,13 @@ Global built-ins are available everywhere, including custom functions.
 | in float **TAU**  | A ``TAU`` constant (``6.283185``).                                                     |
 | in float **TAU**  | A ``TAU`` constant (``6.283185``).                                                     |
 |                   | An equivalent of ``PI * 2`` and amount of radians in full turn.                        |
 |                   | An equivalent of ``PI * 2`` and amount of radians in full turn.                        |
 +-------------------+----------------------------------------------------------------------------------------+
 +-------------------+----------------------------------------------------------------------------------------+
-| in float **E**    | A ``E`` constant (``2.718281``). Euler's number and a base of the natural logarithm.   |
+| in float **E**    | An ``E`` constant (``2.718281``). Euler's number and a base of the natural logarithm.  |
 +-------------------+----------------------------------------------------------------------------------------+
 +-------------------+----------------------------------------------------------------------------------------+
 
 
 Start and Process built-ins
 Start and Process built-ins
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
-These properties can be accessed from both the ``start()`` and ``process()`` functions. 
+These properties can be accessed from both the ``start()`` and ``process()`` functions.
 
 
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
 | Function                           | Description                                                                                                                             |
 | Function                           | Description                                                                                                                             |

+ 1 - 1
tutorials/shaders/shader_reference/sky_shader.rst

@@ -183,7 +183,7 @@ There are 4 ``LIGHTX`` lights, accessed as ``LIGHT0``, ``LIGHT1``, ``LIGHT2``, a
 | in float **TAU**                | A ``TAU`` constant (``6.283185``).                                                                                       |
 | in float **TAU**                | A ``TAU`` constant (``6.283185``).                                                                                       |
 |                                 | An equivalent of ``PI * 2`` and amount of radians in full turn.                                                          |
 |                                 | An equivalent of ``PI * 2`` and amount of radians in full turn.                                                          |
 +---------------------------------+--------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------+--------------------------------------------------------------------------------------------------------------------------+
-| in float **E**                  | A ``E`` constant (``2.718281``).                                                                                         |
+| in float **E**                  | An ``E`` constant (``2.718281``).                                                                                        |
 |                                 | Euler's number and a base of the natural logarithm.                                                                      |
 |                                 | Euler's number and a base of the natural logarithm.                                                                      |
 +---------------------------------+--------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------+--------------------------------------------------------------------------------------------------------------------------+
 
 

+ 1 - 1
tutorials/shaders/shader_reference/spatial_shader.rst

@@ -107,7 +107,7 @@ Global built-ins are available everywhere, including custom functions.
 | in float **TAU**  | A ``TAU`` constant (``6.283185``).                                                     |
 | in float **TAU**  | A ``TAU`` constant (``6.283185``).                                                     |
 |                   | An equivalent of ``PI * 2`` and amount of radians in full turn.                        |
 |                   | An equivalent of ``PI * 2`` and amount of radians in full turn.                        |
 +-------------------+----------------------------------------------------------------------------------------+
 +-------------------+----------------------------------------------------------------------------------------+
-| in float **E**    | A ``E`` constant (``2.718281``). Euler's number and a base of the natural logarithm.   |
+| in float **E**    | An ``E`` constant (``2.718281``). Euler's number and a base of the natural logarithm.  |
 +-------------------+----------------------------------------------------------------------------------------+
 +-------------------+----------------------------------------------------------------------------------------+
 
 
 Vertex built-ins
 Vertex built-ins

+ 7 - 7
tutorials/ui/gui_containers.rst

@@ -74,7 +74,7 @@ Box Containers
 
 
 Arranges child controls vertically or horizontally (via :ref:`HBoxContainer <class_HBoxContainer>` and
 Arranges child controls vertically or horizontally (via :ref:`HBoxContainer <class_HBoxContainer>` and
 :ref:`VBoxContainer <class_VBoxContainer>`). In the opposite of the designated direction
 :ref:`VBoxContainer <class_VBoxContainer>`). In the opposite of the designated direction
-(as in, vertical for an horizontal container), it just expands the children.
+(as in, vertical for a horizontal container), it just expands the children.
 
 
    .. image:: img/containers_box.png
    .. image:: img/containers_box.png
 
 
@@ -162,15 +162,15 @@ As in the example above, one of the most common ways to use this container is to
 AspectRatioContainer
 AspectRatioContainer
 ^^^^^^^^^^^^^^^^^^^^
 ^^^^^^^^^^^^^^^^^^^^
 
 
-A container type that arranges its child controls in a way that preserves their proportions 
+A container type that arranges its child controls in a way that preserves their proportions
 automatically when the container is resized.
 automatically when the container is resized.
 (via :ref:`AspectRatioContainer <class_AspectRatioContainer>`).
 (via :ref:`AspectRatioContainer <class_AspectRatioContainer>`).
-It has multiple stretch modes, providing options for adjusting the child controls' sizes concerning the container: 
+It has multiple stretch modes, providing options for adjusting the child controls' sizes concerning the container:
 "fill," "width control height," "height control width," and "cover."
 "fill," "width control height," "height control width," and "cover."
 
 
    .. image:: img/containers_aspectratio.webp
    .. image:: img/containers_aspectratio.webp
 
 
-useful when you have a container that needs to be dynamic and responsive to different screen sizes, 
+useful when you have a container that needs to be dynamic and responsive to different screen sizes,
 and you want the child elements to scale proportionally without losing their intended shapes.
 and you want the child elements to scale proportionally without losing their intended shapes.
 
 
    .. image:: img/containers_aspectratio_drag.webp
    .. image:: img/containers_aspectratio_drag.webp
@@ -178,9 +178,9 @@ and you want the child elements to scale proportionally without losing their int
 FlowContainer
 FlowContainer
 ^^^^^^^^^^^^^^
 ^^^^^^^^^^^^^^
 
 
-FlowContainer is a container that arranges its child controls either horizontally or vertically, 
+FlowContainer is a container that arranges its child controls either horizontally or vertically,
 (via :ref:`HFlowContainer <class_HFlowContainer>` and via :ref:`VFlowContainer <class_VFlowContainer>`).
 (via :ref:`HFlowContainer <class_HFlowContainer>` and via :ref:`VFlowContainer <class_VFlowContainer>`).
-and when the available space runs out, it wraps the children to the next line or column, similar to how text wraps in a book. 
+and when the available space runs out, it wraps the children to the next line or column, similar to how text wraps in a book.
 
 
 
 
    .. image:: img/containers_hflow.webp
    .. image:: img/containers_hflow.webp
@@ -192,7 +192,7 @@ useful for creating flexible layouts where the child controls adjust automatical
 CenterContainer
 CenterContainer
 ^^^^^^^^^^^^^^^^^^^^
 ^^^^^^^^^^^^^^^^^^^^
 
 
-CenterContainer is a container that automatically keeps all of its child controls centered within it at their minimum size. 
+CenterContainer is a container that automatically keeps all of its child controls centered within it at their minimum size.
 It ensures that the child controls are always aligned to the center, making it easier to create centered layouts without manual positioning.
 It ensures that the child controls are always aligned to the center, making it easier to create centered layouts without manual positioning.
 (via :ref:`CenterContainer <class_CenterContainer>`).
 (via :ref:`CenterContainer <class_CenterContainer>`).
 
 

+ 1 - 1
tutorials/ui/gui_using_theme_editor.rst

@@ -109,7 +109,7 @@ edited in the Inspector dock instead.
 .. figure:: img/theme_item_inspector.png
 .. figure:: img/theme_item_inspector.png
    :align: center
    :align: center
 
 
-Styleboxes have an unique feature available, where you can pin an individual
+Styleboxes have a unique feature available, where you can pin an individual
 stylebox from the list. Pinned stylebox acts like the leader of the pack, and
 stylebox from the list. Pinned stylebox acts like the leader of the pack, and
 all styleboxes of the same type are updated alongside it when you change its
 all styleboxes of the same type are updated alongside it when you change its
 properties. This allows you to edit properties of several styleboxes at the
 properties. This allows you to edit properties of several styleboxes at the

+ 1 - 1
tutorials/xr/xr_room_scale.rst

@@ -22,7 +22,7 @@ This node is moved by processing traditional controller, mouse or keyboard input
 A camera is attached to this node at a location roughly where the player's head will be.
 A camera is attached to this node at a location roughly where the player's head will be.
 
 
 Applying this model to the XR setup, we add an :ref:`XROrigin3D <class_xrorigin3d>` node as a child of the character body,
 Applying this model to the XR setup, we add an :ref:`XROrigin3D <class_xrorigin3d>` node as a child of the character body,
-and add a :ref:`XRCamera3D <class_xrcamera3d>` as a child of the origin node. At face value this seems to work.
+and add an :ref:`XRCamera3D <class_xrcamera3d>` as a child of the origin node. At face value this seems to work.
 However, upon closer examination this model does not take into account that there are two forms of movement in XR.
 However, upon closer examination this model does not take into account that there are two forms of movement in XR.
 The movement through controller input, and the physical movement of the player in the real world.
 The movement through controller input, and the physical movement of the player in the real world.