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:
+
+ - manual tagging of objects (lines, polys, arcs, vias) with net and warn
+ where two differently tagged net connects
+
- automatic tagging based on "where it was connected first", then the same
+ warning mechanism as above
+
- trace history (using the undo buffer?) and go back until when it was
+ not broken, check what exactly broke it
+
- history combined with tagging
+
- calculate minimal cut
+
+
+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
|