Index: doc-rnd/TODO =================================================================== --- doc-rnd/TODO (revision 1319) +++ doc-rnd/TODO (revision 1320) @@ -1,4 +1,4 @@ -UNGLIB: +UNGLIB (cleanup #3): - get rid of gcode/lists.h, and vector.[ch] (autorouter) BUGS @@ -5,7 +5,7 @@ - gpmi (and other buildings/plugins) not showing up in the about box - gtk hid: hotkeys stopped working for toggle (e.g. check "|"; check todo in ghid_menu_cb()) -CLEANUP #3 +CLEANUP #4 - scconfig: detect libstroke - libstroke: zoom - cleanup resources: Index: doc-rnd/index.html =================================================================== --- doc-rnd/index.html (revision 1319) +++ doc-rnd/index.html (revision 1320) @@ -37,7 +37,7 @@
+Fortunately PCB already had a strong infrastructure supporting this idea. +It has dynamic loadable plugins and the GUI and exporters are in separate +HID modules. While working on pcb-gpmi and later pcb-rnd, I added the +gpmi module as a separate plugin. +
+In version 1.0.8 and 1.0.9 a cosiderable chunk of core code has been moved into +core plugins. A core plugin is just a plugin that is +maintained together with the core, in the same repository, still the code is +somewhat detached from the core. More importantly, the user can choose, for +each plugin, separately: +
+I believe such modularization has benefits on multiple levels: +
+
|
+ +
+(Red means the plugin doesn't really work). + +
module | size [sloc] | status | configure default | description + + + |
---|---|---|---|---|
autoplace | 612 + | works + | buildin + | Automatically place elements. + |
autoroute | 4337 + | works + | buildin + | Automatically route selected or all rats. This is the original autorouter. + |
dbus | 438 + | disabled
+ (TODO: needs scconfig support) + | disabled + | Remote control PCB using DBUS. + |
djopt | 2320 + | works + | buildin + | Various board optimization algorithms. + |
export_bom | 374 + | works + | buildin + | Export bom (Bill of Materials) + |
export_gcode | 2452 + | works + | buildin + | Export to gcode + |
export_gerber | 972 + | works + | buildin + | Export to gerber + |
export_lpr | 96 + | works + | buildin + | Export to lpr (using export_ps to generate postscript) + |
export_nelma | 685 + | works + | buildin + | Export to nelma (Numerical capacitance calculator) + |
export_png | 1107 + | works + | buildin + | Export to png, gif and jpeg + |
export_ps | 1613 + | works + | buildin + | Export postscript or embedded postscript. + |
fontmode | 163 + | works + | disabled + | Font editing actions. + |
gpmi | 3003 + | works + | buildin
+ (if gpmi is installed) + | Scriptable plugin system with about 10 scripting languages supported and dynamic load/unload of scripts that can manipulate the GUI, the board, can implement exporters, etc. + |
import_edif | 3578 + | works + | buildin + | Import code for netlists in the EDIF format. + |
import_sch | 259 + | works + | buildin + | Imports element and netlist data from the schematics (or some other source). + |
legacy_func | 72 + | works + | disabled + | Random collection of old/obsolete (legacy) functions. 3rd party plugins may depend on them. This module implements C functions and variables and does not register actions or flags. + |
mincut | 886 + | works + | buildin + | Use the minimal cut algorithm to indicate shorts: instead of highlighting two random pins/pads, try to highlight the least number of objects that connect the two networks. + |
oldactions | 57 + | works + | disabled + | Random collection of old/obsolete actions. Bell(): audible feedback; DumpLibrary(): print footprint library on stdout + |
puller | 1884 + | works + | buildin + | Pull traces to minimize their length. + |
renumber | 222 + | works + | buildin + | Renumber elements (renaming them) and generate a text file for back annotation. + |
stroke | 124 + | partially works (doesn't work with lesstif; works with the gtk hid, but there's no zoom bindings) + | disabled
+ (requires libstroke installed) + | Gesture recognition with libstroke. + |
toporouter | 6165 + | fails
+ (infinite loop in gts) + | disabled + | Automatically route selected or all rats using a topological algorithm. This is the new autorouter from 2009. + |
vendordrill | 572 + | works + | buildin + | Vendor drill mapping. + |