Open 3x1t-5tyl3 opened 1 month ago
I would love a node that prevents the unpacking of flux via the tool
Hmm, I wonder if it would make more sense to have this be based on the total number of nodes above certain threshold, rather than particular hierarchy. If it scans the hierarchy and finds say more than 2000 of nodes, then it gives warning.
@TisFoolish We ask that you do not hijack existing issues for other related feature requests. Make separate issue instead: https://github.com/Yellow-Dog-Man/Resonite-Issues
I think a confirmation would be useful regardless as even in the context of a single object / avatar, it could still be useful to signal "hey- you're about to unpack EVERYTHING in this thing" even if it's just dozens or hundreds of nodes instead of thousands.
I know I've personally had a few occasions where I've accidentally grabbed the wrong slot in the hierarchy when I meant to unpack one specific module of my avatar as I have Flux bundles all stored within the same slot on my avatar.
It also makes it easier to delineate that multiple ProtoFlux roots are in-use so the user is less likely to accidentally move their ProtoFlux when packing into a specified slot.
We ask that you do not hijack existing issues for other related feature requests
I was in no way hijacking the post. The idea was already mentioned in the op, I was responding to the op's own suggestion.
I don't think adding it to every single scenario, even if unpacking just a few nodes, is a good idea.
If it happens every time, then this effectively reduces the effectiveness of the warning - people will just make it part of their muscle memory to just click the confirmation right after triggering unpack, because they have to do it every single time. At that point they're unlikely to notice that it's warning them about big number of slots. You have to use warning sparingly for them to be effective, because they should be an exception, not a norm.
Generally if you're unpacking nodes, you are already taking deliberate steps to do that.
Hmm, I wonder if it would make more sense to have this be based on the total number of nodes above certain threshold, rather than particular hierarchy. If it scans the hierarchy and finds say more than 2000 of nodes, then it gives warning.
Maybe. Then again I do have massive node groups that get close to that limit. I feel like nodes packed "together" might be a better indicator in most cases. The message could display the amount of node groups. Like, if I want to unpack all ProtoFlux on an object and it tells me "you're about to unpack 5 node groups (240 nodes), are you sure about that?" Then I could say "yeah sounds about right". If it says "you're about to unpack 172 node groups (16200 nodes)" then I'd definitely raise an eyebrow and maybe not click that button.
It could take both into account for when to display the message. Either if you unpack more than X node groups or more than Y nodes.
But in most cases I'm unpacking nodes through a RedPrint, which uses the ProtoFlux node to unpack nodes. Would this message also appear when unpacking isn't done by the tool, but through the node?
My problem is that if it happens regardless, people will stop seeing the numbers and just muscle-memory clicking "OK" out of habit.
@JackTheFoxOtter No, it wouldn't happen in that case.
My problem is that if it happens regardless, people will stop seeing the numbers and just muscle-memory clicking "OK" out of habit.
Yeah that's fair. But I do think setting somewhat high limits for the message to show up should alleviate this. If it's for example "more than 10 20 node groups or more than 2000 nodes" then I do think this message would show up pretty rarely, and when it does, it probably has a good reason to.
And if it shows up too frequently in practice the limits can still be raised.
Perhaps an alternative approach would be to determine the search depth / number of branching paths of where ProtoFlux is stored and use that instead, @Frooxius?
Even if it isn't thousands of nodes- it can still be quite disruptive to unpack the world's root- e.g. detect if you're unpacking Flux at a search depth greater than say- 3 slots deep?
In this context, I think "how far apart" the node groups are is more relevant than the node count itself in this case.
Sheer node count is useful too as an additional warning for that context of thousands of nodes that are densely packed, e.g. in an avatar close together.
Perhaps an alternative approach would be to determine the search depth / number of branching paths of where ProtoFlux is stored and use that instead, @Frooxius?
I'm not sure how much relevance the search depth has here. This heavily depends. Often you'd put small bits of ProtoFlux all over an object / avatar when each is driving a different property. Then they would be far apart, but harmless to unpack.
I think we're making this overly complicated.
The main issue here is that user gets warning when they're about to unpack a lot of flux, because that can lag out and cause issues.
The condition for that should be just that a lot of flux is about to be unpacked.
Hierarchy, grouping and so on does not matter for lagging out. The sheer amount of nodes does.
I just feel that the action itself can still be disruptive even if it doesn't generate enough Flux nodes to cause a significant amount of lag.
If performance issues are the only condition that is to be considered then I agree- node count would be the only relevant thing we'd need to track.
I think we're making this overly complicated.
The main issue here is that user gets warning when they're about to unpack a lot of flux, because that can lag out and cause issues.
The condition for that should be just that a lot of flux is about to be unpacked.
Hierarchy, grouping and so on does not matter for lagging out. The sheer amount of nodes does.
Works for me personally! It is really mostly a "You're about to fuck up your world by unpacking all this flux due to lag" IMO.
Is your feature request related to a problem? Please describe.
Yes. Currently there's no confirmation when a slot is unpacked in this (or lower depth) configuration:
Describe the solution you'd like
Either a component to disallow this behaviour. Or an explicit warning to confirm "multi slot unpacking"
Describe alternatives you've considered
Not sure if there's any more?
Just having a confirmation could solve this issue. Though a meta component to disallow this behaviour would be neat as-well. So you're forced to unpack the root slot or one of the nodes directly.
Additional Context
Typically this happens on accident; So having a confirmation of "HEY YOU?RE ABOUT TO UNPACK A LOT OF FLUX" would go a long way from accidental unpacking of thousands of nodes which can lead to crashes.
Requesters
3x1t_5tyl3