Quick Start
Render a JSON spec as a live Angular component tree in 5 minutes.
Angular 20+ project with @threadplane/render installed. See the Installation guide if you need setup help.
Let's start with a simple Angular component for the spec to render. Every rendered component receives inputs matching the AngularComponentInputs interface -- your custom props are spread alongside the standard inputs.
Map element type names to Angular component classes using defineAngularRegistry().
Now let's describe the UI tree itself. A spec is a flat map of elements, and the root key points to the entry element.
Open http://localhost:4200. You should see "Hello from @threadplane/render!" rendered by your TextComponent.
#Adding Reactive State
Specs get a lot more interesting once you connect them to a state store. Props with $state expressions read from the store reactively.
Clicking the button updates the store, which reactively updates the rendered TextComponent label from "World" to "Angular".
#Using Spec-Embedded State
You can also embed initial state right in the spec. When you don't pass an external store, RenderSpecComponent creates an internal signalStateStore from spec.state for you: