mirror of
https://github.com/emilk/egui.git
synced 2026-08-31 05:40:03 -04:00
- FrameScreenshot now carries PNG bytes instead of raw RGBA (PROTOCOL_VERSION 1→2); add a shared `encode_png` helper behind a new `png` feature so the live plugin and the kittest harness encode frames identically. - Make the protocol module unconditional: drop the `protocol` feature flag and the optional serde/serde_bytes/rmp-serde deps it gated. - plugin.rs: re-stamp screenshot-bearing frames with the current step (so inspectors waiting for step > prev don't reject them) and pump a tail-side repaint while awaiting the GPU readback.
53 lines
1.8 KiB
TOML
53 lines
1.8 KiB
TOML
[package]
|
|
name = "egui_inspection"
|
|
version.workspace = true
|
|
authors = [
|
|
"Lucas Meurer <hi@lucasmerlin.me>",
|
|
"Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
|
|
]
|
|
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
|