Add factory layout concept diagram and fix fire-suppression section structure

- docs/facility-layout.drawio: zoned floor concept (production, galvanics,
  utilities, logistics, support) with material and stamper flow arrows
- PNG and PDF exports alongside the source
- facility-security.md: suppression subsection no longer splits the fire
  safety bullet list; clean agent wording updated to FK-5-1-12
This commit is contained in:
grabowski committed 2026-07-17 13:41:23 +07:00
1 parent 0b79c4fb73
commit 6c1b1e7bbd
4 files changed
+189 -3

No files matched your search

+155
View File
@@ -0,0 +1,155 @@
<mxfile host="app.diagrams.net" modified="2026-07-17T00:00:00.000Z" agent="cnx-vinyl-planning" version="24.0.0" type="device">
<diagram id="cnx-factory-layout" name="Factory Layout Concept">
<mxGraphModel dx="1600" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1000" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="building" value="CNX Vinyl Factory Layout (concept, not to scale)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#000000;strokeWidth=2;verticalAlign=top;fontSize=16;fontStyle=1;align=center;spacingTop=4;" vertex="1" parent="1">
<mxGeometry x="60" y="100" width="1280" height="800" as="geometry" />
</mxCell>
<mxCell id="pvroof" value="Solar PV array on the roof (whole building)" style="text;html=1;align=center;fontSize=12;fontStyle=2;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="360" y="55" width="380" height="30" as="geometry" />
</mxCell>
<mxCell id="bess" value="BESS enclosure, 271 kWh LiFePO4 (separated, outside wall)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#D6B656;strokeWidth=3;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="890" y="30" width="200" height="55" as="geometry" />
</mxCell>
<mxCell id="ctower" value="Cooling tower (outside)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#666666;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="1160" y="30" width="150" height="55" as="geometry" />
</mxCell>
<mxCell id="mastering" value="Mastering and Cutting Room (low vibration, far from presses and compressor)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E1D5E7;strokeColor=#9673A6;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="80" y="140" width="240" height="160" as="geometry" />
</mxCell>
<mxCell id="server" value="Server / IT (clean agent)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E1D5E7;strokeColor=#D6B656;strokeWidth=3;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="80" y="320" width="110" height="90" as="geometry" />
</mxCell>
<mxCell id="archive" value="Master and Stamper Archive (fire rated, clean agent)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;strokeColor=#D6B656;strokeWidth=3;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="210" y="320" width="110" height="90" as="geometry" />
</mxCell>
<mxCell id="qc" value="QC and Listening Room (test pressing approval)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E1D5E7;strokeColor=#9673A6;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="80" y="430" width="240" height="90" as="geometry" />
</mxCell>
<mxCell id="offices" value="Offices" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E1D5E7;strokeColor=#9673A6;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="80" y="540" width="240" height="140" as="geometry" />
</mxCell>
<mxCell id="entrance" value="Entrance, Reception and Visitor Control (access control, PPE issue)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E1D5E7;strokeColor=#9673A6;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="80" y="700" width="240" height="120" as="geometry" />
</mxCell>
<mxCell id="airlock" value="Decon Airlock" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="360" y="200" width="70" height="110" as="geometry" />
</mxCell>
<mxCell id="galvanics" value="Galvanics Clean Room: Silvering, Pre-plate, Electroforming Cells, Electro-clean (positive pressure)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="440" y="140" width="260" height="170" as="geometry" />
</mxCell>
<mxCell id="watertreat" value="Water Treatment and Metal Recovery (zero discharge)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F8CECC;strokeColor=#B85450;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="710" y="140" width="150" height="170" as="geometry" />
</mxCell>
<mxCell id="chemstore" value="Chemical Storage (locked)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F8CECC;strokeColor=#D6B656;strokeWidth=3;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="440" y="320" width="130" height="70" as="geometry" />
</mxCell>
<mxCell id="stamperprep" value="Stamper Prep: Punch, Back-finish, Coining" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="580" y="320" width="170" height="70" as="geometry" />
</mxCell>
<mxCell id="semiauto" value="Semi-Auto Press Area: Newbilt Duplex, 2x HRP 12 press, VEX 50 extruder (splatter, color, small runs)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="360" y="420" width="240" height="220" as="geometry" />
</mxCell>
<mxCell id="autopress" value="Automated Press Area: Pheenix AD12 row (volume production, 1 operator per 4 presses)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="620" y="420" width="240" height="220" as="geometry" />
</mxCell>
<mxCell id="trim" value="Trimming and Label Dry Oven" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="360" y="660" width="240" height="100" as="geometry" />
</mxCell>
<mxCell id="hydraulic" value="Hydraulic Aggregate Room (outside pressing room)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#666666;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="620" y="660" width="150" height="100" as="geometry" />
</mxCell>
<mxCell id="boiler" value="Boiler / Steam Room (outside wall, DIW regs)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#D6B656;strokeWidth=3;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="900" y="140" width="130" height="110" as="geometry" />
</mxCell>
<mxCell id="compressor" value="Compressor Room (far from cutting room)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#666666;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="1050" y="140" width="130" height="110" as="geometry" />
</mxCell>
<mxCell id="chiller" value="Chiller Room (closed loop cooling)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#666666;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="1190" y="140" width="130" height="110" as="geometry" />
</mxCell>
<mxCell id="electrical" value="Electrical Switchroom and Deye Inverters" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#666666;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="900" y="270" width="200" height="110" as="geometry" />
</mxCell>
<mxCell id="pvcstore" value="PVC Material Storage, Grinder and Recycling (80/20 feed mix)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D5E8D4;strokeColor=#82B366;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="900" y="420" width="180" height="160" as="geometry" />
</mxCell>
<mxCell id="packaging" value="Packaging: Cartons and Sleeves (local partners)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D5E8D4;strokeColor=#82B366;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="900" y="600" width="180" height="140" as="geometry" />
</mxCell>
<mxCell id="warehouse" value="Finished Goods Warehouse" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D5E8D4;strokeColor=#82B366;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="1100" y="420" width="220" height="200" as="geometry" />
</mxCell>
<mxCell id="dropship" value="Dropshipping Fulfillment Corner" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D5E8D4;strokeColor=#82B366;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="1100" y="640" width="220" height="100" as="geometry" />
</mxCell>
<mxCell id="dock" value="Loading Dock" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D5E8D4;strokeColor=#82B366;fontSize=11;horizontal=0;" vertex="1" parent="1">
<mxGeometry x="1350" y="470" width="70" height="200" as="geometry" />
</mxCell>
<mxCell id="legendtitle" value="Legend" style="text;html=1;align=left;fontSize=12;fontStyle=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="370" y="775" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="leg1" value="Production" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="370" y="800" width="150" height="26" as="geometry" />
</mxCell>
<mxCell id="leg2" value="Galvanics and Chemistry" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="530" y="800" width="150" height="26" as="geometry" />
</mxCell>
<mxCell id="leg3" value="Utilities" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#666666;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="690" y="800" width="150" height="26" as="geometry" />
</mxCell>
<mxCell id="leg4" value="Storage and Logistics" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#D5E8D4;strokeColor=#82B366;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="370" y="836" width="150" height="26" as="geometry" />
</mxCell>
<mxCell id="leg5" value="Offices and Support" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E1D5E7;strokeColor=#9673A6;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="530" y="836" width="150" height="26" as="geometry" />
</mxCell>
<mxCell id="leg6" value="Safety critical (thick border)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFF2CC;strokeColor=#D6B656;strokeWidth=3;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="690" y="836" width="150" height="26" as="geometry" />
</mxCell>
<mxCell id="f1" value="PVC" style="edgeStyle=orthogonalEdgeStyle;rounded=0;dashed=1;strokeColor=#82B366;fontSize=10;html=1;" edge="1" parent="1" source="pvcstore" target="autopress">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="f2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;dashed=1;strokeColor=#6C8EBF;fontSize=10;html=1;" edge="1" parent="1" source="semiauto" target="trim">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="f3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;dashed=1;strokeColor=#6C8EBF;fontSize=10;html=1;" edge="1" parent="1" source="autopress" target="trim">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="f4" value="records" style="edgeStyle=orthogonalEdgeStyle;rounded=0;dashed=1;strokeColor=#6C8EBF;fontSize=10;html=1;" edge="1" parent="1" source="trim" target="packaging">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="f5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;dashed=1;strokeColor=#82B366;fontSize=10;html=1;" edge="1" parent="1" source="packaging" target="warehouse">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="f6" value="ship" style="edgeStyle=orthogonalEdgeStyle;rounded=0;dashed=1;strokeColor=#82B366;fontSize=10;html=1;" edge="1" parent="1" source="warehouse" target="dock">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="f7" value="scrap regrind" style="edgeStyle=orthogonalEdgeStyle;rounded=0;dashed=1;strokeColor=#82B366;fontSize=10;html=1;" edge="1" parent="1" source="trim" target="pvcstore">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s1" value="lacquer" style="edgeStyle=orthogonalEdgeStyle;rounded=0;dashed=1;strokeColor=#D79B00;fontSize=10;html=1;" edge="1" parent="1" source="mastering" target="airlock">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s2" value="nickel shells" style="edgeStyle=orthogonalEdgeStyle;rounded=0;dashed=1;strokeColor=#D79B00;fontSize=10;html=1;" edge="1" parent="1" source="galvanics" target="stamperprep">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s3" value="stampers" style="edgeStyle=orthogonalEdgeStyle;rounded=0;dashed=1;strokeColor=#D79B00;fontSize=10;html=1;" edge="1" parent="1" source="stamperprep" target="autopress">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>