Low: text tree representation

  • real tree
    • open/close sequence
    • positional: flat records with number of children
      • use one numch per line
      • no other fields in line
      • maybe explicit mark for numch
  • fake tree: flat with references
  • fake tree: semi-tree (ini)
  • broken tree (xml: hash vs. list)

tEDAx board (flat with ref):

begin footprint v1 ps_glob_0
 hole - 0.0 0.0 0.8001 -
 fillcircle primary copper - 0.0 0.0 1.0 0.508
 ...
end footprint

begin board v1 -
 drawing_area 0 0 8.89 10.795
 attr PCB::grid::unit mil
 stackup board_stackup
 netlist board_netlist
 place 218 ps_glob_0 5.715 7.62 0.0 0 via
 place 214 ps_glob_0 2.077 1.18 0.0 0 via
 ...
end board

pcb-rnd lihata board (tree):

li:layers {
 ha:top-silk {
  li:objects {
   ha:line.49 { x1=17.815052mm; y1=437.6mil; ... }
   ha:line.52 { x1=17.815052mm; y1=13.01496mm; ... }
   ha:text.55 { string=hello; x=693.5mil; y=443.5mil; ... }
  }
 }
}

Eagle board (tree):

<eagle version="7.7.0">
 <drawing>
  <settings>
   <setting alwaysvectorfont="no"/>
   <setting verticaltext="up"/>
  </settings>
  <layers>
   <layer number="1" name="Top" color="4" .../>

Imaginary line based (num-children):

drawing 2
  settings 2
    setting alwaysvectorfont no
    setting verticaltext up
  layers 3
    layer 1 Top 4
    layer ...
    layer ...

>3_06.html