digraph gr {
	rankdir=LR
	nodesep=0.6
	
	pcbrnd [label="pcb-rnd" style=filled fillcolor=cyan shape=box height=12 width=2]
	kicad [label="KiCad\npcbnew" shape=box]
	eeschema [label="KiCad\neeschema" shape=box]
	pcb [label="gEDA/PCB" shape=box]
	freerouting [label="freerouting.net\njava application" shape=box]
	mucs [label="mucs pcb with autorouter" shape=box]
	gEDA [label="gEDA/gaf\n(gschem, gnetlist)" shape=box]
	lepton [label="lepton-eda\n(gschem, gnetlist)" shape=box]
	ltspice [label="LTSpice" shape=box]
	tinycad [label="TinyCAD" shape=box]
	web [label="JavaScript based\nweb application\n(work in progress)" shape=box color="#aaaaaa" fontcolor="#aaaaaa"]
	fidocadj [label="FidoCadj\nartistic PCBs\n(experimental support)" shape=box]

	subgraph cluster_HID {
		label = "HID - user interface"
		style=filled
		color="#dddddd"

		batch   [label="hid_batch" shape=diamond]
		gtk     [label="hid_gtk" shape=diamond]
		lesstif [label="hid_lesstif" shape=diamond]
		remote  [label="hid_remote" shape=diamond]
	}

	subgraph cluster_import {
		label = "import only"
		style=filled
		color="#dddddd"

		lepton
		mucs
		edif
		ltspice
		netlist
		tinycad
		eeschema
	}

	subgraph cluster_export {
		label = "export only"
		style=filled
		color="#dddddd"

		breadboard
		BoM
		XY
		gerber
		ipcd356
		lpr
		nelma
		png
		ps
		stat
		svg
	}

	subgraph cluster_ie {
		label = "import and export"
		style=filled
		color="#dddddd"

		gEDA
		kicad
		pcb
		freerouting
		fidocadj
	}

	pcbrnd -> kicad [label="board: legacy format"]
	pcbrnd -> kicad [label="board: s-expression" dir=both]
	pcbrnd -> kicad [label="footprint: s-expression" dir=both]
	pcbrnd -> fidocadj [label="board" dir=both]

	eeschema -> pcbrnd [label="netlist"]

	pcbrnd -> pcb [label="board: .pcb" dir=both]
	pcbrnd -> pcb [label="footprint: .fp" dir=both]

	pcbrnd -> freerouting [label=".dsn" dir=both]
	mucs -> pcbrnd [label="import"]

	pcbrnd -> breadboard [label=".png"]
	pcbrnd -> BoM [label="text"]
	pcbrnd -> XY [label=".xy\nfor pick and place"]
	pcbrnd -> gerber [label=".gbr, .cnc"]
	pcbrnd -> ipcd356
	pcbrnd -> lpr [label="print"]
	pcbrnd -> nelma
	pcbrnd -> png [label="bitmap"]
	pcbrnd -> ps [label=".ps, .eps"]
	pcbrnd -> stat [label="statsitics .lht"]
	pcbrnd -> svg [label=".svg"]

	edif -> pcbrnd
	ltspice -> pcbrnd [label="schematics"]
	netlist -> pcbrnd [label="pcb .net"]
	lepton -> pcbrnd [label="schematics"]
	gEDA -> pcbrnd [label="schematics\nback annotation" dir=both]
	tinycad -> pcbrnd [label="schematics"]

	pcbrnd -> batch [dir=both]
	pcbrnd -> gtk [dir=both]
	pcbrnd -> lesstif [dir=both]
	pcbrnd -> remote [dir=both]

	remote -> web [dir=both]

	ps -> pcbrnd [weight=1000 style=invis]
}
