graphig

Rust → WASM · WebGL2 · renders on the visitor's device

The GPU renderer for large hierarchical graphs.

graphigo draws graphs the size of a codebase — every service, file and function at once — laid out by a deterministic circle-pack that is computed once per change and never oscillates.

core render layout ×3
This layout was computed once. It will not move.

How it works

Still by construction.

Not a force simulation

Children are packed at fixed positions and the container is sized to exactly enclose them — recursively, once per structural change, never per frame. The layout cannot oscillate, and containment is guaranteed by construction.

Depth you can read

Colour encodes hierarchy depth. Size encodes child count, in four discrete steps — never a continuous scale nobody can read back. Nothing is hidden: every edge is drawn, and parallel edges bundle into one arrow with an ×N label.

Drill without losing your place

Double-click a node to open it into a container and keep going — the camera fits the current level, the breadcrumb carries the path back. From the whole system down to a single leaf.

Layout plugins

A layout is a function.

Structure in, positions out. Layout plugins are pure and deterministic — the renderer owns the transitions and animates them. Want a force layout anyway? Fine: run it to convergence inside your plugin and return the settled positions. The oscillation stays out; your layout gets in.

The plugin spec is a single self-contained document, written so you can hand it to an LLM and generate a working layout. A validation harness checks containment and determinism — a generated layout proves itself before it ever renders.

Rust core, JavaScript API —
graphigo.mount(el, data, options)

Zero runtime network calls.
No telemetry, no phone-home.

Static data or lazy expand —
load children as you drill.

Licensing

Buy the source, not a lock.

Free for non-commercial use

Personal projects, research, evaluation — use graphigo without asking.

Commercial licence, source included

A commercial licence ships with the full source. You can read, build and debug what you ship.

No licence keys, no DRM

Nothing phones home, nothing expires in production. You buy compliance, updates and support — not a lock.

Early access — licensing terms are being finalised and will be published here.