Hi, since I've started building visual programming...
# devlog-together
m
Hi, since I've started building visual programming systems, I have always used a push-based approach where a node triggers another node that follows it. This is much inspired by flow based programming. But since I want to build a generic visual programming system, I think that it is also important to support different ways.. basic statecharts I already support, but a pull-based system is not yet something that I had build with my system. Until now! .. so in this video you can see how I construct a flow that is used to construct a glsl fragment shader. Here the output node pulls in the data from the node's cominh before it in the flow, so working backwards through a flow. Although it's not my goal to build a full product around this alone.. a lot better and much more extensive applications already exist for building shaders this way. But still helpful to look at my project from a different perspective, which leads to some refactoring, bug fixing, insights and inspiration. Yesterday I was really in doubt if this was the right route for this week's time spent on my project because of the awesome demo that tldraw made with gpt4-vision api, very cool! So,I also had to play with it together with my own application and was also amazed with the possibilities! Probably my next video will have this as a topic. Anyway, for now, enjoy my short video where I construct a very simple shader which runs on the GPU via webgl.

https://youtu.be/_VvoZbsmces

k
Really cool visuals! I also appreciate your place and route for the arrows. Nice balance between the discipline of straight lines and the aesthetics of curves.
m
Thanks! A thing that I want to improve is the auto placement of new nodes.. I think that your approach with the "rectangle world" in one your videos might help, so I am going to try something simular.. I also need ways to create space after nodes have been placed, as you can see in my video... currently too much dragging is needed to create space so that the layout of the nodes gets clearer.