Partially altered loose sockets have non-deterministic ordering #28
Labels
No Label
abstractions
architecture
bug
distribution
docs
duplicate
enhancement
feature
physical
proposal
question
simulation
tooling
tracker
unconfirmed
ux
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Blocks
#29 `BoundConds` socket set injects axes in strange order
so-rose/oscillode
Reference: so-rose/oscillode#28
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
When setting loose sockets, we expect that order is preserved from the definition. This is currently not the case, if there is overlap, since the existing "already made (by name)" sockets are simply kept and not removed, whilst sockets that maybe "should" come before are now made after (all in node
base.py
).The answer lies within the Blender Python API's ability to reorder sockets (I think it was a
move()
method or something).self.loose_input_sockets
already has the correct ordering; all we need is an algorithm to construct a series of move operations to match that ordering.Fixed using
.move()
after eachsync_sockets
. Elegant, non-destructive, and seemingly devoice of FOUC.