diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-04-12 01:54:16 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-04-12 01:54:16 +0800 |
| commit | 21bb211dca7ae7428a257e4006e54c10b97f8867 (patch) | |
| tree | fb660cf29dd1419066b7430370cfb5d84ed6cb40 | |
| parent | 4867dae1235040455624ea792557c72fe7a9b6bf (diff) | |
Add architecture diagram to README
| -rw-r--r-- | README.md | 9 | ||||
| -rw-r--r-- | res/graph.drawio | 221 | ||||
| -rw-r--r-- | res/graph.png | bin | 0 -> 69856 bytes |
3 files changed, 230 insertions, 0 deletions
@@ -97,6 +97,15 @@ Mingling abstracts command execution into the following parts: 3. **Renderer** - Stops the chain and prints the currently processed type to the terminal. 4. **Program** - Manages the lifecycle and configuration of the entire CLI application. +<details> + <summary>Architecture Diagram</summary> + <p align="center"> + <a href="https://github.com/CatilGrass/mingling"> + <img alt="Mingling" src="res/graph.png" width="75%"> + </a> + </p> +</details> + ## Project Structure The Mingling project consists of two main parts: diff --git a/res/graph.drawio b/res/graph.drawio new file mode 100644 index 0000000..47ac9f4 --- /dev/null +++ b/res/graph.drawio @@ -0,0 +1,221 @@ +<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/29.6.6 Chrome/144.0.7559.236 Electron/40.8.4 Safari/537.36" version="29.6.6"> + <diagram name="第 1 页" id="CLQgZkV-SbJ_8hXwUYFR"> + <mxGraphModel dx="705" dy="877" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> + <root> + <mxCell id="0" /> + <mxCell id="1" parent="0" /> + <mxCell id="T62yhzIGDhOwbh_DlgYY-26" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T62yhzIGDhOwbh_DlgYY-21"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-3" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T62yhzIGDhOwbh_DlgYY-2"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-11" connectable="0" parent="T62yhzIGDhOwbh_DlgYY-3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Match" vertex="1"> + <mxGeometry relative="1" x="-0.3491" as="geometry"> + <mxPoint y="14" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-1" parent="1" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fillColor=#dae8fc;strokeColor=#6c8ebf;gradientColor=#7ea6e0;" value="User Input" vertex="1"> + <mxGeometry height="40" width="120" x="240" y="80" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-7" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=1;" target="T62yhzIGDhOwbh_DlgYY-4"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-8" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=1;" target="T62yhzIGDhOwbh_DlgYY-5"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-15" connectable="0" parent="T62yhzIGDhOwbh_DlgYY-8" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Dispatch" vertex="1"> + <mxGeometry relative="1" x="-0.4532" as="geometry"> + <mxPoint y="-9" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-9" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=1;" target="T62yhzIGDhOwbh_DlgYY-6"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-2" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;" value="Dispatchers" vertex="1"> + <mxGeometry height="40" width="120" x="240" y="200" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-22" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T62yhzIGDhOwbh_DlgYY-16"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-45" connectable="0" parent="T62yhzIGDhOwbh_DlgYY-22" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Route Chain" vertex="1"> + <mxGeometry relative="1" x="-0.2067" y="1" as="geometry"> + <mxPoint as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-4" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;" value="EntryA" vertex="1"> + <mxGeometry height="50" width="70" x="135" y="310" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-24" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T62yhzIGDhOwbh_DlgYY-17"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-46" connectable="0" parent="T62yhzIGDhOwbh_DlgYY-24" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Route Chain" vertex="1"> + <mxGeometry relative="1" x="-0.2733" y="1" as="geometry"> + <mxPoint x="-1" y="2" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-5" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;" value="EntryB" vertex="1"> + <mxGeometry height="50" width="70" x="230" y="310" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-27" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" target="T62yhzIGDhOwbh_DlgYY-18"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-47" connectable="0" parent="T62yhzIGDhOwbh_DlgYY-27" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Route Chain" vertex="1"> + <mxGeometry relative="1" x="-0.2067" y="-1" as="geometry"> + <mxPoint x="1" y="1" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-34" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=1;" target="T62yhzIGDhOwbh_DlgYY-32"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-51" connectable="0" parent="T62yhzIGDhOwbh_DlgYY-34" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Route Chain" vertex="1"> + <mxGeometry relative="1" x="0.202" y="-10" as="geometry"> + <mxPoint as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-6" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;" value="EntryC" vertex="1"> + <mxGeometry height="50" width="70" x="325" y="310" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-23" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="170" y="450" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-16" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;" value="NextA1" vertex="1"> + <mxGeometry height="50" width="70" x="135" y="410" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-25" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=1;" target="T62yhzIGDhOwbh_DlgYY-21"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-49" connectable="0" parent="T62yhzIGDhOwbh_DlgYY-25" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBorderColor=none;labelBackgroundColor=default;" value="Route Chain" vertex="1"> + <mxGeometry relative="1" x="-0.2451" y="3" as="geometry"> + <mxPoint x="43" y="1" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-17" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;" value="NextB1" vertex="1"> + <mxGeometry height="50" width="70" x="230" y="410" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-18" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;" value="NextC1" vertex="1"> + <mxGeometry height="50" width="70" x="325" y="410" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-29" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T62yhzIGDhOwbh_DlgYY-28"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="170" y="500" as="sourcePoint" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-48" connectable="0" parent="T62yhzIGDhOwbh_DlgYY-29" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Route Chain" vertex="1"> + <mxGeometry relative="1" x="-0.1822" as="geometry"> + <mxPoint y="5" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-39" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T62yhzIGDhOwbh_DlgYY-36"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-53" connectable="0" parent="T62yhzIGDhOwbh_DlgYY-39" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Route Renderer" vertex="1"> + <mxGeometry relative="1" x="-0.2327" as="geometry"> + <mxPoint y="2" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-21" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;" value="ResultB" vertex="1"> + <mxGeometry height="50" width="70" x="325" y="535" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-38" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T62yhzIGDhOwbh_DlgYY-35"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-52" connectable="0" parent="T62yhzIGDhOwbh_DlgYY-38" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Route Renderer" vertex="1"> + <mxGeometry relative="1" x="-0.1347" y="1" as="geometry"> + <mxPoint as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-28" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;" value="ResultA" vertex="1"> + <mxGeometry height="50" width="70" x="135" y="535" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-40" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T62yhzIGDhOwbh_DlgYY-37"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-54" connectable="0" parent="T62yhzIGDhOwbh_DlgYY-40" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Route Renderer" vertex="1"> + <mxGeometry relative="1" x="-0.3306" y="2" as="geometry"> + <mxPoint x="-2" y="3" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-32" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;" value="ResultC" vertex="1"> + <mxGeometry height="50" width="70" x="445" y="535" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-42" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=1;" target="T62yhzIGDhOwbh_DlgYY-41"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-55" connectable="0" parent="T62yhzIGDhOwbh_DlgYY-42" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Render" vertex="1"> + <mxGeometry relative="1" x="-0.2875" y="12" as="geometry"> + <mxPoint x="-29" y="-38" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-35" parent="1" style="ellipse;whiteSpace=wrap;html=1;fillColor=#fff2cc;gradientColor=#ffd966;strokeColor=#d6b656;" value="RendererA" vertex="1"> + <mxGeometry height="80" width="80" x="130" y="620" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-43" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T62yhzIGDhOwbh_DlgYY-41"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="300" y="790" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-56" connectable="0" parent="T62yhzIGDhOwbh_DlgYY-43" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Render" vertex="1"> + <mxGeometry relative="1" x="-0.5734" y="-11" as="geometry"> + <mxPoint x="11" y="-28" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-36" parent="1" style="ellipse;whiteSpace=wrap;html=1;fillColor=#fff2cc;gradientColor=#ffd966;strokeColor=#d6b656;" value="RendererB" vertex="1"> + <mxGeometry height="80" width="80" x="320" y="620" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-44" edge="1" parent="1" source="T62yhzIGDhOwbh_DlgYY-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=1;" target="T62yhzIGDhOwbh_DlgYY-41"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-57" connectable="0" parent="T62yhzIGDhOwbh_DlgYY-44" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Render" vertex="1"> + <mxGeometry relative="1" x="-0.2885" y="-5" as="geometry"> + <mxPoint x="47" y="-45" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-37" parent="1" style="ellipse;whiteSpace=wrap;html=1;fillColor=#fff2cc;gradientColor=#ffd966;strokeColor=#d6b656;" value="RendererC" vertex="1"> + <mxGeometry height="80" width="80" x="440" y="620" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-41" parent="1" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fillColor=#dae8fc;strokeColor=#6c8ebf;gradientColor=#7ea6e0;" value="Output" vertex="1"> + <mxGeometry height="40" width="120" x="240" y="820" as="geometry" /> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-59" edge="1" parent="1" style="endArrow=none;dashed=1;html=1;rounded=0;" value=""> + <mxGeometry height="50" relative="1" width="50" as="geometry"> + <mxPoint x="560" y="280" as="sourcePoint" /> + <mxPoint x="80" y="280" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-60" edge="1" parent="1" style="endArrow=none;dashed=1;html=1;rounded=0;" value=""> + <mxGeometry height="50" relative="1" width="50" as="geometry"> + <mxPoint x="560" y="60" as="sourcePoint" /> + <mxPoint x="80" y="60" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-61" edge="1" parent="1" style="endArrow=none;dashed=1;html=1;rounded=0;" value=""> + <mxGeometry height="50" relative="1" width="50" as="geometry"> + <mxPoint x="560" y="760" as="sourcePoint" /> + <mxPoint x="80" y="760" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-62" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;" value=""> + <mxGeometry height="50" relative="1" width="50" as="geometry"> + <mxPoint x="80" y="880" as="sourcePoint" /> + <mxPoint x="80" y="60" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-63" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;" value=""> + <mxGeometry height="50" relative="1" width="50" as="geometry"> + <mxPoint x="560" y="880" as="sourcePoint" /> + <mxPoint x="560" y="60" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="T62yhzIGDhOwbh_DlgYY-64" edge="1" parent="1" style="endArrow=none;dashed=1;html=1;rounded=0;" value=""> + <mxGeometry height="50" relative="1" width="50" as="geometry"> + <mxPoint x="560" y="880" as="sourcePoint" /> + <mxPoint x="80" y="880" as="targetPoint" /> + </mxGeometry> + </mxCell> + </root> + </mxGraphModel> + </diagram> +</mxfile> diff --git a/res/graph.png b/res/graph.png Binary files differnew file mode 100644 index 0000000..c942f02 --- /dev/null +++ b/res/graph.png |
