featherbit UI
    Preparing search index...

    Function PluginNode

    • Renders one plugin node on the canvas.

      Handle layout encodes the port model (see ../nodeKinds for the shared entry/terminal classification and output resolution):

      • in (left, target) — omitted on entry-like nodes (listener, input).
      • Outputs (right, source) — omitted on terminal-like nodes (client, output, error, none of which get a success output either); a single success handle on entry-like nodes (listener reads its own catalog spec, which happens to be exactly one success port; the non-catalog input pseudo-node uses a hard-coded fallback of the same shape); otherwise one handle per port declared in data.ports.outputs (falling back to the default success+error pair when the type has no catalog entry), colored by PortDecl.kind. When data.showPortNames is not false (the default), each port renders as a labeled row inside the node body, with its handle centered on the row; otherwise handles fall back to the previous evenly-spaced absolute placement with only a hover tooltip.

      Clicking the node invokes data.onSelect(id); selection is shown with an accent border and ring.

      Parameters

      • __namedParameters: NodeProps

      Returns Element

      Handle ids are the ports serialized as node_id.port edge endpoints, matching the success/outcome/error routing executed in src/graph/engine.rs and declared in src/plugins/ports.rs. input/output/error are the supernode boundary pseudo-nodes (src/graph/expand.rs) alongside listener/client; they are not catalog types, so their handle counts fall back to the hard-coded shapes in ../nodeKinds rather than reading data.ports.