Replies: 1 comment 4 replies
-
Naming suggestions:
Concerns:Allowing systems to return multiple values like that in Proposal 2 where each gets piped into a different system is eyebrow raising and has some semantic questions that need answering.
|
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
A use-case for system piping that i'm interested in is signal processing, something like the web audio api routing graph. This is related to #8857 but a seperate discussion for these two specific features.
Current - Linear Single Channel Pipes
System Amust be run seperately for each pipeProposal 1 - Multiple Out Pipes (
branch)System Acan be piped to multiple outputs.B&Ccould run in parallel?Possible api:
branchfunction that accepts a tuple.pipefunction to accept a tuple, similar api toadd_systems().Proposal 2 - Multiple Channels (
fork,join)System Ahas two distinct outputsSystem Dhas two distinct inputsstereo-monosplitting & joiningPossible api:
In/Outarguments:Summary
I've tried to come up with a solution using a more ecs approach but have fallen flat so far, particularly for uses like merging channels and where systems may appear twice in the same graph.
FYI my particular use case is processing device gyro readings to detect human motion ie Tai Chi poses, but this setup could also be used for a modular audio engine, visual scripting etc.
I haven't looked deeply into how piping works under the hood, my understanding is that it combines all the pipes into one system so it may not be simple to just use the existing system graph setup. Is piping a possibility here or would it be better to implement these features in something similar to the render graph, or an entirely different graph structure?
Beta Was this translation helpful? Give feedback.
All reactions