From 45f381d4a26f90ca3a27df36a58165d0761175fa Mon Sep 17 00:00:00 2001 From: Johannes Rudolph Date: Fri, 31 Jul 2026 10:02:07 +0200 Subject: [PATCH 1/7] feat: render architecture diagrams from Graphviz DOT instead of Mermaid Mermaid gives no control over layout. There is no way to say "keep these three nodes on one row" and no way to say "this edge must not affect ranking", so any diagram with two related hierarchies comes out as diagonal spaghetti and every attempt to fix it fights the engine. Switch reference architecture diagrams to Graphviz DOT committed next to the markdown, with the rendered SVG committed alongside: - tools/diagrams/render-diagrams.mjs renders every *.dot to a sibling *.svg. Graphviz runs as a WASM npm package, so no system `dot` install is needed. --check re-renders in memory and diffs against what is committed. - task diagrams / task diagrams:check wrap it; a Diagrams Check workflow runs --check on PRs so a .dot edit without a re-render fails instead of shipping a stale picture. - Convert azure-kubernetes and stackit-kubernetes from Mermaid to DOT, using rank=same for rows, constraint=false for cross-cutting edges, splines=ortho for right-angle connectors and xlabel for labels that survive ortho routing. Inline HTML/SVG is not an option for these diagrams: the website renders the markdown through marked into Angular's [innerHTML], which strips