Spokes.wiki Search About
Created
Updated

Generative UI

A model emitting an interface rather than prose — the rendered layer at the far end of the agent stack, and the one this spoke assumed for a year before it had any sources about it.

Paged 2026-08-13, when sheets-canvas became the third entry and the corner stopped being two scattered repos. The synthesis had flagged it as a spin-out candidate if generative UI kept growing; it grew.

The design axis: what does the model actually emit

The entries disagree on the fundamental question, and their disagreement is the useful content here.

  • Real framework code, contained at runtime. arrow-js is plain TypeScript with no build step and no proprietary syntax, chosen so a model emits valid code without learning anything custom — then component logic runs inside a WASM sandbox while rendering to the real DOM. The model's reach is bounded; its vocabulary is not.
  • A restricted DSL, contained by grammar. openui has the model emit "OpenUI Lang" (~67% fewer tokens than JSON) drawn from a developer-defined component set, streamed progressively into a React runtime. The model's vocabulary is bounded; it never touches code.
  • An undisclosed artifact inside the vendor's own application. sheets-canvas generates a mini-app over spreadsheet data and never says what the artifact is. Containment is moot because nothing is exposed — and so is inspection.
  • A chart specification in a published visualization language. data-formulator (added 2026-08-17) has the model emit Flint specs that compile to charts across 30+ types. The narrowest vocabulary in the set by some distance: the output space is visualizations, so the model selects and parameterizes within a chart algebra and cannot invent an interaction at all.

Three of these are agent-guardrails moves of the kind this spoke tracks everywhere else: bound the reach or bound the vocabulary. The remaining one replaces containment with enclosure, which is a different guarantee and a weaker one for anybody who needs to audit the result.

The fourth entry turns that observation into a controlled comparison (2026-08-17). data-formulator is Microsoft's version of sheets-canvas's product idea — an agent over tabular data emitting an interactive artifact — shipped four days apart and opposite on every disclosure question. Google names no model, never says what the artifact is, and runs it inside Sheets; Microsoft publishes the artifact language, lets you pick the model through LiteLLM, ships MIT source, and runs on your own machine. The enclosure complaint above is no longer an inference from one vendor's silence: the same capability exists in the open, so the silence is a choice rather than a constraint of the form.

Output versus application

arrow-js and openui both render what an agent produced for a viewer — the UI is the shape of an answer. sheets-canvas binds the generated interface to a live datastore in both directions and shares it with other people, so the artifact keeps existing, keeps being edited, and is edited by more than one party.

data-formulator sits between them and adds a third position: the artifact is bound to live data (databases, object stores, auto-refreshing URLs) but is a read-path — a chart over the data, not a read-write layer on top of it. So it inherits schema drift and inherits none of the concurrent-edit problem, which is the first evidence in this corner that the two hazards are separable.

That is a step up in kind, and it drags in every problem generated output was previously spared: concurrent edits, schema drift beneath a UI nobody can read, and no version history for the interface itself. None of the three sources addresses any of it.

The token angle

openui's DSL is a compression argument as much as a safety one, which puts this corner inside the spoke's tokenmining thread: the UI channel is another place where a narrower vocabulary buys budget. arrow-js's "under 5 kb, three functions, nothing to compile" is the same instinct served by framework design rather than protocol design.

What is missing

No source here measures generated UI against a hand-built one — not for correctness, not for usability, not for how often the generated thing needs re-prompting. It is the same evidence hole the spoke has at every other layer, arriving on schedule at this one. The vendor entry is the worst offender and the most widely deployed.

The fourth entry does not close it and sharpens what is at stake. A generated chart is read as a finding, not as a draft: a wrong chart is more persuasive than wrong prose, because the visual form carries authority the sentence has to earn. data-formulator publishes no accuracy figure, no task benchmark and no statement of how often a generated chart misreads its data — from a research lab, on the entry where being wrong costs the most.

arrow-js · openui · sheets-canvas · data-formulator · agent-guardrails · tokenmining · agentic-tooling · text-first-agent-design

Cross-wiki seam: ../ui-frameworks-wiki owns UI toolkits built so agents can target them (agent-ready-ui). This page owns agents emitting the UI. Same boundary, opposite direction.