Summary
Add a Canvas panel to the tray app using WebView2, similar to the existing WebChat panel. This would let Clawdbot's canvas output (HTML renders, visualizations, interactive content) display directly in the Windows companion app without needing a browser.
Background
The WebChat panel (already implemented) proves WebView2 works well as an embedded viewer. Canvas is Clawdbot's feature for rendering rich HTML content — things like data visualizations, interactive tools, status dashboards, or any UI the agent builds on the fly.
Implementation Ideas
- Add a new
CanvasPanel form/control with an embedded WebView2 instance
- Subscribe to canvas events from the gateway (similar to how WebChat subscribes to messages)
- Navigate the WebView2 to the canvas URL when content is presented
- Support multiple canvas instances or tab-like switching if multiple canvases are active
- Consider a menu item or hotkey to toggle the canvas panel visibility
- Could share WebView2 environment/profile with the existing WebChat panel to reduce resource usage
Acceptance Criteria
Summary
Add a Canvas panel to the tray app using WebView2, similar to the existing WebChat panel. This would let Clawdbot's canvas output (HTML renders, visualizations, interactive content) display directly in the Windows companion app without needing a browser.
Background
The WebChat panel (already implemented) proves WebView2 works well as an embedded viewer. Canvas is Clawdbot's feature for rendering rich HTML content — things like data visualizations, interactive tools, status dashboards, or any UI the agent builds on the fly.
Implementation Ideas
CanvasPanelform/control with an embedded WebView2 instanceAcceptance Criteria