Formats
livefigures supports eighteen figure source formats through one pipeline. The unifying idea: each is a plain-text or JSON notation with real authoring communities and — critically — high LLM fluency, so both humans and AI agents can create, review, and diff figure sources the same way they handle code. Formats marked kroki render through a kroki endpoint (network on cache misses only, self-hostable); everything else renders locally and offline.
Sketching & general diagrams
| Format | Extensions | Rendering | Covers |
|---|---|---|---|
| Excalidraw | .excalidraw |
local | Freehand whiteboard sketches: architecture drawings, annotated mockups, anything you’d draw for a colleague. The scene file is JSON; the editor is free and browser-based. |
| D2 | .d2 |
kroki | A modern declarative diagram language with clean syntax and automatic layout — a good default for boxes-and-arrows when you aren’t sketching by hand. |
| ditaa | .ditaa |
kroki | Turns ASCII-art boxes into polished raster-style diagrams; useful when the source must remain readable as plain text. |
| svgbob | .svgbob |
kroki | ASCII art to faithful SVG, preserving the hand-typed aesthetic. |
| pikchr | .pikchr |
kroki | The modern descendant of Kernighan’s PIC language (Kernighan 1984), used throughout SQLite and Fossil documentation. |
| TikZ | .tikz |
kroki | Publication-grade LaTeX graphics. Sources must be complete standalone documents. |
Charts & data graphics
| Format | Extensions | Rendering | Covers |
|---|---|---|---|
| Vega-Lite | .vl.json |
local | A grammar of interactive graphics (Satyanarayan et al. 2017), descended from Wilkinson’s Grammar of Graphics (Wilkinson 2005). The most agent-fluent chart format there is: concise, declarative JSON. |
| Vega | .vg.json |
local | The lower-level dataflow language beneath Vega-Lite (Satyanarayan et al. 2016). Reaches things Vega-Lite can’t, including force-directed network layouts (Fruchterman and Reingold 1991). |
Graphs, networks & software structure
| Format | Extensions | Rendering | Covers |
|---|---|---|---|
| Graphviz | .dot, .gv |
local | The canonical graph-layout system (Gansner and North 2000). Dependency graphs, state machines, pipelines — dot has four decades of mindshare and correspondingly deep LLM fluency. |
| nomnoml | .noml, .nomnoml |
local | UML-ish boxes and arrows from remarkably terse text, laid out hierarchically in the Sugiyama style (Sugiyama et al. 1981). The fastest path from idea to node-edge diagram. |
| PlantUML | .puml, .plantuml |
kroki | The workhorse of software UML: sequence, class, activity, state, component diagrams and more. |
| C4-PlantUML | .c4 |
kroki | C4-model architecture diagrams (context/container/component) in PlantUML syntax. |
| Structurizr | .structurizr |
kroki | C4 architecture from the dedicated Structurizr DSL — model once, view many. |
Data modeling
| Format | Extensions | Rendering | Covers |
|---|---|---|---|
| DBML | .dbml |
local | Database schemas — tables, columns, relationships — in the popular DBML language. |
| erd | .erd |
kroki | Compact entity-relationship diagrams in a minimal text notation. |
Hardware & protocol
| Format | Extensions | Rendering | Covers |
|---|---|---|---|
| WaveDrom | .wavedrom, .wavedrom.json |
local | Digital timing diagrams and register/bit-field layouts from JSON — the de-facto standard in hardware documentation. |
| bytefield | .bytefield |
local | Byte- and packet-layout diagrams, in the tradition of RFC header figures. |
What we deliberately left out
Selection is documented in the project’s ADRs: formats requiring hand-placed coordinates (UMLet, BPMN-DI) fail the agent-authorability test; tldraw’s SDK license prohibits open-source redistribution; the blockdiag family is broken on public kroki; Mermaid and code-cell Graphviz are already native to Quarto. SMILES (chemistry) and ABC notation (music) are queued next.