Diagram - Supported profiles
Portable content, notation, exchange and output boundaries for supported Diagram profiles.
Use a profile's validation and diagnostics to decide whether a candidate can be represented. A successful operation may still report approximation or loss. Preserving a native JSON graph is different from exchanging it through another tool's notation or visual format.
#Portable model and symbols
The model codec supports schema version 1 with JSON-safe authored records.
Runtime registries, browser objects, functions, route caches and selection are
outside that format. Current codec ceilings are 16,000,000 text units, depth
64 and 1,000,000 values; those resource bounds are not a capacity promise.
See Model.
Basic geometry is rectangle, ellipse or diamond. A symbol can draw a richer bounded visual while retaining a conservative picking/docking boundary. Symbol graphics support path, rectangle, ellipse, text and PNG image forms, with inert transforms, paint, opacity and dash configuration.
DIAGRAM_SYMBOL_LIMITS field | Ceiling |
|---|---|
graphics / ports | 256 / 64 per definition |
pathLength / pathCommands | 32,768 characters / 1,024 commands |
dimension / coordinate | 4,096 intrinsic dimension / 65,536 coordinate magnitude |
pngBytes | 1,048,576 bytes |
svgLength | 131,072 characters |
registrations | 512 registry definitions |
importDiagramSymbolSvg() accepts a flat SVG root with a 0 0 width height
viewBox and supported path/rect/ellipse/text elements, double-quoted attributes
and the bounded transform/paint grammar. It rejects nested unsupported markup,
entities, comments and declarations. It is not a browser SVG sanitizer or a
general SVG renderer. Image sources are validated embedded PNG data; remote
requests and SVG data URLs are outside this symbol profile. Registering a symbol
does not make arbitrary HTML content portable. See
Symbols.
#Descriptive notation
Install each semantic module when creating its store, register its visual symbols, and mount its matching notation root/inspector. The module validates portable ownership and identity; the symbols provide appearance. Descriptors, expressions, message arguments, class signatures and guards are inert text/data.
| Profile | Supported authoring and reference |
|---|---|
| BPMN | Process/participant ownership, supported tasks/Call Activity, nested subprocess/loops, events, gateways, sequence/message flows, data/catalog/IO associations and groups; BPMN |
| UML Class | Class/interface/enumeration presentation, members/compartments and typed relationships; UML Class |
| ER | Fields/keys, row ports, cardinality and relationship editing; ER |
| UML Activity | Typed activities/scopes, actions/pins/flows, partitions and supported structured profiles; Activity and Profiles |
| UML Sequence | Participants/lifelines, reciprocal occurrences, message sorts, activations and bounded fragment/operand/reference authoring; Sequence and Fragments |
The exact union variants, nested fields and result types are retained in the API. The owning guides state family-specific bounds, constraints and unfinished-authoring diagnostics. BPMN collaboration notation describes participant/message relations in a single-user model. It does not implement real-time collaborative editing.
#BPMN XML exchange
| Format | Representation and limits |
|---|---|
| BPMN XML/DI | Supported descriptive semantic graph plus required DI; detached reader candidate and explicit acceptance; no schema/service/resource fetching |
BPMN XML distinguishes standard, extension, approximation, loss and incomplete
representation. Reader unsupported defaults to 'reject'; explicit omission
cannot repair invalid required references. Writer curves default to bounded
flattening. The 8 MiB XML ceiling, 5,000 canvas-record ceiling, parser depth/token
limits and all lowerable options are listed in
BPMN XML. Supported round trips are not
byte-identical XML or executable-process correctness.
#SVG, raster and print
Rendered-template export captures mounted Vue content. Rooted controls select a directly
owned viewport, or accept an explicit source. The selected source supplies
committed geometry, HTML templates, nested SVG, CSS, generated content, fonts,
and images from mounted in-tree content. Required offscreen framework content is rejected. Missing content/resources or
unsupported rendering fails instead of returning partial success.
Detached export retains portable scenes built from the complete saved snapshot, approved geometry, and explicit options. Detached custom HTML/component types require portable adapters. See Export for source selection, color schemes, background precedence, and strict resource failures.
| Output | Boundary |
|---|---|
| SVG | Per-page models; rendered-source output embeds captured HTML with foreignObject; detached output uses portable graphics |
| PNG | Transparent or opaque background; single image or bounded tile stream |
| JPEG | Opaque background required; transparent JPEG rejects |
| Raster tiles | Caller consumes one tile at a time; streaming does not imply a stitched full-size image |
| Paper/margins/orientation, fit or tiled planning, prepared browser document, readiness, user print and explicit close |
Source-backed output discovers and embeds used fonts and images automatically.
Missing bytes, fallback fonts, or decode failures fail output. Explicit fonts
and resourceProvider retain keyed precedence and validation. Detached output
still acquires images/fonts only through an explicit resource provider.
Embedded-font declarations do not certify glyph coverage or identical shaping.
Limits/cancellation are part of the operation result. See
Export and Print
for all option defaults and resource budgets.
Diagram does not provide a direct PDF API, real-time collaboration/collaborative Undo, live execution overlays or AI authoring. Descriptive diagrams do not run the processes or code they depict. Those product boundaries do not remove the implemented ordinary editing, data and notation workflows.
See Performance for workload and resource guidance, and Accessibility for keyboard, focus and application validation.