118 lines
4.3 KiB
TOML
118 lines
4.3 KiB
TOML
[package]
|
|
name = "papercraft"
|
|
version = "0.9.1"
|
|
edition = "2024"
|
|
rust-version = "1.95"
|
|
description = "A native infinite-canvas app for planning, working and sketching"
|
|
license = "MIT OR Apache-2.0"
|
|
|
|
[lib]
|
|
name = "papercraft"
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "papercraft"
|
|
path = "src/main.rs"
|
|
|
|
[[bin]]
|
|
name = "papercraft-mcp"
|
|
path = "src/bin/papercraft-mcp.rs"
|
|
|
|
[[bin]]
|
|
name = "papercraft-cli"
|
|
path = "src/bin/papercraft-cli.rs"
|
|
|
|
[[bin]]
|
|
name = "papercraft-relay"
|
|
path = "src/bin/papercraft-relay.rs"
|
|
|
|
[dependencies]
|
|
egui = "0.36"
|
|
egui-wgpu = "0.36"
|
|
wgpu = "30"
|
|
lyon = "1"
|
|
ttf-parser = "0.25"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = { version = "1", features = ["float_roundtrip"] }
|
|
semver = "1"
|
|
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "gif", "webp"] }
|
|
pollster = "0.4"
|
|
web-time = "1"
|
|
bytemuck = { version = "1", features = ["derive"] }
|
|
log = "0.4"
|
|
env_logger = "0.11"
|
|
rfd = "0.17"
|
|
fastrand = "2"
|
|
dirs = "6"
|
|
craft-ui = { version = "0.1.0", git = "https://git.marcospaulo.dev.br/masi/craft-libs", rev = "9c470aa935c4ce48f2ba4f0a17f9410c0c8660fb" }
|
|
i_overlay = "9.0.1"
|
|
miniz_oxide = "0.9.1"
|
|
usvg = "0.48"
|
|
resvg = "0.48"
|
|
tokio = { version = "1", features = ["sync"] }
|
|
base64 = "0.23"
|
|
|
|
[build-dependencies]
|
|
winresource = "0.1"
|
|
|
|
[profile.release]
|
|
debug = false
|
|
|
|
# Browser bundle only (`web/build.sh`): size over compile time. Native release is untouched.
|
|
[profile.web]
|
|
inherits = "release"
|
|
lto = true
|
|
codegen-units = 1
|
|
panic = "abort"
|
|
opt-level = "z"
|
|
|
|
[profile.dev.package."*"]
|
|
opt-level = 2
|
|
|
|
[dev-dependencies]
|
|
rmcp = { version = "3.5.1", default-features = false, features = ["transport-child-process"] }
|
|
reqwest = { version = "0.13", default-features = false }
|
|
# The relay test drives a fake tab over a real WebSocket; same version axum's `ws` uses.
|
|
tokio-tungstenite = "0.29"
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
muda = { version = "0.21", default-features = false }
|
|
objc2 = "0.6"
|
|
objc2-app-kit = "0.3"
|
|
objc2-foundation = "0.3"
|
|
raw-window-handle = "0.6"
|
|
|
|
# Native only: the OS clipboard and the MCP HTTP server do not exist in the browser.
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
egui-winit = "0.36"
|
|
winit = "0.30"
|
|
arboard = { version = "3.6.1", features = ["image-data"] }
|
|
rmcp = { version = "3.5.1", default-features = false, features = ["server", "base64", "transport-streamable-http-server", "transport-io", "client", "transport-streamable-http-client-reqwest"] }
|
|
tokio = { version = "1", features = ["rt-multi-thread", "net", "sync", "macros", "time", "io-std", "fs"] }
|
|
axum = { version = "0.8", default-features = false, features = ["http1", "tokio", "ws", "json", "query"] }
|
|
tokio-util = "0.7"
|
|
# Shared-project sync; the system TLS stack so https servers work without bundling one.
|
|
reqwest = { version = "0.13", default-features = false, features = ["native-tls"] }
|
|
# Anthropic API key in the OS keychain (chat API backend). Linux uses the Secret Service (persistent; keyutils is not).
|
|
# libc: SIGINT to the spawned chat CLIs.
|
|
keyring = { version = "3", default-features = false, features = ["apple-native", "windows-native", "sync-secret-service", "crypto-rust"] }
|
|
libc = "0.2"
|
|
# Pages and versions on disk are zstd-compressed JSON (`project::packed`).
|
|
zstd = "0.13"
|
|
|
|
# Browser build (`src/web.rs`): canvas + WebGPU/WebGL surface, DOM events instead of winit.
|
|
# Process RAM and CPU readings for the performance overlay (`ui::perf`).
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows-sys = { version = "0.61", features = ["Win32_Foundation", "Win32_System_ProcessStatus", "Win32_System_Threading"] }
|
|
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
wgpu = { version = "30", features = ["webgl"] }
|
|
wasm-bindgen = "0.2"
|
|
wasm-bindgen-futures = "0.4"
|
|
js-sys = "0.3"
|
|
console_error_panic_hook = "0.1"
|
|
console_log = "1"
|
|
# zstd without C, for the browser: reads the packed files native builds write.
|
|
ruzstd = "0.8"
|
|
web-sys = { version = "0.3", features = ["Window", "Document", "Element", "HtmlElement", "HtmlCanvasElement", "KeyboardEvent", "PointerEvent", "WheelEvent", "ClipboardEvent", "DataTransfer", "MediaQueryList", "Location", "Performance", "Navigator", "Clipboard", "CssStyleDeclaration", "console", "WebSocket", "MessageEvent", "CloseEvent", "ErrorEvent", "Storage", "Crypto", "DragEvent", "FileList", "File", "Blob", "Request", "RequestInit", "Response"] }
|