---
source: statum-graph/tests/codebase.rs
expression: "render::dot(&doc)"
---
digraph "statum_codebase" {
rankdir=TB;
subgraph "cluster_m0" {
label="codebase::detached::Machine";
m0_s0 [label="Alone [build]"]
m0_g [label="", shape=point, width=0.01, height=0.01, style=invis]
}
subgraph "cluster_m1" {
label="codebase::named_holder::Machine";
m1_s0 [label="Pending (data) [build]"]
m1_s1 [label="Settled [build]"]
m1_g [label="", shape=point, width=0.01, height=0.01, style=invis]
}
subgraph "cluster_m2" {
label="Task Machine";
m2_s0 [label="Idle [build]"]
m2_s1 [label="Running [build]"]
m2_s2 [label="Done [build]"]
m2_g [label="", shape=point, width=0.01, height=0.01, style=invis]
}
subgraph "cluster_m3" {
label="Workflow Machine [composition]";
m3_s0 [label="Draft [build]"]
m3_s1 [label="In Progress [build]"]
m3_s2 [label="Complete [build]"]
m3_g [label="", shape=point, width=0.01, height=0.01, style=invis]
}
m2_v0 [label="TaskRow::into_machine()", shape=ellipse, style="rounded,dashed", color="#4b5563"]
m3_v0 [label="WorkflowRow::into_machine()", shape=ellipse, style="rounded,dashed", color="#4b5563"]
m1_s0 -> m1_s1 [label="settle"]
m2_s0 -> m2_s1 [label="Start Task"]
m2_s1 -> m2_s2 [label="finish"]
m3_s0 -> m3_s1 [label="Start Workflow"]
m3_s1 -> m3_s2 [label="finish"]
m1_g -> m2_g [ltail="cluster_m1", lhead="cluster_m2", style="bold,dotted", color="#2563eb", fontcolor="#2563eb", penwidth=2, minlen=2, label="exact refs: payload"]
m3_g -> m2_g [ltail="cluster_m3", lhead="cluster_m2", style="bold,dotted", color="#2563eb", fontcolor="#2563eb", penwidth=2, minlen=2, label="composition refs: payload, param"]
m1_s0 -> m2_s2 [style=dashed, label="child"]
m3_s1 -> m2_s1 [style=dashed, label="state_data"]
m2_v0 -> m2_s0 [style=dashed, color="#4b5563", penwidth=2, constraint=false]
m2_v0 -> m2_s1 [style=dashed, color="#4b5563", penwidth=2, constraint=false]
m2_v0 -> m2_s2 [style=dashed, color="#4b5563", penwidth=2, constraint=false]
m3_v0 -> m3_s0 [style=dashed, color="#4b5563", penwidth=2, constraint=false]
m3_v0 -> m3_s1 [style=dashed, color="#4b5563", penwidth=2, constraint=false]
m3_v0 -> m3_s2 [style=dashed, color="#4b5563", penwidth=2, constraint=false]
}