This call marks node as supported by the evaluator. It is safe to cause evaluation in this call, but this evaluation cost will increase partitioning time and won't reduce the next evaluation time. It is up to the developer to decide whether evaluation is required or the already-evaluated data in the datablock can be used. Call .outputValue/.outputArrayValue in the first case and .inputValue/.inputArrayValue in the second (the first is preferred).
Zero, one or more nodes can be marked by this call, since the dependency node design can involve multiple nodes being joined in a single setup (e.g. IK chains).
Check to see if the cluster is ready for evaluation.
It can happen that cluster initialization takes longer and is performed in a background thread. Instead of waiting, the evaluation manager will compute the cluster's node values using an evaluation node until the evaluator is ready to take over.
It is safe and allowed for custom evaluator to switch back to unready state.
The cluster will be deleted every time the graph is invalidated, but it's up to the custom evaluator to decide if it wants to clear its internal representation or maybe it's possible to have some of this setup reusable.
To reuse internal representation of an cluster, developer can decide to keep hash of depend nodes that were in the cluster.
Whether the custom evaluator wants to manage the evaluation of supported nodes.
The method returns false by default, which means the custom evaluator doesn't interfer the evaluation of its supported nodes and they will be evaluated as normal.
Returns
Whether the custom evaluator will get a chance to prune execution of a node and its downstream. Pruning execution saves the cost of computing the node and the entire downstream. It as well saves the cost of scheduling any of this work.