bench/Cargo.toml
# Detached bench crate for facett — its OWN `[workspace]` so the heavy `nornir`
# dev-dependency (the Bencher contract) never touches the published facett
# crates' lockfile/members. `nornir`'s `run_bench_example` detects
# `<repo>/bench/examples/nornir-bench.rs` and runs cargo *inside* this dir.
# See nornir/.nornir/bencher.md (the three accepted layouts).
[package]
name = "facett-bench"
version = "0.0.0"
edition = "2024"
publish = false
[workspace]
[dependencies]
nornir = { path = "../../nornir", version = "0.6.0" }
facett = { path = "../facett", version = "0.2.0" }
# Direct edge to facett-core so the `wgpu` feature can light the L0 GPU SDF lane
# (the `facett.core.gpu_upload` part-bench). Off by default — the SDF/raster
# part-benches need no GPU; `cargo run --example nornir-bench --features wgpu`
# turns on the headless offscreen upload bench.
facett-core = { path = "../facett-core", version = "0.3.0" }
# The framework layer — the `scene` pane tree whose per-pane WINDOW CHROME ships ON by
# default. Benched here so "every pane grew a title bar" is proven not to cost a frame
# (L2: a default-on feature must be bench-proven non-regressing).
facett-app = { path = "../facett-app", version = "0.2.0" }
egui = "0.36"
anyhow = "1"
serde_json = "1"
[features]
# Light the L0 GPU SDF lane in facett-core so `GpuUpload` runs the real headless
# offscreen pipeline instead of self-reporting skipped.
wgpu = ["facett-core/wgpu"]
[[example]]
name = "nornir-bench"
path = "examples/nornir-bench.rs"
# Stale-registry workaround: unpublished lbzip2/lgz *_capped fns + znippy-zoomies `vann`
# live only in the local sibling checkouts (registry lbzip2 0.5.3 / lgz 0.3.5 /
# znippy-zoomies 0.1.13 predate them). Detached bench workspace needs its own [patch].
# Drop once these crates are published. See workspace_nordisk PLAN "diff att undersöka".