code: function () {
          for (var i = 0; i < this.nodes.length; i++) {
              this.nodes[i].clear();
          }
          // Traverse all the nodes and build the graph
          for (var i = 0; i < this.nodes.length; i++) {
              var node = this.nodes[i];
  
              if (!node.inputs) {
                  continue;
              }
              for (var inputName in node.inputs) {
                  if (!node.inputs[inputName]) {
                      continue;
                  }
                  if (node.pass && !node.pass.material.isUniformEnabled(inputName)) {
                      console.warn('Pin '  + node.name + '.' + inputName + ' not used.');
                      continue;
                  }
                  var fromPinInfo = node.inputs[inputName];
  
                  var fromPin = this.findPin(fromPinInfo);
                  if (fromPin) {
                      node.link(inputName, fromPin.node, fromPin.pin);
                  }
                  else {
                      if (typeof fromPinInfo === 'string') {
                          console.warn('Node ' + fromPinInfo + ' not exist');
                      }
                      else {
                          console.warn('Pin of ' + fromPinInfo.node + '.' + fromPinInfo.pin + ' not exist');
                      }
                  }
              }
          }
      }
docs: Update links of graph