浏览代码

Reorder the scene tree and TOC to be so much more cooler

Rémi Verschelde 9 年之前
父节点
当前提交
dbc64c13cc
共有 92 个文件被更改,包括 327 次插入272 次删除
  1. 2 3
      advanced/_compiling.rst
  2. 3 3
      advanced/_developing.rst
  3. 2 2
      advanced/_formats.rst
  4. 2 3
      advanced/_misc.rst
  5. 8 8
      advanced/index.rst
  6. 1 1
      asset_pipeline/_export.rst
  7. 1 1
      asset_pipeline/_general.rst
  8. 1 3
      asset_pipeline/_import.rst
  9. 4 5
      asset_pipeline/index.rst
  10. 1 1
      classes/index.rst
  11. 1 1
      contributing/index.rst
  12. 27 15
      index.rst
  13. 1 1
      reference/_cheat_sheets.rst
  14. 2 2
      reference/_languages.rst
  15. 74 71
      reference/gdscript.rst
  16. 3 3
      reference/index.rst
  17. 0 0
      reference/shading_language.rst
  18. 14 0
      tutorials/2d/_graphics.rst
  19. 10 0
      tutorials/2d/_gui.rst
  20. 10 0
      tutorials/2d/_physics.rst
  21. 0 0
      tutorials/2d/canvas_layers.rst
  22. 0 0
      tutorials/2d/custom_drawing_in_2d.rst
  23. 0 0
      tutorials/2d/custom_gui_controls.rst
  24. 0 0
      tutorials/2d/cutout_animation.rst
  25. 0 0
      tutorials/2d/gui_skinning.rst
  26. 10 0
      tutorials/2d/index.rst
  27. 0 0
      tutorials/2d/kinematic_character_2d.rst
  28. 0 0
      tutorials/2d/particle_systems_2d.rst
  29. 2 5
      tutorials/2d/physics_introduction.rst
  30. 1 1
      tutorials/2d/screen-reading_shaders.rst
  31. 0 16
      tutorials/2d/size_and_anchors.rst
  32. 0 0
      tutorials/2d/tilemap.rst
  33. 0 0
      tutorials/2d/viewport_and_canvas_transforms.rst
  34. 0 21
      tutorials/2d_tutorials.rst
  35. 0 0
      tutorials/3d/3d_performance_and_limitations.rst
  36. 17 0
      tutorials/3d/_graphics.rst
  37. 9 0
      tutorials/3d/_import.rst
  38. 8 0
      tutorials/3d/_physics.rst
  39. 0 0
      tutorials/3d/fixed_materials.rst
  40. 0 0
      tutorials/3d/high_dynamic_range.rst
  41. 0 0
      tutorials/3d/importing_3d_meshes.rst
  42. 0 0
      tutorials/3d/importing_3d_scenes.rst
  43. 10 0
      tutorials/3d/index.rst
  44. 1 4
      tutorials/3d/introduction.rst
  45. 0 0
      tutorials/3d/inverse_kinematics.rst
  46. 0 0
      tutorials/3d/lighting.rst
  47. 0 0
      tutorials/3d/materials.rst
  48. 0 0
      tutorials/3d/shader_materials.rst
  49. 0 0
      tutorials/3d/shadow_mapping.rst
  50. 0 0
      tutorials/3d/working_with_3d_skeletons.rst
  51. 0 27
      tutorials/3d_tutorials.rst
  52. 1 1
      tutorials/_math.rst
  53. 9 0
      tutorials/_misc.rst
  54. 9 0
      tutorials/_networking.rst
  55. 5 3
      tutorials/_plugins.rst
  56. 1 1
      tutorials/_shaders.rst
  57. 0 10
      tutorials/advanced.rst
  58. 0 23
      tutorials/engine.rst
  59. 11 0
      tutorials/engine/_filesystem.rst
  60. 11 0
      tutorials/engine/_game_flow.rst
  61. 8 0
      tutorials/engine/_i18n.rst
  62. 11 0
      tutorials/engine/_scene_input_viewports.rst
  63. 1 1
      tutorials/engine/background_loading.rst
  64. 0 0
      tutorials/engine/encrypting_save_games.rst
  65. 0 0
      tutorials/engine/handling_quit_request.rst
  66. 11 0
      tutorials/engine/index.rst
  67. 0 0
      tutorials/engine/inputevent.rst
  68. 0 0
      tutorials/engine/internationalizing_a_game.rst
  69. 0 0
      tutorials/engine/mouse_and_input_coordinates.rst
  70. 4 1
      tutorials/engine/paths.rst
  71. 0 0
      tutorials/engine/pausing_the_game.rst
  72. 0 0
      tutorials/engine/saving_your_game.rst
  73. 0 0
      tutorials/engine/screen_scaling_and_multiple_resolutions.rst
  74. 0 0
      tutorials/engine/version_control.rst
  75. 0 0
      tutorials/engine/viewports.rst
  76. 2 2
      tutorials/http_client_class.rst
  77. 0 15
      tutorials/index.rst
  78. 2 2
      tutorials/mesh_generation_with_heightmap_and_shaders.rst
  79. 2 2
      tutorials/step_by_step/animations.rst
  80. 2 2
      tutorials/step_by_step/file_system.rst
  81. 1 1
      tutorials/step_by_step/gui_tutorial.rst
  82. 6 6
      tutorials/step_by_step/index.rst
  83. 0 0
      tutorials/step_by_step/instancing.rst
  84. 0 0
      tutorials/step_by_step/instancing_continued.rst
  85. 1 1
      tutorials/step_by_step/resources.rst
  86. 0 0
      tutorials/step_by_step/scene_tree.rst
  87. 1 1
      tutorials/step_by_step/scenes_and_nodes.rst
  88. 0 0
      tutorials/step_by_step/scripting.rst
  89. 1 1
      tutorials/step_by_step/scripting_continued.rst
  90. 1 1
      tutorials/step_by_step/simple_2d_game.rst
  91. 0 0
      tutorials/step_by_step/singletons_autoload.rst
  92. 1 1
      tutorials/step_by_step/splash_screen.rst

+ 2 - 3
advanced/compiling.rst → advanced/_compiling.rst

@@ -3,8 +3,8 @@ Compiling
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :name: compiling
-   
+   :name: toc-compiling
+
    introduction_to_the_buildsystem
    introduction_to_the_buildsystem
    compiling_for_windows
    compiling_for_windows
    compiling_for_linux
    compiling_for_linux
@@ -15,7 +15,6 @@ Compiling
    compiling_for_universal_windows_apps
    compiling_for_universal_windows_apps
    batch_building_templates
    batch_building_templates
    configure_your_ide
    configure_your_ide
-   introduction_to_godot_development
 
 
 .. compiling_for_blackberry_qnx
 .. compiling_for_blackberry_qnx
 .. compiling_for_google_native_client
 .. compiling_for_google_native_client

+ 3 - 3
advanced/developing.rst → advanced/_developing.rst

@@ -3,11 +3,11 @@ Developing in C++
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :name: developing-in-c++
-   
+   :name: toc-developing
+
+   introduction_to_godot_development
    core_types
    core_types
    variant_class
    variant_class
    object_class
    object_class
-   
    custom_modules_in_c++
    custom_modules_in_c++
    creating_android_modules
    creating_android_modules

+ 2 - 2
advanced/formats.rst → advanced/_formats.rst

@@ -3,6 +3,6 @@ Data and file formats
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :name: data-and-file-formats
-   
+   :name: toc-formats
+
    binary_serialization_api
    binary_serialization_api

+ 2 - 3
advanced/misc.rst → advanced/_misc.rst

@@ -3,9 +3,8 @@ Misc
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :name: misc
-   
+   :name: toc-advanced-misc
+
    command_line_tutorial
    command_line_tutorial
    changing_editor_fonts
    changing_editor_fonts
    services_for_ios
    services_for_ios
-

+ 8 - 8
advanced/index.rst

@@ -1,11 +1,11 @@
-Advanced topics
-===============
+Advanced
+========
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 2
    :maxdepth: 2
-   :name: advanced-topics
-   
-   compiling
-   developing
-   formats
-   misc
+   :name: toc-advanced
+
+   _compiling
+   _developing
+   _formats
+   _misc

+ 1 - 1
asset_pipeline/export.rst → asset_pipeline/_export.rst

@@ -3,7 +3,7 @@ Export
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :name: export
+   :name: toc-export
 
 
    exporting_projects
    exporting_projects
    one-click_deploy
    one-click_deploy

+ 1 - 1
asset_pipeline/general.rst → asset_pipeline/_general.rst

@@ -3,6 +3,6 @@ General
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :name: general
+   :name: toc-general
 
 
    managing_image_files
    managing_image_files

+ 1 - 3
asset_pipeline/import.rst → asset_pipeline/_import.rst

@@ -3,12 +3,10 @@ Import
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :name: import
+   :name: toc-import
 
 
    import_process
    import_process
    importing_textures
    importing_textures
-   importing_3d_meshes
-   importing_3d_scenes
    importing_fonts
    importing_fonts
    importing_audio_samples
    importing_audio_samples
    importing_translations
    importing_translations

+ 4 - 5
asset_pipeline/index.rst

@@ -3,9 +3,8 @@ Asset pipeline
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 2
    :maxdepth: 2
-   :name: asset-pipeline
-
-   general
-   import
-   export
+   :name: toc-asset-pipeline
 
 
+   _general
+   _import
+   _export

+ 1 - 1
classes/index.rst

@@ -3,7 +3,7 @@ Classes reference
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :name: class-ref
+   :name: toc-class-ref
    :glob:
    :glob:
 
 
    class_*
    class_*

+ 1 - 1
contributing/index.rst

@@ -3,7 +3,7 @@ Contributing
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :name: contributing
+   :name: toc-contributing
 
 
    bug_triage_guidelines
    bug_triage_guidelines
    documentation_guidelines
    documentation_guidelines

+ 27 - 15
index.rst

@@ -8,28 +8,40 @@ Welcome to Godot Engine's documentation!
 
 
 The main documentation for the site is organized into a couple sections:
 The main documentation for the site is organized into a couple sections:
 
 
-* :ref:`user-doc`
+* :ref:`sec-tutorials`
+* :ref:`sec-further`
+* :ref:`sec-api-doc`
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :caption: User documentation
-   :name: user-doc
-   :hidden:
-
-   tutorials/basic
-   tutorials/engine
-   tutorials/2d_tutorials
-   tutorials/3d_tutorials
-   tutorials/shaders
-   tutorials/math
-   tutorials/advanced
-   tutorials/editor_plugins
-   reference/index
-   classes/index
+   :caption: Tutorials
+   :name: sec-tutorials
+
+   tutorials/step_by_step/index
+   tutorials/engine/index
+   tutorials/2d/index
+   tutorials/3d/index
+   tutorials/_networking
+   tutorials/_plugins
+   tutorials/_misc
+
+.. toctree::
+   :maxdepth: 1
+   :caption: Getting further
+   :name: sec-further
+
    asset_pipeline/index
    asset_pipeline/index
+   reference/index
    advanced/index
    advanced/index
    contributing/index
    contributing/index
 
 
+.. toctree::
+   :maxdepth: 1
+   :caption: API documentation
+   :name: sec-api-doc
+
+   classes/index
+
 .. Indices and tables
 .. Indices and tables
 .. ------------------
 .. ------------------
 .. 
 .. 

+ 1 - 1
reference/cheat_sheets.rst → reference/_cheat_sheets.rst

@@ -3,7 +3,7 @@ Cheat sheets
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :name: cheat-sheets
+   :name: toc-cheat-sheets
 
 
    2d_and_3d_keybindings
    2d_and_3d_keybindings
    inheritance_class_tree
    inheritance_class_tree

+ 2 - 2
reference/languages.rst → reference/_languages.rst

@@ -3,10 +3,10 @@ Languages
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :name: languages
+   :name: toc-languages
 
 
    gdscript
    gdscript
    gdscript_more_efficiently
    gdscript_more_efficiently
-   shader
+   shading_language
    locales
    locales
    richtextlabel_bbcode
    richtextlabel_bbcode

+ 74 - 71
reference/gdscript.rst

@@ -1,5 +1,8 @@
+GDScript
+========
+
 Introduction
 Introduction
-============
+------------
 
 
 GDScript is a high level, dynamically typed programming language used to
 GDScript is a high level, dynamically typed programming language used to
 create content. It uses a syntax that is very similar to the Python
 create content. It uses a syntax that is very similar to the Python
@@ -8,7 +11,7 @@ and tightly integrated with the engine, allowing great flexibility for
 content creation and integration.
 content creation and integration.
 
 
 History
 History
-=======
+-------
 
 
 Initially, Godot was designed to support multiple scripting languages
 Initially, Godot was designed to support multiple scripting languages
 (this ability still exists today). However, only GDScript is in use
 (this ability still exists today). However, only GDScript is in use
@@ -44,7 +47,7 @@ for Lua and Squirrel, and equally as functional. With time, having a
 built-in language has proven to be a huge advantage.
 built-in language has proven to be a huge advantage.
 
 
 Example
 Example
-=======
+-------
 
 
 Some people can learn better by just taking a look at the syntax, so
 Some people can learn better by just taking a look at the syntax, so
 here's a simple example of how it looks.
 here's a simple example of how it looks.
@@ -113,10 +116,10 @@ C, C++, or C# but never used a dynamically typed one, it is advised you
 read this tutorial: [[GDScript (More Efficiently)]].
 read this tutorial: [[GDScript (More Efficiently)]].
 
 
 Language
 Language
-========
+--------
 
 
 Identifiers
 Identifiers
------------
+~~~~~~~~~~~
 
 
 Any string that restricts itself to alphabetic characters (``a`` to
 Any string that restricts itself to alphabetic characters (``a`` to
 ``z`` and ``A`` to ``Z``), digits (``0`` to ``9``) and ``_`` qualifies
 ``z`` and ``A`` to ``Z``), digits (``0`` to ``9``) and ``_`` qualifies
@@ -124,13 +127,13 @@ as an identifier. Additionally, identifiers must not begin with a digit.
 Identifiers are case-sensitive (``foo`` is different from ``FOO``).
 Identifiers are case-sensitive (``foo`` is different from ``FOO``).
 
 
 Keywords
 Keywords
---------
+~~~~~~~~
 
 
 The following is the list of keywords supported by the language. Since
 The following is the list of keywords supported by the language. Since
 keywords are reserved words (tokens), they can't be used as identifiers.
 keywords are reserved words (tokens), they can't be used as identifiers.
 
 
 Operators
 Operators
----------
+~~~~~~~~~
 
 
 The following is the list of supported operators and their precedence
 The following is the list of supported operators and their precedence
 (TODO, change since this was made to reflect python operators)
 (TODO, change since this was made to reflect python operators)
@@ -174,7 +177,7 @@ The following is the list of supported operators and their precedence
 +---------------------------------------------------------------+-----------------------------------------+
 +---------------------------------------------------------------+-----------------------------------------+
 
 
 Literals
 Literals
---------
+~~~~~~~~
 
 
 +--------------------------+--------------------------------+
 +--------------------------+--------------------------------+
 | **Literal**              | **Type**                       |
 | **Literal**              | **Type**                       |
@@ -193,7 +196,7 @@ Literals
 +--------------------------+--------------------------------+
 +--------------------------+--------------------------------+
 
 
 Comments
 Comments
---------
+~~~~~~~~
 
 
 Anything from a ``#`` to the end of the line is ignored and is
 Anything from a ``#`` to the end of the line is ignored and is
 considered a comment.
 considered a comment.
@@ -212,82 +215,82 @@ the beginning and end of a block of text.
     a comment """
     a comment """
 
 
 Built-In Types
 Built-In Types
-==============
+--------------
 
 
 Basic Built-In Types
 Basic Built-In Types
---------------------
+~~~~~~~~~~~~~~~~~~~~
 
 
 A variable in GDScript can be assigned to several built-in types.
 A variable in GDScript can be assigned to several built-in types.
 
 
 null
 null
-~~~~
+^^^^
 
 
 null is a data type that contains no information, nothing assigned, and
 null is a data type that contains no information, nothing assigned, and
 it's just empty. It can only be set to one value: ``null``.
 it's just empty. It can only be set to one value: ``null``.
 
 
 bool
 bool
-~~~~
+^^^^
 
 
 The Boolean data type can only contain ``true`` or ``false``.
 The Boolean data type can only contain ``true`` or ``false``.
 
 
 int
 int
-~~~
+^^^
 
 
 The integer data type can only contain integer numbers, (both negative
 The integer data type can only contain integer numbers, (both negative
 and positive).
 and positive).
 
 
 float
 float
-~~~~~
+^^^^^
 
 
 Used to contain a floating point value (real numbers).
 Used to contain a floating point value (real numbers).
 
 
 `String <https://github.com/okamstudio/godot/wiki/class_string>`__
 `String <https://github.com/okamstudio/godot/wiki/class_string>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 A sequence of characters in Unicode format. Strings can contain the
 A sequence of characters in Unicode format. Strings can contain the
 standard C escape sequences.
 standard C escape sequences.
 
 
 Vector Built-In Types
 Vector Built-In Types
----------------------
+~~~~~~~~~~~~~~~~~~~~~
 
 
 `Vector2 <https://github.com/okamstudio/godot/wiki/class_vector2>`__
 `Vector2 <https://github.com/okamstudio/godot/wiki/class_vector2>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 2D vector type containing ``x`` and ``y`` fields. Can alternatively
 2D vector type containing ``x`` and ``y`` fields. Can alternatively
 access fields as ``width`` and ``height`` for readability. Can also be
 access fields as ``width`` and ``height`` for readability. Can also be
 accessed as array.
 accessed as array.
 
 
 `Rect2 <https://github.com/okamstudio/godot/wiki/class_rect2>`__
 `Rect2 <https://github.com/okamstudio/godot/wiki/class_rect2>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 2D Rectangle type containing two vectors fields: ``pos`` and ``size``.
 2D Rectangle type containing two vectors fields: ``pos`` and ``size``.
 Alternatively contains an ``end`` field which is ``pos+size``.
 Alternatively contains an ``end`` field which is ``pos+size``.
 
 
 `Vector3 <https://github.com/okamstudio/godot/wiki/class_vector3>`__
 `Vector3 <https://github.com/okamstudio/godot/wiki/class_vector3>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 3D vector type containing ``x``, ``y`` and ``z`` fields. This can also
 3D vector type containing ``x``, ``y`` and ``z`` fields. This can also
 be accessed as an array.
 be accessed as an array.
 
 
 `Matrix32 <https://github.com/okamstudio/godot/wiki/class_matrix32>`__
 `Matrix32 <https://github.com/okamstudio/godot/wiki/class_matrix32>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 3x2 matrix used for 2D transforms.
 3x2 matrix used for 2D transforms.
 
 
 `Plane <https://github.com/okamstudio/godot/wiki/class_plane>`__
 `Plane <https://github.com/okamstudio/godot/wiki/class_plane>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 3D Plane type in normalized form that contains a ``normal`` vector field
 3D Plane type in normalized form that contains a ``normal`` vector field
 and a ``d`` scalar distance.
 and a ``d`` scalar distance.
 
 
 `Quat <https://github.com/okamstudio/godot/wiki/class_quat>`__
 `Quat <https://github.com/okamstudio/godot/wiki/class_quat>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Quaternion is a datatype used for representing a 3D rotation. It's
 Quaternion is a datatype used for representing a 3D rotation. It's
 useful for interpolating rotations.
 useful for interpolating rotations.
 
 
 `AABB <https://github.com/okamstudio/godot/wiki/class_aabb>`__
 `AABB <https://github.com/okamstudio/godot/wiki/class_aabb>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Axis Aligned bounding box (or 3D box) contains 2 vectors fields: ``pos``
 Axis Aligned bounding box (or 3D box) contains 2 vectors fields: ``pos``
 and ``size``. Alternatively contains an ``end`` field which is
 and ``size``. Alternatively contains an ``end`` field which is
@@ -295,61 +298,61 @@ and ``size``. Alternatively contains an ``end`` field which is
 interchangeably.
 interchangeably.
 
 
 `Matrix3 <https://github.com/okamstudio/godot/wiki/class_matrix3>`__
 `Matrix3 <https://github.com/okamstudio/godot/wiki/class_matrix3>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 3x3 matrix used for 3D rotation and scale. It contains 3 vector fields
 3x3 matrix used for 3D rotation and scale. It contains 3 vector fields
 (``x``, ``y`` and ``z``) and can also be accessed as an array of 3D
 (``x``, ``y`` and ``z``) and can also be accessed as an array of 3D
 vectors.
 vectors.
 
 
 `Transform <https://github.com/okamstudio/godot/wiki/class_transform>`__
 `Transform <https://github.com/okamstudio/godot/wiki/class_transform>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 3D Transform contains a Matrix3 field ``basis`` and a Vector3 field
 3D Transform contains a Matrix3 field ``basis`` and a Vector3 field
 ``origin``.
 ``origin``.
 
 
 Engine Built-In Types
 Engine Built-In Types
----------------------
+~~~~~~~~~~~~~~~~~~~~~
 
 
 `Color <https://github.com/okamstudio/godot/wiki/class_color>`__
 `Color <https://github.com/okamstudio/godot/wiki/class_color>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Color data type contains ``r``, ``g``, ``b``, and ``a`` fields. It can
 Color data type contains ``r``, ``g``, ``b``, and ``a`` fields. It can
 also be accessed as ``h``, ``s``, and ``v`` for hue/saturation/value.
 also be accessed as ``h``, ``s``, and ``v`` for hue/saturation/value.
 
 
 `Image <https://github.com/okamstudio/godot/wiki/class_image>`__
 `Image <https://github.com/okamstudio/godot/wiki/class_image>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Contains a custom format 2D image and allows direct access to the
 Contains a custom format 2D image and allows direct access to the
 pixels.
 pixels.
 
 
 `NodePath <https://github.com/okamstudio/godot/wiki/class_nodepath>`__
 `NodePath <https://github.com/okamstudio/godot/wiki/class_nodepath>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Compiled path to a node used mainly in the scene system. It can be
 Compiled path to a node used mainly in the scene system. It can be
 easily assigned to, and from, a String.
 easily assigned to, and from, a String.
 
 
 `RID <https://github.com/okamstudio/godot/wiki/class_rid>`__
 `RID <https://github.com/okamstudio/godot/wiki/class_rid>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Resource ID (RID). Servers use generic RIDs to reference opaque data.
 Resource ID (RID). Servers use generic RIDs to reference opaque data.
 
 
 `Object <https://github.com/okamstudio/godot/wiki/class_object>`__
 `Object <https://github.com/okamstudio/godot/wiki/class_object>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Base class for anything that is not a built-in type.
 Base class for anything that is not a built-in type.
 
 
 `InputEvent <https://github.com/okamstudio/godot/wiki/class_inputevent>`__
 `InputEvent <https://github.com/okamstudio/godot/wiki/class_inputevent>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Events from input devices are contained in very compact form in
 Events from input devices are contained in very compact form in
 InputEvent objects. Due to the fact that they can be received in high
 InputEvent objects. Due to the fact that they can be received in high
 amounts from frame to frame they are optimized as their own data type.
 amounts from frame to frame they are optimized as their own data type.
 
 
 Container Built-In Types
 Container Built-In Types
-------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 `Array <https://github.com/okamstudio/godot/wiki/class_array>`__
 `Array <https://github.com/okamstudio/godot/wiki/class_array>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Generic sequence of objects. Its size can be changed to anything and
 Generic sequence of objects. Its size can be changed to anything and
 starts from index 0.
 starts from index 0.
@@ -370,7 +373,7 @@ and generally run a little slower, so they are only justified for very
 large amount of data.
 large amount of data.
 
 
 `Dictionary <https://github.com/okamstudio/godot/wiki/class_dictionary>`__
 `Dictionary <https://github.com/okamstudio/godot/wiki/class_dictionary>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Associative container which contains values referenced by unique keys.
 Associative container which contains values referenced by unique keys.
 
 
@@ -392,7 +395,7 @@ write and read:
     }
     }
 
 
 `ByteArray <https://github.com/okamstudio/godot/wiki/class_bytearray>`__
 `ByteArray <https://github.com/okamstudio/godot/wiki/class_bytearray>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 An array of bytes can only contain bytes (integers from 0 to 255).
 An array of bytes can only contain bytes (integers from 0 to 255).
 
 
@@ -400,40 +403,40 @@ This, and all of the following specialized array types, are optimized
 for memory usage and can't fragment the memory.
 for memory usage and can't fragment the memory.
 
 
 `IntArray <https://github.com/okamstudio/godot/wiki/class_intarray>`__
 `IntArray <https://github.com/okamstudio/godot/wiki/class_intarray>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Array of integers can only contain integers.
 Array of integers can only contain integers.
 
 
 `FloatArray <https://github.com/okamstudio/godot/wiki/class_floatarray>`__
 `FloatArray <https://github.com/okamstudio/godot/wiki/class_floatarray>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Array of floats can only contain floats.
 Array of floats can only contain floats.
 
 
 `StringArray <https://github.com/okamstudio/godot/wiki/class_stringarray>`__
 `StringArray <https://github.com/okamstudio/godot/wiki/class_stringarray>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Array of strings can only contain strings.
 Array of strings can only contain strings.
 
 
 `Vector2Array <https://github.com/okamstudio/godot/wiki/class_vector2array>`__
 `Vector2Array <https://github.com/okamstudio/godot/wiki/class_vector2array>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Array of Vector2 can only contain 2D Vectors.
 Array of Vector2 can only contain 2D Vectors.
 
 
 `Vector3Array <https://github.com/okamstudio/godot/wiki/class_vector3array>`__
 `Vector3Array <https://github.com/okamstudio/godot/wiki/class_vector3array>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Array of Vector3 can only contain 3D Vectors.
 Array of Vector3 can only contain 3D Vectors.
 
 
 `ColorArray <https://github.com/okamstudio/godot/wiki/class_colorarray>`__
 `ColorArray <https://github.com/okamstudio/godot/wiki/class_colorarray>`__
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Array of Color can only contains colors.
 Array of Color can only contains colors.
 
 
 Data
 Data
-====
+----
 
 
 Variables
 Variables
----------
+~~~~~~~~~
 
 
 Variables can exist as class members or local to functions. They are
 Variables can exist as class members or local to functions. They are
 created with the ``var`` keyword and may, optionally, be assigned a
 created with the ``var`` keyword and may, optionally, be assigned a
@@ -447,7 +450,7 @@ value upon initialization.
     var d = b + c  # variables are always initialized in order
     var d = b + c  # variables are always initialized in order
 
 
 Constants
 Constants
----------
+~~~~~~~~~
 
 
 Constants are similar to variables, but must be constants or constant
 Constants are similar to variables, but must be constants or constant
 expressions and must be assigned on initialization.
 expressions and must be assigned on initialization.
@@ -463,7 +466,7 @@ expressions and must be assigned on initialization.
     const g = x + 20  # invalid; this is not a constant expression!
     const g = x + 20  # invalid; this is not a constant expression!
 
 
 Functions
 Functions
----------
+~~~~~~~~~
 
 
 Functions always belong to a class. The scope priority for variable
 Functions always belong to a class. The scope priority for variable
 look-up is: local→class member→global. ``self`` is provided as an option
 look-up is: local→class member→global. ``self`` is provided as an option
@@ -481,14 +484,14 @@ return value is null.
         return a + b  # return is optional; without it null is returned
         return a + b  # return is optional; without it null is returned
 
 
 Statements and Control Flow
 Statements and Control Flow
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 Statements are standard and can be assignments, function calls, control
 Statements are standard and can be assignments, function calls, control
 flow structures, etc (see below). ``;`` as a statement separator is
 flow structures, etc (see below). ``;`` as a statement separator is
 entirely optional.
 entirely optional.
 
 
 if/else/elif
 if/else/elif
-~~~~~~~~~~~~
+^^^^^^^^^^^^
 
 
 Simple conditions are created by using the *if/else/elif* syntax.
 Simple conditions are created by using the *if/else/elif* syntax.
 Parenthesis around statements is allowed, but not required. Given the
 Parenthesis around statements is allowed, but not required. Given the
@@ -505,7 +508,7 @@ else:/if: to maintain a level of indentation.
         statement(s)
         statement(s)
 
 
 while
 while
-~~~~~
+^^^^^
 
 
 Simple loops are created by using *while* syntax. Loops can be broken
 Simple loops are created by using *while* syntax. Loops can be broken
 using *break* or continued using *continue*:
 using *break* or continued using *continue*:
@@ -516,7 +519,7 @@ using *break* or continued using *continue*:
         statement(s)
         statement(s)
 
 
 for
 for
-~~~
+^^^
 
 
 To iterate through a range, such as an array or table, a *for* loop is
 To iterate through a range, such as an array or table, a *for* loop is
 used. For loops store the index in the loop variable on each iteration.
 used. For loops store the index in the loop variable on each iteration.
@@ -540,7 +543,7 @@ used. For loops store the index in the loop variable on each iteration.
         statement  # similar to [2, 4, 6] but does not allocate an array
         statement  # similar to [2, 4, 6] but does not allocate an array
 
 
 Function Call on Base Class
 Function Call on Base Class
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 To call a function on a base class (that was overridden in the current
 To call a function on a base class (that was overridden in the current
 one), prepend ``.`` to the function name:
 one), prepend ``.`` to the function name:
@@ -555,7 +558,7 @@ notifications such as ``_enter_tree``, ``_exit_tree``, ``_process``,
 so this should be only for calling functions you write yourself.
 so this should be only for calling functions you write yourself.
 
 
 Classes
 Classes
-=======
+^^^^^^^
 
 
 By default, the body of a script file is an unnamed class and it can
 By default, the body of a script file is an unnamed class and it can
 only be referenced externally as a resource or file. Class syntax is
 only be referenced externally as a resource or file. Class syntax is
@@ -567,7 +570,7 @@ variables (including arrays and dictionaries) are initialized every time
 an instance is created.
 an instance is created.
 
 
 Class File Example
 Class File Example
-------------------
+~~~~~~~~~~~~~~~~~~
 
 
 Imagine the following being stored in a file like myclass.gd.
 Imagine the following being stored in a file like myclass.gd.
 
 
@@ -579,7 +582,7 @@ Imagine the following being stored in a file like myclass.gd.
         print(a)
         print(a)
 
 
 Inheritance
 Inheritance
------------
+~~~~~~~~~~~
 
 
 A class file can inherit from a global class, another file or a subclass
 A class file can inherit from a global class, another file or a subclass
 inside another file. Multiple inheritance is not allowed. The
 inside another file. Multiple inheritance is not allowed. The
@@ -601,7 +604,7 @@ inside another file. Multiple inheritance is not allowed. The
     extends "somefile.gd".Subclass
     extends "somefile.gd".Subclass
 
 
 Inheritance Testing
 Inheritance Testing
--------------------
+~~~~~~~~~~~~~~~~~~~
 
 
 It's possible to check if an instance inherits from a given class. For
 It's possible to check if an instance inherits from a given class. For
 this the ``extends`` keyword can be used as an operator instead:
 this the ``extends`` keyword can be used as an operator instead:
@@ -616,13 +619,13 @@ this the ``extends`` keyword can be used as an operator instead:
         entity.apply_damage()
         entity.apply_damage()
 
 
 Constructor
 Constructor
------------
+~~~~~~~~~~~
 
 
 A class can have an optional constructor; a function named ``_init``
 A class can have an optional constructor; a function named ``_init``
 that is called when the class is instanced.
 that is called when the class is instanced.
 
 
 Arguments to Parent Constructor
 Arguments to Parent Constructor
--------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 When inheriting, parent constructors are called automatically (no need
 When inheriting, parent constructors are called automatically (no need
 to call ``._init()``). If a parent constructor takes arguments, they are
 to call ``._init()``). If a parent constructor takes arguments, they are
@@ -634,7 +637,7 @@ passed like this:
        pass
        pass
 
 
 Sub Classes
 Sub Classes
------------
+~~~~~~~~~~~
 
 
 A class file can have subclasses. This syntax should be straightforward:
 A class file can have subclasses. This syntax should be straightforward:
 
 
@@ -650,7 +653,7 @@ A class file can have subclasses. This syntax should be straightforward:
         sc.print_value_of_a()
         sc.print_value_of_a()
 
 
 Classes as Objects
 Classes as Objects
-------------------
+~~~~~~~~~~~~~~~~~~
 
 
 It may be desired at some point to load a class from a file and then
 It may be desired at some point to load a class from a file and then
 instance it. Since the global scope does not exist, classes must be
 instance it. Since the global scope does not exist, classes must be
@@ -670,7 +673,7 @@ in a class object:
         a.somefunction()
         a.somefunction()
 
 
 Exports
 Exports
--------
+~~~~~~~
 
 
 Class members can be exported. This means their value gets saved along
 Class members can be exported. This means their value gets saved along
 with a scene. If class members have initializers to constant
 with a scene. If class members have initializers to constant
@@ -745,7 +748,7 @@ editor, the exported properties are still editable (see below for
 "tool").
 "tool").
 
 
 Exporting bit flags
 Exporting bit flags
-~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^
 
 
 Integers used as bit flags can store multiple true/false (boolean)
 Integers used as bit flags can store multiple true/false (boolean)
 values in one property. By using the export hint ``int, FLAGS``, they
 values in one property. By using the export hint ``int, FLAGS``, they
@@ -771,7 +774,7 @@ Using bit flags requires some understanding of bitwise operations. If in
 doubt, boolean variables should be exported instead.
 doubt, boolean variables should be exported instead.
 
 
 Exporting Arrays
 Exporting Arrays
-~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^
 
 
 Exporting arrays works too but there is a restriction. While regular
 Exporting arrays works too but there is a restriction. While regular
 arrays are created local to every instance, exported arrays are shared
 arrays are created local to every instance, exported arrays are shared
@@ -798,7 +801,7 @@ initializers, but they must be constant expressions.
     var b = [a,2,3]
     var b = [a,2,3]
 
 
 Static Functions
 Static Functions
-----------------
+~~~~~~~~~~~~~~~~
 
 
 A function can be declared static. When a function is static it has no
 A function can be declared static. When a function is static it has no
 access to the instance member variables or ``self``. This is mainly
 access to the instance member variables or ``self``. This is mainly
@@ -810,7 +813,7 @@ useful to make libraries of helper functions:
         return a + b
         return a + b
 
 
 Setters/Getters
 Setters/Getters
----------------
+~~~~~~~~~~~~~~~
 
 
 | It is often useful to know when an member variable changed. It may
 | It is often useful to know when an member variable changed. It may
   also be desired to encapsulate its access. For this, GDScript provides
   also be desired to encapsulate its access. For this, GDScript provides
@@ -867,7 +870,7 @@ getter. For example:
         print(self.myinteger)
         print(self.myinteger)
 
 
 Tool Mode
 Tool Mode
----------
+~~~~~~~~~
 
 
 Scripts, by default, don't run inside the editor and only the exported
 Scripts, by default, don't run inside the editor and only the exported
 properties can be changed. In some cases it is desired that they do run
 properties can be changed. In some cases it is desired that they do run
@@ -884,7 +887,7 @@ placed at the top of the file:
         print("Hello")
         print("Hello")
 
 
 Memory Management
 Memory Management
------------------
+~~~~~~~~~~~~~~~~~
 
 
 If a class inherits from [[Class:Reference]], then instances will be
 If a class inherits from [[Class:Reference]], then instances will be
 freed when no longer in use. No garbage collector exists, just simple
 freed when no longer in use. No garbage collector exists, just simple
@@ -895,7 +898,7 @@ avoid reference cycles that can't be freed, a ``weakref`` function is
 provided for creating weak references.
 provided for creating weak references.
 
 
 Function References
 Function References
--------------------
+~~~~~~~~~~~~~~~~~~~
 
 
 Functions can't be referenced because they are not treated as class
 Functions can't be referenced because they are not treated as class
 members. There are two alternatives to this, though. The ``call``
 members. There are two alternatives to this, though. The ``call``
@@ -909,7 +912,7 @@ function or the ``funcref`` helper.
     fr.call_func(args)
     fr.call_func(args)
 
 
 Signals
 Signals
--------
+~~~~~~~
 
 
 It is often desired to send a notification that something happened in an
 It is often desired to send a notification that something happened in an
 instance. GDScript supports creation of built-in Godot signals.
 instance. GDScript supports creation of built-in Godot signals.
@@ -970,7 +973,7 @@ Object.emit\_signal method:
         someinstance.emit_signal("somesignal")
         someinstance.emit_signal("somesignal")
 
 
 Coroutines
 Coroutines
-----------
+~~~~~~~~~~
 
 
 GDScript has some support for coroutines via the ``yield`` built-in
 GDScript has some support for coroutines via the ``yield`` built-in
 function. The way it works is very simple: Calling ``yield()`` will
 function. The way it works is very simple: Calling ``yield()`` will
@@ -1031,7 +1034,7 @@ Will print:
     cheers!
     cheers!
 
 
 Coroutines & Signals
 Coroutines & Signals
---------------------
+~~~~~~~~~~~~~~~~~~~~
 
 
 The real strength of using ``yield`` is when combined with signals.
 The real strength of using ``yield`` is when combined with signals.
 ``yield`` can accept two parameters, an object and a signal. When the
 ``yield`` can accept two parameters, an object and a signal. When the

+ 3 - 3
reference/index.rst

@@ -3,7 +3,7 @@ Reference
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 2
    :maxdepth: 2
-   :name: reference
+   :name: toc-reference
 
 
-   languages
-   cheat_sheets
+   _languages
+   _cheat_sheets

+ 0 - 0
reference/shader.rst → reference/shading_language.rst


+ 14 - 0
tutorials/2d/_graphics.rst

@@ -0,0 +1,14 @@
+Graphics
+========
+
+.. toctree::
+   :maxdepth: 1
+   :name: toc-2d-graphics
+
+   canvas_layers
+   viewport_and_canvas_transforms
+   custom_drawing_in_2d
+   screen-reading_shaders
+   particle_systems_2d
+   cutout_animation
+   tilemap

+ 10 - 0
tutorials/2d/_gui.rst

@@ -0,0 +1,10 @@
+Graphical user interface (GUI)
+==============================
+
+.. toctree::
+   :maxdepth: 1
+   :name: toc-2d-gui
+
+   size_and_anchors
+   gui_skinning
+   custom_gui_controls

+ 10 - 0
tutorials/2d/_physics.rst

@@ -0,0 +1,10 @@
+Physics
+=======
+
+.. toctree::
+   :maxdepth: 1
+   :name: toc-2d-physics
+
+   physics_and_collision_2d
+   kinematic_character_2d
+   ray-casting

+ 0 - 0
tutorials/canvas_layers.rst → tutorials/2d/canvas_layers.rst


+ 0 - 0
tutorials/custom_drawing_in_node2d_control.rst → tutorials/2d/custom_drawing_in_2d.rst


+ 0 - 0
tutorials/custom_gui_controls.rst → tutorials/2d/custom_gui_controls.rst


+ 0 - 0
tutorials/cut-out_animation.rst → tutorials/2d/cutout_animation.rst


+ 0 - 0
tutorials/gui_skinning.rst → tutorials/2d/gui_skinning.rst


+ 10 - 0
tutorials/2d/index.rst

@@ -0,0 +1,10 @@
+2D tutorials
+============
+
+.. toctree::
+   :maxdepth: 2
+   :name: toc-2d-tutorials
+
+   _graphics
+   _gui
+   _physics

+ 0 - 0
tutorials/kinematic_character_2d.rst → tutorials/2d/kinematic_character_2d.rst


+ 0 - 0
tutorials/particle_systems_2d.rst → tutorials/2d/particle_systems_2d.rst


+ 2 - 5
tutorials/physics_and_collision_2d.rst → tutorials/2d/physics_introduction.rst

@@ -1,8 +1,5 @@
-Physics & Collision (2D)
-========================
-
-Introduction
-------------
+Physics introduction
+====================
 
 
 Our world is made of tangible matter. In our world, a piano can't go
 Our world is made of tangible matter. In our world, a piano can't go
 through a wall when going into a house. It needs to use the door. Video
 through a wall when going into a house. It needs to use the door. Video

+ 1 - 1
tutorials/screen-reading_shaders.rst → tutorials/2d/screen-reading_shaders.rst

@@ -1,4 +1,4 @@
-Screen Reading Shaders
+Screen-reading shaders
 ======================
 ======================
 
 
 Introduction
 Introduction

+ 0 - 16
tutorials/gui_control_repositioning.rst → tutorials/2d/size_and_anchors.rst

@@ -38,19 +38,3 @@ it, leaving a 20 pixel margin:
 
 
 Finally, there is also a ratio option, where 0 means left, 1 means right
 Finally, there is also a ratio option, where 0 means left, 1 means right
 and anything in between is interpolated.
 and anything in between is interpolated.
-
-[STRIKEOUT:Containers] (TODO)
------------------------------
-
--  [STRIKEOUT:This poses a difficult problem]
--  [STRIKEOUT:There are two ways of dealing]
--  [STRIKEOUT:style boxes]
--  [STRIKEOUT:title menu example]
--  [STRIKEOUT:containers]
--  [STRIKEOUT:theme]
--  [STRIKEOUT:focus]
-
-*Juan Linietsky, Ariel Manzur, Distributed under the terms of the `CC
-By <https://creativecommons.org/licenses/by/3.0/legalcode>`__ license.*
-
-

+ 0 - 0
tutorials/tilemap.rst → tutorials/2d/tilemap.rst


+ 0 - 0
tutorials/viewport_and_canvas_transforms.rst → tutorials/2d/viewport_and_canvas_transforms.rst


+ 0 - 21
tutorials/2d_tutorials.rst

@@ -1,21 +0,0 @@
-2D tutorials
-============
-
-.. toctree::
-   :maxdepth: 1
-   :name: 2d-tutorials
-
-   physics_and_collision_2d
-   tilemap
-   kinematic_character_2d
-   gui_skinning
-   particle_systems_2d
-   canvas_layers
-   viewport_and_canvas_transforms
-   custom_drawing_in_node2d_control
-   custom_gui_controls
-   screen-reading_shaders
-   ray-casting
-   cut-out_animation
-.. gui_containers
-.. phyics_objet_guide

+ 0 - 0
tutorials/3d_performance_and_limitations.rst → tutorials/3d/3d_performance_and_limitations.rst


+ 17 - 0
tutorials/3d/_graphics.rst

@@ -0,0 +1,17 @@
+Graphics
+========
+
+.. toctree::
+   :maxdepth: 1
+   :name: toc-3d-graphics
+
+   introduction
+   materials
+   fixed_materials
+   shader_materials
+   lighting
+   shadow_mapping
+   high_dynamic_range
+   3d_performance_and_limitations
+   working_with_3d_skeletons
+   inverse_kinematics

+ 9 - 0
tutorials/3d/_import.rst

@@ -0,0 +1,9 @@
+Import
+======
+
+.. toctree::
+   :maxdepth: 1
+   :name: toc-3d-import
+
+   importing_3d_meshes
+   importing_3d_scenes

+ 8 - 0
tutorials/3d/_physics.rst

@@ -0,0 +1,8 @@
+Physics
+=======
+
+.. toctree::
+   :maxdepth: 1
+   :name: toc-3d-physics
+
+   ../ray-casting

+ 0 - 0
tutorials/fixed_materials.rst → tutorials/3d/fixed_materials.rst


+ 0 - 0
tutorials/high_dynamic_range.rst → tutorials/3d/high_dynamic_range.rst


+ 0 - 0
asset_pipeline/importing_3d_meshes.rst → tutorials/3d/importing_3d_meshes.rst


+ 0 - 0
asset_pipeline/importing_3d_scenes.rst → tutorials/3d/importing_3d_scenes.rst


+ 10 - 0
tutorials/3d/index.rst

@@ -0,0 +1,10 @@
+3D tutorials
+============
+
+.. toctree::
+   :maxdepth: 2
+   :name: toc-3d-tutorials
+
+   _graphics
+   _physics
+   _import

+ 1 - 4
tutorials/creating_3d_games.rst → tutorials/3d/introduction.rst

@@ -1,8 +1,5 @@
-Creating 3D games
-=================
-
 Introduction
 Introduction
-~~~~~~~~~~~~
+============
 
 
 Creating a 3D game can be challenging. That extra Z coordinate makes
 Creating a 3D game can be challenging. That extra Z coordinate makes
 many of the common techniques that helped to make 2D games simple no
 many of the common techniques that helped to make 2D games simple no

+ 0 - 0
tutorials/inverse_kinematics.rst → tutorials/3d/inverse_kinematics.rst


+ 0 - 0
tutorials/lighting.rst → tutorials/3d/lighting.rst


+ 0 - 0
tutorials/materials.rst → tutorials/3d/materials.rst


+ 0 - 0
tutorials/shader_materials.rst → tutorials/3d/shader_materials.rst


+ 0 - 0
tutorials/shadow_mapping.rst → tutorials/3d/shadow_mapping.rst


+ 0 - 0
tutorials/working_with_3d_skeletons.rst → tutorials/3d/working_with_3d_skeletons.rst


+ 0 - 27
tutorials/3d_tutorials.rst

@@ -1,27 +0,0 @@
-3D tutorials
-============
-
-.. toctree::
-   :maxdepth: 1
-   :name: 3d-tutorials
-
-   creating_3d_games
-   materials
-   fixed_materials
-   shader_materials
-   lighting
-   shadow_mapping
-   high_dynamic_range
-   3d_performance_and_limitations
-   ray-casting
-   working_with_3d_skeletons
-   inverse_kinematics
-.. procedural_geometry
-.. light_baking
-.. 3d_sprites
-.. using_the_animationtreeplayer
-.. portals_and_rooms
-.. vehicle
-.. grimap
-.. spatial_audio
-.. toon_shading

+ 1 - 1
tutorials/math.rst → tutorials/_math.rst

@@ -3,7 +3,7 @@ Math
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :name: math
+   :name: toc-math
 
 
    vector_math
    vector_math
    matrices_and_transforms
    matrices_and_transforms

+ 9 - 0
tutorials/_misc.rst

@@ -0,0 +1,9 @@
+Miscellaneous
+=============
+
+.. toctree::
+   :maxdepth: 2
+   :name: toc-misc-tutorials
+
+   _math
+   _shaders

+ 9 - 0
tutorials/_networking.rst

@@ -0,0 +1,9 @@
+Networking
+==========
+
+.. toctree::
+   :maxdepth: 1
+   :name: toc-networking
+
+   ssl_certificates
+   http_client_class

+ 5 - 3
tutorials/editor_plugins.rst → tutorials/_plugins.rst

@@ -1,9 +1,11 @@
-Editor plug-ins
-===============
+Editor plugins
+==============
+
+Coming soon™.
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :name: editor-plugins
+   :name: toc-plugins
 
 
 .. editor_plugin
 .. editor_plugin
 .. editor_extension
 .. editor_extension

+ 1 - 1
tutorials/shaders.rst → tutorials/_shaders.rst

@@ -3,7 +3,7 @@ Shaders
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :name: shaders
+   :name: toc-shaders
 
 
    mesh_generation_with_heightmap_and_shaders
    mesh_generation_with_heightmap_and_shaders
 .. vertex_shaders_introduction
 .. vertex_shaders_introduction

+ 0 - 10
tutorials/advanced.rst

@@ -1,10 +0,0 @@
-Engine
-======
-
-.. toctree::
-   :maxdepth: 1
-   :name: engine
-
-   paths
-   http_client_class
-.. thread_safety

+ 0 - 23
tutorials/engine.rst

@@ -1,23 +0,0 @@
-Engine
-======
-
-.. toctree::
-   :maxdepth: 1
-   :name: engine
-
-   viewports
-   screen_scaling_and_multiple_resolutions
-   input_events_and_actions
-   mouse_and_input_coordinates
-   version_control_and_project_organization
-   gui_control_repositioning
-   background_loading
-   saving_your_game
-   encrypting_save_games
-   internationalizing_a_game
-   handling_quit_request
-   pausing_the_game
-   ssl_certificates
-   changing_scenes_advanced
-.. basic_networking_tcp_and_udp
-.. gamepad_keyboard_controlled_guis

+ 11 - 0
tutorials/engine/_filesystem.rst

@@ -0,0 +1,11 @@
+Filesystem
+==========
+
+.. toctree::
+   :maxdepth: 1
+   :name: toc-filesystem
+
+   version_control_and_project_organization
+   path_separators
+   saving_your_game
+   encrypting_save_games

+ 11 - 0
tutorials/engine/_game_flow.rst

@@ -0,0 +1,11 @@
+Game flow
+=========
+
+.. toctree::
+   :maxdepth: 1
+   :name: toc-game-flow
+
+   pausing_the_game
+   background_loading
+   using_multiple_threads
+   handling_quit_request

+ 8 - 0
tutorials/engine/_i18n.rst

@@ -0,0 +1,8 @@
+Internationalization
+====================
+
+.. toctree::
+   :maxdepth: 1
+   :name: toc-i18n
+
+   internationalizing_a_game

+ 11 - 0
tutorials/engine/_scene_input_viewports.rst

@@ -0,0 +1,11 @@
+Scene, input & viewports
+========================
+
+.. toctree::
+   :maxdepth: 1
+   :name: toc-scene-input-viewports
+
+   viewports
+   screen_scaling_and_multiple_resolutions
+   input_events_and_actions
+   mouse_and_input_coordinates

+ 1 - 1
tutorials/background_loading.rst → tutorials/engine/background_loading.rst

@@ -259,7 +259,7 @@ loader.
         get_node("/root").add_child(current_scene)
         get_node("/root").add_child(current_scene)
 
 
 Using multiple threads
 Using multiple threads
-======================
+----------------------
 
 
 ResourceInteractiveLoader can be used from multiple threads. A couple of
 ResourceInteractiveLoader can be used from multiple threads. A couple of
 things to keep in mind if you attempt it:
 things to keep in mind if you attempt it:

+ 0 - 0
tutorials/encrypting_save_games.rst → tutorials/engine/encrypting_save_games.rst


+ 0 - 0
tutorials/handling_quit_request.rst → tutorials/engine/handling_quit_request.rst


+ 11 - 0
tutorials/engine/index.rst

@@ -0,0 +1,11 @@
+Engine
+======
+
+.. toctree::
+   :maxdepth: 2
+   :name: toc-engine
+
+   _scene_input_viewports
+   _filesystem
+   _i18n
+   _game_flow

+ 0 - 0
tutorials/input_events_and_actions.rst → tutorials/engine/inputevent.rst


+ 0 - 0
tutorials/internationalizing_a_game.rst → tutorials/engine/internationalizing_a_game.rst


+ 0 - 0
tutorials/mouse_and_input_coordinates.rst → tutorials/engine/mouse_and_input_coordinates.rst


+ 4 - 1
tutorials/paths.rst → tutorials/engine/paths.rst

@@ -1,5 +1,8 @@
+Paths
+=====
+
 Path Separators
 Path Separators
-===============
+---------------
 
 
 | For the sake of supporting as many platforms as possible, Godot only
 | For the sake of supporting as many platforms as possible, Godot only
   accepts unix style path separators (/). These work everywhere,
   accepts unix style path separators (/). These work everywhere,

+ 0 - 0
tutorials/pausing_the_game.rst → tutorials/engine/pausing_the_game.rst


+ 0 - 0
tutorials/saving_your_game.rst → tutorials/engine/saving_your_game.rst


+ 0 - 0
tutorials/screen_scaling_and_multiple_resolutions.rst → tutorials/engine/screen_scaling_and_multiple_resolutions.rst


+ 0 - 0
tutorials/version_control_and_project_organization.rst → tutorials/engine/version_control.rst


+ 0 - 0
tutorials/viewports.rst → tutorials/engine/viewports.rst


+ 2 - 2
tutorials/http_client_class.rst

@@ -1,5 +1,5 @@
-Example
-=======
+HTTP client class example
+=========================
 
 
 Here's an example of using the
 Here's an example of using the
 `HTTPClient <https://github.com/okamstudio/godot/wiki/class_httpclient>`__
 `HTTPClient <https://github.com/okamstudio/godot/wiki/class_httpclient>`__

+ 0 - 15
tutorials/index.rst

@@ -1,15 +0,0 @@
-Tutorials
-=========
-
-.. toctree::
-   :maxdepth: 2
-   :name: tutorials
-
-   basic
-   engine
-   2d_tutorials
-   3d_tutorials
-   shaders
-   math
-   advanced
-   editor_plugins

+ 2 - 2
tutorials/mesh_generation_with_heightmap_and_shaders.rst

@@ -1,5 +1,5 @@
-Generate a mesh using a heightmap and vertex fragment shaders
-=============================================================
+Mesh generation with heightmap and shaders
+==========================================
 
 
 Introduction
 Introduction
 ------------
 ------------

+ 2 - 2
tutorials/animation.rst → tutorials/step_by_step/animations.rst

@@ -1,5 +1,5 @@
-Animation Tutorial
-==================
+Animations
+==========
 
 
 Introduction
 Introduction
 ------------
 ------------

+ 2 - 2
tutorials/file_system.rst → tutorials/step_by_step/file_system.rst

@@ -1,5 +1,5 @@
-File System
-===========
+Filesystem
+==========
 
 
 Introduction
 Introduction
 ------------
 ------------

+ 1 - 1
tutorials/gui_introduction.rst → tutorials/step_by_step/gui_tutorial.rst

@@ -1,4 +1,4 @@
-GUI Tutorial
+GUI tutorial
 ============
 ============
 
 
 Introduction
 Introduction

+ 6 - 6
tutorials/basic.rst → tutorials/step_by_step/index.rst

@@ -1,19 +1,19 @@
-Basic (step by step)
-====================
+Learning step by step
+=====================
 
 
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
-   :name: basic
+   :name: toc-step-by-step
 
 
    scenes_and_nodes
    scenes_and_nodes
    instancing
    instancing
    instancing_continued
    instancing_continued
    scripting
    scripting
    scripting_continued
    scripting_continued
-   creating_2d_games
-   gui_introduction
+   simple_2d_game
+   gui_tutorial
    creating_splash_screen
    creating_splash_screen
-   animation
+   animations
    resources
    resources
    file_system
    file_system
    scene_tree
    scene_tree

+ 0 - 0
tutorials/instancing.rst → tutorials/step_by_step/instancing.rst


+ 0 - 0
tutorials/instancing_continued.rst → tutorials/step_by_step/instancing_continued.rst


+ 1 - 1
tutorials/resources.rst → tutorials/step_by_step/resources.rst

@@ -1,7 +1,7 @@
 Resources
 Resources
 =========
 =========
 
 
-Nodes AND Resources
+Nodes and Resources
 -------------------
 -------------------
 
 
 So far, `Node <https://github.com/okamstudio/godot/wiki/class_node>`__
 So far, `Node <https://github.com/okamstudio/godot/wiki/class_node>`__

+ 0 - 0
tutorials/scene_tree.rst → tutorials/step_by_step/scene_tree.rst


+ 1 - 1
tutorials/scenes_and_nodes.rst → tutorials/step_by_step/scenes_and_nodes.rst

@@ -1,4 +1,4 @@
-Scenes and Nodes
+Scenes and nodes
 ================
 ================
 
 
 Introduction
 Introduction

+ 0 - 0
tutorials/scripting.rst → tutorials/step_by_step/scripting.rst


+ 1 - 1
tutorials/scripting_continued.rst → tutorials/step_by_step/scripting_continued.rst

@@ -1,4 +1,4 @@
-Scripting (Continued)
+Scripting (continued)
 =====================
 =====================
 
 
 Processing
 Processing

+ 1 - 1
tutorials/creating_2d_games.rst → tutorials/step_by_step/simple_2d_game.rst

@@ -1,4 +1,4 @@
-Simple 2D Game (Pong!)
+Simple 2D game (Pong!)
 ======================
 ======================
 
 
 Pong
 Pong

+ 0 - 0
tutorials/singletons_autoload.rst → tutorials/step_by_step/singletons_autoload.rst


+ 1 - 1
tutorials/creating_splash_screen.rst → tutorials/step_by_step/splash_screen.rst

@@ -1,4 +1,4 @@
-Splash Screen
+Splash screen
 =============
 =============
 
 
 Tutorial
 Tutorial