DOT (Graphviz) rendering for Choreo architecture diagrams.
This module translates a Choreo struct into the DOT language with
sensible defaults for infrastructure diagrams:
- Databases are rendered as cylinders
- Caches as octagons
- Services as 3D boxes
- Networks as clouds
- Users as double circles
- Load balancers as hexagons
- Queues as components
- Storage as tabs
Edges are styled according to their semantic type (:connection or
:dataflow).
Themes (built-in or custom) control colours, shapes, fonts, and layout.
See Choreo.Theme for details.
Summary
Functions
Renders a Choreo to a DOT string.
Options
:theme-:default,:dark,:minimal, or aChoreo.Themestruct:subgraphs- list of subgraph / cluster definitions (manual override):ranks- rank constraints- Any other option accepted by
Yog.Render.DOT.to_dot/2
Examples
dot = Choreo.Render.DOT.to_dot(system)
dot = Choreo.Render.DOT.to_dot(system, theme: :dark)
theme = Choreo.Theme.custom(colors: [database: "#ff0000"])
dot = Choreo.Render.DOT.to_dot(system, theme: theme)