Core types
PinRefaddresses a pin as(node_id, pin_id)over yourIds. It is the endpoint type in every connection callback.PinEndis the richer endpoint view (direction, occupancy, payload) handed tocan_connect;PinInfois the per-pin view handed to the style closures.- The camera is not a type you hold: push pan and zoom in through
NodeGraph::cameraand read the user's back out throughon_camera, both as a plain(Point, f32). To frame content programmatically, give the graph anidand run thefocustask, as withtext_input::focusorscrollable::scroll_to. Keymapholds the rebindable key and pointer bindings, with platform-appropriate defaults.Particleis a marker gliding along an edge, for traffic or queued work:particle(born, speed)pushed throughEdge::particlesis drawnspeed * ageworld units along the cable and vanishes at the input pin. The widget keeps the redraw loop running while one moves; the host owns each particle's lifetime by pushing it every frame.GraphInfocarries per-frame diagnostics toon_info: element counts (total / in view / culled), CPU op timings, and the SDF pipeline's GPU work and memory counters. Delivered one frame behind, since it is measured duringdraw.