Themes
Colours, fonts, styles and page chrome in one directory.
A theme is a directory containing theme.yaml plus its assets (fonts, icons, logos). It supplies
colours, fonts, node, edge and zone styles, icons and page chrome, so the same diagram source renders
in any brand.
Start with extends: default and override only what differs:
name: acme
extends: default
colors:
primary: "#0F766E"
primary-strong: "#115E59"
primary-deep: "#134E4A"Select a theme with --theme DIR (or a built-in name) or the SPINAGRAM_THEME environment
variable. In Python, pass theme= to d.save(...) or spinagram.render(...).
src/spinagram/themes/default/theme.yaml
documents every key: canvas, colors, font roles (with font files for metrics and embedding),
styles for nodes, edges, zones, legends and tables, icons, and page chrome.
spinagram serve has a Themes tab that shows the token sheet of the active theme: colours,
fonts, styles with previews and chrome. See Live UI.