Following up on #57644 by @cameron1024, this PR updates `merman` to v0.6. With merman 0.6's new raster-safe SVG pipeline, Zed can move generic `usvg`/`resvg` cleanup passes out of this crate and rely on merman for them instead. **What's moved to merman:** - `foreignObject` fallback text generation - Unsupported CSS cleanup - Invalid SVG attribute cleanup **What's kept in Zed:** - Theme CSS injection and accent color assignment - Zed-specific fallback overlay handling **Integration note:** In merman v0.6, fallback overlay groups are marked with `data-merman-foreignobject="fallback"` and preserve source classes like `node` or `section-*`, so host CSS can still style fallback text. This PR updates Zed's accent tracker to check for this marker, ensuring fallback overlays are not treated as real layout nodes. I also added a render-stage test for the new contract: the SVG output from `render_mermaid` is already raster-safe before Zed-specific post-processing runs. --- ### Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable ### Release Notes: - Improved rendering of Mermaid diagrams in Markdown previews. ### Tests: - `cargo +1.95 fmt --check -p mermaid_render` - `cargo +1.95 test -p mermaid_render` - `cargo +1.95 clippy -p mermaid_render --all-targets -- -D warnings` - `git diff --check HEAD~1..HEAD` --------- Co-authored-by: cameron <cameron.studdstreet@gmail.com>
14 files changedLine totals unavailable