Every now and then (for several years now) I wonder how viewability of the PCB in the PCB Editor and how it could be improved. Over the years transparency has been added and that’s a good thing, but I find it’s use quite limited. For example, it’s hard to use opacity of less then 70% for any layer because then all the layers start to blend into each other and you loose too much contrast.
One of my idea’s is that opacity should depend on layer drawing order. It does not make much sense if the lowest layer has any transparency, because all it reveals is a uniform background, and thus it just lowers the contrast of that bottom most layer.
Another GUI feature that may be a big improvement is to have the ability to “pin” layers to a certain drawing order. If you combine these two ideas, then you could for example pin the silkscreen layer to the top, so it’s always drawn over all other layers, but give it a low opacity, (maybe as low as 20%?) so it does not obstruct view of any other items. This makes the silkscreen layer much more usable as a “map” of where you are on the PCB wile zoomed in. This could especially help while working on the inner layers of a multi-layer (6+ ?) PCB.
KiCad V6 also has presets for layers, and you can create new presets and switch betwheen them, but I find this functionality still quite limited. These presets only control which layers are visible, and they do not control opacity of the layers or the drawing order of the layers. Another thing I’m missing in the presets are shortcut keys to switch between them. I use the [PgUp] and PgDn] keys quite a lot while routing a PCB, but these do not change the presets.
I think there is a lot of room for improvements here, but I don’t know the best way to improve this or how to turn this in a concise proposal. A user interface for this must also be easy and intuitive to use, and ironically, the functionality for a simple but good GUI is quite difficult to develop. It’s also easy to get lost in functionality when there are too many settings that can be changed.
Below I made an initial draft for a proposal for implementing this, and maybe I will turn this into a real proposal on gitlab at some time, but for now I’m curious what you all think about this and how this idea can be improved upon.
- Create a way to attach a preset to a layer.
- This automatically adds shortcut keys such as [PgUp] and PgDn] to the preset changes.
- This switches automatically between presets during a layer change, So single click preset changes!
- Combined with 2). and 3). this gives a lot of flexibility in how KiCad renders layer changes.
- The ability to copy such a preset to another layer will make managing the presets easier. (For example managing presets for Front / Back layer combinations).
- Add the ability to add layer drawing order to a preset. For example Pin a layer such as silkscreen on top.
- Add the ability to change layer opacity in the presets.
- Combined with 2). you can draw the bottom layers with a high opacity, and the top layers with a low opacity.
- Add a third (or more?) option (s) to the Layer On / Off “eye” icon.
- On / Off stays the same.
- An “auto” lets it being controlled by a preset.
- This icon can have a state to show this layer as it’s own preset.
- Maybe add an option to “pin” a layer to the top here?