       *cschem------------------------+
       |*front------+   *engine------+|
       ||           |   | [datm    ] ||
       ||           |   | *plugins-+ ||
       || [schedit] |   | |[drc   ]| ||
       ||           |   | |[slot  ]| ||
       || [symedit] |   | |[devmap]| ||  *3rd-------+
       ||           |   | |[fmt1  ]| ||  | [pcb    ]|
[dat1] || [gen1   ] |   | |[fmt2  ]| ||  | [sim    ]|
       ||           |   | |[fmt3  ]| ||  | [wut    ]|
       || [datedit] |   | |[scr1  ]| ||  | [bar    ]|
       ||           |   | |[scr2  ]| ||  +----------+
       ||           |   | |[elib  ]| ||  *library---+
       ||           |   | |[io    ]| ||  |[libsym  ]|
       ||           |   | +--------+ ||  |[libsch  ]|
       |+-----------+   +------------+|  |[libdata ]|
       +------------------------------+  +----------+
                       *project-------+
                       |[prj] [ sch  ]|
[dat2]    [gen2   ]    |[lib] [plgd  ]|  [conv]  [dat3]
                       +--------------+

%%
[cschem]
	label cschem
	valign top
	bgcolor #bbbbbb
	linecolor #bbbbbb

[front]
	label Frontend
	valign top
	bgcolor #9999ee
	linecolor #9999ee

[3rd]
	label 3rd party software packages
	valign top
	bgcolor #bbbbbb
	linecolor #bbbbbb

[library]
	label libraries
	valign top
	bgcolor #ee9999


[engine]
	label Engine
	valign top
	bgcolor #99cc99

[project]
	label project repository
	valign top
	bgcolor #ee9999


[pcb]
	label PCB\neditor

[sim]
	label Circuit\nsimulator

[wut]
	label other\nsoftware

[dat1]
	label data source\ne.g. text

[dat2]
	label data source\ne.g. text
	linecolor #999999
	textcolor #999999

[dat3]
	label data output
	linecolor #999999
	textcolor #999999


[schedit]
	label schematics\neditor

[symedit]
	label symbol editor\nsymbol generator

[datedit]
	label data\neditor

[gen1]
	label generator\ntool

[gen2]
	label generator\ntool
	linecolor #999999
	textcolor #999999

[conv]
	label converter\ntool
	linecolor #999999
	textcolor #999999

[drc]
	label DRC

[slot]
	label slotting\nmechanism

[devmap]
	label device\nmapper

[fmt1]
	label format\nconverter

[fmt2]
	label format\nconverter

[fmt3]
	label format\nconverter

[datm]
	label data model
	bgcolor #99ee99
	linecolor #99ee99

[plugins]
	label plugins
	valign top
	bgcolor #99ee99
	linecolor #99ee99


[io]
	label I/O module

[elib]
	label library\naccess

[prj]
	label project\nfile

[sch]
	label schematics\nsheet

[lib]
	label local\nlib

[plgd]
	label plugin-specific\ndata

[scr1]
	label user\nscript 1

[scr2]
	label user\nscript 2

[bar]
	label user\nformat


[libsym]
	label symbol

[libsch]
	label schematics\nsnippet

[libdata]
	label plugin-specific\ndata

-> dat1.e gen1
	label file

-> dat2.e gen2
	label file
	linecolor #999999
	textcolor #999999

-> gen2.e project
	label e.g. file
	linecolor #999999
	textcolor #999999

-> gen1.e engine
	label API

<-> schedit.e engine
	label API

<-> symedit.e engine
	label API

<-> datedit.e engine
	label API

<-> project.n io
	label e.g. file

<-> fmt1.e pcb
	label file\nor API

<-> fmt2.e sim
	label file\nor API

<-> fmt3.e wut
	label file\nor API

-> project conv.w
	label e.g. file
	linecolor #999999
	textcolor #999999

-> conv.e dat3
	label file
	linecolor #999999
	textcolor #999999

-> scr1.e bar
	label file\nor API

<-> elib.e library
	label e.g. file\nAPI, net
