1
0
mirror of https://github.com/emilk/egui.git synced 2026-06-26 14:49:06 -04:00
Files
egui/crates/egui_kittest/Cargo.toml
lucasmerlin e3bdddf306 egui_kittest: connect inspector over local socket instead of child stdio
The harness inspector now speaks the wire protocol over the same
interprocess local socket as the live egui_inspection plugin, in two
modes:
- connect: EGUI_INSPECTION_SOCKET set -> dial the listening socket
  (e.g. the kittest MCP bridge).
- spawn: KITTEST_INSPECTOR truthy, no socket -> bind a socket, spawn
  the kittest_inspector binary pointed at it, accept.

env_enabled() now also auto-enables when the socket var is set. Pulls
egui_inspection/transport into the inspector_api feature.
2026-05-26 16:33:56 +02:00

80 lines
2.9 KiB
TOML

[package]
name = "egui_kittest"
version.workspace = true
authors = ["Lucas Meurer <hi@lucasmerlin.me>", "Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Testing library for egui based on kittest and AccessKit"
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", "immediate", "egui", "testing", "accesskit"]
include = ["../../LICENSE-APACHE", "../../LICENSE-MIT", "**/*.rs", "Cargo.toml"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--generate-link-to-definition"]
[features]
## Adds a wgpu-based test renderer.
wgpu = ["dep:egui-wgpu", "dep:pollster", "dep:image", "dep:wgpu", "eframe?/wgpu"]
## Adds a dify-based image snapshot utility.
snapshot = ["dep:dify", "dep:image", "dep:open", "dep:tempfile", "image/png"]
## Expose the [`inspector_api`] wire protocol used to talk to the external
## `kittest_inspector` binary. Pull this in if you're building a tool that consumes the
## same stream — the binary itself enables this transitively.
inspector_api = ["dep:egui_inspection", "egui_inspection/transport", "egui/serde"]
## Stream frames + accesskit tree to a `kittest_inspector` window for live debugging.
## Auto-launches when the `KITTEST_INSPECTOR` env var is truthy.
inspector = ["inspector_api", "egui_inspection/png", "dep:image", "image/png"]
## Allows testing eframe::App
eframe = ["dep:eframe", "eframe/accesskit"]
# This is just so it compiles with `--all-features` on Linux
x11 = ["eframe?/x11"]
[dependencies]
egui.workspace = true
eframe = { workspace = true, optional = true }
kittest.workspace = true
serde.workspace = true
toml = { workspace = true, features = ["parse", "serde"] }
# wgpu dependencies
egui-wgpu = { workspace = true, optional = true }
pollster = { workspace = true, optional = true }
image = { workspace = true, optional = true }
# Enable DX12 because it always comes with a software rasterizer.
wgpu = { workspace = true, features = ["metal", "dx12", "vulkan", "gles"], optional = true }
# snapshot dependencies
dify = { workspace = true, optional = true }
# inspector dependencies
egui_inspection = { workspace = true, optional = true }
# Enable this when generating docs.
document-features = { workspace = true, optional = true }
# Native dependencies:
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
open = { workspace = true, optional = true }
tempfile = { workspace = true, optional = true }
[dev-dependencies]
egui = { workspace = true, features = ["default_fonts"] }
image = { workspace = true, features = ["png"] }
egui_extras = { workspace = true, features = ["image", "http"] }
[lints]
workspace = true