The concept of the “change active layer” icon isn’t clear to me. It looks broken, or I’m simply not understanding it.
Oddly enough, we already have an exceedingly obvious concept of “active layer”:
I mean… it doesn’t get more explicit/literal than that. Maybe it doesn’t even need to include the “change” part to be uniquely associated with the function.
“graphic polygon” is something I associate with a bit more “artsiness” (less serious than copper zones). Perhaps the mirrored L shape from the zone could contribute the concept, but rotated by, say, -20°, it wouldn’t look like a copper zone.
I must say I’ve also found it confusing. As I understand it, the icon has two functions:
Act as a “status message” to indicate which two layers are being toggled during routing
Act as a tool bar button to bring up a dialog that changes the layer pair.
The problem is that it is also wanting to display the current “active layer” in addition to the more important information of the layer pairs. I would suggest something like below might be better (background colour transparent). Left=Current layer being routed, Right=Switch layer. If neither of the two layers are selected, just pick any to display first:
F.Cu active :
Paired with inner layer, closer to top:
Paired with inner layer, closer to botom:
Paired with B.Cu:
Inner layer, closer to top active :
Paired with F.Cu:
Paired with inner layer, closer to botom:
Paired with B.Cu:
(etc.)
This should still allow programatically drawing the icon (there are 4 positions on the left and 4 positions on the right), but has the advantage of being able to be read by colour blind people (you can see the shape of the icon to get an idea of your layer pairs rather than the colours).
I’m no designer so probably someone else can come up with a prettier drawing, but it was more to get the concept across. What do you all think?
Thanks, that makes it a lot clearer. I still want to (benevolently) challenge the choice to make the icon do all these things:
There is a stark contrast in information density and functionality when comparing the icon to the dropdown right next to it, which at least has some of the information already.
Now what about this: actually display the layer pair and thereby say what’s going to happen. The place for the hotkey info is in a tooltip, as is the case for the other toolbar items.
That definitely seems a better idea: just do away with the icon alltogether and use two dropdowns instead. However I’m unsure if it falls under the “new feature” category (i.e. it might not be acepted for v6).
Maybe a lead dev can confirm if they see this. I’d be happy to implement if agreed.
I doubt that change can make V6 (as proposed, it’s a new custom widget rather than just a new icon drawing technique like your earlier suggestion). Splitting the layer pair setting up into multiple independent dropdowns doesn’t sound correct to me either, as it won’t scale to custom stackups in the future.
the right-hand side part was implied to show the next or conjugate layer, opening the dialog when clicked. This should map to current functionality, minus the awkwardness of the illustrating icon.
So not just 2 drop-downs. Could you elaborate on the requirements arising from
You drew a custom widget that looks like a dropdown but has multiple clickable things. That isn’t something built in to wxWidgets so would require custom new code development. Qbort suggested implementing something similar but with two dropdowns, which would be possible with less new code but would break the “layer pair” paradigm.
The requirements for custom stackups are that you can designate certain valid layer pairs for routing, not just a NxN set of all possible layers.
conceptually it’s equivalent to a split button where the dropdown and the button part have swapped sides. Yes, it sounds pretty much like a custom widget.
Looking at the current functionality again, I’m no longer so sure what to make of the layer pair vs. simple layer selection dropdown.
A diagonally split icon (like Update PCB from Schematic) might be better than the current one which tries (but fails ) to show tracks on both sides of a via.
The layer selection dropdown is redundant with the indicator in the appearance panel. Personally I would be fine if it disappeared, but I bet some people use it and would be upset. The layer pair selection button is different, and something needs to exist (but it could certainly look better)
Seems to tie in with the “show / hide appearance manager” button question: with a hidden side panel there could be a valid precedent for the layer selection dropdown.
I’m noticing that what we’re discussing as a feature here (layer pairs for PNS) is something I’ve been fighting more than I’ve been able to make use of. I wonder if that had developed differently with this functionality more explicitly displayed.
Looks like there are some issues with the “Change active layer pair for Routing” icon and the code around it.
It changes color with each layer change, also with selecting non copper layers such as Silk Screen.
Color changes only with the “foreground” layer.
I’m thinking about a via diagonally split, where the left top side is the color of the current layer, and the bottom right is the color of the “alternate” layer, with a via in the middle, and a track going to and fro the via in the contrasting color. And oh, the Via should be orange with a white center, as all via’s are in the current icon template.
Currently the “Settings Manager” also has a single triangle for layer selection. It could have multiple symbols for layer selection. For example, a triangle and an asterisk for the “primary” and “secondary” copper layers, and at the same time a “general” selector. This works because drawing tracks will always be on copper, and drawing graphics is normally not done on copper, but it must be possible to also set this “general” marker on a copper layer to put graphics or text there. Maybe I should make an issue for this on Gitlab.
Another simple Idea:
All layers in the Appearance manager are a single list. How about dividing this list into sections:
Copper layers.
Non coppper, but with specific meaning (Adhesive, Silk, Mask, etc)
Free usable: User. Drawings, Eco, User.
Piotr would like User Layers with a Front and Back pair.
Seems interesting but as Jon explained, it would be a new widget and therefore new feature (with potential for bugs). Maybe for v7 we could do something like that.
It does seem there might be a little room for improvement to the icon itself for the time being. I think the idea of just a simple diagonal icon like Jeff suggests could be good to convey the message a bit better.
Even less change to the code would be to just make the background of the existing icon transparent such that the two tracks are always visible .
It seems the main problem here is that the icons displays the active layer as a dominant element, while the selection of the two layer pairs are not so obvious. The two layer pairs are completely independent of the active layer’s dominant color. May be it should not display the active layer color at all, as the icon does not serve to select the active layer.
May be make a white frame or a black background with just the layer pair showing?
(Needs some further improvement in layering of the traces of the layer pair though.)
If the active layer differs from both of those layer pairs, KiCad will refuse to insert a via. I interpret this as being by design. As noted, some of the suggestions would completely change this logic, and likely cause need for major redesign of the undelaying layer manager.
For beginning users designing two layer boards, the current logic works well, as they do not need deal with the concept of active layer pairs to begin with when selecting layer to work on.
That collides with the new flat (no borders) design they have in mind.
Unfortunately this design rule causes a lot of contrast issues, as the icon isn’t readily discernible from the background.
IMHO.
Otherwise your idea is sound.
Really cool would be if the icon could only depict the via and the 2 layers involved and change its colors to mtch what they are on the right.
Google Earth manages that for tracks…