# @grethel-labs/excaliplant — API reference
> Generated from JSDoc by [`docs/scripts/build-docs.mjs`](./scripts/build-docs.mjs)
> on every `npm run build:docs` run. Do not edit this file by hand.
> **v0.19.5** · MIT
This is the auto-generated API reference for `@grethel-labs/excaliplant`. The
shape of the public API is documented in [`README.md`](../README.md);
this document is the exhaustive view across every exported symbol in
[`index.mjs`](../index.mjs) and [`src/`](../src/).
## Table of contents
- [`(package root)`](#package-root)
- [`diagrams/activity/assets`](#diagramsactivityassets)
- [`diagrams/activity/docs`](#diagramsactivitydocs)
- [`diagrams/activity/layout`](#diagramsactivitylayout)
- [`diagrams/activity/module`](#diagramsactivitymodule)
- [`diagrams/activity/parser`](#diagramsactivityparser)
- [`diagrams/activity/plugins/syntax`](#diagramsactivitypluginssyntax)
- [`diagrams/activity/render`](#diagramsactivityrender)
- [`diagrams/activity/security`](#diagramsactivitysecurity)
- [`diagrams/activity/tests`](#diagramsactivitytests)
- [`diagrams/archimate/assets`](#diagramsarchimateassets)
- [`diagrams/archimate/docs`](#diagramsarchimatedocs)
- [`diagrams/archimate/docs/coverage_examples`](#diagramsarchimatedocscoverage_examples)
- [`diagrams/archimate/layout`](#diagramsarchimatelayout)
- [`diagrams/archimate/module`](#diagramsarchimatemodule)
- [`diagrams/archimate/parser`](#diagramsarchimateparser)
- [`diagrams/archimate/render`](#diagramsarchimaterender)
- [`diagrams/archimate/security`](#diagramsarchimatesecurity)
- [`diagrams/archimate/tests`](#diagramsarchimatetests)
- [`diagrams/base/artifacts`](#diagramsbaseartifacts)
- [`diagrams/base/assets`](#diagramsbaseassets)
- [`diagrams/base/dependencies`](#diagramsbasedependencies)
- [`diagrams/base/docs`](#diagramsbasedocs)
- [`diagrams/base/layout`](#diagramsbaselayout)
- [`diagrams/base/module`](#diagramsbasemodule)
- [`diagrams/base/parser`](#diagramsbaseparser)
- [`diagrams/base/renderer`](#diagramsbaserenderer)
- [`diagrams/base/security`](#diagramsbasesecurity)
- [`diagrams/base/tests`](#diagramsbasetests)
- [`diagrams/chart/assets`](#diagramschartassets)
- [`diagrams/chart/docs`](#diagramschartdocs)
- [`diagrams/chart/docs/coverage_examples`](#diagramschartdocscoverage_examples)
- [`diagrams/chart/layout`](#diagramschartlayout)
- [`diagrams/chart/module`](#diagramschartmodule)
- [`diagrams/chart/parser`](#diagramschartparser)
- [`diagrams/chart/render`](#diagramschartrender)
- [`diagrams/chart/security`](#diagramschartsecurity)
- [`diagrams/chart/tests`](#diagramscharttests)
- [`diagrams/chen/assets`](#diagramschenassets)
- [`diagrams/chen/docs`](#diagramschendocs)
- [`diagrams/chen/docs/coverage_examples`](#diagramschendocscoverage_examples)
- [`diagrams/chen/layout`](#diagramschenlayout)
- [`diagrams/chen/module`](#diagramschenmodule)
- [`diagrams/chen/parser`](#diagramschenparser)
- [`diagrams/chen/render`](#diagramschenrender)
- [`diagrams/chen/security`](#diagramschensecurity)
- [`diagrams/chen/tests`](#diagramschentests)
- [`diagrams/chronology/assets`](#diagramschronologyassets)
- [`diagrams/chronology/docs`](#diagramschronologydocs)
- [`diagrams/chronology/docs/coverage_examples`](#diagramschronologydocscoverage_examples)
- [`diagrams/chronology/layout`](#diagramschronologylayout)
- [`diagrams/chronology/module`](#diagramschronologymodule)
- [`diagrams/chronology/parser`](#diagramschronologyparser)
- [`diagrams/chronology/render`](#diagramschronologyrender)
- [`diagrams/chronology/security`](#diagramschronologysecurity)
- [`diagrams/chronology/tests`](#diagramschronologytests)
- [`diagrams/class/assets`](#diagramsclassassets)
- [`diagrams/class/docs`](#diagramsclassdocs)
- [`diagrams/class/docs/coverage_examples`](#diagramsclassdocscoverage_examples)
- [`diagrams/class/layout`](#diagramsclasslayout)
- [`diagrams/class/module`](#diagramsclassmodule)
- [`diagrams/class/parser`](#diagramsclassparser)
- [`diagrams/class/plugins/syntax`](#diagramsclasspluginssyntax)
- [`diagrams/class/render`](#diagramsclassrender)
- [`diagrams/class/security`](#diagramsclasssecurity)
- [`diagrams/class/style`](#diagramsclassstyle)
- [`diagrams/class/tests`](#diagramsclasstests)
- [`diagrams/class/tests/output`](#diagramsclasstestsoutput)
- [`diagrams/component/assets`](#diagramscomponentassets)
- [`diagrams/component/docs`](#diagramscomponentdocs)
- [`diagrams/component/docs/coverage_examples`](#diagramscomponentdocscoverage_examples)
- [`diagrams/component/layout`](#diagramscomponentlayout)
- [`diagrams/component/module`](#diagramscomponentmodule)
- [`diagrams/component/parser`](#diagramscomponentparser)
- [`diagrams/component/plugins/syntax`](#diagramscomponentpluginssyntax)
- [`diagrams/component/render`](#diagramscomponentrender)
- [`diagrams/component/security`](#diagramscomponentsecurity)
- [`diagrams/component/tests`](#diagramscomponenttests)
- [`diagrams/component/tests/output`](#diagramscomponenttestsoutput)
- [`diagrams/deployment/assets`](#diagramsdeploymentassets)
- [`diagrams/deployment/docs`](#diagramsdeploymentdocs)
- [`diagrams/deployment/docs/coverage_examples`](#diagramsdeploymentdocscoverage_examples)
- [`diagrams/deployment/layout`](#diagramsdeploymentlayout)
- [`diagrams/deployment/module`](#diagramsdeploymentmodule)
- [`diagrams/deployment/parser`](#diagramsdeploymentparser)
- [`diagrams/deployment/plugins/syntax`](#diagramsdeploymentpluginssyntax)
- [`diagrams/deployment/render`](#diagramsdeploymentrender)
- [`diagrams/deployment/security`](#diagramsdeploymentsecurity)
- [`diagrams/deployment/tests`](#diagramsdeploymenttests)
- [`diagrams/deployment/tests/output`](#diagramsdeploymenttestsoutput)
- [`diagrams/ditaa/assets`](#diagramsditaaassets)
- [`diagrams/ditaa/docs`](#diagramsditaadocs)
- [`diagrams/ditaa/docs/coverage_examples`](#diagramsditaadocscoverage_examples)
- [`diagrams/ditaa/layout`](#diagramsditaalayout)
- [`diagrams/ditaa/module`](#diagramsditaamodule)
- [`diagrams/ditaa/parser`](#diagramsditaaparser)
- [`diagrams/ditaa/render`](#diagramsditaarender)
- [`diagrams/ditaa/security`](#diagramsditaasecurity)
- [`diagrams/ditaa/tests`](#diagramsditaatests)
- [`diagrams/ebnf/assets`](#diagramsebnfassets)
- [`diagrams/ebnf/docs`](#diagramsebnfdocs)
- [`diagrams/ebnf/docs/coverage_examples`](#diagramsebnfdocscoverage_examples)
- [`diagrams/ebnf/layout`](#diagramsebnflayout)
- [`diagrams/ebnf/module`](#diagramsebnfmodule)
- [`diagrams/ebnf/parser`](#diagramsebnfparser)
- [`diagrams/ebnf/render`](#diagramsebnfrender)
- [`diagrams/ebnf/security`](#diagramsebnfsecurity)
- [`diagrams/ebnf/tests`](#diagramsebnftests)
- [`diagrams/files/assets`](#diagramsfilesassets)
- [`diagrams/files/docs`](#diagramsfilesdocs)
- [`diagrams/files/docs/coverage_examples`](#diagramsfilesdocscoverage_examples)
- [`diagrams/files/layout`](#diagramsfileslayout)
- [`diagrams/files/module`](#diagramsfilesmodule)
- [`diagrams/files/parser`](#diagramsfilesparser)
- [`diagrams/files/render`](#diagramsfilesrender)
- [`diagrams/files/security`](#diagramsfilessecurity)
- [`diagrams/files/tests`](#diagramsfilestests)
- [`diagrams/gantt/assets`](#diagramsganttassets)
- [`diagrams/gantt/docs`](#diagramsganttdocs)
- [`diagrams/gantt/docs/coverage_examples`](#diagramsganttdocscoverage_examples)
- [`diagrams/gantt/layout`](#diagramsganttlayout)
- [`diagrams/gantt/module`](#diagramsganttmodule)
- [`diagrams/gantt/parser`](#diagramsganttparser)
- [`diagrams/gantt/render`](#diagramsganttrender)
- [`diagrams/gantt/security`](#diagramsganttsecurity)
- [`diagrams/gantt/tests`](#diagramsgantttests)
- [`diagrams/ie/assets`](#diagramsieassets)
- [`diagrams/ie/docs`](#diagramsiedocs)
- [`diagrams/ie/docs/coverage_examples`](#diagramsiedocscoverage_examples)
- [`diagrams/ie/layout`](#diagramsielayout)
- [`diagrams/ie/module`](#diagramsiemodule)
- [`diagrams/ie/parser`](#diagramsieparser)
- [`diagrams/ie/render`](#diagramsierender)
- [`diagrams/ie/security`](#diagramsiesecurity)
- [`diagrams/ie/tests`](#diagramsietests)
- [`diagrams/index`](#diagramsindex)
- [`diagrams/json/assets`](#diagramsjsonassets)
- [`diagrams/json/docs`](#diagramsjsondocs)
- [`diagrams/json/docs/coverage_examples`](#diagramsjsondocscoverage_examples)
- [`diagrams/json/layout`](#diagramsjsonlayout)
- [`diagrams/json/module`](#diagramsjsonmodule)
- [`diagrams/json/parser`](#diagramsjsonparser)
- [`diagrams/json/render`](#diagramsjsonrender)
- [`diagrams/json/security`](#diagramsjsonsecurity)
- [`diagrams/json/tests`](#diagramsjsontests)
- [`diagrams/math/assets`](#diagramsmathassets)
- [`diagrams/math/docs`](#diagramsmathdocs)
- [`diagrams/math/docs/coverage_examples`](#diagramsmathdocscoverage_examples)
- [`diagrams/math/layout`](#diagramsmathlayout)
- [`diagrams/math/module`](#diagramsmathmodule)
- [`diagrams/math/parser`](#diagramsmathparser)
- [`diagrams/math/render`](#diagramsmathrender)
- [`diagrams/math/security`](#diagramsmathsecurity)
- [`diagrams/math/tests`](#diagramsmathtests)
- [`diagrams/mindmap/assets`](#diagramsmindmapassets)
- [`diagrams/mindmap/docs`](#diagramsmindmapdocs)
- [`diagrams/mindmap/docs/coverage_examples`](#diagramsmindmapdocscoverage_examples)
- [`diagrams/mindmap/layout`](#diagramsmindmaplayout)
- [`diagrams/mindmap/module`](#diagramsmindmapmodule)
- [`diagrams/mindmap/parser`](#diagramsmindmapparser)
- [`diagrams/mindmap/render`](#diagramsmindmaprender)
- [`diagrams/mindmap/security`](#diagramsmindmapsecurity)
- [`diagrams/mindmap/tests`](#diagramsmindmaptests)
- [`diagrams/nwdiag/assets`](#diagramsnwdiagassets)
- [`diagrams/nwdiag/docs`](#diagramsnwdiagdocs)
- [`diagrams/nwdiag/docs/coverage_examples`](#diagramsnwdiagdocscoverage_examples)
- [`diagrams/nwdiag/layout`](#diagramsnwdiaglayout)
- [`diagrams/nwdiag/module`](#diagramsnwdiagmodule)
- [`diagrams/nwdiag/parser`](#diagramsnwdiagparser)
- [`diagrams/nwdiag/render`](#diagramsnwdiagrender)
- [`diagrams/nwdiag/security`](#diagramsnwdiagsecurity)
- [`diagrams/nwdiag/tests`](#diagramsnwdiagtests)
- [`diagrams/object/assets`](#diagramsobjectassets)
- [`diagrams/object/docs`](#diagramsobjectdocs)
- [`diagrams/object/docs/coverage_examples`](#diagramsobjectdocscoverage_examples)
- [`diagrams/object/layout`](#diagramsobjectlayout)
- [`diagrams/object/module`](#diagramsobjectmodule)
- [`diagrams/object/parser`](#diagramsobjectparser)
- [`diagrams/object/plugins/syntax`](#diagramsobjectpluginssyntax)
- [`diagrams/object/render`](#diagramsobjectrender)
- [`diagrams/object/security`](#diagramsobjectsecurity)
- [`diagrams/object/tests`](#diagramsobjecttests)
- [`diagrams/object/tests/output`](#diagramsobjecttestsoutput)
- [`diagrams/regex/assets`](#diagramsregexassets)
- [`diagrams/regex/docs`](#diagramsregexdocs)
- [`diagrams/regex/docs/coverage_examples`](#diagramsregexdocscoverage_examples)
- [`diagrams/regex/layout`](#diagramsregexlayout)
- [`diagrams/regex/module`](#diagramsregexmodule)
- [`diagrams/regex/parser`](#diagramsregexparser)
- [`diagrams/regex/render`](#diagramsregexrender)
- [`diagrams/regex/security`](#diagramsregexsecurity)
- [`diagrams/regex/tests`](#diagramsregextests)
- [`diagrams/salt/assets`](#diagramssaltassets)
- [`diagrams/salt/docs`](#diagramssaltdocs)
- [`diagrams/salt/docs/coverage_examples`](#diagramssaltdocscoverage_examples)
- [`diagrams/salt/layout`](#diagramssaltlayout)
- [`diagrams/salt/module`](#diagramssaltmodule)
- [`diagrams/salt/parser`](#diagramssaltparser)
- [`diagrams/salt/render`](#diagramssaltrender)
- [`diagrams/salt/security`](#diagramssaltsecurity)
- [`diagrams/salt/tests`](#diagramssalttests)
- [`diagrams/sequence/assets`](#diagramssequenceassets)
- [`diagrams/sequence/context`](#diagramssequencecontext)
- [`diagrams/sequence/docs`](#diagramssequencedocs)
- [`diagrams/sequence/docs/coverage_examples`](#diagramssequencedocscoverage_examples)
- [`diagrams/sequence/layout`](#diagramssequencelayout)
- [`diagrams/sequence/layout_engine`](#diagramssequencelayout_engine)
- [`diagrams/sequence/module`](#diagramssequencemodule)
- [`diagrams/sequence/parser`](#diagramssequenceparser)
- [`diagrams/sequence/plugins/advanced`](#diagramssequencepluginsadvanced)
- [`diagrams/sequence/plugins/fragments`](#diagramssequencepluginsfragments)
- [`diagrams/sequence/plugins/messages`](#diagramssequencepluginsmessages)
- [`diagrams/sequence/plugins/notes`](#diagramssequencepluginsnotes)
- [`diagrams/sequence/plugins/participants`](#diagramssequencepluginsparticipants)
- [`diagrams/sequence/plugins/preamble`](#diagramssequencepluginspreamble)
- [`diagrams/sequence/render`](#diagramssequencerender)
- [`diagrams/sequence/render_excalidraw`](#diagramssequencerender_excalidraw)
- [`diagrams/sequence/security`](#diagramssequencesecurity)
- [`diagrams/sequence/spacing`](#diagramssequencespacing)
- [`diagrams/sequence/tests`](#diagramssequencetests)
- [`diagrams/sequence/tests/output`](#diagramssequencetestsoutput)
- [`diagrams/shared/common_plugins/title`](#diagramssharedcommon_pluginstitle)
- [`diagrams/shared/data_runtime`](#diagramsshareddata_runtime)
- [`diagrams/shared/er_runtime`](#diagramsshareder_runtime)
- [`diagrams/shared/graph_context`](#diagramssharedgraph_context)
- [`diagrams/shared/graph_parser`](#diagramssharedgraph_parser)
- [`diagrams/shared/graph_plugins/association_class`](#diagramssharedgraph_pluginsassociation_class)
- [`diagrams/shared/graph_plugins/class_block`](#diagramssharedgraph_pluginsclass_block)
- [`diagrams/shared/graph_plugins/connections`](#diagramssharedgraph_pluginsconnections)
- [`diagrams/shared/graph_plugins/containers`](#diagramssharedgraph_pluginscontainers)
- [`diagrams/shared/graph_plugins/filters`](#diagramssharedgraph_pluginsfilters)
- [`diagrams/shared/graph_plugins/notes`](#diagramssharedgraph_pluginsnotes)
- [`diagrams/shared/graph_plugins/ports`](#diagramssharedgraph_pluginsports)
- [`diagrams/shared/graph_plugins/preamble`](#diagramssharedgraph_pluginspreamble)
- [`diagrams/shared/graph_plugins/shapes`](#diagramssharedgraph_pluginsshapes)
- [`diagrams/shared/graph_runtime`](#diagramssharedgraph_runtime)
- [`diagrams/shared/planning_runtime`](#diagramssharedplanning_runtime)
- [`diagrams/shared/railroad_runtime`](#diagramssharedrailroad_runtime)
- [`diagrams/shared/special_runtime`](#diagramssharedspecial_runtime)
- [`diagrams/shared/tree_runtime`](#diagramssharedtree_runtime)
- [`diagrams/state/assets`](#diagramsstateassets)
- [`diagrams/state/docs`](#diagramsstatedocs)
- [`diagrams/state/docs/coverage_examples`](#diagramsstatedocscoverage_examples)
- [`diagrams/state/layout`](#diagramsstatelayout)
- [`diagrams/state/module`](#diagramsstatemodule)
- [`diagrams/state/parser`](#diagramsstateparser)
- [`diagrams/state/plugins/syntax`](#diagramsstatepluginssyntax)
- [`diagrams/state/render`](#diagramsstaterender)
- [`diagrams/state/security`](#diagramsstatesecurity)
- [`diagrams/state/tests`](#diagramsstatetests)
- [`diagrams/state/tests/output`](#diagramsstatetestsoutput)
- [`diagrams/timing/assets`](#diagramstimingassets)
- [`diagrams/timing/docs`](#diagramstimingdocs)
- [`diagrams/timing/docs/coverage_examples`](#diagramstimingdocscoverage_examples)
- [`diagrams/timing/layout`](#diagramstiminglayout)
- [`diagrams/timing/module`](#diagramstimingmodule)
- [`diagrams/timing/parser`](#diagramstimingparser)
- [`diagrams/timing/plugins/syntax`](#diagramstimingpluginssyntax)
- [`diagrams/timing/render`](#diagramstimingrender)
- [`diagrams/timing/render_excalidraw`](#diagramstimingrender_excalidraw)
- [`diagrams/timing/security`](#diagramstimingsecurity)
- [`diagrams/timing/tests`](#diagramstimingtests)
- [`diagrams/use-case/assets`](#diagramsuse-caseassets)
- [`diagrams/use-case/docs`](#diagramsuse-casedocs)
- [`diagrams/use-case/layout`](#diagramsuse-caselayout)
- [`diagrams/use-case/module`](#diagramsuse-casemodule)
- [`diagrams/use-case/parser`](#diagramsuse-caseparser)
- [`diagrams/use-case/plugins/actors`](#diagramsuse-casepluginsactors)
- [`diagrams/use-case/plugins/containers`](#diagramsuse-casepluginscontainers)
- [`diagrams/use-case/plugins/notes`](#diagramsuse-casepluginsnotes)
- [`diagrams/use-case/plugins/relationships`](#diagramsuse-casepluginsrelationships)
- [`diagrams/use-case/plugins/usecases`](#diagramsuse-casepluginsusecases)
- [`diagrams/use-case/render`](#diagramsuse-caserender)
- [`diagrams/use-case/security`](#diagramsuse-casesecurity)
- [`diagrams/use-case/tests`](#diagramsuse-casetests)
- [`diagrams/wbs/assets`](#diagramswbsassets)
- [`diagrams/wbs/docs`](#diagramswbsdocs)
- [`diagrams/wbs/docs/coverage_examples`](#diagramswbsdocscoverage_examples)
- [`diagrams/wbs/layout`](#diagramswbslayout)
- [`diagrams/wbs/module`](#diagramswbsmodule)
- [`diagrams/wbs/parser`](#diagramswbsparser)
- [`diagrams/wbs/render`](#diagramswbsrender)
- [`diagrams/wbs/security`](#diagramswbssecurity)
- [`diagrams/wbs/tests`](#diagramswbstests)
- [`diagrams/yaml/assets`](#diagramsyamlassets)
- [`diagrams/yaml/docs`](#diagramsyamldocs)
- [`diagrams/yaml/docs/coverage_examples`](#diagramsyamldocscoverage_examples)
- [`diagrams/yaml/layout`](#diagramsyamllayout)
- [`diagrams/yaml/module`](#diagramsyamlmodule)
- [`diagrams/yaml/parser`](#diagramsyamlparser)
- [`diagrams/yaml/render`](#diagramsyamlrender)
- [`diagrams/yaml/security`](#diagramsyamlsecurity)
- [`diagrams/yaml/tests`](#diagramsyamltests)
- [`general/layout/elk_layout`](#generallayoutelk_layout)
- [`general/layout/sizing`](#generallayoutsizing)
- [`general/model/diagram`](#generalmodeldiagram)
- [`general/platform/asset_base`](#generalplatformasset_base)
- [`general/platform/diagnostics`](#generalplatformdiagnostics)
- [`general/platform/security_base`](#generalplatformsecurity_base)
- [`general/platform/services`](#generalplatformservices)
- [`general/render/canvas_svg`](#generalrendercanvas_svg)
- [`general/render/excalidraw`](#generalrenderexcalidraw)
- [`general/render/png`](#generalrenderpng)
- [`general/render/rng`](#generalrenderrng)
- [`general/render/schema`](#generalrenderschema)
- [`general/render/svg`](#generalrendersvg)
- [`general/style/colors`](#generalstylecolors)
- [`general/style/font`](#generalstylefont)
- [`general/style/style`](#generalstylestyle)
- [`general/style/text`](#generalstyletext)
- [`main/builtin`](#mainbuiltin)
- [`main/dependencies`](#maindependencies)
- [`main/introspection`](#mainintrospection)
- [`main/metadata`](#mainmetadata)
- [`main/parser`](#mainparser)
- [`main/pipeline`](#mainpipeline)
- [`main/registry`](#mainregistry)
- [`util/parser_engine`](#utilparser_engine)
- [`util/plantuml_utils`](#utilplantuml_utils)
---
## `(package root)`
_Source: [`index.mjs`](index.mjs)_
### Exports
| Name | Kind | Visibility |
| ------------------------------------------------ | -------- | ----------- |
| [`RenderResult`](#renderresult-package-root) | class | public |
| [`renderPlantUml`](#renderplantuml-package-root) | function | unspecified |
| [`renderDiagram`](#renderdiagram-package-root) | function | unspecified |
#### `RenderResult`
```ts
class RenderResult
```
Chainable result returned by `renderPlantUml` / `renderDiagram`.
Awaiting the result yields the Excalidraw JSON document, so existing
callers (`const doc = await renderPlantUml(text)`) keep working.
On top of that, the result exposes `.toSvg()` and `.toPng()` so a
caller can write:
```js
const r = renderPlantUml(text);
const svg = await r.toSvg();
const png = await r.toPng({ width: 4800 });
```
Both helpers lazily await the underlying document — so calling
`toSvg()` / `toPng()` directly on the unawaited result works too.
**Members**
##### `RenderResult.constructor`
```ts
constructor(docPromise);
```
##### `RenderResult.then`
```ts
then(onFulfilled, onRejected);
```
Thenable: `await result` yields the Excalidraw JSON document.
| Param | Type | Description |
| -------------------------- | --------------------- | ----------- | --- |
| `onFulfilled` _(optional)_ | `(value: object) => T | Promise` | — |
| `onRejected` _(optional)_ | `(reason: any) => R | Promise` | — |
**Returns:** `Promise`
#### `renderPlantUml`
```ts
function renderPlantUml(plantuml, opts = {});
```
Render a PlantUML source string to an Excalidraw JSON document.
The return value is a thenable {@link RenderResult}: `await` it for
the Excalidraw JSON, or call `.toSvg()` / `.toPng()` on it to get
the rasterised diagram in one chained call.
**Parameters**
| Name | Type | Description |
| ------------------- | -------- | ----------------------------------------------------------------- |
| `plantuml` | `string` | PlantUML text (see src/main/parser.mjs for the supported subset). |
| `opts` _(optional)_ | `object` | — |
**Returns:** `RenderResult` — Thenable wrapping the Excalidraw JSON document.
#### `renderDiagram`
```ts
function renderDiagram(diagram, opts = {});
```
Render an already-built Diagram model. Useful for callers that want
to bypass the PlantUML parser and feed shapes programmatically.
**Parameters**
| Name | Type | Description |
| ------------------- | -------------------------------------------------- | ---------------------------------------------------------- | --- |
| `diagram` | `import("./src/general/model/diagram.mjs").Diagram | import("./src/general/model/diagram.mjs").SequenceDiagram` | — |
| `opts` _(optional)_ | `object` | — |
**Returns:** `RenderResult`
---
## `diagrams/activity/assets`
_Source: [`src/diagrams/activity/assets.mjs`](src/diagrams/activity/assets.mjs)_
Activity diagram asset manifest.
### Exports
| Name | Kind | Visibility |
| ------------------------------------------------------------------------ | ----- | ---------- |
| [`ActivityDiagramAssets`](#activitydiagramassets-diagramsactivityassets) | class | public |
#### `ActivityDiagramAssets`
```ts
class ActivityDiagramAssets extends BaseModuleAssets
```
Activity diagram asset manifest.
---
## `diagrams/activity/docs`
_Source: [`src/diagrams/activity/docs.mjs`](src/diagrams/activity/docs.mjs)_
Activity diagram documentation manifest.
### Exports
| Name | Kind | Visibility |
| ------------------------------------------------------------------ | ----- | ---------- |
| [`ActivityDiagramDocs`](#activitydiagramdocs-diagramsactivitydocs) | class | public |
#### `ActivityDiagramDocs`
```ts
class ActivityDiagramDocs extends BaseModuleDocs
```
Activity diagram documentation manifest.
---
## `diagrams/activity/layout`
_Source: [`src/diagrams/activity/layout.mjs`](src/diagrams/activity/layout.mjs)_
Activity diagram layout engine.
### Exports
| Name | Kind | Visibility |
| ------------------------------------------------------------------------ | ----- | ---------- |
| [`ActivityDiagramLayout`](#activitydiagramlayout-diagramsactivitylayout) | class | public |
#### `ActivityDiagramLayout`
```ts
class ActivityDiagramLayout extends BaseModuleLayout
```
Activity diagram layout contract.
---
## `diagrams/activity/module`
_Source: [`src/diagrams/activity/module.mjs`](src/diagrams/activity/module.mjs)_
Built-in activity diagram module.
### Exports
| Name | Kind | Visibility |
| ------------------------------------------------------------------------ | ----- | ---------- |
| [`ActivityDiagramModule`](#activitydiagrammodule-diagramsactivitymodule) | class | public |
| [`activityDiagramModule`](#activitydiagrammodule-diagramsactivitymodule) | const | public |
#### `ActivityDiagramModule`
```ts
class ActivityDiagramModule extends BaseDiagramModule
```
#### `activityDiagramModule`
```ts
const activityDiagramModule;
```
---
## `diagrams/activity/parser`
_Source: [`src/diagrams/activity/parser.mjs`](src/diagrams/activity/parser.mjs)_
Activity diagram parser contract and detection.
### Exports
| Name | Kind | Visibility |
| ---------------------------------------------------------------------------------- | -------- | ---------- |
| [`DEFAULT_ACTIVITY_PLUGINS`](#default_activity_plugins-diagramsactivityparser) | const | public |
| [`createActivityContext`](#createactivitycontext-diagramsactivityparser) | const | public |
| [`prepareActivitySourceLines`](#prepareactivitysourcelines-diagramsactivityparser) | const | public |
| [`ActivityDiagramParser`](#activitydiagramparser-diagramsactivityparser) | class | public |
| [`activityDiagramParser`](#activitydiagramparser-diagramsactivityparser) | const | public |
| [`detectActivityDiagram`](#detectactivitydiagram-diagramsactivityparser) | function | public |
#### `DEFAULT_ACTIVITY_PLUGINS`
```ts
const DEFAULT_ACTIVITY_PLUGINS;
```
Default plugins for activity diagram parsing.
#### `createActivityContext`
```ts
const createActivityContext;
```
#### `prepareActivitySourceLines`
```ts
const prepareActivitySourceLines;
```
#### `ActivityDiagramParser`
```ts
class ActivityDiagramParser extends BaseModuleParser
```
#### `activityDiagramParser`
```ts
const activityDiagramParser;
```
#### `detectActivityDiagram`
```ts
function detectActivityDiagram(text);
```
Detect if content is an activity diagram.
**Parameters**
| Name | Type | Description |
| ------ | -------- | ---------------- |
| `text` | `string` | PlantUML source. |
**Returns:** `boolean`
---
## `diagrams/activity/plugins/syntax`
_Source: [`src/diagrams/activity/plugins/syntax.mjs`](src/diagrams/activity/plugins/syntax.mjs)_
Activity diagram parser plugin.
### Exports
| Name | Kind | Visibility |
| ----------------------------------------------------------------------------------------- | -------- | ----------- |
| [`createActivityParseContext`](#createactivityparsecontext-diagramsactivitypluginssyntax) | function | public |
| [`prepareActivityLines`](#prepareactivitylines-diagramsactivitypluginssyntax) | function | public |
| [`activitySyntaxPlugin`](#activitysyntaxplugin-diagramsactivitypluginssyntax) | const | unspecified |
#### `createActivityParseContext`
```ts
function createActivityParseContext();
```
**Returns:** `any`
#### `prepareActivityLines`
```ts
function prepareActivityLines(lines);
```
Join multiline `:action ... ;` blocks before the generic line engine runs.
**Parameters**
| Name | Type | Description |
| ------- | ---------- | ----------- |
| `lines` | `string[]` | — |
**Returns:** `string[]`
#### `activitySyntaxPlugin`
```ts
const activitySyntaxPlugin;
```
### Type definitions
#### `ActivityEdge`
```ts
{from:string,to:string,label?:string,dashed?:boolean,hidden?:boolean}
```
#### `ActivityNodeSpec`
```ts
{
id?: string,
title: string,
shape?: string,
stereotype?: string,
members?: string[],
link?: string,
tooltip?: string,
connect?: boolean,
activate?: boolean,
edgeLabel?: string,
dashed?: boolean,
}
```
id?: string,
title: string,
shape?: string,
stereotype?: string,
members?: string[],
link?: string,
tooltip?: string,
connect?: boolean,
activate?: boolean,
edgeLabel?: string,
dashed?: boolean,
}} ActivityNodeSpec
---
## `diagrams/activity/render`
_Source: [`src/diagrams/activity/render.mjs`](src/diagrams/activity/render.mjs)_
Activity diagram renderer.
### Exports
| Name | Kind | Visibility |
| ---------------------------------------------------------------------------- | ----- | ---------- |
| [`ActivityDiagramRenderer`](#activitydiagramrenderer-diagramsactivityrender) | class | public |
#### `ActivityDiagramRenderer`
```ts
class ActivityDiagramRenderer extends BaseModuleRenderer
```
Activity diagram renderer contract.
---
## `diagrams/activity/security`
_Source: [`src/diagrams/activity/security.mjs`](src/diagrams/activity/security.mjs)_
Activity diagram security profile.
### Exports
| Name | Kind | Visibility |
| ------------------------------------------------------------------------------ | ----- | ---------- |
| [`ActivityDiagramSecurity`](#activitydiagramsecurity-diagramsactivitysecurity) | class | public |
#### `ActivityDiagramSecurity`
```ts
class ActivityDiagramSecurity extends BaseModuleSecurity
```
Activity diagram security profile.
---
## `diagrams/activity/tests`
_Source: [`src/diagrams/activity/tests.mjs`](src/diagrams/activity/tests.mjs)_
Activity diagram test manifest.
### Exports
| Name | Kind | Visibility |
| --------------------------------------------------------------------- | ----- | ---------- |
| [`ActivityDiagramTests`](#activitydiagramtests-diagramsactivitytests) | class | public |
#### `ActivityDiagramTests`
```ts
class ActivityDiagramTests extends BaseModuleTests
```
Activity diagram test manifest.
---
## `diagrams/archimate/assets`
_Source: [`src/diagrams/archimate/assets.mjs`](src/diagrams/archimate/assets.mjs)_
### Exports
| Name | Kind | Visibility |
| --------------------------------------------------------------------------- | ----- | ---------- |
| [`ArchimateDiagramAssets`](#archimatediagramassets-diagramsarchimateassets) | class | public |
| [`archimateDiagramAssets`](#archimatediagramassets-diagramsarchimateassets) | const | public |
#### `ArchimateDiagramAssets`
```ts
class ArchimateDiagramAssets extends BaseModuleAssets
```
#### `archimateDiagramAssets`
```ts
const archimateDiagramAssets;
```
---
## `diagrams/archimate/docs`
_Source: [`src/diagrams/archimate/docs.mjs`](src/diagrams/archimate/docs.mjs)_
### Exports
| Name | Kind | Visibility |
| --------------------------------------------------------------------- | ----- | ---------- |
| [`ArchimateDiagramDocs`](#archimatediagramdocs-diagramsarchimatedocs) | class | public |
| [`archimateDiagramDocs`](#archimatediagramdocs-diagramsarchimatedocs) | const | public |
#### `ArchimateDiagramDocs`
```ts
class ArchimateDiagramDocs extends BaseModuleDocs
```
#### `archimateDiagramDocs`
```ts
const archimateDiagramDocs;
```
---
## `diagrams/archimate/docs/coverage_examples`
_Source: [`src/diagrams/archimate/docs/coverage_examples.mjs`](src/diagrams/archimate/docs/coverage_examples.mjs)_
### Exports
| Name | Kind | Visibility |
| ------------------------------------------------------------------------------------------------ | ----- | ---------- |
| [`archimateCoverageExamples`](#archimatecoverageexamples-diagramsarchimatedocscoverage_examples) | const | public |
#### `archimateCoverageExamples`
```ts
const archimateCoverageExamples;
```
---
## `diagrams/archimate/layout`
_Source: [`src/diagrams/archimate/layout.mjs`](src/diagrams/archimate/layout.mjs)_
### Exports
| Name | Kind | Visibility |
| --------------------------------------------------------------------------- | ----- | ---------- |
| [`ArchimateDiagramLayout`](#archimatediagramlayout-diagramsarchimatelayout) | class | public |
| [`archimateDiagramLayout`](#archimatediagramlayout-diagramsarchimatelayout) | const | public |
#### `ArchimateDiagramLayout`
```ts
class ArchimateDiagramLayout extends BaseModuleLayout
```
#### `archimateDiagramLayout`
```ts
const archimateDiagramLayout;
```
---
## `diagrams/archimate/module`
_Source: [`src/diagrams/archimate/module.mjs`](src/diagrams/archimate/module.mjs)_
### Exports
| Name | Kind | Visibility |
| --------------------------------------------------------------------------- | ----- | ---------- |
| [`ArchimateDiagramModule`](#archimatediagrammodule-diagramsarchimatemodule) | class | public |
| [`archimateDiagramModule`](#archimatediagrammodule-diagramsarchimatemodule) | const | public |
#### `ArchimateDiagramModule`
```ts
class ArchimateDiagramModule extends GraphModuleBase
```
#### `archimateDiagramModule`
```ts
const archimateDiagramModule;
```
---
## `diagrams/archimate/parser`
_Source: [`src/diagrams/archimate/parser.mjs`](src/diagrams/archimate/parser.mjs)_
### Exports
| Name | Kind | Visibility |
| ------------------------------------------------------------------------------------- | -------- | ---------- |
| [`archimateSyntaxPlugin`](#archimatesyntaxplugin-diagramsarchimateparser) | const | public |
| [`DEFAULT_ARCHIMATE_PLUGINS`](#default_archimate_plugins-diagramsarchimateparser) | const | public |
| [`createArchimateParseContext`](#createarchimateparsecontext-diagramsarchimateparser) | function | public |
| [`prepareArchimateLines`](#preparearchimatelines-diagramsarchimateparser) | function | public |
| [`detectArchimateDiagram`](#detectarchimatediagram-diagramsarchimateparser) | function | public |
| [`ArchimateDiagramParser`](#archimatediagramparser-diagramsarchimateparser) | class | public |
| [`archimateDiagramParser`](#archimatediagramparser-diagramsarchimateparser) | const | public |
#### `archimateSyntaxPlugin`
```ts
const archimateSyntaxPlugin;
```
#### `DEFAULT_ARCHIMATE_PLUGINS`
```ts
const DEFAULT_ARCHIMATE_PLUGINS;
```
#### `createArchimateParseContext`
```ts
function createArchimateParseContext();
```
#### `prepareArchimateLines`
```ts
function prepareArchimateLines(lines);
```
#### `detectArchimateDiagram`
```ts
function detectArchimateDiagram(text);
```
#### `ArchimateDiagramParser`
```ts
class ArchimateDiagramParser extends BaseModuleParser
```
#### `archimateDiagramParser`
```ts
const archimateDiagramParser;
```
---
## `diagrams/archimate/render`
_Source: [`src/diagrams/archimate/render.mjs`](src/diagrams/archimate/render.mjs)_
### Exports
| Name | Kind | Visibility |
| ------------------------------------------------------------------------------- | ----- | ---------- |
| [`ARCHIMATE_RENDERERS`](#archimate_renderers-diagramsarchimaterender) | const | public |
| [`ArchimateDiagramRenderer`](#archimatediagramrenderer-diagramsarchimaterender) | class | public |
| [`archimateDiagramRenderer`](#archimatediagramrenderer-diagramsarchimaterender) | const | public |
#### `ARCHIMATE_RENDERERS`
```ts
const ARCHIMATE_RENDERERS;
```
#### `ArchimateDiagramRenderer`
```ts
class ArchimateDiagramRenderer extends BaseModuleRenderer
```
#### `archimateDiagramRenderer`
```ts
const archimateDiagramRenderer;
```
---
## `diagrams/archimate/security`
_Source: [`src/diagrams/archimate/security.mjs`](src/diagrams/archimate/security.mjs)_
### Exports
| Name | Kind | Visibility |
| --------------------------------------------------------------------------------- | ----- | ---------- |
| [`ArchimateDiagramSecurity`](#archimatediagramsecurity-diagramsarchimatesecurity) | class | public |
| [`archimateDiagramSecurity`](#archimatediagramsecurity-diagramsarchimatesecurity) | const | public |
#### `ArchimateDiagramSecurity`
```ts
class ArchimateDiagramSecurity extends BaseModuleSecurity
```
#### `archimateDiagramSecurity`
```ts
const archimateDiagramSecurity;
```
---
## `diagrams/archimate/tests`
_Source: [`src/diagrams/archimate/tests.mjs`](src/diagrams/archimate/tests.mjs)_
### Exports
| Name | Kind | Visibility |
| ------------------------------------------------------------------------ | ----- | ---------- |
| [`ArchimateDiagramTests`](#archimatediagramtests-diagramsarchimatetests) | class | public |
| [`archimateDiagramTests`](#archimatediagramtests-diagramsarchimatetests) | const | public |
#### `ArchimateDiagramTests`
```ts
class ArchimateDiagramTests extends BaseModuleTests
```
#### `archimateDiagramTests`
```ts
const archimateDiagramTests;
```
---
## `diagrams/base/artifacts`
_Source: [`src/diagrams/base/artifacts.mjs`](src/diagrams/base/artifacts.mjs)_
Base artifact ownership helpers for diagram modules.
### Exports
| Name | Kind | Visibility |
| --------------------------------------------------------------------- | -------- | ----------- |
| [`freezeOwnedArtifacts`](#freezeownedartifacts-diagramsbaseartifacts) | function | unspecified |
#### `freezeOwnedArtifacts`
```ts
function freezeOwnedArtifacts(artifacts);
```
**Parameters**
| Name | Type | Description |
| ----------- | --------------------- | ----------- | ---------------- |
| `artifacts` | `ModuleOwnedArtifacts | undefined` | Owned artifacts. |
**Returns:** `ModuleOwnedArtifacts`
### Type definitions
#### `ModuleOwnedArtifacts`
```ts
object;
```
---
## `diagrams/base/assets`
_Source: [`src/diagrams/base/assets.mjs`](src/diagrams/base/assets.mjs)_
Base asset contract for diagram modules.
### Exports
| Name | Kind | Visibility |
| ---------------------------------------------------------- | ----- | ---------- |
| [`BaseModuleAssets`](#basemoduleassets-diagramsbaseassets) | class | public |
#### `BaseModuleAssets`
```ts
class BaseModuleAssets
```
Base contract for module-owned asset policy.
**Members**
##### `BaseModuleAssets.constructor`
```ts
constructor((manifest = {}));
```
##### `BaseModuleAssets.manifest`
```ts
manifest();
```
---
## `diagrams/base/dependencies`
_Source: [`src/diagrams/base/dependencies.mjs`](src/diagrams/base/dependencies.mjs)_
Base dependency contract for diagram modules.
### Exports
| Name | Kind | Visibility |
| ---------------------------------------------------------------- | -------- | ----------- |
| [`freezeDependency`](#freezedependency-diagramsbasedependencies) | function | unspecified |
#### `freezeDependency`
```ts
function freezeDependency(dependency);
```
**Parameters**
| Name | Type | Description |
| ------------ | ---------------------- | ---------------- |
| `dependency` | `ModuleDependencySpec` | Dependency spec. |
**Returns:** `ModuleDependencySpec`
### Type definitions
#### `ModuleDependencySpec`
```ts
object;
```
---
## `diagrams/base/docs`
_Source: [`src/diagrams/base/docs.mjs`](src/diagrams/base/docs.mjs)_
Base documentation contract for diagram modules.
### Exports
| Name | Kind | Visibility |
| ---------------------------------------------------- | -------- | ----------- |
| [`BaseModuleDocs`](#basemoduledocs-diagramsbasedocs) | class | public |
| [`freezeDocs`](#freezedocs-diagramsbasedocs) | function | unspecified |
#### `BaseModuleDocs`
```ts
class BaseModuleDocs
```
Base contract for module-owned documentation metadata.
**Members**
##### `BaseModuleDocs.constructor`
```ts
constructor((manifest = /** @type {ModuleDocsManifest} */ {}));
```
##### `BaseModuleDocs.manifest`
```ts
manifest();
```
#### `freezeDocs`
```ts
function freezeDocs(docs);
```
### Type definitions
#### `ModuleDocsManifest`
```ts
object;
```
---
## `diagrams/base/layout`
_Source: [`src/diagrams/base/layout.mjs`](src/diagrams/base/layout.mjs)_
Base layout contract for diagram modules.
### Exports
| Name | Kind | Visibility |
| ---------------------------------------------------------- | ----- | ---------- |
| [`BaseModuleLayout`](#basemodulelayout-diagramsbaselayout) | class | public |
#### `BaseModuleLayout`
```ts
class BaseModuleLayout
```
Base contract for module-owned layout implementations.
**Members**
##### `BaseModuleLayout.constructor`
```ts
constructor((options = {}));
```
##### `BaseModuleLayout.layout`
```ts
layout(model, context);
```
| Param | Type | Description |
| --------- | -------- | --------------- |
| `model` | `object` | Diagram model. |
| `context` | `object` | Layout context. |
**Returns:** `object|Promise