facett-brokkrview — crate card
Reverse-engineered (from source)
- One-line pitch: View Brokkr pipeline runs as a roster, a stage/step tree or a navigable execution DAG.
- Does:
BrokkrViewimplementsElmwith theFacet/Panelbridge. The roster emits run requests as effects; host-suppliedFinishedRunvalues update the roster, tree and DAG. No pipeline execution happens in the view. - DAG:
facett_core::layeredpositions prerequisite → consumer edges. A retainedfacett_flow::FlowScenepaints nodes, curves and arrows. Passed steps map to Ok, failed steps to Error, and other statuses retain their neutral colour. Palette overrides preserve the Tillsynia colours. Stage, status and disposition labels are local overlays with accessible step buttons. - Navigation and selection: Shared gestures provide pan, cursor-anchored zoom and fit. Pointer node selection remains available outside the label budget. Camera and selected step are serializable and observable through
state_json; the existingdagpayload is preserved. Status and camera changes keep the geometry generation unchanged. - Key deps:
facett-core,facett-flowwith host/labels/arrows/status/hit-test,egui,serdeandserde_json. Optionalwgpudelegates to flow; the host installs its GPU renderer. No dwarves or nornir dependency in the library. - Verification: All 18 actual-workspace unit, accessibility, headless, rendering and robot tests pass. The real Metal callback test verifies changed status pixels, attribute-only uploads, unchanged geometry/targets, camera navigation and idle eviction. The new
tests/snapshots/flow_gpu.pngreference was captured and compared in the actual workspace on Apple M2 Pro / Metal within 2 levels per channel; its README records provenance. Other hardware comparisons have not run.
Ownership and integration
Dwarves supplies the run data and handles emitted effects. Brokkrview owns the roster, tree, disposition labels and selection; Falsett supplies DAG drawing and hit testing.