IndiePython/nodezator

Unable to execute the graph

GrimPixel opened this issue · 3 comments

I placed two integer nodes before and after an “abs” node and connected them one by one. The last integer node still shows “0” after changing the value in the first node and clicking on “Execute graph”.

Hello, GrimPixel,

First of all, thank you for taking your time to contribute so prolifically to the Nodezator project with the many discussions started and also for taking your time to add this issue as well. All of this is much appreciated, as it helps improve Nodezator.

I'll answer each of your posts, one by one. Since I have a lot on my plate at the moment, however, it'll probably take a few days to answer all of them (unless the answers are simple enough). I'll start by this one.


I think you described your problem with enough detail, even so, I might have some problems visualizing in my head what the users describe to me, so please, whenever possible, if you are having a problem with a graph, like in this case, provide an image so it is easier for me to understand. You can take a screenshot of your screen or just export your graph as an image with Ctrl+E. But please, don't worry about it now, I'm just saying this so you can take this measure next time you need help, since it helps me help users as well.

Considering what you described, it seems the app is executing fine (check whether the status text on the bottom left corner of the screen is indicating that the execution took place, it says how much time it took to execute the graph).

I believe this is just a slight misunderstanding, one that is rather common, so there's no need to worry.

You are expecting the widgets in the nodes to be updated with the inputs received, but this is not how widgets work in Nodezator. The values on widgets don't update when the graph is executed. Each widget just represents the input to the parameter it is attached to.

For regular nodes, the value on the widget is used by the node when it is executed and ignored if there's a connection to the parameter.

Data nodes, like the one holding an integer that you described, represent variables and their widgets hold the value for that variable. So your first node holds an integer and passes it to abs and the output of abs goes into the other node holding an integer, but as I said, the widget won't update. That second node holding an integer will just pass the received value on, if there's nodes connected to it, or just stop there.

So I believe this explains this issue you are having. Since there's no problem with Nodezator, I'll be closing this issue as soon as you confirm it, or in a few days.


Here's some additional information that I believe will be helpful, since it seems you want to see the output of nodes in the screen:

If you want to see the output of the nodes in the screen, you'll have to use a viewer node like this one that displays text: https://github.com/KennedyRichard/examples_node_pack/tree/main/visualization/view_text (there's a chapter in the manual describing viewer nodes: https://manual.nodezator.com/ch-defining-viewer-nodes.html).

Make sure to convert the value to a string before passing it to the node.

However, the value in that node will only show when the node is being executed. For instance, if you want to see this in practice right now, you can just copy that viewer node into your own node pack and test it. In a week or so I'll be releasing the next version of Nodezator and it will allow people not only to see outputs when the nodes are executed, but have the outputs stay on the screen even after the nodes executed. Here's a preview https://www.youtube.com/watch?v=W1fnXX-Ffsk

Thank you for your detailed reply. I tried several Python node editors and found this one the most ideal for its simplicity as well as the development activity of it. This is all I expected.

Thank you for your kind words. Nodezator still has a long way to go, but I'm glad it can already be of service as it is.

Since the issue was clarified/solved, I'll be closing it now.