mirror of
https://github.com/dankamongmen/notcurses.git
synced 2024-11-16 00:13:00 +00:00
71 lines
3.3 KiB
Plaintext
71 lines
3.3 KiB
Plaintext
digraph G {
|
|
subgraph clusterNotcurses {
|
|
labeljust="l";
|
|
label = "Notcurses context (one per terminal)"
|
|
style = filled;
|
|
color = lightgrey;
|
|
compound = "true"
|
|
subgraph clusterRedner {
|
|
label="Rendering solves for the current frame. This\nframe is compared to the current state.\nDifferent cells are written to the terminal,\nand the current state is updated."
|
|
style="filled"
|
|
color="cadetblue:purple"
|
|
LastFrame [ shape=rectangle label="Last rendered frame" style=filled color=yellow ]
|
|
RenderArea [ shape=rectangle label="Render area\n(via stdout)" style=filled color=yellow ]
|
|
labelloc="b"
|
|
}
|
|
subgraph clusterZaxis {
|
|
label="Stacks represent distinct collections of planes. Only the main stack gets rendered."
|
|
style=filled;
|
|
color="cadetblue:purple";
|
|
stackMain [ label="Main stack.\nContains standard plane.\nGets rendered." style="filled" fillcolor=darkseagreen1 shape=invtrapezium ]
|
|
stack1 [ label="Extracted\nstack 1" style="filled" fillcolor=darkolivegreen2 shape=invtrapezium ]
|
|
stack2 [ label="Extracted\nstack 2" style="filled" fillcolor=darkolivegreen2 shape=invtrapezium ]
|
|
{ rank=same; stackMain stack1 stack2 }
|
|
}
|
|
stackMain -> LastFrame
|
|
LastFrame -> RenderArea
|
|
subgraph clusterPlanes {
|
|
labelloc="b"
|
|
label="The planes of a stack are related two ways:\n1. Totally ordered along the stack's z-axis.\n2. Via a rooted n-ary tree of binding."
|
|
style=filled;
|
|
color="cadetblue:purple";
|
|
planeStd [ label="Standard plane" shape=rectangle color="lightgreen" style=filled ]
|
|
plane1 [ label="Plane 1" shape=rectangle color="green" style=filled ]
|
|
plane2 [ label="Plane 2" shape=rectangle color="green" style=filled ]
|
|
plane3 [ label="Plane 3" shape=rectangle color="green" style=filled ]
|
|
plane4 [ label="Plane 4" shape=rectangle color="green" style=filled ]
|
|
plane5 [ label="Plane 5" shape=rectangle color="green" style=filled ]
|
|
plane6 [ label="Plane 6" shape=rectangle color="green" style=filled ]
|
|
stackMain -> planeStd
|
|
planeStd -> plane1
|
|
planeStd -> plane2
|
|
plane1 -> plane3
|
|
stack1 -> plane4
|
|
plane4 -> plane5
|
|
stack2 -> plane6
|
|
}
|
|
subgraph clusterMatrices {
|
|
labelloc="b"
|
|
label="A rectangular array of Cells, with one Cell per coordinate of the associated plane, backs each plane.\nThis is the plane's cell matrix. An EGCPool backs each cell matrix; they contain nul-terminated\nUTF8-encoded Extended Grapheme Clusters of arbitrary length."
|
|
style=filled;
|
|
color="cadetblue:purple";
|
|
cMatrix0 [ label="Cellmatrix 0" shape=rectangle style=filled ]
|
|
cMatrix1 [ label="Cellmatrix 1" shape=rectangle style=filled ]
|
|
cMatrix2 [ label="Cellmatrix 2" shape=rectangle style=filled ]
|
|
cMatrix3 [ label="Cellmatrix 3" shape=rectangle style=filled ]
|
|
plane1 -> cMatrix1
|
|
plane2 -> cMatrix2
|
|
plane3 -> cMatrix3
|
|
LastFrame -> cMatrix0
|
|
egcPool0 [ label="EGCPool 0" shape=rectangle style=filled ]
|
|
egcPool1 [ label="EGCPool 1" shape=rectangle style=filled ]
|
|
egcPool2 [ label="EGCPool 2" shape=rectangle style=filled ]
|
|
egcPool3 [ label="EGCPool 3" shape=rectangle style=filled ]
|
|
cMatrix0 -> egcPool0
|
|
cMatrix1 -> egcPool1
|
|
cMatrix2 -> egcPool2
|
|
cMatrix3 -> egcPool3
|
|
}
|
|
}
|
|
}
|