1. GUI: Drawing objects (done)
Provide tools for placing and editing drawing objects on a sheet
Milestones:
  - wirenet draw/merge
  
- wirenet del
  
- wirenet undo
  
- rectangle (filled/unfilled), polygon
  
- text (basic implementation)
  
- arcs and circles
2. Object attribute access (done)
Provide CLI tools and dialog boxes for accessign drawing object attributes
Milestones:
  - object-specific property dialog boxe for wirenets
  
- object-specific property dialog boxe for symbols/components
  
- generic propedit()
  
- generic query()
  
- finish the basic menu system
3. Symbol support (done)
Implement basic support for symbols and build the initial symbol lib
Milestones:
  - symbol lib support (backing code)
  
- symbol lib dialog
  
- parametric symbols
  
- placement GUI, rotate
  
- symbol lib: basic passives, diodes and leds
  
- symbol lib: transistors, slotted opamps and comparators
  
- symbol lib: misc (titlebox, mounting holes, etc)
  
- symbol lib: basic connectors
4. File formats (done)
Finish I/O plugins for the two most important file formats
Milestones:
  - lihata sheet (native file format)
  
- lihata symbol (native file format)
  
- tEDAx netlist export (portable interface to PCB editors)
5. Internal mechanisms, part 1 (done)
Abstract model compiler and device mapper
Milestones:
  - compiler for nets and components
  
- implement and test filter-like plugin mechanisms
  
- implement devmap as a filter-like plugin
  
- develop a minimal devmap database for testing
6. Internal mechanisms, part 2 (done)
Data model generalism and reuse
Milestones:
  - support multiple sheets (flat multi-page designs)
  
- buffer operations: copy and paste
  
- buffer operations: import, export, serialization
  
- buffer operations: transformations (rotate, mirror)
7. Automation (back annotation done)
Features used in workflow automation
Milestones:
  - back annotation
  
- minimal user scripting