Diagram source usually gives up one kind of control.
D2 describes itself as a declarative diagram language. You state what belongs in the diagram and the tool generates the image.[2] Mermaid flowcharts also define nodes and edges, then use a layout engine to arrange them.[3] Both are useful when the relationship graph matters more than a particular composition.
At the other end, Graphviz exposes a pos attribute for node centers and spline control points. Its documentation warns that input and output units can differ across commands.[4] Coordinates provide control, but they preserve the answer rather than the reason.
"Database right of API" survives a resize as intent. "Database at 612,184" survives only as a location.
Reladraw writes the missing sentence.
Reladraw 0.5.0 is an early diagram language built around relative placement. Its source can say that one node is right of another, level with a third, or between two named objects. The resolver turns minimum-distance constraints into coordinates, while the author keeps control over which side of what each object occupies.[1]
The distinction is useful for agent editing. An agent can re-read a relationship statement and confirm the requested arrangement without reverse-engineering pixels. It can change that statement without hoping an automatic layout engine preserves the old composition.
Intent still needs a solved witness.
Reladraw's README draws a firm line. Source can confirm stated relationships. It cannot confirm that resolved clusters overlap, text escapes a node, or edges cross other objects. Version 0.5.0 renders or fails, but its planned machine-readable geometry diagnostics are not built yet.[1]
That produces a clean review stack:
- Relationship source. Review the arrangement the author requested.
- Solved geometry. Save the exact renderer version and output artifact.
- Diagnostics. Check overlap, clipping, crossings, and off-canvas objects.
- Visual review. Judge hierarchy, reading order, labels, and whether the picture explains the system.
The artifact runs. The language is still moving.
The garage installed the published reladraw@0.5.0 package, rendered the README's small web app and database example, and confirmed that the standalone SVG contained the expected labels and edge text. The package reported version 0.5.0 and produced a 1,842-byte SVG.
That smoke check proves one published command and one small input worked here. It does not prove the language handles a large architecture drawing, that its current syntax will remain stable, or that the planned diagnostics exist. The project says to expect syntax changes.[1]