Payload of a companion.ui_action event — an Instant UI surface for the host
to render. interface is the platform-neutral genui schema: a tree of UI
nodes (Text/Slider/Button/Chart/…), an optional state bag input atoms
read+write, and optional computed derived values. The SAME shape is drawn by
a web embed, a native iOS/Android renderer, or a CLI/TUI — only the renderer
differs per platform, never the contract. Kept structurally loose here (the
SDK package carries no $lib import); the authoritative schema lives in
src/lib/genui/schema.ts and the renderer-contract doc. When the panel sets
reportChanges, the user's edits stream back as a normal text turn.
Payload of a
companion.ui_actionevent — an Instant UI surface for the host to render.interfaceis the platform-neutral genui schema: a tree of UInodes(Text/Slider/Button/Chart/…), an optionalstatebag input atoms read+write, and optionalcomputedderived values. The SAME shape is drawn by a web embed, a native iOS/Android renderer, or a CLI/TUI — only the renderer differs per platform, never the contract. Kept structurally loose here (the SDK package carries no $lib import); the authoritative schema lives in src/lib/genui/schema.ts and the renderer-contract doc. When the panel setsreportChanges, the user's edits stream back as a normal text turn.