Repository: godot
Issue: Toggling the `sequenced` property of `VisualScriptFunction` doesn't redraw/refesh call nodes
Labels: bug,topic:visualscript

**Godot version:** v3.2.1.stable.official

**OS/device including version:** N/A

**Issue description:**

The `sequenced` property of `VisualScriptFunction` is (AFAICT) *supposed* to enable a function to act as a getter, however:

 1. The functionality is undocumented (see: https://github.com/godotengine/godot-docs/issues/3287).

 2. There is an apparent bug which makes the functionality--at a minimum--undiscoverable and potentially broken.

**Steps to reproduce:**

Here is an example of how the `sequenced` property is intended to be used:

![godot-visualscript-function-sequenced-example](https://user-images.githubusercontent.com/189962/77118630-8dd04a80-6a99-11ea-84eb-9c90394d335d.png)

Configuration:

 * `functionA` has `Sequenced` set to `true` i.e. "On"/checked/ticked.
 * `functionB` has `Sequenced` set to `false` i.e. "Off"/not-checked/not-ticked

In the above image, note the following:

 * The call node for `functionB()` has no white triangle sequence ports, only an output data port.
 * The call node for `functionA()` *does* have sequence ports in addition to the output data port. 

Also, with this configuration, if the call to `functionA()` is not connected as part of a sequence then an error is generated by the `Add` node:

> Add: Invalid arguments A: Nil B int

**Minimal reproduction project:**

The below image shows an example of what happens if `sequenced` is toggled on `functionA` and another call node is created by dragging the function name from the "Functions" list onto the graph:

![godot-visualscript-function-sequenced-bug-demo](https://user-images.githubusercontent.com/189962/77118859-118a3700-6a9a-11ea-9ecd-f294e6f898c3.png)

Note: 

 * The two `functionA()` function call nodes have different appearances (the lower `functionA()` node was created after "Sequenced" was unchecked.

There is more detail in the documentation-related issue linked above. (Including discussion about whether there's an underlying feature design/exposure issue to consider and uncertainty about potential caching/consts issues.)

### Potential solutions

My impression is that a bug fix would need to cover two parts:

 1. Visual refresh of existing displayed function call nodes.

 2. Handling of connections/disconnections of existing function call nodes when the referenced function's `sequenced` property is set to false--including potentially warning about unintended changes.

### Related links

 * Commit where functionality was added: https://github.com/godotengine/godot/commit/8a4bce6ebd843f9a8f482f74601f4933aae737a3

      * Issue marked as "Fixed" by above commit: "[It's impossible to create custom function without sequence port in VS #6346 ](https://github.com/godotengine/godot/issues/6346)"

      * Semi-related issue: https://github.com/godotengine/godot/pull/9758

 * Documentation of [`ports_changed_notify`](https://github.com/godotengine/godot/blob/0edcb8ed58be8bf6a5145ceaae5ff96778afb2a2/modules/visual_script/doc_classes/VisualScriptNode.xml#L32) which seems like it might used to modify/update display of node after `sequenced` property is toggled. 

 * The [Reddit /r/godot question about the `Sequenced` property of `VisualScriptFunction`](https://old.reddit.com/r/godot/comments/fla7gm/hello_im_currently_learning_how_to_use_visual/) that started me down this path. :)