How tsingliuwin/boundless works
boundless is a Rust/GPUI infinite whiteboard with an AI agent that creates and edits canvas content through tools. The main workflow runs from a user’s canvas or chat interaction, through scene and drawing operations, to rendered content; AI requests add skill routing, model calls, and tool-mediated canvas updates. The graph also includes documented presentation, workspace persistence, and updating capabilities. Relationships for unsampled subsystems rely on README statements or SOURCE INDEX references; those sources do not expose every runtime detail.
Main entry points: board.rs Board View · agent.rs AI Agent · panel.rs AI Panel · rough.rs Rough Renderer
Components 23
Canvas Interaction
- Board View
src/board.rs - Drawing Tools
src/tools.rs - Camera
src/camera.rs - Ink Pipeline
src/ink/collector.rs - Pen Input
src/platform.rs
Scene and Rendering
- Scene Model
src/scene/element.rs - Pages
src/scene/pages.rs - Mindmap Layout
src/scene/mindmap.rs - Rough Renderer
src/render/rough.rs - Raster Renderer
src/render/raster.rs - Render Cache
src/render/cache.rs
AI Creation
- AI Agent
src/ai/agent.rs - AI Client Types
src/ai/client.rs - Canvas AI Tools
src/ai/tools.rs - Canvas Operations
src/ai/canvas_ops.rs - Creative Skills
src/ai/skills.rs - Chat Storage
src/ai/store.rs - AI Panel
src/ai/panel.rs
Workspace and App
- Workspace
src/workspace.rs - Settings
src/settings_page.rs - Auto Updater
src/updater.rs
Other components
- User
- OpenAI-Compatible Model
Connections 23
- User → Board View: draws on
README.md - Board View → Drawing Tools: handles input
src/board.rs - Board View → Scene Model: edits
src/board.rs - Board View → Camera: transforms view
src/board.rs - Board View → Ink Pipeline: collects strokes
README.md - Pen Input → Ink Pipeline: supplies pressure
src/ink/mod.rs - Board View → Pages: presents pages
README.md - Board View → Rough Renderer: renders canvas
src/board.rs - Rough Renderer → Raster Renderer: rasterizes
src/render/mod.rs - Rough Renderer → Render Cache: uses cache
src/render/mod.rs - AI Agent → Canvas AI Tools: registers tools
src/ai/agent.rs - Canvas AI Tools → Canvas Operations: emits operations
src/ai/tools.rs - AI Panel → AI Agent: runs agent
src/ai/panel.rs - AI Panel → Board View: applies operations
src/ai/panel.rs - AI Agent → Creative Skills: routes skills
src/ai/agent.rs - AI Panel → Chat Storage: persists chats
src/ai/panel.rs - AI Panel → Workspace: uses workspace data
src/ai/panel.rs - Settings → AI Panel: configures AI
src/settings_page.rs - AI Agent → AI Client Types: uses runtime types
src/ai/agent.rs - AI Agent → OpenAI-Compatible Model: streams requests
README.md - Canvas AI Tools → Mindmap Layout: lays out maps
src/ai/tools.rs - Workspace → Scene Model: stores boards
src/workspace.rs - User → Auto Updater: checks updates
README.md