فهرست منبع

Remove visual scripting from the documentation

skyace65 2 سال پیش
والد
کامیت
5fce24792d
74فایلهای تغییر یافته به همراه10 افزوده شده و 837 حذف شده
  1. 0 5
      _tools/redirects/redirects.csv
  2. 0 6
      about/list_of_features.rst
  3. 0 1
      community/contributing/bug_triage_guidelines.rst
  4. 4 4
      community/tutorials.rst
  5. 1 8
      getting_started/introduction/godot_design_philosophy.rst
  6. BIN
      getting_started/introduction/img/engine_design_visual_script.png
  7. 0 3
      getting_started/introduction/introduction_to_godot.rst
  8. BIN
      getting_started/step_by_step/img/scripting_visualscript.png
  9. 4 28
      getting_started/step_by_step/scripting_languages.rst
  10. 0 1
      tutorials/scripting/index.rst
  11. 0 102
      tutorials/scripting/visual_script/custom_visualscript_nodes.rst
  12. 0 131
      tutorials/scripting/visual_script/getting_started.rst
  13. BIN
      tutorials/scripting/visual_script/img/visual_script1.png
  14. BIN
      tutorials/scripting/visual_script/img/visual_script10.png
  15. BIN
      tutorials/scripting/visual_script/img/visual_script11.png
  16. BIN
      tutorials/scripting/visual_script/img/visual_script12.png
  17. BIN
      tutorials/scripting/visual_script/img/visual_script13.png
  18. BIN
      tutorials/scripting/visual_script/img/visual_script14.png
  19. BIN
      tutorials/scripting/visual_script/img/visual_script15.png
  20. BIN
      tutorials/scripting/visual_script/img/visual_script16.png
  21. BIN
      tutorials/scripting/visual_script/img/visual_script17.png
  22. BIN
      tutorials/scripting/visual_script/img/visual_script18.png
  23. BIN
      tutorials/scripting/visual_script/img/visual_script19.png
  24. BIN
      tutorials/scripting/visual_script/img/visual_script2.png
  25. BIN
      tutorials/scripting/visual_script/img/visual_script20.png
  26. BIN
      tutorials/scripting/visual_script/img/visual_script21.png
  27. BIN
      tutorials/scripting/visual_script/img/visual_script22.png
  28. BIN
      tutorials/scripting/visual_script/img/visual_script23.png
  29. BIN
      tutorials/scripting/visual_script/img/visual_script24.png
  30. BIN
      tutorials/scripting/visual_script/img/visual_script25.png
  31. BIN
      tutorials/scripting/visual_script/img/visual_script26.png
  32. BIN
      tutorials/scripting/visual_script/img/visual_script27.png
  33. BIN
      tutorials/scripting/visual_script/img/visual_script28.png
  34. BIN
      tutorials/scripting/visual_script/img/visual_script29.png
  35. BIN
      tutorials/scripting/visual_script/img/visual_script3.png
  36. BIN
      tutorials/scripting/visual_script/img/visual_script30.png
  37. BIN
      tutorials/scripting/visual_script/img/visual_script31.png
  38. BIN
      tutorials/scripting/visual_script/img/visual_script32.png
  39. BIN
      tutorials/scripting/visual_script/img/visual_script33.png
  40. BIN
      tutorials/scripting/visual_script/img/visual_script34.png
  41. BIN
      tutorials/scripting/visual_script/img/visual_script36.png
  42. BIN
      tutorials/scripting/visual_script/img/visual_script37.png
  43. BIN
      tutorials/scripting/visual_script/img/visual_script38.png
  44. BIN
      tutorials/scripting/visual_script/img/visual_script39.png
  45. BIN
      tutorials/scripting/visual_script/img/visual_script4.png
  46. BIN
      tutorials/scripting/visual_script/img/visual_script40.png
  47. BIN
      tutorials/scripting/visual_script/img/visual_script41.png
  48. BIN
      tutorials/scripting/visual_script/img/visual_script42.png
  49. BIN
      tutorials/scripting/visual_script/img/visual_script43.png
  50. BIN
      tutorials/scripting/visual_script/img/visual_script44.png
  51. BIN
      tutorials/scripting/visual_script/img/visual_script45.png
  52. BIN
      tutorials/scripting/visual_script/img/visual_script46.png
  53. BIN
      tutorials/scripting/visual_script/img/visual_script47.png
  54. BIN
      tutorials/scripting/visual_script/img/visual_script48.png
  55. BIN
      tutorials/scripting/visual_script/img/visual_script49.png
  56. BIN
      tutorials/scripting/visual_script/img/visual_script5.png
  57. BIN
      tutorials/scripting/visual_script/img/visual_script50.png
  58. BIN
      tutorials/scripting/visual_script/img/visual_script51.png
  59. BIN
      tutorials/scripting/visual_script/img/visual_script52.png
  60. BIN
      tutorials/scripting/visual_script/img/visual_script53.png
  61. BIN
      tutorials/scripting/visual_script/img/visual_script54.png
  62. BIN
      tutorials/scripting/visual_script/img/visual_script55.png
  63. BIN
      tutorials/scripting/visual_script/img/visual_script6.png
  64. BIN
      tutorials/scripting/visual_script/img/visual_script7.png
  65. BIN
      tutorials/scripting/visual_script/img/visual_script8.png
  66. BIN
      tutorials/scripting/visual_script/img/visual_script9.png
  67. BIN
      tutorials/scripting/visual_script/img/visual_script_connect.gif
  68. BIN
      tutorials/scripting/visual_script/img/visual_script_custom_node_result.png
  69. BIN
      tutorials/scripting/visual_script/img/visual_script_custom_node_set_script.png
  70. BIN
      tutorials/scripting/visual_script/img/visual_script_disconnect.gif
  71. 0 11
      tutorials/scripting/visual_script/index.rst
  72. 0 510
      tutorials/scripting/visual_script/nodes_purposes.rst
  73. 0 24
      tutorials/scripting/visual_script/what_is_visual_scripting.rst
  74. 1 3
      tutorials/shaders/visual_shaders.rst

+ 0 - 5
_tools/redirects/redirects.csv

@@ -33,11 +33,6 @@ source,destination
 /getting_started/scripting/gdscript/index.html,/tutorials/scripting/gdscript/index.html
 /getting_started/scripting/gdscript/index.html,/tutorials/scripting/gdscript/index.html
 /getting_started/scripting/gdscript/static_typing.html,/tutorials/scripting/gdscript/static_typing.html
 /getting_started/scripting/gdscript/static_typing.html,/tutorials/scripting/gdscript/static_typing.html
 /getting_started/scripting/gdscript/warning_system.html,/tutorials/scripting/gdscript/warning_system.html
 /getting_started/scripting/gdscript/warning_system.html,/tutorials/scripting/gdscript/warning_system.html
-/getting_started/scripting/visual_script/custom_visualscript_nodes.html,/tutorials/scripting/visual_script/custom_visualscript_nodes.html
-/getting_started/scripting/visual_script/getting_started.html,/tutorials/scripting/visual_script/getting_started.html
-/getting_started/scripting/visual_script/index.html,/tutorials/scripting/visual_script/index.html
-/getting_started/scripting/visual_script/nodes_purposes.html,/tutorials/scripting/visual_script/nodes_purposes.html
-/getting_started/scripting/visual_script/what_is_visual_scripting.html,/tutorials/scripting/visual_script/what_is_visual_scripting.html
 /getting_started/step_by_step/exporting.html,/tutorials/export/exporting_basics.html
 /getting_started/step_by_step/exporting.html,/tutorials/export/exporting_basics.html
 /getting_started/step_by_step/filesystem.html,/tutorials/scripting/filesystem.html
 /getting_started/step_by_step/filesystem.html,/tutorials/scripting/filesystem.html
 /getting_started/step_by_step/godot_design_philosophy.html,/getting_started/introduction/godot_design_philosophy.html
 /getting_started/step_by_step/godot_design_philosophy.html,/getting_started/introduction/godot_design_philosophy.html

+ 0 - 6
about/list_of_features.rst

@@ -413,12 +413,6 @@ Scripting
 - Supports all platforms.
 - Supports all platforms.
 - Using an external editor is recommended to benefit from IDE functionality.
 - Using an external editor is recommended to benefit from IDE functionality.
 
 
-:ref:`VisualScript: <toc-learn-scripting-visual_script>`
-
-- :ref:`Graph-based visual scripting language <doc_what_is_visual_script>`.
-- Works best when used for specific purposes (such as level-specific logic)
-  rather than as a language to create entire projects.
-
 **GDNative (C, C++, Rust, D, ...):**
 **GDNative (C, C++, Rust, D, ...):**
 
 
 - When you need it, link to native libraries for higher performance and third-party integrations.
 - When you need it, link to native libraries for higher performance and third-party integrations.

+ 0 - 1
community/contributing/bug_triage_guidelines.rst

@@ -129,7 +129,6 @@ feature request, or one that is not precise enough to be worked on.
 -  *Shaders*: relates to the Godot shader language or visual shaders.
 -  *Shaders*: relates to the Godot shader language or visual shaders.
 -  *Tests*: relates to unit tests.
 -  *Tests*: relates to unit tests.
 -  *Thirdparty*: relates to third-party libraries used in Godot.
 -  *Thirdparty*: relates to third-party libraries used in Godot.
--  *VisualScript*: relates to issues with the visual scripting language (*not* visual shaders).
 -  *XR*: relates to Augmented Reality or Virtual Reality.
 -  *XR*: relates to Augmented Reality or Virtual Reality.
 
 
 Issues would typically correspond to only one topic, though it's not
 Issues would typically correspond to only one topic, though it's not

+ 4 - 4
community/tutorials.rst

@@ -24,19 +24,19 @@ Video tutorials
 ---------------
 ---------------
 
 
 - `Godot Tutorials <https://www.youtube.com/channel/UCnr9ojBEQGgwbcKsZC-2rIg>`_ (2D, GDScript, Programming Basics).
 - `Godot Tutorials <https://www.youtube.com/channel/UCnr9ojBEQGgwbcKsZC-2rIg>`_ (2D, GDScript, Programming Basics).
-- `Emilio <https://www.youtube.com/channel/UC9DR22-qohBDtZ74R3FxOZg>`_ (2D, GDScript and VisualScript).
+- `Emilio <https://www.youtube.com/channel/UC9DR22-qohBDtZ74R3FxOZg>`_ (2D, GDScript).
 - `FinePointCGI <https://www.youtube.com/channel/UCSojAWUnEUTUcdA9iJ6bryQ>`_ (2D, 3D, GDScript and C#).
 - `FinePointCGI <https://www.youtube.com/channel/UCSojAWUnEUTUcdA9iJ6bryQ>`_ (2D, 3D, GDScript and C#).
-- `GDQuest <https://www.youtube.com/channel/UCxboW7x0jZqFdvMdCFKTMsQ/playlists>`_ (2D and 3D, GDScript, VisualScript and C#).
+- `GDQuest <https://www.youtube.com/channel/UCxboW7x0jZqFdvMdCFKTMsQ/playlists>`_ (2D and 3D, GDScript and C#).
 - `Game Development Center <https://www.youtube.com/c/GameDevelopmentCenter>`_ (2D, networked multiplayer, GDScript).
 - `Game Development Center <https://www.youtube.com/c/GameDevelopmentCenter>`_ (2D, networked multiplayer, GDScript).
 - `Game Endeavor <https://www.youtube.com/channel/UCLweX1UtQjRjj7rs_0XQ2Eg/videos>`_ (2D, GDScript).
 - `Game Endeavor <https://www.youtube.com/channel/UCLweX1UtQjRjj7rs_0XQ2Eg/videos>`_ (2D, GDScript).
 - `Game from Scratch <https://www.youtube.com/watch?v=iDEcP8Mc-7s&list=PLS9MbmO_ssyDk79j9ewONxV88fD5e_o5d>`_ (2D and 3D, GDScript and C#).
 - `Game from Scratch <https://www.youtube.com/watch?v=iDEcP8Mc-7s&list=PLS9MbmO_ssyDk79j9ewONxV88fD5e_o5d>`_ (2D and 3D, GDScript and C#).
 - `HeartBeast <https://www.youtube.com/watch?v=wETY5_9kFtA&list=PL9FzW-m48fn2jlBu_0DRh7PvAt-GULEmd>`_ (2D, GDScript).
 - `HeartBeast <https://www.youtube.com/watch?v=wETY5_9kFtA&list=PL9FzW-m48fn2jlBu_0DRh7PvAt-GULEmd>`_ (2D, GDScript).
-- `KidsCanCode <https://www.youtube.com/channel/UCNaPQ5uLX5iIEHUCLmfAgKg/playlists>`__ (2D and 3D, GDScript and VisualScript).
+- `KidsCanCode <https://www.youtube.com/channel/UCNaPQ5uLX5iIEHUCLmfAgKg/playlists>`__ (2D and 3D, GDScript).
 - `Mister Taft Creates <https://www.youtube.com/playlist?list=PL4vbr3u7UKWqwQlvwvgNcgDL1p_3hcNn2>`_ (2D, GDScript).
 - `Mister Taft Creates <https://www.youtube.com/playlist?list=PL4vbr3u7UKWqwQlvwvgNcgDL1p_3hcNn2>`_ (2D, GDScript).
 - `Miziziziz <https://www.youtube.com/playlist?list=PLmugv6_kd0qNyt0WHVnac1f5IFzG-7grN>`_ (2D and 3D, GDScript).
 - `Miziziziz <https://www.youtube.com/playlist?list=PLmugv6_kd0qNyt0WHVnac1f5IFzG-7grN>`_ (2D and 3D, GDScript).
 - `P1X / Krzysztof Jankowski <https://www.youtube.com/playlist?list=PLvDk7UKhld4xGPovdB4IFtAHYMYjx_-3K>`_ (3D).
 - `P1X / Krzysztof Jankowski <https://www.youtube.com/playlist?list=PLvDk7UKhld4xGPovdB4IFtAHYMYjx_-3K>`_ (3D).
 - `Pigdev <https://www.youtube.com/playlist?list=PLPMN4vCRFdordS3E-3zi0Hdh7pAsbWQ6a>`_ (2D, GDScript).
 - `Pigdev <https://www.youtube.com/playlist?list=PLPMN4vCRFdordS3E-3zi0Hdh7pAsbWQ6a>`_ (2D, GDScript).
-- `Steincodes <https://www.youtube.com/c/steincodes/playlists>`__ (2D, GDScript and VisualScript).
+- `Steincodes <https://www.youtube.com/c/steincodes/playlists>`__ (2D, GDScript).
 - `TheBuffED <https://www.youtube.com/watch?v=ygGaN1EOQEA&list=PLvN5Z3tTxXEDfQkt4Frg6ALirespSwZd7>`_ (2D, GDScript).
 - `TheBuffED <https://www.youtube.com/watch?v=ygGaN1EOQEA&list=PLvN5Z3tTxXEDfQkt4Frg6ALirespSwZd7>`_ (2D, GDScript).
 - `Code with Tom <https://www.youtube.com/playlist?list=PLiUQR4U_J9ec0k91iHPme_qtfS1nrWF3W>`_ (2D and 3D, GDScript).
 - `Code with Tom <https://www.youtube.com/playlist?list=PLiUQR4U_J9ec0k91iHPme_qtfS1nrWF3W>`_ (2D and 3D, GDScript).
 - `BornCG <https://www.youtube.com/playlist?list=PLda3VoSoc_TSBBOBYwcmlamF1UrjVtccZ>`_ (2D and 3D, GDScript).
 - `BornCG <https://www.youtube.com/playlist?list=PLda3VoSoc_TSBBOBYwcmlamF1UrjVtccZ>`_ (2D and 3D, GDScript).

+ 1 - 8
getting_started/introduction/godot_design_philosophy.rst

@@ -80,7 +80,7 @@ there is an import plugin for it. Or you can create one, like the `Tiled
 Map Importer <https://github.com/vnen/godot-tiled-importer>`__.
 Map Importer <https://github.com/vnen/godot-tiled-importer>`__.
 
 
 That is also partly why Godot offers its own programming languages
 That is also partly why Godot offers its own programming languages
-GDScript and VisualScript, along with C#. They're designed for the needs
+GDScript and, along with C#. They're designed for the needs
 of game developers and game designers, and they're tightly integrated in
 of game developers and game designers, and they're tightly integrated in
 the engine and the editor.
 the engine and the editor.
 
 
@@ -92,12 +92,6 @@ Note that with GDNative, you can write high-performance code using compiled
 languages like C, C++, Rust, or Python (using the Cython compiler)
 languages like C, C++, Rust, or Python (using the Cython compiler)
 without recompiling the engine.
 without recompiling the engine.
 
 
-|image3|
-
-*VisualScript is a node-based programming language that integrates well
-in the editor. You can drag and drop nodes or resources into the graph
-to create new code blocks.*
-
 Note that the 3D workspace doesn't feature as many tools as the 2D workspace.
 Note that the 3D workspace doesn't feature as many tools as the 2D workspace.
 You'll need external programs or add-ons to edit terrains, animate complex characters, and so on.
 You'll need external programs or add-ons to edit terrains, animate complex characters, and so on.
 Godot provides a complete API to extend the editor's functionality using
 Godot provides a complete API to extend the editor's functionality using
@@ -183,6 +177,5 @@ interfaces over your 3D world.
 .. |image0| image:: img/engine_design_01.png
 .. |image0| image:: img/engine_design_01.png
 .. |image1| image:: img/engine_design_02.png
 .. |image1| image:: img/engine_design_02.png
 .. |image2| image:: img/engine_design_03.png
 .. |image2| image:: img/engine_design_03.png
-.. |image3| image:: img/engine_design_visual_script.png
 .. |image4| image:: img/engine_design_fsm_plugin.png
 .. |image4| image:: img/engine_design_fsm_plugin.png
 .. |image5| image:: img/engine_design_rpg_in_a_box.png
 .. |image5| image:: img/engine_design_rpg_in_a_box.png

BIN
getting_started/introduction/img/engine_design_visual_script.png


+ 0 - 3
getting_started/introduction/introduction_to_godot.rst

@@ -76,9 +76,6 @@ Godot-specific and tightly integrated language with a lightweight syntax, or
 :ref:`C# <toc-learn-scripting-C#>`, which is popular in the games industry.
 :ref:`C# <toc-learn-scripting-C#>`, which is popular in the games industry.
 These are the two main scripting languages we support.
 These are the two main scripting languages we support.
 
 
-Godot also supports a node-based visual programming language named
-:ref:`VisualScript <toc-learn-scripting-visual_script>`.
-
 With the :ref:`GDNative <toc-tutorials-gdnative>` technology, you can also write
 With the :ref:`GDNative <toc-tutorials-gdnative>` technology, you can also write
 gameplay or high-performance algorithms in C or C++ without recompiling the
 gameplay or high-performance algorithms in C or C++ without recompiling the
 engine. You can use this technology to integrate third-party libraries and other
 engine. You can use this technology to integrate third-party libraries and other

BIN
getting_started/step_by_step/img/scripting_visualscript.png


+ 4 - 28
getting_started/step_by_step/scripting_languages.rst

@@ -23,14 +23,13 @@ to the Camera2D node and code the shake.
 Available scripting languages
 Available scripting languages
 -----------------------------
 -----------------------------
 
 
-Godot offers **five gameplay programming languages**: GDScript, C#,
-VisualScript, and, via its GDNative technology, C and C++. There are more
+Godot offers **four gameplay programming languages**: GDScript, C#,
+and, via its GDNative technology, C and C++. There are more
 :ref:`community-supported languages <doc_what_is_gdnative_third_party_bindings>`,
 :ref:`community-supported languages <doc_what_is_gdnative_third_party_bindings>`,
 but these are the official ones.
 but these are the official ones.
 
 
 You can use multiple languages in a single project. For instance, in a team, you
 You can use multiple languages in a single project. For instance, in a team, you
-could code gameplay logic in GDScript as it's fast to write, let level designers
-script quests in the graphical language VisualScript, and use C# or C++ to
+could code gameplay logic in GDScript as it's fast to write, and use C# or C++ to
 implement complex algorithms and maximize their performance. Or you can write
 implement complex algorithms and maximize their performance. Or you can write
 everything in GDScript or C#. It's your call.
 everything in GDScript or C#. It's your call.
 
 
@@ -126,28 +125,6 @@ or ClojureCLR. However, C# is the only officially supported .NET option.
           in GDScript, C#, or C++ won't have a significant impact on
           in GDScript, C#, or C++ won't have a significant impact on
           performance.
           performance.
 
 
-VisualScript
-~~~~~~~~~~~~
-
-:ref:`Visual Scripting<doc_what_is_visual_script>` is a graph-based visual
-programming language where you connect blocks. It can be a great tool for
-non-programmers like game designers and artists.
-
-.. image:: img/scripting_visualscript.png
-
-You can use other languages to create custom blocks that are specific to your
-game, for example, to script AIs, quests, or dialogues. That's where the
-strength of VisualScript lies.
-
-While it provides all the basic building blocks you need to code complete games,
-we do not recommend to use VisualScript this way. Programming everything with it
-is slow compared to using other programming languages.
-
-.. seealso::
-
-    For more information, see
-    :ref:`Getting started with VisualScript <doc_getting_started_visual_script>`.
-
 C and C++ via GDNative
 C and C++ via GDNative
 ~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~
 
 
@@ -160,8 +137,7 @@ You can use any version of the language or mix compiler brands and versions for
 the generated shared libraries, thanks to our use of an internal C API Bridge.
 the generated shared libraries, thanks to our use of an internal C API Bridge.
 
 
 GDNative is the best choice for performance. You don't need to use it
 GDNative is the best choice for performance. You don't need to use it
-throughout an entire game, as you can write other parts in GDScript, C#, or
-VisualScript.
+throughout an entire game, as you can write other parts in GDScript or C#.
 
 
 When working with GDNative, the available types, functions, and properties
 When working with GDNative, the available types, functions, and properties
 closely resemble Godot's actual C++ API.
 closely resemble Godot's actual C++ API.

+ 0 - 1
tutorials/scripting/index.rst

@@ -19,7 +19,6 @@ case, an interface that works with multiple languages.
    :name: toc-learn-scripting
    :name: toc-learn-scripting
 
 
    gdscript/index
    gdscript/index
-   visual_script/index
    c_sharp/index
    c_sharp/index
    gdnative/index
    gdnative/index
 
 

+ 0 - 102
tutorials/scripting/visual_script/custom_visualscript_nodes.rst

@@ -1,102 +0,0 @@
-.. _doc_custom_visualscript_nodes:
-
-Custom VisualScript nodes
-=========================
-
-Custom nodes are written in GDScript and can then be used in VisualScript.
-This is useful for offloading complex code to GDScript and reusing it.
-
-Creating a custom node
-----------------------
-
-Create a new script that extends :ref:`class_VisualScriptCustomNode` and put a ``tool`` keyword at the top. This is needed for the script to run in the editor.
-
-There are some functions that can be implemented to set parameters of the custom node.
-Only add functions that are needed, a ``_has_input_sequence_port`` function is not necessary if it should return ``false`` for example.
-
-The most important part of a custom node is the ``_step`` function. The logic of the node is defined there.
-
-The ``inputs`` parameter holds the value of the input ports.
-
-The ``outputs`` parameter is an array where the indices represent the output port ids. It can be modified to set the values of the output ports.
-
-``start_mode`` can be checked to see if it is the first time ``_step`` is called.
-
-``working_mem`` is persistent each ``_step`` call. It can be used to store information.
-
-If you want to throw an error, for example if the input types are incorrect, you can return the error message as a string.
-When everything goes right, return the id of the sequence port which should be called next. If your custom node doesn't have any, just return 0.
-
-
-Example:
-
-::
-
-    tool
-    extends VisualScriptCustomNode
-
-    # The name of the custom node as it appears in the search.
-    func _get_caption():
-        return "Get Input Direction 2D"
-
-    func _get_category():
-        return "Input"
-
-    # The text displayed after the input port / sequence arrow.
-    func _get_text():
-        return ""
-
-    func _get_input_value_port_count():
-        return 0
-
-    # The types of the inputs per index starting from 0.
-    func _get_input_value_port_type(idx):
-        return TYPE_OBJECT
-
-    func _get_output_value_port_count():
-        return 1
-
-    # The types of outputs per index starting from 0.
-    func _get_output_value_port_type(idx):
-        return TYPE_VECTOR2
-
-    # The text displayed before each output node per index.
-    func _get_output_value_port_name(idx):
-        return "Direction"
-
-    func _has_input_sequence_port():
-        return true
-
-    # The number of output sequence ports to use
-    # (has to be at least one if you have an input sequence port).
-    func _get_output_sequence_port_count():
-        return 1
-
-    func _step(inputs, outputs, start_mode, working_mem):
-        # start_mode can be checked to see if it is the first time _step is called.
-        # This is useful if you only want to do an operation once.
-
-        # working_memory is persistent between _step calls.
-
-        # The inputs array contains the value of the input ports.
-
-        var x = int(Input.is_action_pressed("ui_right")) - int(Input.is_action_pressed("ui_left"))
-        var y = int(Input.is_action_pressed("ui_down")) - int(Input.is_action_pressed("ui_up"))
-
-        # The outputs array is used to set the data of the output ports.
-
-        outputs[0] = Vector2(x, y)
-
-        # Return the error string if an error occurred, else the id of the next sequence port.
-        return 0
-
-Using a custom node
--------------------
-
-To use the script, add a ``CustomNode``, select it and drag your custom node script into the ``script`` property shown in the inspector.
-
-.. image:: img/visual_script_custom_node_set_script.png
-
-Result:
-
-.. image:: img/visual_script_custom_node_result.png

+ 0 - 131
tutorials/scripting/visual_script/getting_started.rst

@@ -1,131 +0,0 @@
-.. _doc_getting_started_visual_script:
-
-Getting started with Visual Scripting
-=====================================
-
-As with everything in Godot, we prioritize a good experience over copying or integrating third party solutions
-which might not fit nicely in the current workflow. This led us to write our own version of how we believe
-this feature would work best with the engine.
-
-In Godot, a Visual Script fits smoothly together with regular scripts in the Editor tab
-
-.. image:: img/visual_script1.png
-
-
-In fact, Visual Scripting integrates so well to Godot that it's hard to believe it was added only
-in version 3.0. This is because, when editing, the rest of Godot panels and docks act like a
-palette from where you can drag and drop all sorts of information to the script canvas:
-
-.. image:: img/visual_script2.png
-
-
-Creating a script
------------------
-
-Creating scripts works the same as with other scripting languages: Select any node in the scene
-and push the "New Script" button at the top right corner of the Scene Tree dock:
-
-.. image:: img/visual_script3.png
-
-
-Once it opens, the script type "Visual Script" must be selected from the drop down list. The script extension
-must be ".vs" (for Visual Script!).
-
-.. image:: img/visual_script4.png
-
-
-Finally, the Script Editor will open, allowing you to start editing the visual script:
-
-.. image:: img/visual_script5.png
-
-
-Adding a function
------------------
-
-Unlike other visual scripting implementations, Visual Scripting in Godot is heavily based on functions.
-This happens because it uses the same interface to communicate with the engine as other scripting engines.
-In Godot, the scripting interface is universal and all implementations conform to it.
-
-A function is an individual canvas with nodes connected.
-
-A single script can contain many functions, each of which will have a canvas of its own, allowing for more organization.
-
-There are three main ways to add functions in a script:
-
-Overriding a virtual function
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Most types of nodes and other types of objects in Godot contain virtual functions. These are functions that
-will be called (run your code) when something happens and can be looked up in the reference. Virtual functions
-are listed when pressing the "Override" icon in the member panel:
-
-.. image:: img/visual_script6.png
-
-
-In the following example, a function will be executed when the node is loaded and added to the running scene.
-For this, the _ready() virtual method will be overridden:
-
-.. image:: img/visual_script7.png
-
-
-Finally, a canvas appears for this function, showing the override:
-
-.. image:: img/visual_script8.png
-
-
-As some functions expect you to return a value, they will also add a return node where such value is supposed to be
-provided:
-
-.. image:: img/visual_script9.png
-
-
-Connecting a signal to a function
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Nodes in a tree emit signals when something happens. Godot uses signals for all sorts of things.
-A typical example would be a button that emits a "pressed" signal when actually pressed.
-
-For this, a node must be selected and the Node tab opened. This will allow inspecting the signals.
-Once they are displayed, connect the "pressed" signal:
-
-.. image:: img/visual_script10.png
-
-
-This will open the connection dialog. In this dialog, you must select the node where the signal will be
-connected to, and the function that will receive the signal:
-
-.. image:: img/visual_script11.png
-
-
-If this is done right, a new function will be created in our script and a signal will automatically be
-connected to it:
-
-.. image:: img/visual_script12.png
-
-
-Creating a function manually
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The last way to create functions is to do it manually. In general, this is not as common unless you
-really need it. Custom functions work when another (or the same) script calls them manually.
-The main use cases for this are breaking a larger function up into several manageable chunks and reusing your visual code.
-
-To create a function manually, push the big "Plus" button, and a new function will be added
-with a default name:
-
-.. image:: img/visual_script13.png
-
-
-This will add a new function, which can be renamed by simply double clicking its name:
-
-
-.. image:: img/visual_script14.png
-
-
-To edit the "arguments" this function can get (the values you pass to it when you call this function),
-simply click the Function node and check the inspector:
-
-.. image:: img/visual_script15.png
-
-
-More on that will be explained later in this document.

BIN
tutorials/scripting/visual_script/img/visual_script1.png


BIN
tutorials/scripting/visual_script/img/visual_script10.png


BIN
tutorials/scripting/visual_script/img/visual_script11.png


BIN
tutorials/scripting/visual_script/img/visual_script12.png


BIN
tutorials/scripting/visual_script/img/visual_script13.png


BIN
tutorials/scripting/visual_script/img/visual_script14.png


BIN
tutorials/scripting/visual_script/img/visual_script15.png


BIN
tutorials/scripting/visual_script/img/visual_script16.png


BIN
tutorials/scripting/visual_script/img/visual_script17.png


BIN
tutorials/scripting/visual_script/img/visual_script18.png


BIN
tutorials/scripting/visual_script/img/visual_script19.png


BIN
tutorials/scripting/visual_script/img/visual_script2.png


BIN
tutorials/scripting/visual_script/img/visual_script20.png


BIN
tutorials/scripting/visual_script/img/visual_script21.png


BIN
tutorials/scripting/visual_script/img/visual_script22.png


BIN
tutorials/scripting/visual_script/img/visual_script23.png


BIN
tutorials/scripting/visual_script/img/visual_script24.png


BIN
tutorials/scripting/visual_script/img/visual_script25.png


BIN
tutorials/scripting/visual_script/img/visual_script26.png


BIN
tutorials/scripting/visual_script/img/visual_script27.png


BIN
tutorials/scripting/visual_script/img/visual_script28.png


BIN
tutorials/scripting/visual_script/img/visual_script29.png


BIN
tutorials/scripting/visual_script/img/visual_script3.png


BIN
tutorials/scripting/visual_script/img/visual_script30.png


BIN
tutorials/scripting/visual_script/img/visual_script31.png


BIN
tutorials/scripting/visual_script/img/visual_script32.png


BIN
tutorials/scripting/visual_script/img/visual_script33.png


BIN
tutorials/scripting/visual_script/img/visual_script34.png


BIN
tutorials/scripting/visual_script/img/visual_script36.png


BIN
tutorials/scripting/visual_script/img/visual_script37.png


BIN
tutorials/scripting/visual_script/img/visual_script38.png


BIN
tutorials/scripting/visual_script/img/visual_script39.png


BIN
tutorials/scripting/visual_script/img/visual_script4.png


BIN
tutorials/scripting/visual_script/img/visual_script40.png


BIN
tutorials/scripting/visual_script/img/visual_script41.png


BIN
tutorials/scripting/visual_script/img/visual_script42.png


BIN
tutorials/scripting/visual_script/img/visual_script43.png


BIN
tutorials/scripting/visual_script/img/visual_script44.png


BIN
tutorials/scripting/visual_script/img/visual_script45.png


BIN
tutorials/scripting/visual_script/img/visual_script46.png


BIN
tutorials/scripting/visual_script/img/visual_script47.png


BIN
tutorials/scripting/visual_script/img/visual_script48.png


BIN
tutorials/scripting/visual_script/img/visual_script49.png


BIN
tutorials/scripting/visual_script/img/visual_script5.png


BIN
tutorials/scripting/visual_script/img/visual_script50.png


BIN
tutorials/scripting/visual_script/img/visual_script51.png


BIN
tutorials/scripting/visual_script/img/visual_script52.png


BIN
tutorials/scripting/visual_script/img/visual_script53.png


BIN
tutorials/scripting/visual_script/img/visual_script54.png


BIN
tutorials/scripting/visual_script/img/visual_script55.png


BIN
tutorials/scripting/visual_script/img/visual_script6.png


BIN
tutorials/scripting/visual_script/img/visual_script7.png


BIN
tutorials/scripting/visual_script/img/visual_script8.png


BIN
tutorials/scripting/visual_script/img/visual_script9.png


BIN
tutorials/scripting/visual_script/img/visual_script_connect.gif


BIN
tutorials/scripting/visual_script/img/visual_script_custom_node_result.png


BIN
tutorials/scripting/visual_script/img/visual_script_custom_node_set_script.png


BIN
tutorials/scripting/visual_script/img/visual_script_disconnect.gif


+ 0 - 11
tutorials/scripting/visual_script/index.rst

@@ -1,11 +0,0 @@
-VisualScript
-============
-
-.. toctree::
-   :maxdepth: 3
-   :name: toc-learn-scripting-visual_script
-
-   what_is_visual_scripting
-   getting_started
-   nodes_purposes
-   custom_visualscript_nodes

+ 0 - 510
tutorials/scripting/visual_script/nodes_purposes.rst

@@ -1,510 +0,0 @@
-.. _doc_nodes_purposes_visual_script:
-
-Nodes and terminology
-=====================
-
-Before continuing, it must be noted that the *Node* terminology needs to be used with care.
-When referring to *Visual Script Nodes* (or generally *Nodes*) this text will refer to the little boxes you connect with lines, which are part of a graph.
-When referring to *Scene Nodes*, it is implied that the elements that make up a Scene are being referred, which are part of a tree. Their naming is similar but their function is different.
-When referring to *Node* here, it will be implied that a *Visual Script Node* is referred to unless indicated otherwise.
-
-.. image:: img/visual_script16.png
-
-
-Node properties
----------------
-
-Like in most visual scripting implementations, each node has editable properties. In Godot, though, we try to avoid
-bloating the nodes with editable controls for the sake of readability.
-
-Nodes still display the required information as text, but editing is done via the *Inspector*. To edit them,
-select any node and edit its properties in the *Inspector*.
-
-
-Ports and connections
----------------------
-
-Programming in Godot Visual Scripting is done via *Nodes* and *Port Connections* inside each function.
-
-
-Ports
-~~~~~
-
-Nodes in Godot Visual Scripting have *Ports*. These are endpoints that appear to the
-left and right of nodes and which can be used to make *Connections*:
-There are two types of *Ports*: *Sequence* and *Data*.
-
-.. image:: img/visual_script17.png
-
-
-*Sequence Ports* indicate the order in which operations are executed.
-Typically when a *Node* is done processing, it will go to the next node from one of the ports at the right.
-If nothing is connected, the function may end, or another output *Sequence Port* might be tried (this depends on the node).
-Thanks to this, you can follow the logic flow within a function by following the white lines.
-Not every *Node* has *Sequence Ports*. In fact, most do not.
-
-*Data Ports* ports contain typed values. Types can be any regular Godot types,
-such as a boolean, an integer, a string, a Vector3, an array, any Object or Scene Node, etc.
-A *Data Port* on the right side of a node is considered an output, while,
-a port on the left side is an input. Connecting them allows information to flow to the next node.
-
-Not all *Data Port* types are compatible and will allow connections, though.
-Pay special attention to colors and icons, as each type has a different representation:
-
-.. image:: img/visual_script18.png
-
-
-Connections
-~~~~~~~~~~~
-
-To make a connection, drag an *Output Port* towards an *Input Port*.
-
-.. image:: img/visual_script_connect.gif
-
-
-Disconnecting takes a bit more practice. Disconnecting in *Data Ports* happens by
-dragging the *Input* away, while for *Sequence Ports*, this happens by dragging the *Output* away.
-
-.. image:: img/visual_script_disconnect.gif
-
-
-This may seem strange at first, but it happens because *Data Ports* are 1:N
-(A single output port can connect to many inputs), while *Sequence Ports* are N:1
-(Many sequence outputs can be connected to a single input).
-
-Connecting to empty space (drag to connect but unpress over empty space) is also context sensitive, it will supply
-a list of most common operations. For sequences, it will be conditional nodes:
-
-.. image:: img/visual_script52.png
-
-
-While, for data, a contextual set/get/call menu will open:
-
-.. image:: img/visual_script53.png
-
-
-Adding nodes
-------------
-
-Finally! We got to the fun part! But, before explaining in more detail what each type of node does,
-let's take a short look at how nodes are most commonly added and dealt with.
-
-
-Accessing scene nodes
-~~~~~~~~~~~~~~~~~~~~~
-
-One of the most common tasks is accessing Scene Tree Nodes (again, not to mistake with *Visual Script Nodes*).
-Dragging from the Scene Tree and dropping into the canvas will ask you to *call a method* (sometimes referred to as *member function*) on this node.
-
-.. image:: img/visual_script19.png
-
-
-While accessing properties is desired in most cases (more on that below), sometimes *calling methods* can be useful too.
-Methods execute specific actions on objects. In the above case, the mouse pointer can be warped to a position in local
-coordinates to the control. Another common use case is queueing a node for deletion, which is done with the *queue_free* method.
-
-.. image:: img/visual_script20.png
-
-
-Care must be taken that this only works if the scene being edited contains your *Visual Script* in one of the nodes! Otherwise, a warning will be shown.
-
-
-Accessing scene node properties
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This is the most common way to edit *Scene Nodes* in Visual Scripting. Select a *Scene Node* from the *Scene Tree*, go to the Inspector, find *the Name* of the property you want to edit (hint, *not* the value!) and drag it to the canvas:
-
-.. image:: img/visual_script21.png
-
-
-The result is that this value can be changed from your script by writing to a *Data Port*.
-
-If instead reading this value is desired, drag the node again but hold :kbd:`Ctrl` (or :kbd:`Cmd` on macOS). This will create a getter:
-
-.. image:: img/visual_script22.png
-
-
-In this case, the value can be read from a *Data Port*.
-
-
-Variables
-~~~~~~~~~
-
-Variables are memory containers local to the script which can hold a value. This value can be read from any of the functions of the script or from other scripts via the method described in the previous step.
-
-To add a Variable, push the "+" button on the *Variables* section of the Members panel. Double-click the new variable to rename it:
-
-.. image:: img/visual_script23.png
-
-
-Right-clicking the variable allows you to configure its properties:
-
-.. image:: img/visual_script24.png
-
-.. image:: img/visual_script25.png
-
-
-As it can be seen above, the type and initial value of the variable can be changed, as well as some property hints.
-Ticking the "Export" option makes the variable visible in the Inspector when selecting the node. This also makes it available to other scripts via the method described in the previous step.
-
-.. image:: img/visual_script28.png
-
-
-To use the variable in the script, simply drag it to the canvas to create a getter:
-
-.. image:: img/visual_script26.png
-
-
-Likewise, hold :kbd:`Ctrl` (or :kbd:`Cmd` on macOS) to drop a setter:
-
-.. image:: img/visual_script27.png
-
-
-Signals
-~~~~~~~
-
-It is also possible to create your own signals in a script and use them. For this, do the same steps you did for variables in the previous step, except for *Signals*:
-
-.. image:: img/visual_script29.png
-
-
-A signal can also be edited via the right-click menu to customize its arguments:
-
-.. image:: img/visual_script30.png
-
-
-The signal you have created will appear in the Inspector, along with the built-in node signals. This allows you to connect it from another script from another *Scene Node*:
-
-.. image:: img/visual_script31.png
-
-
-Finally, to emit the signal, simply drag it to the canvas:
-
-.. image:: img/visual_script32.png
-
-
-Remember that emitting a signal is a sequenced operation, so it must come from a Sequence port.
-
-
-Adding more nodes
------------------
-
-Now that the basics are covered, let's discuss the large amount of utility nodes available for your canvas!
-Below the member panel, exists the list of all available node types:
-
-.. image:: img/visual_script33.png
-
-
-Pressing :kbd:`Ctrl + F` (or :kbd:`Cmd + F` on macOS) allows you to search the list.
-
-Any of them can be dragged to the scene. Unlike nodes (e.g. dragging a property
-from the Inspector sets the context to the node being edited automatically), these are added without any "contextual" information, so this has to be done manually.
-
-.. image:: img/visual_script34.png
-
-
-Remember that you can check the class reference for what each node does, as they are documented there. That mentioned,
-a brief overview of node types follows:
-
-
-Constants
-~~~~~~~~~
-
-Constant nodes are nodes that provide values that, while not changing over time, can be useful as reference values.
-Most of the time they are integer or float.
-
-.. image:: img/visual_script36.png
-
-
-The first one is "Constant", which allows you to select any value of any type as constant, from an integer (42) to a String ("Hello!"). In general, this node is not used that often because of default input values in *Data Ports*, but it's good to know it exists.
-
-The second is the GlobalConstant node, which contains a long list of constants for global types in Godot. In there
-you can find some useful constants to refer to key names, joystick or mouse buttons, etc.
-
-The third one is MathConstant, which provides typical mathematical constants, such as PI, E, etc.
-
-
-Data
-~~~~
-
-Data nodes deal with all sorts of access to information. Any information in Godot is accessed via these nodes, so
-they are some of the most important ones to use and pretty diverse.
-
-.. image:: img/visual_script37.png
-
-
-There are many types of nodes of interest here, so a short attempt to describe them will follow:
-
-
-Action
-^^^^^^
-
-Action nodes are vital when dealing with input from a device. You can read more about actions in the (@TODO ACTION TUTE LINK).
-In the following example below, the control is moved to the right when the "move_right" action is pressed.
-
-.. image:: img/visual_script38.png
-
-
-Engine Singleton
-^^^^^^^^^^^^^^^^
-
-Engine singletons are global interfaces (meaning they can be accessed without a reference; unlike Scene Nodes, they are always available).
-They have several purposes, but in general, they are useful for low-level access or OS-related access.
-
-.. image:: img/visual_script39.png
-
-
-Remember that dragging a connection to empty space will help you call functions or set/get properties on these:
-
-.. image:: img/visual_script40.png
-
-
-Local Variables
-^^^^^^^^^^^^^^^
-
-These are nodes you can use as temporary storage for your graphs. Make sure they all have the same name and type when using them and they will reference the same piece of memory.
-
-.. image:: img/visual_script41.png
-
-
-As you can see above, there are two nodes available: a simple getter, and a sequenced setter (setting requires a sequence port).
-
-
-Scene Node
-^^^^^^^^^^
-
-This is just a reference to a node in the tree, but it's easier to use this node by dragging the actual node
-from the scene tree to the canvas (this will create it and configure it).
-
-
-Self
-^^^^
-
-In some rare occasions, it may be desired to pass this Scene Node as argument.
-It can be used to call functions and set/get properties, or drag nodes (or event the node itself that has the script) from the Scene Tree to the canvas for this.
-
-
-SceneTree
-^^^^^^^^^
-
-This node is similar to the Singleton node because it references the SceneTree, which contains the active scene.
-SceneTree, however, only works when the node is sitting in the scene and active, otherwise accessing it will
-return an error.
-
-SceneTree allows for many low-level things, like setting stretch options, calling groups, make timers, or even
-load another scene. It's a good class to get familiar with.
-
-
-Preload
-^^^^^^^
-
-This does the same function as preload() in GDScript. It maintains this resource loaded and ready to use. Rather than
-instancing the node, it's simpler to drag the desired resource from the filesystem dock to the canvas.
-
-
-Resource Path
-^^^^^^^^^^^^^
-
-This node is a helper to get a string with a path to a resource you can pick. It's useful in functions that
-load things from disk.
-
-
-Comment
-^^^^^^^
-
-A Comment node works as a node you can resize to put around other nodes. It will not try to get focus or be brought
-to top when selecting it. It can also be used to write text on it.
-
-.. image:: img/visual_script42.png
-
-
-Flow Control
-~~~~~~~~~~~~
-
-Flow control nodes allow the execution to take different branches, usually depending on a
-given condition.
-
-.. image:: img/visual_script43.png
-
-
-Condition
-^^^^^^^^^
-
-This is a node that checks a boolean port. If ``true``, it will go via the "true" sequence port. If ``false``,
-the second. After going for either of them, it goes via the "done" port. Leaving sequence
-ports disconnected is fine if not all of them are used.
-
-
-Iterator
-^^^^^^^^
-
-Some data types in Godot (ie, arrays, dictionaries) are iterable. This means that a bit of code can run
-for each element that it has.
-
-The Iterator node goes through all elements and, for each of them, it goes via the "each" sequence port,
-making the element available in the "elem" data port.
-
-When done, it goes via the "exit" sequence port.
-
-
-Return
-^^^^^^
-
-Some functions can return values. In general for virtual ones, Godot will add the Return node for you.
-A return node forces the function to end.
-
-
-Sequence
-^^^^^^^^
-
-This node is useful mostly for organizing your graph. It calls its sequence ports in order.
-
-
-TypeCast
-^^^^^^^^
-
-This is a useful and commonly used node. You can use it to cast arguments or other objects
-to the type you desire. Afterwards, you can even drag the object output to get full completion.
-
-.. image:: img/visual_script55.png
-
-
-It is also possible to cast to a script, which will allow complete script properties and functions:
-
-.. image:: img/visual_script54.png
-
-
-Switch
-^^^^^^
-
-The Switch node is similar to the Condition node, but it matches many values at the same time.
-
-
-While
-^^^^^
-
-This is a more primitive form of iteration. "repeat" sequence output will be called as long as
-the condition in the "cond" data port is met.
-
-
-Functions
-~~~~~~~~~
-
-Functions are helpers, most of the time deterministic. They take some arguments as
-input and return an output. They are almost never sequenced.
-
-
-Built-In
-^^^^^^^^
-
-There is a list of built-in helpers. The list is almost identical to the one from :ref:`GDScript<class_@GDScript>`. Most of them are mathematical functions, but others can be useful helpers. Make sure to take a look at the list
-at some point.
-
-By Type
-^^^^^^^
-
-Those are the methods available to basic types. For example, if you want a dot-product, you can search for "dot" instead of the Vector3 category.
-In most cases just search the list of nodes, it should be faster.
-
-
-Call
-^^^^
-
-This is the generic calling node. It is rarely used directly but by dragging to empty space on an already configured node.
-
-
-Constructors
-^^^^^^^^^^^^
-
-These are all the functions needed to create Godot basic datatypes. For example, If you need to create a Vector3 out of 3 floats, a constructor must be used.
-
-.. image:: img/visual_script44.png
-
-
-Destructor
-^^^^^^^^^^
-
-This is the opposite to Constructor, it allows to separate any basic type (ie, Vector3) into its sub-elements.
-
-.. image:: img/visual_script45.png
-
-
-Emit Signal
-^^^^^^^^^^^
-
-Emits signals from any object. In general it's not that useful, as dragging a signal to the canvas works better.
-
-
-Get/Set
-^^^^^^^
-
-Generic Getter/Setter node. Dragging properties from the Inspector works better, as they appear properly configured on drop.
-
-
-Wait
-^^^^
-
-The Wait nodes will suspend execution of the function until something happens (many frames can pass until resuming, in fact).
-Default nodes allow you to wait for a frame to pass, a fixed frame or a given amount of time until execution is resumed.
-
-
-Yield
-^^^^^
-
-This node completely suspends the execution of the script, and it will make the function return a value that can be used to resume execution.
-
-
-Yield Signal
-^^^^^^^^^^^^
-
-Same as Yield, but will wait until a given signal is emitted.
-
-
-Index
-~~~~~
-
-Generic indexing operator, not often used but it's good that it exists just in case.
-
-
-Operators
-~~~~~~~~~
-
-These are mostly generic operators, such as addition, multiplication, comparison, etc.
-By default, these mostly accept any datatype (and will throw an error at run-time if the types
-fed do not match those expected by the operator). It is always recommended to set the right
-type for operators to catch errors faster and make the graph easier to read.
-
-.. image:: img/visual_script46.png
-
-
-Expression Node
-^^^^^^^^^^^^^^^
-
-Among the operators, the *Expression* node is the most powerful. If well used, it allows you to enormously simplify
-visual scripts that are math or logic heavy. Type any expression on it and it will be executed in real-time.
-
-Expression nodes can:
-
-- Perform math and logic expressions based on custom inputs (eg: "a*5+b", where a and b are custom inputs):
-
-.. image:: img/visual_script47.png
-
-
-- Access local variables or properties:
-
-.. image:: img/visual_script48.png
-
-
-- Use most of the existing built-in functions that are available to GDScript, such as ``sin()``, ``cos()``, ``print()``, as well as constructors, such as ``Vector3(x, y, z)``, ``Rect2(...)``, etc.:
-
-.. image:: img/visual_script49.png
-
-
-- Call API functions:
-
-.. image:: img/visual_script50.png
-
-
-- Use sequenced mode, which makes more sense in case of respecting the processing order:
-
-.. image:: img/visual_script51.png

+ 0 - 24
tutorials/scripting/visual_script/what_is_visual_scripting.rst

@@ -1,24 +0,0 @@
-.. _doc_what_is_visual_script:
-
-What is Visual Scripting
-========================
-
-Visual Scripting is a tool designed to make the entry barrier to programming
-much lower. As code is more visual, it needs less abstract thinking to be
-understood. Any artist, animator, game designer, etc. can look at it and quickly
-grasp the flow of logic.
-
-The reason it does not make existing programming obsolete is, simply, that it does not scale as well.
-It takes considerably more time to create code with it, and it's often more difficult
-to modify than just writing a few characters.
-
-With the misunderstanding cleared up, the question that remains is what are the practical
-uses for Visual Scripting.
-
-The most common use cases are as follows:
-
-* Game development beginners who want to learn an engine but have no programming experience yet.
-* Artists and Game Designers who have no experience in programming and want to create quick prototypes or simple games.
-* Programmers working in a team that want to make part of the game logic available to Artists or Game Designers in order to offload some of their work.
-
-These scenarios are far more common than one might think, so this is why Godot has added this feature.

+ 1 - 3
tutorials/shaders/visual_shaders.rst

@@ -3,9 +3,7 @@
 Using VisualShaders
 Using VisualShaders
 ===================
 ===================
 
 
-Just as VisualScript is an alternative for users that prefer a graphical
-approach to coding, VisualShaders are the visual alternative for creating
-shaders.
+VisualShaders are the visual alternative for creating shaders.
 
 
 As shaders are inherently linked to visuals, the graph-based approach with
 As shaders are inherently linked to visuals, the graph-based approach with
 previews of textures, materials, etc. offers a lot of additional convenience
 previews of textures, materials, etc. offers a lot of additional convenience