bdee12f4e9
Replace ASCII-art diagrams across the README and docs/ with editable .drawio sources plus exported PNGs, so the diagrams render clearly in rendered markdown and can be maintained/regenerated instead of being hand-edited as fragile text art. Non-diagram blocks (code, folder trees, UI wireframes) were left as text.
95 lines
6.7 KiB
Plaintext
95 lines
6.7 KiB
Plaintext
<mxfile host="app.diagrams.net">
|
|
<diagram id="actor-hierarchy" name="Site Runtime Actor Hierarchy">
|
|
<mxGraphModel dx="1000" dy="700" grid="1" gridSize="10" guides="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="900" pageHeight="650" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="0" />
|
|
<mxCell id="1" parent="0" />
|
|
|
|
<!-- actor tree -->
|
|
<mxCell id="dms" value="Deployment Manager Singleton (Cluster Singleton)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="300" y="20" width="300" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="ia" value="Instance Actor (one per deployed, enabled instance)" style="whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
|
<mxGeometry x="120" y="120" width="240" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="ia2" value="Instance Actor ( … )" style="whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
|
<mxGeometry x="430" y="120" width="170" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="moreIA" value="… more Instance Actors" style="whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;dashed=1;fontStyle=2;" vertex="1" parent="1">
|
|
<mxGeometry x="640" y="125" width="170" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="e_dms_ia" style="edgeStyle=orthogonalEdgeStyle;html=1;endArrow=block;" edge="1" parent="1" source="dms" target="ia">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="e_dms_ia2" style="edgeStyle=orthogonalEdgeStyle;html=1;endArrow=block;" edge="1" parent="1" source="dms" target="ia2">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="e_dms_more" style="edgeStyle=orthogonalEdgeStyle;html=1;endArrow=block;dashed=1;" edge="1" parent="1" source="dms" target="moreIA">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="sa" value="Script Actor (coordinator, one per instance script)" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
|
<mxGeometry x="40" y="230" width="210" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="aa" value="Alarm Actor (coordinator, one per alarm definition)" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
|
<mxGeometry x="270" y="230" width="210" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="more1" value="… more Script / Alarm Actors" style="whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;dashed=1;fontStyle=2;" vertex="1" parent="1">
|
|
<mxGeometry x="500" y="235" width="140" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="e_ia_sa" style="edgeStyle=orthogonalEdgeStyle;html=1;endArrow=block;" edge="1" parent="1" source="ia" target="sa">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="e_ia_aa" style="edgeStyle=orthogonalEdgeStyle;html=1;endArrow=block;" edge="1" parent="1" source="ia" target="aa">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="e_ia_more1" style="edgeStyle=orthogonalEdgeStyle;html=1;endArrow=block;dashed=1;" edge="1" parent="1" source="ia" target="more1">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="sea" value="Script Execution Actor (short-lived, per invocation)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;dashed=1;" vertex="1" parent="1">
|
|
<mxGeometry x="40" y="330" width="210" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="aea" value="Alarm Execution Actor (short-lived, per on-trigger invocation)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;dashed=1;" vertex="1" parent="1">
|
|
<mxGeometry x="270" y="330" width="210" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="e_sa_sea" style="edgeStyle=orthogonalEdgeStyle;html=1;endArrow=block;" edge="1" parent="1" source="sa" target="sea">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="e_aa_aea" style="edgeStyle=orthogonalEdgeStyle;html=1;endArrow=block;" edge="1" parent="1" source="aa" target="aea">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="ia2c" value="… (Script / Alarm Actors)" style="whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;dashed=1;fontStyle=2;" vertex="1" parent="1">
|
|
<mxGeometry x="445" y="330" width="160" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="e_ia2_c" style="edgeStyle=orthogonalEdgeStyle;html=1;endArrow=block;dashed=1;" edge="1" parent="1" source="ia2" target="ia2c">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- site-wide stream section -->
|
|
<mxCell id="streamFrame" value="Site-Wide Akka Stream" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fillColor=#faf5ff;strokeColor=#9673a6;dashed=1;" vertex="1" parent="1">
|
|
<mxGeometry x="40" y="440" width="700" height="170" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="stream" value="Site-Wide Akka Stream (attribute + alarm state changes)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="220" y="470" width="340" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="pub" value="All Instance Actors" style="whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
|
<mxGeometry x="70" y="540" width="200" height="44" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="debug" value="Debug view (instance-level filtering)" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
|
<mxGeometry x="510" y="540" width="200" height="44" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="e_pub_stream" value="publish" style="edgeStyle=orthogonalEdgeStyle;html=1;endArrow=block;fontSize=10;" edge="1" parent="1" source="pub" target="stream">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="e_stream_debug" value="subscribe (filtered)" style="edgeStyle=orthogonalEdgeStyle;html=1;endArrow=block;fontSize=10;" edge="1" parent="1" source="stream" target="debug">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
</mxfile>
|