2
0
Эх сурвалжийг харах

Merge pull request #7747 from godotengine/classref/sync-031aa99

Max Hilbrunner 2 жил өмнө
parent
commit
3604a907ce
76 өөрчлөгдсөн 2688 нэмэгдсэн , 451 устгасан
  1. 1 1
      classes/class_astargrid2d.rst
  2. 1 1
      classes/class_basematerial3d.rst
  3. 16 2
      classes/class_codeedit.rst
  4. 1 1
      classes/class_collisionpolygon2d.rst
  5. 3 3
      classes/class_control.rst
  6. 1 1
      classes/class_convexpolygonshape2d.rst
  7. 1 1
      classes/class_cpuparticles2d.rst
  8. 1 1
      classes/class_cpuparticles3d.rst
  9. 2 2
      classes/class_cylindershape3d.rst
  10. 29 1
      classes/class_displayserver.rst
  11. 4 0
      classes/class_editorfeatureprofile.rst
  12. 52 2
      classes/class_editorinterface.rst
  13. 2 0
      classes/class_editorplugin.rst
  14. 8 18
      classes/class_editorsettings.rst
  15. 1 1
      classes/class_gpuparticles2d.rst
  16. 1 1
      classes/class_gpuparticles3d.rst
  17. 72 43
      classes/class_graphedit.rst
  18. 0 47
      classes/class_graphnode.rst
  19. 2 0
      classes/class_httpclient.rst
  20. 14 6
      classes/class_navigationagent2d.rst
  21. 16 8
      classes/class_navigationagent3d.rst
  22. 17 3
      classes/class_navigationmesh.rst
  23. 14 0
      classes/class_navigationpolygon.rst
  24. 56 0
      classes/class_navigationserver2d.rst
  25. 57 1
      classes/class_navigationserver3d.rst
  26. 2 2
      classes/class_node.rst
  27. 0 0
      classes/class_object.rst
  28. 264 0
      classes/class_openxrapiextension.rst
  29. 387 0
      classes/class_openxrextensionwrapperextension.rst
  30. 1 1
      classes/class_physicsserver3d.rst
  31. 1 1
      classes/class_pinjoint3d.rst
  32. 25 5
      classes/class_projectsettings.rst
  33. 0 0
      classes/class_refcounted.rst
  34. 14 0
      classes/class_renderingdevice.rst
  35. 28 0
      classes/class_renderingserver.rst
  36. 63 0
      classes/class_renderscenebuffers.rst
  37. 216 0
      classes/class_renderscenebuffersconfiguration.rst
  38. 101 0
      classes/class_renderscenebuffersextension.rst
  39. 317 0
      classes/class_renderscenebuffersrd.rst
  40. 1 1
      classes/class_resource.rst
  41. 19 7
      classes/class_resourceimporterbitmap.rst
  42. 20 8
      classes/class_resourceimporterbmfont.rst
  43. 26 8
      classes/class_resourceimportercsvtranslation.rst
  44. 54 44
      classes/class_resourceimporterdynamicfont.rst
  45. 14 2
      classes/class_resourceimporterimage.rst
  46. 26 22
      classes/class_resourceimporterimagefont.rst
  47. 55 21
      classes/class_resourceimporterlayeredtexture.rst
  48. 31 11
      classes/class_resourceimportermp3.rst
  49. 21 13
      classes/class_resourceimporterobj.rst
  50. 31 11
      classes/class_resourceimporteroggvorbis.rst
  51. 43 47
      classes/class_resourceimporterscene.rst
  52. 7 2
      classes/class_resourceimportershaderfile.rst
  53. 81 45
      classes/class_resourceimportertexture.rst
  54. 16 11
      classes/class_resourceimportertextureatlas.rst
  55. 38 28
      classes/class_resourceimporterwav.rst
  56. 2 2
      classes/class_scenetree.rst
  57. 1 1
      classes/class_separationrayshape3d.rst
  58. 2 0
      classes/class_shadermaterial.rst
  59. 7 5
      classes/class_subviewportcontainer.rst
  60. 1 1
      classes/class_texture2d.rst
  61. 30 0
      classes/class_texture2darrayrd.rst
  62. 66 0
      classes/class_texture2drd.rst
  63. 1 1
      classes/class_texture3d.rst
  64. 64 0
      classes/class_texture3drd.rst
  65. 30 0
      classes/class_texturecubemaparrayrd.rst
  66. 30 0
      classes/class_texturecubemaprd.rst
  67. 1 1
      classes/class_texturelayered.rst
  68. 66 0
      classes/class_texturelayeredrd.rst
  69. 0 2
      classes/class_thread.rst
  70. 4 0
      classes/class_tween.rst
  71. 4 4
      classes/class_viewport.rst
  72. 0 0
      classes/class_visualshadernode.rst
  73. 30 0
      classes/class_visualshadernoderotationbyaxis.rst
  74. 30 0
      classes/class_visualshadernodescreennormalworldspace.rst
  75. 30 0
      classes/class_visualshadernodeworldpositionfromdepth.rst
  76. 15 0
      classes/index.rst

+ 1 - 1
classes/class_astargrid2d.rst

@@ -38,7 +38,7 @@ To use **AStarGrid2D**, you only need to set the :ref:`region<class_AStarGrid2D_
  .. code-tab:: csharp
 
     AStarGrid2D astarGrid = new AStarGrid2D();
-    astarGrid.Size = new Vector2I(32, 32);
+    astarGrid.Region = new Rect2I(0, 0, 32, 32);
     astarGrid.CellSize = new Vector2I(16, 16);
     astarGrid.Update();
     GD.Print(astarGrid.GetIdPath(Vector2I.Zero, new Vector2I(3, 4))); // prints (0, 0), (1, 1), (2, 2), (3, 3), (3, 4)

+ 1 - 1
classes/class_basematerial3d.rst

@@ -2474,7 +2474,7 @@ Specifies the channel of the :ref:`metallic_texture<class_BaseMaterial3D_propert
 - void **set_msdf_outline_size** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_msdf_outline_size** **(** **)**
 
-The width of the shape outine.
+The width of the shape outline.
 
 .. rst-class:: classref-item-separator
 

+ 16 - 2
classes/class_codeedit.rst

@@ -150,7 +150,9 @@ Methods
    +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                     | :ref:`get_text_for_code_completion<class_CodeEdit_method_get_text_for_code_completion>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                        |
    +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                     | :ref:`get_text_for_symbol_lookup<class_CodeEdit_method_get_text_for_symbol_lookup>` **(** **)**                                                                                                                                                                                                                                                                                                                                    |
+   | :ref:`String<class_String>`                     | :ref:`get_text_for_symbol_lookup<class_CodeEdit_method_get_text_for_symbol_lookup>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                            |
+   +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                     | :ref:`get_text_with_cursor_char<class_CodeEdit_method_get_text_with_cursor_char>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` column **)** |const|                                                                                                                                                                                                                                                                     |
    +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                         | :ref:`has_auto_brace_completion_close_key<class_CodeEdit_method_has_auto_brace_completion_close_key>` **(** :ref:`String<class_String>` close_key **)** |const|                                                                                                                                                                                                                                                                    |
    +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -1267,7 +1269,7 @@ Returns the full text with char ``0xFFFF`` at the caret location.
 
 .. rst-class:: classref-method
 
-:ref:`String<class_String>` **get_text_for_symbol_lookup** **(** **)**
+:ref:`String<class_String>` **get_text_for_symbol_lookup** **(** **)** |const|
 
 Returns the full text with char ``0xFFFF`` at the cursor location.
 
@@ -1275,6 +1277,18 @@ Returns the full text with char ``0xFFFF`` at the cursor location.
 
 ----
 
+.. _class_CodeEdit_method_get_text_with_cursor_char:
+
+.. rst-class:: classref-method
+
+:ref:`String<class_String>` **get_text_with_cursor_char** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` column **)** |const|
+
+Returns the full text with char ``0xFFFF`` at the specified location.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_CodeEdit_method_has_auto_brace_completion_close_key:
 
 .. rst-class:: classref-method

+ 1 - 1
classes/class_collisionpolygon2d.rst

@@ -21,7 +21,7 @@ Description
 
 A node that provides a thickened polygon shape (a prism) to a :ref:`CollisionObject2D<class_CollisionObject2D>` parent and allows to edit it. The polygon can be concave or convex. This can give a detection shape to an :ref:`Area2D<class_Area2D>` or turn :ref:`PhysicsBody2D<class_PhysicsBody2D>` into a solid object.
 
-\ **Warning:** A non-uniformly scaled :ref:`CollisionShape3D<class_CollisionShape3D>` will likely not behave as expected. Make sure to keep its scale the same on all axes and adjust its shape resource instead.
+\ **Warning:** A non-uniformly scaled :ref:`CollisionShape2D<class_CollisionShape2D>` will likely not behave as expected. Make sure to keep its scale the same on all axes and adjust its shape resource instead.
 
 .. rst-class:: classref-reftable-group
 

+ 3 - 3
classes/class_control.rst

@@ -888,7 +888,7 @@ enum **MouseFilter**:
 
 :ref:`MouseFilter<enum_Control_MouseFilter>` **MOUSE_FILTER_STOP** = ``0``
 
-The control will receive mouse button input events through :ref:`_gui_input<class_Control_method__gui_input>` if clicked on. And the control will receive the :ref:`mouse_entered<class_Control_signal_mouse_entered>` and :ref:`mouse_exited<class_Control_signal_mouse_exited>` signals. These events are automatically marked as handled, and they will not propagate further to other controls. This also results in blocking signals in other controls.
+The control will receive mouse movement input events and mouse button input events if clicked on through :ref:`_gui_input<class_Control_method__gui_input>`. And the control will receive the :ref:`mouse_entered<class_Control_signal_mouse_entered>` and :ref:`mouse_exited<class_Control_signal_mouse_exited>` signals. These events are automatically marked as handled, and they will not propagate further to other controls. This also results in blocking signals in other controls.
 
 .. _class_Control_constant_MOUSE_FILTER_PASS:
 
@@ -896,7 +896,7 @@ The control will receive mouse button input events through :ref:`_gui_input<clas
 
 :ref:`MouseFilter<enum_Control_MouseFilter>` **MOUSE_FILTER_PASS** = ``1``
 
-The control will receive mouse button input events through :ref:`_gui_input<class_Control_method__gui_input>` if clicked on. And the control will receive the :ref:`mouse_entered<class_Control_signal_mouse_entered>` and :ref:`mouse_exited<class_Control_signal_mouse_exited>` signals. If this control does not handle the event, the parent control (if any) will be considered, and so on until there is no more parent control to potentially handle it. This also allows signals to fire in other controls. If no control handled it, the event will be passed to :ref:`Node._unhandled_input<class_Node_method__unhandled_input>` for further processing.
+The control will receive mouse movement input events and mouse button input events if clicked on through :ref:`_gui_input<class_Control_method__gui_input>`. And the control will receive the :ref:`mouse_entered<class_Control_signal_mouse_entered>` and :ref:`mouse_exited<class_Control_signal_mouse_exited>` signals. If this control does not handle the event, the parent control (if any) will be considered, and so on until there is no more parent control to potentially handle it. This also allows signals to fire in other controls. If no control handled it, the event will be passed to :ref:`Node._shortcut_input<class_Node_method__shortcut_input>` for further processing.
 
 .. _class_Control_constant_MOUSE_FILTER_IGNORE:
 
@@ -904,7 +904,7 @@ The control will receive mouse button input events through :ref:`_gui_input<clas
 
 :ref:`MouseFilter<enum_Control_MouseFilter>` **MOUSE_FILTER_IGNORE** = ``2``
 
-The control will not receive mouse button input events through :ref:`_gui_input<class_Control_method__gui_input>`. The control will also not receive the :ref:`mouse_entered<class_Control_signal_mouse_entered>` nor :ref:`mouse_exited<class_Control_signal_mouse_exited>` signals. This will not block other controls from receiving these events or firing the signals. Ignored events will not be handled automatically.
+The control will not receive mouse movement input events and mouse button input events if clicked on through :ref:`_gui_input<class_Control_method__gui_input>`. The control will also not receive the :ref:`mouse_entered<class_Control_signal_mouse_entered>` nor :ref:`mouse_exited<class_Control_signal_mouse_exited>` signals. This will not block other controls from receiving these events or firing the signals. Ignored events will not be handled automatically.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_convexpolygonshape2d.rst

@@ -23,7 +23,7 @@ A 2D convex polygon shape, intended for use in physics. Used internally in :ref:
 
 \ **ConvexPolygonShape2D** is *solid*, which means it detects collisions from objects that are fully inside it, unlike :ref:`ConcavePolygonShape2D<class_ConcavePolygonShape2D>` which is hollow. This makes it more suitable for both detection and physics.
 
-\ **Convex decomposition:** A concave polygon can be split up into several convex polygons. This allows dynamic physics bodies to have complex concave collisions (at a performance cost) and can be achieved by using several :ref:`ConvexPolygonShape3D<class_ConvexPolygonShape3D>` nodes or by using the :ref:`CollisionPolygon2D<class_CollisionPolygon2D>` node in ``BUILD_SOLIDS`` mode. To generate a collision polygon from a sprite, select the :ref:`Sprite2D<class_Sprite2D>` node, go to the **Sprite2D** menu that appears above the viewport, and choose **Create Polygon2D Sibling**.
+\ **Convex decomposition:** A concave polygon can be split up into several convex polygons. This allows dynamic physics bodies to have complex concave collisions (at a performance cost) and can be achieved by using several **ConvexPolygonShape2D** nodes or by using the :ref:`CollisionPolygon2D<class_CollisionPolygon2D>` node in ``BUILD_SOLIDS`` mode. To generate a collision polygon from a sprite, select the :ref:`Sprite2D<class_Sprite2D>` node, go to the **Sprite2D** menu that appears above the viewport, and choose **Create Polygon2D Sibling**.
 
 \ **Performance:** **ConvexPolygonShape2D** is faster to check collisions against compared to :ref:`ConcavePolygonShape2D<class_ConcavePolygonShape2D>`, but it is slower than primitive collision shapes such as :ref:`CircleShape2D<class_CircleShape2D>` and :ref:`RectangleShape2D<class_RectangleShape2D>`. Its use should generally be limited to medium-sized objects that cannot have their collision accurately represented by primitive shapes.
 

+ 1 - 1
classes/class_cpuparticles2d.rst

@@ -951,7 +951,7 @@ The sphere's radius if :ref:`emission_shape<class_CPUParticles2D_property_emissi
 - void **set_emitting** **(** :ref:`bool<class_bool>` value **)**
 - :ref:`bool<class_bool>` **is_emitting** **(** **)**
 
-If ``true``, particles are being emitted.
+If ``true``, particles are being emitted. :ref:`emitting<class_CPUParticles2D_property_emitting>` can be used to start and stop particles from emitting. However, if :ref:`one_shot<class_CPUParticles2D_property_one_shot>` is ``true`` setting :ref:`emitting<class_CPUParticles2D_property_emitting>` to ``true`` will not restart the emission cycle until after all active particles finish processing. You can use the :ref:`finished<class_CPUParticles2D_signal_finished>` signal to be notified once all active particles finish processing.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_cpuparticles3d.rst

@@ -1050,7 +1050,7 @@ The sphere's radius if :ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` i
 - void **set_emitting** **(** :ref:`bool<class_bool>` value **)**
 - :ref:`bool<class_bool>` **is_emitting** **(** **)**
 
-If ``true``, particles are being emitted.
+If ``true``, particles are being emitted. :ref:`emitting<class_CPUParticles3D_property_emitting>` can be used to start and stop particles from emitting. However, if :ref:`one_shot<class_CPUParticles3D_property_one_shot>` is ``true`` setting :ref:`emitting<class_CPUParticles3D_property_emitting>` to ``true`` will not restart the emission cycle until after all active particles finish processing. You can use the :ref:`finished<class_CPUParticles3D_signal_finished>` signal to be notified once all active particles finish processing.
 
 .. rst-class:: classref-item-separator
 

+ 2 - 2
classes/class_cylindershape3d.rst

@@ -19,11 +19,11 @@ A 3D cylinder shape used for physics collision.
 Description
 -----------
 
-A 2D capsule shape, intended for use in physics. Usually used to provide a shape for a :ref:`CollisionShape3D<class_CollisionShape3D>`.
+A 3D cylinder shape, intended for use in physics. Usually used to provide a shape for a :ref:`CollisionShape3D<class_CollisionShape3D>`.
 
 \ **Note:** There are several known bugs with cylinder collision shapes. Using :ref:`CapsuleShape3D<class_CapsuleShape3D>` or :ref:`BoxShape3D<class_BoxShape3D>` instead is recommended.
 
-\ **Performance:** **CylinderShape3D** is fast to check collisions against, but it is slower than :ref:`CapsuleShape3D<class_CapsuleShape3D>`, :ref:`BoxShape3D<class_BoxShape3D>`, and **CylinderShape3D**.
+\ **Performance:** **CylinderShape3D** is fast to check collisions against, but it is slower than :ref:`CapsuleShape3D<class_CapsuleShape3D>`, :ref:`BoxShape3D<class_BoxShape3D>`, and :ref:`SphereShape3D<class_SphereShape3D>`.
 
 .. rst-class:: classref-introduction-group
 

+ 29 - 1
classes/class_displayserver.rst

@@ -34,10 +34,14 @@ Methods
    +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                                             | :ref:`clipboard_get<class_DisplayServer_method_clipboard_get>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                    |
    +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Image<class_Image>`                                               | :ref:`clipboard_get_image<class_DisplayServer_method_clipboard_get_image>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                        |
+   +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                                             | :ref:`clipboard_get_primary<class_DisplayServer_method_clipboard_get_primary>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                    |
    +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                                 | :ref:`clipboard_has<class_DisplayServer_method_clipboard_has>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                    |
    +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                                 | :ref:`clipboard_has_image<class_DisplayServer_method_clipboard_has_image>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                        |
+   +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                    | :ref:`clipboard_set<class_DisplayServer_method_clipboard_set>` **(** :ref:`String<class_String>` clipboard **)**                                                                                                                                                                                                                                                                                                                                                                                      |
    +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                    | :ref:`clipboard_set_primary<class_DisplayServer_method_clipboard_set_primary>` **(** :ref:`String<class_String>` clipboard_primary **)**                                                                                                                                                                                                                                                                                                                                                              |
@@ -1406,6 +1410,18 @@ Returns the user's clipboard as a string if possible.
 
 ----
 
+.. _class_DisplayServer_method_clipboard_get_image:
+
+.. rst-class:: classref-method
+
+:ref:`Image<class_Image>` **clipboard_get_image** **(** **)** |const|
+
+Returns the user's clipboard as an image if possible.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_DisplayServer_method_clipboard_get_primary:
 
 .. rst-class:: classref-method
@@ -1426,7 +1442,19 @@ Returns the user's `primary <https://unix.stackexchange.com/questions/139191/wha
 
 :ref:`bool<class_bool>` **clipboard_has** **(** **)** |const|
 
-Returns ``true`` if there is content on the user's clipboard.
+Returns ``true`` if there is a text content on the user's clipboard.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_DisplayServer_method_clipboard_has_image:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **clipboard_has_image** **(** **)** |const|
+
+Returns ``true`` if there is an image content on the user's clipboard.
 
 .. rst-class:: classref-item-separator
 

+ 4 - 0
classes/class_editorfeatureprofile.rst

@@ -219,6 +219,8 @@ Returns ``true`` if the ``feature`` is disabled. When a feature is disabled, it
 
 Loads an editor feature profile from a file. The file must follow the JSON format obtained by using the feature profile manager's **Export** button or the :ref:`save_to_file<class_EditorFeatureProfile_method_save_to_file>` method.
 
+\ **Note:** Feature profiles created via the user interface are loaded from the ``feature_profiles`` directory, as a file with the ``.profile`` extension. The editor configuration folder can be found by using :ref:`EditorPaths.get_config_dir<class_EditorPaths_method_get_config_dir>`.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -231,6 +233,8 @@ Loads an editor feature profile from a file. The file must follow the JSON forma
 
 Saves the editor feature profile to a file in JSON format. It can then be imported using the feature profile manager's **Import** button or the :ref:`load_from_file<class_EditorFeatureProfile_method_load_from_file>` method.
 
+\ **Note:** Feature profiles created via the user interface are saved in the ``feature_profiles`` directory, as a file with the ``.profile`` extension. The editor configuration folder can be found by using :ref:`EditorPaths.get_config_dir<class_EditorPaths_method_get_config_dir>`.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 52 - 2
classes/class_editorinterface.rst

@@ -58,6 +58,8 @@ Methods
    +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                               | :ref:`get_current_directory<class_EditorInterface_method_get_current_directory>` **(** **)** |const|                                                                                                                                                   |
    +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                               | :ref:`get_current_feature_profile<class_EditorInterface_method_get_current_feature_profile>` **(** **)** |const|                                                                                                                                       |
+   +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                               | :ref:`get_current_path<class_EditorInterface_method_get_current_path>` **(** **)** |const|                                                                                                                                                             |
    +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Node<class_Node>`                                   | :ref:`get_edited_scene_root<class_EditorInterface_method_get_edited_scene_root>` **(** **)** |const|                                                                                                                                                   |
@@ -118,12 +120,16 @@ Methods
    +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                      | :ref:`restart_editor<class_EditorInterface_method_restart_editor>` **(** :ref:`bool<class_bool>` save=true **)**                                                                                                                                       |
    +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                      | :ref:`save_all_scenes<class_EditorInterface_method_save_all_scenes>` **(** **)**                                                                                                                                                                       |
+   +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Error<enum_@GlobalScope_Error>`                     | :ref:`save_scene<class_EditorInterface_method_save_scene>` **(** **)**                                                                                                                                                                                 |
    +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                      | :ref:`save_scene_as<class_EditorInterface_method_save_scene_as>` **(** :ref:`String<class_String>` path, :ref:`bool<class_bool>` with_preview=true **)**                                                                                               |
    +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                      | :ref:`select_file<class_EditorInterface_method_select_file>` **(** :ref:`String<class_String>` file **)**                                                                                                                                              |
    +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                      | :ref:`set_current_feature_profile<class_EditorInterface_method_set_current_feature_profile>` **(** :ref:`String<class_String>` profile_name **)**                                                                                                      |
+   +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                      | :ref:`set_main_screen_editor<class_EditorInterface_method_set_main_screen_editor>` **(** :ref:`String<class_String>` name **)**                                                                                                                        |
    +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                      | :ref:`set_plugin_enabled<class_EditorInterface_method_set_plugin_enabled>` **(** :ref:`String<class_String>` plugin, :ref:`bool<class_bool>` enabled **)**                                                                                             |
@@ -255,6 +261,22 @@ Returns the current directory being viewed in the :ref:`FileSystemDock<class_Fil
 
 ----
 
+.. _class_EditorInterface_method_get_current_feature_profile:
+
+.. rst-class:: classref-method
+
+:ref:`String<class_String>` **get_current_feature_profile** **(** **)** |const|
+
+Returns the name of the currently activated feature profile. If the default profile is currently active, an empty string is returned instead.
+
+In order to get a reference to the :ref:`EditorFeatureProfile<class_EditorFeatureProfile>`, you must load the feature profile using :ref:`EditorFeatureProfile.load_from_file<class_EditorFeatureProfile_method_load_from_file>`.
+
+\ **Note:** Feature profiles created via the user interface are loaded from the ``feature_profiles`` directory, as a file with the ``.profile`` extension. The editor configuration folder can be found by using :ref:`EditorPaths.get_config_dir<class_EditorPaths_method_get_config_dir>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorInterface_method_get_current_path:
 
 .. rst-class:: classref-method
@@ -633,13 +655,25 @@ Restarts the editor. This closes the editor and then opens the same project. If
 
 ----
 
+.. _class_EditorInterface_method_save_all_scenes:
+
+.. rst-class:: classref-method
+
+void **save_all_scenes** **(** **)**
+
+Saves all opened scenes in the editor.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorInterface_method_save_scene:
 
 .. rst-class:: classref-method
 
 :ref:`Error<enum_@GlobalScope_Error>` **save_scene** **(** **)**
 
-Saves the scene. Returns either :ref:`@GlobalScope.OK<class_@GlobalScope_constant_OK>` or :ref:`@GlobalScope.ERR_CANT_CREATE<class_@GlobalScope_constant_ERR_CANT_CREATE>`.
+Saves the currently active scene. Returns either :ref:`@GlobalScope.OK<class_@GlobalScope_constant_OK>` or :ref:`@GlobalScope.ERR_CANT_CREATE<class_@GlobalScope_constant_ERR_CANT_CREATE>`.
 
 .. rst-class:: classref-item-separator
 
@@ -651,7 +685,7 @@ Saves the scene. Returns either :ref:`@GlobalScope.OK<class_@GlobalScope_constan
 
 void **save_scene_as** **(** :ref:`String<class_String>` path, :ref:`bool<class_bool>` with_preview=true **)**
 
-Saves the scene as a file at ``path``.
+Saves the currently active scene as a file at ``path``.
 
 .. rst-class:: classref-item-separator
 
@@ -669,6 +703,22 @@ Selects the file, with the path provided by ``file``, in the FileSystem dock.
 
 ----
 
+.. _class_EditorInterface_method_set_current_feature_profile:
+
+.. rst-class:: classref-method
+
+void **set_current_feature_profile** **(** :ref:`String<class_String>` profile_name **)**
+
+Selects and activates the specified feature profile with the given ``profile_name``. Set ``profile_name`` to an empty string to reset to the default feature profile.
+
+A feature profile can be created programmatically using the :ref:`EditorFeatureProfile<class_EditorFeatureProfile>` class.
+
+\ **Note:** The feature profile that gets activated must be located in the ``feature_profiles`` directory, as a file with the ``.profile`` extension. If a profile could not be found, an error occurs. The editor configuration folder can be found by using :ref:`EditorPaths.get_config_dir<class_EditorPaths_method_get_config_dir>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorInterface_method_set_main_screen_editor:
 
 .. rst-class:: classref-method

+ 2 - 0
classes/class_editorplugin.rst

@@ -952,6 +952,8 @@ Use :ref:`_set_window_layout<class_EditorPlugin_method__set_window_layout>` to r
 
 Implement this function if your plugin edits a specific type of object (Resource or Node). If you return ``true``, then you will get the functions :ref:`_edit<class_EditorPlugin_method__edit>` and :ref:`_make_visible<class_EditorPlugin_method__make_visible>` called when the editor requests them. If you have declared the methods :ref:`_forward_canvas_gui_input<class_EditorPlugin_method__forward_canvas_gui_input>` and :ref:`_forward_3d_gui_input<class_EditorPlugin_method__forward_3d_gui_input>` these will be called too.
 
+\ **Note:** Each plugin should handle only one type of objects at a time. If a plugin handes more types of objects and they are edited at the same time, it will result in errors.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 8 - 18
classes/class_editorsettings.rst

@@ -91,11 +91,11 @@ Properties
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Color<class_Color>`     | :ref:`editors/2d/bone_outline_color<class_EditorSettings_property_editors/2d/bone_outline_color>`                                                                                   |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`         | :ref:`editors/2d/bone_outline_size<class_EditorSettings_property_editors/2d/bone_outline_size>`                                                                                     |
+   | :ref:`float<class_float>`     | :ref:`editors/2d/bone_outline_size<class_EditorSettings_property_editors/2d/bone_outline_size>`                                                                                     |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Color<class_Color>`     | :ref:`editors/2d/bone_selected_color<class_EditorSettings_property_editors/2d/bone_selected_color>`                                                                                 |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`         | :ref:`editors/2d/bone_width<class_EditorSettings_property_editors/2d/bone_width>`                                                                                                   |
+   | :ref:`float<class_float>`     | :ref:`editors/2d/bone_width<class_EditorSettings_property_editors/2d/bone_width>`                                                                                                   |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Color<class_Color>`     | :ref:`editors/2d/grid_color<class_EditorSettings_property_editors/2d/grid_color>`                                                                                                   |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -183,8 +183,6 @@ Properties
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`       | :ref:`editors/animation/autorename_animation_tracks<class_EditorSettings_property_editors/animation/autorename_animation_tracks>`                                                   |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`       | :ref:`editors/animation/confirm_insert_track<class_EditorSettings_property_editors/animation/confirm_insert_track>`                                                                 |
-   +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`       | :ref:`editors/animation/default_create_bezier_tracks<class_EditorSettings_property_editors/animation/default_create_bezier_tracks>`                                                 |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`       | :ref:`editors/animation/default_create_reset_tracks<class_EditorSettings_property_editors/animation/default_create_reset_tracks>`                                                   |
@@ -843,10 +841,12 @@ The outline color to use for non-selected bones in the 2D skeleton editor. See a
 
 .. rst-class:: classref-property
 
-:ref:`int<class_int>` **editors/2d/bone_outline_size**
+:ref:`float<class_float>` **editors/2d/bone_outline_size**
 
 The outline size in the 2D skeleton editor (in pixels). See also :ref:`editors/2d/bone_width<class_EditorSettings_property_editors/2d/bone_width>`.
 
+\ **Note:** Changes to this value only apply after modifying a :ref:`Bone2D<class_Bone2D>` node in any way, or closing and reopening the scene.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -867,10 +867,12 @@ The color to use for selected bones in the 2D skeleton editor. See also :ref:`ed
 
 .. rst-class:: classref-property
 
-:ref:`int<class_int>` **editors/2d/bone_width**
+:ref:`float<class_float>` **editors/2d/bone_width**
 
 The bone width in the 2D skeleton editor (in pixels). See also :ref:`editors/2d/bone_outline_size<class_EditorSettings_property_editors/2d/bone_outline_size>`.
 
+\ **Note:** Changes to this value only apply after modifying a :ref:`Bone2D<class_Bone2D>` node in any way, or closing and reopening the scene.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -1425,18 +1427,6 @@ If ``true``, automatically updates animation tracks' target paths when renaming
 
 ----
 
-.. _class_EditorSettings_property_editors/animation/confirm_insert_track:
-
-.. rst-class:: classref-property
-
-:ref:`bool<class_bool>` **editors/animation/confirm_insert_track**
-
-If ``true``, display a confirmation dialog when adding a new track to an animation by pressing the "key" icon next to a property.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_EditorSettings_property_editors/animation/default_create_bezier_tracks:
 
 .. rst-class:: classref-property

+ 1 - 1
classes/class_gpuparticles2d.rst

@@ -285,7 +285,7 @@ Particle draw order. Uses :ref:`DrawOrder<enum_GPUParticles2D_DrawOrder>` values
 - void **set_emitting** **(** :ref:`bool<class_bool>` value **)**
 - :ref:`bool<class_bool>` **is_emitting** **(** **)**
 
-If ``true``, particles are being emitted.
+If ``true``, particles are being emitted. :ref:`emitting<class_GPUParticles2D_property_emitting>` can be used to start and stop particles from emitting. However, if :ref:`one_shot<class_GPUParticles2D_property_one_shot>` is ``true`` setting :ref:`emitting<class_GPUParticles2D_property_emitting>` to ``true`` will not restart the emission cycle until after all active particles finish processing. You can use the :ref:`finished<class_GPUParticles2D_signal_finished>` signal to be notified once all active particles finish processing.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_gpuparticles3d.rst

@@ -466,7 +466,7 @@ The number of draw passes when rendering particles.
 - void **set_emitting** **(** :ref:`bool<class_bool>` value **)**
 - :ref:`bool<class_bool>` **is_emitting** **(** **)**
 
-If ``true``, particles are being emitted.
+If ``true``, particles are being emitted. :ref:`emitting<class_GPUParticles3D_property_emitting>` can be used to start and stop particles from emitting. However, if :ref:`one_shot<class_GPUParticles3D_property_one_shot>` is ``true`` setting :ref:`emitting<class_GPUParticles3D_property_emitting>` to ``true`` will not restart the emission cycle until after all active particles finish processing. You can use the :ref:`finished<class_GPUParticles3D_signal_finished>` signal to be notified once all active particles finish processing.
 
 .. rst-class:: classref-item-separator
 

+ 72 - 43
classes/class_graphedit.rst

@@ -58,11 +58,13 @@ Properties
    +----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
    | :ref:`Vector2<class_Vector2>`                      | :ref:`scroll_offset<class_GraphEdit_property_scroll_offset>`                               | ``Vector2(0, 0)``                                                         |
    +----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                            | :ref:`show_grid<class_GraphEdit_property_show_grid>`                                       | ``true``                                                                  |
+   +----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                            | :ref:`show_zoom_label<class_GraphEdit_property_show_zoom_label>`                           | ``false``                                                                 |
    +----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                              | :ref:`snap_distance<class_GraphEdit_property_snap_distance>`                               | ``20``                                                                    |
+   | :ref:`int<class_int>`                              | :ref:`snapping_distance<class_GraphEdit_property_snapping_distance>`                       | ``20``                                                                    |
    +----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                            | :ref:`use_snap<class_GraphEdit_property_use_snap>`                                         | ``true``                                                                  |
+   | :ref:`bool<class_bool>`                            | :ref:`snapping_enabled<class_GraphEdit_property_snapping_enabled>`                         | ``true``                                                                  |
    +----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
    | :ref:`float<class_float>`                          | :ref:`zoom<class_GraphEdit_property_zoom>`                                                 | ``1.0``                                                                   |
    +----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
@@ -110,7 +112,7 @@ Methods
    +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Dictionary[]<class_Dictionary>`               | :ref:`get_connection_list<class_GraphEdit_method_get_connection_list>` **(** **)** |const|                                                                                                                                                                                              |
    +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`HBoxContainer<class_HBoxContainer>`           | :ref:`get_zoom_hbox<class_GraphEdit_method_get_zoom_hbox>` **(** **)**                                                                                                                                                                                                                  |
+   | :ref:`HBoxContainer<class_HBoxContainer>`           | :ref:`get_menu_hbox<class_GraphEdit_method_get_menu_hbox>` **(** **)**                                                                                                                                                                                                                  |
    +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                             | :ref:`is_node_connected<class_GraphEdit_method_is_node_connected>` **(** :ref:`StringName<class_StringName>` from_node, :ref:`int<class_int>` from_port, :ref:`StringName<class_StringName>` to_node, :ref:`int<class_int>` to_port **)**                                               |
    +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -150,19 +152,21 @@ Theme Properties
    +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
    | :ref:`int<class_int>`             | :ref:`port_hotzone_outer_extent<class_GraphEdit_theme_constant_port_hotzone_outer_extent>` | ``26``                   |
    +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`grid_toggle<class_GraphEdit_theme_icon_grid_toggle>`                                 |                          |
+   +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
    | :ref:`Texture2D<class_Texture2D>` | :ref:`layout<class_GraphEdit_theme_icon_layout>`                                           |                          |
    +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`minimap<class_GraphEdit_theme_icon_minimap>`                                         |                          |
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`minimap_toggle<class_GraphEdit_theme_icon_minimap_toggle>`                           |                          |
    +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`minus<class_GraphEdit_theme_icon_minus>`                                             |                          |
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`snapping_toggle<class_GraphEdit_theme_icon_snapping_toggle>`                         |                          |
    +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`more<class_GraphEdit_theme_icon_more>`                                               |                          |
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`zoom_in<class_GraphEdit_theme_icon_zoom_in>`                                         |                          |
    +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`reset<class_GraphEdit_theme_icon_reset>`                                             |                          |
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`zoom_out<class_GraphEdit_theme_icon_zoom_out>`                                       |                          |
    +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Texture2D<class_Texture2D>` | :ref:`snap<class_GraphEdit_theme_icon_snap>`                                               |                          |
+   | :ref:`Texture2D<class_Texture2D>` | :ref:`zoom_reset<class_GraphEdit_theme_icon_zoom_reset>`                                   |                          |
    +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
-   | :ref:`StyleBox<class_StyleBox>`   | :ref:`bg<class_GraphEdit_theme_style_bg>`                                                  |                          |
+   | :ref:`StyleBox<class_StyleBox>`   | :ref:`panel<class_GraphEdit_theme_style_panel>`                                            |                          |
    +-----------------------------------+--------------------------------------------------------------------------------------------+--------------------------+
 
 .. rst-class:: classref-section-separator
@@ -565,8 +569,8 @@ If ``true``, enables disconnection of existing connections in the GraphEdit by d
 
 .. rst-class:: classref-property-setget
 
-- void **set_scroll_ofs** **(** :ref:`Vector2<class_Vector2>` value **)**
-- :ref:`Vector2<class_Vector2>` **get_scroll_ofs** **(** **)**
+- void **set_scroll_offset** **(** :ref:`Vector2<class_Vector2>` value **)**
+- :ref:`Vector2<class_Vector2>` **get_scroll_offset** **(** **)**
 
 The scroll offset.
 
@@ -574,6 +578,23 @@ The scroll offset.
 
 ----
 
+.. _class_GraphEdit_property_show_grid:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **show_grid** = ``true``
+
+.. rst-class:: classref-property-setget
+
+- void **set_show_grid** **(** :ref:`bool<class_bool>` value **)**
+- :ref:`bool<class_bool>` **is_showing_grid** **(** **)**
+
+If ``true``, the grid is visible.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_GraphEdit_property_show_zoom_label:
 
 .. rst-class:: classref-property
@@ -591,33 +612,33 @@ If ``true``, makes a label with the current zoom level visible. The zoom value i
 
 ----
 
-.. _class_GraphEdit_property_snap_distance:
+.. _class_GraphEdit_property_snapping_distance:
 
 .. rst-class:: classref-property
 
-:ref:`int<class_int>` **snap_distance** = ``20``
+:ref:`int<class_int>` **snapping_distance** = ``20``
 
 .. rst-class:: classref-property-setget
 
-- void **set_snap** **(** :ref:`int<class_int>` value **)**
-- :ref:`int<class_int>` **get_snap** **(** **)**
+- void **set_snapping_distance** **(** :ref:`int<class_int>` value **)**
+- :ref:`int<class_int>` **get_snapping_distance** **(** **)**
 
-The snapping distance in pixels.
+The snapping distance in pixels, also determines the grid line distance.
 
 .. rst-class:: classref-item-separator
 
 ----
 
-.. _class_GraphEdit_property_use_snap:
+.. _class_GraphEdit_property_snapping_enabled:
 
 .. rst-class:: classref-property
 
-:ref:`bool<class_bool>` **use_snap** = ``true``
+:ref:`bool<class_bool>` **snapping_enabled** = ``true``
 
 .. rst-class:: classref-property-setget
 
-- void **set_use_snap** **(** :ref:`bool<class_bool>` value **)**
-- :ref:`bool<class_bool>` **is_using_snap** **(** **)**
+- void **set_snapping_enabled** **(** :ref:`bool<class_bool>` value **)**
+- :ref:`bool<class_bool>` **is_snapping_enabled** **(** **)**
 
 If ``true``, enables snapping.
 
@@ -917,11 +938,11 @@ Returns an Array containing the list of connections. A connection consists in a
 
 ----
 
-.. _class_GraphEdit_method_get_zoom_hbox:
+.. _class_GraphEdit_method_get_menu_hbox:
 
 .. rst-class:: classref-method
 
-:ref:`HBoxContainer<class_HBoxContainer>` **get_zoom_hbox** **(** **)**
+:ref:`HBoxContainer<class_HBoxContainer>` **get_menu_hbox** **(** **)**
 
 Gets the :ref:`HBoxContainer<class_HBoxContainer>` that contains the zooming and grid snap controls in the top left of the graph. You can use this method to reposition the toolbar or to add your own custom controls to it.
 
@@ -1110,51 +1131,59 @@ The horizontal range within which a port can be grabbed (outer side).
 
 ----
 
+.. _class_GraphEdit_theme_icon_grid_toggle:
+
+.. rst-class:: classref-themeproperty
+
+:ref:`Texture2D<class_Texture2D>` **grid_toggle**
+
+The icon for the grid toggle button.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_GraphEdit_theme_icon_layout:
 
 .. rst-class:: classref-themeproperty
 
 :ref:`Texture2D<class_Texture2D>` **layout**
 
-.. container:: contribute
-
-	There is currently no description for this theme property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The icon for the layout button for auto-arranging the graph.
 
 .. rst-class:: classref-item-separator
 
 ----
 
-.. _class_GraphEdit_theme_icon_minimap:
+.. _class_GraphEdit_theme_icon_minimap_toggle:
 
 .. rst-class:: classref-themeproperty
 
-:ref:`Texture2D<class_Texture2D>` **minimap**
-
-.. container:: contribute
+:ref:`Texture2D<class_Texture2D>` **minimap_toggle**
 
-	There is currently no description for this theme property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The icon for the minimap toggle button.
 
 .. rst-class:: classref-item-separator
 
 ----
 
-.. _class_GraphEdit_theme_icon_minus:
+.. _class_GraphEdit_theme_icon_snapping_toggle:
 
 .. rst-class:: classref-themeproperty
 
-:ref:`Texture2D<class_Texture2D>` **minus**
+:ref:`Texture2D<class_Texture2D>` **snapping_toggle**
 
-The icon for the zoom out button.
+The icon for the snapping toggle button.
 
 .. rst-class:: classref-item-separator
 
 ----
 
-.. _class_GraphEdit_theme_icon_more:
+.. _class_GraphEdit_theme_icon_zoom_in:
 
 .. rst-class:: classref-themeproperty
 
-:ref:`Texture2D<class_Texture2D>` **more**
+:ref:`Texture2D<class_Texture2D>` **zoom_in**
 
 The icon for the zoom in button.
 
@@ -1162,35 +1191,35 @@ The icon for the zoom in button.
 
 ----
 
-.. _class_GraphEdit_theme_icon_reset:
+.. _class_GraphEdit_theme_icon_zoom_out:
 
 .. rst-class:: classref-themeproperty
 
-:ref:`Texture2D<class_Texture2D>` **reset**
+:ref:`Texture2D<class_Texture2D>` **zoom_out**
 
-The icon for the zoom reset button.
+The icon for the zoom out button.
 
 .. rst-class:: classref-item-separator
 
 ----
 
-.. _class_GraphEdit_theme_icon_snap:
+.. _class_GraphEdit_theme_icon_zoom_reset:
 
 .. rst-class:: classref-themeproperty
 
-:ref:`Texture2D<class_Texture2D>` **snap**
+:ref:`Texture2D<class_Texture2D>` **zoom_reset**
 
-The icon for the snap toggle button.
+The icon for the zoom reset button.
 
 .. rst-class:: classref-item-separator
 
 ----
 
-.. _class_GraphEdit_theme_style_bg:
+.. _class_GraphEdit_theme_style_panel:
 
 .. rst-class:: classref-themeproperty
 
-:ref:`StyleBox<class_StyleBox>` **bg**
+:ref:`StyleBox<class_StyleBox>` **panel**
 
 The background drawn under the grid.
 

+ 0 - 47
classes/class_graphnode.rst

@@ -35,8 +35,6 @@ Properties
 .. table::
    :widths: auto
 
-   +--------------------------------------------------+------------------------------------------------------------------+-----------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                          | :ref:`comment<class_GraphNode_property_comment>`                 | ``false``                                                             |
    +--------------------------------------------------+------------------------------------------------------------------+-----------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                          | :ref:`draggable<class_GraphNode_property_draggable>`             | ``true``                                                              |
    +--------------------------------------------------+------------------------------------------------------------------+-----------------------------------------------------------------------+
@@ -166,10 +164,6 @@ Theme Properties
    +-----------------------------------+----------------------------------------------------------------------+-----------------------------------+
    | :ref:`StyleBox<class_StyleBox>`   | :ref:`breakpoint<class_GraphNode_theme_style_breakpoint>`            |                                   |
    +-----------------------------------+----------------------------------------------------------------------+-----------------------------------+
-   | :ref:`StyleBox<class_StyleBox>`   | :ref:`comment<class_GraphNode_theme_style_comment>`                  |                                   |
-   +-----------------------------------+----------------------------------------------------------------------+-----------------------------------+
-   | :ref:`StyleBox<class_StyleBox>`   | :ref:`comment_focus<class_GraphNode_theme_style_comment_focus>`      |                                   |
-   +-----------------------------------+----------------------------------------------------------------------+-----------------------------------+
    | :ref:`StyleBox<class_StyleBox>`   | :ref:`frame<class_GraphNode_theme_style_frame>`                      |                                   |
    +-----------------------------------+----------------------------------------------------------------------+-----------------------------------+
    | :ref:`StyleBox<class_StyleBox>`   | :ref:`position<class_GraphNode_theme_style_position>`                |                                   |
@@ -328,23 +322,6 @@ Show overlay set in the :ref:`position<class_GraphNode_theme_style_position>` th
 Property Descriptions
 ---------------------
 
-.. _class_GraphNode_property_comment:
-
-.. rst-class:: classref-property
-
-:ref:`bool<class_bool>` **comment** = ``false``
-
-.. rst-class:: classref-property-setget
-
-- void **set_comment** **(** :ref:`bool<class_bool>` value **)**
-- :ref:`bool<class_bool>` **is_comment** **(** **)**
-
-If ``true``, the GraphNode is a comment node.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_GraphNode_property_draggable:
 
 .. rst-class:: classref-property
@@ -1061,30 +1038,6 @@ The background used when :ref:`overlay<class_GraphNode_property_overlay>` is set
 
 ----
 
-.. _class_GraphNode_theme_style_comment:
-
-.. rst-class:: classref-themeproperty
-
-:ref:`StyleBox<class_StyleBox>` **comment**
-
-The :ref:`StyleBox<class_StyleBox>` used when :ref:`comment<class_GraphNode_property_comment>` is enabled.
-
-.. rst-class:: classref-item-separator
-
-----
-
-.. _class_GraphNode_theme_style_comment_focus:
-
-.. rst-class:: classref-themeproperty
-
-:ref:`StyleBox<class_StyleBox>` **comment_focus**
-
-The :ref:`StyleBox<class_StyleBox>` used when :ref:`comment<class_GraphNode_property_comment>` is enabled and the **GraphNode** is focused.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_GraphNode_theme_style_frame:
 
 .. rst-class:: classref-themeproperty

+ 2 - 0
classes/class_httpclient.rst

@@ -890,6 +890,8 @@ Returns the response's body length.
 
 \ **Note:** Some Web servers may not send a body length. In this case, the value returned will be ``-1``. If using chunked transfer encoding, the body length will also be ``-1``.
 
+\ **Note:** This function always returns ``-1`` on the Web platform due to browsers limitations.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 14 - 6
classes/class_navigationagent2d.rst

@@ -179,7 +179,7 @@ The details dictionary may contain the following keys depending on the value of
 
 **navigation_finished** **(** **)**
 
-Notifies when the final position is reached.
+Emitted once per loaded path when the agent internal navigation path index reaches the last index of the loaded path array. The agent internal navigation path index can be received with :ref:`get_current_navigation_path_index<class_NavigationAgent2D_method_get_current_navigation_path_index>`.
 
 .. rst-class:: classref-item-separator
 
@@ -191,7 +191,13 @@ Notifies when the final position is reached.
 
 **path_changed** **(** **)**
 
-Notifies when the navigation path changes.
+Emitted when the agent had to update the loaded path:
+
+- because path was previously empty.
+
+- because navigation map has changed.
+
+- because agent pushed further away from the current path segment than the :ref:`path_max_distance<class_NavigationAgent2D_property_path_max_distance>`.
 
 .. rst-class:: classref-item-separator
 
@@ -203,7 +209,7 @@ Notifies when the navigation path changes.
 
 **target_reached** **(** **)**
 
-Notifies when the player-defined :ref:`target_position<class_NavigationAgent2D_property_target_position>` is reached.
+Emitted once per loaded path when the agent's global position is the first time within :ref:`target_desired_distance<class_NavigationAgent2D_property_target_desired_distance>` to the :ref:`target_position<class_NavigationAgent2D_property_target_position>`.
 
 .. rst-class:: classref-item-separator
 
@@ -741,7 +747,7 @@ Returns the path query result for the path the agent is currently following.
 
 :ref:`Vector2<class_Vector2>` **get_final_position** **(** **)**
 
-Returns the reachable final position of the current navigation path in global coordinates. This can change if the navigation path is altered in any way. Because of this, it would be best to check this each frame.
+Returns the reachable final position of the current navigation path in global coordinates. This position can change if the agent needs to update the navigation path which makes the agent emit the :ref:`path_changed<class_NavigationAgent2D_signal_path_changed>` signal.
 
 .. rst-class:: classref-item-separator
 
@@ -801,7 +807,9 @@ Returns the :ref:`RID<class_RID>` of this agent on the :ref:`NavigationServer2D<
 
 :ref:`bool<class_bool>` **is_navigation_finished** **(** **)**
 
-Returns true if the navigation path's final position has been reached.
+Returns ``true`` if the end of the currently loaded navigation path has been reached.
+
+\ **Note:** While true prefer to stop calling update functions like :ref:`get_next_path_position<class_NavigationAgent2D_method_get_next_path_position>`. This avoids jittering the standing agent due to calling repeated path updates.
 
 .. rst-class:: classref-item-separator
 
@@ -813,7 +821,7 @@ Returns true if the navigation path's final position has been reached.
 
 :ref:`bool<class_bool>` **is_target_reachable** **(** **)**
 
-Returns true if :ref:`target_position<class_NavigationAgent2D_property_target_position>` is reachable. The target position is set using :ref:`target_position<class_NavigationAgent2D_property_target_position>`.
+Returns ``true`` if :ref:`get_final_position<class_NavigationAgent2D_method_get_final_position>` is within :ref:`target_desired_distance<class_NavigationAgent2D_property_target_desired_distance>` of the :ref:`target_position<class_NavigationAgent2D_property_target_position>`.
 
 .. rst-class:: classref-item-separator
 

+ 16 - 8
classes/class_navigationagent3d.rst

@@ -169,9 +169,9 @@ The details dictionary may contain the following keys depending on the value of
 
 - ``owner``: The object which manages the link (usually :ref:`NavigationLink3D<class_NavigationLink3D>`).
 
-- ``link_entry_position``: If ``owner`` is available and the owner is a :ref:`NavigationLink2D<class_NavigationLink2D>`, it will contain the global position of the link's point the agent is entering.
+- ``link_entry_position``: If ``owner`` is available and the owner is a :ref:`NavigationLink3D<class_NavigationLink3D>`, it will contain the global position of the link's point the agent is entering.
 
-- ``link_exit_position``: If ``owner`` is available and the owner is a :ref:`NavigationLink2D<class_NavigationLink2D>`, it will contain the global position of the link's point which the agent is exiting.
+- ``link_exit_position``: If ``owner`` is available and the owner is a :ref:`NavigationLink3D<class_NavigationLink3D>`, it will contain the global position of the link's point which the agent is exiting.
 
 .. rst-class:: classref-item-separator
 
@@ -183,7 +183,7 @@ The details dictionary may contain the following keys depending on the value of
 
 **navigation_finished** **(** **)**
 
-Notifies when the final position is reached.
+Emitted once per loaded path when the agent internal navigation path index reaches the last index of the loaded path array. The agent internal navigation path index can be received with :ref:`get_current_navigation_path_index<class_NavigationAgent3D_method_get_current_navigation_path_index>`.
 
 .. rst-class:: classref-item-separator
 
@@ -195,7 +195,13 @@ Notifies when the final position is reached.
 
 **path_changed** **(** **)**
 
-Notifies when the navigation path changes.
+Emitted when the agent had to update the loaded path:
+
+- because path was previously empty.
+
+- because navigation map has changed.
+
+- because agent pushed further away from the current path segment than the :ref:`path_max_distance<class_NavigationAgent3D_property_path_max_distance>`.
 
 .. rst-class:: classref-item-separator
 
@@ -207,7 +213,7 @@ Notifies when the navigation path changes.
 
 **target_reached** **(** **)**
 
-Notifies when the player-defined :ref:`target_position<class_NavigationAgent3D_property_target_position>` is reached.
+Emitted once per loaded path when the agent's global position is the first time within :ref:`target_desired_distance<class_NavigationAgent3D_property_target_desired_distance>` to the :ref:`target_position<class_NavigationAgent3D_property_target_position>`.
 
 .. rst-class:: classref-item-separator
 
@@ -781,7 +787,7 @@ Returns the path query result for the path the agent is currently following.
 
 :ref:`Vector3<class_Vector3>` **get_final_position** **(** **)**
 
-Returns the reachable final position of the current navigation path in global coordinates. This position can change if the navigation path is altered in any way. Because of this, it would be best to check this each frame.
+Returns the reachable final position of the current navigation path in global coordinates. This position can change if the agent needs to update the navigation path which makes the agent emit the :ref:`path_changed<class_NavigationAgent3D_signal_path_changed>` signal.
 
 .. rst-class:: classref-item-separator
 
@@ -841,7 +847,9 @@ Returns the :ref:`RID<class_RID>` of this agent on the :ref:`NavigationServer3D<
 
 :ref:`bool<class_bool>` **is_navigation_finished** **(** **)**
 
-Returns true if the navigation path's final position has been reached.
+Returns ``true`` if the end of the currently loaded navigation path has been reached.
+
+\ **Note:** While true prefer to stop calling update functions like :ref:`get_next_path_position<class_NavigationAgent3D_method_get_next_path_position>`. This avoids jittering the standing agent due to calling repeated path updates.
 
 .. rst-class:: classref-item-separator
 
@@ -853,7 +861,7 @@ Returns true if the navigation path's final position has been reached.
 
 :ref:`bool<class_bool>` **is_target_reachable** **(** **)**
 
-Returns true if :ref:`target_position<class_NavigationAgent3D_property_target_position>` is reachable. The target position is set using :ref:`target_position<class_NavigationAgent3D_property_target_position>`.
+Returns ``true`` if :ref:`get_final_position<class_NavigationAgent3D_method_get_final_position>` is within :ref:`target_desired_distance<class_NavigationAgent3D_property_target_desired_distance>` of the :ref:`target_position<class_NavigationAgent3D_property_target_position>`.
 
 .. rst-class:: classref-item-separator
 

+ 17 - 3
classes/class_navigationmesh.rst

@@ -57,7 +57,7 @@ Properties
    +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
    | :ref:`float<class_float>`                                           | :ref:`edge_max_error<class_NavigationMesh_property_edge_max_error>`                                     | ``1.3``                             |
    +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
-   | :ref:`float<class_float>`                                           | :ref:`edge_max_length<class_NavigationMesh_property_edge_max_length>`                                   | ``12.0``                            |
+   | :ref:`float<class_float>`                                           | :ref:`edge_max_length<class_NavigationMesh_property_edge_max_length>`                                   | ``0.0``                             |
    +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
    | :ref:`AABB<class_AABB>`                                             | :ref:`filter_baking_aabb<class_NavigationMesh_property_filter_baking_aabb>`                             | ``AABB(0, 0, 0, 0, 0, 0)``          |
    +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
@@ -97,6 +97,8 @@ Methods
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`add_polygon<class_NavigationMesh_method_add_polygon>` **(** :ref:`PackedInt32Array<class_PackedInt32Array>` polygon **)**                                     |
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`clear<class_NavigationMesh_method_clear>` **(** **)**                                                                                                         |
+   +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`clear_polygons<class_NavigationMesh_method_clear_polygons>` **(** **)**                                                                                       |
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`create_from_mesh<class_NavigationMesh_method_create_from_mesh>` **(** :ref:`Mesh<class_Mesh>` mesh **)**                                                      |
@@ -417,14 +419,14 @@ The maximum distance a simplified contour's border edges should deviate the orig
 
 .. rst-class:: classref-property
 
-:ref:`float<class_float>` **edge_max_length** = ``12.0``
+:ref:`float<class_float>` **edge_max_length** = ``0.0``
 
 .. rst-class:: classref-property-setget
 
 - void **set_edge_max_length** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_edge_max_length** **(** **)**
 
-The maximum allowed length for contour edges along the border of the mesh.
+The maximum allowed length for contour edges along the border of the mesh. A value of ``0.0`` disables this feature.
 
 \ **Note:** While baking, this value will be rounded up to the nearest multiple of :ref:`cell_size<class_NavigationMesh_property_cell_size>`.
 
@@ -678,6 +680,18 @@ Adds a polygon using the indices of the vertices you get when calling :ref:`get_
 
 ----
 
+.. _class_NavigationMesh_method_clear:
+
+.. rst-class:: classref-method
+
+void **clear** **(** **)**
+
+Clears the internal arrays for vertices and polygon indices.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationMesh_method_clear_polygons:
 
 .. rst-class:: classref-method

+ 14 - 0
classes/class_navigationpolygon.rst

@@ -105,6 +105,8 @@ Methods
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`add_polygon<class_NavigationPolygon_method_add_polygon>` **(** :ref:`PackedInt32Array<class_PackedInt32Array>` polygon **)**                                                    |
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`clear<class_NavigationPolygon_method_clear>` **(** **)**                                                                                                                        |
+   +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`clear_outlines<class_NavigationPolygon_method_clear_outlines>` **(** **)**                                                                                                      |
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`clear_polygons<class_NavigationPolygon_method_clear_polygons>` **(** **)**                                                                                                      |
@@ -197,6 +199,18 @@ Adds a polygon using the indices of the vertices you get when calling :ref:`get_
 
 ----
 
+.. _class_NavigationPolygon_method_clear:
+
+.. rst-class:: classref-method
+
+void **clear** **(** **)**
+
+Clears the internal arrays for vertices and polygon indices.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationPolygon_method_clear_outlines:
 
 .. rst-class:: classref-method

+ 56 - 0
classes/class_navigationserver2d.rst

@@ -103,6 +103,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID<class_RID>`                               | :ref:`link_create<class_NavigationServer2D_method_link_create>` **(** **)**                                                                                                                                                                                                   |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                             | :ref:`link_get_enabled<class_NavigationServer2D_method_link_get_enabled>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                                      |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Vector2<class_Vector2>`                       | :ref:`link_get_end_position<class_NavigationServer2D_method_link_get_end_position>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                            |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                           | :ref:`link_get_enter_cost<class_NavigationServer2D_method_link_get_enter_cost>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                                |
@@ -121,6 +123,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`link_set_bidirectional<class_NavigationServer2D_method_link_set_bidirectional>` **(** :ref:`RID<class_RID>` link, :ref:`bool<class_bool>` bidirectional **)**                                                                                                           |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`link_set_enabled<class_NavigationServer2D_method_link_set_enabled>` **(** :ref:`RID<class_RID>` link, :ref:`bool<class_bool>` enabled **)**                                                                                                                             |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`link_set_end_position<class_NavigationServer2D_method_link_set_end_position>` **(** :ref:`RID<class_RID>` link, :ref:`Vector2<class_Vector2>` position **)**                                                                                                            |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`link_set_enter_cost<class_NavigationServer2D_method_link_set_enter_cost>` **(** :ref:`RID<class_RID>` link, :ref:`float<class_float>` enter_cost **)**                                                                                                                  |
@@ -207,6 +211,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                               | :ref:`region_get_connections_count<class_NavigationServer2D_method_region_get_connections_count>` **(** :ref:`RID<class_RID>` region **)** |const|                                                                                                                            |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                             | :ref:`region_get_enabled<class_NavigationServer2D_method_region_get_enabled>` **(** :ref:`RID<class_RID>` region **)** |const|                                                                                                                                                |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                           | :ref:`region_get_enter_cost<class_NavigationServer2D_method_region_get_enter_cost>` **(** :ref:`RID<class_RID>` region **)** |const|                                                                                                                                          |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID<class_RID>`                               | :ref:`region_get_map<class_NavigationServer2D_method_region_get_map>` **(** :ref:`RID<class_RID>` region **)** |const|                                                                                                                                                        |
@@ -221,6 +227,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                             | :ref:`region_owns_point<class_NavigationServer2D_method_region_owns_point>` **(** :ref:`RID<class_RID>` region, :ref:`Vector2<class_Vector2>` point **)** |const|                                                                                                             |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`region_set_enabled<class_NavigationServer2D_method_region_set_enabled>` **(** :ref:`RID<class_RID>` region, :ref:`bool<class_bool>` enabled **)**                                                                                                                       |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`region_set_enter_cost<class_NavigationServer2D_method_region_set_enter_cost>` **(** :ref:`RID<class_RID>` region, :ref:`float<class_float>` enter_cost **)**                                                                                                            |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`region_set_map<class_NavigationServer2D_method_region_set_map>` **(** :ref:`RID<class_RID>` region, :ref:`RID<class_RID>` map **)**                                                                                                                                     |
@@ -582,6 +590,18 @@ Create a new link between two positions on a map.
 
 ----
 
+.. _class_NavigationServer2D_method_link_get_enabled:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **link_get_enabled** **(** :ref:`RID<class_RID>` link **)** |const|
+
+Returns ``true`` if the specified ``link`` is enabled.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationServer2D_method_link_get_end_position:
 
 .. rst-class:: classref-method
@@ -690,6 +710,18 @@ Sets whether this ``link`` can be travelled in both directions.
 
 ----
 
+.. _class_NavigationServer2D_method_link_set_enabled:
+
+.. rst-class:: classref-method
+
+void **link_set_enabled** **(** :ref:`RID<class_RID>` link, :ref:`bool<class_bool>` enabled **)**
+
+If ``enabled`` is ``true`` the specified ``link`` will contribute to its current navigation map.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationServer2D_method_link_set_end_position:
 
 .. rst-class:: classref-method
@@ -1212,6 +1244,18 @@ Returns how many connections this ``region`` has with other regions in the map.
 
 ----
 
+.. _class_NavigationServer2D_method_region_get_enabled:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **region_get_enabled** **(** :ref:`RID<class_RID>` region **)** |const|
+
+Returns ``true`` if the specified ``region`` is enabled.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationServer2D_method_region_get_enter_cost:
 
 .. rst-class:: classref-method
@@ -1300,6 +1344,18 @@ If multiple navigation meshes have positions at equal distance the navigation re
 
 ----
 
+.. _class_NavigationServer2D_method_region_set_enabled:
+
+.. rst-class:: classref-method
+
+void **region_set_enabled** **(** :ref:`RID<class_RID>` region, :ref:`bool<class_bool>` enabled **)**
+
+If ``enabled`` is ``true`` the specified ``region`` will contribute to its current navigation map.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationServer2D_method_region_set_enter_cost:
 
 .. rst-class:: classref-method

+ 57 - 1
classes/class_navigationserver3d.rst

@@ -19,7 +19,7 @@ A server interface for low-level 3D navigation access.
 Description
 -----------
 
-NavigationServer2D is the server that handles navigation maps, regions and agents. It does not handle A\* navigation from :ref:`AStar3D<class_AStar3D>`.
+NavigationServer3D is the server that handles navigation maps, regions and agents. It does not handle A\* navigation from :ref:`AStar3D<class_AStar3D>`.
 
 Maps are made up of regions, which are made of navigation meshes. Together, they define the navigable areas in the 3D world.
 
@@ -113,6 +113,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID<class_RID>`                               | :ref:`link_create<class_NavigationServer3D_method_link_create>` **(** **)**                                                                                                                                                                                                                                                                                             |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                             | :ref:`link_get_enabled<class_NavigationServer3D_method_link_get_enabled>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                                                                                                                                |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Vector3<class_Vector3>`                       | :ref:`link_get_end_position<class_NavigationServer3D_method_link_get_end_position>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                                                                                                                      |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                           | :ref:`link_get_enter_cost<class_NavigationServer3D_method_link_get_enter_cost>` **(** :ref:`RID<class_RID>` link **)** |const|                                                                                                                                                                                                                                          |
@@ -131,6 +133,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`link_set_bidirectional<class_NavigationServer3D_method_link_set_bidirectional>` **(** :ref:`RID<class_RID>` link, :ref:`bool<class_bool>` bidirectional **)**                                                                                                                                                                                                     |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`link_set_enabled<class_NavigationServer3D_method_link_set_enabled>` **(** :ref:`RID<class_RID>` link, :ref:`bool<class_bool>` enabled **)**                                                                                                                                                                                                                       |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`link_set_end_position<class_NavigationServer3D_method_link_set_end_position>` **(** :ref:`RID<class_RID>` link, :ref:`Vector3<class_Vector3>` position **)**                                                                                                                                                                                                      |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`link_set_enter_cost<class_NavigationServer3D_method_link_set_enter_cost>` **(** :ref:`RID<class_RID>` link, :ref:`float<class_float>` enter_cost **)**                                                                                                                                                                                                            |
@@ -239,6 +243,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                               | :ref:`region_get_connections_count<class_NavigationServer3D_method_region_get_connections_count>` **(** :ref:`RID<class_RID>` region **)** |const|                                                                                                                                                                                                                      |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                             | :ref:`region_get_enabled<class_NavigationServer3D_method_region_get_enabled>` **(** :ref:`RID<class_RID>` region **)** |const|                                                                                                                                                                                                                                          |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                           | :ref:`region_get_enter_cost<class_NavigationServer3D_method_region_get_enter_cost>` **(** :ref:`RID<class_RID>` region **)** |const|                                                                                                                                                                                                                                    |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID<class_RID>`                               | :ref:`region_get_map<class_NavigationServer3D_method_region_get_map>` **(** :ref:`RID<class_RID>` region **)** |const|                                                                                                                                                                                                                                                  |
@@ -253,6 +259,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                             | :ref:`region_owns_point<class_NavigationServer3D_method_region_owns_point>` **(** :ref:`RID<class_RID>` region, :ref:`Vector3<class_Vector3>` point **)** |const|                                                                                                                                                                                                       |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`region_set_enabled<class_NavigationServer3D_method_region_set_enabled>` **(** :ref:`RID<class_RID>` region, :ref:`bool<class_bool>` enabled **)**                                                                                                                                                                                                                 |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`region_set_enter_cost<class_NavigationServer3D_method_region_set_enter_cost>` **(** :ref:`RID<class_RID>` region, :ref:`float<class_float>` enter_cost **)**                                                                                                                                                                                                      |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`region_set_map<class_NavigationServer3D_method_region_set_map>` **(** :ref:`RID<class_RID>` region, :ref:`RID<class_RID>` map **)**                                                                                                                                                                                                                               |
@@ -779,6 +787,18 @@ Create a new link between two positions on a map.
 
 ----
 
+.. _class_NavigationServer3D_method_link_get_enabled:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **link_get_enabled** **(** :ref:`RID<class_RID>` link **)** |const|
+
+Returns ``true`` if the specified ``link`` is enabled.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationServer3D_method_link_get_end_position:
 
 .. rst-class:: classref-method
@@ -887,6 +907,18 @@ Sets whether this ``link`` can be travelled in both directions.
 
 ----
 
+.. _class_NavigationServer3D_method_link_set_enabled:
+
+.. rst-class:: classref-method
+
+void **link_set_enabled** **(** :ref:`RID<class_RID>` link, :ref:`bool<class_bool>` enabled **)**
+
+If ``enabled`` is ``true`` the specified ``link`` will contribute to its current navigation map.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationServer3D_method_link_set_end_position:
 
 .. rst-class:: classref-method
@@ -1547,6 +1579,18 @@ Returns how many connections this ``region`` has with other regions in the map.
 
 ----
 
+.. _class_NavigationServer3D_method_region_get_enabled:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **region_get_enabled** **(** :ref:`RID<class_RID>` region **)** |const|
+
+Returns ``true`` if the specified ``region`` is enabled.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationServer3D_method_region_get_enter_cost:
 
 .. rst-class:: classref-method
@@ -1635,6 +1679,18 @@ If multiple navigation meshes have positions at equal distance the navigation re
 
 ----
 
+.. _class_NavigationServer3D_method_region_set_enabled:
+
+.. rst-class:: classref-method
+
+void **region_set_enabled** **(** :ref:`RID<class_RID>` region, :ref:`bool<class_bool>` enabled **)**
+
+If ``enabled`` is ``true`` the specified ``region`` will contribute to its current navigation map.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationServer3D_method_region_set_enter_cost:
 
 .. rst-class:: classref-method

+ 2 - 2
classes/class_node.rst

@@ -2486,9 +2486,9 @@ Sets the editable children state of ``node`` relative to this node. This method
 
 void **set_multiplayer_authority** **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` recursive=true **)**
 
-Sets the node's multiplayer authority to the peer with the given peer ID. The multiplayer authority is the peer that has authority over the node on the network. Useful in conjunction with :ref:`rpc_config<class_Node_method_rpc_config>` and the :ref:`MultiplayerAPI<class_MultiplayerAPI>`. Inherited from the parent node by default, which ultimately defaults to peer ID 1 (the server). If ``recursive``, the given peer is recursively set as the authority for all children of this node.
+Sets the node's multiplayer authority to the peer with the given peer ID. The multiplayer authority is the peer that has authority over the node on the network. Useful in conjunction with :ref:`rpc_config<class_Node_method_rpc_config>` and the :ref:`MultiplayerAPI<class_MultiplayerAPI>`. Defaults to peer ID 1 (the server). If ``recursive``, the given peer is recursively set as the authority for all children of this node.
 
-\ **Warning:** This does **not** automatically replicate the new authority to other peers. It is developer's responsibility to do so. You can propagate the information about the new authority using :ref:`MultiplayerSpawner.spawn_function<class_MultiplayerSpawner_property_spawn_function>`, an RPC, or using a :ref:`MultiplayerSynchronizer<class_MultiplayerSynchronizer>`.
+\ **Warning:** This does **not** automatically replicate the new authority to other peers. It is developer's responsibility to do so. You can propagate the information about the new authority using :ref:`MultiplayerSpawner.spawn_function<class_MultiplayerSpawner_property_spawn_function>`, an RPC, or using a :ref:`MultiplayerSynchronizer<class_MultiplayerSynchronizer>`. Also, the parent's authority does **not** propagate to newly added children.
 
 .. rst-class:: classref-item-separator
 

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
classes/class_object.rst


+ 264 - 0
classes/class_openxrapiextension.rst

@@ -0,0 +1,264 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/OpenXRAPIExtension.xml.
+
+.. _class_OpenXRAPIExtension:
+
+OpenXRAPIExtension
+==================
+
+**Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Makes the OpenXR API available for GDExtension.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+**OpenXRAPIExtension** makes OpenXR available for GDExtension. It provides the OpenXR API to GDExtension through the :ref:`get_instance_proc_addr<class_OpenXRAPIExtension_method_get_instance_proc_addr>` method, and the OpenXR instance through :ref:`get_instance<class_OpenXRAPIExtension_method_get_instance>`.
+
+It also provides methods for querying the status of OpenXR initialization, and helper methods for ease of use of the API with GDExtension.
+
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- `XrResult documentation <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html>`__
+
+- `XrInstance documentation <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrInstance.html>`__
+
+- `XrSpace documentation <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSpace.html>`__
+
+- `XrSession documentation <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSession.html>`__
+
+- `XrSystemId documentation <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSystemId.html>`__
+
+- `xrBeginSession documentation <https://registry.khronos.org/OpenXR/specs/1.0/man/html/xrBeginSession.html>`__
+
+- `XrPosef documentation <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrPosef.html>`__
+
+.. rst-class:: classref-reftable-group
+
+Methods
+-------
+
+.. table::
+   :widths: auto
+
+   +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`               | :ref:`can_render<class_OpenXRAPIExtension_method_can_render>` **(** **)**                                                                                                |
+   +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`           | :ref:`get_error_string<class_OpenXRAPIExtension_method_get_error_string>` **(** :ref:`int<class_int>` result **)**                                                       |
+   +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                 | :ref:`get_instance<class_OpenXRAPIExtension_method_get_instance>` **(** **)**                                                                                            |
+   +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                 | :ref:`get_instance_proc_addr<class_OpenXRAPIExtension_method_get_instance_proc_addr>` **(** :ref:`String<class_String>` name **)**                                       |
+   +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                 | :ref:`get_next_frame_time<class_OpenXRAPIExtension_method_get_next_frame_time>` **(** **)**                                                                              |
+   +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                 | :ref:`get_play_space<class_OpenXRAPIExtension_method_get_play_space>` **(** **)**                                                                                        |
+   +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                 | :ref:`get_session<class_OpenXRAPIExtension_method_get_session>` **(** **)**                                                                                              |
+   +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`           | :ref:`get_swapchain_format_name<class_OpenXRAPIExtension_method_get_swapchain_format_name>` **(** :ref:`int<class_int>` swapchain_format **)**                           |
+   +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                 | :ref:`get_system_id<class_OpenXRAPIExtension_method_get_system_id>` **(** **)**                                                                                          |
+   +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`               | :ref:`is_initialized<class_OpenXRAPIExtension_method_is_initialized>` **(** **)**                                                                                        |
+   +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`               | :ref:`is_running<class_OpenXRAPIExtension_method_is_running>` **(** **)**                                                                                                |
+   +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`               | :ref:`openxr_is_enabled<class_OpenXRAPIExtension_method_openxr_is_enabled>` **(** :ref:`bool<class_bool>` check_run_in_editor **)** |static|                             |
+   +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Transform3D<class_Transform3D>` | :ref:`transform_from_pose<class_OpenXRAPIExtension_method_transform_from_pose>` **(** const void* pose **)**                                                             |
+   +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`               | :ref:`xr_result<class_OpenXRAPIExtension_method_xr_result>` **(** :ref:`int<class_int>` result, :ref:`String<class_String>` format, :ref:`Array<class_Array>` args **)** |
+   +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Method Descriptions
+-------------------
+
+.. _class_OpenXRAPIExtension_method_can_render:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **can_render** **(** **)**
+
+Returns ``true`` if OpenXR is initialized for rendering with an XR viewport.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_get_error_string:
+
+.. rst-class:: classref-method
+
+:ref:`String<class_String>` **get_error_string** **(** :ref:`int<class_int>` result **)**
+
+Returns an error string for the given `XrResult <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html>`__.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_get_instance:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **get_instance** **(** **)**
+
+Returns the `XrInstance <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrInstance.html>`__ created during the initialization of the OpenXR API.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_get_instance_proc_addr:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **get_instance_proc_addr** **(** :ref:`String<class_String>` name **)**
+
+Returns the function pointer of the OpenXR function with the specified name, cast to an integer. If the function with the given name does not exist, the method returns ``0``.
+
+\ **Note:** ``openxr/util.h`` contains utility macros for acquiring OpenXR functions, e.g. ``GDEXTENSION_INIT_XR_FUNC_V(xrCreateAction)``.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_get_next_frame_time:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **get_next_frame_time** **(** **)**
+
+Returns the timing for the next frame.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_get_play_space:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **get_play_space** **(** **)**
+
+Returns the play space, which is an `XrSpace <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSpace.html>`__ cast to an integer.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_get_session:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **get_session** **(** **)**
+
+Returns the OpenXR session, which is an `XrSession <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSession.html>`__ cast to an integer.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_get_swapchain_format_name:
+
+.. rst-class:: classref-method
+
+:ref:`String<class_String>` **get_swapchain_format_name** **(** :ref:`int<class_int>` swapchain_format **)**
+
+Returns the name of the specified swapchain format.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_get_system_id:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **get_system_id** **(** **)**
+
+Returns the id of the system, which is a `XrSystemId <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSystemId.html>`__ cast to an integer.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_is_initialized:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **is_initialized** **(** **)**
+
+Returns ``true`` if OpenXR is initialized.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_is_running:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **is_running** **(** **)**
+
+Returns ``true`` if OpenXR is running (`xrBeginSession <https://registry.khronos.org/OpenXR/specs/1.0/man/html/xrBeginSession.html>`__ was successfully called and the swapchains were created).
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_openxr_is_enabled:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **openxr_is_enabled** **(** :ref:`bool<class_bool>` check_run_in_editor **)** |static|
+
+Returns ``true`` if OpenXR is enabled.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_transform_from_pose:
+
+.. rst-class:: classref-method
+
+:ref:`Transform3D<class_Transform3D>` **transform_from_pose** **(** const void* pose **)**
+
+Creates a :ref:`Transform3D<class_Transform3D>` from an `XrPosef <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrPosef.html>`__.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRAPIExtension_method_xr_result:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **xr_result** **(** :ref:`int<class_int>` result, :ref:`String<class_String>` format, :ref:`Array<class_Array>` args **)**
+
+Returns ``true`` if the provided `XrResult <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html>`__ (cast to an integer) is successful. Otherwise returns ``false`` and prints the `XrResult <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html>`__ converted to a string, with the specified additional information.
+
+.. |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.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 387 - 0
classes/class_openxrextensionwrapperextension.rst

@@ -0,0 +1,387 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/OpenXRExtensionWrapperExtension.xml.
+
+.. _class_OpenXRExtensionWrapperExtension:
+
+OpenXRExtensionWrapperExtension
+===============================
+
+**Inherits:** :ref:`Object<class_Object>`
+
+Allows clients to implement OpenXR extensions with GDExtension.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+**OpenXRExtensionWrapperExtension** allows clients to implement OpenXR extensions with GDExtension. The extension should be registered with :ref:`register_extension_wrapper<class_OpenXRExtensionWrapperExtension_method_register_extension_wrapper>`.
+
+.. rst-class:: classref-reftable-group
+
+Methods
+-------
+
+.. table::
+   :widths: auto
+
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Dictionary<class_Dictionary>`                 | :ref:`_get_requested_extensions<class_OpenXRExtensionWrapperExtension_method__get_requested_extensions>` **(** **)** |virtual|                                                                |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_before_instance_created<class_OpenXRExtensionWrapperExtension_method__on_before_instance_created>` **(** **)** |virtual|                                                            |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                             | :ref:`_on_event_polled<class_OpenXRExtensionWrapperExtension_method__on_event_polled>` **(** const void* event **)** |virtual|                                                                |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_instance_created<class_OpenXRExtensionWrapperExtension_method__on_instance_created>` **(** :ref:`int<class_int>` instance **)** |virtual|                                           |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_instance_destroyed<class_OpenXRExtensionWrapperExtension_method__on_instance_destroyed>` **(** **)** |virtual|                                                                      |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_pre_render<class_OpenXRExtensionWrapperExtension_method__on_pre_render>` **(** **)** |virtual|                                                                                      |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_process<class_OpenXRExtensionWrapperExtension_method__on_process>` **(** **)** |virtual|                                                                                            |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_register_metadata<class_OpenXRExtensionWrapperExtension_method__on_register_metadata>` **(** **)** |virtual|                                                                        |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_session_created<class_OpenXRExtensionWrapperExtension_method__on_session_created>` **(** :ref:`int<class_int>` session **)** |virtual|                                              |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_session_destroyed<class_OpenXRExtensionWrapperExtension_method__on_session_destroyed>` **(** **)** |virtual|                                                                        |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_state_exiting<class_OpenXRExtensionWrapperExtension_method__on_state_exiting>` **(** **)** |virtual|                                                                                |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_state_focused<class_OpenXRExtensionWrapperExtension_method__on_state_focused>` **(** **)** |virtual|                                                                                |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_state_idle<class_OpenXRExtensionWrapperExtension_method__on_state_idle>` **(** **)** |virtual|                                                                                      |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_state_loss_pending<class_OpenXRExtensionWrapperExtension_method__on_state_loss_pending>` **(** **)** |virtual|                                                                      |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_state_ready<class_OpenXRExtensionWrapperExtension_method__on_state_ready>` **(** **)** |virtual|                                                                                    |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_state_stopping<class_OpenXRExtensionWrapperExtension_method__on_state_stopping>` **(** **)** |virtual|                                                                              |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_state_synchronized<class_OpenXRExtensionWrapperExtension_method__on_state_synchronized>` **(** **)** |virtual|                                                                      |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`_on_state_visible<class_OpenXRExtensionWrapperExtension_method__on_state_visible>` **(** **)** |virtual|                                                                                |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                               | :ref:`_set_instance_create_info_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_method__set_instance_create_info_and_get_next_pointer>` **(** void* next_pointer **)** |virtual|   |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                               | :ref:`_set_session_create_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_method__set_session_create_and_get_next_pointer>` **(** void* next_pointer **)** |virtual|               |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                               | :ref:`_set_swapchain_create_info_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_method__set_swapchain_create_info_and_get_next_pointer>` **(** void* next_pointer **)** |virtual| |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                               | :ref:`_set_system_properties_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_method__set_system_properties_and_get_next_pointer>` **(** void* next_pointer **)** |virtual|         |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`OpenXRAPIExtension<class_OpenXRAPIExtension>` | :ref:`get_openxr_api<class_OpenXRExtensionWrapperExtension_method_get_openxr_api>` **(** **)**                                                                                                |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`register_extension_wrapper<class_OpenXRExtensionWrapperExtension_method_register_extension_wrapper>` **(** **)**                                                                        |
+   +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Method Descriptions
+-------------------
+
+.. _class_OpenXRExtensionWrapperExtension_method__get_requested_extensions:
+
+.. rst-class:: classref-method
+
+:ref:`Dictionary<class_Dictionary>` **_get_requested_extensions** **(** **)** |virtual|
+
+Returns a :ref:`Dictionary<class_Dictionary>` of OpenXR extensions related to this extension. The :ref:`Dictionary<class_Dictionary>` should contain the name of the extension, mapped to a ``bool *`` cast to an integer:
+
+- If the ``bool *`` is a ``nullptr`` this extension is mandatory.
+
+- If the ``bool *`` points to a boolean, the boolean will be updated to ``true`` if the extension is enabled.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_before_instance_created:
+
+.. rst-class:: classref-method
+
+void **_on_before_instance_created** **(** **)** |virtual|
+
+Called before the OpenXR instance is created.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_event_polled:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **_on_event_polled** **(** const void* event **)** |virtual|
+
+Called when there is an OpenXR event to process. When implementing, return ``true`` if the event was handled, return ``false`` otherwise.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_instance_created:
+
+.. rst-class:: classref-method
+
+void **_on_instance_created** **(** :ref:`int<class_int>` instance **)** |virtual|
+
+Called right after the OpenXR instance is created.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_instance_destroyed:
+
+.. rst-class:: classref-method
+
+void **_on_instance_destroyed** **(** **)** |virtual|
+
+Called right before the OpenXR instance is destroyed.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_pre_render:
+
+.. rst-class:: classref-method
+
+void **_on_pre_render** **(** **)** |virtual|
+
+Called right before the XR viewports begin their rendering step.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_process:
+
+.. rst-class:: classref-method
+
+void **_on_process** **(** **)** |virtual|
+
+Called as part of the OpenXR process handling. This happens right before general and physics processing steps of the main loop. During this step controller data is queried and made available to game logic.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_register_metadata:
+
+.. rst-class:: classref-method
+
+void **_on_register_metadata** **(** **)** |virtual|
+
+Allows extensions to register additional controller metadata. This function is called even when the OpenXR API is not constructed as the metadata needs to be available to the editor.
+
+Extensions should also provide metadata regardless of whether they are supported on the host system. The controller data is used to setup action maps for users who may have access to the relevant hardware.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_session_created:
+
+.. rst-class:: classref-method
+
+void **_on_session_created** **(** :ref:`int<class_int>` session **)** |virtual|
+
+Called right after the OpenXR session is created.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_session_destroyed:
+
+.. rst-class:: classref-method
+
+void **_on_session_destroyed** **(** **)** |virtual|
+
+Called right before the OpenXR session is destroyed.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_state_exiting:
+
+.. rst-class:: classref-method
+
+void **_on_state_exiting** **(** **)** |virtual|
+
+Called when the OpenXR session state is changed to exiting.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_state_focused:
+
+.. rst-class:: classref-method
+
+void **_on_state_focused** **(** **)** |virtual|
+
+Called when the OpenXR session state is changed to focused. This state is the active state when the game runs.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_state_idle:
+
+.. rst-class:: classref-method
+
+void **_on_state_idle** **(** **)** |virtual|
+
+Called when the OpenXR session state is changed to idle.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_state_loss_pending:
+
+.. rst-class:: classref-method
+
+void **_on_state_loss_pending** **(** **)** |virtual|
+
+Called when the OpenXR session state is changed to loss pending.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_state_ready:
+
+.. rst-class:: classref-method
+
+void **_on_state_ready** **(** **)** |virtual|
+
+Called when the OpenXR session state is changed to ready. This means OpenXR is ready to set up the session.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_state_stopping:
+
+.. rst-class:: classref-method
+
+void **_on_state_stopping** **(** **)** |virtual|
+
+Called when the OpenXR session state is changed to stopping.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_state_synchronized:
+
+.. rst-class:: classref-method
+
+void **_on_state_synchronized** **(** **)** |virtual|
+
+Called when the OpenXR session state is changed to synchronized. OpenXR also returns to this state when the application loses focus.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__on_state_visible:
+
+.. rst-class:: classref-method
+
+void **_on_state_visible** **(** **)** |virtual|
+
+Called when the OpenXR session state is changed to visible. This means OpenXR is now ready to receive frames.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__set_instance_create_info_and_get_next_pointer:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **_set_instance_create_info_and_get_next_pointer** **(** void* next_pointer **)** |virtual|
+
+Adds additional data structures when the OpenXR instance is created.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__set_session_create_and_get_next_pointer:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **_set_session_create_and_get_next_pointer** **(** void* next_pointer **)** |virtual|
+
+Adds additional data structures when the OpenXR session is created.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__set_swapchain_create_info_and_get_next_pointer:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **_set_swapchain_create_info_and_get_next_pointer** **(** void* next_pointer **)** |virtual|
+
+Adds additional data structures when creating OpenXR swapchains.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method__set_system_properties_and_get_next_pointer:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **_set_system_properties_and_get_next_pointer** **(** void* next_pointer **)** |virtual|
+
+Adds additional data structures when interogating OpenXR system abilities.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method_get_openxr_api:
+
+.. rst-class:: classref-method
+
+:ref:`OpenXRAPIExtension<class_OpenXRAPIExtension>` **get_openxr_api** **(** **)**
+
+Returns the created :ref:`OpenXRAPIExtension<class_OpenXRAPIExtension>`, which can be used to access the OpenXR API.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_OpenXRExtensionWrapperExtension_method_register_extension_wrapper:
+
+.. rst-class:: classref-method
+
+void **register_extension_wrapper** **(** **)**
+
+Registers the extension. This should happen at core module initialization level.
+
+.. |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.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 1 - 1
classes/class_physicsserver3d.rst

@@ -21,7 +21,7 @@ A server interface for low-level 3D physics access.
 Description
 -----------
 
-PhysicsServer2D is the server responsible for all 2D physics. It can directly create and manipulate all physics objects:
+PhysicsServer3D is the server responsible for all 3D physics. It can directly create and manipulate all physics objects:
 
 - A *space* is a self-contained world for a physics simulation. It contains bodies, areas, and joints. Its state can be queried for collision and intersection information, and several parameters of the simulation can be modified.
 

+ 1 - 1
classes/class_pinjoint3d.rst

@@ -19,7 +19,7 @@ A physics joint that attaches two 3D physics bodies at a single point, allowing
 Description
 -----------
 
-A physics joint that attaches two 2D physics bodies at a single point, allowing them to freely rotate. For example, a :ref:`RigidBody3D<class_RigidBody3D>` can be attached to a :ref:`StaticBody3D<class_StaticBody3D>` to create a pendulum or a seesaw.
+A physics joint that attaches two 3D physics bodies at a single point, allowing them to freely rotate. For example, a :ref:`RigidBody3D<class_RigidBody3D>` can be attached to a :ref:`StaticBody3D<class_StaticBody3D>` to create a pendulum or a seesaw.
 
 .. rst-class:: classref-reftable-group
 

+ 25 - 5
classes/class_projectsettings.rst

@@ -1105,6 +1105,8 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                         | :ref:`navigation/3d/default_link_connection_radius<class_ProjectSettings_property_navigation/3d/default_link_connection_radius>`                                                                           | ``1.0``                                                                                          |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`Vector3<class_Vector3>`                     | :ref:`navigation/3d/default_up<class_ProjectSettings_property_navigation/3d/default_up>`                                                                                                                   | ``Vector3(0, 1, 0)``                                                                             |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`navigation/3d/use_edge_connections<class_ProjectSettings_property_navigation/3d/use_edge_connections>`                                                                                               | ``true``                                                                                         |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`navigation/avoidance/thread_model/avoidance_use_high_priority_threads<class_ProjectSettings_property_navigation/avoidance/thread_model/avoidance_use_high_priority_threads>`                         | ``true``                                                                                         |
@@ -4251,7 +4253,9 @@ Path to a custom :ref:`Font<class_Font>` resource to use as default for all GUI
 
 :ref:`int<class_int>` **gui/theme/default_font_antialiasing** = ``1``
 
-Font anti-aliasing mode. See :ref:`FontFile.antialiasing<class_FontFile_property_antialiasing>`.
+Font anti-aliasing mode for the default project font. See :ref:`FontFile.antialiasing<class_FontFile_property_antialiasing>`.
+
+\ **Note:** This setting does not affect custom :ref:`Font<class_Font>`\ s used within the project. Use the **Import** dock for that instead (see :ref:`ResourceImporterDynamicFont.antialiasing<class_ResourceImporterDynamicFont_property_antialiasing>`).
 
 .. rst-class:: classref-item-separator
 
@@ -4267,7 +4271,7 @@ If set to ``true``, the default font will have mipmaps generated. This prevents
 
 Enabling :ref:`gui/theme/default_font_generate_mipmaps<class_ProjectSettings_property_gui/theme/default_font_generate_mipmaps>` increases font generation time and memory usage. Only enable this setting if you actually need it.
 
-\ **Note:** This setting does not affect custom :ref:`Font<class_Font>`\ s used within the project.
+\ **Note:** This setting does not affect custom :ref:`Font<class_Font>`\ s used within the project. Use the **Import** dock for that instead (see :ref:`ResourceImporterDynamicFont.generate_mipmaps<class_ResourceImporterDynamicFont_property_generate_mipmaps>`).
 
 .. rst-class:: classref-item-separator
 
@@ -4279,7 +4283,9 @@ Enabling :ref:`gui/theme/default_font_generate_mipmaps<class_ProjectSettings_pro
 
 :ref:`int<class_int>` **gui/theme/default_font_hinting** = ``1``
 
-Default font hinting mode. See :ref:`FontFile.hinting<class_FontFile_property_hinting>`.
+Font hinting mode for the default project font. See :ref:`FontFile.hinting<class_FontFile_property_hinting>`.
+
+\ **Note:** This setting does not affect custom :ref:`Font<class_Font>`\ s used within the project. Use the **Import** dock for that instead (see :ref:`ResourceImporterDynamicFont.hinting<class_ResourceImporterDynamicFont_property_hinting>`).
 
 .. rst-class:: classref-item-separator
 
@@ -4295,7 +4301,7 @@ If set to ``true``, the default font will use multichannel signed distance field
 
 MSDF font rendering can be combined with :ref:`gui/theme/default_font_generate_mipmaps<class_ProjectSettings_property_gui/theme/default_font_generate_mipmaps>` to further improve font rendering quality when scaled down.
 
-\ **Note:** This setting does not affect custom :ref:`Font<class_Font>`\ s used within the project.
+\ **Note:** This setting does not affect custom :ref:`Font<class_Font>`\ s used within the project. Use the **Import** dock for that instead (see :ref:`ResourceImporterDynamicFont.multichannel_signed_distance_field<class_ResourceImporterDynamicFont_property_multichannel_signed_distance_field>`).
 
 .. rst-class:: classref-item-separator
 
@@ -4307,7 +4313,9 @@ MSDF font rendering can be combined with :ref:`gui/theme/default_font_generate_m
 
 :ref:`int<class_int>` **gui/theme/default_font_subpixel_positioning** = ``1``
 
-Default font glyph subpixel positioning mode. See :ref:`FontFile.subpixel_positioning<class_FontFile_property_subpixel_positioning>`.
+Font glyph subpixel positioning mode for the default project font. See :ref:`FontFile.subpixel_positioning<class_FontFile_property_subpixel_positioning>`.
+
+\ **Note:** This setting does not affect custom :ref:`Font<class_Font>`\ s used within the project. Use the **Import** dock for that instead (see :ref:`ResourceImporterDynamicFont.subpixel_positioning<class_ResourceImporterDynamicFont_property_subpixel_positioning>`).
 
 .. rst-class:: classref-item-separator
 
@@ -8219,6 +8227,18 @@ Default link connection radius for 3D navigation maps. See :ref:`NavigationServe
 
 ----
 
+.. _class_ProjectSettings_property_navigation/3d/default_up:
+
+.. rst-class:: classref-property
+
+:ref:`Vector3<class_Vector3>` **navigation/3d/default_up** = ``Vector3(0, 1, 0)``
+
+Default up orientation for 3D navigation maps. See :ref:`NavigationServer3D.map_set_up<class_NavigationServer3D_method_map_set_up>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_navigation/3d/use_edge_connections:
 
 .. rst-class:: classref-property

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
classes/class_refcounted.rst


+ 14 - 0
classes/class_renderingdevice.rst

@@ -207,6 +207,8 @@ Methods
    +------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`PackedByteArray<class_PackedByteArray>`              | :ref:`texture_get_data<class_RenderingDevice_method_texture_get_data>` **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` layer **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
    +------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RDTextureFormat<class_RDTextureFormat>`              | :ref:`texture_get_format<class_RenderingDevice_method_texture_get_format>` **(** :ref:`RID<class_RID>` texture **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
+   +------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                      | :ref:`texture_get_native_handle<class_RenderingDevice_method_texture_get_native_handle>` **(** :ref:`RID<class_RID>` texture **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
    +------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                    | :ref:`texture_is_format_supported_for_usage<class_RenderingDevice_method_texture_is_format_supported_for_usage>` **(** :ref:`DataFormat<enum_RenderingDevice_DataFormat>` format, |bitfield|\<:ref:`TextureUsageBits<enum_RenderingDevice_TextureUsageBits>`\> usage_flags **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
@@ -5428,6 +5430,18 @@ Returns the ``texture`` data for the specified ``layer`` as raw binary data. For
 
 ----
 
+.. _class_RenderingDevice_method_texture_get_format:
+
+.. rst-class:: classref-method
+
+:ref:`RDTextureFormat<class_RDTextureFormat>` **texture_get_format** **(** :ref:`RID<class_RID>` texture **)**
+
+Returns the data format used to create this texture.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_RenderingDevice_method_texture_get_native_handle:
 
 .. rst-class:: classref-method

+ 28 - 0
classes/class_renderingserver.rst

@@ -827,6 +827,8 @@ Methods
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`texture_3d_update<class_RenderingServer_method_texture_3d_update>` **(** :ref:`RID<class_RID>` texture, :ref:`Image[]<class_Image>` data **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Format<enum_Image_Format>`                                                 | :ref:`texture_get_format<class_RenderingServer_method_texture_get_format>` **(** :ref:`RID<class_RID>` texture **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
+   +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                                            | :ref:`texture_get_native_handle<class_RenderingServer_method_texture_get_native_handle>` **(** :ref:`RID<class_RID>` texture, :ref:`bool<class_bool>` srgb=false **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                                                      | :ref:`texture_get_path<class_RenderingServer_method_texture_get_path>` **(** :ref:`RID<class_RID>` texture **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
@@ -837,6 +839,8 @@ Methods
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`texture_proxy_update<class_RenderingServer_method_texture_proxy_update>` **(** :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` proxy_to **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`                                                            | :ref:`texture_rd_create<class_RenderingServer_method_texture_rd_create>` **(** :ref:`RID<class_RID>` rd_texture, :ref:`TextureLayeredType<enum_RenderingServer_TextureLayeredType>` layer_type=0 **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
+   +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`texture_replace<class_RenderingServer_method_texture_replace>` **(** :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` by_texture **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`texture_set_force_redraw_if_visible<class_RenderingServer_method_texture_set_force_redraw_if_visible>` **(** :ref:`RID<class_RID>` texture, :ref:`bool<class_bool>` enable **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
@@ -10209,6 +10213,18 @@ Updates the texture specified by the ``texture`` :ref:`RID<class_RID>`'s data wi
 
 ----
 
+.. _class_RenderingServer_method_texture_get_format:
+
+.. rst-class:: classref-method
+
+:ref:`Format<enum_Image_Format>` **texture_get_format** **(** :ref:`RID<class_RID>` texture **)** |const|
+
+Returns the :ref:`Format<enum_Image_Format>` for the texture.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_RenderingServer_method_texture_get_native_handle:
 
 .. rst-class:: classref-method
@@ -10273,6 +10289,18 @@ void **texture_proxy_update** **(** :ref:`RID<class_RID>` texture, :ref:`RID<cla
 
 ----
 
+.. _class_RenderingServer_method_texture_rd_create:
+
+.. rst-class:: classref-method
+
+:ref:`RID<class_RID>` **texture_rd_create** **(** :ref:`RID<class_RID>` rd_texture, :ref:`TextureLayeredType<enum_RenderingServer_TextureLayeredType>` layer_type=0 **)**
+
+Creates a new texture object based on a texture created directly on the :ref:`RenderingDevice<class_RenderingDevice>`. If the texture contains layers, ``layer_type`` is used to define the layer type.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_RenderingServer_method_texture_replace:
 
 .. rst-class:: classref-method

+ 63 - 0
classes/class_renderscenebuffers.rst

@@ -0,0 +1,63 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/RenderSceneBuffers.xml.
+
+.. _class_RenderSceneBuffers:
+
+RenderSceneBuffers
+==================
+
+**Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+**Inherited By:** :ref:`RenderSceneBuffersExtension<class_RenderSceneBuffersExtension>`, :ref:`RenderSceneBuffersRD<class_RenderSceneBuffersRD>`
+
+Abstract scene buffers object, created for each viewport for which 3D rendering is done.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+Abstract scene buffers object, created for each viewport for which 3D rendering is done. It manages any additional buffers used during rendering and will discard buffers when the viewport is resized.
+
+\ **Note:** this is an internal rendering server object only exposed for GDExtension plugins.
+
+.. rst-class:: classref-reftable-group
+
+Methods
+-------
+
+.. table::
+   :widths: auto
+
+   +------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void | :ref:`configure<class_RenderSceneBuffers_method_configure>` **(** :ref:`RenderSceneBuffersConfiguration<class_RenderSceneBuffersConfiguration>` config **)** |
+   +------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Method Descriptions
+-------------------
+
+.. _class_RenderSceneBuffers_method_configure:
+
+.. rst-class:: classref-method
+
+void **configure** **(** :ref:`RenderSceneBuffersConfiguration<class_RenderSceneBuffersConfiguration>` config **)**
+
+This method is called by the rendering server when the associated viewports configuration is changed. It will discard the old buffers and recreate the internal buffers used.
+
+.. |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.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 216 - 0
classes/class_renderscenebuffersconfiguration.rst

@@ -0,0 +1,216 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/RenderSceneBuffersConfiguration.xml.
+
+.. _class_RenderSceneBuffersConfiguration:
+
+RenderSceneBuffersConfiguration
+===============================
+
+**Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Configuration object used to setup a :ref:`RenderSceneBuffers<class_RenderSceneBuffers>` object.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This configuration object is created and populated by the render engine on a viewport change and used to (re)configure a :ref:`RenderSceneBuffers<class_RenderSceneBuffers>` object.
+
+.. rst-class:: classref-reftable-group
+
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +--------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
+   | :ref:`float<class_float>`                                                | :ref:`fsr_sharpness<class_RenderSceneBuffersConfiguration_property_fsr_sharpness>`             | ``0.0``            |
+   +--------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
+   | :ref:`Vector2i<class_Vector2i>`                                          | :ref:`internal_size<class_RenderSceneBuffersConfiguration_property_internal_size>`             | ``Vector2i(0, 0)`` |
+   +--------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
+   | :ref:`ViewportMSAA<enum_RenderingServer_ViewportMSAA>`                   | :ref:`msaa_3d<class_RenderSceneBuffersConfiguration_property_msaa_3d>`                         | ``0``              |
+   +--------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
+   | :ref:`RID<class_RID>`                                                    | :ref:`render_target<class_RenderSceneBuffersConfiguration_property_render_target>`             | ``RID()``          |
+   +--------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
+   | :ref:`ViewportScaling3DMode<enum_RenderingServer_ViewportScaling3DMode>` | :ref:`scaling_3d_mode<class_RenderSceneBuffersConfiguration_property_scaling_3d_mode>`         | ``255``            |
+   +--------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
+   | :ref:`ViewportScreenSpaceAA<enum_RenderingServer_ViewportScreenSpaceAA>` | :ref:`screen_space_aa<class_RenderSceneBuffersConfiguration_property_screen_space_aa>`         | ``0``              |
+   +--------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
+   | :ref:`Vector2i<class_Vector2i>`                                          | :ref:`target_size<class_RenderSceneBuffersConfiguration_property_target_size>`                 | ``Vector2i(0, 0)`` |
+   +--------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
+   | :ref:`float<class_float>`                                                | :ref:`texture_mipmap_bias<class_RenderSceneBuffersConfiguration_property_texture_mipmap_bias>` | ``0.0``            |
+   +--------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
+   | :ref:`int<class_int>`                                                    | :ref:`view_count<class_RenderSceneBuffersConfiguration_property_view_count>`                   | ``1``              |
+   +--------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+--------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Property Descriptions
+---------------------
+
+.. _class_RenderSceneBuffersConfiguration_property_fsr_sharpness:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **fsr_sharpness** = ``0.0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_fsr_sharpness** **(** :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_fsr_sharpness** **(** **)**
+
+FSR Sharpness applicable if FSR upscaling is used.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersConfiguration_property_internal_size:
+
+.. rst-class:: classref-property
+
+:ref:`Vector2i<class_Vector2i>` **internal_size** = ``Vector2i(0, 0)``
+
+.. rst-class:: classref-property-setget
+
+- void **set_internal_size** **(** :ref:`Vector2i<class_Vector2i>` value **)**
+- :ref:`Vector2i<class_Vector2i>` **get_internal_size** **(** **)**
+
+The size of the 3D render buffer used for rendering.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersConfiguration_property_msaa_3d:
+
+.. rst-class:: classref-property
+
+:ref:`ViewportMSAA<enum_RenderingServer_ViewportMSAA>` **msaa_3d** = ``0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_msaa_3d** **(** :ref:`ViewportMSAA<enum_RenderingServer_ViewportMSAA>` value **)**
+- :ref:`ViewportMSAA<enum_RenderingServer_ViewportMSAA>` **get_msaa_3d** **(** **)**
+
+The MSAA mode we're using for 3D rendering.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersConfiguration_property_render_target:
+
+.. rst-class:: classref-property
+
+:ref:`RID<class_RID>` **render_target** = ``RID()``
+
+.. rst-class:: classref-property-setget
+
+- void **set_render_target** **(** :ref:`RID<class_RID>` value **)**
+- :ref:`RID<class_RID>` **get_render_target** **(** **)**
+
+The render target associated with these buffer.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersConfiguration_property_scaling_3d_mode:
+
+.. rst-class:: classref-property
+
+:ref:`ViewportScaling3DMode<enum_RenderingServer_ViewportScaling3DMode>` **scaling_3d_mode** = ``255``
+
+.. rst-class:: classref-property-setget
+
+- void **set_scaling_3d_mode** **(** :ref:`ViewportScaling3DMode<enum_RenderingServer_ViewportScaling3DMode>` value **)**
+- :ref:`ViewportScaling3DMode<enum_RenderingServer_ViewportScaling3DMode>` **get_scaling_3d_mode** **(** **)**
+
+The requested scaling mode with which we upscale/downscale if :ref:`internal_size<class_RenderSceneBuffersConfiguration_property_internal_size>` and :ref:`target_size<class_RenderSceneBuffersConfiguration_property_target_size>` are not equal.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersConfiguration_property_screen_space_aa:
+
+.. rst-class:: classref-property
+
+:ref:`ViewportScreenSpaceAA<enum_RenderingServer_ViewportScreenSpaceAA>` **screen_space_aa** = ``0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_screen_space_aa** **(** :ref:`ViewportScreenSpaceAA<enum_RenderingServer_ViewportScreenSpaceAA>` value **)**
+- :ref:`ViewportScreenSpaceAA<enum_RenderingServer_ViewportScreenSpaceAA>` **get_screen_space_aa** **(** **)**
+
+The requested screen space AA applied in post processing.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersConfiguration_property_target_size:
+
+.. rst-class:: classref-property
+
+:ref:`Vector2i<class_Vector2i>` **target_size** = ``Vector2i(0, 0)``
+
+.. rst-class:: classref-property-setget
+
+- void **set_target_size** **(** :ref:`Vector2i<class_Vector2i>` value **)**
+- :ref:`Vector2i<class_Vector2i>` **get_target_size** **(** **)**
+
+The target (upscale) size if scaling is used.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersConfiguration_property_texture_mipmap_bias:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **texture_mipmap_bias** = ``0.0``
+
+.. rst-class:: classref-property-setget
+
+- void **set_texture_mipmap_bias** **(** :ref:`float<class_float>` value **)**
+- :ref:`float<class_float>` **get_texture_mipmap_bias** **(** **)**
+
+Bias applied to mipmaps.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersConfiguration_property_view_count:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **view_count** = ``1``
+
+.. rst-class:: classref-property-setget
+
+- void **set_view_count** **(** :ref:`int<class_int>` value **)**
+- :ref:`int<class_int>` **get_view_count** **(** **)**
+
+The number of views we're rendering.
+
+.. |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.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 101 - 0
classes/class_renderscenebuffersextension.rst

@@ -0,0 +1,101 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/RenderSceneBuffersExtension.xml.
+
+.. _class_RenderSceneBuffersExtension:
+
+RenderSceneBuffersExtension
+===========================
+
+**Inherits:** :ref:`RenderSceneBuffers<class_RenderSceneBuffers>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+This class allows for a RenderSceneBuffer implementation to be made in GDExtension.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This class allows for a RenderSceneBuffer implementation to be made in GDExtension.
+
+.. rst-class:: classref-reftable-group
+
+Methods
+-------
+
+.. table::
+   :widths: auto
+
+   +------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void | :ref:`_configure<class_RenderSceneBuffersExtension_method__configure>` **(** :ref:`RenderSceneBuffersConfiguration<class_RenderSceneBuffersConfiguration>` config **)** |virtual| |
+   +------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void | :ref:`_set_fsr_sharpness<class_RenderSceneBuffersExtension_method__set_fsr_sharpness>` **(** :ref:`float<class_float>` fsr_sharpness **)** |virtual|                              |
+   +------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void | :ref:`_set_texture_mipmap_bias<class_RenderSceneBuffersExtension_method__set_texture_mipmap_bias>` **(** :ref:`float<class_float>` texture_mipmap_bias **)** |virtual|            |
+   +------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void | :ref:`_set_use_debanding<class_RenderSceneBuffersExtension_method__set_use_debanding>` **(** :ref:`bool<class_bool>` use_debanding **)** |virtual|                                |
+   +------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Method Descriptions
+-------------------
+
+.. _class_RenderSceneBuffersExtension_method__configure:
+
+.. rst-class:: classref-method
+
+void **_configure** **(** :ref:`RenderSceneBuffersConfiguration<class_RenderSceneBuffersConfiguration>` config **)** |virtual|
+
+Implement this in GDExtension to handle the (re)sizing of a viewport.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersExtension_method__set_fsr_sharpness:
+
+.. rst-class:: classref-method
+
+void **_set_fsr_sharpness** **(** :ref:`float<class_float>` fsr_sharpness **)** |virtual|
+
+Implement this in GDExtension to record a new FSR sharpness value.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersExtension_method__set_texture_mipmap_bias:
+
+.. rst-class:: classref-method
+
+void **_set_texture_mipmap_bias** **(** :ref:`float<class_float>` texture_mipmap_bias **)** |virtual|
+
+Implement this in GDExtension to change the texture mipmap bias.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersExtension_method__set_use_debanding:
+
+.. rst-class:: classref-method
+
+void **_set_use_debanding** **(** :ref:`bool<class_bool>` use_debanding **)** |virtual|
+
+Implement this in GDExtension to react to the debanding flag changing.
+
+.. |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.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 317 - 0
classes/class_renderscenebuffersrd.rst

@@ -0,0 +1,317 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/RenderSceneBuffersRD.xml.
+
+.. _class_RenderSceneBuffersRD:
+
+RenderSceneBuffersRD
+====================
+
+**Inherits:** :ref:`RenderSceneBuffers<class_RenderSceneBuffers>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Abstract render scene buffer implementation for the RenderingDevice based renderers.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This object manages all 3D rendering buffers for the rendering device based renderers. An instance of this object is created for every viewport that has 3D rendering enabled.
+
+All buffers are organised in **contexts**. The default context is called **render_buffers** and can contain amongst others the color buffer, depth buffer, velocity buffers, VRS density map and MSAA variants of these buffers.
+
+Buffers are only guaranteed to exist during rendering of the viewport.
+
+\ **Note:** this is an internal rendering server object only exposed for GDExtension plugins.
+
+.. rst-class:: classref-reftable-group
+
+Methods
+-------
+
+.. table::
+   :widths: auto
+
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                          | :ref:`clear_context<class_RenderSceneBuffersRD_method_clear_context>` **(** :ref:`StringName<class_StringName>` context **)**                                                                                                                                                                                                                                                                                                                                                              |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`                         | :ref:`create_texture<class_RenderSceneBuffersRD_method_create_texture>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`DataFormat<enum_RenderingDevice_DataFormat>` data_format, :ref:`int<class_int>` usage_bits, :ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` texture_samples, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` layers, :ref:`int<class_int>` mipmaps, :ref:`bool<class_bool>` unique **)** |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`                         | :ref:`create_texture_from_format<class_RenderSceneBuffersRD_method_create_texture_from_format>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`RDTextureFormat<class_RDTextureFormat>` format, :ref:`RDTextureView<class_RDTextureView>` view, :ref:`bool<class_bool>` unique **)**                                                                                                                                                    |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`                         | :ref:`create_texture_view<class_RenderSceneBuffersRD_method_create_texture_view>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`StringName<class_StringName>` view_name, :ref:`RDTextureView<class_RDTextureView>` view **)**                                                                                                                                                                                                         |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`                         | :ref:`get_color_layer<class_RenderSceneBuffersRD_method_get_color_layer>` **(** :ref:`int<class_int>` layer **)**                                                                                                                                                                                                                                                                                                                                                                          |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`                         | :ref:`get_color_texture<class_RenderSceneBuffersRD_method_get_color_texture>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                  |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`                         | :ref:`get_depth_layer<class_RenderSceneBuffersRD_method_get_depth_layer>` **(** :ref:`int<class_int>` layer **)**                                                                                                                                                                                                                                                                                                                                                                          |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`                         | :ref:`get_depth_texture<class_RenderSceneBuffersRD_method_get_depth_texture>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                  |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Vector2i<class_Vector2i>`               | :ref:`get_internal_size<class_RenderSceneBuffersRD_method_get_internal_size>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                          |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`                         | :ref:`get_render_target<class_RenderSceneBuffersRD_method_get_render_target>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                          |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`                         | :ref:`get_texture<class_RenderSceneBuffersRD_method_get_texture>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name **)** |const|                                                                                                                                                                                                                                                                                                                |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RDTextureFormat<class_RDTextureFormat>` | :ref:`get_texture_format<class_RenderSceneBuffersRD_method_get_texture_format>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name **)** |const|                                                                                                                                                                                                                                                                                                  |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`                         | :ref:`get_texture_slice<class_RenderSceneBuffersRD_method_get_texture_slice>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`int<class_int>` layer, :ref:`int<class_int>` mipmap, :ref:`int<class_int>` layers, :ref:`int<class_int>` mipmaps **)**                                                                                                                                                                                    |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Vector2i<class_Vector2i>`               | :ref:`get_texture_slice_size<class_RenderSceneBuffersRD_method_get_texture_slice_size>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`int<class_int>` mipmap **)**                                                                                                                                                                                                                                                                    |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                       | :ref:`get_use_taa<class_RenderSceneBuffersRD_method_get_use_taa>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                      |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`                         | :ref:`get_velocity_layer<class_RenderSceneBuffersRD_method_get_velocity_layer>` **(** :ref:`int<class_int>` layer **)**                                                                                                                                                                                                                                                                                                                                                                    |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`                         | :ref:`get_velocity_texture<class_RenderSceneBuffersRD_method_get_velocity_texture>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                            |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                         | :ref:`get_view_count<class_RenderSceneBuffersRD_method_get_view_count>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                       | :ref:`has_texture<class_RenderSceneBuffersRD_method_has_texture>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name **)** |const|                                                                                                                                                                                                                                                                                                                |
+   +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Method Descriptions
+-------------------
+
+.. _class_RenderSceneBuffersRD_method_clear_context:
+
+.. rst-class:: classref-method
+
+void **clear_context** **(** :ref:`StringName<class_StringName>` context **)**
+
+Frees all buffers related to this context.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_create_texture:
+
+.. rst-class:: classref-method
+
+:ref:`RID<class_RID>` **create_texture** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`DataFormat<enum_RenderingDevice_DataFormat>` data_format, :ref:`int<class_int>` usage_bits, :ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` texture_samples, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` layers, :ref:`int<class_int>` mipmaps, :ref:`bool<class_bool>` unique **)**
+
+Create a new texture with the given definition and cache this under the given name. Will return the existing texture if it already exists.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_create_texture_from_format:
+
+.. rst-class:: classref-method
+
+:ref:`RID<class_RID>` **create_texture_from_format** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`RDTextureFormat<class_RDTextureFormat>` format, :ref:`RDTextureView<class_RDTextureView>` view, :ref:`bool<class_bool>` unique **)**
+
+Create a new texture using the given format and view and cache this under the given name. Will return the existing texture if it already exists.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_create_texture_view:
+
+.. rst-class:: classref-method
+
+:ref:`RID<class_RID>` **create_texture_view** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`StringName<class_StringName>` view_name, :ref:`RDTextureView<class_RDTextureView>` view **)**
+
+Create a new texture view for an existing texture and cache this under the given view_name. Will return the existing teture view if it already exists. Will error if the source texture doesn't exist.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_get_color_layer:
+
+.. rst-class:: classref-method
+
+:ref:`RID<class_RID>` **get_color_layer** **(** :ref:`int<class_int>` layer **)**
+
+Returns the specified layer from the color texture we are rendering 3D content to.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_get_color_texture:
+
+.. rst-class:: classref-method
+
+:ref:`RID<class_RID>` **get_color_texture** **(** **)**
+
+Returns the color texture we are rendering 3D content to. If multiview is used this will be a texture array with all views.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_get_depth_layer:
+
+.. rst-class:: classref-method
+
+:ref:`RID<class_RID>` **get_depth_layer** **(** :ref:`int<class_int>` layer **)**
+
+Returns the specified layer from the depth texture we are rendering 3D content to.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_get_depth_texture:
+
+.. rst-class:: classref-method
+
+:ref:`RID<class_RID>` **get_depth_texture** **(** **)**
+
+Returns the depth texture we are rendering 3D content to. If multiview is used this will be a texture array with all views.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_get_internal_size:
+
+.. rst-class:: classref-method
+
+:ref:`Vector2i<class_Vector2i>` **get_internal_size** **(** **)** |const|
+
+Returns the internal size of the render buffer (size before upscaling) with which textures are created by default.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_get_render_target:
+
+.. rst-class:: classref-method
+
+:ref:`RID<class_RID>` **get_render_target** **(** **)** |const|
+
+Returns the render target associated with this buffers object.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_get_texture:
+
+.. rst-class:: classref-method
+
+:ref:`RID<class_RID>` **get_texture** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name **)** |const|
+
+Returns a cached texture with this name.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_get_texture_format:
+
+.. rst-class:: classref-method
+
+:ref:`RDTextureFormat<class_RDTextureFormat>` **get_texture_format** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name **)** |const|
+
+Returns the texture format information with which a cached texture was created.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_get_texture_slice:
+
+.. rst-class:: classref-method
+
+:ref:`RID<class_RID>` **get_texture_slice** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`int<class_int>` layer, :ref:`int<class_int>` mipmap, :ref:`int<class_int>` layers, :ref:`int<class_int>` mipmaps **)**
+
+Returns a specific slice (layer or mipmap) for a cached texture.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_get_texture_slice_size:
+
+.. rst-class:: classref-method
+
+:ref:`Vector2i<class_Vector2i>` **get_texture_slice_size** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`int<class_int>` mipmap **)**
+
+Returns the texture size of a given slice of a cached texture.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_get_use_taa:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **get_use_taa** **(** **)** |const|
+
+Returns **true** if TAA is enabled.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_get_velocity_layer:
+
+.. rst-class:: classref-method
+
+:ref:`RID<class_RID>` **get_velocity_layer** **(** :ref:`int<class_int>` layer **)**
+
+Returns the specified layer from the velocity texture we are rendering 3D content to.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_get_velocity_texture:
+
+.. rst-class:: classref-method
+
+:ref:`RID<class_RID>` **get_velocity_texture** **(** **)**
+
+Returns the velocity texture we are rendering 3D content to. If multiview is used this will be a texture array with all views.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_get_view_count:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **get_view_count** **(** **)** |const|
+
+Returns the view count for the associated viewport.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_RenderSceneBuffersRD_method_has_texture:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **has_texture** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name **)** |const|
+
+Returns **true** if a cached texture exists for this name.
+
+.. |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.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 1 - 1
classes/class_resource.rst

@@ -212,7 +212,7 @@ Subresource properties with the :ref:`@GlobalScope.PROPERTY_USAGE_ALWAYS_DUPLICA
 
 void **emit_changed** **(** **)**
 
-Emits the :ref:`changed<class_Resource_signal_changed>` signal. This method is called automatically for built-in resources.
+Emits the :ref:`changed<class_Resource_signal_changed>` signal. This method is called automatically for some built-in resources.
 
 \ **Note:** For custom resources, it's recommended to call this method whenever a meaningful change occurs, such as a modified property. This ensures that custom :ref:`Object<class_Object>`\ s depending on the resource are properly updated.
 

+ 19 - 7
classes/class_resourceimporterbitmap.rst

@@ -12,9 +12,21 @@ ResourceImporterBitMap
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Imports a :ref:`BitMap<class_BitMap>` resource (2D array of boolean values).
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+:ref:`BitMap<class_BitMap>` resources are typically used as click masks in :ref:`TextureButton<class_TextureButton>` and :ref:`TouchScreenButton<class_TouchScreenButton>`.
+
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- :doc:`Importing images <../tutorials/assets_pipeline/importing_images>`
 
 .. rst-class:: classref-reftable-group
 
@@ -45,9 +57,11 @@ Property Descriptions
 
 :ref:`int<class_int>` **create_from** = ``0``
 
-.. container:: contribute
+The data source to use for generating the bitmap.
+
+\ **Black & White:** Pixels whose HSV value is greater than the :ref:`threshold<class_ResourceImporterBitMap_property_threshold>` will be considered as "enabled" (bit is ``true``). If the pixel is lower than or equal to the threshold, it will be considered as "disabled" (bit is ``false``).
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Alpha:** Pixels whose alpha value is greater than the :ref:`threshold<class_ResourceImporterBitMap_property_threshold>` will be considered as "enabled" (bit is ``true``). If the pixel is lower than or equal to the threshold, it will be considered as "disabled" (bit is ``false``).
 
 .. rst-class:: classref-item-separator
 
@@ -59,9 +73,7 @@ Property Descriptions
 
 :ref:`float<class_float>` **threshold** = ``0.5``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The threshold to use to determine which bits should be considered enabled or disabled. See also :ref:`create_from<class_ResourceImporterBitMap_property_create_from>`.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 20 - 8
classes/class_resourceimporterbmfont.rst

@@ -12,9 +12,25 @@ ResourceImporterBMFont
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Imports a bitmap font in the BMFont (``.fnt``) format.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+The BMFont format is a format created by the `BMFont <https://www.angelcode.com/products/bmfont/>`__ program. Many BMFont-compatible programs also exist, like `BMGlyph <https://www.bmglyph.com/>`__.
+
+Compared to :ref:`ResourceImporterImageFont<class_ResourceImporterImageFont>`, **ResourceImporterBMFont** supports bitmap fonts with varying glyph widths/heights.
+
+See also :ref:`ResourceImporterDynamicFont<class_ResourceImporterDynamicFont>`.
+
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- `Bitmap fonts - Using fonts <../tutorials/ui/gui_using_fonts.html#bitmap-fonts>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -45,9 +61,7 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **compress** = ``true``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, uses lossless compression for the resulting font.
 
 .. rst-class:: classref-item-separator
 
@@ -59,9 +73,7 @@ Property Descriptions
 
 :ref:`Array<class_Array>` **fallbacks** = ``[]``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+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.
 
 .. |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.)`

+ 26 - 8
classes/class_resourceimportercsvtranslation.rst

@@ -12,9 +12,31 @@ ResourceImporterCSVTranslation
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Imports comma-separated values
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+Comma-separated values are a plain text table storage format. The format's simplicity makes it easy to edit in any text editor or spreadsheet software. This makes it a common choice for game localization.
+
+\ **Example CSV file:**\ 
+
+::
+
+    keys,en,es,ja
+    GREET,"Hello, friend!","Hola, amigo!",こんにちは
+    ASK,How are you?,Cómo está?,元気ですか
+    BYE,Goodbye,Adiós,さようなら
+    QUOTE,"""Hello"" said the man.","""Hola"" dijo el hombre.",「こんにちは」男は言いました
+
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- `Importing translations <https://docs.godotengine.org/en/latest/tutorials/assets_pipeline/importing_translations.html>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -45,9 +67,7 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **compress** = ``true``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, creates an :ref:`OptimizedTranslation<class_OptimizedTranslation>` instead of a :ref:`Translation<class_Translation>`. This makes the resulting file smaller at the cost of a small CPU overhead.
 
 .. rst-class:: classref-item-separator
 
@@ -59,9 +79,7 @@ Property Descriptions
 
 :ref:`int<class_int>` **delimiter** = ``0``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The delimiter to use in the CSV file. The default value matches the common CSV convention. Tab-separated values are sometimes called TSV files.
 
 .. |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.)`

+ 54 - 44
classes/class_resourceimporterdynamicfont.rst

@@ -12,9 +12,25 @@ ResourceImporterDynamicFont
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Imports a TTF, TTC, OTF, OTC, WOFF or WOFF2 font file for font rendering that adapts to any size.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+Unlike bitmap fonts, dynamic fonts can be resized to any size and still look crisp. Dynamic fonts also optionally support MSDF font rendering, which allows for run-time scale changes with no re-rasterization cost.
+
+While WOFF and especially WOFF2 tend to result in smaller file sizes, there is no universally "better" font format. In most situations, it's recommended to use the font format that was shipped on the font developer's website.
+
+See also :ref:`ResourceImporterBMFont<class_ResourceImporterBMFont>` and :ref:`ResourceImporterImageFont<class_ResourceImporterImageFont>`.
+
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- `Dynamic fonts - Using fonts <../tutorials/ui/gui_using_fonts.html#dynamic-fonts>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -73,9 +89,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **allow_system_fallback** = ``true``
 
-.. container:: contribute
+If ``true``, automatically use system fonts as a fallback if a glyph isn't found in this dynamic font. This makes supporting CJK characters or emoji more straightforward, as you don't need to include a CJK/emoji font in your project. See also :ref:`fallbacks<class_ResourceImporterDynamicFont_property_fallbacks>`.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** The appearance of system fonts varies across platforms. Loading system fonts is only supported on Windows, macOS, Linux, Android and iOS.
 
 .. rst-class:: classref-item-separator
 
@@ -87,9 +103,13 @@ Property Descriptions
 
 :ref:`int<class_int>` **antialiasing** = ``1``
 
-.. container:: contribute
+The font antialiasing method to use.
+
+\ **Disabled:** Most suited for pixel art fonts, although you do not *have* to change the antialiasing from the default **Grayscale** if the font file was well-created and the font is used at an integer multiple of its intended size. If pixel art fonts have a bad appearance at their intended size, try setting :ref:`subpixel_positioning<class_ResourceImporterDynamicFont_property_subpixel_positioning>` to **Disabled** instead.
+
+\ **Grayscale:** Use grayscale antialiasing. This is the approach used by the operating system on macOS, Android and iOS.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **LCD Subpixel:** Use antialiasing with subpixel patterns to make fonts sharper on LCD displays. This is the approach used by the operating system on Windows and most Linux distributions. The downside is that this can introduce "fringing" on edges, especially on display technologies that don't use standard RGB subpixels (such as OLED displays). The LCD subpixel layout is globally controlled by :ref:`ProjectSettings.gui/theme/lcd_subpixel_layout<class_ProjectSettings_property_gui/theme/lcd_subpixel_layout>`, which also allows falling back to grayscale antialiasing.
 
 .. rst-class:: classref-item-separator
 
@@ -101,9 +121,7 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **compress** = ``true``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, uses lossless compression for the resulting font.
 
 .. rst-class:: classref-item-separator
 
@@ -115,9 +133,7 @@ Property Descriptions
 
 :ref:`Array<class_Array>` **fallbacks** = ``[]``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+List of font fallbacks to use if a glyph isn't found in this dynamic font. Fonts at the beginning of the array are attempted first, but fallback fonts that don't support the glyph's language and script are attempted last (see :ref:`language_support<class_ResourceImporterDynamicFont_property_language_support>` and :ref:`script_support<class_ResourceImporterDynamicFont_property_script_support>`). See also :ref:`allow_system_fallback<class_ResourceImporterDynamicFont_property_allow_system_fallback>`.
 
 .. rst-class:: classref-item-separator
 
@@ -129,9 +145,7 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **force_autohinter** = ``false``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, forces generation of hinting data for the font using `FreeType <https://freetype.org/>`__'s autohinter. This will make :ref:`hinting<class_ResourceImporterDynamicFont_property_hinting>` effective with fonts that don't include hinting data.
 
 .. rst-class:: classref-item-separator
 
@@ -143,9 +157,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **generate_mipmaps** = ``false``
 
-.. container:: contribute
+If ``true``, this font will have mipmaps generated. This prevents text from looking grainy when a :ref:`Control<class_Control>` is scaled down, or when a :ref:`Label3D<class_Label3D>` is viewed from a long distance (if :ref:`Label3D.texture_filter<class_Label3D_property_texture_filter>` is set to a mode that displays mipmaps).
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Enabling :ref:`generate_mipmaps<class_ResourceImporterDynamicFont_property_generate_mipmaps>` increases font generation time and memory usage. Only enable this setting if you actually need it.
 
 .. rst-class:: classref-item-separator
 
@@ -157,9 +171,13 @@ Property Descriptions
 
 :ref:`int<class_int>` **hinting** = ``1``
 
-.. container:: contribute
+The hinting mode to use. This controls how aggressively glyph edges should be snapped to pixels when rasterizing the font. Depending on personal preference, you may prefer using one hinting mode over the other. Hinting modes other than **None** are only effective if the font contains hinting data (see :ref:`force_autohinter<class_ResourceImporterDynamicFont_property_force_autohinter>`).
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **None:** Smoothest appearance, which can make the font look blurry at small sizes.
+
+\ **Light:** Sharp result by snapping glyph edges to pixels on the Y axis only.
+
+\ **Full:** Sharpest by snapping glyph edges to pixels on both X and Y axes.
 
 .. rst-class:: classref-item-separator
 
@@ -171,9 +189,7 @@ Property Descriptions
 
 :ref:`Dictionary<class_Dictionary>` **language_support** = ``{}``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override the list of languages supported by this font. If left empty, this is supplied by the font metadata. There is usually no need to change this. See also :ref:`script_support<class_ResourceImporterDynamicFont_property_script_support>`.
 
 .. rst-class:: classref-item-separator
 
@@ -185,9 +201,7 @@ Property Descriptions
 
 :ref:`int<class_int>` **msdf_pixel_range** = ``8``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The width of the range around the shape between the minimum and maximum representable signed distance. If using font outlines, :ref:`msdf_pixel_range<class_ResourceImporterDynamicFont_property_msdf_pixel_range>` must be set to at least *twice* the size of the largest font outline. The default :ref:`msdf_pixel_range<class_ResourceImporterDynamicFont_property_msdf_pixel_range>` value of ``8`` allows outline sizes up to ``4`` to look correct.
 
 .. rst-class:: classref-item-separator
 
@@ -199,9 +213,7 @@ Property Descriptions
 
 :ref:`int<class_int>` **msdf_size** = ``48``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Source font size used to generate MSDF textures. Higher values allow for more precision, but are slower to render and require more memory. Only increase this value if you notice a visible lack of precision in glyph rendering. Only effective if :ref:`multichannel_signed_distance_field<class_ResourceImporterDynamicFont_property_multichannel_signed_distance_field>` is ``true``.
 
 .. rst-class:: classref-item-separator
 
@@ -213,9 +225,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **multichannel_signed_distance_field** = ``false``
 
-.. container:: contribute
+If set to ``true``, the default font will use multichannel signed distance field (MSDF) for crisp rendering at any size. Since this approach does not rely on rasterizing the font every time its size changes, this allows for resizing the font in real-time without any performance penalty. Text will also not look grainy for :ref:`Control<class_Control>`\ s that are scaled down (or for :ref:`Label3D<class_Label3D>`\ s viewed from a long distance).
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+MSDF font rendering can be combined with :ref:`generate_mipmaps<class_ResourceImporterDynamicFont_property_generate_mipmaps>` to further improve font rendering quality when scaled down.
 
 .. rst-class:: classref-item-separator
 
@@ -227,9 +239,7 @@ Property Descriptions
 
 :ref:`Dictionary<class_Dictionary>` **opentype_features** = ``{}``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The OpenType features to enable, disable or set a value for this font. This can be used to enable optional features provided by the font, such as ligatures or alternative glyphs. The list of supported OpenType features varies on a per-font basis.
 
 .. rst-class:: classref-item-separator
 
@@ -241,9 +251,7 @@ Property Descriptions
 
 :ref:`float<class_float>` **oversampling** = ``0.0``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If set to a value greater than ``0.0``, overrides the oversampling factor for the font. This can be used to render the font at a higher or lower resolution than intended without affecting its physical size. In most cases, this should be left at ``0.0``.
 
 .. rst-class:: classref-item-separator
 
@@ -255,9 +263,7 @@ Property Descriptions
 
 :ref:`Array<class_Array>` **preload** = ``[]``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The glyph ranges to prerender. This can avoid stuttering during gameplay when new characters need to be rendered, especially if :ref:`subpixel_positioning<class_ResourceImporterDynamicFont_property_subpixel_positioning>` is enabled. The downside of using preloading is that initial project load times will increase, as well as memory usage.
 
 .. rst-class:: classref-item-separator
 
@@ -269,9 +275,7 @@ Property Descriptions
 
 :ref:`Dictionary<class_Dictionary>` **script_support** = ``{}``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override the list of language scripts supported by this font. If left empty, this is supplied by the font metadata. There is usually no need to change this. See also :ref:`language_support<class_ResourceImporterDynamicFont_property_language_support>`.
 
 .. rst-class:: classref-item-separator
 
@@ -283,9 +287,15 @@ Property Descriptions
 
 :ref:`int<class_int>` **subpixel_positioning** = ``1``
 
-.. container:: contribute
+Subpixel positioning improves font rendering appearance, especially at smaller font sizes. The downside is that it takes more time to initially render the font, which can cause stuttering during gameplay, especially if used with large font sizes. This should be set to **Disabled** for fonts with a pixel art appearance.
+
+\ **Disabled:** No subpixel positioning. Lowest quality, fastest rendering.
+
+\ **Auto:** Use subpixel positioning at small font sizes (the chosen quality varies depending on font size). Large fonts will not use subpixel positioning. This is a good tradeoff between performance and quality.
+
+\ **One Half of a Pixel:** Always perform intermediate subpixel positioning regardless of font size. High quality, slow rendering.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **One Quarter of a Pixel:** Always perform precise subpixel positioning regardless of font size. Highest quality, slowest rendering.
 
 .. |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.)`

+ 14 - 2
classes/class_resourceimporterimage.rst

@@ -12,9 +12,21 @@ ResourceImporterImage
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Imports a image for use in scripting, with no rendering capabilities.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This importer imports :ref:`Image<class_Image>` resources, as opposed to :ref:`CompressedTexture2D<class_CompressedTexture2D>`. If you need to render the image in 2D or 3D, use :ref:`ResourceImporterTexture<class_ResourceImporterTexture>` instead.
+
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- :doc:`Importing images <../tutorials/assets_pipeline/importing_images>`
 
 .. |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.)`

+ 26 - 22
classes/class_resourceimporterimagefont.rst

@@ -12,9 +12,23 @@ ResourceImporterImageFont
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Imports a fixed-width bitmap font where all glyphs have the same width and height.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This image-based workflow can be easier to use than :ref:`ResourceImporterBMFont<class_ResourceImporterBMFont>`, but it requires all glyphs to have the same width and height. This makes **ResourceImporterImageFont** most suited to fixed-width fonts.
+
+See also :ref:`ResourceImporterDynamicFont<class_ResourceImporterDynamicFont>`.
+
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- `Bitmap fonts - Using fonts <../tutorials/ui/gui_using_fonts.html#bitmap-fonts>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -55,9 +69,7 @@ Property Descriptions
 
 :ref:`Rect2i<class_Rect2i>` **character_margin** = ``Rect2i(0, 0, 0, 0)``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Margin applied around every imported glyph. If your font image contains guides (in the form of lines between glyphs) or if spacing between characters appears incorrect, try adjusting :ref:`character_margin<class_ResourceImporterImageFont_property_character_margin>`.
 
 .. rst-class:: classref-item-separator
 
@@ -69,9 +81,11 @@ Property Descriptions
 
 :ref:`PackedStringArray<class_PackedStringArray>` **character_ranges** = ``PackedStringArray()``
 
-.. container:: contribute
+The character ranges to import from the font image. This is an array that maps each position on the image (in tile coordinates, not pixels). The font atlas is traversed from left to right and top to bottom. Characters can be specified with decimal numbers (127), hexadecimal numbers (``0x007f``) or between single quotes (``'~'``). Ranges can be specified with a hyphen between characters.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+For instance, ``0-127`` (or ``0x0000-0x007f``) denotes the full ASCII range. As another example, ``' '-'~'`` is equivalent to ``32-127`` and denotes the range of printable (visible) ASCII characters.
+
+Make sure :ref:`character_ranges<class_ResourceImporterImageFont_property_character_ranges>` doesn't exceed the number of :ref:`columns<class_ResourceImporterImageFont_property_columns>` \* :ref:`rows<class_ResourceImporterImageFont_property_rows>` defined. Otherwise, the font will fail to import.
 
 .. rst-class:: classref-item-separator
 
@@ -83,9 +97,7 @@ Property Descriptions
 
 :ref:`int<class_int>` **columns** = ``1``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Number of columns in the font image. See also :ref:`rows<class_ResourceImporterImageFont_property_rows>`.
 
 .. rst-class:: classref-item-separator
 
@@ -97,9 +109,7 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **compress** = ``true``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, uses lossless compression for the resulting font.
 
 .. rst-class:: classref-item-separator
 
@@ -111,9 +121,7 @@ Property Descriptions
 
 :ref:`Array<class_Array>` **fallbacks** = ``[]``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+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
 
@@ -125,9 +133,7 @@ Property Descriptions
 
 :ref:`Rect2i<class_Rect2i>` **image_margin** = ``Rect2i(0, 0, 0, 0)``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Margin to cut on the sides of the entire image. This can be used to cut parts of the image that contain attribution information or similar.
 
 .. rst-class:: classref-item-separator
 
@@ -139,9 +145,7 @@ Property Descriptions
 
 :ref:`int<class_int>` **rows** = ``1``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Number of rows in the font image. See also :ref:`columns<class_ResourceImporterImageFont_property_columns>`.
 
 .. |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.)`

+ 55 - 21
classes/class_resourceimporterlayeredtexture.rst

@@ -12,9 +12,21 @@ ResourceImporterLayeredTexture
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Imports a 3-dimensional texture (:ref:`Texture3D<class_Texture3D>`), a :ref:`Texture2DArray<class_Texture2DArray>`, a :ref:`Cubemap<class_Cubemap>` or a :ref:`CubemapArray<class_CubemapArray>`.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This imports a 3-dimensional texture, which can then be used in custom shaders, as a :ref:`FogMaterial<class_FogMaterial>` density map or as a :ref:`GPUParticlesAttractorVectorField3D<class_GPUParticlesAttractorVectorField3D>`. See also :ref:`ResourceImporterTexture<class_ResourceImporterTexture>` and :ref:`ResourceImporterTextureAtlas<class_ResourceImporterTextureAtlas>`.
+
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- :doc:`Importing images <../tutorials/assets_pipeline/importing_images>`
 
 .. rst-class:: classref-reftable-group
 
@@ -57,9 +69,13 @@ Property Descriptions
 
 :ref:`int<class_int>` **compress/channel_pack** = ``0``
 
-.. container:: contribute
+Controls how color channels should be used in the imported texture.
+
+\ **sRGB Friendly:**, prevents the RG color format from being used, as it does not support sRGB color.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Optimized:**, allows the RG color format to be used if the texture does not use the blue channel. This reduces memory usage if the texture's blue channel can be discarded (all pixels must have a blue value of ``0``).
+
+\ **Normal Map (RG Channels):** This forces all layers from the texture to be imported with the RG color format to reduce memory usage, with only the red and green channels preserved. This only has an effect on textures with the VRAM Compressed or Basis Universal compression modes. This mode is only available in layered textures (:ref:`Cubemap<class_Cubemap>`, :ref:`CubemapArray<class_CubemapArray>`, :ref:`Texture2DArray<class_Texture2DArray>` and :ref:`Texture3D<class_Texture3D>`).
 
 .. rst-class:: classref-item-separator
 
@@ -71,9 +87,15 @@ Property Descriptions
 
 :ref:`int<class_int>` **compress/hdr_compression** = ``1``
 
-.. container:: contribute
+Controls how VRAM compression should be performed for HDR images.
+
+\ **Disabled:** Never use VRAM compression for HDR textures, regardless of whether they're opaque or transparent. Instead, the texture is converted to RGBE9995 (9-bits per channel + 5-bit exponent = 32 bits per pixel) to reduce memory usage compared to a half-float or single-precision float image format.
+
+\ **Opaque Only:** Only uses VRAM compression for opaque HDR textures. This is due to a limitation of HDR formats, as there is no VRAM-compressed HDR format that supports transparency at the same time.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Always:** Force VRAM compression even for HDR textures with an alpha channel. To perform this, the alpha channel is discarded on import.
+
+\ **Note:** Only effective on Radiance HDR (``.hdr``) and OpenEXR (``.exr``) images.
 
 .. rst-class:: classref-item-separator
 
@@ -85,9 +107,11 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **compress/high_quality** = ``false``
 
-.. container:: contribute
+If ``true``, uses BPTC compression on desktop platforms and ASTC compression on mobile platforms. When using BPTC, BC7 is used for SDR textures and BC6H is used for HDR textures.
+
+If ``false``, uses the faster but lower-quality S3TC compression on desktop platforms and ETC2 on mobile/web platforms. When using S3TC, DXT1 (BC1) is used for opaque textures and DXT5 (BC3) is used for transparent or normal map (RGTC) textures.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+BPTC and ASTC support VRAM compression for HDR textures, but S3TC and ETC2 do not (see :ref:`compress/hdr_compression<class_ResourceImporterLayeredTexture_property_compress/hdr_compression>`).
 
 .. rst-class:: classref-item-separator
 
@@ -99,9 +123,7 @@ Property Descriptions
 
 :ref:`float<class_float>` **compress/lossy_quality** = ``0.7``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The quality to use when using the **Lossy** compression mode. Higher values result in better quality, at the cost of larger file sizes. Lossy quality does not affect memory usage of the imported texture, only its file size on disk.
 
 .. rst-class:: classref-item-separator
 
@@ -113,9 +135,19 @@ Property Descriptions
 
 :ref:`int<class_int>` **compress/mode** = ``1``
 
-.. container:: contribute
+The compression mode to use. Each compression mode provides a different tradeoff:
+
+\ **Lossless**: Original quality, high memory usage, high size on disk, fast import.
+
+\ **Lossy:** Reduced quality, high memory usage, low size on disk, fast import.
+
+\ **VRAM Compressed:** Reduced quality, low memory usage, low size on disk, slowest import. Only use for textures in 3D scenes, not for 2D elements.
+
+\ **VRAM Uncompressed:** Original quality, high memory usage, highest size on disk, fastest import.
+
+\ **Basis Universal:** Reduced quality, low memory usage, lowest size on disk, slow import. Only use for textures in 3D scenes, not for 2D elements.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+See `Compress mode <https://docs.godotengine.org/en/latest/tutorials/assets_pipeline/importing_images.html#compress-mode>`__ in the manual for more details.
 
 .. rst-class:: classref-item-separator
 
@@ -127,9 +159,15 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **mipmaps/generate** = ``true``
 
-.. container:: contribute
+If ``true``, smaller versions of the texture are generated on import. For example, a 64×64 texture will generate 6 mipmaps (32×32, 16×16, 8×8, 4×4, 2×2, 1×1). This has several benefits:
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+- Textures will not become grainy in the distance (in 3D), or if scaled down due to :ref:`Camera2D<class_Camera2D>` zoom or :ref:`CanvasItem<class_CanvasItem>` scale (in 2D).
+
+- Performance will improve if the texture is displayed in the distance, since sampling smaller versions of the original texture is faster and requires less memory bandwidth.
+
+The downside of mipmaps is that they increase memory usage by roughly 33% (for :ref:`Texture2DArray<class_Texture2DArray>`, :ref:`Cubemap<class_Cubemap>` and :ref:`CubemapArray<class_CubemapArray>`) or 14% (for :ref:`Texture3D<class_Texture3D>`).
+
+It's recommended to enable mipmaps in 3D. However, in 2D, this should only be enabled if your project visibly benefits from having mipmaps enabled. If the camera never zooms out significantly, there won't be a benefit to enabling mipmaps but memory usage will increase.
 
 .. rst-class:: classref-item-separator
 
@@ -141,9 +179,7 @@ Property Descriptions
 
 :ref:`int<class_int>` **mipmaps/limit** = ``-1``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Unimplemented. This currently has no effect when changed.
 
 .. rst-class:: classref-item-separator
 
@@ -155,9 +191,7 @@ Property Descriptions
 
 :ref:`int<class_int>` **slices/arrangement** = ``1``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Controls how the cubemap's texture is internally laid out. When using high-resolution cubemaps, **2×3** and **3×2** are less prone to exceeding hardware texture size limits compared to **1×6** and **6×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.)`

+ 31 - 11
classes/class_resourceimportermp3.rst

@@ -12,9 +12,25 @@ ResourceImporterMP3
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Imports a MP3 audio file for playback.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+MP3 is a lossy audio format, with worse audio quality compared to :ref:`ResourceImporterOggVorbis<class_ResourceImporterOggVorbis>` at a given bitrate.
+
+In most cases, it's recommended to use Ogg Vorbis over MP3. However, if you're using a MP3 sound source with no higher quality source available, then it's recommended to use the MP3 file directly to avoid double lossy compression.
+
+MP3 requires more CPU to decode than :ref:`ResourceImporterWAV<class_ResourceImporterWAV>`. If you need to play a lot of simultaneous sounds, it's recommended to use WAV for those sounds instead, especially if targeting low-end devices.
+
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- :doc:`Importing audio samples <../tutorials/assets_pipeline/importing_audio_samples>`
 
 .. rst-class:: classref-reftable-group
 
@@ -51,9 +67,9 @@ Property Descriptions
 
 :ref:`int<class_int>` **bar_beats** = ``4``
 
-.. container:: contribute
+The number of bars within a single beat in the audio track. This is only relevant for music that wishes to make use of interactive music functionality (not implemented yet), not sound effects.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+A more convenient editor for :ref:`bar_beats<class_ResourceImporterMP3_property_bar_beats>` is provided in the **Advanced Import Settings** dialog, as it lets you preview your changes without having to reimport the audio.
 
 .. rst-class:: classref-item-separator
 
@@ -65,9 +81,9 @@ Property Descriptions
 
 :ref:`int<class_int>` **beat_count** = ``0``
 
-.. container:: contribute
+The beat count of the audio track. This is only relevant for music that wishes to make use of interactive music functionality (not implemented yet), not sound effects.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+A more convenient editor for :ref:`beat_count<class_ResourceImporterMP3_property_beat_count>` is provided in the **Advanced Import Settings** dialog, as it lets you preview your changes without having to reimport the audio.
 
 .. rst-class:: classref-item-separator
 
@@ -79,9 +95,9 @@ Property Descriptions
 
 :ref:`float<class_float>` **bpm** = ``0``
 
-.. container:: contribute
+The Beats Per Minute of the audio track. This should match the BPM measure that was used to compose the track. This is only relevant for music that wishes to make use of interactive music functionality (not implemented yet), not sound effects.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+A more convenient editor for :ref:`bpm<class_ResourceImporterMP3_property_bpm>` is provided in the **Advanced Import Settings** dialog, as it lets you preview your changes without having to reimport the audio.
 
 .. rst-class:: classref-item-separator
 
@@ -93,7 +109,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **loop** = ``false``
 
-If ``true``, the audio will play again from the specified :ref:`loop_offset<class_ResourceImporterMP3_property_loop_offset>` once it is done playing. Useful for ambient sounds and background music.
+If enabled, the audio will begin playing at the beginning after playback ends by reaching the end of the audio.
+
+\ **Note:** In :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`, the :ref:`AudioStreamPlayer.finished<class_AudioStreamPlayer_signal_finished>` signal won't be emitted for looping audio when it reaches the end of the audio file, as the audio will keep playing indefinitely.
 
 .. rst-class:: classref-item-separator
 
@@ -105,9 +123,11 @@ If ``true``, the audio will play again from the specified :ref:`loop_offset<clas
 
 :ref:`float<class_float>` **loop_offset** = ``0``
 
-.. container:: contribute
+Determines where audio will start to loop after playback reaches the end of the audio. This can be used to only loop a part of the audio file, which is useful for some ambient sounds or music. The value is determined in seconds relative to the beginning of the audio. A value of ``0.0`` will loop the entire audio file.
+
+Only has an effect if :ref:`loop<class_ResourceImporterMP3_property_loop>` is ``true``.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+A more convenient editor for :ref:`loop_offset<class_ResourceImporterMP3_property_loop_offset>` is provided in the **Advanced Import Settings** dialog, as it lets you preview your changes without having to reimport the audio.
 
 .. |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.)`

+ 21 - 13
classes/class_resourceimporterobj.rst

@@ -12,9 +12,23 @@ ResourceImporterOBJ
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Imports an OBJ 3D model as a standalone :ref:`Mesh<class_Mesh>` or scene.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+Unlike :ref:`ResourceImporterScene<class_ResourceImporterScene>`, **ResourceImporterOBJ** will import a single :ref:`Mesh<class_Mesh>` resource by default instead of importing a :ref:`PackedScene<class_PackedScene>`. This makes it easier to use the :ref:`Mesh<class_Mesh>` resource in nodes that expect direct :ref:`Mesh<class_Mesh>` resources, such as :ref:`GridMap<class_GridMap>`, :ref:`GPUParticles3D<class_GPUParticles3D>` or :ref:`CPUParticles3D<class_CPUParticles3D>`. Note that it is still possible to save mesh resources from 3D scenes using the **Advanced Import Settings** dialog, regardless of the source format.
+
+See also :ref:`ResourceImporterScene<class_ResourceImporterScene>`, which is used for more advanced 3D formats such as glTF.
+
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- :doc:`Importing 3D scenes <../tutorials/assets_pipeline/importing_scenes>`
 
 .. rst-class:: classref-reftable-group
 
@@ -49,9 +63,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **generate_tangents** = ``true``
 
-.. container:: contribute
+If ``true``, generate vertex tangents using `Mikktspace <http://www.mikktspace.com/>`__ if the source mesh doesn't have tangent data. When possible, it's recommended to let the 3D modeling software generate tangents on export instead on relying on this option. Tangents are required for correct display of normal and height maps, along with any material/shader features that require tangents.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If you don't need material features that require tangents, disabling this can reduce output file size and speed up importing if the source 3D file doesn't contain tangents.
 
 .. rst-class:: classref-item-separator
 
@@ -63,9 +77,7 @@ Property Descriptions
 
 :ref:`Vector3<class_Vector3>` **offset_mesh** = ``Vector3(0, 0, 0)``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Offsets the mesh's data by the specified value. This can be used to work around misaligned meshes without having to modify the source file.
 
 .. rst-class:: classref-item-separator
 
@@ -77,9 +89,7 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **optimize_mesh** = ``true``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Unused parameter. This currently has no effect.
 
 .. rst-class:: classref-item-separator
 
@@ -91,9 +101,7 @@ Property Descriptions
 
 :ref:`Vector3<class_Vector3>` **scale_mesh** = ``Vector3(1, 1, 1)``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Scales the mesh's data by the specified value. This can be used to work around misscaled meshes without having to modify the source file.
 
 .. |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.)`

+ 31 - 11
classes/class_resourceimporteroggvorbis.rst

@@ -12,9 +12,25 @@ ResourceImporterOggVorbis
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Imports an Ogg Vorbis audio file for playback.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+Ogg Vorbis is a lossy audio format, with better audio quality compared to :ref:`ResourceImporterMP3<class_ResourceImporterMP3>` at a given bitrate.
+
+In most cases, it's recommended to use Ogg Vorbis over MP3. However, if you're using a MP3 sound source with no higher quality source available, then it's recommended to use the MP3 file directly to avoid double lossy compression.
+
+Ogg Vorbis requires more CPU to decode than :ref:`ResourceImporterWAV<class_ResourceImporterWAV>`. If you need to play a lot of simultaneous sounds, it's recommended to use WAV for those sounds instead, especially if targeting low-end devices.
+
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- `Importing audio samples <https://docs.godotengine.org/en/latest/tutorials/assets_pipeline/importing_audio_samples.html>`__
 
 .. rst-class:: classref-reftable-group
 
@@ -65,9 +81,9 @@ Property Descriptions
 
 :ref:`int<class_int>` **bar_beats** = ``4``
 
-.. container:: contribute
+The number of bars within a single beat in the audio track. This is only relevant for music that wishes to make use of interactive music functionality (not implemented yet), not sound effects.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+A more convenient editor for :ref:`bar_beats<class_ResourceImporterOggVorbis_property_bar_beats>` is provided in the **Advanced Import Settings** dialog, as it lets you preview your changes without having to reimport the audio.
 
 .. rst-class:: classref-item-separator
 
@@ -79,9 +95,9 @@ Property Descriptions
 
 :ref:`int<class_int>` **beat_count** = ``0``
 
-.. container:: contribute
+The beat count of the audio track. This is only relevant for music that wishes to make use of interactive music functionality (not implemented yet), not sound effects.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+A more convenient editor for :ref:`beat_count<class_ResourceImporterOggVorbis_property_beat_count>` is provided in the **Advanced Import Settings** dialog, as it lets you preview your changes without having to reimport the audio.
 
 .. rst-class:: classref-item-separator
 
@@ -93,9 +109,9 @@ Property Descriptions
 
 :ref:`float<class_float>` **bpm** = ``0``
 
-.. container:: contribute
+The Beats Per Minute of the audio track. This should match the BPM measure that was used to compose the track. This is only relevant for music that wishes to make use of interactive music functionality (not implemented yet), not sound effects.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+A more convenient editor for :ref:`bpm<class_ResourceImporterOggVorbis_property_bpm>` is provided in the **Advanced Import Settings** dialog, as it lets you preview your changes without having to reimport the audio.
 
 .. rst-class:: classref-item-separator
 
@@ -107,7 +123,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **loop** = ``false``
 
-If ``true``, the audio will play again from the specified :ref:`loop_offset<class_ResourceImporterOggVorbis_property_loop_offset>` once it is done playing. Useful for ambient sounds and background music.
+If enabled, the audio will begin playing at the beginning after playback ends by reaching the end of the audio.
+
+\ **Note:** In :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`, the :ref:`AudioStreamPlayer.finished<class_AudioStreamPlayer_signal_finished>` signal won't be emitted for looping audio when it reaches the end of the audio file, as the audio will keep playing indefinitely.
 
 .. rst-class:: classref-item-separator
 
@@ -119,9 +137,11 @@ If ``true``, the audio will play again from the specified :ref:`loop_offset<clas
 
 :ref:`float<class_float>` **loop_offset** = ``0``
 
-.. container:: contribute
+Determines where audio will start to loop after playback reaches the end of the audio. This can be used to only loop a part of the audio file, which is useful for some ambient sounds or music. The value is determined in seconds relative to the beginning of the audio. A value of ``0.0`` will loop the entire audio file.
+
+Only has an effect if :ref:`loop<class_ResourceImporterOggVorbis_property_loop>` is ``true``.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+A more convenient editor for :ref:`loop_offset<class_ResourceImporterOggVorbis_property_loop_offset>` is provided in the **Advanced Import Settings** dialog, as it lets you preview your changes without having to reimport the audio.
 
 .. rst-class:: classref-section-separator
 

+ 43 - 47
classes/class_resourceimporterscene.rst

@@ -12,9 +12,25 @@ ResourceImporterScene
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Imports a glTF, FBX, Collada or Blender 3D scene.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+See also :ref:`ResourceImporterOBJ<class_ResourceImporterOBJ>`, which is used for OBJ models that can be imported as a standalone :ref:`Mesh<class_Mesh>` or a scene.
+
+Additional options (such as extracting individual meshes or materials to files) are available in the **Advanced Import Settings** dialog. This dialog can be accessed by double-clicking a 3D scene in the FileSystem dock or by selecting a 3D scene in the FileSystem dock, going to the Import dock and choosing **Advanced**.
+
+\ **Note:** **ResourceImporterScene** is *not* used for :ref:`PackedScene<class_PackedScene>`\ s, such as ``.tscn`` and ``.scn`` files.
+
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- :doc:`Importing 3D scenes <../tutorials/assets_pipeline/importing_scenes>`
 
 .. rst-class:: classref-reftable-group
 
@@ -73,9 +89,7 @@ Property Descriptions
 
 :ref:`Dictionary<class_Dictionary>` **_subresources** = ``{}``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Contains properties for the scene's subresources. This is an internal option which is not visible in the Import dock.
 
 .. rst-class:: classref-item-separator
 
@@ -87,9 +101,7 @@ Property Descriptions
 
 :ref:`float<class_float>` **animation/fps** = ``30``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The number of frames per second to use for baking animation curves to a series of points with linear interpolation. It's recommended to configure this value to match the value you're using as a baseline in your 3D modeling software. Higher values result in more precise animation with fast movement changes, at the cost of higher file sizes and memory usage. Thanks to interpolation, there is usually not much benefit in going above 30 FPS (as the animation will still appear smooth at higher rendering framerates).
 
 .. rst-class:: classref-item-separator
 
@@ -101,9 +113,7 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **animation/import** = ``true``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, import animations from the 3D scene.
 
 .. rst-class:: classref-item-separator
 
@@ -115,9 +125,7 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **animation/remove_immutable_tracks** = ``true``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, remove animation tracks that only contain default values. This can reduce output file size and memory usage with certain 3D scenes, depending on the contents of their animation tracks.
 
 .. rst-class:: classref-item-separator
 
@@ -129,9 +137,7 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **animation/trimming** = ``false``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, trim the beginning and end of animations if there are no keyframe changes. This can reduce output file size and memory usage with certain 3D scenes, depending on the contents of their animation tracks.
 
 .. rst-class:: classref-item-separator
 
@@ -143,9 +149,7 @@ Property Descriptions
 
 :ref:`String<class_String>` **import_script/path** = ``""``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Path to an import script, which can run code after the import process has completed for custom processing. See `Using import scripts for automation <../tutorials/assets_pipeline/importing_scenes.html#doc-importing-3d-scenes-import-script>`__ for more information.
 
 .. rst-class:: classref-item-separator
 
@@ -157,9 +161,7 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **meshes/create_shadow_meshes** = ``true``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, enables the generation of shadow meshes on import. This optimizes shadow rendering without reducing quality by welding vertices together when possible. This in turn reduces the memory bandwidth required to render shadows. Shadow mesh generation currently doesn't support using a lower detail level than the source mesh (but shadow rendering will make use of LODs when relevant).
 
 .. rst-class:: classref-item-separator
 
@@ -171,9 +173,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **meshes/ensure_tangents** = ``true``
 
-.. container:: contribute
+If ``true``, generate vertex tangents using `Mikktspace <http://www.mikktspace.com/>`__ if the input meshes don't have tangent data. When possible, it's recommended to let the 3D modeling software generate tangents on export instead on relying on this option. Tangents are required for correct display of normal and height maps, along with any material/shader features that require tangents.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If you don't need material features that require tangents, disabling this can reduce output file size and speed up importing if the source 3D file doesn't contain tangents.
 
 .. rst-class:: classref-item-separator
 
@@ -185,9 +187,7 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **meshes/generate_lods** = ``true``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, generates lower detail variants of the mesh which will be displayed in the distance to improve rendering performance. Not all meshes benefit from LOD, especially if they are never rendered from far away. Disabling this can reduce output file size and speed up importing. See `Mesh level of detail (LOD) <../tutorials/3d/mesh_lod.html#doc-mesh-lod>`__ for more information.
 
 .. rst-class:: classref-item-separator
 
@@ -199,9 +199,7 @@ Property Descriptions
 
 :ref:`int<class_int>` **meshes/light_baking** = ``1``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Configures the meshes' :ref:`GeometryInstance3D.gi_mode<class_GeometryInstance3D_property_gi_mode>` in the 3D scene. If set to **Static Lightmaps**, sets the meshes' GI mode to Static and generates UV2 on import for :ref:`LightmapGI<class_LightmapGI>` baking.
 
 .. rst-class:: classref-item-separator
 
@@ -213,9 +211,9 @@ Property Descriptions
 
 :ref:`float<class_float>` **meshes/lightmap_texel_size** = ``0.2``
 
-.. container:: contribute
+Controls the size of each texel on the baked lightmap. A smaller value results in more precise lightmaps, at the cost of larger lightmap sizes and longer bake times.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** Only effective if :ref:`meshes/light_baking<class_ResourceImporterScene_property_meshes/light_baking>` is set to **Static Lightmaps**.
 
 .. rst-class:: classref-item-separator
 
@@ -227,9 +225,7 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **nodes/apply_root_scale** = ``true``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, :ref:`nodes/root_scale<class_ResourceImporterScene_property_nodes/root_scale>` will be applied on the meshes and animations directly, while keeping the root node's scale to the default ``(1, 1, 1)``. This means that if you add a child node later on within the imported scene, it won't be scaled. If disabled, :ref:`nodes/root_scale<class_ResourceImporterScene_property_nodes/root_scale>` will multiply the scale of the root node instead.
 
 .. rst-class:: classref-item-separator
 
@@ -241,9 +237,7 @@ Property Descriptions
 
 :ref:`String<class_String>` **nodes/root_name** = ``"Scene Root"``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The name of the root node in the imported scene. This is generally not noticeable when instancing the scene in the editor (or drag-and-dropping from the FileSystem dock), as the root node is renamed to match the filename in this case.
 
 .. rst-class:: classref-item-separator
 
@@ -255,9 +249,7 @@ Property Descriptions
 
 :ref:`float<class_float>` **nodes/root_scale** = ``1.0``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The scale of meshes and animations (if :ref:`nodes/apply_root_scale<class_ResourceImporterScene_property_nodes/apply_root_scale>` is ``true``), or the scale of the root node in the imported scene (if :ref:`nodes/apply_root_scale<class_ResourceImporterScene_property_nodes/apply_root_scale>` is ``false``).
 
 .. rst-class:: classref-item-separator
 
@@ -269,9 +261,7 @@ Property Descriptions
 
 :ref:`String<class_String>` **nodes/root_type** = ``"Node3D"``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The node type to use as a root node. Using node types that inherit from :ref:`Node3D<class_Node3D>` is recommended. Otherwise, you'll lose the ability to position the node directly in the 3D editor.
 
 .. rst-class:: classref-item-separator
 
@@ -283,9 +273,15 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **skins/use_named_skins** = ``true``
 
-.. container:: contribute
+If checked, use named :ref:`Skin<class_Skin>`\ s for animation. The :ref:`MeshInstance3D<class_MeshInstance3D>` node contains 3 properties of relevance here: a skeleton :ref:`NodePath<class_NodePath>` pointing to the :ref:`Skeleton3D<class_Skeleton3D>` node (usually ``..``), a mesh, and a skin:
+
+- The :ref:`Skeleton3D<class_Skeleton3D>` node contains a list of bones with names, their pose and rest, a name and a parent bone.
+
+- The mesh is all of the raw vertex data needed to display a mesh. In terms of the mesh, it knows how vertices are weight-painted and uses some internal numbering often imported from 3D modeling software.
+
+- The skin contains the information necessary to bind this mesh onto this Skeleton3D. For every one of the internal bone IDs chosen by the 3D modeling software, it contains two things. Firstly, a matrix known as the Bind Pose Matrix, Inverse Bind Matrix, or IBM for short. Secondly, the :ref:`Skin<class_Skin>` contains each bone's name (if :ref:`skins/use_named_skins<class_ResourceImporterScene_property_skins/use_named_skins>` is ``true``), or the bone's index within the :ref:`Skeleton3D<class_Skeleton3D>` list (if :ref:`skins/use_named_skins<class_ResourceImporterScene_property_skins/use_named_skins>` is ``false``).
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Together, this information is enough to tell Godot how to use the bone poses in the :ref:`Skeleton3D<class_Skeleton3D>` node to render the mesh from each :ref:`MeshInstance3D<class_MeshInstance3D>`. Note that each :ref:`MeshInstance3D<class_MeshInstance3D>` may share binds, as is common in models exported from Blender, or each :ref:`MeshInstance3D<class_MeshInstance3D>` may use a separate :ref:`Skin<class_Skin>` object, as is common in models exported from other tools such as Maya.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 7 - 2
classes/class_resourceimportershaderfile.rst

@@ -12,9 +12,14 @@ ResourceImporterShaderFile
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Imports native GLSL shaders (not Godot shaders) as a :ref:`RDShaderFile<class_RDShaderFile>`.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This imports native GLSL shaders as :ref:`RDShaderFile<class_RDShaderFile>` resources, for use with low-level :ref:`RenderingDevice<class_RenderingDevice>` operations. This importer does *not* handle ``.gdshader`` files.
 
 .. |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.)`

+ 81 - 45
classes/class_resourceimportertexture.rst

@@ -12,9 +12,21 @@ ResourceImporterTexture
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Imports an image for use in 2D or 3D rendering.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This importer imports :ref:`CompressedTexture2D<class_CompressedTexture2D>` resources. If you need to process the image in scripts in a more convenient way, use :ref:`ResourceImporterImage<class_ResourceImporterImage>` instead. See also :ref:`ResourceImporterLayeredTexture<class_ResourceImporterLayeredTexture>`.
+
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- :doc:`Importing images <../tutorials/assets_pipeline/importing_images>`
 
 .. rst-class:: classref-reftable-group
 
@@ -81,9 +93,11 @@ Property Descriptions
 
 :ref:`int<class_int>` **compress/channel_pack** = ``0``
 
-.. container:: contribute
+Controls how color channels should be used in the imported texture.
+
+\ **sRGB Friendly:** Prevents the RG color format from being used, as it does not support sRGB color.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Optimized:** Allows the RG color format to be used if the texture does not use the blue channel. This reduces memory usage if the texture's blue channel can be discarded (all pixels must have a blue value of ``0``).
 
 .. rst-class:: classref-item-separator
 
@@ -95,9 +109,15 @@ Property Descriptions
 
 :ref:`int<class_int>` **compress/hdr_compression** = ``1``
 
-.. container:: contribute
+Controls how VRAM compression should be performed for HDR images.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Disabled:** Never use VRAM compression for HDR textures, regardless of whether they're opaque or transparent. Instead, the texture is converted to RGBE9995 (9-bits per channel + 5-bit exponent = 32 bits per pixel) to reduce memory usage compared to a half-float or single-precision float image format.
+
+\ **Opaque Only:** Only uses VRAM compression for opaque HDR textures. This is due to a limitation of HDR formats, as there is no VRAM-compressed HDR format that supports transparency at the same time.
+
+\ **Always:** Force VRAM compression even for HDR textures with an alpha channel. To perform this, the alpha channel is discarded on import.
+
+\ **Note:** Only effective on Radiance HDR (``.hdr``) and OpenEXR (``.exr``) images.
 
 .. rst-class:: classref-item-separator
 
@@ -109,9 +129,11 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **compress/high_quality** = ``false``
 
-.. container:: contribute
+If ``true``, uses BPTC compression on desktop platforms and ASTC compression on mobile platforms. When using BPTC, BC7 is used for SDR textures and BC6H is used for HDR textures.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``false``, uses the faster but lower-quality S3TC compression on desktop platforms and ETC2 on mobile/web platforms. When using S3TC, DXT1 (BC1) is used for opaque textures and DXT5 (BC3) is used for transparent or normal map (RGTC) textures.
+
+BPTC and ASTC support VRAM compression for HDR textures, but S3TC and ETC2 do not (see :ref:`compress/hdr_compression<class_ResourceImporterTexture_property_compress/hdr_compression>`).
 
 .. rst-class:: classref-item-separator
 
@@ -123,9 +145,7 @@ Property Descriptions
 
 :ref:`float<class_float>` **compress/lossy_quality** = ``0.7``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The quality to use when using the **Lossy** compression mode. Higher values result in better quality, at the cost of larger file sizes. Lossy quality does not affect memory usage of the imported texture, only its file size on disk.
 
 .. rst-class:: classref-item-separator
 
@@ -137,9 +157,19 @@ Property Descriptions
 
 :ref:`int<class_int>` **compress/mode** = ``0``
 
-.. container:: contribute
+The compression mode to use. Each compression mode provides a different tradeoff:
+
+\ **Lossless**: Original quality, high memory usage, high size on disk, fast import.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Lossy:** Reduced quality, high memory usage, low size on disk, fast import.
+
+\ **VRAM Compressed:** Reduced quality, low memory usage, low size on disk, slowest import. Only use for textures in 3D scenes, not for 2D elements.
+
+\ **VRAM Uncompressed:** Original quality, high memory usage, highest size on disk, fastest import.
+
+\ **Basis Universal:** Reduced quality, low memory usage, lowest size on disk, slow import. Only use for textures in 3D scenes, not for 2D elements.
+
+See `Compress mode <https://docs.godotengine.org/en/latest/tutorials/assets_pipeline/importing_images.html#compress-mode>`__ in the manual for more details.
 
 .. rst-class:: classref-item-separator
 
@@ -151,9 +181,9 @@ Property Descriptions
 
 :ref:`int<class_int>` **compress/normal_map** = ``0``
 
-.. container:: contribute
+When using a texture as normal map, only the red and green channels are required. Given regular texture compression algorithms produce artifacts that don't look that nice in normal maps, the RGTC compression format is the best fit for this data. Forcing this option to Enable will make Godot import the image as RGTC compressed. By default, it's set to Detect. This means that if the texture is ever detected to be used as a normal map, it will be changed to Enable and reimported automatically.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Note that RGTC compression affects the resulting normal map image. You will have to adjust custom shaders that use the normal map's blue channel to take this into account. Built-in material shaders already ignore the blue channel in a normal map (regardless of the actual normal map's contents).
 
 .. rst-class:: classref-item-separator
 
@@ -165,9 +195,9 @@ Property Descriptions
 
 :ref:`int<class_int>` **detect_3d/compress_to** = ``1``
 
-.. container:: contribute
+This changes the :ref:`compress/mode<class_ResourceImporterTexture_property_compress/mode>` option that is used when a texture is detected as being used in 3D.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Changing this import option only has an effect if a texture is detected as being used in 3D. Changing this to **Disabled** then reimporting will not change the existing compress mode on a texture (if it's detected to be used in 3D), but choosing **VRAM Compressed** or **Basis Universal** will.
 
 .. rst-class:: classref-item-separator
 
@@ -179,9 +209,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **editor/convert_colors_with_editor_theme** = ``false``
 
-.. container:: contribute
+If ``true``, converts the imported image's colors to match :ref:`EditorSettings.interface/theme/icon_and_font_color<class_EditorSettings_property_interface/theme/icon_and_font_color>`. This assumes the image uses the exact same colors as :doc:`Godot's own color palette for editor icons <../contributing/development/editor/creating_icons>`, with the source file designed for a dark editor theme. This should be enabled for editor plugin icons and custom class icons, but should be left disabled otherwise.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** Only available for SVG images.
 
 .. rst-class:: classref-item-separator
 
@@ -193,9 +223,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **editor/scale_with_editor_scale** = ``false``
 
-.. container:: contribute
+If ``true``, scales the imported image to match :ref:`EditorSettings.interface/editor/custom_display_scale<class_EditorSettings_property_interface/editor/custom_display_scale>`. This should be enabled for editor plugin icons and custom class icons, but should be left disabled otherwise.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** Only available for SVG images.
 
 .. rst-class:: classref-item-separator
 
@@ -207,9 +237,15 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **mipmaps/generate** = ``false``
 
-.. container:: contribute
+If ``true``, smaller versions of the texture are generated on import. For example, a 64×64 texture will generate 6 mipmaps (32×32, 16×16, 8×8, 4×4, 2×2, 1×1). This has several benefits:
+
+- Textures will not become grainy in the distance (in 3D), or if scaled down due to :ref:`Camera2D<class_Camera2D>` zoom or :ref:`CanvasItem<class_CanvasItem>` scale (in 2D).
+
+- Performance will improve if the texture is displayed in the distance, since sampling smaller versions of the original texture is faster and requires less memory bandwidth.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The downside of mipmaps is that they increase memory usage by roughly 33%.
+
+It's recommended to enable mipmaps in 3D. However, in 2D, this should only be enabled if your project visibly benefits from having mipmaps enabled. If the camera never zooms out significantly, there won't be a benefit to enabling mipmaps but memory usage will increase.
 
 .. rst-class:: classref-item-separator
 
@@ -221,9 +257,7 @@ Property Descriptions
 
 :ref:`int<class_int>` **mipmaps/limit** = ``-1``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Unimplemented. This currently has no effect when changed.
 
 .. rst-class:: classref-item-separator
 
@@ -235,9 +269,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **process/fix_alpha_border** = ``true``
 
-.. container:: contribute
+If ``true``, puts pixels of the same surrounding color in transition from transparent to opaque areas. For textures displayed with bilinear filtering, this helps mitigate the outline effect when exporting images from an image editor.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+It's recommended to leave this enabled (as it is by default), unless this causes issues for a particular image.
 
 .. rst-class:: classref-item-separator
 
@@ -249,9 +283,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **process/hdr_as_srgb** = ``false``
 
-.. container:: contribute
+Some HDR images you can find online may be broken and contain sRGB color data (instead of linear color data). It is advised not to use those files. If you absolutely have to, enabling :ref:`process/hdr_as_srgb<class_ResourceImporterTexture_property_process/hdr_as_srgb>` will make them look correct.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Warning:** Enabling :ref:`process/hdr_as_srgb<class_ResourceImporterTexture_property_process/hdr_as_srgb>` on well-formatted HDR images will cause the resulting image to look too dark, so leave this on ``false`` if unsure.
 
 .. rst-class:: classref-item-separator
 
@@ -263,9 +297,11 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **process/hdr_clamp_exposure** = ``false``
 
-.. container:: contribute
+If ``true``, clamps exposure in the imported high dynamic range images using a smart clamping formula (without introducing *visible* clipping).
+
+Some HDR panorama images you can find online may contain extremely bright pixels, due to being taken from real life sources without any clipping.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+While these HDR panorama images are accurate to real life, this can cause the radiance map generated by Godot to contain sparkles when used as a background sky. This can be seen in material reflections (even on rough materials in extreme cases). Enabling :ref:`process/hdr_clamp_exposure<class_ResourceImporterTexture_property_process/hdr_clamp_exposure>` can resolve this.
 
 .. rst-class:: classref-item-separator
 
@@ -277,9 +313,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **process/normal_map_invert_y** = ``false``
 
-.. container:: contribute
+If ``true``, convert the normal map from Y- (DirectX-style) to Y+ (OpenGL-style) by inverting its green color channel. This is the normal map convention expected by Godot.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+More information about normal maps (including a coordinate order table for popular engines) can be found `here <http://wiki.polycount.com/wiki/Normal_Map_Technical_Details>`__.
 
 .. rst-class:: classref-item-separator
 
@@ -291,9 +327,11 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **process/premult_alpha** = ``false``
 
-.. container:: contribute
+An alternative to fixing darkened borders with :ref:`process/fix_alpha_border<class_ResourceImporterTexture_property_process/fix_alpha_border>` is to use premultiplied alpha. By enabling this option, the texture will be converted to this format. A premultiplied alpha texture requires specific materials to be displayed correctly:
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+- In 2D, a :ref:`CanvasItemMaterial<class_CanvasItemMaterial>` will need to be created and configured to use the :ref:`CanvasItemMaterial.BLEND_MODE_PREMULT_ALPHA<class_CanvasItemMaterial_constant_BLEND_MODE_PREMULT_ALPHA>` blend mode on :ref:`CanvasItem<class_CanvasItem>`\ s that use this texture.
+
+- In 3D, there is no support for premultiplied alpha blend mode yet, so this option is only suited for 2D.
 
 .. rst-class:: classref-item-separator
 
@@ -305,9 +343,9 @@ Property Descriptions
 
 :ref:`int<class_int>` **process/size_limit** = ``0``
 
-.. container:: contribute
+If set to a value greater than ``0``, the size of the texture is limited on import to a value smaller than or equal to the value specified here. For non-square textures, the size limit affects the longer dimension, with the shorter dimension scaled to preserve aspect ratio. Resizing is performed using cubic interpolation.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+This can be used to reduce memory usage without affecting the source images, or avoid issues with textures not displaying on mobile/web platforms (as these usually can't display textures larger than 4096×4096).
 
 .. rst-class:: classref-item-separator
 
@@ -319,9 +357,7 @@ Property Descriptions
 
 :ref:`int<class_int>` **roughness/mode** = ``0``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The color channel to consider as a roughness map in this texture. Only effective if Roughness > Src Normal is not empty.
 
 .. rst-class:: classref-item-separator
 
@@ -333,9 +369,9 @@ Property Descriptions
 
 :ref:`String<class_String>` **roughness/src_normal** = ``""``
 
-.. container:: contribute
+The path to the texture to consider as a normal map for roughness filtering on import. Specifying this can help decrease specular aliasing slightly in 3D.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Roughness filtering on import is only used in 3D rendering, not 2D.
 
 .. rst-class:: classref-item-separator
 
@@ -347,9 +383,9 @@ Property Descriptions
 
 :ref:`float<class_float>` **svg/scale** = ``1.0``
 
-.. container:: contribute
+The scale the SVG should be rendered at, with ``1.0`` being the original design size. Higher values result in a larger image. Note that unlike font oversampling, this affects the size the SVG is rendered at in 2D. See also :ref:`editor/scale_with_editor_scale<class_ResourceImporterTexture_property_editor/scale_with_editor_scale>`.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** Only available for SVG images.
 
 .. |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.)`

+ 16 - 11
classes/class_resourceimportertextureatlas.rst

@@ -12,9 +12,16 @@ ResourceImporterTextureAtlas
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Imports a collection of textures from a PNG image into an optimized :ref:`AtlasTexture<class_AtlasTexture>` for 2D rendering.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This imports a collection of textures from a PNG image into an :ref:`AtlasTexture<class_AtlasTexture>` or 2D :ref:`ArrayMesh<class_ArrayMesh>`. This can be used to save memory when importing 2D animations from spritesheets. Texture atlases are only supported in 2D rendering, not 3D. See also :ref:`ResourceImporterTexture<class_ResourceImporterTexture>` and :ref:`ResourceImporterLayeredTexture<class_ResourceImporterLayeredTexture>`.
+
+\ **Note:** **ResourceImporterTextureAtlas** does not handle importing :ref:`TileSetAtlasSource<class_TileSetAtlasSource>`, which is created using the :ref:`TileSet<class_TileSet>` editor instead.
 
 .. rst-class:: classref-reftable-group
 
@@ -49,9 +56,7 @@ Property Descriptions
 
 :ref:`String<class_String>` **atlas_file** = ``""``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Path to the atlas spritesheet. This *must* be set to valid path to a PNG image. Otherwise, the atlas will fail to import.
 
 .. rst-class:: classref-item-separator
 
@@ -63,9 +68,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **crop_to_region** = ``false``
 
-.. container:: contribute
+If ``true``, discards empty areas from the atlas. This only affects final sprite positioning, not storage. See also :ref:`trim_alpha_border_from_region<class_ResourceImporterTextureAtlas_property_trim_alpha_border_from_region>`.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** Only effective if :ref:`import_mode<class_ResourceImporterTextureAtlas_property_import_mode>` is **Region**.
 
 .. rst-class:: classref-item-separator
 
@@ -77,9 +82,9 @@ Property Descriptions
 
 :ref:`int<class_int>` **import_mode** = ``0``
 
-.. container:: contribute
+**Region:** Imports the atlas in an :ref:`AtlasTexture<class_AtlasTexture>` resource, which is rendered as a rectangle. This is fast to render, but transparent areas still have to be rendered if they can't be trimmed effectively by :ref:`trim_alpha_border_from_region<class_ResourceImporterTextureAtlas_property_trim_alpha_border_from_region>`. This can reduce performance when rendering large sprites on screen.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Mesh:** Imports the atlas as an :ref:`ArrayMesh<class_ArrayMesh>` resource, keeping the original bitmap visible (but rendered as a polygon). This can be used to reduce fill rate when rendering large transparent sprites, at the cost of slower rendering if there are little to no transparent areas in the sprite.
 
 .. rst-class:: classref-item-separator
 
@@ -91,9 +96,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **trim_alpha_border_from_region** = ``true``
 
-.. container:: contribute
+If ``true``, trims the region to exclude fully transparent pixels using a clipping rectangle (which is never rotated). This can be used to save memory. See also :ref:`trim_alpha_border_from_region<class_ResourceImporterTextureAtlas_property_trim_alpha_border_from_region>`.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** Only effective if :ref:`import_mode<class_ResourceImporterTextureAtlas_property_import_mode>` is **Region**.
 
 .. |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.)`

+ 38 - 28
classes/class_resourceimporterwav.rst

@@ -12,9 +12,21 @@ ResourceImporterWAV
 
 **Inherits:** :ref:`ResourceImporter<class_ResourceImporter>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-.. container:: contribute
+Imports a WAV audio file for playback.
 
-	There is currently no description for this class. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+WAV is an uncompressed format, which can provide higher quality compared to Ogg Vorbis and MP3. It also has the lowest CPU cost to decode. This means high numbers of WAV sounds can be played at the same time, even on low-end deviceS.
+
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- :doc:`Importing audio samples <../tutorials/assets_pipeline/importing_audio_samples>`
 
 .. rst-class:: classref-reftable-group
 
@@ -61,9 +73,11 @@ Property Descriptions
 
 :ref:`int<class_int>` **compress/mode** = ``0``
 
-.. container:: contribute
+The compression mode to use on import.
+
+\ **Disabled:** Imports audio data without any compression. This results in the highest possible quality.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **RAM (Ima-ADPCM):** Performs fast lossy compression on import. Low CPU cost, but quality is noticeably decreased compared to Ogg Vorbis or even MP3.
 
 .. rst-class:: classref-item-separator
 
@@ -75,9 +89,7 @@ Property Descriptions
 
 :ref:`int<class_int>` **edit/loop_begin** = ``0``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The begin loop point to use when :ref:`edit/loop_mode<class_ResourceImporterWAV_property_edit/loop_mode>` is **Forward**, **Ping-Pong** or **Backward**. This is set in seconds after the beginning of the audio file.
 
 .. rst-class:: classref-item-separator
 
@@ -89,9 +101,7 @@ Property Descriptions
 
 :ref:`int<class_int>` **edit/loop_end** = ``-1``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The end loop point to use when :ref:`edit/loop_mode<class_ResourceImporterWAV_property_edit/loop_mode>` is **Forward**, **Ping-Pong** or **Backward**. This is set in seconds after the beginning of the audio file. A value of ``-1`` uses the end of the audio file as the end loop point.
 
 .. rst-class:: classref-item-separator
 
@@ -103,9 +113,17 @@ Property Descriptions
 
 :ref:`int<class_int>` **edit/loop_mode** = ``0``
 
-.. container:: contribute
+Controls how audio should loop. This is automatically read from the WAV metadata on import.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Disabled:** Don't loop audio, even if metadata indicates the file should be played back looping.
+
+\ **Forward:** Standard audio looping.
+
+\ **Ping-Pong:** Play audio forward until it's done playing, then play it backward and repeat. This is similar to mirrored texture repeat, but for audio.
+
+\ **Backward:** Play audio in reverse and loop back to the end when done playing.
+
+\ **Note:** In :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`, the :ref:`AudioStreamPlayer.finished<class_AudioStreamPlayer_signal_finished>` signal won't be emitted for looping audio when it reaches the end of the audio file, as the audio will keep playing indefinitely.
 
 .. rst-class:: classref-item-separator
 
@@ -117,9 +135,7 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **edit/normalize** = ``false``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, normalize the audio volume so that its peak volume is equal to 0 dB. When enabled, normalization will make audio sound louder depending on its original peak volume.
 
 .. rst-class:: classref-item-separator
 
@@ -131,9 +147,7 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **edit/trim** = ``false``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, automatically trim the beginning and end of the audio if it's lower than -50 dB after normalization (see :ref:`edit/normalize<class_ResourceImporterWAV_property_edit/normalize>`). This prevents having files with silence at the beginning or end, which increases their size unnecessarily and adds latency to the moment they are played back. A fade-in/fade-out period of 500 samples is also used during trimming to avoid audible pops.
 
 .. rst-class:: classref-item-separator
 
@@ -145,9 +159,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **force/8_bit** = ``false``
 
-.. container:: contribute
+If ``true``, forces the imported audio to use 8-bit quantization if the source file is 16-bit or higher.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Enabling this is generally not recommended, as 8-bit quantization decreases audio quality significantly. If you need smaller file sizes, consider using Ogg Vorbis or MP3 audio instead.
 
 .. rst-class:: classref-item-separator
 
@@ -159,9 +173,9 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **force/max_rate** = ``false``
 
-.. container:: contribute
+If set to a value greater than ``0``, forces the audio's sample rate to be reduced to a value lower than or equal to the value specified in :ref:`force/max_rate_hz<class_ResourceImporterWAV_property_force/max_rate_hz>`.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+This can decrease file size noticeably on certain sounds, without impacting quality depending on the actual sound's contents. See `Best practices <../tutorials/assets_pipeline/importing_audio_samples.html#doc-importing-audio-samples-best-practices>`__ for more information.
 
 .. rst-class:: classref-item-separator
 
@@ -173,9 +187,7 @@ Property Descriptions
 
 :ref:`float<class_float>` **force/max_rate_hz** = ``44100``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The frequency to limit the imported audio sample to (in Hz). Only effective if :ref:`force/max_rate<class_ResourceImporterWAV_property_force/max_rate>` is ``true``.
 
 .. rst-class:: classref-item-separator
 
@@ -187,9 +199,7 @@ Property Descriptions
 
 :ref:`bool<class_bool>` **force/mono** = ``false``
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, forces the imported audio to be mono if the source file is stereo. This decreases the file size by 50% by merging the two channels into one.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 2 - 2
classes/class_scenetree.rst

@@ -510,7 +510,7 @@ Changes the running scene to the one at the given ``path``, after loading it int
 
 Returns :ref:`@GlobalScope.OK<class_@GlobalScope_constant_OK>` on success, :ref:`@GlobalScope.ERR_CANT_OPEN<class_@GlobalScope_constant_ERR_CANT_OPEN>` if the ``path`` cannot be loaded into a :ref:`PackedScene<class_PackedScene>`, or :ref:`@GlobalScope.ERR_CANT_CREATE<class_@GlobalScope_constant_ERR_CANT_CREATE>` if that scene cannot be instantiated.
 
-\ **Note:** The scene change is deferred, which means that the new scene node is added to the tree at the end of the frame. This ensures that both scenes aren't running at the same time, while still freeing the previous scene in a safe way similar to :ref:`Node.queue_free<class_Node_method_queue_free>`. As such, you won't be able to access the loaded scene immediately after the :ref:`change_scene_to_file<class_SceneTree_method_change_scene_to_file>` call.
+\ **Note:** The new scene node is added to the tree at the end of the frame. This ensures that both scenes aren't running at the same time, while still freeing the previous scene in a safe way similar to :ref:`Node.queue_free<class_Node_method_queue_free>`. As such, you won't be able to access the loaded scene immediately after the :ref:`change_scene_to_file<class_SceneTree_method_change_scene_to_file>` call.
 
 .. rst-class:: classref-item-separator
 
@@ -526,7 +526,7 @@ Changes the running scene to a new instance of the given :ref:`PackedScene<class
 
 Returns :ref:`@GlobalScope.OK<class_@GlobalScope_constant_OK>` on success, :ref:`@GlobalScope.ERR_CANT_CREATE<class_@GlobalScope_constant_ERR_CANT_CREATE>` if the scene cannot be instantiated, or :ref:`@GlobalScope.ERR_INVALID_PARAMETER<class_@GlobalScope_constant_ERR_INVALID_PARAMETER>` if the scene is invalid.
 
-\ **Note:** The scene change is deferred, which means that the new scene node is added to the tree at the end of the frame. You won't be able to access it immediately after the :ref:`change_scene_to_packed<class_SceneTree_method_change_scene_to_packed>` call.
+\ **Note:** The new scene node is added to the tree at the end of the frame. You won't be able to access it immediately after the :ref:`change_scene_to_packed<class_SceneTree_method_change_scene_to_packed>` call.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_separationrayshape3d.rst

@@ -19,7 +19,7 @@ A 3D ray shape used for physics collision that tries to separate itself from any
 Description
 -----------
 
-A 3D ray shape, intended for use in physics. Usually used to provide a shape for a :ref:`CollisionShape2D<class_CollisionShape2D>`. When a **SeparationRayShape3D** collides with an object, it tries to separate itself from it by moving its endpoint to the collision point. It can for example be used for spears falling from the sky.
+A 3D ray shape, intended for use in physics. Usually used to provide a shape for a :ref:`CollisionShape3D<class_CollisionShape3D>`. When a **SeparationRayShape3D** collides with an object, it tries to separate itself from it by moving its endpoint to the collision point. It can for example be used for spears falling from the sky.
 
 .. rst-class:: classref-reftable-group
 

+ 2 - 0
classes/class_shadermaterial.rst

@@ -21,6 +21,8 @@ Description
 
 A material that uses a custom :ref:`Shader<class_Shader>` program to render either items to screen or process particles. You can create multiple materials for the same shader but configure different values for the uniforms defined in the shader.
 
+\ **Note:** For performance reasons the :ref:`Resource.changed<class_Resource_signal_changed>` signal is only emitted when the :ref:`Resource.resource_name<class_Resource_property_resource_name>` is changed. Only in editor, is also emitted for :ref:`shader<class_ShaderMaterial_property_shader>` changes.
+
 .. rst-class:: classref-introduction-group
 
 Tutorials

+ 7 - 5
classes/class_subviewportcontainer.rst

@@ -33,11 +33,13 @@ Properties
 .. table::
    :widths: auto
 
-   +-------------------------+---------------------------------------------------------------------------+-----------+
-   | :ref:`bool<class_bool>` | :ref:`stretch<class_SubViewportContainer_property_stretch>`               | ``false`` |
-   +-------------------------+---------------------------------------------------------------------------+-----------+
-   | :ref:`int<class_int>`   | :ref:`stretch_shrink<class_SubViewportContainer_property_stretch_shrink>` | ``1``     |
-   +-------------------------+---------------------------------------------------------------------------+-----------+
+   +------------------------------------------+---------------------------------------------------------------------------+---------------------------------------------------------------------+
+   | :ref:`FocusMode<enum_Control_FocusMode>` | focus_mode                                                                | ``1`` (overrides :ref:`Control<class_Control_property_focus_mode>`) |
+   +------------------------------------------+---------------------------------------------------------------------------+---------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                  | :ref:`stretch<class_SubViewportContainer_property_stretch>`               | ``false``                                                           |
+   +------------------------------------------+---------------------------------------------------------------------------+---------------------------------------------------------------------+
+   | :ref:`int<class_int>`                    | :ref:`stretch_shrink<class_SubViewportContainer_property_stretch_shrink>` | ``1``                                                               |
+   +------------------------------------------+---------------------------------------------------------------------------+---------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 

+ 1 - 1
classes/class_texture2d.rst

@@ -12,7 +12,7 @@ Texture2D
 
 **Inherits:** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`AnimatedTexture<class_AnimatedTexture>`, :ref:`AtlasTexture<class_AtlasTexture>`, :ref:`CameraTexture<class_CameraTexture>`, :ref:`CanvasTexture<class_CanvasTexture>`, :ref:`CompressedTexture2D<class_CompressedTexture2D>`, :ref:`CurveTexture<class_CurveTexture>`, :ref:`CurveXYZTexture<class_CurveXYZTexture>`, :ref:`GradientTexture1D<class_GradientTexture1D>`, :ref:`GradientTexture2D<class_GradientTexture2D>`, :ref:`ImageTexture<class_ImageTexture>`, :ref:`MeshTexture<class_MeshTexture>`, :ref:`NoiseTexture2D<class_NoiseTexture2D>`, :ref:`PlaceholderTexture2D<class_PlaceholderTexture2D>`, :ref:`PortableCompressedTexture2D<class_PortableCompressedTexture2D>`, :ref:`ViewportTexture<class_ViewportTexture>`
+**Inherited By:** :ref:`AnimatedTexture<class_AnimatedTexture>`, :ref:`AtlasTexture<class_AtlasTexture>`, :ref:`CameraTexture<class_CameraTexture>`, :ref:`CanvasTexture<class_CanvasTexture>`, :ref:`CompressedTexture2D<class_CompressedTexture2D>`, :ref:`CurveTexture<class_CurveTexture>`, :ref:`CurveXYZTexture<class_CurveXYZTexture>`, :ref:`GradientTexture1D<class_GradientTexture1D>`, :ref:`GradientTexture2D<class_GradientTexture2D>`, :ref:`ImageTexture<class_ImageTexture>`, :ref:`MeshTexture<class_MeshTexture>`, :ref:`NoiseTexture2D<class_NoiseTexture2D>`, :ref:`PlaceholderTexture2D<class_PlaceholderTexture2D>`, :ref:`PortableCompressedTexture2D<class_PortableCompressedTexture2D>`, :ref:`Texture2DRD<class_Texture2DRD>`, :ref:`ViewportTexture<class_ViewportTexture>`
 
 Texture for 2D and 3D.
 

+ 30 - 0
classes/class_texture2darrayrd.rst

@@ -0,0 +1,30 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Texture2DArrayRD.xml.
+
+.. _class_Texture2DArrayRD:
+
+Texture2DArrayRD
+================
+
+**Inherits:** :ref:`TextureLayeredRD<class_TextureLayeredRD>` **<** :ref:`TextureLayered<class_TextureLayered>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Texture Array for 2D that is bound to a texture created on the :ref:`RenderingDevice<class_RenderingDevice>`.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This texture array class allows you to use a 2D array texture created directly on the :ref:`RenderingDevice<class_RenderingDevice>` as a texture for materials, meshes, etc.
+
+.. |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.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 66 - 0
classes/class_texture2drd.rst

@@ -0,0 +1,66 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Texture2DRD.xml.
+
+.. _class_Texture2DRD:
+
+Texture2DRD
+===========
+
+**Inherits:** :ref:`Texture2D<class_Texture2D>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Texture for 2D that is bound to a texture created on the :ref:`RenderingDevice<class_RenderingDevice>`.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This texture class allows you to use a 2D texture created directly on the :ref:`RenderingDevice<class_RenderingDevice>` as a texture for materials, meshes, etc.
+
+.. rst-class:: classref-reftable-group
+
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +-------------------------+------------------------------------------------------------------+----------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>` | resource_local_to_scene                                          | ``false`` (overrides :ref:`Resource<class_Resource_property_resource_local_to_scene>`) |
+   +-------------------------+------------------------------------------------------------------+----------------------------------------------------------------------------------------+
+   | :ref:`RID<class_RID>`   | :ref:`texture_rd_rid<class_Texture2DRD_property_texture_rd_rid>` | ``RID()``                                                                              |
+   +-------------------------+------------------------------------------------------------------+----------------------------------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Property Descriptions
+---------------------
+
+.. _class_Texture2DRD_property_texture_rd_rid:
+
+.. rst-class:: classref-property
+
+:ref:`RID<class_RID>` **texture_rd_rid** = ``RID()``
+
+.. rst-class:: classref-property-setget
+
+- void **set_texture_rd_rid** **(** :ref:`RID<class_RID>` value **)**
+- :ref:`RID<class_RID>` **get_texture_rd_rid** **(** **)**
+
+The RID of the texture object created on the :ref:`RenderingDevice<class_RenderingDevice>`.
+
+.. |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.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 1 - 1
classes/class_texture3d.rst

@@ -12,7 +12,7 @@ Texture3D
 
 **Inherits:** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`CompressedTexture3D<class_CompressedTexture3D>`, :ref:`ImageTexture3D<class_ImageTexture3D>`, :ref:`NoiseTexture3D<class_NoiseTexture3D>`, :ref:`PlaceholderTexture3D<class_PlaceholderTexture3D>`
+**Inherited By:** :ref:`CompressedTexture3D<class_CompressedTexture3D>`, :ref:`ImageTexture3D<class_ImageTexture3D>`, :ref:`NoiseTexture3D<class_NoiseTexture3D>`, :ref:`PlaceholderTexture3D<class_PlaceholderTexture3D>`, :ref:`Texture3DRD<class_Texture3DRD>`
 
 Base class for 3-dimensionnal textures.
 

+ 64 - 0
classes/class_texture3drd.rst

@@ -0,0 +1,64 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Texture3DRD.xml.
+
+.. _class_Texture3DRD:
+
+Texture3DRD
+===========
+
+**Inherits:** :ref:`Texture3D<class_Texture3D>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Texture for 3D that is bound to a texture created on the :ref:`RenderingDevice<class_RenderingDevice>`.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This texture class allows you to use a 3D texture created directly on the :ref:`RenderingDevice<class_RenderingDevice>` as a texture for materials, meshes, etc.
+
+.. rst-class:: classref-reftable-group
+
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +-----------------------+------------------------------------------------------------------+-----------+
+   | :ref:`RID<class_RID>` | :ref:`texture_rd_rid<class_Texture3DRD_property_texture_rd_rid>` | ``RID()`` |
+   +-----------------------+------------------------------------------------------------------+-----------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Property Descriptions
+---------------------
+
+.. _class_Texture3DRD_property_texture_rd_rid:
+
+.. rst-class:: classref-property
+
+:ref:`RID<class_RID>` **texture_rd_rid** = ``RID()``
+
+.. rst-class:: classref-property-setget
+
+- void **set_texture_rd_rid** **(** :ref:`RID<class_RID>` value **)**
+- :ref:`RID<class_RID>` **get_texture_rd_rid** **(** **)**
+
+The RID of the texture object created on the :ref:`RenderingDevice<class_RenderingDevice>`.
+
+.. |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.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 30 - 0
classes/class_texturecubemaparrayrd.rst

@@ -0,0 +1,30 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/TextureCubemapArrayRD.xml.
+
+.. _class_TextureCubemapArrayRD:
+
+TextureCubemapArrayRD
+=====================
+
+**Inherits:** :ref:`TextureLayeredRD<class_TextureLayeredRD>` **<** :ref:`TextureLayered<class_TextureLayered>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Texture Array for Cubemaps that is bound to a texture created on the :ref:`RenderingDevice<class_RenderingDevice>`.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This texture class allows you to use a cubemap array texture created directly on the :ref:`RenderingDevice<class_RenderingDevice>` as a texture for materials, meshes, etc.
+
+.. |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.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 30 - 0
classes/class_texturecubemaprd.rst

@@ -0,0 +1,30 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/TextureCubemapRD.xml.
+
+.. _class_TextureCubemapRD:
+
+TextureCubemapRD
+================
+
+**Inherits:** :ref:`TextureLayeredRD<class_TextureLayeredRD>` **<** :ref:`TextureLayered<class_TextureLayered>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Texture for Cubemap that is bound to a texture created on the :ref:`RenderingDevice<class_RenderingDevice>`.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+This texture class allows you to use a cubemap texture created directly on the :ref:`RenderingDevice<class_RenderingDevice>` as a texture for materials, meshes, etc.
+
+.. |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.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 1 - 1
classes/class_texturelayered.rst

@@ -12,7 +12,7 @@ TextureLayered
 
 **Inherits:** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`CompressedTextureLayered<class_CompressedTextureLayered>`, :ref:`ImageTextureLayered<class_ImageTextureLayered>`, :ref:`PlaceholderTextureLayered<class_PlaceholderTextureLayered>`
+**Inherited By:** :ref:`CompressedTextureLayered<class_CompressedTextureLayered>`, :ref:`ImageTextureLayered<class_ImageTextureLayered>`, :ref:`PlaceholderTextureLayered<class_PlaceholderTextureLayered>`, :ref:`TextureLayeredRD<class_TextureLayeredRD>`
 
 Base class for texture types which contain the data of multiple :ref:`Image<class_Image>`\ s. Each image is of the same size and format.
 

+ 66 - 0
classes/class_texturelayeredrd.rst

@@ -0,0 +1,66 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/TextureLayeredRD.xml.
+
+.. _class_TextureLayeredRD:
+
+TextureLayeredRD
+================
+
+**Inherits:** :ref:`TextureLayered<class_TextureLayered>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+**Inherited By:** :ref:`Texture2DArrayRD<class_Texture2DArrayRD>`, :ref:`TextureCubemapArrayRD<class_TextureCubemapArrayRD>`, :ref:`TextureCubemapRD<class_TextureCubemapRD>`
+
+Abstract base class for layered texture RD types.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+Base class for :ref:`Texture2DArrayRD<class_Texture2DArrayRD>`, :ref:`TextureCubemapRD<class_TextureCubemapRD>` and :ref:`TextureCubemapArrayRD<class_TextureCubemapArrayRD>`. Cannot be used directly, but contains all the functions necessary for accessing the derived resource types.
+
+.. rst-class:: classref-reftable-group
+
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +-----------------------+-----------------------------------------------------------------------+-----------+
+   | :ref:`RID<class_RID>` | :ref:`texture_rd_rid<class_TextureLayeredRD_property_texture_rd_rid>` | ``RID()`` |
+   +-----------------------+-----------------------------------------------------------------------+-----------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Property Descriptions
+---------------------
+
+.. _class_TextureLayeredRD_property_texture_rd_rid:
+
+.. rst-class:: classref-property
+
+:ref:`RID<class_RID>` **texture_rd_rid** = ``RID()``
+
+.. rst-class:: classref-property-setget
+
+- void **set_texture_rd_rid** **(** :ref:`RID<class_RID>` value **)**
+- :ref:`RID<class_RID>` **get_texture_rd_rid** **(** **)**
+
+The RID of the texture object created on the :ref:`RenderingDevice<class_RenderingDevice>`.
+
+.. |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.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 0 - 2
classes/class_thread.rst

@@ -21,8 +21,6 @@ Description
 
 A unit of execution in a process. Can run methods on :ref:`Object<class_Object>`\ s simultaneously. The use of synchronization via :ref:`Mutex<class_Mutex>` or :ref:`Semaphore<class_Semaphore>` is advised if working with shared objects.
 
-\ **Note:** Breakpoints won't break on code if it's running in a thread. This is a current limitation of the GDScript debugger.
-
 \ **Warning:**\ 
 
 To ensure proper cleanup without crashes or deadlocks, when a **Thread**'s reference count reaches zero and it is therefore destroyed, the following conditions must be met:

+ 4 - 0
classes/class_tween.rst

@@ -654,6 +654,8 @@ void **pause** **(** **)**
 
 Pauses the tweening. The animation can be resumed by using :ref:`play<class_Tween_method_play>`.
 
+\ **Note:** If a Tween is paused and not bound to any node, it will exist indefinitely until manually started or invalidated. If you lose a reference to such Tween, you can retrieve it using :ref:`SceneTree.get_processed_tweens<class_SceneTree_method_get_processed_tweens>`.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -774,6 +776,8 @@ void **stop** **(** **)**
 
 Stops the tweening and resets the **Tween** to its initial state. This will not remove any appended :ref:`Tweener<class_Tweener>`\ s.
 
+\ **Note:** If a Tween is stopped and not bound to any node, it will exist indefinitely until manually started or invalidated. If you lose a reference to such Tween, you can retrieve it using :ref:`SceneTree.get_processed_tweens<class_SceneTree_method_get_processed_tweens>`.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 4 - 4
classes/class_viewport.rst

@@ -2020,10 +2020,10 @@ Calling this method will propagate calls to child nodes for following methods in
 
 - :ref:`Node._shortcut_input<class_Node_method__shortcut_input>`\ 
 
-- :ref:`Node._unhandled_input<class_Node_method__unhandled_input>`\ 
-
 - :ref:`Node._unhandled_key_input<class_Node_method__unhandled_key_input>`\ 
 
+- :ref:`Node._unhandled_input<class_Node_method__unhandled_input>`\ 
+
 If an earlier method marks the input as handled via :ref:`set_input_as_handled<class_Viewport_method_set_input_as_handled>`, any later method in this list will not be called.
 
 If none of the methods handle the event and :ref:`physics_object_picking<class_Viewport_property_physics_object_picking>` is ``true``, the event is used for physics object picking.
@@ -2060,10 +2060,10 @@ Calling this method will propagate calls to child nodes for following methods in
 
 - :ref:`Node._shortcut_input<class_Node_method__shortcut_input>`\ 
 
-- :ref:`Node._unhandled_input<class_Node_method__unhandled_input>`\ 
-
 - :ref:`Node._unhandled_key_input<class_Node_method__unhandled_key_input>`\ 
 
+- :ref:`Node._unhandled_input<class_Node_method__unhandled_input>`\ 
+
 If an earlier method marks the input as handled via :ref:`set_input_as_handled<class_Viewport_method_set_input_as_handled>`, any later method in this list will not be called.
 
 If none of the methods handle the event and :ref:`physics_object_picking<class_Viewport_property_physics_object_picking>` is ``true``, the event is used for physics object picking.

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
classes/class_visualshadernode.rst


+ 30 - 0
classes/class_visualshadernoderotationbyaxis.rst

@@ -0,0 +1,30 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/VisualShaderNodeRotationByAxis.xml.
+
+.. _class_VisualShaderNodeRotationByAxis:
+
+VisualShaderNodeRotationByAxis
+==============================
+
+**Inherits:** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+A visual shader node that modifies the rotation of the object using a rotation matrix.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+RotationByAxis node will transform the vertices of a mesh with specified axis and angle in radians. It can be used to rotate an object in an arbitrary axis.
+
+.. |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.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 30 - 0
classes/class_visualshadernodescreennormalworldspace.rst

@@ -0,0 +1,30 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/VisualShaderNodeScreenNormalWorldSpace.xml.
+
+.. _class_VisualShaderNodeScreenNormalWorldSpace:
+
+VisualShaderNodeScreenNormalWorldSpace
+======================================
+
+**Inherits:** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+A visual shader node that unpacks the screen normal texture in World Space.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+The ScreenNormalWorldSpace node allows to create outline effects.
+
+.. |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.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 30 - 0
classes/class_visualshadernodeworldpositionfromdepth.rst

@@ -0,0 +1,30 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/VisualShaderNodeWorldPositionFromDepth.xml.
+
+.. _class_VisualShaderNodeWorldPositionFromDepth:
+
+VisualShaderNodeWorldPositionFromDepth
+======================================
+
+**Inherits:** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+A visual shader node that calculates the position of the pixel in world space using the depth texture.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+The WorldPositionFromDepth node reconstructs the depth position of the pixel in world space. This can be used to obtain world space UVs for projection mapping like Caustics.
+
+.. |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.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 15 - 0
classes/index.rst

@@ -522,8 +522,14 @@ Resources
     class_texture
     class_texture2d
     class_texture2darray
+    class_texture2darrayrd
+    class_texture2drd
     class_texture3d
+    class_texture3drd
+    class_texturecubemaparrayrd
+    class_texturecubemaprd
     class_texturelayered
+    class_texturelayeredrd
     class_theme
     class_tilemappattern
     class_tileset
@@ -597,7 +603,9 @@ Resources
     class_visualshadernoderandomrange
     class_visualshadernoderemap
     class_visualshadernoderesizablebase
+    class_visualshadernoderotationbyaxis
     class_visualshadernodesample3d
+    class_visualshadernodescreennormalworldspace
     class_visualshadernodescreenuvtosdf
     class_visualshadernodesdfraymarch
     class_visualshadernodesdftoscreenuv
@@ -644,6 +652,7 @@ Resources
     class_visualshadernodevectorlen
     class_visualshadernodevectorop
     class_visualshadernodevectorrefract
+    class_visualshadernodeworldpositionfromdepth
     class_voxelgidata
     class_world2d
     class_world3d
@@ -769,6 +778,8 @@ Other objects
     class_node3dgizmo
     class_offlinemultiplayerpeer
     class_oggpacketsequenceplayback
+    class_openxrapiextension
+    class_openxrextensionwrapperextension
     class_openxrinterface
     class_os
     class_packeddatacontainerref
@@ -826,6 +837,10 @@ Other objects
     class_regexmatch
     class_renderingdevice
     class_renderingserver
+    class_renderscenebuffers
+    class_renderscenebuffersconfiguration
+    class_renderscenebuffersextension
+    class_renderscenebuffersrd
     class_resource
     class_resourceformatloader
     class_resourceformatsaver

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно