Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/facett

facett-graph/Cargo.toml

[package]
name = "facett-graph"
description = "facett — graph (node/edge) viewer component, on facett-core"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
# Development notes, agent instructions and machine-local tooling stay in the
# repository; they are not part of the published crate.
exclude = [
    ".nornir/",
]

[features]
# L4: functional-status emitter passthrough (see facett-core). No-op in release.
testmatrix = ["facett-core/testmatrix"]
# The shared instanced GPU cloud lane (facett-core `graphcloud`, the SAME renderer
# graphpan/graphnav/graph3d paint through). Without it, or without a host-installed
# renderer, `GraphView` keeps its egui painter and `state_json().lane` says which drew.
wgpu = ["facett-core/wgpu"]
# The scale path's FORCE layout as a non-blocking GPU job on the host's device
# (facett-graphview `gpu_layout::LayoutJob`: all-pairs below GRID_MIN_NODES, the grid
# kernel above) — the lane the navigator and the falkor browser lay 100k out on. Without
# it, or without a host-installed device, Force runs the existing core CPU layout.
gpu-layout = ["dep:facett-graphview", "facett-graphview/gpu"]

[dependencies]
facett-core = { path = "../facett-core", version = "0.3.0" }
facett-graphview = { path = "../facett-graphview", version = "0.2.0", optional = true }
egui = { workspace = true }
serde = { version = "1", features = ["derive"] }
serde_json = { workspace = true }

[dev-dependencies]
# `tests/scale_lane.rs` opens the installed-renderer gate without a device
# (`cloud-test-gate`) to count what the scale path's resident cloud uploads.
facett-core = { path = "../facett-core", features = ["cloud-test-gate"] }
# FC-4 (per-node a11y) + FC-5 (stable label-keyed selection) interaction tests.
# `wgpu` adds the GPU framebuffer backend so the call-chain matrix's robot leg can
# render a real frame, prove non-blank/confinement, and save the final-picture PNG
# blob; `image` writes/reads that PNG. (Mirrors facett-map's dev-deps.)
egui_kittest = { version = "0.36", features = ["wgpu", "snapshot"] }
image = { version = "0.25", default-features = false, features = ["png"] }
# The shared robot-drive harness — the node-addressability proof drives a GraphView
# through the SAME `find_id` (Locate) + `click_by_id` (Act) methods the `cmd_json`
# host seam (`CmdHost::locate`/`act`) calls, not a bespoke addressing scheme.
nornir-robotui = { version = "0.4.0" }