Skip to content

Merlay 0.2.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 06:06
· 48 commits to main since this release

Merlay 0.2.0 — Direct shape connections, nested groups, and 1:1 canvas scaling

Mermaid, your way. A native visual overlay editor for Mermaid diagrams in Obsidian.

Features

  • Direct shape drag-to-connect: Drag directly from any shape, cluster, or lifeline to initiate connections. Replaces the static hover handle with a subtle, non-intrusive connection hint pill. A 6px movement deadband safeguards single-click selection and double-click inline text editing.
  • Dynamic perimeter anchoring: Rubber-band connection lines dynamically originate from the node boundary facing the cursor for natural, smooth line drawing.
  • Full multi-level group nesting: Subgraphs in flowcharts and composite states in state diagrams now support arbitrary nesting depths with recursive serialization that round-trips cleanly.
  • Context-aware group operations: Grouping members with a shared parent nests inside that parent; removing a node steps out one level into its parent rather than ejecting to the root; fully drained source groups dissolve automatically with transition retargeting.
  • Dedicated composite state anchors: Added independent Add Start and Add End HUD action buttons directly on composite states in state diagrams.

Fixes & Improvements

  • 1:1 scale SVG rendering: Normalized SVG dimensions by extracting natural viewBox coordinates into explicit width and height attributes, preventing diagrams from shrinking or scaling down inside the canvas.
  • Isolated group selection: Group boundaries are bound to their specific cluster element, ensuring only the targeted group is highlighted on selection.
  • Undo/redo interactivity persistence: Re-bound SVG interactivity after undo/redo actions so connections, groups, and composite states remain selectable and interactive.
  • Composite state syntax error resolution: Resolved Mermaid No such shape: roundedWithTitle errors by emitting bare state identifiers inside composite blocks, and excluded composite anchors from marquee selection.
  • Community review compliance & docs: Cleared remaining review warnings (globals, sentence casing) and updated README banner image URLs to absolute paths for the Obsidian plugin catalog.

Install

BRAT (beta): add https://github.com/dev-hashemi/merlay in BRAT → Add Beta plugin.

Manual: download main.js, manifest.json, styles.css below into .obsidian/plugins/merlay/, then enable Merlay under Settings → Community plugins.

Requires Obsidian 1.4.0 or newer. Desktop and mobile supported.

Notes

  • Flowchart and state diagrams are fully visual; other diagram types open view-only with selection.
  • Please report issues at https://github.com/dev-hashemi/merlay/issues — include Obsidian version, installer version, and a minimal mermaid block that reproduces the problem.

Full Changelog: 0.1.2...0.2.0