digraph G { label = "eco2d entity streaming model\n\nThe path from an entity living in a simulation to the rendered image on our screens..."; subgraph cluster_0 { color=green; node [style=filled,shape=box]; flecs, librg_world_write, cwpack_pack; label = "host"; librg_world_write->cwpack_pack; } subgraph cluster_2 { color=blue; node [style=filled,shape=box,label="Packet translation layer"]; pkt; label = "communication"; labelloc = "b"; subgraph cluster_3 { color = lightgray; node [style=filled,shape=box,label="in-memory"]; mem; node [style=filled,shape=box,label="enet"]; enet; label = "Packet transmission"; labelloc = "b"; } pkt->mem [style=dotted,dir=none]; pkt->enet [style=dotted,dir=none]; } subgraph cluster_1 { node [style=filled,shape=box]; librg_world_read, cwpack_unpack, raylib; label = "viewers"; color=red; cwpack_unpack->librg_world_read; librg_world_read->raylib; } flecs->librg_world_write; cwpack_pack->pkt; pkt->cwpack_unpack; }