0. For the upcoming release ===============================================================================
+ feature req: show grid in both mm and mil in the status bar [report:smilie]
+ BUG: shape editor dialog: catch layer change and regen the shape [report: SQ6POG]
+ BUG: missing subc snap:
	+ polygon pad center snap [report: jg]
	+ subc centroid/origin snap [report: jg]
+ BUG: wrong unit picked on save: bugfiles/wrong_unit.lht; load, save as, compare the coords of the two pad objects; no rounding error but picked mil instead of mm or um; happens on negative coords; see also: pcb-rnd@1253 [report: Karl]
+ BUG: the padstack editor's prototype tab doesn't have an  input field for the local clearance [report: jg]
+ BUG: bug_files/jg1_subc.lht: insert from from library ('i') and get an invalid color reg [report: jg]
+ BUG: can't rotate polygon [report: sam]
+ BUG: autorouter assert: bug_files/autorouter.lht [report: barjac]
+ doc: explain the library path -> pool node lib_path_conf [report: Karl]
+ BUG: parametric footprint dialog: do not regen the footprint while the user is editing - revise the timer code [report: sam]
	+> if not enough, need to reset the timer in <dlg_library.c> lib_param_chg()
+ BUG: CLI: '-x gerber A.lht --gerberfile=haha' works but '-x gerber --gerberfile=haha A.lht' does not [report: jg]
+ BUG: lesstif layer selector doesn't work on silk and mask and paste (composite layers) [report: Karl]
+ BUG: lesstif: invalidate_all() on config change colors [report: Karl]
+ BUG: lhtpers table save bug: take bug_files/lhtpers_ta.lht, insert a new point on the bottom edge, save, contour table is ruined by lhtpers [report: gpaubert]
+ BUG: import .pcb into buffer: bottom side subcircuits or padstacks end up on top: bug_files/maskbug.pcb and maskbug2.pcb (more mini) [report: Vuokko]
- BUG: make test in tests/conf broke [report: igor2]
- BUG: make test in tests/pcbflags broke [report: igor2]

2. For later releases ===============================================================================
SUBC: element removal:
	- cleanup: remove the parallel PCB_TYPE_* enum and maybe all the type/ptr1/ptr2/ptr3 mess too
	- remove Line->Number and *->Number: we use ->term
	- "thermal recipe" so a padstack thermal can be put in a subc and it is change with the layer binding [report: jg]
	- convert pcblib to subcircuits:
		- revise the value attribute - should be empty by default
	- change square and octagon (flag based)
	- hidename
	- after removing pads, remove fillrect from hid - only pads used that; revise the rest of the drawing calls
	- BUG: require unique refdes: remove feauture
	- remove ToggleHideName()
- autocrop:
	- rewrite to use pcb_data_move
	- make sure pcb_data_move does one full poly clipping, the way autocrop does
- lihata v5:
	- BUG: heavy terminal thermals are lost in 'save as' bug_files/ppclr.lht [report: igor2]
		- revise thermal format for all objects: heavy terminals and padstacks
		- write.c: build_thermal for heavy terminals
		- read.c: parse_thermal_heavy already does this right
	- throw out meta/cursor and friends
	- add attributes to layer groups
	- add attributes to layers
	- store thermal on a layer name basis instead of layer ID (padstack)
	- remove elements, pins, pads
	- warn for saving attribute intnoconn in v4
	- save layer color
	- add a subtree where random plugins can store their stuff - probably in a form of an attribute list
- layer color rewrite:
	- depends on lihata v5 layer color save/load
	- grep for layer TODO, hardwired layer colors
	- always use thestored per layer color
	- use the config color only if a new layer is created or loaded without known color
	- BUG: if a new silk layer is inserted before the top silk, it gets the wrong color (when objects are drawn) and even ruins the original top silk's object color [report: Vuokko]
- find.c rewrite:
	- a new "report(NetLength)" should not care about netlists but depend on find.c only
	- BUG: GTK layers:  move the layer+selected color change from the preferences menu to the layer popup (but this should probably live in gui-config.h) [report: Ade]:
	- netlist rewrite
		- when no netlist is loaded, new rats can't be drawn [report: agaran]
- DRC rewrite: extend the DRC window to be a generic location list (or rather rewrite with DAD!)
	- buttons to select one or all items or all items including locked
	- io infra for save incompatibility note with DRC list
	- import sch. shouldn't select elements to be removed but put them on a drc list
	- display number of items at top of drc window
	- export to file 
	- BUG: DRC hilight: for each drc error, have two groups of objects with different color highlight. SetThing assumes there will be only 1 object; this was broken in the original design [report: Igor2]
- BUG: Rotate a subc and then undo. The undo operation only affects one padstack leaving the rest of the subc unchanged. [report: Ade]
- BUG: revert r15462, get conf_set do this automatically; conf_set_dry will need a create arg [report: igor2]
- BUG: revert r15464, fix conf merge bug:
	- the bug is in conf_merge_patch_list() conf.c:607@r15463
	- if we are adding a prepend list, inserting one by one, going from the first to the last of the list is a bad idea: the prepend list has a1;a2;a3, then we insert them in this order ending up as a3;a2;a1
	- get the loop go backward if we are in prepend
- BUG: revert r15465, fix conf merge bug
- BUG: GL: When a padstack is selected, both the padstack and the padstack mark are drawn in the selection colour. The mark becomes invisible because the GL HID does not support XOR. [report: Ade]
- BUG: GTK: "Edit->Edit attributes of->layout" dialog does not close with WM decoration [report:celem]
	- This dialog needs a scrolled window. => extend the attribute dialog both in gtk and lesstif to make scrollable window and rewrite this dialog using DAD, in the dialogs plugin
	- Lesstif HID does not have this dialog => implement it, using DAD
	- Default keyboard focus on "OK" button ? (allow closing the dialog with keyboard)
- BUG: pressing 'b' for back side on a floater refdes text doesn't send it to the back [report: igor2]
- BUG: place 1206 on top; switch to bottom; turn off top copper; press 'n' over the pad - still can rename, even tho pad is invisible! [report: igor2]
- BUG: broken input on lihata padstack proto id shouldn't casue an assert: bug_files/id05.pcb [report: a l3x]
- BUG: changing grid with 'g' uses mil increments when mm grid is activated [wojciechk8]
	-> this will be handled in the big increments rewrite (with Richard)
- feature: xy exporter should have the templates in config, not in hardwired C; maybe make it a hash (per output name) [report: celem]
- BUG: subc terminals should be drawn at the end [report: Ade]
- BUG: when DRC sizes are saved in user conf, they are overridden from the default.pcb -> should be fixed by removing these from pcb_board_t [report: Alain]
	Reason: pcb_board_t Bloat, Shrink, minWid, minSlk, minDrill, minRing -> remove them, use values from the config system instead
- BUG: rewrite layer undo; take it out from old_undo; layer del breaks on undo: can't save where it was added before. Consider the whole layer move and -1 business obsolete and rather add a separate insert and remove call?
	- BUG: add new layer in main window, pcb-rnd issues pcb_warning yet action is placed on undo stack [report: Miloh]
- BUG: lhtpers indentation: bug_files/lhtpers_ins/; breakpoint in pers_table.c:34 and debug why the newline is getting in [report: Igor2]
- BUG: 'n' on a dyntext (e.g. refdes text) should edit the text, not the term of the text [report: igor2]
- BUG: advanced search doesn't deal with subc parts; do this after element removal using the new rtree loops?
- BUG: after the old model removal: undo bug, ML#1130 [report: miloh]
- BUG: Rubberband move line endpoints ignores connected arc endpoints. [Fixing:Ade]
- BUG?: Far-side silk text can be selected and moved when the mouse is over front-side subcircuit. (but this is what we had with elements too! -> search.c configuration) bug_files/farsilk.lht [report: Ade]
- BUG: RTT/arc_sizes.lht - unable to move arcs which have different width and height [report: Ade] - rewrite pcb_is_point_on_arc() elliptical case at the bottom
- BUG: --gui gtk2_gl pcb-rnd library preview pane is black (  doWindows(library) ) [report: Miloh] 
- BUG: dsn export: 2 pin thru-hole rotation bug [report: celem]
- BUG: text rotations not quite right in eagle binary format layouts. See bug_files/tvbgone3-brd-in-eagle.png. Seems 180 and 270ccw rotation are rendered as upright an 90ccw rotation. Hmm. [erich]
- BUG: eagle binary library load fails with assert when pad dimension == 0, drill != zero. Bug arises from uninitiliased st.ms_width minimum feature width DRC value. This does not manifest in XML load as it initiliased to default value of 10mil before the DRC block is read, and updated if specified in the DRC block. There is no DRC block in an eagle binary library, so a decision has to be made wrt to where a default minimum feature size is to be referred to, so that the pad/hole reading code can apply it when pad dimension is not specified at line 824 in read.c. If dimension is not present, but drill is, read.c correctly applies the DRC derived rv_pad_top at line 818 dia = eagle_get_attrc(st, subtree, "diameter", drill * (1.0+st->rv_pad_top*2.0)); Planned changes to rectangle parsing to geenrate copper rectangles, not four lines, will alter +/- eliminate the need for the rectangle read routine to have ms_width available pre DRC read. See bug_files/e-motoren.lbr. [report: Erich]
- BUG: valgrind shows memory leaks relating to binary load. See bug_files/e-motoren.lbr [report: erich]
- BUG: User places a 'tall' part from current default part libs(DB25F.fp), moves cursor over the part on the main window, open pinout dialog (shift-d) -- dialog opens partially offscreen, cannot be resised. x220 with 1360x768 screen [report: Miloh]
- BUG: on loading bug_files/diode.lbr, pcb-rnd's clipping polygon out of existence routine seems to go into a non terminating loop [report: erich].
- BUG: ratlines are not updated after subc rotate [wojciechk8]
- BUG: ChangeSize() doesn't work on floaters if only a floater is selected [report: wojciechk8]
- BUG: ChangeClearSize() results in 2x specified clearance for padstacks in subc [report: wojciechk8]
	-> bug_files/ps_clearance.lht, select subc, :ChangeClearSize(selected, 10 mil)
- BUG: changing clearance to polygon with 'k' on padstack should have priority over lines [report: wojciechk8]
	-> bug_files/ps_clearance.lht, press 'k' on the left padstack -> the line changes clearance instead of the padstack
- BUG: undo 'k' on subc, padstacks are undone separatly [report: wojciechk8]
	-> bug_files/ps_clearance.lht, press 'k' on subc, undo -> only one padstack is affected
- BUG: changing clearance to polygon with 'k' on "via padstacks" doesn't work (ChangeClearSize() neither) [report: wojciechk8]
	-> bug_files/via_clearance.lht
- BUG: run DRC() action multiple times - duplicated entries are added to the list [report: wojciechk8]
- feature: when moving text, also xor-draw the bounding box (should be a config option!) use case: moving refdes texts; easier to line them up with bbox [report: al3x]
- autocrop bug: copper lines become invisible [report: wojciechk8]
	-> should use central data move instead of local implementation
	-> bug_files/redrawbug1.lht, run autocrop()
- BUG: gtk2_gl: RTT/arc_sizes.lht - arc corner case render bug [report: Wed]
? BUG: DRC preview windows don't show all padstacks after a shift-tab or ctrl-tab flip - bug_files/drc1.lht [report: Igor2]
	-> the bug is still there - the problem with preview widget was that it exposed the correct part of the board, but was showing the opposite side. The patch changed expose area, but the viewport is wrong (see bug_files/drc2.lht). Before the patch there would be only the blue line shown in DRC preview, because it touches the proper DRC error area. [wojciechk8]
? BUG: macrofab xy: 5 mil offset [report: celem]
	-> pcb-rnd seems to do everything properly, no idea why macrofab distorts the result
- BUG: undo operation while drawing a multiple segment line doesn't change segment attached to the crosshair [report:wojciechk8]
	- tool_line.c depends on pcb_undo()'s return value; can be fixed only when the old undo system is removed
- BUG: autorouter mismatched line ends: place two horizontal 1206's in a horizontal row; rat line connect the two outer pads; get it autorouter: the result will be an U shaped track to avoid the inner pads; the amrs of the U don't end where the horizontal line starts; this breaks the rubber band mode for moving the horizontal segment [report: celem]
- feature: lesstif does not allow "save as" in non alien format [report: erich]
- key rewrite: (base key swap bug (q<->a, y<->z))
	- for <char> (punctuation): learn key for non-US users
	- lesstif code upgrade for the new API
	- menu file fixup on punctuation in lesstif
- buffer: break up padstack, just like breaking up subcircuits
- feature: extedit: when editing subc with pcb, save configuration and load it in the external pcb-rnd so that grid sizes and other settings are preserved [report: jg]
- vendor: be able to load multiple vendor files (project spec for skips, central for vendor) [report: celem]
- feature: property editor should deal with flags
- subc feature: figure how to do in-place edition of subc, e.g. moving refdes text
- DEL: retire the nelma plugin - nelma is unfinished and not maintained
- feautres/cleanup: hid:
	- "erase" color:
		- pcb_pad_clear_callback() -> hopefully drawn on negative mask only (check this)
		- holes_after should be set to 1 everywhere, then removed -> breaks gerber
		- holes should be drawn below silk and mask (maybe this could be a config setting)
- feature: fp_wget cache dir configurable [report: agaran]
- feature in subc/term:
	- new terminal attribute: "do not connect to the same subc copper" (agaran's coil example)
- update /usr/share/pcb-rnd/default.pcb to default lihata 
	- after switch, update doc/conf and doc/user references to conf settings from .pcb to .lht as needed 
- HID: option for using a fixed background color for the preview widget renders; using the user configured one goes wrong when it's set to dark [report: Alain]
- fontsel: ttf import?
- library window: allow long tags and long location text to split
- undo on new layer from right-click menu in gtk layersel doesn't work
- gtk layersel feature requests:
	- consider to provide a config setting for making open-group-name horizontal [report: istankovic]
- layer rewrite:
	- catch the layer change signal from polygons and reclip; Evan's test case:
	  draw a line on a layer and a poly on another and change whether they are in
	  the same layer group
	- Layer group changes are not marked in the title bar; Evan's test case:
	  make any change in the layer group screen, return to the main screen, no * will be added in the title bar in front of the file name.
- GTK Preferences->User PoV->Layers : Hit 'v' to "zoom fit" the preview [report: Alain]
		- allow GTK to handle keys in preview
		- use the zoompan engine for the zooming. Modifiy API if necessary
- check gpmi when pcb-rnd is fully linstalled - broken symlinks?
- multi-key: display state on the gui
- cleanup/rewrite resources:
	- load/swap menus (TODO#1)
	- gpmi:
		- hid: hid_destroy (pair of hid_create)
		- cleanup on unload: remove menus
- conf:
	- remove CFN_INCREMENTS, test if saving increments from preferences works
	- config pov: change prio
	- gtk preferences: check what takes 131 megs of VIRT ram (on top); destroy the dialog structures when closed
	- gtk preferences: poly isle area widget missing from the sizes tab
	- BUG: default layer names from the user config are ignored
	- fp_fs_search: kill anything that gets ':' separated string as path list, get a config list instead
	- switch the lesstif HID over from attribs to conf
	- remove redundancy: don't store values in the PCB struct that are in the design conf
	- increments are not really implemented
- Menu cleanup: see pool node menu_reorg
- Mark cleanup
	- see pool node mark_cleanup
	- mark bug - ortho shouldn't use it, it should use last point (crosshair.X2); make sure nothing else abuses it [James]
- unravel the undo code
	- grid size change should be undoable? [report:Evan]
	- maybe other conf settings too?
- pcb_act_Attributes -> this could be handled by the property editor maybe? but what about layout attributes and the lesstif hid?
- layer group rewrite:
	- remove PCB_MAX_LAYERGRP and PCB_MAX_LAYER and make them dynamic
	- make the color config dynamic too; invent color for new layers
- layers for top and bottom soldermask, if not present in loaded eagle file, i.e. tvbgone3.brd, do not export on creating gerbers, and cannot be added easily to layout via layer prefs, since ability to add a soldermask group is lacking [erich].
- eagle XML import fails on polygon import reported by miloh, test file alien_formats/eagle/OSHW_XML_examples/eagle_polygon_crash.brd [report: erich], due to input file containing an invalid polygon: a self intersecting poly in line 156 - consider handling "width"?
- eagle rectangle parsing should generate a rectangular feature, not a four line rectangular outline [erich]
- eagle XML wire elements need to have "curve" attribute processed, if present. i.e. arcs. Can see translate2geda for hints [report: erich]
- eagle binary format appended text block needs to be parsed and the text strings allocated to ASCII-127 references in preceding text blocks [erich] 
- eagle binary format v3 and libraries do not have a DRC block specifying restring or minimum feature widths. Binary loader should add a DRC block in these cases to the tree with the minimum settings needed for padstacks and features to load sensibly. [erich].
- layer groups from config (e.g. CLI) is ignored
- layer rewrite: central menu buttons
	- lesstif needs to remember the widgets via lb->w in menu.c
	- rewrite the central code for callbacks?
- io_pcb: new, optional "layer tag" field in mainline's file format
- biggish revamp of the export menu. The whole GUI is clearly designed for the case of only a very few exporters and we now have a lot. 
	- unify how output files are accessed/checked: confirmation on overwrite
- fp_board: extend the API so that the element can be presented without saving to a file
- cleanup: remove mnemonic from the menu system
	- check the central code and struct fields
	- remove "m=" fields from the menu lihata files
- SUBC missing features:
	- manual layer binding (reuse csect?)
- core lib splitup:
	- gsch2pcb: generalize plugin/buildin loading for external tools, check if gsch2pcb can work from plugins
- res/menu:
	- search for vendor in the hid plugins, there should be no trace of it (vendor should register its in submenus with anchors)
	- re-add dynamic menus after a gui change:
		- either remember dynamic menus in a separate list so they can be rebuilt
		- or provide hooks and let plugins deal with it
	- gpmi: auto-remove menus by cookie (TODO#2)
	- load new res on the fly (replace the menu system):
		- low level reload code (re-add the dynamic menus too!)
		- action to reload if file name is known
		- gui load dialog with tags listed
- decide about exporter policy:
	- png exports selection (even in not-as-shown), others don't
	- extend png hid attribs with a flag for this, maybe do the same for others
	- document the decision in "hacking"
- reduce
		- export_bom: rewrite the string list code using htsp and/or lists
		- hash in hid_attrib.c?
		- nelma and gcode both invent .png name locally
		- get rid of gcode/lists.h,  and vector.[ch] (autorouter)
		- vendordrill
			- search for /units, replace it with pcb-printf something
			- add round down
			- replace ignore_refdes, ignore_value and ignore_descr with genvector
	- mods:
		- gpmi (and other buildins/plugins) not showing up in the about box
- self contained
	+ PrintFiles: print where the actual files are coming from, including if the font came from embedded/internal
	- dialog box version
	- project specific menus from extra lihata files - maybe from project.lht
- vendor drill plugin:
	- check if we want to keep vendor name
- dir rename trunk/pcblib/tru-hole should handle make correctly and not walk on existing web services or user installs
- Lihata persistent save:
	- flag compatibility: save unknown, string-flags as loaded by io_pcb
	- ind: FONTS: second font indents incorrectly
	- ind: indentation bug in inline struct therm: closing } is preceded by indentation whitespace for some reason
	- keep numeric format: test all
	- keep unknown subtrees
	- doc/user/02_model/src/obj_arc.lht: Open/Save : Font section is embedded. Once manually removed, the file shows many diffs w.r.t original. Lihata V1 file. [report: Alain]
- query & advanced search
	- search expr wizard should pick up the expression from the button when clicked
	- field accessors:
		- pad area
		- pin area
		- line (and pad) length and length^2
	- make a run on a large board, speed test, with -O0 and -O3:
		- iteration speed (a simple @)
		- eval speed (a simple @ with a lot of constants in an expr)
		- geo speed
		- regex and string cmp match speed vs. select by name
- feature plugins:
	- autocrop doesnt undo (new layout, add some -maskmanaul content, autocrop(), & undo: gui view shifts, board size unchanged [report: Miloh]
	- distalign doesn't work with subc ( align() and distribute()) [report:Miloh]
	- distalign pcb_crosshair option doesn't work as a reference point  [report:Miloh]
	- can't undo after boardflip(), (ERROR: Attempt to pcb_undo() with Serial == 0) [report:Miloh]
- feature req: padstack edit swap shapes - low level for a "solder mask defined pad" [report: ehennes]
- BUG:  segfault when loading kicad_pcb in work/alien_formats/A20*.kicad_pcb gdb at http://scififaster.net/kicad_pcb_gdb.txt - see bug_files/A20-minimal.kicad_pcb [report: miloh flag: erichvk_]
 
3. Long term ===============================================================================


GTK2:
	- next_gui: keep them open, hide

GTK3:
	+ overlapping objects (e.g. 2 fat lines crossing on silk) are darker on the overlap; we need uniform color
	+ mouse scroll wheel doesn't work in cross section
	- zoom hangs: press 'z' on the drawing area -> hang
	+ xor draw fails after 'i' library footprint placement; in fail mode there's no xor outline of buffer; drawing a line fixes it
	- elliptic arc rendering
	- layer selector vertical layer group name truncation
	- main window resize scroll bar warnings
	- component draw "flicker", depending on pan: http://igor2.repo.hu/tmp/gtk3_bug1a.jpg http://igor2.repo.hu/tmp/gtk3_bug1a.jpg
	- missing grid points: http://igor2.repo.hu/tmp/gtk3_bug2.png

Eagle binary:
	- padstack clearances for element pins will rely on connectivity to other polygons layer by layer defined in the netlist 
	- need to refine naming of library (.lbr) elements in loaded .lbr files; any text names in the binary tree, if starting with ASCII 127, sequentially reference strings in the text block which comes immediately after the board/design tree. In later eagle binary versions, the text block seems to become a node of the tree, but a node of arbitrary length, not 24 bytes, with length of block still encoded in first few bytes. 
	- need to add support for non top silk (tPlace), tDocu and top copper text in read.c
	- layouts, once loaded, have issue where deselection of elements only deselects element pins/pads. click-drag of element or saving the layout to .lht and reloading fixes the deselection issue. Example FTSH.... library file for a header exhibits this behaviour.

CLEANUP #7: the big object split
- remove pcb_obj_type_t from const.h - use obj_any.h instead


FEATURES
- BUILD: menuconfig and a config file for scconfig
- menu item for export of multiple selected layout elements to discrete .fp files

4. Low prio ===============================================================================
- CAM:
	- split gerber and drill file generation (make gerber depend on drill, for backward compatibility)
	- export_gerber: add a true gerber drill output
	- make the drill exporter sort drills by attributes, an user configured table telling which drill (by attribute) ends up in which file
	- invent a generic API for both the drill attrib config table and gerber suffixes
	- implement a CAM plugin that can drive multiple exporters with all options configured
	- remove the gerber->drill dep and ask users to use the CAM instead
	- move the hackish gerber layer suffix functions into CAM configs
- BUG: main.c: SIGPIPE - detect it (needed for popen)
- advanced grid settings:
	- keep two lists of preferred grid sizes, one in mil, one in mm
	- generate the grid selection menu from those lists
	- action to step up and down among those predefined grid sizes
	- make sure it is possible to edit the lists in preferences
- libstroke: zoom
- improve locking:
	- consider a move-only lock
	- when thermal and some other operations are applied on a locked element, indicate it
- Erich's gtk lag report: press 's' a lot then move the mouse - 's' ends up in the new loc!
- the TAB bug: (over ssh -X) press tab for a good 15 seconds; release; it won't work again for a fraction of a second
- bug: rubberband_orig: draw a 90 deg arc, a 45 deg line that ends in the endpoints of the arc; enable rubber band, move the arc: only one endpoint of the line is moved [fixing:Ade]
- bug: redrawbug1: grap c1, the diagonal trace gets drawn over U1's silk - it's redrawn because of the overlapping bounding box with C1, while U1 has no overlap [report:Evan]
- bug: draw overlapping lines, a short fully under a long; click on the short, it gets selected but it's not visible because the long hides it [report:Evan]
- bug: layer menu: the bottom silk screen icon color changes from gray-black to brown when any layer is selected. [report:Evan]
- GTK "save as" dialog: there should be an "auto" or "guess by extension" option in the save dialog format
- insert drag&drop strangeness (mainline too):
	insert should just insert a new point and stop there, not starting a drag&drop
	move; the new point should be marked somehow (e.g. green-find one half of the
	object, like arc split does) lines can be inserted mostly only in all-dir-line
	which is strange
- missing rotate polygon (mainline too)
- zoom in too deep onto board edge and the implicit outline rectangle behaves strangely [report:Evan]
- scconfig: check if it picks up settings from env vars (for a gentoo build)
- replace mkdtemp() with something safer
- display net names on pins, vias (and maybe tracks?) when zoomed in enough
- DRC should warn for thin poly hair
- rotate shaped vias don't rotate the shape (is via rotated at all?)
- new examples
	- blinking led with parametric footprints
	- example of nonetlist: 1206 jumpers and logos
- In-line help needs update/re-structuration
	- <lib_gtk_common/dlg_command.c>
- rethink/rewrite the action/change infrastructure - too many void *ptr1
  pointers, too many code duplication
- double sided board, poly on both layers; grab existing lines on one layer and
  move then around. If all layers are visible, redraw of the far side layer
  is slow and causes flickering elements from that layer until the front is
  redrawn. Maybe we should have less flushes?
- gpmi:
	- dialog: attribute dialog: mini parser from text
	- fix debug draw in the gtk hid
	- ACTE_action(): coords should not be int but Coord
	- get timers to work
- dmalloc: #include from the bottom from each file. Is this a good idea?!
- win32 port {large}
	- clean up central Makefile.in rules:
		- remove cat, sed, grep where possible, use scconfig instead
- arc bug: draw an arc with one end out of the drawing area; it will be jumpy and can not be placed properly
	-> AttachForCopy() calls SetCrosshairRange() that then sets crosshair max* which
	limits the arc to move freely. Problem: this is not arc-specific, this happens with any buffer copy! going for no-design-limit is probably better
- while drawing a line, the temporary outline should reflect the layer color
- push&shove
	- keep 45-deg knee when grabbing a point for drag&drop in non-all-dir
- --dump-actions shows gpmi paths ( is this related? it looks unexpected to me)
- unify gui invocation options: pcb-rnd --help gtk_[gdk|gl] and pcb-rnd --help lesstif both show and use different input methods [report:miloh]
- consider allowing negative Delta to be specified in CTRL-E property inspector
- consider a simple all in one function to create a default layer stackup for static/predictable layer formats being imported, to simplify importer coding
- trace length calculator:
	- click a line or arc or via
	- start a search in two directions mapping lines, arcs and vias connected (green-highlight them, marking them found)
	- stop at the first junction (anywhere where more than 2 objects are connected)
	- stop at polygons
	- display the number of vias and net trace length along the found objects
- miter bug;  miter crosses SMT pads under certain conditions [report: celem/miloh] 
