digraph BuildFlow { // Graph settings rankdir=TB; compound=true; fontname="Helvetica"; node [fontname="Helvetica", fontsize=11]; edge [fontname="Helvetica", fontsize=10]; // Title labelloc="t"; label="Soleprint - Build Flow"; fontsize=16; // Styling node [shape=box, style="rounded,filled"]; // Source subgraph cluster_source { label="Source (spr/)"; style=filled; color="#E3F2FD"; fillcolor="#E3F2FD"; soleprint_src [label="soleprint/\n(core entry points)", fillcolor="#BBDEFB"]; artery_src [label="artery/\n(veins, shunts)", fillcolor="#BBDEFB"]; atlas_src [label="atlas/\n(books)", fillcolor="#BBDEFB"]; station_src [label="station/\n(tools, monitors)", fillcolor="#BBDEFB"]; } // Config subgraph cluster_cfg { label="Room Configs (cfg/)"; style=filled; color="#FFF8E1"; fillcolor="#FFF8E1"; cfg_standalone [label="cfg/standalone/\nconfig.json\ndata/", fillcolor="#FFECB3"]; cfg_amar [label="cfg/amar/\nconfig.json\ndata/\ndocker-compose.yml\n...", fillcolor="#FFECB3"]; cfg_other [label="cfg//\n...", fillcolor="#FFE082", style="rounded,filled,dashed"]; } // Build tool build [label="build.py", fillcolor="#E1BEE7", shape=hexagon]; // Commands subgraph cluster_cmds { label="Commands"; style=filled; color="#F3E5F5"; fillcolor="#F3E5F5"; cmd1 [label="python build.py dev", fillcolor="#CE93D8"]; cmd2 [label="python build.py dev --cfg amar", fillcolor="#CE93D8"]; cmd3 [label="python build.py dev --all", fillcolor="#CE93D8"]; } // Output subgraph cluster_gen { label="Generated Output (gen/)"; style=filled; color="#E8F5E9"; fillcolor="#E8F5E9"; gen_standalone [label="gen/standalone/\n(base soleprint)", fillcolor="#C8E6C9"]; gen_amar [label="gen/amar/\n(with amar config)", fillcolor="#C8E6C9"]; } // Connections soleprint_src -> build; artery_src -> build; atlas_src -> build; station_src -> build; cfg_standalone -> build [style=dashed]; cfg_amar -> build [style=dashed]; build -> cmd1 [style=invis]; build -> cmd2 [style=invis]; build -> cmd3 [style=invis]; cmd1 -> gen_standalone [label="copies + standalone config"]; cmd2 -> gen_amar [label="copies + amar config"]; cmd3 -> gen_standalone [style=dashed]; cmd3 -> gen_amar [style=dashed]; }