Support and troubleshooting
Understand browser engine support, image boundaries, budgets and recovery paths.
Available today
| Capability | Behavior |
|---|---|
| Languages | Mermaid, PlantUML, DOT; fence aliases puml and graphviz |
| Rendering | Local browser execution; official PlantUML JS core and Graphviz WASM |
| Editing | Shared CodeMirror 6 vendor, lexical highlighting, find/replace, indentation and undo |
| Output | Sanitized static SVG, white-background PNG, full source object and standard Markdown fences |
| UI | Chinese / English, light / dark themes, stacked panes on narrow screens |
| Templates | 25 bilingual templates; not an exhaustive DSL feature list |
Differences from upstream tools
PlantUML uses the official JavaScript core, rather than a client calling the full Java server. Syntax, font measurement, margins and optional library support may differ from the Java distribution. Compare the same engine version, source and fonts when exact appearance matters.
Mermaid uses strict security, classic appearance and fixed layout settings, without source initialization directives or HTML labels. DOT uses the dot layout engine; no algorithm selector is exposed. A dark host UI does not rewrite saved diagram colors. PNG uses a white background for document output.
External includes, network images, interactive links, SVG animation, optional PlantUML themes/libraries and D2 are not enabled. SVG sanitization removes links, images, foreignObject and animation, and rejects external style resources.
Budgets
| Content | Limit |
|---|---|
| Source | 30,000 UTF-16 units; oversized editor changes are rejected atomically |
| Title | 200 UTF-16 units |
| Mermaid | Up to 500 edges; renders are serialized |
| SVG | Up to 4,000,000 characters; each axis at most 30,000 CSS px |
| PNG | Each axis at most 4096 px; up to 8,000,000 pixels |
| Persisted PNG data URL | Up to 12 × 1024 × 1024 characters |
| PlantUML / DOT request | 20-second timeout |
Troubleshooting
| Symptom | Recovery |
|---|---|
| Highlighting works but no preview appears | Highlighting does not validate DSL syntax. Read the engine error; try a template in that language |
| Mermaid works but PlantUML / DOT time out | Check engine assets, sandbox and CSP; avoid repeatedly submitting the same request |
| Preview works but saving fails | Wait for the latest preview, finish text composition, then check target, permissions and storage |
| Language switching shows a different draft | Each language retains a separate draft; a template replaces it only after Apply template |
| Downloaded PNG cannot be edited | PNG cannot recover source. Save the full object or Markdown fence |
Engine failure retains source. Let users correct, retry or download valid results; never replace a failed draft with a template automatically. See deployment and assets.