Files
claude-robotunits/GEKO-76-steher-cpq-geko.drawio
2026-07-09 09:21:49 +02:00

100 lines
8.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<mxfile host="app.diagrams.net" version="24.0.0">
<diagram name="cpq-geko Abgrenzung" id="geko76-abgrenzung">
<mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1400" pageHeight="850" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<!-- cpq Container -->
<mxCell id="cpq" value="cpq (universell)" style="swimlane;startSize=32;fontSize=14;fontStyle=1;fillColor=#dae8fc;strokeColor=#6c8ebf;swimlaneFillColor=#f5f9ff;rounded=1;" vertex="1" parent="1">
<mxGeometry x="40" y="40" width="540" height="640" as="geometry" />
</mxCell>
<mxCell id="cpq-graph" value="&lt;b&gt;Szenegraph &amp;amp; PMI-Einbau&lt;/b&gt;&lt;br&gt;Gruppe = Weltkoordinaten-Anker&lt;br&gt;PMI-Snap / Placement-Mode" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#6c8ebf;" vertex="1" parent="cpq">
<mxGeometry x="20" y="50" width="500" height="70" as="geometry" />
</mxCell>
<mxCell id="cpq-registry" value="&lt;b&gt;Modul-Registry&lt;/b&gt;&lt;br&gt;Anmeldung pro Produktfamilie" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#6c8ebf;" vertex="1" parent="cpq">
<mxGeometry x="20" y="140" width="500" height="55" as="geometry" />
</mxCell>
<mxCell id="cpq-events" value="&lt;b&gt;Domain-Events&lt;/b&gt; (nach abgeschlossener Topologie-Änderung)&lt;br&gt;element_platziert (Mouse-Up) · pmi_belegt / pmi_frei · element_geloescht" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#6c8ebf;" vertex="1" parent="cpq">
<mxGeometry x="20" y="215" width="500" height="70" as="geometry" />
</mxCell>
<mxCell id="cpq-query" value="&lt;b&gt;Query-API&lt;/b&gt;&lt;br&gt;belegte PMIs eines Nodes (+ Winkel) · Nachbarn + Metadaten" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#6c8ebf;" vertex="1" parent="cpq">
<mxGeometry x="20" y="305" width="500" height="60" as="geometry" />
</mxCell>
<mxCell id="cpq-commands" value="&lt;b&gt;Kommandos&lt;/b&gt;&lt;br&gt;split_in_gruppe · inplace_modelltausch (Node-Identität bleibt) · loeschen" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#6c8ebf;" vertex="1" parent="cpq">
<mxGeometry x="20" y="385" width="500" height="65" as="geometry" />
</mxCell>
<mxCell id="cpq-cascade" value="&lt;b&gt;Lösch-Kaskade mit Hook&lt;/b&gt;&lt;br&gt;registrierte Projektregel darf Löschmenge ändern" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#6c8ebf;" vertex="1" parent="cpq">
<mxGeometry x="20" y="470" width="500" height="60" as="geometry" />
</mxCell>
<mxCell id="cpq-ui" value="&lt;b&gt;Detailmenü-Rahmen&lt;/b&gt;&lt;br&gt;rendert projektspezifische Felder aus Konfiguration" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#6c8ebf;" vertex="1" parent="cpq">
<mxGeometry x="20" y="550" width="500" height="60" as="geometry" />
</mxCell>
<!-- geko Container -->
<mxCell id="geko" value="geko: Schutzzaun-Modul (projektspezifisch)" style="swimlane;startSize=32;fontSize=14;fontStyle=1;fillColor=#d5e8d4;strokeColor=#82b366;swimlaneFillColor=#f7fcf5;rounded=1;" vertex="1" parent="1">
<mxGeometry x="820" y="40" width="520" height="510" as="geometry" />
</mxCell>
<mxCell id="geko-split" value="&lt;b&gt;Zerlegungsvorschrift&lt;/b&gt;&lt;br&gt;Allround → Steher / Zaun / Steher (in Gruppe)" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#82b366;" vertex="1" parent="geko">
<mxGeometry x="20" y="50" width="480" height="60" as="geometry" />
</mxCell>
<mxCell id="geko-matrix" value="&lt;b&gt;Bauform-Matrix&lt;/b&gt; (Datentabelle)&lt;br&gt;(Anbau-Seite, belegte Winkel) → Bauform · Artikel-Mapping AG" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#82b366;" vertex="1" parent="geko">
<mxGeometry x="20" y="130" width="480" height="60" as="geometry" />
</mxCell>
<mxCell id="geko-height" value="&lt;b&gt;Höhenformel&lt;/b&gt;&lt;br&gt;max(2200, max(Zaunhöhe + Fußfreiheit)) · Sondersteher-Regel" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#82b366;" vertex="1" parent="geko">
<mxGeometry x="20" y="210" width="480" height="60" as="geometry" />
</mxCell>
<mxCell id="geko-delete" value="&lt;b&gt;Lösch-Sonderregel&lt;/b&gt;&lt;br&gt;Steher → Zäune mit · Zaun → alleinstehende Steher mit · Kettenabbruch" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#82b366;" vertex="1" parent="geko">
<mxGeometry x="20" y="290" width="480" height="60" as="geometry" />
</mxCell>
<mxCell id="geko-ui" value="&lt;b&gt;Detailmenü-Konfiguration&lt;/b&gt;&lt;br&gt;Bauform-Dropdown gefiltert nach Matrix · Höhen-Untergrenze" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#82b366;" vertex="1" parent="geko">
<mxGeometry x="20" y="370" width="480" height="60" as="geometry" />
</mxCell>
<!-- Kanten -->
<mxCell id="e0" value="(0) registriert sich einmalig&#10;für Allround-Produktfamilie" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;strokeColor=#82b366;fontSize=11;exitX=0;exitY=0.5;entryX=1;entryY=0.5;" edge="1" parent="1" source="geko-split" target="cpq-registry">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e1" value="(1) Domain-Event" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;strokeColor=#6c8ebf;fontSize=11;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" edge="1" parent="1" source="cpq-events" target="geko-matrix">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e2" value="(2) Abfrage: belegte PMIs + Winkel,&#10;Nachbarn, Zaun-Metadaten" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;strokeColor=#82b366;fontSize=11;exitX=0;exitY=0.5;entryX=1;entryY=0.5;" edge="1" parent="1" source="geko-height" target="cpq-query">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e3" value="(3) Kommando: In-Place-Tausch,&#10;Höhe setzen, löschen" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;strokeColor=#82b366;fontSize=11;exitX=0;exitY=0.5;entryX=1;entryY=0.5;" edge="1" parent="1" source="geko-delete" target="cpq-commands">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e4" value="Hook: Löschmenge anpassen,&#10;Heal auslösen" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;startArrow=block;strokeColor=#b85450;fontSize=11;exitX=1;exitY=0.5;entryX=0;entryY=0.75;dashed=1;" edge="1" parent="1" source="cpq-cascade" target="geko-delete">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e5" value="liest Konfiguration" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;strokeColor=#9673a6;fontSize=11;exitX=1;exitY=0.5;entryX=0;entryY=0.75;dashed=1;" edge="1" parent="1" source="cpq-ui" target="geko-ui">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<!-- Legende -->
<mxCell id="legend" value="Zyklus pro Topologie-Änderung: (1) Event → (2) Abfrage → (3) Kommando&#10;Abgrenzungsregel: wortgleich wiederverwendbar = cpq · kennt Artikelnummern / Winkel-Matrix / Zaun-Begriffe = geko" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=1;fillColor=#fff2cc;strokeColor=#d6b656;spacingLeft=10;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="40" y="710" width="900" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>