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
on a pin this leads to a reset to default - adopted by vvvv gamma already
on a node this leads to resetting all pins and the state
I'd like to propose to only reset the state of the node. Also resetting the pins should be another command, possibly accessible via a shortcut like Alt-Shift-Right-Click. This proposal here tries to focus on one thing: resetting the state.
Resetting the state is not something that should change the source code or target code. It's the same program, just this one process node shall start fresh at that moment. That's why this proposal tries to address this as an editor-runtime feature, not so much a language feature.
So what does it mean to reset a process node?
find all patch instances the process node is used by
for all those patches
create a new process node instance
store it in the patch instance
potentially dispose of the old process node instance
make sure that no other thread is running that still has access to the state of the process node.
It very much sounds related to the hot-swap, which got quite some love, since the editor-runtime now uses proxy objects for each and every patch. We nowadays know all patch instances and keep track of them allowing us to actually do this process node hot-swap for all of them.
So while the normal hot-swap is for getting the state from an old program to a new program, this feature is about sticking with the program, but resetting the state. In both cases, it boils down to somehow injecting new objects into the running object graph.
To be discussed:
how exactly shall that process node instance get created?
a) hard-reset: just get a new instance. don't respect the way the Create fragment is used inside the patch.
b) context-aware reset: respect the Create fragment
if the create fragment has no connected pins then call this Create fragment with the values stored in the white pins.
if there are white links on the inputs: either
silently don't do anything
create a new instance by feeding default values on those connected pins
call the whole Create-patch, so basically not resetting the node but the whole patch it sits in
don't do it but give some visual or audio feedback that you didn't do it
do actually want to reset
a) all nodes in all patch instances or
b) do we want to reset the one process node instance that sits inside the one process patch that we are currently attached to?
The text was updated successfully, but these errors were encountered:
This proposal addresses #26
We know
Alt-Right-Click
from vvvv beta.pin
this leads to a reset to default - adopted by vvvv gamma alreadynode
this leads to resetting all pins and the stateI'd like to propose to only reset the state of the node. Also resetting the pins should be another command, possibly accessible via a shortcut like
Alt-Shift-Right-Click
. This proposal here tries to focus on one thing: resetting the state.Resetting the state is not something that should change the source code or target code. It's the same program, just this one process node shall start fresh at that moment. That's why this proposal tries to address this as an editor-runtime feature, not so much a language feature.
So what does it mean to reset a process node?
It very much sounds related to the hot-swap, which got quite some love, since the editor-runtime now uses proxy objects for each and every patch. We nowadays know all patch instances and keep track of them allowing us to actually do this process node hot-swap for all of them.
So while the normal hot-swap is for getting the state from an old program to a new program, this feature is about sticking with the program, but resetting the state. In both cases, it boils down to somehow injecting new objects into the running object graph.
To be discussed:
The text was updated successfully, but these errors were encountered: