[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.docs.rs] all-features = true [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", "poll-promise", "egui_extras/image"] image_viewer = ["image", "egui_extras/all_loaders", "rfd"] persistence = ["eframe/persistence", "egui/persistence", "serde"] puffin = ["eframe/puffin", "dep:puffin", "dep:puffin_http"] 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", "extra_debug_asserts", "log", ] } egui_demo_lib = { workspace = true, features = ["default", "chrono"] } egui_extras = { workspace = true, features = ["default", "image"] } log.workspace = true # Optional dependencies: bytemuck = { version = "1.7.1", 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 } image = { version = "0.24", optional = true, default-features = false, features = [ "jpeg", "png", ] } poll-promise = { version = "0.3", optional = true, default-features = false } # feature "persistence": serde = { version = "1", optional = true, features = ["derive"] } # native: [target.'cfg(not(target_arch = "wasm32"))'.dependencies] env_logger = { version = "0.10", default-features = false, features = [ "auto-color", "humantime", ] } rfd = { version = "0.13", optional = true } # web: [target.'cfg(target_arch = "wasm32")'.dependencies] wasm-bindgen = "=0.2.90" wasm-bindgen-futures = "0.4" web-sys = "0.3"