Features
Everything Meltemi Diagrams 1.0 does, by area. The getting started guide walks through the common path, and the documentation index lists every reference.
.meltemigrammar 0.2 with a lossless parser and stable diagnostics.- A typed model and validation for
flow,free,sequenceandc4diagrams and architecture models, with JSON interchange. - Structured source edits (move, resize, route, label, rename, remove) that change only the affected tokens and keep comments and formatting.
- Projects:
project.json, relative imports with namespaces, themes shared between files, a project-wide default theme and validation (projects). - Themes and styles: eight built-in themes (Technical, Editorial, Stage and Sketch, light and
dark), custom themes that extend them, a complete token set (the default speed of effects
included), strokes painted by hand (
sketch), reusable classes, kind rules, patterns, fifteen arrow heads at either end, two-way arrows and lines without heads, dotted lines, rounded corners, and document and slide presets (styles); on the canvas, a style strip of the theme’s colour tokens, a colour picker and the theme panel, which creates a theme in the file or for the project and edits its tokens. - Icons and assets: the built-in Tabler pack, project Iconify and SVG packs with licences, project
fonts,
assets.lock.jsonandmeltemi-diagrams assets(assets); icons beside, above, below or at the centre of a box, sized per element, or drawn as the shape itself with the label outside (styles). - Layout: automatic and assisted layout with ELK, named ports, alignment and order constraints,
orthogonal, straight and curved connectors, parallel lanes, composition checks and
meltemi-diagrams layoutto write positions down (layout). meltemi-diagrams validateandmeltemi-diagrams export: diagnostics for files and projects, and SVG export of every compiled profile:flowdiagrams with notes, tags, data cylinders, decision diamonds, group bands and step labels, free compositions, sequence diagrams and C4 views.- Free compositions (free): boxes in twenty-four shapes that connectors meet
and text fits (flow nodes take them too), their text at the top, middle or bottom, corner radii,
plain containers and stacks, measured text, icons and project images, lines that join no
element, groups placed by their interiors, layers, identity links to
other diagrams, and
meltemi-diagrams convert --to free, which copies a flow diagram as drawn into a free one. - Sequence diagrams (sequence): eight participant kinds and participant boxes,
calls, replies, async messages and self-calls, activations, creation and destruction, notes,
every fragment (
alt,opt,loop,par,break,critical,region), dividers, delays, numbering, order-checked rules, a deterministic layout, and scenarios exported withmeltemi-diagrams export --scenario. - Models and C4 views (c4): persons, systems, containers, datastores and components in one shared model; context, container and component views validated by level and scope; relations lifted to the drawn ancestors with traceability and combined only explicitly; local labels; views of imported models; links from sequence and free objects; renames that reach every view.
- Motion effects (motion): flow particles along relations, moving dashes and
pulses, on a deterministic clock;
meltemi-diagrams export --motion animatedwrites an animated SVG with a static fallback, and--at <time>the frame at any instant; effects are edited in the inspector and previewed on the canvas. - Stories (stories): scenes that reveal, hide, highlight, focus, frame with a
camera and trace relations on the same clock, in sequence or in parallel, and change view with a
cut, a fade or a morph;
meltemi-diagrams export --story <id> --at <time>writes any frame, and the canvas plays a story with a timeline whose drags and Add to scene edit the text. - The HTML player (player):
meltemi-diagrams export --format htmlwrites an offline page, or a fragment to embed, that plays a story or a diagram’s effects with pause, progress, scenes, reduced motion, a static view, keyboard control and a text summary; every drawing zooms and pans, shows cards and a detail panel, and opens the container or component view of a box, or the diagram it links to, with a double click or its plus sign. - PNG and PDF, and export profiles (export):
--format png|pdfwith a pixel scale, a fixed size and an optional transparent background, drawn by the installed Edge or Chrome; vector PDF pages with fonts, selectable text and links;urlhyperlinks on elements and entities;exportblocks that describe each delivery and run with--profileor--profiles. - Video and GIF (export):
--format mp4|webm|gifrecords a story or a diagram’s effects frame by frame on the deterministic clock, 1080p at 30 fps by default, encoded by the system FFmpeg. - The HTML catalog (catalog):
meltemi-diagrams build catalogwrites one offline page of a project’s diagrams and stories by folder, with the player, search, links between diagrams and through the model’s entities, drill-down from a view to the views it opens, SVG downloads, and only authorised metadata. - The complete command line (cli):
initwith templates, among them the reference purchase example;previewwith live reload;validate,format,importandexportof whole projects;reviewof what changed since a Git revision, by id, with renames told from removals and additions and pictures before and after; GitHub and GitLab CI workflows. - Optional AI assistance (assist): Anthropic or any OpenAI-compatible endpoint, local ones included; first structures, changes by instruction, probably missing relations marked as assumptions and explanations of reviews, as proposals of whole blocks you accept in part, checked against the project and reconciled with your edits; what is sent is shown first, and keys stay outside projects.
- Plugins and safety (plugins, security): diagram types declared as data (kinds, properties, required values, allowed relations, layout, palette, shapes and styles) and icon packs, installed explicitly with a pinned version, granted permissions and declared compatibility; no code from a project ever runs; paths stay in the project, nothing is fetched, sizes are bounded, and errors never show secrets.
- Importers (import): Mermaid
flowchart,sequenceDiagram,C4*,architecture-betaandblock-beta; PlantUML component, deployment, use case, sequence and C4-PlantUML diagrams, with the preprocessor; diagram blocks of Markdown files. Every construct is reported as mapped, approximated or dropped, the source is never changed, and re-importing keeps the placement, styles and other adjustments made since (meltemi-diagrams import, and three commands in VS Code). - Meltemi Diagrams in the browser (the web app): a static web page with an explorer
of the project’s folders and diagrams (renames and moves keep imports working), New project from
the templates’ cards, import and export of a project as a
.zip, the code with its language services beside the same canvas, one undo history, Mermaid and PlantUML import, every export (SVG, PNG, PDF by printing, the HTML player, GIF, WebM and MP4, profiles, the project archive, the model JSON and the catalog), share links and work kept in the browser; no account, and nothing leaves the page. - Working together (the web app, cloud): an optional account adds cloud projects that several people open at once. Everyone types without losing a character and each person’s undo covers their own edits; the header shows who is here, and their carets and selections show in the code and on the canvas. Nothing of it is exported or saved.
- The editor for VS Code and its forks (editor):
- every language feature, from diagnostics and completion to rename, formatting and quick fixes;
- a canvas beside the code with a 14 px grid, guides, zoom, pan, a minimap, a palette with a grid of shapes and a relation tool, an icon picker that searches every pack and library, shapes created empty and text typed where it is drawn, route editing, a style strip and an inspector, a theme panel, a clipboard, grouping, drag and drop into groups, alignment, full keyboard operation and short transitions that respect reduced motion;
- every gesture is one small edit of the text.
- Quality: labels kept clear of shapes and other connectors and audited in every drawing, connectors that go around boxes, an acceptance corpus of the four profiles, pixel references, deterministic exports, performance targets on a reference machine and every export opened in Edge, Chrome and Firefox (quality).
- Stability: the language change policy, a conformance suite that another implementation can run, one version for every package and a release check that installs the packed CLI and runs it (releasing).