v1.1.0 — parseWithMetadata + perf fixes
Additive, output-identical refinements on top of 1.0.0.
New
MermaidParser.parseWithMetadata(_:)— parse and get the extracted YAML front-matter (title,accTitle,accDescr) back in one call as(diagram, DiagramMetadata), avoiding a second scan over the source.
Performance (rendered output byte-identical)
Shared-pipeline fixes, verified against the draw-vs-scene conformance ratchet:
- text measurement is memoized — each label is typeset once, not at both layout and draw;
- the render cache key hashes the source once and keys by reference instead of rebuilding an interpolated string every call.
The one profiled optimization that didn't pan out — an 8-bit sRGB render backing store — measured ~2× slower than the f16 default on Apple silicon and was rejected (documented negative result).
Docs
A full performance memo (methodology, per-type numbers, where the time goes) at docs/notes/performance.md, a terminal-rendering-capabilities note, and the coverage audit reconciled against 1.0.
Site: https://2389-research.github.io/MermaidKit/ · Full changelog in CHANGELOG.md.