v0.17.0 — Sequence participant types trimmed
⚠ BREAKING: Sequence participant types trimmed from 9 → 4 + default
The sequence diagram retains only the types whose shape carries semantic weight at a glance: actor (stick figure), database (cylinder), cache (dashed cylinder), queue (horizontal pipe), plus the default rectangle.
The keywords service, frontend, networking, gateway, and external were removed — using any of them in is a X is a hard parse error (E_PARTICIPANT_TYPE_REMOVED), one diagnostic per offending line.
What this looks like
sequence
Auth is a service // E_PARTICIPANT_TYPE_REMOVED — drop the override
WebApp is a frontend // E_PARTICIPANT_TYPE_REMOVED
LB is a networking // E_PARTICIPANT_TYPE_REMOVED
API is a gateway // E_PARTICIPANT_TYPE_REMOVED
Stripe is an external // E_PARTICIPANT_TYPE_REMOVED
Fix: drop the override — the participant renders as the default rectangle.
Inference shrinks too
The participant-name inference table goes from 223 → 82 rules. Names that previously inferred to a removed type — AuthService, WebApp, Cloudflare, API Gateway, Stripe, Webhook — now fall through to the default rectangle. That fall-through is the intended outcome of the trim: the differentiation went away because the underlying distinction didn't carry its weight.
Renderer
5 D3 helpers deleted (renderServiceParticipant, renderFrontendParticipant, renderNetworkingParticipant, renderExternalParticipant, renderGatewayParticipant) plus their shape-dispatch switch cases — ~200 lines of dead code gone.
Sequence-only scope
external / database / cache / queue remain valid in C4, infra, and org diagrams under their own taxonomies.
Known breakage surfaces
- Pre-existing share URLs (
online.diagrammo.app) containing the removed keywords will surface the parse error after the editor rebuilds against 0.17.0. Share URLs do not pin a dgmo version. Most visible external breakage point. - Third-party MDX content via
remark-dgmo/astro-dgmo/docusaurus-plugin-dgmo/fumadocs-dgmowill surface the error once those wrappers bump their@diagrammo/dgmopeer.
Public API
ParticipantTypeunion narrowed to'default' | 'database' | 'actor' | 'queue' | 'cache'(re-exported via@diagrammo/dgmo/advanced).RULE_COUNTdrops to 82 (was 223).NAME_DIAGNOSTIC_CODES.PARTICIPANT_TYPE_REMOVEDandparticipantTypeRemovedMessage(type)added.SERVICE_BORDER_RADIUSrenderer constant removed.
Full diff: v0.16.0...v0.17.0