[package] name = "egui_inspection" version.workspace = true authors = [ "Lucas Meurer ", "Emil Ernerfeldt ", ] description = "Wire protocol and egui::Plugin for live inspection of running egui apps and kittest harnesses" edition.workspace = true rust-version.workspace = true homepage = "https://github.com/emilk/egui" license.workspace = true readme = "./README.md" repository = "https://github.com/emilk/egui" categories = ["gui", "development-tools::testing", "accessibility"] keywords = ["gui", "egui", "inspector", "accesskit", "testing"] include = ["../../LICENSE-APACHE", "../../LICENSE-MIT", "**/*.rs", "Cargo.toml"] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--generate-link-to-definition"] [features] default = [] ## Cross-platform local-socket name helpers ([`transport::socket_name`], ## [`transport::generate_socket_target`]) built on `interprocess`: unix domain sockets on ## unix, named pipes on Windows. Shared by both ends of the connection. transport = ["dep:interprocess", "dep:tempfile"] ## [`encode_png`] — shared screenshot PNG encoder so every peer (live plugin + kittest ## harness) produces identically-encoded frames. png = ["dep:image", "image/png"] ## `InspectionPlugin` — an `egui::Plugin` impl that streams frames + accesskit tree to ## an inspector over a local socket and applies received commands. Auto-attaches when ## the [`INSPECTION_SOCKET_ENV_VAR`] env var is set. plugin = ["transport", "png"] [dependencies] egui = { workspace = true, features = ["serde"] } serde.workspace = true serde_bytes = "0.11.17" rmp-serde.workspace = true image = { workspace = true, optional = true } interprocess = { version = "2.4", optional = true } tempfile = { workspace = true, optional = true } document-features = { workspace = true, optional = true } [lints] workspace = true