[workspace] resolver = "3" members = ["crates/*", "apps/*", "xtask"] default-members = ["crates/*", "apps/vectorcraft", "apps/vectorcraft-cli", "xtask"] [workspace.package] version = "0.1.1" edition = "2024" license = "MIT OR Apache-2.0" rust-version = "1.90" repository = "https://github.com/storytold/vectorcraft" [workspace.dependencies] # internal vectorcraft-geom = { path = "crates/geom" } vectorcraft-color = { path = "crates/color" } vectorcraft-doc = { path = "crates/doc" } vectorcraft-pathops = { path = "crates/pathops" } vectorcraft-brush = { path = "crates/brush" } vectorcraft-trace = { path = "crates/trace" } vectorcraft-text = { path = "crates/text" } vectorcraft-effects = { path = "crates/effects" } vectorcraft-render = { path = "crates/render" } vectorcraft-svg = { path = "crates/svg" } vectorcraft-pdf = { path = "crates/pdf" } vectorcraft-format = { path = "crates/format" } vectorcraft-tools = { path = "crates/tools" } vectorcraft-engine = { path = "crates/engine" } vectorcraft-ui-egui = { path = "crates/ui-egui" } vectorcraft-mcp = { path = "crates/mcp" } vectorcraft-testkit = { path = "crates/testkit" } # foundation kurbo = { version = "0.13", features = ["serde"] } peniko = "0.6" thiserror = "2" serde = { version = "1", features = ["derive", "rc"] } serde_json = { version = "1", features = ["float_roundtrip"] } log = "0.4" proptest = "1" # rendering / formats vello_cpu = "0.2" image = { version = "0.25", default-features = false, features = ["png", "jpeg", "webp", "gif"] } usvg = "0.48" krilla = "0.8" skrifa = "0.47" harfrust = "0.13" linesweeper = "0.4" # ui egui = "0.36" egui_extras = { version = "0.36", default-features = false, features = ["svg"] } eframe = { version = "0.36", default-features = false } egui_kittest = "0.36" rfd = "0.17" arboard = { version = "3.6", default-features = false } webbrowser = "1" [workspace.lints.rust] unsafe_code = "deny" [workspace.lints.clippy] dbg_macro = "warn" todo = "warn" [profile.dev.package."*"] opt-level = 2 [profile.dev] opt-level = 1 [profile.release] lto = "thin" codegen-units = 1