Product/Overview

A node graph for the web.

A procedural engine built for the browser — where generative AI is a node in the graph rather than a panel bolted to the side, and where the output can be a real web page.

Ten families, each with one job.

You build by connecting nodes, and every node belongs to a family with its own colour and scope — so a graph stays readable at a glance, even someone else’s, even a year later. Pick one to see what it does.

COMP

The world

Cameras, lights, containers — the scene everything else lives in.

Cameras & lights

Set up the shot: perspective or orthographic cameras, lights that actually cast.

Sub-networks

Fold a chunk of graph into a single node other parts can reuse.

Instancing

Replicate one object across a grid, a surface, or the rows of a table.

A real engine, not a prompt chain.

01

The cook

Every frame, the graph recomputes — but only the parts whose inputs actually changed. That's what makes a graph interactive rather than a batch job you re-run and wait for.

02

Strictly typed wires

The engine refuses a connection between mismatched types instead of quietly coercing it. Conversion is something you ask for explicitly, with a converter node, so a graph can't silently do the wrong thing.

03

Parameters and expressions

Any parameter can be driven by an expression or wired from another node. A property and a same-named input are two faces of one value — wire it and the wire wins, unwire it and the property holds.

04

Nondestructive by design

The graph is the source of truth, not a stack of baked exports. Change something near the start and everything downstream updates — which is what makes build-once-generate-many possible at all.

05

Real-time, with physics

3D, motion and rigid-body physics run live in the browser. What you're editing is what the audience gets — not a preview of a render you'll wait for later.

Generation is an operator, not an add-on.

Most tools grew up without AI and bolted a panel on afterwards. This one was designed around it: MLOP is one of the ten families, with the same typed wires and the same per-frame cook as geometry or textures.

It has inputs

Fed by your own work

A generation node takes the model you built, the layout you composed, the palette from your brand system. You direct it with real things rather than describing them in a sentence and hoping.

It has outputs

Wired into what comes next

What it makes flows onward — a generated texture drives a real material on real geometry that ends up in a real page. Nothing is downloaded and carried across by hand.

So it repeats

The same graph does the same thing

Change one parameter upstream and everything downstream updates coherently, generated parts included. That is what makes a set of two hundred variants possible at all.

The difference between a panel and a node is the difference between a slot machine and art direction. Why AI is a node →

Two ways out of the same graph.

A graph can hand your team files, or it can be the thing your audience opens. Same engine — you choose.

Workflow

Runs, finishes, and hands you assets to place — every ratio, locale and cut.

Who opens it
You and your team
Ships as
Files

Scene

Is the thing itself — a page, a configurator, an installation someone uses.

Who opens it
Your audience
Ships as
A URL, an embed, an installation

The difference, in full →

A scene compiles to an ordinary web page.

Not a screenshot of one, and not a heavyweight canvas app. Export is a hybrid compile: a static semantic-HTML shell for fast first paint and search, plus a runtime tree-shaken to carry only the operator families your project actually used.

A project that never touches 3D ships with no 3D payload at all. The graph is the app's behaviour, interpreted at runtime — so the thing you send is small, fast and real.

Open a tab and build something.

Free to start, nothing to install. The engine explains itself faster than this page can.

Working with a team?

Tell us where to reach you and we'll set up a walkthrough.

No spam. A real reply from a human.