Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
141 stars 2 forks source link

Undo/Redo Pack/Unpack flux #3127

Open lill-la opened 4 weeks ago

lill-la commented 4 weeks ago

Is your feature request related to a problem? Please describe.

When I accidentally pack/unpack a flux, I want to quickly undo it. In particular, it is not possible to undo simply by unpacking, for example, when I have packed a flux into a hierarchy that already contains other fluxes.

When the purpose of unpacking is simply to read the contents of the flux, it is a hassle to check the slot in which the flux was packed in order to restore it to its original state. This is especially difficult when the flux is packed across multiple slots.

Describe the solution you'd like

Allow Undo/Redo to pack/unpack Flux

Describe alternatives you've considered

RedPrint is a good tool, but it is not maximized unless everyone is using RedPrint

Additional Context

Reading #3118, I thought I wanted a warning in the hierarchy because I don't unpack except in the slot I packed, but I felt that Redo/Undo was more of a broader solution for me, including other issues.

Requesters

lill / lill.la

shiftyscales commented 4 weeks ago

it is a hassle to check the slot in which the flux was packed in order to restore it to its original state

If you select a given node grouping you can pack in place which will restore it to its previous / current packed location- is that feature insufficient to meet this need for some reason, @lill-la?

AmasterAmaster commented 4 weeks ago

Would be a good idea for this to be an optional setting too. But my guess is that since packing and unpacking can be wrapped around the undoable flux nodes, it makes it unlikely that they would implement it (unless that is another avenue they can look into). However, I am hopeful for this one, as I too sometimes pack and I forget which slot I just packed it into or when I make a mistake of packing it where it does not belong.

lill-la commented 4 weeks ago

@shiftyscales Pack in Place is certainly a useful feature, but a number of problems remain

If I want to be sure to return to the original state with Pack in Place, you have to check the slot of the node in the inspector, or select it in the inspector to make sure the node is not scattered in the bounding box. It's tedious and not really reliable. The fact that I can simply choose Undo from the context menu is more pleasing to me, as it simply allows me to reliably and easily rewind a single operation, Unpack, that I did just before.

Frooxius commented 4 weeks ago

This seems pretty simple on the surface, so I don't see why we wouldn't consider adding it, as it could be good convenience feature.

There's one complication however - adding new nodes. Unless those steps are undoable as well, we'll have to clear the Undo step at that point, because there's otherwise ambiguity on how to handle newly added nodes.

Though I think this can work okay, since if you unpack something by accident, you just undo it right away, rather than messing with it.