[package] name = "egui_demo_app" version.workspace = true authors = ["Emil Ernerfeldt "] license.workspace = true edition.workspace = true rust-version.workspace = true publish = false default-run = "egui_demo_app" [package.metadata.cargo-machete] ignored = ["profiling"] [lints] workspace = true [package.metadata.docs.rs] all-features = true rustdoc-args = ["--generate-link-to-definition"] [lib] crate-type = ["cdylib", "rlib"] [features] default = ["glow", "persistence"] # image_viewer adds about 0.9 MB of WASM web_app = ["http", "persistence"] http = ["ehttp", "image/jpeg", "poll-promise", "egui_extras/image"] image_viewer = ["image/jpeg", "egui_extras/all_loaders", "rfd"] persistence = [ "eframe/persistence", "egui_extras/serde", "egui/persistence", "serde", ] puffin = ["dep:puffin", "dep:puffin_http", "profiling/profile-with-puffin"] serde = ["dep:serde", "egui_demo_lib/serde", "egui/serde"] syntect = ["egui_demo_lib/syntect"] glow = ["eframe/glow"] wgpu = ["eframe/wgpu", "bytemuck", "dep:wgpu"] wayland = ["eframe/wayland"] x11 = ["eframe/x11"] [dependencies] chrono = { version = "0.4", default-features = false, features = [ "js-sys", "wasmbind", ] } eframe = { workspace = true, default-features = false, features = [ "web_screen_reader", ] } egui = { workspace = true, features = ["callstack", "default", "log"] } egui_demo_lib = { workspace = true, features = ["default", "chrono"] } egui_extras = { workspace = true, features = ["default", "image"] } image = { workspace = true, default-features = false, features = [ # Ensure we can display the test images "png", ] } log.workspace = true profiling.workspace = true # Optional dependencies: bytemuck = { workspace = true, optional = true } puffin = { workspace = true, optional = true } puffin_http = { workspace = true, optional = true } # Enable both WebGL & WebGPU when targeting the web (these features have no effect when not targeting wasm32) wgpu = { workspace = true, features = ["webgpu", "webgl"], optional = true } # feature "http": ehttp = { version = "0.5", optional = true } poll-promise = { version = "0.3", optional = true, default-features = false } # feature "persistence": serde = { workspace = true, optional = true } # native: [target.'cfg(not(target_arch = "wasm32"))'.dependencies] env_logger = { version = "0.10", default-features = false, features = [ "auto-color", "humantime", ] } rfd = { version = "0.15", optional = true } # web: [target.'cfg(target_arch = "wasm32")'.dependencies] wasm-bindgen = "=0.2.97" wasm-bindgen-futures.workspace = true web-sys.workspace = true [dev-dependencies] egui_kittest = { workspace = true, features = ["eframe", "snapshot", "wgpu"] }