Skip to content

deal view

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.

Terminal window
# Planned — not available yet.
deal view model/vehicle.dealview

Below 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.

EVPlatform · Propulsion — interconnection view

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 reference element — part def Vehicle

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:

One component, many shapes

Edit the spec and watch it redraw — add compartments, items, visibility prefixes (+ − #), multiplicities ([0..1]), or an absurdly long name:

Try it — edit the spec, the box redraws live

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.

Connectors — the ten relationship types and how they route

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.

Packages — namespaces and the view 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.

  • Views — the .dealview sidecar format the viewer renders.
  • CLI Overview — the deal command this will ship with.