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