You’ve got me half-convinced on collapsing the tabs. But there’s one last issue: running the footprints checks is much slower and so is turned off by default. We partially mitigate that by displaying “not run” in the Footprints tab. I suppose we could put the warning as a single item under a Footprints section, but then you can’t hide it.
I’d still miss quickly checking at different levels. But if we allowed setting an error/warning/info level for each error (or error class), then I could still quickly switch between errors and warnings. At what point are we over-building this, though? > On 25 Feb 2020, at 22:34, Jon Evans <j...@craftyjon.com> wrote: > > Coming from the point of view of using commercial tools, I don't really see > the three tabs as different categories. > An unconnected is a violation: it violates the implicit rule that all net > items must be connected. Generally, advanced tools allow you to override > this default rule. > For example, Altium's default rule for unrouted nets: > <image.png> > You could change the filter so that there are some areas where unrouted nets > are allowed, if you wanted to do your design this way. > > And, there are also clearance rules that fall in the category of "did you > mean ==" in that sometimes you actually know better than the checker (this is > especially true with the current state of what rules are possible to express > in KiCad, but will still be true even with a complex rules engine, in my > experience) > > The way I had been thinking about it is that if there is a type of rule that > you just don't want to see, you would just disable that rule in the project > DRC settings. > The tree would only ever show the hierarchy for violations that exist (i.e. > empty top level sections would be suppressed) so it would not be too > cluttered. > > -Jon > > On Tue, Feb 25, 2020 at 5:27 PM Jeff Young <j...@rokeby.ie > <mailto:j...@rokeby.ie>> wrote: > Now that it’s a tree we could do the 3 level hierarchy pretty easily. In > fact, I started to, but I found it really annoying with my small boards where > I usually only have a handful of errors. That’s when I had the filter > checkbox idea. > > I also thought about collapsing the 3 tabs. But they really are different: > an unconnected isn’t a violation (there’s no rule that it violates). > Similarly, the Footprint Warnings are more like C++’s “did you mean ==” > warning when you use a single “=” in an odd place: they as likely to be wrong > as right. > > I do like the right-click clear and ignore actions. And I think those are > fine to do at the 64-types granularity. But I don’t really want to do that > just to not show courtyard violations. > >> On 25 Feb 2020, at 20:53, Jon Evans <j...@craftyjon.com >> <mailto:j...@craftyjon.com>> wrote: >> >> Some mockup to give context to my earlier reply: >> You could right-click a given violation, and clear (one-time) or ignore >> (persistent) either that particular violation, or all violations of its >> class. >> You could also right-click the class header ("Clearance Violations") and >> clear all / ignore all. >> <image.png> >> >> >> On Tue, Feb 25, 2020 at 3:21 PM Jon Evans <j...@craftyjon.com >> <mailto:j...@craftyjon.com>> wrote: >> The idea I was kicking around was to build a 2-level tree, with the parents >> being these categories (in new drc branch): >> https://gitlab.com/kicad/code/kicad/-/blob/drc/pcbnew/drc/drc_violation.h#L31 >> >> <https://gitlab.com/kicad/code/kicad/-/blob/drc/pcbnew/drc/drc_violation.h#L31> >> I think there are much fewer than 64 error types that actually need to be >> displayed to the user in groups. I'm not sure the enum there has absolutely >> everything, but I do think it's close. >> >> I was planning on getting rid of the 3 tabs -- I don't think it makes sense >> to have the three tabs and also filters in the "violations" tab -- the other >> two tabs are just different types of violations. >> >> I am also not sure how much it makes sense to have checkboxes for >> showing/hiding violations. >> It seems like a better ultimate state would be: >> (a) being able to turn on/off all types of violations (and set their >> severity) >> (b) being able to clear or ignore certain violations or certain classes of >> violations in one go (I was thinking via a context menu on each violation >> and the tree header per violation class) >> >> -Jon >> >> On Tue, Feb 25, 2020 at 2:34 PM Jeff Young <j...@rokeby.ie >> <mailto:j...@rokeby.ie>> wrote: >> I’m looking at adding filtering to the DRC window. I’d like to use >> something similar to the HTML report panel where we’d have some checkboxes >> under the listbox: >> >> [ ] Show All [ ] Clearances [ ] Constraints [ ] Courtyards >> >> It would be nice and consistent to then have a Save button after that. But >> this would be a slight procedural change: >> 1) it would separate the reports by the 3 tabs: Violations, Unconnected, >> Footprint Warnings >> 2) you couldn’t set it and forget it: you’d have to click the Save button >> each time you wanted a report >> >> Thoughts? >> >> Note: yes, I did consider user-defined filtering. But we currently have 64 >> DRC error types, and I’m not sure users really want to wade through that >> list (nor do we want to have to reply to queries of the form “what does DRC >> error type XYZ include?” >> >> Note 2: regardless of that, feel free to comment on anything (including “we >> really must have user-defined filtering”). >> _______________________________________________ >> Mailing list: https://launchpad.net/~kicad-developers >> <https://launchpad.net/~kicad-developers> >> Post to : kicad-developers@lists.launchpad.net >> <mailto:kicad-developers@lists.launchpad.net> >> Unsubscribe : https://launchpad.net/~kicad-developers >> <https://launchpad.net/~kicad-developers> >> More help : https://help.launchpad.net/ListHelp >> <https://help.launchpad.net/ListHelp> >
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp