Skip to content

Panels and runtimes

Click exposes exactly three extension-facing panel runtimes.

Runtime Trust boundary Best for
Agent Canvas Sandboxed browser iframe Rich HTML/CSS interfaces, agent-created tools
daScript Budgeted Click runtime Native ImGui panels with fast iteration
Widget ABI v2 Trusted, hash-approved WASM side module Deep native integration and persistent terminal rendering

All backend calls are capability-addressed. A panel declares capability ID, version range, and operations before the Click broker accepts a query, subscription, or invocation.

Canvas receives a frozen, versioned click.ui theme API and broker calls through the trusted shell. The shared design kit is enabled by default; panel CSS loads afterward and can override it. Canvas never receives Host pairing tokens.

daScript panels render native ImGui controls and can use styled Ui* primitives such as cards, tabs, badges, metrics, switches, and toasts. Callback budgets prevent a faulty panel from monopolizing Click’s frame loop.

Trusted widgets share Click’s WASM address space. Click verifies content hashes and settings-schema artifacts before activation. This is a trusted extension mechanism, not a sandbox.

Persistent Terminal is an ABI v2 widget backed by the dev.formless.tty Host capability. Host owns process persistence; the browser owns only presentation and input forwarding.