Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support multi-outputs per node execution #1

Closed
bhouston opened this issue Jul 31, 2022 · 3 comments · Fixed by #10
Closed

Support multi-outputs per node execution #1

bhouston opened this issue Jul 31, 2022 · 3 comments · Fixed by #10

Comments

@bhouston
Copy link
Owner

In order to support for-loops and delayed sequences, I need to be able to return outputs multiple times so that the downstream graph executes multiple times.

How should this be done?

I think at minimum a promise should be returned and then it will resolve when the next set of outputs are ready. And part of that response will be another promise if there are subsequent outputs that should be waited upon.

This needs a nice API.

@DennisSmolek
Copy link

Can you clarify or give an example situation to the one you describe?

Wont each execution intentionally only have a single output event?

I could see a need to store the value (or reference) of an execution so that later nodes can access it, but I don't understand why a node would need to fire more than at one moment.

I also understand that a node may have multiple outputs PER EVENT like one node may call multiple functions when complete, but that seems different to what you're describing...

@bhouston
Copy link
Owner Author

bhouston commented Aug 1, 2022

In Unreal Engine there is a for-loop construct. What it does it is will fire multiple times its LoopBody output, each time with a different value for the loopIndex output as well.

https://docs.unrealengine.com/4.26/en-US/ProgrammingAndScripting/Blueprints/UserGuide/FlowControl/

Also sequence does this as well.

These nodes are a little complex to implement because they always "wait" for their downstream subgraph to finish executing before they fire again. Thus I am setting up that ability for an upstream node to wait for a downstream subgraph to complete. that is a separate task.

@bhouston
Copy link
Owner Author

bhouston commented Aug 1, 2022

I've created a task for the wait ability: #12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants