[package] name = "topola" version = "0.1.0" edition = "2021" default-run = "topola-egui" [lib] name = "topola" [[bin]] name = "topola-egui" required-features = ["egui"] [[bin]] name = "topola-sdl2-demo" required-features = ["sdl2"] [features] egui = ["dep:eframe", "dep:egui", "dep:rfd", "dep:futures"] sdl2 = ["dep:sdl2", "dep:gl", "dep:pathfinder_canvas", "dep:pathfinder_geometry", "dep:pathfinder_gl", "dep:pathfinder_renderer", "dep:pathfinder_resources"] disable_contracts = ["contracts/disable_contracts"] [dependencies] thiserror = "1.0.56" anyhow = "1.0.79" geo = "0.25.1" rstar = "0.11.0" petgraph = "0.6.3" spade = "2.2.0" serde_json = "1.0.117" enum_dispatch = "0.3.12" itertools = "0.8.2" contracts = "0.6.3" log = "0.4" [dependencies.serde] version = "1" features = ["derive"] [dependencies.eframe] optional = true version = "0.26.0" default-features = false features = ["accesskit", "default_fonts", "glow", "persistence"] [dependencies.egui] optional = true version = "0.26.0" [dependencies.rfd] optional = true version = "0.14.0" [dependencies.futures] optional = true version = "0.3.30" [dependencies.sdl2] optional = true version = "0.35.2" default-features = false features = ["bundled"] [dependencies.gl] optional = true version = "0.14.0" [dependencies.pathfinder_canvas] optional = true git = "https://github.com/servo/pathfinder" [dependencies.pathfinder_geometry] optional = true git = "https://github.com/servo/pathfinder" [dependencies.pathfinder_gl] optional = true git = "https://github.com/servo/pathfinder" [dependencies.pathfinder_renderer] optional = true git = "https://github.com/servo/pathfinder" [dependencies.pathfinder_resources] optional = true git = "https://github.com/servo/pathfinder" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] env_logger = "0.10" [target.'cfg(target_arch = "wasm32")'.dependencies] wasm-bindgen-futures = "0.4" [profile.release] opt-level = 2 # fast and small wasm # Optimize all dependencies even in debug builds: [profile.dev.package."*"] opt-level = 2 [patch.crates-io] contracts = { path = "vendored/contracts" }