|
|
@@ -474,8 +474,9 @@ class Node extends EventDispatcher {
|
|
|
|
|
|
}
|
|
|
|
|
|
- // return a outputNode if exists
|
|
|
- return null;
|
|
|
+ // return a outputNode if exists or null
|
|
|
+
|
|
|
+ return nodeProperties.outputNode || null;
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -609,17 +610,19 @@ class Node extends EventDispatcher {
|
|
|
|
|
|
if ( properties.initialized !== true ) {
|
|
|
|
|
|
- const stackNodesBeforeSetup = builder.stack.nodes.length;
|
|
|
+ //const stackNodesBeforeSetup = builder.stack.nodes.length;
|
|
|
|
|
|
properties.initialized = true;
|
|
|
- properties.outputNode = this.setup( builder );
|
|
|
|
|
|
- if ( properties.outputNode !== null && builder.stack.nodes.length !== stackNodesBeforeSetup ) {
|
|
|
+ const outputNode = this.setup( builder ); // return a node or null
|
|
|
+ const isNodeOutput = outputNode && outputNode.isNode === true;
|
|
|
+
|
|
|
+ /*if ( isNodeOutput && builder.stack.nodes.length !== stackNodesBeforeSetup ) {
|
|
|
|
|
|
// !! no outputNode !!
|
|
|
- //properties.outputNode = builder.stack;
|
|
|
+ //outputNode = builder.stack;
|
|
|
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
for ( const childNode of Object.values( properties ) ) {
|
|
|
|
|
|
@@ -631,6 +634,14 @@ class Node extends EventDispatcher {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ if ( isNodeOutput ) {
|
|
|
+
|
|
|
+ outputNode.build( builder );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ properties.outputNode = outputNode;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
} else if ( buildStage === 'analyze' ) {
|