d2/docs/architecture/overview.d2
Alexander Wang 7bd18b6081
save
2023-03-17 14:37:20 -07:00

57 lines
907 B
Text

input: |d2
hello -> world
|
input -> compiler.parse
compiler: {
parse -> AST
AST: Abstract Syntax Tree {
shape: oval
fill: honeydew
}
AST -> compile
}
compiler.compile -> graph
graph: Graph\n(shapes & connections) {
shape: oval
fill: honeydew
}
graph -> Set Dimensions
Set Dimensions -> Use ruler to measure all texts -> measured graph
Set Dimensions -> Use given, premeasured dimensions -> measured graph
measured graph: {
shape: oval
fill: honeydew
}
measured graph -> layout engine -> positioned graph
positioned graph: {
shape: oval
fill: honeydew
}
positioned graph -> exporter -> diagram
diagram: finalized diagram (styled) {
shape: oval
fill: honeydew
}
diagram -> render SVG
render SVG -> use sketch post processor: optional
use sketch post processor -> SVG bytes
SVG bytes: {
shape: oval
fill: honeydew
}
SVG bytes -> screenshot for PNG: optional