--- source: hydroflow/tests/surface_cross_singleton.rs expression: "df.meta_graph().unwrap().to_mermaid(& Default :: default())" --- %%{init:{'theme':'base','themeVariables':{'clusterBkg':'#ddd','clusterBorder':'#888'}}}%% flowchart TD classDef pullClass fill:#8af,stroke:#000,text-align:left,white-space:pre classDef pushClass fill:#ff8,stroke:#000,text-align:left,white-space:pre classDef otherClass fill:#fdc,stroke:#000,text-align:left,white-space:pre linkStyle default stroke:#aaa 1v1[\"(1v1) source_stream(cross_rx)"/]:::pullClass 2v1[\"(2v1) sort()"/]:::pullClass 3v1[/"(3v1) tee()"\]:::pushClass 4v1[\"(4v1) defer_tick_lazy()"/]:::pullClass 5v1[\"(5v1) source_iter([0])"/]:::pullClass 6v1[\"(6v1) persist::<'static>()"/]:::pullClass 7v1[\"(7v1) union()"/]:::pullClass 8v1[\"(8v1) cross_singleton()"/]:::pullClass 9v1[/"(9v1) tee()"\]:::pushClass 10v1[/"(10v1) for_each(|x| egress_tx.send(x).unwrap())"\]:::pushClass 11v1[\"(11v1) fold(|| 0, |_, _| {})"/]:::pullClass 12v1[\"(12v1) cross_singleton()"/]:::pullClass 13v1[\"(13v1) fold(|| 0, |_, _| {})"/]:::pullClass 14v1[\"(14v1) flat_map(|_| [])"/]:::pullClass 15v1["(15v1) handoff"]:::otherClass 16v1["(16v1) handoff"]:::otherClass 17v1["(17v1) handoff"]:::otherClass 18v1["(18v1) handoff"]:::otherClass 19v1["(19v1) handoff"]:::otherClass 20v1["(20v1) handoff"]:::otherClass 21v1["(21v1) handoff"]:::otherClass 22v1["(22v1) handoff"]:::otherClass 23v1["(23v1) handoff"]:::otherClass 24v1[\"(24v1) identity()"/]:::pullClass 25v1["(25v1) handoff"]:::otherClass 2v1-->3v1 1v1-->15v1 3v1-->16v1 4v1-->|0|7v1 14v1-->17v1 5v1-->6v1 6v1-->|1|7v1 7v1-->18v1 8v1-->9v1 9v1-->10v1 9v1-->19v1 3v1-->20v1 11v1-->21v1 13v1-->22v1 12v1-->23v1 15v1--x2v1; linkStyle 15 stroke:red 16v1-->|input|8v1 17v1-->24v1 18v1--x|single|8v1; linkStyle 18 stroke:red 19v1--x11v1; linkStyle 19 stroke:red 20v1-->|input|12v1 21v1--x|single|12v1; linkStyle 21 stroke:red 22v1-->14v1 23v1--x13v1; linkStyle 23 stroke:red 24v1-->25v1 25v1--o4v1; linkStyle 25 stroke:red subgraph sg_1v1 ["sg_1v1 stratum 0"] 1v1 subgraph sg_1v1_var_teed_in ["var teed_in"] 1v1 end end subgraph sg_2v1 ["sg_2v1 stratum 1"] 2v1 3v1 subgraph sg_2v1_var_teed_in ["var teed_in"] 2v1 3v1 end end subgraph sg_3v1 ["sg_3v1 stratum 0"] 4v1 5v1 6v1 7v1 subgraph sg_3v1_var_persisted_stream ["var persisted_stream"] 5v1 6v1 end subgraph sg_3v1_var_unioned_stream ["var unioned_stream"] 7v1 end end subgraph sg_4v1 ["sg_4v1 stratum 1"] 8v1 9v1 10v1 subgraph sg_4v1_var_join ["var join"] 8v1 9v1 end end subgraph sg_5v1 ["sg_5v1 stratum 2"] 11v1 subgraph sg_5v1_var_folded_thing ["var folded_thing"] 11v1 end end subgraph sg_6v1 ["sg_6v1 stratum 3"] 12v1 subgraph sg_6v1_var_joined_folded ["var joined_folded"] 12v1 end end subgraph sg_7v1 ["sg_7v1 stratum 4"] 13v1 subgraph sg_7v1_var_deferred_stream ["var deferred_stream"] 13v1 end end subgraph sg_8v1 ["sg_8v1 stratum 4"] 14v1 subgraph sg_8v1_var_deferred_stream ["var deferred_stream"] 14v1 end end subgraph sg_9v1 ["sg_9v1 stratum 5"] 24v1 end