Moves documentation into the code repo so code, docs, and diagrams version-lock and review together. Previous location was pumpingStation.wiki.git; that will shrink to a pointer. Contents: - wiki/README.md — doc index - wiki/functional-description.md — operator-facing reference derived from src/specificClass.js: basin model, net-flow selection, level-based control zones, safety interlocks, registration topology - wiki/diagrams/ — editable draw.io sources paired with SVG exports (basin-model, control-zones, safety-rules) + README with the open/edit/export/commit workflow The .drawio files are rough starters; iterate in draw.io and re-export. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
110 lines
7.5 KiB
Plaintext
110 lines
7.5 KiB
Plaintext
<mxfile host="app.diagrams.net" modified="2026-04-22T12:00:00.000Z" agent="Claude Code placeholder" etag="initial" version="22.0.0" type="device">
|
|
<diagram name="basin-model" id="basinModel">
|
|
<mxGraphModel dx="1200" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="900" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="0" />
|
|
<mxCell id="1" parent="0" />
|
|
<mxCell id="title" value="Basin model — physical layout + control thresholds" style="text;html=1;fontSize=16;fontStyle=1;align=center;" vertex="1" parent="1">
|
|
<mxGeometry x="200" y="20" width="500" height="30" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tank" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6F2FF;strokeColor=#000000;strokeWidth=2;" vertex="1" parent="1">
|
|
<mxGeometry x="300" y="80" width="260" height="520" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="deadvol" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#9FC5E8;strokeColor=none;" vertex="1" parent="1">
|
|
<mxGeometry x="302" y="550" width="256" height="48" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="freeboard_label" value="freeboard" style="text;html=1;fontSize=11;fontStyle=2;align=center;" vertex="1" parent="1">
|
|
<mxGeometry x="310" y="90" width="240" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="overflow_line" value="" style="endArrow=none;html=1;strokeColor=#B22222;dashed=1;strokeWidth=2;" edge="1" parent="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="250" y="145" as="sourcePoint" />
|
|
<mxPoint x="620" y="145" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="overflow_label_l" value="heightOverflow" style="text;html=1;fontSize=12;align=right;fontColor=#B22222;" vertex="1" parent="1">
|
|
<mxGeometry x="140" y="130" width="100" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="overflow_label_r" value="spill → measure" style="text;html=1;fontSize=12;align=left;fontColor=#B22222;" vertex="1" parent="1">
|
|
<mxGeometry x="630" y="130" width="140" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="maxflow_line" value="" style="endArrow=none;html=1;strokeColor=#D68910;dashed=1;strokeWidth=2;" edge="1" parent="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="250" y="200" as="sourcePoint" />
|
|
<mxPoint x="620" y="200" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="maxflow_label_l" value="maxFlowLevel" style="text;html=1;fontSize=12;align=right;fontColor=#D68910;" vertex="1" parent="1">
|
|
<mxGeometry x="140" y="185" width="100" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="scaling_label" value="SCALING RANGE (levelbased: demand ramps 0→100%)" style="text;html=1;fontSize=11;fontStyle=2;align=center;" vertex="1" parent="1">
|
|
<mxGeometry x="310" y="255" width="240" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="startlevel_line" value="" style="endArrow=none;html=1;strokeColor=#1E8449;dashed=1;strokeWidth=2;" edge="1" parent="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="250" y="345" as="sourcePoint" />
|
|
<mxPoint x="620" y="345" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="startlevel_label_l" value="startLevel" style="text;html=1;fontSize=12;align=right;fontColor=#1E8449;" vertex="1" parent="1">
|
|
<mxGeometry x="140" y="330" width="100" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="deadzone_label" value="DEAD ZONE (hysteresis — keep last cmd)" style="text;html=1;fontSize=11;fontStyle=2;align=center;" vertex="1" parent="1">
|
|
<mxGeometry x="310" y="360" width="240" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="inflow_arrow" value="" style="endArrow=classic;html=1;strokeColor=#1F4E79;strokeWidth=3;" edge="1" parent="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="150" y="410" as="sourcePoint" />
|
|
<mxPoint x="300" y="410" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="inflow_label" value="INFLOW" style="text;html=1;fontSize=13;fontStyle=1;align=left;fontColor=#1F4E79;" vertex="1" parent="1">
|
|
<mxGeometry x="90" y="395" width="70" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="inlet_label" value="heightInlet" style="text;html=1;fontSize=12;align=left;fontColor=#1F4E79;" vertex="1" parent="1">
|
|
<mxGeometry x="570" y="400" width="90" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="stoplevel_line" value="" style="endArrow=none;html=1;strokeColor=#6C3483;dashed=1;strokeWidth=2;" edge="1" parent="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="250" y="465" as="sourcePoint" />
|
|
<mxPoint x="620" y="465" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="stoplevel_label_l" value="stopLevel" style="text;html=1;fontSize=12;align=right;fontColor=#6C3483;" vertex="1" parent="1">
|
|
<mxGeometry x="140" y="450" width="100" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="stoplevel_label_r" value="unconditional STOP" style="text;html=1;fontSize=12;align=left;fontColor=#6C3483;" vertex="1" parent="1">
|
|
<mxGeometry x="630" y="450" width="160" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="buffer_label" value="BUFFER" style="text;html=1;fontSize=11;fontStyle=2;align=center;" vertex="1" parent="1">
|
|
<mxGeometry x="310" y="490" width="240" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="outflow_arrow" value="" style="endArrow=classic;html=1;strokeColor=#1F4E79;strokeWidth=3;" edge="1" parent="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="560" y="540" as="sourcePoint" />
|
|
<mxPoint x="720" y="540" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="outflow_label" value="OUTFLOW" style="text;html=1;fontSize=13;fontStyle=1;align=left;fontColor=#1F4E79;" vertex="1" parent="1">
|
|
<mxGeometry x="730" y="525" width="80" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="outlet_label_l" value="heightOutlet" style="text;html=1;fontSize=12;align=right;fontColor=#B22222;" vertex="1" parent="1">
|
|
<mxGeometry x="140" y="525" width="100" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="outlet_label_r" value="dry-run trip" style="text;html=1;fontSize=12;align=left;fontColor=#B22222;" vertex="1" parent="1">
|
|
<mxGeometry x="730" y="550" width="120" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="deadvol_label" value="dead volume" style="text;html=1;fontSize=11;fontStyle=2;align=center;" vertex="1" parent="1">
|
|
<mxGeometry x="310" y="560" width="240" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="floor_label" value="floor (0)" style="text;html=1;fontSize=11;align=right;" vertex="1" parent="1">
|
|
<mxGeometry x="190" y="590" width="50" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="basin_label" value="heightBasin" style="text;html=1;fontSize=11;align=right;" vertex="1" parent="1">
|
|
<mxGeometry x="180" y="70" width="60" height="20" as="geometry" />
|
|
</mxCell>
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
</mxfile>
|