Comment 15 for bug 593962

Revision history for this message
hauptmech (hauptmech) wrote :

I think it's worth taking a step back from the feature to look at the need. That might help inform the best approach to take.

I'm guessing a bit at linuxcart's true need, using my own need (which I think is the same) to write this. Correct me if I get it wrong linuxcart.

The need is to reduce the visual complexity of a board so that it's easier to focus on what is important to you. In a complex board, especially at the beginning, the rats nest is useless because there are too many lines to parse. However the function of the ratsnest is important, as it helps us see the spatial relationship between board items.

We use the ratsnest as a hint for where node we are focused on needs to be connected to satisfy the netlist. By node I mean any pad, via, trace or zone.

There's a couple ways to focus on nodes. We can look at them, which, unless you have gaze tracking, the computer does not know about, and we have pointing with the pointing device.

Colored nets are a way to help separate nets (and ratsnest associated with them). However simply assigning a unique color to every net and drawing them all on screen does not really reduce complexity.

Removing nets, the other suggestion, does remove complexity, but the cost is that if the user wants to return focus to a hidden net, they have to go through extra effort to locate and unhide it.

There may be other ways to reduce the visual complexity. Not drawing the ratsnest line as a full line, but instead having short directional pointers at each node, might be an approach.

Here's what I think the important points are.

The goal is to reduce visual complexity and clutter while still giving the user access to the information the ratsnest provides: namely how many nets remain unconnected and the closest nodes on the unconnected nets.

Not all boards are equal and forcing complex setup on a simple board would be unhelpful.

Like net highlighting or high-contrast mode or layer color, ratsnest complexity reduction should be done in the main interface rather than buried in a setup dialog.

Netclasses are a feature not everyone uses. They are groups of nets and being able to select a netclass instead of doing multiple selections of nets is a definate win, but nets are the fundamental object of interest here.