Exploring Panel design

There’s a few things to know:

  • Nanovg, VCV’s rendering engine, only implements a small subset of SVG. Many basic features break. You can’t import something straight out of Inkscape/Illustrator/etc. and have it work. You can’t even import complex shapes and have them work: often they break mysteriously and require edits. And the performance is very poor compared to how a web browser renders SVG. It’s the main reason so many modules have minimalist looks: nobody wants to bother with all those quirks.
  • A lot of things are hardcoded. Some modules don’t even use SVG files at all and do all their rendering from code. How easy it will be to collab with a developer depends on their process.
  • The placement of widgets (jacks, buttons, knobs, etc) is done in code. There is a helper script, but it’s only useful if you have a very formal development process, where everything is specified and designed before you start coding. Except for ports of real hardware, that’s never the case, of course. But if your coding process is exploratory, it also can make it easy to move around logical blocks until you’re happy with them. For example, for this module, I only define the position of elements of a node once, then place 16 copies of it, and I also have smaller variants of this module sharing code.

[Undeleting this post since it was replied to but the conversation is in this thread: Looking for a graphic designer ]

1 Like