Releases: seandavi/quarto-livefigures
Release list
0.8.0 — MCP server + CLI
- MCP server (ADR 0015) — agents can now see the figures they
write. Tools:render(source → PNG image block or SVG text),
validate,list_formats; the agent skill is served as the
livefigures://skillresource. Two transports, identical behavior:- Public:
https://mcp.livefigures.seandavis.net/mcp(streamable
HTTP, stateless, nothing to install). graphviz/dbml render via kroki
there (Cloudflare Workers bans runtime wasm compilation); all other
formats run the extension's own engines in-worker. - Local:
_extensions/seandavi/livefigures/mcp.mjsships in the extension
(stdio, zero deps, offline for local formats) —claude mcp add livefigures -- node _extensions/seandavi/livefigures/mcp.mjs.
- Public:
- CLI — the same tools as commands, also shipped in the extension
(_extensions/seandavi/livefigures/cli.mjs) and as an npm bin (livefigures):
render,validate(exit 1 on bad sources — CI-friendly),formats,
mcp. - Internal: renderer split into pure lib functions + thin CLI
wrappers (the shell-out contract is unchanged); vega gained a
CSP-safe interpreter mode; Excalidraw's asset path is now set where
excalidraw actually reads it. Release version sync now includes
package.json(4 files, CI-enforced).
v0.7.1 — subdirectory path fix + docs site
Install: quarto add seandavi/quarto-livefigures@v0.7.1
- Fix: documents in project subdirectories (book chapters, website sections) got mangled figure paths —
pandoc.path.make_relativenever emits..segments; livefigures now computes relative paths itself. Found by dogfooding the new docs site. - Docs site source added under
site/(deploying to livefigures.seandavis.net).
Full notes in NEWS.md.
v0.7.0 — local Graphviz and DBML
Install: quarto add seandavi/quarto-livefigures@v0.7.0
- Graphviz (
.dot,.gv; block.dot) — wasm-rendered, fully offline; file-referenced figures with caching and native figure semantics, complementing Quarto's code-cell dot - DBML (
.dbml) — database schema diagrams rendered locally - 18 agent-authorable source formats total: 12 local/offline, 6 via kroki
Full notes in NEWS.md; tiering rationale in ADR 0014.
v0.6.0 — eight more kroki formats
Install: quarto add seandavi/quarto-livefigures@v0.6.0
Batch-enabled after empirically probing all 28 kroki.io diagram types (ADR 0012 addendum):
- New formats (file extension + inline block class each): D2, C4-PlantUML, Structurizr, erd, ditaa, pikchr, svgbob, TikZ (complete
standalonedocs) - Excluded with reasons: blockdiag family (broken server-side), umlet/BPMN (hand-placed coordinates — not agent-authorable), symbolator/wireviz (deep-niche)
- Hardened kroki client: rejects silent empty-200 responses; explicit User-Agent for CDN compatibility
- 16 source formats total — every one authorable by an AI agent
Full notes in NEWS.md.
v0.5.0 — inline code-block figures
Install: quarto add seandavi/quarto-livefigures@v0.5.0
- Inline code-block figures: fence a diagram with a backend class and it becomes a real figure — captions, labels, cross-references included (ADR 0013):
```{.nomnoml #fig-pipe fig-cap="The pipeline"}
[Filter] -> [Cache]
- Classes: `.excalidraw`, `.vega-lite`, `.vega`, `.nomnoml`, `.wavedrom`, `.bytefield`, `.plantuml`; same cache/options/hard-fail behavior as file figures
- **Recommended install form is now** `filters: [{at: pre-ast, path: livefigures}]` — required for crossrefs on inline blocks; plain form still works for file-referenced figures
Full notes in NEWS.md.
v0.4.0 — PlantUML via kroki
Install: quarto add seandavi/quarto-livefigures@v0.4.0
- New backend class: kroki-rendered formats, starting with PlantUML (
.puml,.plantuml) — the first network-rendered backend (ADR 0012) - Endpoint configurable via
livefigures: kroki-url:metadata; self-host for private diagrams; endpoint participates in the cache key - PDF stays deterministic: SVG is fetched, PNG rasterized locally with bundled fonts
- Warm-cache rebuilds work offline; an unreachable endpoint fails loudly with the self-hosting escape hatch
- Seven source formats total; gallery gains a PlantUML page
Full notes in NEWS.md.
v0.3.0 — text-diagram trio: nomnoml, WaveDrom, bytefield
Install: quarto add seandavi/quarto-livefigures@v0.3.0
Three new backends selected for agent fluency — formats LLMs author reliably, none with existing Quarto support (ADR 0011):
- nomnoml (
.noml,.nomnoml) — terse node-edge/UML diagrams, automatic layout - WaveDrom (
.wavedrom,.wavedrom.json) — digital timing & register diagrams from JSON - bytefield (
.bytefield) — byte/packet layout diagrams
Six source formats now render through one pipeline: single-source-of-truth, offline, deterministic, content-addressed caching. theme=dark/background=scene hard-fail on formats without those variants rather than rendering wrong.
Full notes in NEWS.md.
v0.2.0 — Vega-Lite/Vega backend
Install: quarto add seandavi/quarto-livefigures@v0.2.0
- New backend: Vega-Lite / Vega (
.vl.json,.vg.json) — headless, dedicated bundled renderer (ADR 0010); chosen over draw.io for agentic-editing workflows. - Chart PDFs are deterministic across machines: shared rasterizer with bundled Liberation Sans, no system fonts.
theme=autono longer CSS-inverts charts (data colors stay faithful); explicittheme=darkuses the vega dark theme. Excalidraw behavior unchanged.- Cache keys include the backend; upgrading invalidates caches as designed.
Full notes in NEWS.md.
v0.1.0 — MVP: native .excalidraw figures
First release. See README.