Add drawing tools, Mermaid support, and MCP server bridge
- Convert flat project to Cargo workspace (crates/agcanvas, crates/agcanvas-mcp) - Add drawing layer: rectangles, ellipses, lines, arrows, text with select/move/resize - Add Mermaid diagram rendering via mermaid-rs-renderer - Add agcanvas-mcp: MCP server bridge for Claude Code, OpenCode, and Codex - Add toolbar UI with keyboard shortcuts (V/R/E/L/A/T) and shape interaction - Add example MCP configs for Claude Code, OpenCode, and Codex - Update README with full feature docs, MCP setup, and updated architecture
This commit is contained in:
46
Cargo.toml
46
Cargo.toml
@@ -1,48 +1,12 @@
|
||||
[package]
|
||||
name = "agcanvas"
|
||||
[workspace]
|
||||
members = ["crates/agcanvas", "crates/agcanvas-mcp"]
|
||||
resolver = "2"
|
||||
|
||||
[workspace.package]
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
description = "Interactive canvas for agent-human collaboration with SVG support"
|
||||
license = "MIT"
|
||||
|
||||
[dependencies]
|
||||
# GUI
|
||||
eframe = { version = "0.29", default-features = false, features = [
|
||||
"default_fonts",
|
||||
"glow",
|
||||
"persistence",
|
||||
] }
|
||||
egui = "0.29"
|
||||
egui_extras = { version = "0.29", features = ["image"] }
|
||||
|
||||
# SVG parsing and rendering
|
||||
usvg = "0.44"
|
||||
resvg = "0.44"
|
||||
tiny-skia = "0.11"
|
||||
|
||||
# Clipboard
|
||||
arboard = "3.4"
|
||||
|
||||
# Serialization (for agent protocol)
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0"
|
||||
|
||||
# Agent communication
|
||||
tokio = { version = "1.0", features = ["rt-multi-thread", "sync", "macros"] }
|
||||
tokio-tungstenite = "0.24"
|
||||
futures-util = "0.3"
|
||||
|
||||
# Logging
|
||||
tracing = "0.1"
|
||||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||||
|
||||
# Error handling
|
||||
anyhow = "1.0"
|
||||
thiserror = "1.0"
|
||||
|
||||
# Image handling for texture conversion
|
||||
image = { version = "0.25", default-features = false, features = ["png"] }
|
||||
|
||||
[profile.release]
|
||||
opt-level = 3
|
||||
lto = true
|
||||
|
||||
Reference in New Issue
Block a user