Created
March 2, 2026 02:03
-
-
Save awwaiid/5b7303a1faf638cd5ff0afc6f7a7d145 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <html><head> | |
| <meta http-equiv="content-type" content="text/html; charset=UTF-8"> | |
| <title>constraint: false demo</title> | |
| <style> | |
| body { font-family: sans-serif; padding: 1em; } | |
| .row { display: flex; gap: 2em; flex-wrap: wrap; } | |
| .diagram { flex: 1; min-width: 300px; } | |
| h3 { margin-bottom: 0.2em; } | |
| pre.mermaid { border: 1px solid #ccc; border-radius: 4px; padding: 0.5em; } | |
| .src { background: #f5f5f5; border-radius: 4px; padding: 0.5em; font-size: 0.85em; white-space: pre; } | |
| </style> | |
| </head> | |
| <body> | |
| <h1>Edge <code>constraint: false</code> demo</h1> | |
| <h2>Triangle — 3 nodes, 2 ranks</h2> | |
| <div class="row"> | |
| <div class="diagram"> | |
| <h3>Without constraint (3 ranks)</h3> | |
| <div class="src">flowchart TB | |
| A --> B | |
| A --> C | |
| B --> C</div> | |
| <pre class="mermaid" data-processed="true"><svg id="mermaid-1772416964525" width="100%" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 122.27500915527344px;" viewBox="0 0 122.27500915527344 278" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#mermaid-1772416964525{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-1772416964525 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-1772416964525 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-1772416964525 .error-icon{fill:#552222;}#mermaid-1772416964525 .error-text{fill:#552222;stroke:#552222;}#mermaid-1772416964525 .edge-thickness-normal{stroke-width:1px;}#mermaid-1772416964525 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1772416964525 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1772416964525 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-1772416964525 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1772416964525 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1772416964525 .marker{fill:#333333;stroke:#333333;}#mermaid-1772416964525 .marker.cross{stroke:#333333;}#mermaid-1772416964525 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-1772416964525 p{margin:0;}#mermaid-1772416964525 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-1772416964525 .cluster-label text{fill:#333;}#mermaid-1772416964525 .cluster-label span{color:#333;}#mermaid-1772416964525 .cluster-label span p{background-color:transparent;}#mermaid-1772416964525 .label text,#mermaid-1772416964525 span{fill:#333;color:#333;}#mermaid-1772416964525 .node rect,#mermaid-1772416964525 .node circle,#mermaid-1772416964525 .node ellipse,#mermaid-1772416964525 .node polygon,#mermaid-1772416964525 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-1772416964525 .rough-node .label text,#mermaid-1772416964525 .node .label text,#mermaid-1772416964525 .image-shape .label,#mermaid-1772416964525 .icon-shape .label{text-anchor:middle;}#mermaid-1772416964525 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-1772416964525 .rough-node .label,#mermaid-1772416964525 .node .label,#mermaid-1772416964525 .image-shape .label,#mermaid-1772416964525 .icon-shape .label{text-align:center;}#mermaid-1772416964525 .node.clickable{cursor:pointer;}#mermaid-1772416964525 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-1772416964525 .arrowheadPath{fill:#333333;}#mermaid-1772416964525 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-1772416964525 .flowchart-link{stroke:#333333;fill:none;}#mermaid-1772416964525 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964525 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-1772416964525 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964525 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-1772416964525 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-1772416964525 .cluster text{fill:#333;}#mermaid-1772416964525 .cluster span{color:#333;}#mermaid-1772416964525 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-1772416964525 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-1772416964525 rect.text{fill:none;stroke-width:0;}#mermaid-1772416964525 .icon-shape,#mermaid-1772416964525 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964525 .icon-shape p,#mermaid-1772416964525 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-1772416964525 .icon-shape .label rect,#mermaid-1772416964525 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964525 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-1772416964525 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-1772416964525 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="mermaid-1772416964525_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964525_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964525_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964525_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964525_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964525_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M62.034617570730354,62L73.05954602761972,78.30226328991984Q78.94166946411133,87 78.94166946411133,97.5L78.94166946411133,108" id="L_A_B_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_B_0" data-points="W3sieCI6NjIuMDM0NjE3NTcwNzMwMzU0LCJ5Ijo2Mn0seyJ4Ijo3OC45NDE2Njk0NjQxMTEzMywieSI6ODd9LHsieCI6NzguOTQxNjY5NDY0MTExMzMsInkiOjExMn1d" marker-end="url(#mermaid-1772416964525_flowchart-v2-pointEnd)"></path><path d="M25.515385481027458,62L17.06185953433697,74.5Q8.608333587646484,87 8.608333587646484,102.09013256838287L8.608333587646484,139L8.608333587646484,177.90986743161713Q8.608333587646484,191 15.941455070243332,201.843288245699L23.27457655284018,212.68657649139803" id="L_A_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_C_0" data-points="W3sieCI6MjUuNTE1Mzg1NDgxMDI3NDU4LCJ5Ijo2Mn0seyJ4Ijo4LjYwODMzMzU4NzY0NjQ4NCwieSI6ODd9LHsieCI6OC42MDgzMzM1ODc2NDY0ODQsInkiOjEzOX0seyJ4Ijo4LjYwODMzMzU4NzY0NjQ4NCwieSI6MTkxfSx7IngiOjI1LjUxNTM4NTQ4MTAyNzQ1OCwieSI6MjE2fV0=" marker-end="url(#mermaid-1772416964525_flowchart-v2-pointEnd)"></path><path d="M78.94166946411133,166L78.94166946411133,178.5Q78.94166946411133,191 71.93914156352608,201.35444846438116L64.27542649891764,212.68657649139803" id="L_B_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_C_0" data-points="W3sieCI6NzguOTQxNjY5NDY0MTExMzMsInkiOjE2Nn0seyJ4Ijo3OC45NDE2Njk0NjQxMTEzMywieSI6MTkxfSx7IngiOjYyLjAzNDYxNzU3MDczMDM1NCwieSI6MjE2fV0=" marker-end="url(#mermaid-1772416964525_flowchart-v2-pointEnd)"></path></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_A_B_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_A_C_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_B_C_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="flowchart-A-0" transform="translate(43.775001525878906, 35)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>A</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-B-1" transform="translate(78.94166946411133, 139)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>B</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-C-3" transform="translate(43.775001525878906, 243)"><rect class="basic label-container" style="" x="-35.775001525878906" y="-27" width="71.55000305175781" height="54"></rect><g class="label" style="" transform="translate(-5.775001525878906, -12)"><rect></rect><foreignObject width="11.550003051757812" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>C</p></span></div></foreignObject></g></g></g></g></g></svg></pre> | |
| </div> | |
| <div class="diagram"> | |
| <h3>With constraint: false (2 ranks — triangle)</h3> | |
| <div class="src">flowchart TB | |
| A --> B | |
| A --> C | |
| B e1@--> C | |
| e1@{ constraint: false }</div> | |
| <pre class="mermaid" data-processed="true"><svg id="mermaid-1772416964735" width="100%" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 208.2166748046875px;" viewBox="0 0 208.2166748046875 174" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#mermaid-1772416964735{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-1772416964735 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-1772416964735 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-1772416964735 .error-icon{fill:#552222;}#mermaid-1772416964735 .error-text{fill:#552222;stroke:#552222;}#mermaid-1772416964735 .edge-thickness-normal{stroke-width:1px;}#mermaid-1772416964735 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1772416964735 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1772416964735 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-1772416964735 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1772416964735 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1772416964735 .marker{fill:#333333;stroke:#333333;}#mermaid-1772416964735 .marker.cross{stroke:#333333;}#mermaid-1772416964735 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-1772416964735 p{margin:0;}#mermaid-1772416964735 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-1772416964735 .cluster-label text{fill:#333;}#mermaid-1772416964735 .cluster-label span{color:#333;}#mermaid-1772416964735 .cluster-label span p{background-color:transparent;}#mermaid-1772416964735 .label text,#mermaid-1772416964735 span{fill:#333;color:#333;}#mermaid-1772416964735 .node rect,#mermaid-1772416964735 .node circle,#mermaid-1772416964735 .node ellipse,#mermaid-1772416964735 .node polygon,#mermaid-1772416964735 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-1772416964735 .rough-node .label text,#mermaid-1772416964735 .node .label text,#mermaid-1772416964735 .image-shape .label,#mermaid-1772416964735 .icon-shape .label{text-anchor:middle;}#mermaid-1772416964735 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-1772416964735 .rough-node .label,#mermaid-1772416964735 .node .label,#mermaid-1772416964735 .image-shape .label,#mermaid-1772416964735 .icon-shape .label{text-align:center;}#mermaid-1772416964735 .node.clickable{cursor:pointer;}#mermaid-1772416964735 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-1772416964735 .arrowheadPath{fill:#333333;}#mermaid-1772416964735 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-1772416964735 .flowchart-link{stroke:#333333;fill:none;}#mermaid-1772416964735 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964735 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-1772416964735 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964735 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-1772416964735 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-1772416964735 .cluster text{fill:#333;}#mermaid-1772416964735 .cluster span{color:#333;}#mermaid-1772416964735 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-1772416964735 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-1772416964735 rect.text{fill:none;stroke-width:0;}#mermaid-1772416964735 .icon-shape,#mermaid-1772416964735 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964735 .icon-shape p,#mermaid-1772416964735 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-1772416964735 .icon-shape .label rect,#mermaid-1772416964735 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964735 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-1772416964735 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-1772416964735 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="mermaid-1772416964735_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964735_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964735_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964735_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964735_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964735_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M72.44591698279748,62L51.29925897287756,80.15938093283667Q43.333335876464844,87 43.333335876464844,97.5L43.333335876464844,108" id="L_A_B_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_B_0" data-points="W3sieCI6NzIuNDQ1OTE2OTgyNzk3NDgsInkiOjYyfSx7IngiOjQzLjMzMzMzNTg3NjQ2NDg0NCwieSI6ODd9LHsieCI6NDMuMzMzMzM1ODc2NDY0ODQ0LCJ5IjoxMTJ9XQ==" marker-end="url(#mermaid-1772416964735_flowchart-v2-pointEnd)"></path><path d="M135.32909217247595,62L156.47575018239587,80.15938093283667Q164.4416732788086,87 164.4416732788086,97.5L164.4416732788086,108" id="L_A_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_C_0" data-points="W3sieCI6MTM1LjMyOTA5MjE3MjQ3NTk1LCJ5Ijo2Mn0seyJ4IjoxNjQuNDQxNjczMjc4ODA4NiwieSI6ODd9LHsieCI6MTY0LjQ0MTY3MzI3ODgwODYsInkiOjExMn1d" marker-end="url(#mermaid-1772416964735_flowchart-v2-pointEnd)"></path><path d="M78.66667175292969,139L124.66667175292969,139" id="e1" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="e1" data-points="W3sieCI6NzguNjY2NjcxNzUyOTI5NjksInkiOjEzOX0seyJ4IjoxMjguNjY2NjcxNzUyOTI5NywieSI6MTM5fV0=" marker-end="url(#mermaid-1772416964735_flowchart-v2-pointEnd)"></path></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_A_B_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_A_C_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="e1" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="flowchart-A-0" transform="translate(103.88750457763672, 35)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>A</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-B-1" transform="translate(43.333335876464844, 139)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>B</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-C-3" transform="translate(164.4416732788086, 139)"><rect class="basic label-container" style="" x="-35.775001525878906" y="-27" width="71.55000305175781" height="54"></rect><g class="label" style="" transform="translate(-5.775001525878906, -12)"><rect></rect><foreignObject width="11.550003051757812" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>C</p></span></div></foreignObject></g></g></g></g></g></svg></pre> | |
| </div> | |
| </div> | |
| <h2>Unranked sibling — node C at rank of A</h2> | |
| <div class="row"> | |
| <div class="diagram"> | |
| <h3>Without constraint (3 ranks, straight line)</h3> | |
| <div class="src">flowchart TB | |
| A --> B | |
| B --> C</div> | |
| <pre class="mermaid" data-processed="true"><svg id="mermaid-1772416964790" width="100%" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 87.55000305175781px;" viewBox="0 0 87.55000305175781 278" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#mermaid-1772416964790{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-1772416964790 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-1772416964790 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-1772416964790 .error-icon{fill:#552222;}#mermaid-1772416964790 .error-text{fill:#552222;stroke:#552222;}#mermaid-1772416964790 .edge-thickness-normal{stroke-width:1px;}#mermaid-1772416964790 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1772416964790 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1772416964790 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-1772416964790 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1772416964790 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1772416964790 .marker{fill:#333333;stroke:#333333;}#mermaid-1772416964790 .marker.cross{stroke:#333333;}#mermaid-1772416964790 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-1772416964790 p{margin:0;}#mermaid-1772416964790 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-1772416964790 .cluster-label text{fill:#333;}#mermaid-1772416964790 .cluster-label span{color:#333;}#mermaid-1772416964790 .cluster-label span p{background-color:transparent;}#mermaid-1772416964790 .label text,#mermaid-1772416964790 span{fill:#333;color:#333;}#mermaid-1772416964790 .node rect,#mermaid-1772416964790 .node circle,#mermaid-1772416964790 .node ellipse,#mermaid-1772416964790 .node polygon,#mermaid-1772416964790 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-1772416964790 .rough-node .label text,#mermaid-1772416964790 .node .label text,#mermaid-1772416964790 .image-shape .label,#mermaid-1772416964790 .icon-shape .label{text-anchor:middle;}#mermaid-1772416964790 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-1772416964790 .rough-node .label,#mermaid-1772416964790 .node .label,#mermaid-1772416964790 .image-shape .label,#mermaid-1772416964790 .icon-shape .label{text-align:center;}#mermaid-1772416964790 .node.clickable{cursor:pointer;}#mermaid-1772416964790 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-1772416964790 .arrowheadPath{fill:#333333;}#mermaid-1772416964790 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-1772416964790 .flowchart-link{stroke:#333333;fill:none;}#mermaid-1772416964790 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964790 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-1772416964790 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964790 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-1772416964790 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-1772416964790 .cluster text{fill:#333;}#mermaid-1772416964790 .cluster span{color:#333;}#mermaid-1772416964790 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-1772416964790 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-1772416964790 rect.text{fill:none;stroke-width:0;}#mermaid-1772416964790 .icon-shape,#mermaid-1772416964790 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964790 .icon-shape p,#mermaid-1772416964790 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-1772416964790 .icon-shape .label rect,#mermaid-1772416964790 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964790 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-1772416964790 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-1772416964790 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="mermaid-1772416964790_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964790_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964790_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964790_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964790_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964790_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M43.775001525878906,62L43.775001525878906,87L43.775001525878906,108" id="L_A_B_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_B_0" data-points="W3sieCI6NDMuNzc1MDAxNTI1ODc4OTA2LCJ5Ijo2Mn0seyJ4Ijo0My43NzUwMDE1MjU4Nzg5MDYsInkiOjg3fSx7IngiOjQzLjc3NTAwMTUyNTg3ODkwNiwieSI6MTEyfV0=" marker-end="url(#mermaid-1772416964790_flowchart-v2-pointEnd)"></path><path d="M43.775001525878906,166L43.775001525878906,191L43.775001525878906,212" id="L_B_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_C_0" data-points="W3sieCI6NDMuNzc1MDAxNTI1ODc4OTA2LCJ5IjoxNjZ9LHsieCI6NDMuNzc1MDAxNTI1ODc4OTA2LCJ5IjoxOTF9LHsieCI6NDMuNzc1MDAxNTI1ODc4OTA2LCJ5IjoyMTZ9XQ==" marker-end="url(#mermaid-1772416964790_flowchart-v2-pointEnd)"></path></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_A_B_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_B_C_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="flowchart-A-0" transform="translate(43.775001525878906, 35)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>A</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-B-1" transform="translate(43.775001525878906, 139)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>B</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-C-3" transform="translate(43.775001525878906, 243)"><rect class="basic label-container" style="" x="-35.775001525878906" y="-27" width="71.55000305175781" height="54"></rect><g class="label" style="" transform="translate(-5.775001525878906, -12)"><rect></rect><foreignObject width="11.550003051757812" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>C</p></span></div></foreignObject></g></g></g></g></g></svg></pre> | |
| </div> | |
| <div class="diagram"> | |
| <h3>With constraint: false (2 ranks — C beside A)</h3> | |
| <div class="src">flowchart TB | |
| A --> B | |
| B e1@--> C | |
| e1@{ constraint: false }</div> | |
| <pre class="mermaid" data-processed="true"><svg id="mermaid-1772416964827" width="100%" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 208.2166748046875px;" viewBox="0 0 208.2166748046875 174" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#mermaid-1772416964827{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-1772416964827 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-1772416964827 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-1772416964827 .error-icon{fill:#552222;}#mermaid-1772416964827 .error-text{fill:#552222;stroke:#552222;}#mermaid-1772416964827 .edge-thickness-normal{stroke-width:1px;}#mermaid-1772416964827 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1772416964827 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1772416964827 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-1772416964827 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1772416964827 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1772416964827 .marker{fill:#333333;stroke:#333333;}#mermaid-1772416964827 .marker.cross{stroke:#333333;}#mermaid-1772416964827 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-1772416964827 p{margin:0;}#mermaid-1772416964827 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-1772416964827 .cluster-label text{fill:#333;}#mermaid-1772416964827 .cluster-label span{color:#333;}#mermaid-1772416964827 .cluster-label span p{background-color:transparent;}#mermaid-1772416964827 .label text,#mermaid-1772416964827 span{fill:#333;color:#333;}#mermaid-1772416964827 .node rect,#mermaid-1772416964827 .node circle,#mermaid-1772416964827 .node ellipse,#mermaid-1772416964827 .node polygon,#mermaid-1772416964827 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-1772416964827 .rough-node .label text,#mermaid-1772416964827 .node .label text,#mermaid-1772416964827 .image-shape .label,#mermaid-1772416964827 .icon-shape .label{text-anchor:middle;}#mermaid-1772416964827 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-1772416964827 .rough-node .label,#mermaid-1772416964827 .node .label,#mermaid-1772416964827 .image-shape .label,#mermaid-1772416964827 .icon-shape .label{text-align:center;}#mermaid-1772416964827 .node.clickable{cursor:pointer;}#mermaid-1772416964827 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-1772416964827 .arrowheadPath{fill:#333333;}#mermaid-1772416964827 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-1772416964827 .flowchart-link{stroke:#333333;fill:none;}#mermaid-1772416964827 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964827 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-1772416964827 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964827 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-1772416964827 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-1772416964827 .cluster text{fill:#333;}#mermaid-1772416964827 .cluster span{color:#333;}#mermaid-1772416964827 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-1772416964827 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-1772416964827 rect.text{fill:none;stroke-width:0;}#mermaid-1772416964827 .icon-shape,#mermaid-1772416964827 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964827 .icon-shape p,#mermaid-1772416964827 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-1772416964827 .icon-shape .label rect,#mermaid-1772416964827 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964827 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-1772416964827 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-1772416964827 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="mermaid-1772416964827_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964827_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964827_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964827_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964827_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964827_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M43.333335876464844,62L43.333335876464844,87L43.333335876464844,108" id="L_A_B_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_B_0" data-points="W3sieCI6NDMuMzMzMzM1ODc2NDY0ODQ0LCJ5Ijo2Mn0seyJ4Ijo0My4zMzMzMzU4NzY0NjQ4NDQsInkiOjg3fSx7IngiOjQzLjMzMzMzNTg3NjQ2NDg0NCwieSI6MTEyfV0=" marker-end="url(#mermaid-1772416964827_flowchart-v2-pointEnd)"></path><path d="M74.77492347130408,112L129.96544831390736,64.60595012082412" id="e1" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="e1" data-points="W3sieCI6NzQuNzc0OTIzNDcxMzA0MDgsInkiOjExMn0seyJ4IjoxMzMuMDAwMDg1NjgzOTY5MzYsInkiOjYyfV0=" marker-end="url(#mermaid-1772416964827_flowchart-v2-pointEnd)"></path></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_A_B_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="e1" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="flowchart-A-0" transform="translate(43.333335876464844, 35)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>A</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-B-1" transform="translate(43.333335876464844, 139)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>B</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-C-3" transform="translate(164.4416732788086, 35)"><rect class="basic label-container" style="" x="-35.775001525878906" y="-27" width="71.55000305175781" height="54"></rect><g class="label" style="" transform="translate(-5.775001525878906, -12)"><rect></rect><foreignObject width="11.550003051757812" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>C</p></span></div></foreignObject></g></g></g></g></g></svg></pre> | |
| </div> | |
| </div> | |
| <h2>Same-rank sibling — node C at rank of B</h2> | |
| <div class="row"> | |
| <div class="diagram"> | |
| <h3>Without constraint (3 ranks, straight line)</h3> | |
| <div class="src">flowchart TB | |
| A --> B | |
| B --> C</div> | |
| <pre class="mermaid" data-processed="true"><svg id="mermaid-1772416964859" width="100%" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 87.55000305175781px;" viewBox="0 0 87.55000305175781 278" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#mermaid-1772416964859{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-1772416964859 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-1772416964859 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-1772416964859 .error-icon{fill:#552222;}#mermaid-1772416964859 .error-text{fill:#552222;stroke:#552222;}#mermaid-1772416964859 .edge-thickness-normal{stroke-width:1px;}#mermaid-1772416964859 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1772416964859 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1772416964859 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-1772416964859 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1772416964859 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1772416964859 .marker{fill:#333333;stroke:#333333;}#mermaid-1772416964859 .marker.cross{stroke:#333333;}#mermaid-1772416964859 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-1772416964859 p{margin:0;}#mermaid-1772416964859 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-1772416964859 .cluster-label text{fill:#333;}#mermaid-1772416964859 .cluster-label span{color:#333;}#mermaid-1772416964859 .cluster-label span p{background-color:transparent;}#mermaid-1772416964859 .label text,#mermaid-1772416964859 span{fill:#333;color:#333;}#mermaid-1772416964859 .node rect,#mermaid-1772416964859 .node circle,#mermaid-1772416964859 .node ellipse,#mermaid-1772416964859 .node polygon,#mermaid-1772416964859 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-1772416964859 .rough-node .label text,#mermaid-1772416964859 .node .label text,#mermaid-1772416964859 .image-shape .label,#mermaid-1772416964859 .icon-shape .label{text-anchor:middle;}#mermaid-1772416964859 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-1772416964859 .rough-node .label,#mermaid-1772416964859 .node .label,#mermaid-1772416964859 .image-shape .label,#mermaid-1772416964859 .icon-shape .label{text-align:center;}#mermaid-1772416964859 .node.clickable{cursor:pointer;}#mermaid-1772416964859 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-1772416964859 .arrowheadPath{fill:#333333;}#mermaid-1772416964859 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-1772416964859 .flowchart-link{stroke:#333333;fill:none;}#mermaid-1772416964859 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964859 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-1772416964859 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964859 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-1772416964859 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-1772416964859 .cluster text{fill:#333;}#mermaid-1772416964859 .cluster span{color:#333;}#mermaid-1772416964859 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-1772416964859 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-1772416964859 rect.text{fill:none;stroke-width:0;}#mermaid-1772416964859 .icon-shape,#mermaid-1772416964859 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964859 .icon-shape p,#mermaid-1772416964859 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-1772416964859 .icon-shape .label rect,#mermaid-1772416964859 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964859 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-1772416964859 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-1772416964859 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="mermaid-1772416964859_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964859_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964859_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964859_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964859_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964859_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M43.775001525878906,62L43.775001525878906,87L43.775001525878906,108" id="L_A_B_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_B_0" data-points="W3sieCI6NDMuNzc1MDAxNTI1ODc4OTA2LCJ5Ijo2Mn0seyJ4Ijo0My43NzUwMDE1MjU4Nzg5MDYsInkiOjg3fSx7IngiOjQzLjc3NTAwMTUyNTg3ODkwNiwieSI6MTEyfV0=" marker-end="url(#mermaid-1772416964859_flowchart-v2-pointEnd)"></path><path d="M43.775001525878906,166L43.775001525878906,191L43.775001525878906,212" id="L_B_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_C_0" data-points="W3sieCI6NDMuNzc1MDAxNTI1ODc4OTA2LCJ5IjoxNjZ9LHsieCI6NDMuNzc1MDAxNTI1ODc4OTA2LCJ5IjoxOTF9LHsieCI6NDMuNzc1MDAxNTI1ODc4OTA2LCJ5IjoyMTZ9XQ==" marker-end="url(#mermaid-1772416964859_flowchart-v2-pointEnd)"></path></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_A_B_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_B_C_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="flowchart-A-0" transform="translate(43.775001525878906, 35)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>A</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-B-1" transform="translate(43.775001525878906, 139)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>B</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-C-3" transform="translate(43.775001525878906, 243)"><rect class="basic label-container" style="" x="-35.775001525878906" y="-27" width="71.55000305175781" height="54"></rect><g class="label" style="" transform="translate(-5.775001525878906, -12)"><rect></rect><foreignObject width="11.550003051757812" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>C</p></span></div></foreignObject></g></g></g></g></g></svg></pre> | |
| </div> | |
| <div class="diagram"> | |
| <h3>With hidden node/edge and constraint: false (2 ranks — C beside B)</h3> | |
| <div class="src">flowchart TB | |
| A --> B | |
| D:::hidden ~~~ C | |
| B e1@--> C | |
| e1@{ constraint: false }</div> | |
| <pre class="mermaid" data-processed="true"><svg id="mermaid-1772416964888" width="100%" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 208.2166748046875px;" viewBox="0 0 208.2166748046875 174" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#mermaid-1772416964888{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-1772416964888 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-1772416964888 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-1772416964888 .error-icon{fill:#552222;}#mermaid-1772416964888 .error-text{fill:#552222;stroke:#552222;}#mermaid-1772416964888 .edge-thickness-normal{stroke-width:1px;}#mermaid-1772416964888 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1772416964888 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1772416964888 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-1772416964888 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1772416964888 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1772416964888 .marker{fill:#333333;stroke:#333333;}#mermaid-1772416964888 .marker.cross{stroke:#333333;}#mermaid-1772416964888 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-1772416964888 p{margin:0;}#mermaid-1772416964888 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-1772416964888 .cluster-label text{fill:#333;}#mermaid-1772416964888 .cluster-label span{color:#333;}#mermaid-1772416964888 .cluster-label span p{background-color:transparent;}#mermaid-1772416964888 .label text,#mermaid-1772416964888 span{fill:#333;color:#333;}#mermaid-1772416964888 .node rect,#mermaid-1772416964888 .node circle,#mermaid-1772416964888 .node ellipse,#mermaid-1772416964888 .node polygon,#mermaid-1772416964888 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-1772416964888 .rough-node .label text,#mermaid-1772416964888 .node .label text,#mermaid-1772416964888 .image-shape .label,#mermaid-1772416964888 .icon-shape .label{text-anchor:middle;}#mermaid-1772416964888 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-1772416964888 .rough-node .label,#mermaid-1772416964888 .node .label,#mermaid-1772416964888 .image-shape .label,#mermaid-1772416964888 .icon-shape .label{text-align:center;}#mermaid-1772416964888 .node.clickable{cursor:pointer;}#mermaid-1772416964888 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-1772416964888 .arrowheadPath{fill:#333333;}#mermaid-1772416964888 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-1772416964888 .flowchart-link{stroke:#333333;fill:none;}#mermaid-1772416964888 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964888 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-1772416964888 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964888 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-1772416964888 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-1772416964888 .cluster text{fill:#333;}#mermaid-1772416964888 .cluster span{color:#333;}#mermaid-1772416964888 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-1772416964888 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-1772416964888 rect.text{fill:none;stroke-width:0;}#mermaid-1772416964888 .icon-shape,#mermaid-1772416964888 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964888 .icon-shape p,#mermaid-1772416964888 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-1772416964888 .icon-shape .label rect,#mermaid-1772416964888 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964888 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-1772416964888 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-1772416964888 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}#mermaid-1772416964888 .hidden>*{display:none!important;}#mermaid-1772416964888 .hidden span{display:none!important;}</style><g><marker id="mermaid-1772416964888_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964888_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964888_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964888_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964888_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964888_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M43.333335876464844,62L43.333335876464844,87L43.333335876464844,108" id="L_A_B_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_B_0" data-points="W3sieCI6NDMuMzMzMzM1ODc2NDY0ODQ0LCJ5Ijo2Mn0seyJ4Ijo0My4zMzMzMzU4NzY0NjQ4NDQsInkiOjg3fSx7IngiOjQzLjMzMzMzNTg3NjQ2NDg0NCwieSI6MTEyfV0=" marker-end="url(#mermaid-1772416964888_flowchart-v2-pointEnd)"></path><path d="M164.4416732788086,35L164.4416732788086,87L164.4416732788086,112" id="L_D_C_0" class="edge-thickness-invisible edge-pattern-solid" style=";" data-edge="true" data-et="edge" data-id="L_D_C_0" data-points="W3sieCI6MTY0LjQ0MTY3MzI3ODgwODYsInkiOjM1fSx7IngiOjE2NC40NDE2NzMyNzg4MDg2LCJ5Ijo4N30seyJ4IjoxNjQuNDQxNjczMjc4ODA4NiwieSI6MTEyfV0="></path><path d="M78.66667175292969,139L124.66667175292969,139" id="e1" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="e1" data-points="W3sieCI6NzguNjY2NjcxNzUyOTI5NjksInkiOjEzOX0seyJ4IjoxMjguNjY2NjcxNzUyOTI5NywieSI6MTM5fV0=" marker-end="url(#mermaid-1772416964888_flowchart-v2-pointEnd)"></path></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_A_B_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_D_C_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="e1" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="flowchart-A-0" transform="translate(43.333335876464844, 35)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>A</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-B-1" transform="translate(43.333335876464844, 139)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>B</p></span></div></foreignObject></g></g><g class="node default hidden" id="flowchart-D-2" transform="translate(164.4416732788086, 35)"><rect class="basic label-container" style="display:none !important" x="-30" y="-15" width="60" height="30"></rect><g class="label" style="" transform="translate(0, 0)"><rect></rect><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>D</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-C-3" transform="translate(164.4416732788086, 139)"><rect class="basic label-container" style="" x="-35.775001525878906" y="-27" width="71.55000305175781" height="54"></rect><g class="label" style="" transform="translate(-5.775001525878906, -12)"><rect></rect><foreignObject width="11.550003051757812" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>C</p></span></div></foreignObject></g></g></g></g></g></svg></pre> | |
| </div> | |
| </div> | |
| <h2>Cross-link with horizontal edge</h2> | |
| <div class="row"> | |
| <div class="diagram"> | |
| <h3>Without constraint</h3> | |
| <div class="src">flowchart TB | |
| graph TD | |
| A --> C | |
| A --> D | |
| B --> C | |
| B --> D | |
| A o--o B | |
| </div> | |
| <pre class="mermaid" data-processed="true"><svg id="mermaid-1772416964923" width="100%" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 218.65835571289062px;" viewBox="0 0 218.65835571289062 278" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#mermaid-1772416964923{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-1772416964923 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-1772416964923 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-1772416964923 .error-icon{fill:#552222;}#mermaid-1772416964923 .error-text{fill:#552222;stroke:#552222;}#mermaid-1772416964923 .edge-thickness-normal{stroke-width:1px;}#mermaid-1772416964923 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1772416964923 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1772416964923 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-1772416964923 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1772416964923 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1772416964923 .marker{fill:#333333;stroke:#333333;}#mermaid-1772416964923 .marker.cross{stroke:#333333;}#mermaid-1772416964923 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-1772416964923 p{margin:0;}#mermaid-1772416964923 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-1772416964923 .cluster-label text{fill:#333;}#mermaid-1772416964923 .cluster-label span{color:#333;}#mermaid-1772416964923 .cluster-label span p{background-color:transparent;}#mermaid-1772416964923 .label text,#mermaid-1772416964923 span{fill:#333;color:#333;}#mermaid-1772416964923 .node rect,#mermaid-1772416964923 .node circle,#mermaid-1772416964923 .node ellipse,#mermaid-1772416964923 .node polygon,#mermaid-1772416964923 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-1772416964923 .rough-node .label text,#mermaid-1772416964923 .node .label text,#mermaid-1772416964923 .image-shape .label,#mermaid-1772416964923 .icon-shape .label{text-anchor:middle;}#mermaid-1772416964923 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-1772416964923 .rough-node .label,#mermaid-1772416964923 .node .label,#mermaid-1772416964923 .image-shape .label,#mermaid-1772416964923 .icon-shape .label{text-align:center;}#mermaid-1772416964923 .node.clickable{cursor:pointer;}#mermaid-1772416964923 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-1772416964923 .arrowheadPath{fill:#333333;}#mermaid-1772416964923 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-1772416964923 .flowchart-link{stroke:#333333;fill:none;}#mermaid-1772416964923 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964923 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-1772416964923 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964923 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-1772416964923 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-1772416964923 .cluster text{fill:#333;}#mermaid-1772416964923 .cluster span{color:#333;}#mermaid-1772416964923 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-1772416964923 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-1772416964923 rect.text{fill:none;stroke-width:0;}#mermaid-1772416964923 .icon-shape,#mermaid-1772416964923 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964923 .icon-shape p,#mermaid-1772416964923 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-1772416964923 .icon-shape .label rect,#mermaid-1772416964923 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964923 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-1772416964923 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-1772416964923 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="mermaid-1772416964923_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964923_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964923_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964923_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964923_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964923_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M43.608333587646484,61.12322368447458L17.53721423966138,80.39855293199393Q8.608333587646484,87 8.608333587646484,98.10423401633862L8.608333587646484,139L8.608333587646484,177.90986743161713Q8.608333587646484,191 15.941455070243332,201.843288245699L23.27457655284018,212.68657649139803" id="L_A_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_C_0" data-points="W3sieCI6NDMuNjA4MzMzNTg3NjQ2NDg0LCJ5Ijo2MS4xMjMyMjM2ODQ0NzQ1OH0seyJ4Ijo4LjYwODMzMzU4NzY0NjQ4NCwieSI6ODd9LHsieCI6OC42MDgzMzM1ODc2NDY0ODQsInkiOjEzOX0seyJ4Ijo4LjYwODMzMzU4NzY0NjQ4NCwieSI6MTkxfSx7IngiOjI1LjUxNTM4NTQ4MTAyNzQ1OCwieSI6MjE2fV0=" marker-end="url(#mermaid-1772416964923_flowchart-v2-pointEnd)"></path><path d="M114.27500534057617,61.12322368447458L140.34612468856128,80.39855293199393Q149.27500534057617,87 149.27500534057617,98.10423401633862L149.27500534057617,139L149.27500534057617,179.0664260836268Q149.27500534057617,191 154.54725526825555,201.70577260722587L159.81950519593494,212.41154521445173" id="L_A_D_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_D_0" data-points="W3sieCI6MTE0LjI3NTAwNTM0MDU3NjE3LCJ5Ijo2MS4xMjMyMjM2ODQ0NzQ1OH0seyJ4IjoxNDkuMjc1MDA1MzQwNTc2MTcsInkiOjg3fSx7IngiOjE0OS4yNzUwMDUzNDA1NzYxNywieSI6MTM5fSx7IngiOjE0OS4yNzUwMDUzNDA1NzYxNywieSI6MTkxfSx7IngiOjE2MS41ODY3MDQxODA3OTA4MywieSI6MjE2fV0=" marker-end="url(#mermaid-1772416964923_flowchart-v2-pointEnd)"></path><path d="M78.94166946411133,166L78.94166946411133,178.5Q78.94166946411133,191 71.93914156352608,201.35444846438116L64.27542649891764,212.68657649139803" id="L_B_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_C_0" data-points="W3sieCI6NzguOTQxNjY5NDY0MTExMzMsInkiOjE2Nn0seyJ4Ijo3OC45NDE2Njk0NjQxMTEzMywieSI6MTkxfSx7IngiOjYyLjAzNDYxNzU3MDczMDM1NCwieSI6MjE2fV0=" marker-end="url(#mermaid-1772416964923_flowchart-v2-pointEnd)"></path><path d="M114.27500534057617,156.34287815993483L177.4885127528846,187.37035207144964Q184.88333892822266,191 183.3276925670979,199.08936107784874L180.83103619513085,212.0719742120774" id="L_B_D_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_D_0" data-points="W3sieCI6MTE0LjI3NTAwNTM0MDU3NjE3LCJ5IjoxNTYuMzQyODc4MTU5OTM0ODN9LHsieCI6MTg0Ljg4MzMzODkyODIyMjY2LCJ5IjoxOTF9LHsieCI6MTgwLjA3NTY0NjYyMDUzMDM0LCJ5IjoyMTZ9XQ==" marker-end="url(#mermaid-1772416964923_flowchart-v2-pointEnd)"></path><path d="M78.94166946411133,62L78.94166946411133,87L78.94166946411133,112" id="L_A_B_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_B_0" data-points="W3sieCI6NzguOTQxNjY5NDY0MTExMzMsInkiOjYyfSx7IngiOjc4Ljk0MTY2OTQ2NDExMTMzLCJ5Ijo4N30seyJ4Ijo3OC45NDE2Njk0NjQxMTEzMywieSI6MTEyfV0=" marker-start="url(#mermaid-1772416964923_flowchart-v2-circleStart)" marker-end="url(#mermaid-1772416964923_flowchart-v2-circleEnd)"></path></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_A_C_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_A_D_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_B_C_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_B_D_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_A_B_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="flowchart-A-0" transform="translate(78.94166946411133, 35)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>A</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-C-1" transform="translate(43.775001525878906, 243)"><rect class="basic label-container" style="" x="-35.775001525878906" y="-27" width="71.55000305175781" height="54"></rect><g class="label" style="" transform="translate(-5.775001525878906, -12)"><rect></rect><foreignObject width="11.550003051757812" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>C</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-D-3" transform="translate(174.88333892822266, 243)"><rect class="basic label-container" style="" x="-35.775001525878906" y="-27" width="71.55000305175781" height="54"></rect><g class="label" style="" transform="translate(-5.775001525878906, -12)"><rect></rect><foreignObject width="11.550003051757812" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>D</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-B-4" transform="translate(78.94166946411133, 139)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>B</p></span></div></foreignObject></g></g></g></g></g></svg></pre> | |
| </div> | |
| <div class="diagram"> | |
| <h3>With constraint: false</h3> | |
| <div class="src">flowchart TB | |
| graph TD | |
| A --> C | |
| A --> D | |
| B --> C | |
| B --> D | |
| A e1@o--o B | |
| e1@{ constraint: false } | |
| </div> | |
| <pre class="mermaid" data-processed="true"><svg id="mermaid-1772416964969" width="100%" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 228.2166748046875px;" viewBox="0 0 228.2166748046875 174" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#mermaid-1772416964969{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-1772416964969 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-1772416964969 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-1772416964969 .error-icon{fill:#552222;}#mermaid-1772416964969 .error-text{fill:#552222;stroke:#552222;}#mermaid-1772416964969 .edge-thickness-normal{stroke-width:1px;}#mermaid-1772416964969 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1772416964969 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1772416964969 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-1772416964969 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1772416964969 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1772416964969 .marker{fill:#333333;stroke:#333333;}#mermaid-1772416964969 .marker.cross{stroke:#333333;}#mermaid-1772416964969 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-1772416964969 p{margin:0;}#mermaid-1772416964969 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-1772416964969 .cluster-label text{fill:#333;}#mermaid-1772416964969 .cluster-label span{color:#333;}#mermaid-1772416964969 .cluster-label span p{background-color:transparent;}#mermaid-1772416964969 .label text,#mermaid-1772416964969 span{fill:#333;color:#333;}#mermaid-1772416964969 .node rect,#mermaid-1772416964969 .node circle,#mermaid-1772416964969 .node ellipse,#mermaid-1772416964969 .node polygon,#mermaid-1772416964969 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-1772416964969 .rough-node .label text,#mermaid-1772416964969 .node .label text,#mermaid-1772416964969 .image-shape .label,#mermaid-1772416964969 .icon-shape .label{text-anchor:middle;}#mermaid-1772416964969 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-1772416964969 .rough-node .label,#mermaid-1772416964969 .node .label,#mermaid-1772416964969 .image-shape .label,#mermaid-1772416964969 .icon-shape .label{text-align:center;}#mermaid-1772416964969 .node.clickable{cursor:pointer;}#mermaid-1772416964969 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-1772416964969 .arrowheadPath{fill:#333333;}#mermaid-1772416964969 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-1772416964969 .flowchart-link{stroke:#333333;fill:none;}#mermaid-1772416964969 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964969 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-1772416964969 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964969 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-1772416964969 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-1772416964969 .cluster text{fill:#333;}#mermaid-1772416964969 .cluster span{color:#333;}#mermaid-1772416964969 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-1772416964969 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-1772416964969 rect.text{fill:none;stroke-width:0;}#mermaid-1772416964969 .icon-shape,#mermaid-1772416964969 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1772416964969 .icon-shape p,#mermaid-1772416964969 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-1772416964969 .icon-shape .label rect,#mermaid-1772416964969 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1772416964969 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-1772416964969 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-1772416964969 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="mermaid-1772416964969_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964969_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964969_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964969_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></circle></marker><marker id="mermaid-1772416964969_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><marker id="mermaid-1772416964969_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2px; stroke-dasharray: 1px, 0px;"></path></marker><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M43.39038614126352,62L37.62650266679802,76.9860970336103Q33.775001525878906,87 35.80115289242481,97.5359871060387L37.82730425897071,108.07197421207741" id="L_A_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_C_0" data-points="W3sieCI6NDMuMzkwMzg2MTQxMjYzNTIsInkiOjYyfSx7IngiOjMzLjc3NTAwMTUyNTg3ODkwNiwieSI6ODd9LHsieCI6MzguNTgyNjkzODMzNTcxMjEsInkiOjExMn1d" marker-end="url(#mermaid-1772416964969_flowchart-v2-pointEnd)"></path><path d="M89.10833740234375,61.12322368447458L110.32079433336634,76.80636663038283Q124.10833740234375,87 137.09658046586685,98.19428636742529L150.08482352938998,109.38857273485058" id="L_A_D_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_D_0" data-points="W3sieCI6ODkuMTA4MzM3NDAyMzQzNzUsInkiOjYxLjEyMzIyMzY4NDQ3NDU4fSx7IngiOjEyNC4xMDgzMzc0MDIzNDM3NSwieSI6ODd9LHsieCI6MTUzLjExNDc0ODg4MTQxMzQsInkiOjExMn1d" marker-end="url(#mermaid-1772416964969_flowchart-v2-pointEnd)"></path><path d="M139.10833740234375,61.12322368447458L117.89588047132116,76.80636663038283Q104.10833740234375,87 91.12009433882065,98.19428636742529L78.13185127529754,109.38857273485058" id="L_B_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_C_0" data-points="W3sieCI6MTM5LjEwODMzNzQwMjM0Mzc1LCJ5Ijo2MS4xMjMyMjM2ODQ0NzQ1OH0seyJ4IjoxMDQuMTA4MzM3NDAyMzQzNzUsInkiOjg3fSx7IngiOjc1LjEwMTkyNTkyMzI3NDExLCJ5IjoxMTJ9XQ==" marker-end="url(#mermaid-1772416964969_flowchart-v2-pointEnd)"></path><path d="M184.82628866342398,62L190.59017213788948,76.9860970336103Q194.4416732788086,87 192.4155219122627,97.5359871060387L190.3893705457168,108.07197421207741" id="L_B_D_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_D_0" data-points="W3sieCI6MTg0LjgyNjI4ODY2MzQyMzk4LCJ5Ijo2Mn0seyJ4IjoxOTQuNDQxNjczMjc4ODA4NiwieSI6ODd9LHsieCI6MTg5LjYzMzk4MDk3MTExNjI3LCJ5IjoxMTJ9XQ==" marker-end="url(#mermaid-1772416964969_flowchart-v2-pointEnd)"></path><path d="M89.10833740234375,35L139.10833740234375,35" id="e1" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="e1" data-points="W3sieCI6ODkuMTA4MzM3NDAyMzQzNzUsInkiOjM1fSx7IngiOjEzOS4xMDgzMzc0MDIzNDM3NSwieSI6MzV9XQ==" marker-start="url(#mermaid-1772416964969_flowchart-v2-circleStart)" marker-end="url(#mermaid-1772416964969_flowchart-v2-circleEnd)"></path></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_A_C_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_A_D_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_B_C_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_B_D_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="e1" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="flowchart-A-0" transform="translate(53.775001525878906, 35)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>A</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-C-1" transform="translate(43.775001525878906, 139)"><rect class="basic label-container" style="" x="-35.775001525878906" y="-27" width="71.55000305175781" height="54"></rect><g class="label" style="" transform="translate(-5.775001525878906, -12)"><rect></rect><foreignObject width="11.550003051757812" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>C</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-D-3" transform="translate(184.4416732788086, 139)"><rect class="basic label-container" style="" x="-35.775001525878906" y="-27" width="71.55000305175781" height="54"></rect><g class="label" style="" transform="translate(-5.775001525878906, -12)"><rect></rect><foreignObject width="11.550003051757812" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>D</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-B-4" transform="translate(174.4416732788086, 35)"><rect class="basic label-container" style="" x="-35.333335876464844" y="-27" width="70.66667175292969" height="54"></rect><g class="label" style="" transform="translate(-5.333335876464844, -12)"><rect></rect><foreignObject width="10.666671752929688" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"><p>B</p></span></div></foreignObject></g></g></g></g></g></svg></pre> | |
| </div> | |
| </div> | |
| <script type="module"> | |
| import mermaid from '/mermaid.esm.mjs'; | |
| mermaid.initialize({ startOnLoad: true, logLevel: 3 }); | |
| </script> | |
| <div class="mermaidTooltip" style="opacity: 0; position: absolute; text-align: center; max-width: 200px; padding: 2px; font-size: 12px; background: rgb(255, 255, 222); border: 1px solid rgb(51, 51, 51); border-radius: 2px; pointer-events: none; z-index: 100;"></div></body></html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment