v1.2.0 — DOT + Dippin front-ends, terminal renderer, layout pass
Two new front-ends, a terminal renderer, and an edge-label/back-edge layout pass. Additive to the public API; the layered/graph families render better and their gallery images are regenerated to match.
New
- Graphviz DOT & Dippin front-ends —
DOTParser.parse(_:)/DippinParser.parse(_:)produce theFlowchartIR, so any.dot/.dipfile renders through the same layout on every backend (Apple CoreGraphics, Linux Silica/Cairo, terminal). - Render an already-parsed diagram —
MermaidRenderer.pngData(diagram:)/image(diagram:)/rgbaRaster(diagram:)(with bounded raster dimensions). NodeShape.hexagonand.subroutine.mermaidkit-term(experimental) — renders Mermaid/DOT/Dippin in the terminal, best tier first: Kitty graphics → half-block truecolor → colored box-drawing → ASCII, with capability + background detection. Platform-free, runs headless on Linux/CI.
Layout
- Edge labels center on the arrow-free run midpoint with reserved stub length, crowded parallel captions stagger, back-edges route up a gutter, needless jogs straighten, and fan-out edges spread onto distinct tracks. New linter rules ratchet it:
label-on-fixture,label-crowds-edge,edges-doubled.
Full notes in CHANGELOG.md.
🤖 Generated with Claude Code