Cut of electric pole re-routes circuit connections

Bugs that are actually features.
Beefstah
Burner Inserter
Burner Inserter
Posts: 9
Joined: Fri Oct 06, 2023 11:36 am
Contact:

Cut of electric pole re-routes circuit connections

Post by Beefstah »

Even when close enough to direct connect, I like to run my red/green wires along electricity poles for assorted reasons.

I have noticed that if I cut a pole with connections, those connections then reform directly where possible. However when I re-paste the pole, the new connections remain in addition to the connections to the pole, meaning I now have duplicate connections

Before:
01-06-2025, 12-02-55.png
01-06-2025, 12-02-55.png (515.38 KiB) Viewed 925 times
After cutting the pole - with clipboard ghost:
01-06-2025, 12-03-26.png
01-06-2025, 12-03-26.png (491.17 KiB) Viewed 925 times
After cutting the pole - without clipboard ghost:
01-06-2025, 12-04-01.png
01-06-2025, 12-04-01.png (396.17 KiB) Viewed 925 times
After pasting the ghost into a new position:
01-06-2025, 12-04-26.png
01-06-2025, 12-04-26.png (575.35 KiB) Viewed 925 times
This can make ongoing maintenance of things connected quite troublesome, especially in densely-packed spaces with lots of connections.

Ideally, the connections would only be reinstated after placing backdown the cut pole, and then only to the pole itself.
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 4100
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: Cut of electric pole re-routes circuit connections

Post by boskid »

Thanks for the report. You described how a feature works, one that was already described in https://factorio.com/blog/post/fff-379. Not a bug.
Beefstah
Burner Inserter
Burner Inserter
Posts: 9
Joined: Fri Oct 06, 2023 11:36 am
Contact:

Re: Cut of electric pole re-routes circuit connections

Post by Beefstah »

Thanks for the quick response. I had a re-read of the FFF to refresh my memory.

However I feel my my use-case is different to that covered in the FFF: my issue is about object-to-pole rewiring to object-to-object wiring when the pole was previously the only common object. This results in a lot of excess wiring with the object-to-object wiring in addition to the object-to-pole wiring once the pole is replaced, amplified by the object-to-object wiring making as many connections as possible.

For example this:
01-06-2025, 13-07-33.png
01-06-2025, 13-07-33.png (891.68 KiB) Viewed 882 times
All well and good. But if I cut the pole I get this:
01-06-2025, 13-07-46.png
01-06-2025, 13-07-46.png (340.22 KiB) Viewed 882 times
Which has every display connected to some - but not all - of the others. For example, 1 connects to 2, 4 and 5, or 2 connects to 1, 3 and 5. There's probably a pattern to it, but I don't know what.

If I then add the pole back in, I have connections all over the place:
01-06-2025, 13-09-32.png
01-06-2025, 13-09-32.png (722.16 KiB) Viewed 882 times
This can make redesigns very tedious, unless I want to leave a lot of excess wiring laying around...which then makes troubleshooting tedious as I have to check all of the wiring is how I originally laid it out and hasn't actually gained new connections when I moved a pole around.

Diving into this further, this object-to-object rewiring only happens when the last pole connecting the objects is removed. For example, if I have this:
01-06-2025, 13-18-26.png
01-06-2025, 13-18-26.png (951.87 KiB) Viewed 882 times
I can cut either pole without any object-to-object rewiring:
01-06-2025, 13-18-41.png
01-06-2025, 13-18-41.png (1.18 MiB) Viewed 882 times
When I put the pole back, all the red and green wire connections are back to how they were:
01-06-2025, 13-19-05.png
01-06-2025, 13-19-05.png (974.1 KiB) Viewed 882 times
I say red and green wires because in this scenario I now get a copper wire turn up between the two poles. I'm not thrilled about this either to be honest - the pole didn't have a copper wire beforehand, why should it have one now? It was able to remember that it had a green wire to the other pole, so there's some memory in effect here, but I don't want to have to go and remove copper wires I didn't have beforehand.

What's most irritating is this is only really a problem in pure vanilla - if I use the Even Pickier Dollies mod I can shuffle poles around without any of these problems. But then I don't get achivements.
Beefstah
Burner Inserter
Burner Inserter
Posts: 9
Joined: Fri Oct 06, 2023 11:36 am
Contact:

Re: Cut of electric pole re-routes circuit connections

Post by Beefstah »

Just to add, and this is what really grinds my gears...undo doesn't actually undo in this situation. If I cut/delete the pole and then hit ctrl-Z, I still have to go and unpick all the extra connections that turned up.
Beefstah
Burner Inserter
Burner Inserter
Posts: 9
Joined: Fri Oct 06, 2023 11:36 am
Contact:

Re: Cut of electric pole re-routes circuit connections

Post by Beefstah »

It also just occurred to me to test from the other direction, and see what happens if I cut/paste the objects, not the poles:

This works exactly as anticipated, with connections respected as-is.
01-06-2025, 13-30-43.png
01-06-2025, 13-30-43.png (632.97 KiB) Viewed 871 times
This remains true for partial cut only containing objects:
01-06-2025, 13-31-35.png
01-06-2025, 13-31-35.png (609.84 KiB) Viewed 871 times
But once a partial cut contains the pole, the objects not in the cut gain excess connections again - 3 to 4, 4 to 5. Not, curiously, 3 to 5:
01-06-2025, 13-32-50.png
01-06-2025, 13-32-50.png (824.88 KiB) Viewed 871 times
Multi-pole setups continue to work consistently with previous observations
01-06-2025, 13-35-04.png
01-06-2025, 13-35-04.png (908.69 KiB) Viewed 871 times
01-06-2025, 13-35-52.png
01-06-2025, 13-35-52.png (990.52 KiB) Viewed 871 times
Davosaurus
Burner Inserter
Burner Inserter
Posts: 5
Joined: Fri Aug 12, 2016 8:01 pm
Contact:

Re: Cut of electric pole re-routes circuit connections

Post by Davosaurus »

tl;dr I disagree with the feature as designed, but setting that aside Undo and Redo should at least undo and redo the connections created.

Really annoyed with this feature. I was originally thinking it was a bug, but had the sneaking suspicion that it might be intended behavior. I really don't see any situations where a player would want 'cut' to change entities located outside of said cut. I understand the idea behind the reconnection, and in simple cases such as a long continuous line of wire it makes total sense and is just a QOL feature. But I have 2 grievances with the current application of this principle:
  1. Any reasonably complex circuit network application will quickly diverge from this trivial case. There are going to be multiple wires connecting to multiple entities, so adding superfluous connections that were not initiated by the player creates a lot of visual noise and makes it exponentially harder to work with as the flow of data is increasingly obfuscated.
  2. I understand that it mimics the behavior of copper wire; but if this concept were to be logically extended, we would expect a new entity to automatically connect to nearby entities, with both red and green wires, because that's how power poles work with copper cable. This would obviously be silly.
Personally, I think the player should be trusted to decide when and where they wish to place circuit connections. There are just fundamental differences in how circuits and power work that mean the axiom "always keep entities connected if they were before" is not a useful one to uphold, unlike for power cables.

I don't think this is something that is likely to change. I accept that. It's more of a design choice.

What I do think is more objective is that Undo and Redo should respect the connections made this way. We already have wire connections/disconnections tracked in the undo stack, so I see no reason why these additional wires created by the cut shouldn't apply in the same way. Taking an action and then undoing that action, and having changes persist, is incredibly unintuitive.

So please devs, consider adding undo/redo support as an enhancement. Not sure if I should create a feature request for that; I'll try to find any duplicates.

Other potential changes that would be helpful:
  • (Pretty sure this is impossible) Entities remove the extra wire IF the original common connecting entity is pasted within range of both. I think this can't be done since it would require storing extra info about entities outside of the blueprint. Two entities that see something being pasted nearby would need to know somehow whether they were connected before a cut or connected in an unrelated way.
  • Disable the extra wire behavior for CUT only, and keep it for manual deconstruction. This one has some ugly inconsistencies between different methods, but generally manually deconstructing communicates that the player wishes for the entity to be gone (permanently); whereas cutting communicates that the player wishes to MOVE the selected entities. The implication being that there is no need to connect orphaned chains since the entity is not actually being removed in the long run. Just relocated.
Post Reply

Return to “Not a bug”