Link display: Switch to Bézier curves for clarity.
To improve readability, links could be displayed as Bézier curves instead of straight lines.
Hello, LeMoussel,
Thank you for your request/suggestion.
This request in particular (Bézier curves for representing the connections between sockets) has been made a few times since the release of the app a couple years ago.
I'd love to be able to provide this feature for the users right away, but I actually can't do it due to a limitation of the graphics backend used. However, this issue can be circumvented in the future, although it will take time. Allow me to explain.
The library used for Nodezator's GUI is pygame-ce, a Python binding to SDL used mostly for game development but also great for many kinds of multimedia/visual projects.
By default, in order to offer an easy-to-use efficient default API for users, pygame-ce provides a surface-based simple but powerful API. However, this API isn't good for real-time drawing of smooth shapes. In order to use more advanced graphics, however, pygame-ce allows one to use OpenGL as the graphics backend, which is in our roadmap. However, this would require a major redesign of the underlying systems, which would take months.
On top of that, Nodezator still has a long way to go, lacking a few more urgent/important features like group nodes/subgraphs, so I won't be able to tackle the OpenGL backend implementation in the near future at least until I implement these other features.
However, a more interesting prospect is the fact that I intend to develop versions of Nodezator using other graphics libraries/frameworks, starting with Qt (likely using Pyside6). Qt has built-in APIs for efficient real-time drawing of smooth shapes and actually manages such drawing for us. This will likely arrive sooner, maybe next year.
Thank you again for the suggestion/recommendation. I just wanted to let you (and everyone reading this in the future) know the circumstances that prevent me from implementing it right now and that I'm aware of the issue and looking forward to solving it as soon as the circumstances allow, as described earlier.
According to our issues policy, the severity of this issue makes it a "minor issue" (please, read the issues policy so you understand the reason for that). This means it would usually be moved to the discussions tab under the "minor issue" category.
However, since this is a recurrent requested/suggested change, I'll leave it here (and actually pin it as well), so it remains visible for other people needing info on the issue.