Description
Sometimes it helps if buffers can be initialized with certain values before a workflow begins running. A user can manually design the workflow in a way that ensures the buffers are initialized before any other node gets run, but this may take some careful thought on the user's part.
The initialization stage would be the complement of the cleanup stage. Where the cleanup stage runs after a workflow has finished running, the initialization stage would run before. Similar to cleanups, initializations are themselves workflows whose initial inputs are one or more buffers and whose final output is a trigger.
The only significant challenge is that in many cases initialization workflows will want to see the input value of the parent workflow. It is not clear how to generalize that visibility in a sound way. We will probably need to rely on InRef
which was introduced in a more recent version of bevy.