Wire relays + expiration

TL;DR: Feature request: Please make it so wire relay additions/removals don’t expire downstream components

The full spiel:
It seems to me that the addition of a wire relay (image) always splits a wire at a point and inserts itself in such a way that it cannot change the calculated downstream value. This may also be true for deletion. If that’s in fact the case (and I’m not missing some case where it’s not), it would be a major bonus if these relay actions did not expire downstream component solutions. While generally the action is fast enough to feel instantaneous, in large complicated definitions (those that might benefit the most from the organizing possibility of relays) it can be really annoying to wait for the definition to re-solve after every relay is added. Moreover I frequently use canvas double-click as a shortcut for component insert-search, and I often accidentally insert a relay instead - if this was always an instantaneous action it would be less annoying.

Yeah theoretically it should never change the state of the network, it’s just really hard making changes without expiring things. But I’ll have a look to see what it would take to avoid new solutions, at least for the double-click-insert/delete operation.


How is the progress on this? I keep forgetting to lock solver while cleaning up big solutions … :upside_down_face: