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.
35 lines
3.1 KiB
Plaintext
35 lines
3.1 KiB
Plaintext
<mxfile host="app.diagrams.net">
|
|
<diagram id="transport-architecture" name="Architecture">
|
|
<mxGraphModel dx="900" dy="800" grid="1" gridSize="10" guides="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="0" />
|
|
<mxCell id="1" parent="0" />
|
|
<mxCell id="container" value="ZB.MOM.WW.ScadaBridge.Transport" style="swimlane;whiteSpace=wrap;html=1;startSize=34;fillColor=#f5f5f5;strokeColor=#666666;fontStyle=1;fontSize=14;verticalAlign=top;" vertex="1" parent="1">
|
|
<mxGeometry x="80" y="40" width="560" height="610" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="exporter" value="IBundleExporter ExportAsync(ExportSelection, Passphrase?, ct) → Stream" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;align=left;spacingLeft=12;verticalAlign=top;spacingTop=8;" vertex="1" parent="container">
|
|
<mxGeometry x="30" y="50" width="500" height="70" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="importer" value="IBundleImporter LoadAsync(stream, Passphrase?, ct) → BundleSession PreviewAsync(sessionId, ct) → ImportPreview ApplyAsync(sessionId, resolutions, ct) → ImportResult" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;align=left;spacingLeft=12;verticalAlign=top;spacingTop=8;" vertex="1" parent="container">
|
|
<mxGeometry x="30" y="140" width="500" height="110" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="resolver" value="DependencyResolver" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;align=left;spacingLeft=12;" vertex="1" parent="container">
|
|
<mxGeometry x="30" y="270" width="500" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="serializer" value="BundleSerializer (manifest + content JSON; ZIP packer)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;align=left;spacingLeft=12;" vertex="1" parent="container">
|
|
<mxGeometry x="30" y="330" width="500" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="encryptor" value="BundleSecretEncryptor (AES-256-GCM + PBKDF2)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;align=left;spacingLeft=12;" vertex="1" parent="container">
|
|
<mxGeometry x="30" y="390" width="500" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="sessionstore" value="BundleSessionStore (in-memory, TTL'd)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;align=left;spacingLeft=12;" vertex="1" parent="container">
|
|
<mxGeometry x="30" y="450" width="500" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="manifestvalidator" value="ManifestValidator (schema/version gating, hash check)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;align=left;spacingLeft=12;" vertex="1" parent="container">
|
|
<mxGeometry x="30" y="510" width="500" height="40" as="geometry" />
|
|
</mxCell>
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
</mxfile>
|