Choose an extension runtime
01CanvasSandboxed HTML/CSS UI
02daScriptBudgeted native Click UI
03ABI v2Trusted high-performance WASM
04OCI + HPP/2Isolated backend service
Typical productAn isolated OCI provider serves one or more Click panels.
Trust ruleUnreviewed code never belongs in the trusted ABI v2 runtime.
| Need | Use | Reason |
|---|---|---|
| External service, durable backend state, secret or continuous WSS | OCI HPP/2 plugin | Isolated Host execution and explicit authority |
| Rich browser UI, agent-generated panel, ordinary HTML/CSS | Canvas | Sandboxed, portable and easy to iterate |
| Native Click UI without a separate toolchain | daScript | Styled ImGui primitives with runtime budgets |
| Deep native rendering or terminal integration | ABI v2 widget | High performance, trusted shared-WASM integration |
Do not put external credentials into Canvas or daScript. Do not use a trusted ABI widget for unreviewed code. A typical product uses an isolated Host plugin as backend and one or more Click panels as presentation.
Any implementation language can produce an OCI image, but production compatibility depends on HPP/2 session behavior, not language. The frozen generated wire surface exists for C++, C#, Go, Java, JavaScript, Python, and Rust. Production transports must implement the same session state machine and pass conformance.