Add option to allow auto-socketing timeless jewel - #10226
Conversation
|
|
||
| -- sits on the same row as the socket filter, right of the node distance slider it can show | ||
| controls.socketAllocate = new("CheckBoxControl"):CheckBoxControl({"LEFT", controls.socketFilter, "RIGHT"}, {165, 0, rowHeight}, nil, function(value) | ||
| timelessData.socketAllocate = value |
There was a problem hiding this comment.
[P2] Persist the auto-socket option and mark its change dirty
Codex reproduced that this checkbox only updates the in-memory timelessData.socketAllocate value. Build:Save does not serialize it, Build:Load does not restore it, and this callback does not set self.build.modFlag. Consequently, the option resets after a build reload and changing it alone does not mark the build dirty. The neighboring socketFilter option is both persisted and marks the build modified. Could we add this boolean to the TimelessData load/save attributes, set self.build.modFlag = true here, and cover the behavior with a save/load round-trip test? If reset-on-reload is intentional for safety, that session-only lifecycle should instead be made explicit.
There was a problem hiding this comment.
Hey thanks for catching that, should be fixed now.
Save socketAllocate to the TimelessData element and restore it on load, and mark the build modified when it is toggled, matching socketFilter. The attribute is only written when the option is enabled.
90864d7 to
5285048
Compare
Fixes # .
Description of the problem being solved:
Adds an option to auto allocate timeless jewel directly through the jewel finder window.
auto.socket.jewel.jewel.mp4
Steps taken to verify a working solution:
Link to a build that showcases this PR:
Before screenshot:
After screenshot: