eurorack-blocks
eurorack-blocks copied to clipboard
Erbui GUI Editor
The current way to edit the UI in erbui is far from optimal. This is the feedback we have for the moment and how to address it:
Problems with erbui
- It's hard to layout a GUI without good skills in either Inkscape or Illustrator
- Template don't really help to layout
- It's hard to remember all styles for each control
- Making small adjustements is long (when not using a graphical editor)
- It's impossible to see when a control is colliding with a pin socket
- It's impossible to see when 2 controls are too close and:
- Either, the underlying footprints collide
- Or, there is not enough space for fingers between pots
What Users Want
- They want to get started with a new project idea quickly
- Even if the control placement is not optimal
- They want to iterate with their project idea quickly
- Even if the control placement is not optimal
- They want a list of styles available for a control
- Completion in the IDE project text editor was suggested
- They want a check to know if a control is misplaced (too close, collision, etc.)
- Some sort of DRC check was suggested
- They want to be able to make small position adujstement and see the result in realtime
- Being able to move the controls from within VCV Rack was suggested
Proposition: a GUI Editor
A GUI editor for erbui appears to be a good solution:
- Placement or repositioning is immediate
- Feedback is immediate
- It's possible to have a list of styles or controls in a drop-down menu or browser
- Have some sort of "X-ray view" which displays control footprints and board pin sockets
- This could be done everytime a control is moved
Ideally, the editor could be bootstrapped immediately, so an implementation in Python would be a good idea.
Tasks
Tkinter seems to be more made for automated flow of standard OS controls, which is at the opposite of what we want:
- We want a canvas to layout ourselves
- We want consistent look across platforms
It seems that a relative analogy could be, with the web world:
- Tkinter = HTML
- PySDL2 = SVG
So Tkinter might be still interesting for some operations, such as dividing the space.
Also Tkinter comes bundled with Python apparently, which is a huge plus.
But most likely we won't evaluate it really.