Interactive illustration of three proposed A2UI v1.0 primitives: pending state, streaming lifecycle flag, and append patch op. Every change in the rendered UI (left) corresponds to a wire message shown on the right — exactly as it would flow over a real A2UI WebSocket.
A component with path-bound fields that resolve to undefined
should render a shimmer placeholder by default.
Today this is per-client convention; the proposal standardizes it.
pending behavior is spec-guaranteed.
updateDataModel messages carry an optional streaming flag.
While true, the renderer shows a live indicator (typewriter caret).
On false (or omitted), the value is final.
streaming: true
and enable on streaming: false — no per-client guard code.
append patch op
Today every updateDataModel replaces the value at a path (set).
Streaming a 2,000-char response takes ~100 KB of wire traffic because
each delta re-sends the accumulated value. The append op sends
only the delta — ~40× less bandwidth for long text.
set (current v0.9)append (proposed)set as the default so small fields pay nothing.