[workspace] resolver = "2" members = [ "crates/geom", "crates/model", "crates/text", "crates/format", "crates/render", "crates/engine", "crates/mcp", "crates/os", "crates/ui-egui", "apps/rustfig", "apps/cli", "xtask", ] default-members = ["apps/rustfig", "apps/cli"] [workspace.package] version = "0.9.0-beta.7" edition = "2021" license = "MIT OR Apache-2.0" repository = "https://github.com/FabianHassler/rustfig" rust-version = "1.92" [workspace.dependencies] # fig2dev's own repository. For joint work, a [patch."https://github.com/FabianHassler/fig2dev"] # with path = "../fig2dev/crates/…" points at a local clone. figbase = { git = "https://github.com/FabianHassler/fig2dev", tag = "v0.9.5" } fig2dev = { package = "fig2dev-rs-lib", git = "https://github.com/FabianHassler/fig2dev", tag = "v0.9.5" } rustfig-geom = { path = "crates/geom" } rustfig-model = { path = "crates/model" } rustfig-text = { path = "crates/text" } rustfig-format = { path = "crates/format" } rustfig-render = { path = "crates/render" } rustfig-engine = { path = "crates/engine" } rustfig-mcp = { path = "crates/mcp" } rustfig-os = { path = "crates/os" } rustfig-ui-egui = { path = "crates/ui-egui" } serde = { version = "1", features = ["derive", "rc"] } serde_json = "1" toml = { version = "1", default-features = false, features = ["parse", "display", "serde"] } tiny-skia = "0.11" ttf-parser = "0.25" fontdb = { version = "0.24", default-features = false, features = ["std"] } epaint_default_fonts = "0.33" pdf-writer = "0.15" image = { version = "0.25", default-features = false, features = ["png", "jpeg", "gif", "bmp", "pnm", "tiff"] } flate2 = "1" sha2 = "0.10" zip = { version = "2", default-features = false, features = ["deflate"] } egui = "0.33" eframe = { version = "0.33", default-features = false, features = ["accesskit", "default_fonts", "glow", "wayland", "x11"] } rfd = "0.15" proptest = "1" log = "0.4" wasm-bindgen-futures = "0.4" web-sys = "0.3" [workspace.lints.rust] unsafe_code = "forbid" [workspace.lints.clippy] unwrap_used = "deny" expect_used = "deny" panic = "deny" unreachable = "deny" todo = "deny" unimplemented = "deny" field_reassign_with_default = "allow" [profile.release] opt-level = 3 debug = false [profile.dev.package."*"] opt-level = 2