Skip to content

15. Conformance

Contents of DISL 0.1

15.1 Conformance classes

Class Requirements
Specification A specification is conforming if it validates against the JSON Schema, passes all checks of 14.1 without errors, and uses only declared plugins.
DID definition Conformance of a stored diagram to a specification is defined by DID (DID-specification.md, section 9).
Validator Implements 14.1 and DID's loading rules (without rendering), reports problems with JSON Pointers, and evaluates constraints headlessly.
Runtime — Core Metamodel, persistence (including migrations, determinism), constraints, behavior, CEL environment, one cartesian numeric coordinate system with grid snapping, built-in shapes rect, roundedRect, ellipse, diamond, text, straight and polyline edges, markers none, arrow, arrowFilled, generated forms and toolbox.
Runtime — Standard Core, plus: all built-in shapes and markers, styles with states and conditions, labels at all positions, compartments, ports, containers, custom path shapes, orthogonal and curved routing, all snap rules for numeric axes, per-axis snapping, time axes with calendar snapping, ordinal axes with bands, bound and computed placement, explicit forms and all standard widgets, context tools, templates, documentation surfaces (2.4), themes with modes.
Runtime — Full Standard, plus: composite shapes with handles, nine-slice scaling, line effects, jump-overs, stacked and custom markers, embedded forms, nested coordinate systems, polar systems, level of detail, variants, collaboration, all export formats, plugins.

A runtime MUST state its conformance class and list unsupported optional features. When a specification requires a higher class or unsupported features, the runtime MUST inform the user and MAY open the diagram read-only.

15.2 Graceful degradation

Runtimes that do not support a visual feature SHOULD degrade visually rather than refuse: a sketch stroke renders as solid, a wave effect as a straight line, an unsupported marker as arrowFilled (target) or none (source), an unsupported shape as rect with its label, an embedded form as its fallback. Semantic features — metamodel, constraints, persistence — MUST NOT degrade.

Referenced from