# 支持范围与故障排查

明确三个引擎的浏览器能力、图片边界、预算和失败恢复路径。

## 当前支持

| 能力 | 当前行为 |
| --- | --- |
| 语言 | Mermaid、PlantUML、DOT；围栏别名 `puml`、`graphviz` |
| 渲染 | 浏览器本地；PlantUML 官方 JS 核心、Graphviz WASM |
| 编辑 | 共用 CodeMirror 6 vendor，词法着色、查找替换、缩进、撤销 |
| 输出 | 净化的静态 SVG、白底 PNG、完整源码对象、标准 Markdown 围栏 |
| UI | 中文 / 英文、明暗主题、窄屏纵向排列 |
| 模板 | 25 个双语模板；不代表完整 DSL 功能清单 |

## 与官方工具的差别

PlantUML 使用官方 JavaScript 核心，不是一个调用完整 Java 服务端的客户端。JS 构建的语法、字体测量、留白和可选库支持可能与 Java 发行版不同。需要精确外观时使用同一引擎版本、相同源码和相同字体做比较。

Mermaid 使用严格安全模式、经典外观和固定布局设置；禁止源码初始化指令和 HTML 标签。DOT 使用 `dot` 布局引擎，不提供布局算法选择。宿主 UI 的深色主题不会改写已保存的图形颜色，PNG 使用白底便于文档输出。

外部 include、网络图片、链接交互、SVG 动画、PlantUML 可选主题/图库和 D2 当前不开放。SVG 会去掉链接、图片、foreignObject 和动画，并拒绝外部样式资源。

## 大小预算

| 内容 | 限制 |
| --- | --- |
| 源码 | 30,000 个 UTF-16 单元；编辑器整体拒绝超限修改 |
| 标题 | 200 个 UTF-16 单元 |
| Mermaid | 最多 500 条边，渲染请求串行 |
| SVG | 不超过 4,000,000 字符；单轴不超过 30,000 CSS px |
| PNG | 单轴不超过 4096 px、总像素不超过 8,000,000 |
| 持久化 PNG data URL | 最多 12 × 1024 × 1024 字符 |
| PlantUML / DOT 请求 | 20 秒超时 |

## 常见故障

| 现象 | 检查与恢复 |
| --- | --- |
| 语法着色正常但没有预览 | 着色不是 DSL 验证；检查引擎错误，先试同语言模板 |
| Mermaid 正常，PlantUML / DOT 超时 | 检查引擎静态资源、sandbox 和 CSP；不要重复提交相同请求 |
| 预览正常但无法保存 | 等待最新预览；确认未处于中文组合输入，检查目标/权限/存储失败 |
| 切换语言后草稿不同 | 每种语言保留独立草稿；选模板后需要“应用模板”才替换 |
| 导出的 PNG 无法重新编辑 | PNG 不携带可恢复源码；保存完整对象或 Markdown 围栏 |

引擎出错后原文仍保留。应用应允许修正、重试或下载有效结果，不用新模板自动覆盖失败草稿。资源接入见[部署与资源](/guide/deployment)。
