You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
XOD has a convention of quick-start nodes for dealing with hardware. They are trivial combinations of the device and action nodes, but when a xoder wants to get more features out of his device, he has to step back: delete the quick-start node and re-create the existing functionality with new device and action nodes. This is cumbersome. Let’s make a shortcut allowing in-place patch node explosion.
User story
I select a node
I hit Edit → Explode Selection
The node gets replaced with contents of its patch
The program stays the same semantically: the links are preserved, the values bound to terminals are re-bound to the corresponding pins of internal nodes.
The neighbor nodes are pushed to the right and bottom so that the explosion does not overlay other nodes on the patch
Acceptance criteria
I can place and explode xod/math/log-bx, it is replaced with two log-e and a divide
I can bind B and X to log-bx and they are re-bound to log-e inputs after explosion
I can link the pins of log-bx to other nodes and they will be kept after the explosion
The tabtest node is stripped out of the explosion result
I can put a node to the right of log-bx and it will be pushed by 2 slots to the right on the explosion (1 slot margin)
I can put a node to the bottom of log-bx and it will be pushed by 2 slots down on the explosion (1 slot margin)
If I select several nodes and hit Explode Selections, the effect is the same as when exploding one by one (but grouped as a single undo/redo action)
I can hit Undo once after an explosion and the patch state is reverted back to the pre-explosion state
If I try to explode a C++ node an error message is shown¹
If I try to explode a variadic with the arity level more than one, an error message is shown²
¹
C++ nodes don't explode
You may only explode nodes composed out of other nodes internally.
If you want to change the node implementation, make its local fork in your project.
²
Variadic nodes don't explode
You may only explode variadic nodes with the arity level of one. Exploding other
levels are not supported yet.
The text was updated successfully, but these errors were encountered:
Rationale
XOD has a convention of quick-start nodes for dealing with hardware. They are trivial combinations of the device and action nodes, but when a xoder wants to get more features out of his device, he has to step back: delete the quick-start node and re-create the existing functionality with new device and action nodes. This is cumbersome. Let’s make a shortcut allowing in-place patch node explosion.
User story
Acceptance criteria
xod/math/log-bx
, it is replaced with twolog-e
and adivide
B
andX
tolog-bx
and they are re-bound tolog-e
inputs after explosionlog-bx
to other nodes and they will be kept after the explosionlog-bx
and it will be pushed by 2 slots to the right on the explosion (1 slot margin)log-bx
and it will be pushed by 2 slots down on the explosion (1 slot margin)¹
²
The text was updated successfully, but these errors were encountered: