← All writing

The Diagram That Refuses Coordinates

An Orbweaver graph can declare services, processes, relationships, groups, and source provenance without containing a single x coordinate, SVG path, or CSS rule. The same graph still becomes a polished, accessible diagram whose entities can be selected, queried, and traced back to source. Most diagramming systems treat presentation as authored truth. Orbweaver treats it as a derivation—and that changes what a diagram is allowed to claim.

Michael Shatny··8 min read

The File With Nothing to Draw

The source contains three nodes and two relationships. It does not contain an x coordinate.

No width. No height. No SVG path. No instruction placing Payment to the right of Cart or Fulfillment beneath either one.

checkout.ts — the complete visual source
const graph = createGraph({
  id: 'checkout',
  nodes: [
    { id: 'cart', type: 'process', label: 'Cart' },
    { id: 'payment', type: 'decision', label: 'Payment accepted?' },
    { id: 'fulfillment', type: 'process', label: 'Fulfillment' },
  ],
  edges: [
    { from: 'cart', to: 'payment', type: 'flow' },
    { from: 'payment', to: 'fulfillment', label: 'Yes' },
  ],
})

The compiled artifact still knows where everything belongs. Select a relationship and both endpoints surface. Select a node and its neighbors, type, source file, and source line remain available. Change the layout direction and the graph means exactly what it meant before.

Nothing visual was authored.

That absence is the architecture.

When the Picture Becomes the Source

Most diagram formats mix two different kinds of truth into one document. One says that Checkout calls Payment. The other says Checkout begins at 146 pixels from the left and the connecting path bends through three control points. The relationship describes the system. The coordinates describe one rendering of it, at one size, through one layout decision.

Once both are authored together, changing the picture feels like changing the model. A new renderer requires translating meaning out of drawing primitives. A renamed service leaves text inside a box that someone must remember to update. The diagram does not become wrong all at once. It drifts one visual adjustment at a time.

Semantic source

Owns
identity, type, relation
Survives
layout and renderer changes
Answers
what the system means

Geometric output

Owns
position, size, path
Changes
with viewport and layout
Answers
how meaning appears here

Orbweaver makes the boundary literal: the graph is not allowed to contain coordinates, SVG paths, CSS declarations, or layout-engine objects. Appearance is downstream. Meaning stays upstream.

One Contract, Five Transformations

Refusing geometry does not remove it. It assigns geometry to the stage that can derive it honestly. Orbweaver passes the same identity through five transformations, each allowed to add one kind of knowledge and forbidden from rewriting the knowledge before it.

01Graphadds meaning
02Validateadds contract
03Layoutadds geometry
04Sceneadds structure
05SVGadds artifact

Validation can reject a broken edge but cannot move a node. Layout can position that node but cannot rename it. The scene model can prepare rendering primitives but cannot invent a relationship. The SVG renderer can express the result but cannot become the only place the result exists.

This is the same deeper form of DRY as a validator that runs the real rule instead of maintaining a second description of it. There is one semantic fact. Every visual consequence is derived from that fact, not remembered beside it.

Identity Survives the Journey

A generated picture would be the easy result. Orbweaver needs the output to remain a structure that can answer questions. The rendered node must still know which semantic entity produced it. The edge must still know its endpoints. A selected object must expose the neighborhood around it, not merely change colour.

Identity

The rendered object retains the stable node or edge ID that entered the graph.

Topology

Selection can surface neighbors and emphasize both ends of a relationship.

Provenance

Source file and line information remain inspectable after layout and rendering.

Accessibility

Keyboard interaction and a textual summary describe the same structure as the SVG.

!

The visual is not a picture of the information.

It is a structure through which the information remains reachable.

The Model Is Not the Renderer

AI-assisted visualization makes this boundary consequential. A model is useful where ambiguity lives: identifying possible entities, proposing relationships, attaching claims, and explaining uncertainty. It is the wrong authority for coordinates, SVG, or presentation rules. Those outputs look precise even when the meaning underneath them is invented.

Orbweaver accepts a proposal envelope instead: graph, generation metadata, evidence references, claims, warnings. The proposal is untrusted input. Software validates its contract. A human or host system explicitly accepts it. Only then does the ordinary deterministic pipeline own the visual result.

State
What it proves
Render
Proposal
A model returned a candidate structure
Preview
Validated
The candidate conforms to the contract
Disclosed
Accepted
A human or host accepted the meaning
Ordinary

Validation proves conformance, not truth. Evidence remains distinguishable from inference. Generated is not accepted. The restraint is what makes AI useful here: the model can propose meaning without being allowed to manufacture the authority of a finished diagram.

The Diagram Is an Execution

A diagram maintained beside a system is documentation. It can be thoughtful, beautiful, and useful. It can also be one deployment behind while remaining visually convincing.

A diagram derived from declared meaning is something else. It is an execution of a contract: validated, laid out, rendered, and still able to identify the source that produced every visible part. The artifact can change shape without changing its claim. The renderer can be replaced without rewriting the model. A relationship can be inspected because it never stopped being a relationship on its way to becoming a line.

The original file still contains three nodes, two edges, and no coordinates. That is not a missing feature waiting for an editor. It is the guarantee that the picture never became the source.

Explore the artifact

Related

Michael Shatny is a software developer and methodology engineer and founding contributor to .netTiers (2005–2010), one of the earliest schema-driven code generation frameworks for .NET. His work spans 28 years of the same architectural pattern: structured input, generated output, auditable artifacts. Orbweaver applies that instinct to visual systems: meaning is declared once, while geometry, interaction, and accessible expression are derived.

ORCID: 0009-0006-2011-3258