1
0
mirror of git://projects.qi-hardware.com/fped.git synced 2024-11-16 17:18:25 +02:00
fped/TODO

65 lines
2.6 KiB
Plaintext
Raw Normal View History

Major missing features:
- populate input area (still needed: mm/mil, rezoom)
- add default unit (combine with grid unit selection ?)
- consider adding auto/mm/mil selection for each dimension
- add postscript output
- add option to include/omit helper vecs and frames (done for display, still
need postscript)
Minor missing features:
- reorder frames (can use text editor)
- reorder rows in a table (can use text editor)
- reorder columns in a table
- reorder variables in a frame (can use text editor)
Error detection:
- eliminate duplicate instances
Style:
- make column of entry field greedily consume all unallocated space
- make menu bar consume all unallocated space instead of sharing it evenly with
upper toolbar
- status area looks awful
- add button with GTK_STOCK_UNDELETE for "undelete" to menu bar
- edit names/values/etc. in place if possible
Bugs:
- default silk width has no business being hard-coded in obj.c
- undelete only works if not much has changed since the deletion
- focus should return to canvas if nobody else wants it
Code cleanup:
- merge edit_unique with edit_name
- merge find_var_in_frame with similar mechanisms in expr.c and fpd.y
- add regression tests
- the drag logic is too complex. Better: let tool/instance just generate the
list of points at each stage, then handle the highlighting and hovering
inside a dragging module.
Open decisions:
- Q: should loop be (start, last) or (start, iterations) ? or start ... last ?
- change vector circle color ? (also, highlight on hover ?)
- Q: allow reassignment of vector names ?
A1: no: would cause confusion in GUI (vectors could become orphaned)
A2: yes. but we don't change the linkage.
- Q: how do we handle stacks of objects ?
A: we don't but we make it easy to avoid them, by giving a good zoom,
flexible selection, and by disallowing stacks of identical objects in the
first place.
- Q: add frame arguments ? (e.g., .frame pad(pin_num_offset) ...)
we can already approximate this by introducing an intermediate table that
sets up the arguments (provided that we don't consider vectors as well)
- Q: should we make it a requirement to generate objects only once ?
A: almost certainly yes.
Future directions:
- future: consider using cairo instead of gdk
- live update of value when entering strings and expressions ?
- advanced: non-standard solder mask
- advanced: solder paste exceptions (subtractive, additive)
- advanced: silk line width
- future: when encountering an error after a change, we could try to find the
same element in the old instance, and select it
- future: consider editing off-canvas items in place
- near future: treat part name as pattern