Vergleich · Stand 2026-10-04

MZP vs. diagram-design

Was der Mzone-Publisher (MZP) von den Fähigkeiten des geforkten Repos cathrynlavery/diagram-design (v2.4, 27 Typen) abdeckt, wo Lücken sind und was er anders oder zusätzlich macht.

Original
Agent-Skill + Python-Skripte, statisches HTML/SVG
MZP
Server-Renderer via MCP (validateDiagram / publishDiagram), mzone-ui 1.8.0
Quelle
Repo-README, SKILL.md, references/*; MZP getCapabilities + getCapabilityFor je Typ; Backlog-Epic dd-parity (MZP-153…169)
Abgleich
2026-10-04 gegen Live-Instanz und Backlog; geändert seit 2026-10-03: Sequence-ALT (MZP-157) und SVG-IDs (MZP-156) erledigt
Vorhanden
16
Teilweise
4
Lücken
12
Nur MZP / anders
17 / 5

Wichtigste Lücken

  1. L1Import
    Kein draw.io-Import (kein Ticket); Mermaid ohne sequenceDiagram (MZP-158) und ohne Mehrblock-Markdown (MZP-159).
  2. L2Branding
    Kein Onboarding von einer Website-URL (MZP-162), keine eigenen Schriften (MZP-161), keine speicherbaren Kundenprofile und keine Token-Kontrastprüfung (MZP-160). Die vier Profile sind Prosa-Basiswerte ohne Bezug zum Renderer.
  3. L3Output
    Keine Größen-Presets mit Type-Ramp (MZP-167), keine Detail-/Audience-Stufen (MZP-168, Agent-Workflow), kein Fidelity-Ledger (MZP-163).
  4. L4Semantik
    Die 7 Semantic Patterns (MZP-164) und die Motion-Modi reveal/step/loop fehlen; MZP bietet nur trace, geplant ist step (MZP-165).
  5. L5Renderer
    Consultant-2×2 mit benannten Zellen fehlt (MZP-169). Erledigt seit 2026-10-03: Sequence-ALT-Fragmente als typeBlocks.altRegions (MZP-157) und je Diagramm eindeutige title/desc-IDs (MZP-156).

Matrix

✓ MZP kann es wie das Original ◐ eingeschränkt ✗ fehlt in MZP ≠ bewusst anders gelöst + nur in MZP
BereichFähigkeitdiagram-design (Original)MZPStatusHinweis
Diagrammtypen23 Kerntypen ohne Abweichung✓ je Typ Beispiel-HTML light/dark/full✓ eigener Renderer: Architektur, Flowchart, Sequence, State machine, ER / Datenmodell, Timeline, Swimlane, Nested, Tree, Org chart, Layer stack, Radar / Spider, Loop / Flywheel, IT current-state, High-Level, Bar chart, Line chart, Gantt, Process, Medallion, Data flow, DP integration, DP security matrix✓ vorhandenVolle Parität
DiagrammtypenQuadrant✓ inkl. Achsen-Beschriftung✓ quadrant + axisLabels✓ vorhandenlive geprüft: Achsentexte werden gezeichnet
DiagrammtypenConsultant 2×2 (benannte Zellen)✓ eigenes Beispiel– kein Zellen-Block im Quadrant-Schema✗ LückeSzenario-Matrix mit Zellnamen nicht abbildbar · MZP-169 (IDEA, P3)
DiagrammtypenVenn✓ inkl. Schnittmengen-Label✓ venn (≤3 Kreise) + intersectionLabel✓ vorhandenlive geprüft
DiagrammtypenPyramid / Funnel✓ ein Typ, zwei Orientierungen✓ pyramid mit orientation, zusätzlich eigener Typ funnel✓ vorhanden
DiagrammtypenScatter✓ inkl. Trendlinie / Quadranten-Teiler✓ scatter (≤30 Punkte), trendLine, quadrantDividers✓ vorhandenlive geprüft
DiagrammtypenSequence: ALT-Fragmente (OAuth-Beispiel)✓ Combined-Fragment-Grammatik✓ typeBlocks.altRegions (label, y, height, elseY, elseLabel), ≤2 Regionen✓ vorhandenlive geprüft 2026-10-04: zwei Regionen, Labels im SVG; in getCapabilityFor('sequence') dokumentiert (MZP-157)
DiagrammtypenZusätzliche Typen–✓ c4, kanban, mindmap, pie, treemap, sankey, heatmap, funnel, dependency, deployment, waterfall, db-schema, uml-class, journey, story-map, fishbone, wardley, polar (18)+ nur MZP45 statt 27 Typen
Stil & VariantenMinimal light / Dark / Full-editorial✓ je Typ 3 Dateien✓ meta.variant minimal | dark | full-editorial✓ vorhanden
Stil & VariantenWeitere Skins–✓ quiet, kontrast, gematik, journal, signal, blueprint, terminal, custom+ nur MZP
Stil & VariantenTerminal-Primitive✓ template-terminal.html✓ variant: terminal✓ vorhanden
Stil & VariantenSketchy-Primitive (Handstrich)✓ primitive-sketchy.md✓ meta.sketch=true, mit jeder Variante kombinierbar✓ vorhanden
Stil & VariantenAnnotation-Callout (kursive Randnotiz)✓ primitive-annotation.md✓ ≤2 Callouts, Intents focal/muted/neutral, Leader-Kreuzungsprüfung✓ vorhanden
Stil & VariantenIcons✓ ~40 Icons (compute, people, network, data, k8s, action) + Devicon-Build✓ gleiche Basis + agent-*, brand, data-stack, devops, language …+ nur MZPGalerie: /published/all-icons-v2/
Stil & VariantenDichte-/Geschmacksregeln (4/10, 1–2 Akzente)✓ Philosophie in SKILL.md (Agent-Disziplin)✓ serverseitig erzwungen: Budgets (≤9 Knoten/≤12 Kanten), Taste-Warnungen≠ anders gelöstRegel → harte Validierung
Stil & VariantenLight/Dark-Wechselseparate Dateien je Variante✓ Theme-Umschalter im interaktiven Viewer+ nur MZP
BrandingOnboarding: Marke von Website-URL extrahieren✓ Palette + Fonts → style-guide.md, Fidelity-Receipt– kein Tool; nur 4 feste Profile (nightline, ledger, monoblock, arcade)✗ LückeWorkaround: Agent extrahiert selbst, übergibt variant: custom + meta.colors · Entscheidung: Agent-Workflow ohne Server-Abruf, MZP-162 (IDEA, P3)
BrandingEigene Farben✓ style-guide.md Tokens✓ meta.colors (paper, ink, accent, series1–5 …)✓ vorhanden
BrandingEigene Schriften✓ Title/Node/Sublabel-Fonts aus Website– keine Font-Tokens in meta✗ Lückenur maierzone-Fonts · Entscheidung: Katalog gebündelter, vermessener Schriften, MZP-161 (IDEA, P2)
BrandingBenannte Kundenprofile (.diagram-design Marker)✓ ~/.diagram-design/profiles/<slug>.md◐ 4 Basis-Profile (Klassenpfad-JSON, schreibgeschützt), keine eigenen speicherbar◐ teilweiseProfile haben 5 Farbrollen und Prosa-Typografie; der Renderer nimmt variant + meta.colors (15 Felder) und kennt kein profile. MZP-160 (IDEA, P2): DB-Tabelle + Tools
BrandingWCAG-Kontrastprüfung der Tokens✓ beim Onboarding◐ axe-Check (a11y=true) bei publishArtifact◐ teilweiseprüft Seite, nicht Token-Paar · MZP-160 (P3 im Ticket)
BrandingFirst-Run-Gate (Default-Skin-Warnung)✓– entfällt (Server-Skin ist Standard)≠ anders gelöst
Semantik & Motion7 Semantic Patterns (Queue, Policy-Trace, Paved Road …)✓ semantic-patterns.md mit eigenen Primitiven & Budgets◐ nur Bausteine: nodeTypes security/failure/waiting, Zonen mit trustBoundary✗ LückeKein Pattern-Routing, keine Pass/Fail/Skipped-Trace-Primitive · MZP-164 (Stufe a: Führung + 7 Referenzdiagramme)
Semantik & MotionAnimation none / reveal / step / loop✓ animation.md, ?motion=step&step=N, Tastatur◐ nur meta.animation=trace (einmaliger Fluss im Viewer)◐ teilweisekeine Step-/Loop-Modi, keine Frame-URL · MZP-165 (nur step + ?step=N)
Semantik & MotionAnimierte Beispiele (Queue, Policy-Trace, Paved Road)✓ 3 Dateien–✗ LückeMZP-166 (Policy-Trace zuerst)
Semantik & MotionGeführte Kapitel / Kamerafahrt–✓ views (≤5), ?present=1, ?embed=1+ nur MZP
Semantik & MotionInteraktiver Viewer (Suche, Fokus, Reach-Trace, Routen-Sonde)–✓ meta.interactive=true+ nur MZP
Semantik & MotionDrill-down / Repo- & Wiki-Links an Knoten–✓ props.drillDown, repoPath, wikiSlug+ nur MZP
Importdraw.io (.drawio, .xml, .png, .svg, komprimiert)✓ drawio_extract.py → IR– nicht unterstützt✗ Lückegrößte Funktionslücke · kein Ticket
ImportMermaid flowchart / state / ER✓✓ Parameter mermaid + JSON-Overlay✓ vorhanden
ImportMermaid sequenceDiagram✓– MERMAID_UNSUPPORTED✗ LückeMZP-158 (IDEA, P2)
ImportMermaid classDiagram–✓+ nur MZP
ImportMehrere Mermaid-Blöcke aus Markdown✓ Header listet alle Blöcke– ein Text pro Aufruf✗ LückeAgent muss splitten · MZP-159
ImportASCII-/Unicode-Skizze–✓ Parameter ascii+ nur MZP
ImportHandskizze → Figur (analog)–✓ analog@1.1.0, exportFigurePng+ nur MZP
Output-SpecFormat html / svg / png / html+png✓✓ index.html + diagram.svg + diagram.png?scale=1..4✓ vorhanden
Output-SpecTransparenter PNG-Hintergrund–✓ meta.transparentBackground+ nur MZP
Output-SpecGrößen-Presets (slide-16x9, social-og, A4 …) + Type-Ramp✓ 9 Presets, Schriftgröße skaliert mit– nur viewBoxWidth/Height manuell✗ LückeMZP-167 (nur slide-16x9 und social-og)
Output-SpecDetail-Stufen faithful / balanced / simplified✓ Degrade-Ladder– (Budgets begrenzen, reduzieren aber nicht)✗ LückeAgent-seitig nachbildbar · MZP-168 (Workflow, kein Server-Feld)
Output-SpecAudience engineer / mixed / executive✓ Umformulierung der Labels–✗ LückeAgent-seitig nachbildbar · MZP-168 (Workflow, kein Server-Feld)
Output-SpecFidelity-Ledger nach Import✓–✗ LückeMZP-163
Output-SpecStandalone-HTML ohne JS/Build✓ offline lauffähig≠ gehostet unter publisher.maierzone.de; SVG statisch≠ anders gelöst
Qualität & PrüfungAccessible SVG (role=img, title/desc, ID-Präfix)✓ lint-skin a11y-Kategorie, IDs je Diagramm präfixiert✓ role=img, aria-labelledby, title/desc; alle IDs je Diagramm präfixiert (Hash aus Typ, Titel, Knoten-Ids)✓ vorhandenlive geprüft 2026-10-04: d48fb084b-title (MZP-156)
Qualität & PrüfungLabel-Geometrie / Überdeckung✓ verify-geometry.py✓ LAYOUT_QUALITY (Kreuzungen, Overlaps, Hotspots) + visualProof im Browser✓ vorhanden
Qualität & PrüfungAuto-Layout– Koordinaten von Hand✓ für graphförmige Typen, meta.direction, constraints+ nur MZP
Qualität & PrüfungConnector-Routing– manuell im SVG✓ serverseitig (Andockseite, Orthogonalisierung, Ausweichen)+ nur MZP
Qualität & Prüfung4px-Raster✓ Konvention✓ validiert✓ vorhanden
Qualität & PrüfungRender-Check im echten Browser◐ export.md / Playwright lokal✓ automatisch bei validate/publish+ nur MZP
Qualität & PrüfungSkin-Lint / Motion-Verifikation / CI auf 3 OS✓ scripts/*.py, GitHub Actions≠ Server-Validierung ersetzt Skin-Lint; Motion-Checks entfallen≠ anders gelöst
Betrieb & DistributionInstallationPlugin für Claude Code, Codex, Pi, CoworkMCP-Server – jeder MCP-Client≠ anders gelöst
Betrieb & DistributionGalerie aller Beispiele✓ assets/index.html mit Tabs◐ Icon-Galerie; keine Typ-Galerie◐ teilweise
Betrieb & DistributionVersionen, Rollback, Diff– (git)✓ listVersions, rollbackArtifact, diffDiagram+ nur MZP
Betrieb & DistributionGraph-Abfrage publizierter Diagramme–✓ queryDiagram (stromauf/stromab)+ nur MZP
Betrieb & DistributionPreview-/Review-Links–✓ TTL-Preview bis 7 Tage+ nur MZP

54 Fähigkeiten verglichen. Quadrant, Venn und Scatter (2026-10-03) sowie Sequence-ALT-Fragmente und die SVG-IDs (2026-10-04) wurden live gegengeprüft; für alle offenen Zeilen nennt die Hinweisspalte das Ticket.