@threadplane/render · generative UI
Generative UI without a second framework.
Server-emitted JSON specs render into Angular components you already own. Vercel json-render and Google A2UI both supported. Unknown specs degrade gracefully — no surprises.
How it works
Schema on the wire, your design system on screen
The agent emits a spec. Your registry, state, and handlers resolve it — and your own Angular components render it.
Schemas
One spec. Your components.
The agent emits structured UI as JSON. @threadplane/render maps each spec node to one of your Angular components — so the design system stays yours, and the agent gets to assemble it.
Fallbacks
Readiness gate + per-component fallback.
When the agent emits a spec your registry doesn't know how to render, @threadplane/render falls back gracefully — and surfaces it to your observability layer. No mystery white screens.
Developer Experience
Generative UI in a few lines
import { defineAngularRegistry } from '@threadplane/render';
import { TableComponent } from './table.component';
import { ChartComponent } from './chart.component';
const registry = defineAngularRegistry({
table: TableComponent,
chart: ChartComponent,
form: FormComponent,
});<render-spec
[spec]="agentOutput()"
[registry]="registry"
[store]="stateStore"
/>Field report
The last-mile gap in Angular AI.
Six production-readiness dimensions
17 pages
Streaming, persistence, tool calls, approvals, generative UI, testing
the six chapters
No vendor pitch — what we learned shipping it
free
Stop stalling on agentic Angular.
Install the framework, read the docs, and have a streaming chat in your app this afternoon.