| name | canvas-render |
| description | Render canvas graphics and visualizations via Carnelian gateway node.invoke API |
| metadata | {"CARNELIAN":{"emoji":"🖼️","requires":{"env":["CARNELIAN_GATEWAY_URL","CARNELIAN_GATEWAY_TOKEN"]},"primaryEnv":"CARNELIAN_GATEWAY_URL"},"carnelian":{"runtime":"node","version":"1.0.0","sandbox":{"network":"full","resourceLimits":{"maxMemoryMB":128,"maxCpuPercent":25,"timeoutSecs":30},"env":{"CARNELIAN_GATEWAY_URL":"${CARNELIAN_GATEWAY_URL}","CARNELIAN_GATEWAY_TOKEN":"${CARNELIAN_GATEWAY_TOKEN}"}},"capabilities":["net.http"]}} |
canvas-render
Render canvas graphics and visualizations via Carnelian gateway node.invoke API.
Ported from CARNELIAN canvas-tool.ts.
Input
{
action: "present" | "hide" | "navigate" | "eval" | "snapshot" | "a2ui_push" | "a2ui_reset";
gatewayUrl?: string;
gatewayToken?: string;
node?: string;
target?: string;
x?: number;
y?: number;
width?: number;
height?: number;
url?: string;
javaScript?: string;
outputFormat?: string;
maxWidth?: number;
quality?: number;
delayMs?: number;
jsonl?: string;
}
Output
Varies by action:
present/hide/navigate/eval/a2ui_push/a2ui_reset:
{
ok: true;
result: any;
}
snapshot:
{
base64: string;
format: string;
}
Actions
- present: Show canvas at specified position
- hide: Hide canvas
- navigate: Navigate to URL
- eval: Evaluate JavaScript in canvas context
- snapshot: Capture canvas screenshot as base64
- a2ui_push: Push JSONL data to canvas
- a2ui_reset: Reset canvas state
Notes
- Requires a running Carnelian gateway with canvas/node support
- Default gateway URL:
http://localhost:18790
- Snapshots are returned as base64 since fs write is not exposed to callers
- For full action surface, reference CARNELIAN
canvas-tool.ts