When disconnecting an input, the input index is determined by finding the index clicked connector from all visible connectors. This means that hidden inputs are not accounted for, and hiding an input shifts the index of all inputs below up by one. For example, when the "Dimensions" input is exposed but the "Location" is hidden for the Artboard node, it is impossible to disconnect the "Dimensions" input. Another example is when trying to disconnect the combine/split channel nodes. To solve this the index of input could be added to FrontendGraphInput, and it would be stored it as a data attribute on the port.
Another important consideration is that the index when connecting is correctly determined, its only broken when disconnecting.
When disconnecting an input, the input index is determined by finding the index clicked connector from all visible connectors. This means that hidden inputs are not accounted for, and hiding an input shifts the index of all inputs below up by one. For example, when the "Dimensions" input is exposed but the "Location" is hidden for the Artboard node, it is impossible to disconnect the "Dimensions" input. Another example is when trying to disconnect the combine/split channel nodes. To solve this the index of input could be added to
FrontendGraphInput
, and it would be stored it as a data attribute on the port.Another important consideration is that the index when connecting is correctly determined, its only broken when disconnecting.