Symptom

The source picker in TargetingWiringEditor (and all executor editors) was hardcoded to three tabs: DataPoint, Pin, and LogicGate. Users had no way to wire any other node type as a source, and cross-server (peer) nodes were invisible in the picker even though ClientNodeManager already holds all connected peers’ nodes.

Root cause

SourceList in NodeList.kt enumerated its type list as a hardcoded listOf(KrillApp.DataPoint, KrillApp.Server.Pin, KrillApp.Executor.LogicGate) and never looked beyond the local host. The P2P architecture was fully in place in ClientNodeManager but the picker was never wired to use it.

Fix

Replaced the 3-tab SourceList with a two-step picker:

Prevention