Skip to content

v1.2.0 — DOT + Dippin front-ends, terminal renderer, layout pass

Choose a tag to compare

@clintecker clintecker released this 17 Jul 00:43
· 74 commits to main since this release

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-endsDOTParser.parse(_:) / DippinParser.parse(_:) produce the Flowchart IR, so any .dot/.dip file renders through the same layout on every backend (Apple CoreGraphics, Linux Silica/Cairo, terminal).
  • Render an already-parsed diagramMermaidRenderer.pngData(diagram:) / image(diagram:) / rgbaRaster(diagram:) (with bounded raster dimensions).
  • NodeShape.hexagon and .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