This should be very doable within both the Node trait and the Graph data structure. The new scoped threads could make this really ergonomic. We could check the number of cores available on the system, and then split rendering across each of the node neighbours that are highest within the hierarchy. If however any nodes act as inputs to multiple other nodes this would cause a data race, so the graph should be checked for "multiple-output nodes" prior to spawning the threads.
This should be very doable within both the
Node
trait and theGraph
data structure. The new scoped threads could make this really ergonomic. We could check the number of cores available on the system, and then split rendering across each of the node neighbours that are highest within the hierarchy. If however any nodes act as inputs to multiple other nodes this would cause a data race, so the graph should be checked for "multiple-output nodes" prior to spawning the threads.