Read-only diagrams
Renders the diagram a .dealview file describes. The viewer never edits your model —
open any view safely.
deal view is a local, read-only viewer that opens in your browser. Point it at a
.dealview file and it renders the diagram that view describes —
element boxes, connectors, and packages — alongside status and debug information about the
model. Nothing is editable: the viewer reads your model and presents it, so opening a view
can never change your sources.
# Planned — not available yet.deal view model/vehicle.dealviewBelow is the EVPlatform · Propulsion view: a package frame containing element boxes (watch the status badges), wired together by typed connectors through ports. Hover a connector for a plain-language reading, click a box’s footer chevron to fold it, drag the «satisfy» label along its line, and switch between the DEAL brand palette and standard black notation. The line beneath the diagram is the viewer’s live status check — it re-runs on every change.
Read-only diagrams
Renders the diagram a .dealview file describes. The viewer never edits your model —
open any view safely.
Status & debug
Diagnostics and verification state show inline — error/warning counts and pass/fail badges sit on the elements they belong to, with a live check summary underneath.
Follows your theme
Diagrams render in the docs’ own light/dark theme and typography. A second toggle switches between DEAL’s family-colour palette and standards-pure black notation.
SysML v2 notation
Element boxes, ten typed connector glyphs (shape-based, never colour-based), and folder-style packages — faithful to OMG SysML v2.
Deterministic layout
The same model always draws the same way, and stays crisp at any zoom — pure vector, measured text, integer coordinates.
Built to navigate
Every element carries its identity, so the shipped viewer will jump from a box or line
straight to the .deal source that declares it.
A view composes three notation primitives. Each preview below is the live renderer — and follows the notation toggle on the example above.
The atomic unit: a keyword (the «stereotype»), a bold name, and any number of compartments (attributes, ports, actions, states…). Status badges ride in the header — diagnostics (errors/warnings) and a verification mark (✓ / ✗ / ○). Definitions get square corners, usages get rounded ones. Click the footer chevron to fold a box.
The same component scales from a one-line box to a fully-loaded one with no configuration — width clamps and long names wrap, long items truncate with the full text on hover:
Edit the spec and watch it redraw — add compartments, items, visibility prefixes
(+ − #), multiplicities ([0..1]), or an absurdly long name:
Relationships are drawn as typed connectors. Meaning lives entirely in the glyph’s shape, never its colour, so the notation reads the same in any theme and survives grayscale. Hover any line for a plain-language reading of what it says.
A package is the folder-style container everything else lives in. It shows owned members, aliases, and imported (dashed) packages — and when a view’s subject is a package, the folder is the diagram frame.
Because the viewer reads the live model, it surfaces what the model knows. Element headers carry diagnostic badges (✖ errors, ⚠ warnings — worst severity wins, counts cap at 9+) and a verification mark (✓ verified, ✗ failed, ○ unverified). The status line under a diagram reports the viewer’s own layout checks — overlaps, connector routing, minimum lengths — re-run on every fold or drag. It’s a window onto model health, not a place to edit.
.dealview sidecar format the viewer renders.deal command this will ship with.