Release Notes
Added
- Promoted additional in-scope deferred fixtures into the committed corpus (state parser specs, flowchart icon specs,
class diagram specs, and math examples) and generated upstream SVG baselines.
Fixed
- Architecture: refresh compound bounds after FCoSE spring iterations before applying
relocateComponent-style centering
(fixes parity-root root max-width drift in deep compound/group fixtures).
- Flowchart: unescape quoted string labels (e.g. Windows paths like
C:\\Temp\\...) and preserve Unicode punctuation in
label text.
xtask compare-flowchart-svgs: skip ELK flowchart fixtures requested via layout: elk / flowchart.defaultRenderer=elk
(prevents layout failures while ELK parity is deferred).
- Flowchart: align icon node shape rendering with upstream Mermaid (
icon vs iconSquare) to avoid NaN path data and
restore SVG DOM parity for AWS icon fixtures.
- Flowchart: improved
iconSquare RoughJS path parity (rounded-rect path structure) for upstream icon shape fixtures.
- Class: render
htmlLabels: false labels via SVG <text>/<tspan> (avoid <foreignObject> DOM mismatches in parity
baselines).
- Text: closer-to-upstream Mermaid Markdown tokenization for flowchart SVG labels and layout measurement (fixes
underscore/emphasis boundary edge cases).
- Radar: fixed detailed-entry parsing so decimal values like
3.2 are not misparsed as axis 3 with value 0.2.
- Treemap: tightened header parsing to match Mermaid CLI (
treemap: / treemap utilities now fail) and preserved the
upstream behavior where trailing whitespace-only lines are treated as a syntax error.
xtask audit-gaps: avoid trimming trailing whitespace when parsing deferred fixtures (prevents false “parse OK” on
grammars like Treemap that treat trailing whitespace-only lines as an error).
xtask audit-gaps: added --check-upstream-render-deferred-ok to identify promotable deferred fixtures
(in-scope + upstream render OK).
xtask SVG DOM compares: further reduced noisy parity-root root viewport diffs by snapping max-width/viewBox
to a coarser lattice (0.25px).
xtask gen-upstream-svgs / compare-state-svgs: allow generating/validating upstream baselines for renderable state
parser fixtures while skipping the known upstream-crashing upstream_state_parser_spec fixture.
- Architecture: improved compound/nesting layout alignment by extending the FCoSE port with a compound graph model and
closer-to-upstream bounds/centroid propagation behavior.
- Architecture: improved edge parsing/modeling compatibility (including
lhsInto/rhsInto metadata when present).
- Architecture: removed fixture-id keyed label wrapping/formatting special-cases by tightening
createText(...)-like
SVG label wrapping and matching Mermaid CLI attribute newline serialization ( ).
xtask SVG DOM compares: stabilized anonymous edge wrapper ordering for Architecture and reduced non-actionable text
diffs caused by line wrapping sensitivity.
- README: fixed the Stress gallery Architecture fixture reference and refreshed the Architecture showcase render.
Not Released / WIP
- Architecture: geometry-level parity (placements, viewport, and routing coordinates) is still being aligned to upstream
Cytoscape/FCoSE. SVG DOM parity is compared in dom-mode parity, so expect occasional layout snapshot churn while we
tighten numeric fidelity.
- Flowchart/Sequence:
$$...$$ (KaTeX) label DOM parity remains deferred; compare tooling skips these fixtures when
--check-dom is enabled until a real MathRenderer backend exists.
- Flowchart:
flowchart-elk layout is not implemented yet; compare tooling skips those fixtures (still kept in the
corpus for parser coverage).
merman-core: dropped support for legacy Architecture edge shorthand (e.g. a L--R b, a (L--R) b) to align with
Mermaid@11.12.3's Langium parser; use port-colon syntax instead (e.g. a:L -- R:b).
merman-render: introduced a pluggable MathRenderer interface for $$...$$ math labels (no default KaTeX backend;
pure-Rust remains the default).
xtask: added audit-gaps to summarize parser-only fixtures and deferred corpus status (helps drive “missing
implementation” work off reproducible reports).
xtask audit-gaps: optionally probe upstream renderability for parser-only fixtures via Mermaid CLI (flags:
--check-upstream-render, --upstream-timeout-secs).
Install merman-cli 0.3.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Latias94/merman/releases/download/v0.3.0/merman-cli-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/Latias94/merman/releases/download/v0.3.0/merman-cli-installer.ps1 | iex"
Download merman-cli 0.3.0