mirror of
https://github.com/emilk/egui.git
synced 2026-09-02 06:40:06 -04:00
Add egui_inspection crate and eframe inspection hooks
New `egui_inspection` crate ships: - `protocol` (default): wire types + length-prefixed msgpack framing for the inspector ↔ egui-peer connection. Transport-neutral (stdio / unix socket / TCP). - `plugin`: `InspectionPlugin`, an `egui::Plugin` that dials a unix socket from `EGUI_INSPECTION_SOCKET`, streams frames + accesskit tree updates, and applies inbound `InspectorCommand`s back into the running `egui::Context`. eframe gains an `inspection` feature that auto-attaches the plugin during native startup (glow + wgpu integrations) when the env var is set. Connection failures log via `log::warn!` and do not abort startup. Lives in its own crate (rather than `egui_kittest`) so eframe can pull the protocol in without picking up the test harness, and so external tools can depend on it directly.
This commit is contained in:
@@ -116,6 +116,12 @@ x11 = [
|
||||
## This is used to generate images for examples.
|
||||
__screenshot = []
|
||||
|
||||
## Enable the [`egui_inspection`] plugin. When the `EGUI_INSPECTION_SOCKET` env var points
|
||||
## at a unix socket, eframe attaches an `InspectionPlugin` to the egui context on startup
|
||||
## that streams the AccessKit tree and applies received commands. Unix-only; no-op on
|
||||
## non-unix targets.
|
||||
inspection = ["dep:egui_inspection", "accesskit"]
|
||||
|
||||
[dependencies]
|
||||
egui = { workspace = true, default-features = false, features = ["bytemuck"] }
|
||||
|
||||
@@ -131,6 +137,7 @@ web-time.workspace = true
|
||||
# Optional dependencies
|
||||
|
||||
egui_glow = { workspace = true, optional = true, default-features = false }
|
||||
egui_inspection = { workspace = true, optional = true, features = ["plugin"] }
|
||||
glow = { workspace = true, optional = true }
|
||||
ron = { workspace = true, optional = true, features = ["integer128"] }
|
||||
serde = { workspace = true, optional = true }
|
||||
|
||||
Reference in New Issue
Block a user