Index: trunk/doc-rnd/TODO =================================================================== --- trunk/doc-rnd/TODO (revision 68) +++ trunk/doc-rnd/TODO (revision 69) @@ -3,7 +3,6 @@ - why q doesn't work on vias (new comment about this in action.c) - 1206 jumpers: - gsch2pcb patch -- mincut shorts: better highlight of shorts - merge pcb-gpmi in pcb-rnd - rethink/rewrite the action/change infrastructure - too many void *ptr1 pointers, too many code duplication Index: trunk/doc-rnd/index.html =================================================================== --- trunk/doc-rnd/index.html (revision 68) +++ trunk/doc-rnd/index.html (revision 69) @@ -22,6 +22,7 @@ [intconn] component internal connections [nonetlist] components that are not part of the netlist and should not cause shorts [flagcomp] unknown flag compatibility +[mincut] minimal cut based warnings on shorts [debian] Debian packaging the binaries configured to my own taste Index: trunk/doc-rnd/mincut.html =================================================================== --- trunk/doc-rnd/mincut.html (nonexistent) +++ trunk/doc-rnd/mincut.html (revision 69) @@ -0,0 +1,46 @@ + + +

pcb-rnd - the [mincut] patch

+ +The original code was highlighting pins/pads only when a short came around +after rats nest optimization. This was not very helpful on a complex board. +There had been a long discussion on the mailing list about the best solutions. +There were a few very good ideas, including: + +

+I choose minimal cut for my patch because it doesn't require tracing the +full history or any manual administration of nets vs. objects (which I +would find inevitable even with manual tagging - directly or indirectly +the user needs to be able to change net tags). +

+The minimal cut is the least amount of object whose removal would resolve +the short. It is best demonstrated on an example: +

+ +

+Removing all the marked lines/polys/vias would surely resolve the short +(sometimes leaving rat lines behind). Minimal cut is better than randomly +removing objects, tho: it guarantees that the minimal amount of objects +are to be removed. On a complex board, this plave is likely to be close +to the place where the problem really is - much closer than the pins/pads. + + +

save/load and compatibility

+This patch does not affect the file format. + +

plans

+Set different edge weights, probably increasing weight on edges which +connect two objects that each have only 2 connections; this would orient +mincut towards cutting at junctions instead of cutting randomly a long +string of lines. + + Index: trunk/doc-rnd/mincut.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/doc-rnd/mincut.png =================================================================== --- trunk/doc-rnd/mincut.png (nonexistent) +++ trunk/doc-rnd/mincut.png (revision 69) Property changes on: trunk/doc-rnd/mincut.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property