[package] name = "ytbn_graphing_software" version = "0.1.0" edition = "2024" rust-version = "1.88" license = "AGPL-3.0" repository = "https://github.com/Titaniumtown/YTBN-Graphing-Software" description = "Crossplatform (and web-compatible) graphing calculator" [lib] crate-type = ["cdylib", "rlib"] [profile.release] debug = false codegen-units = 1 opt-level = "z" #optimize for size lto = "fat" strip = true panic = "abort" [profile.dev] debug = true codegen-units = 8 opt-level = 0 lto = false strip = false [profile.bench] debug = true codegen-units = 1 opt-level = 3 lto = "thin" strip = false [dependencies] parsing = { path = "./parsing" } eframe = { path = "../simon-egui/crates/eframe", default-features = false, features = [ "glow", "x11", ] } egui = { path = "../simon-egui/crates/egui", default-features = false, features = [ "serde", ] } epaint = { path = "../simon-egui/crates/epaint", default-features = false, features = [ "bytemuck", ] } emath = { path = "../simon-egui/crates/emath", default-features = false } egui_plot = { git = "https://github.com/emilk/egui_plot.git", default-features = false } shadow-rs = { version = "0.38", default-features = false } const_format = { version = "0.2", default-features = false, features = ["fmt"] } cfg-if = "1" ruzstd = "0.8" tracing = "0.1" itertools = "0.14" static_assertions = "1.1" bincode = "1.3" serde = "1" log = "0.4" base64 = "0.22" # Note: benchmarks are in a separate crate - run with: # cd benchmarks && cargo bench [build-dependencies] shadow-rs = "0.38" epaint = { path = "../simon-egui/crates/epaint", default-features = false, features = [ "bytemuck", ] } egui = { path = "../simon-egui/crates/egui", default-features = false, features = [ "serde", ] } bincode = "1.3" serde = "1" serde_json = "1" zstd = { version = "0.13", default-features = false } run_script = "0.10" json5 = "0.4" itertools = "0.14" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] web-time = "1.1" tracing-subscriber = "0.3" getrandom = { version = "0.3" } [target.'cfg(target_arch = "wasm32")'.dependencies] web-time = "1.1" lol_alloc = "0.4" wasm-bindgen = { version = "0.2", default-features = false, features = ["std"] } web-sys = "0.3" tracing-wasm = "0.2" getrandom = { version = "0.3", features = ["wasm_js"] } # pinned to 0.4.54 because nix provides up to 0.2.104 wasm-bindgen-cli wasm-bindgen-futures = "=0.4.54" [package.metadata.cargo-all-features] skip_optional_dependencies = true #don't test optional dependencies, only features [patch.crates-io] egui = { path = "../simon-egui/crates/egui" } epaint = { path = "../simon-egui/crates/epaint" } emath = { path = "../simon-egui/crates/emath" } ecolor = { path = "../simon-egui/crates/ecolor" } eframe = { path = "../simon-egui/crates/eframe" } egui-winit = { path = "../simon-egui/crates/egui-winit" } egui_glow = { path = "../simon-egui/crates/egui_glow" } egui-wgpu = { path = "../simon-egui/crates/egui-wgpu" }