# Generative UI: C++ is still the King

> Source: <https://ingresslabs.net/blog/prefab-or-cathedral>
> Published: 2026-11-14 16:14:06+00:00

# How I built a Blender for LLMs

Visual graphs are normal in creative tools. TouchDesigner, Blender, Blueprints in Unreal: nodes and wires you can see and touch. It works because a system is easier to understand when it is drawn than when it is described in text.

Agents turned out to be the same kind of system. Models change. Facts change. Tools change. Prompts change, and often. Holding all of that in your head, or in a text file, stops working. Every experiment means moving pieces and watching what happens.

So i built Portal, a place where agents, models, tools and data are nodes you can connect and rearrange like a graph. Not because it looks better that way. Because otherwise i could not experiment.

**Portal** The unreal engine for AI agents — one canvas, every model, every agent.
Portal started as a benchmark. I wanted to know which agent is actually better. For that i needed a place where agents work for real, with files, a terminal, and a result i can check.

Then it became something i open every day. I keep swapping agents, for the task and for whatever works best this month. One app for each agent stopped making sense.

Say "compare revenue and costs for Q3 by region" and a table appears. Then it rises into a 3D chart you can grab and orbit. Pull the price and revenue moves, costs stay put. The charts pan and zoom in 2D and 3D, with a crosshair and a legend. The numbers stay exact.

This is a generative interface. Most agents cant do this.

Skills, tools and the harness live in SQLite, not in files. The harness is the rules, facts, skills, tools and memory that Portal pulls from the database and hands to the agent.

Skills and facts carry across agents. The same set runs in Claude Code, Codex, OpenCode and my own CLI. Move from Claude to GigaChat and the rules and memory come along. Portal just hands them to the new agent.

Portal talks to any OpenAI-compatible model: OpenAI, DeepSeek, GLM, MiMo. You give it an endpoint and a key.

Because everything sits in one database, your skills stay yours, not the vendor's. Switching agents is one command, not a rewrite.

The same models pointed at film made these. One painted the glass. Another read the frames and said what it saw. A third will do the voice. Image, motion and sound used to be three jobs. Now they are one evening, badly, but done. Even the gold letters on the covers were sampled from the film itself. Not a font i picked. The picture decided.

Agents will keep changing and models will keep improving. What you know stays in Portal. Rules, facts, skills and memory are not tied to a vendor, so switching never means starting over.

The app is GPU-accelerated, so it stays light even with dozens of tiles, charts and terminals open. That leaves room to grow.
