Meltemi Diagrams 1.0 roadmap
Meltemi Diagrams 1.0 is the complete public version defined in
propuesta-detallada-diagramas-como-codigo.pdf. All of it is built now, as the ordered OpenSpec
changes below. Nothing in 1.0 is deferred to a later phase. The order only follows dependencies,
and each change is proposed, implemented, verified and archived before the next one starts.
The only exclusions are the ones the proposal itself makes for 1.0:
- realtime collaboration (it came after 1.0, in the web app’s cloud projects: working together);
- synthetic voice;
- AI video generation;
- universal import;
- full conversion to editable PowerPoint shapes;
- PPTX export, which the proposal places after 1.0.
Work that only the product owner can do is listed at the end, with what the code provides for it.
Changes in order
Section titled “Changes in order”| # | Change | Delivers | Status |
|---|---|---|---|
| 1 | meltemi-diagrams-name |
Product name Meltemi Diagrams in exports, brand assets, skill and docs | archived |
| 2 | cli-and-package-names |
CLI meltemi-diagrams with alias mdg; npm scope @meltemi/diagrams-*; source condition renamed; decision 0002 closed |
archived |
| 3 | project-workspace |
Project folders with project.json, models/, diagrams/, stories/, themes/, assets/; relative imports with explicit namespaces; module cycles rejected; qualified references; manifest pinning language, tool and asset versions; project-wide compile and validation; regenerable caches |
archived |
| 4 | source-formatter |
Full formatter as a separate action (meltemi-diagrams format, editor command); idempotent; comments preserved |
archived |
| 5 | text-measurement-and-fonts |
Real font metrics before layout (bundled OFL fonts); no cut labels; font policy per export profile (system, embedded or outlined) | archived |
| 6 | styles-themes-icons |
Delivered as two changes: styles-and-themes (tokens, themes, classes, rules, precedence, presets, patterns) and icons-and-assets (icon library and asset licences). Reusable style classes; full token set (typography, spacing, radii, fills, semantic colours, connectors, arrowheads, margins); precedence base theme → project → diagram rules → explicit style → animation state; Editorial, Technical and Stage themes in light and dark; documentation and 16:9 presets; icon library (Tabler base pack, Iconify packs with licence metadata, local icons, provider packs by their terms) with optical normalisation; assets/licenses.json, assets.lock.json; meaning never by colour alone |
archived |
| 7 | layout-engine |
ELK adapter (EPL-2.0, separate package); auto, assisted and manual modes; soft suggestions versus strong constraints, with conflict diagnostics; named ports; relative constraints (align, same row or column, order, minimum distance); route kinds (auto, orthogonal, polyline, Bézier); parallel relations kept apart; explicit “recompute layout” action; composition checks (no label under a connector, container margins, primary flow separated from secondary dependencies); stability under small edits |
archived |
| 8 | vscode-extension |
The editor for flow, complete: language features (diagnostics, completion, hover, outline, definition, references, highlights, rename of elements and relations, formatting, semantic tokens, quick fixes); canvas side by side with the code (remembered); draw.io-style navigation (14 px grid, guides, zoom, pan, minimap); selection (click, rectangle, keyboard); create from a palette, rename, delete with dependency detection, copy, paste, duplicate; move, nudge, resize, group and ungroup; align and distribute; route editing (bends, kinds, endpoints and ports); label editing; property inspector; dragging in auto switches to assisted and materialises the adjustment; shared undo and redo; stale render; keyboard alternatives and visible focus; export commands |
archived |
| 9 | free-profile |
free diagrams (canvas size, text, box, icon, image, groups with interior coordinates, layers and z-order, connections with every route kind); conversion of a specialised view to free as an explicit copy keeping identity links; its editor tools |
archived |
| 10 | sequence-profile |
sequence diagrams (actors, participants, calls and replies, kind async, activations, self-calls, notes, fragments alt, opt, loop, par, break, critical); specialised layout that preserves event order; editing rules (reorder participants, spacing and labels keep order, crossing messages needs an explicit reorder); scenario and iteration choice for export; its editor tools |
archived |
| 11 | c4-profile |
model blocks (person, system, container, datastore, component, nested, qualified references); c4 views with level, scope and include validated; shared identity across views with independent composition; local label override; traceability of grouped views; links from sequence and free objects to model entities; renaming a model entity updates every view; its editor tools |
archived |
| 12 | import-mermaid-plantuml |
Importers with published coverage, original kept and a report: Mermaid flowchart, sequenceDiagram, C4*, architecture-beta and block-beta; PlantUML component, deployment, use case, sequence and C4-PlantUML, with the preprocessor (!define, !procedure, !function, variables, conditionals, local includes); Markdown blocks; re-import that keeps manual adjustments by id; CLI and VS Code commands |
archived |
| 13 | motion-effects |
animate evaluated on a deterministic clock (flow particles, pulse, dash); scene state at time t; conflicting animations as diagnostics; animated SVG profile (subset with static fallback); effect editing in the editor |
archived |
| 14 | stories |
story blocks (scenes, reveal, hide, hold, trace, highlight, focus, camera, parallel, explicit transitions matched by id); durations and rules; story timeline in the editor sharing undo with text and canvas |
archived |
| 15 | player |
HTML player (pause, progress, scene selection, reduced motion, static mode, keyboard control) embeddable in pages and the catalog | archived |
| 16 | export-png-pdf |
export profiles (format, size, resources, fonts, animation behaviour, chosen instant or static view); PNG and PDF with configurable resolution and optional transparency |
archived |
| 17 | export-video-gif |
MP4, WebM and GIF from stories and effects, frame by frame on the deterministic clock; 1080p at 30 fps by default; documented encoder and licence | archived |
| 18 | html-catalog |
meltemi-diagrams build catalog: self-contained, offline HTML catalog of a project’s diagrams and stories by folder, with the player, search and authorised metadata only |
archived |
| 19 | cli-complete |
init with templates, preview with live reload, project-wide validate, format, import, export for every format, build catalog; review output with before and after images and a semantic model diff that tells a rename from a delete plus create; CI workflow template |
archived |
| 20 | ai-assist |
Optional assistance through model adapters (Anthropic and OpenAI-compatible local endpoints): generate a first structure, modify by instruction, explain a diff, flag likely missing relations marked as assumptions; every proposal is a reviewable edit plan against a known revision, partially acceptable; files shared are shown; keys stored outside diagrams and exports | archived |
| 21 | extensibility-and-safety |
Diagram type registry (schema, validation, layout, editing tools, primitives); explicitly installed plugins with permissions, versions and declared compatibility with the model and renderer versions; imported SVG sanitised; paths confined to the project; network references off by default; size and complexity limits; errors without secrets | archived |
| 22 | web-playground |
Web app with templates and visible code, the same canvas and exports, no account | archived |
| 23 | acceptance-and-quality |
Acceptance corpus (long labels, cycles, nested containers, parallel relations, syntax errors, small edits) for the four profiles; zero cut or overlapping labels; visual regression with pinned resources; frame determinism; reference machine and performance targets measured; first export from a template under ten minutes; export verification matrix with automated browser checks and recorded results for PowerPoint, Keynote and Google Slides | archived |
| 24 | release-1-0 |
Documentation with tracks for Mermaid, PlantUML and visual-editor users; gallery of the four profiles with sources and exports; the reference purchase example (architecture, payment sequence, executive free composition, animated story, video, catalog); code and canvas editing demo; compatibility and import tables; language change policy, conformance tests, contribution guide and release process; third-party inventory and notices; packaged CLI, npm packages and VS Code extension ready to publish; pilot protocol and measurement templates | archived |
Coverage of the proposal
Section titled “Coverage of the proposal”| Proposal section | Changes |
|---|---|
| Product decisions: MIT code, local workflow, bidirectional editing and animation, model, view, layout and narrative separated, optional AI | 3, 8, 13 to 15, 20, 24 |
| Experience and scope: explorer, text, canvas, inspector, motion controls; four profiles; main journey | 8 to 11, 14, 19 |
| Language design: common structure, ids, comments, materialised relation ids, compile never modifies files | 2 to 4, 8 |
| Flow diagrams | 6, 7, 8 |
| Sequence diagrams and editing rules | 10 |
| Models and C4 views | 3, 11 |
| Free composition and canvas tools | 8, 9 |
| Bidirectional editing, composition modes, transactions and recovery | 7, 8, 14 |
| Animation and narrative, playback rules | 13, 14, 15 |
| Visual system, themes, tokens, icons, composition criteria, presets | 5, 6, 7 |
| Technical architecture and plugin types | 7, 21 |
| Repositories, imports and manifest | 3 |
| CLI and CI, semantic diffs | 19 |
| Migration from current tools (importers, coverage, reports) | 12 |
| Export contract, reproducible generation, verification by destination | 13, 16, 17, 23 |
| AI, privacy and local operation | 20 |
| Files, extensions and safety | 21 |
| Accessibility | 6, 8, 15, 23 (and every user interface change) |
| Licences, inventory and notices | 6, 7, 17, 24 |
| Maintenance and contributions | 24 |
| Implementation plan, quality and acceptance criteria, performance targets | 23 |
| Pending decisions: grammar, layout engine, target versions, importer coverage, icon packs, reference machine | 6, 7, 8, 9 to 11, 12, 23 |
| Adoption and launch: web app, documentation tracks, pilot, launch material, reference example | 22, 24 |
Owner actions the code prepares for
Section titled “Owner actions the code prepares for”- Trademark search and final legal review of the name.
- Publishing: the npm organisation, the VS Code Marketplace and Open VSX publisher accounts, and the release itself. Change 24 leaves every package ready and documents the commands.
- Running the pilot with five to eight users. Change 24 provides the protocol and measurement templates.
- Checking exports in PowerPoint, Keynote and Google Slides on real machines. Change 23 provides the files, the checklist and the results table.
- Supplying corpus material from the existing PlantUML tool. Change 12 includes it when provided.