# hive-jobq-wire Wire types for serving a [`hive-jobq`](../hive-jobq) graph to a viewer, plus the traits a host implements to say how its graph renders. **Why this is not part of `hive-jobq`.** The scheduler crate is logic: a graph, a resource pool, a run loop. Presentation is a different concern with a different audience, and folding it in means every consumer of the scheduler also carries a JSON vocabulary it may never serve — the two get remixed and stay that way. A separate crate keeps that boundary where it can be seen. A host implements `WireNode` for its node payload `N` and `WireResource` for its resource name `R`. `GraphWire::wire_snapshot` is then blanket-implemented for `hive_jobq::Graph` — so the projection exists exactly when both types have said how they render, and a payload that hasn't cannot reach a viewer at all.