anchor.diff:      if (node.SomethingToDraw()) {
         LogDebug("drawing: ${node}");
         node.AddShaderInputs(this);
  -      _drawOne(node.meshData, _inputs, stats);
  +      _drawOne(node.meshData, _uniforms, stats);
         node.RemoveShaderInputs(this);
       }
       for (Node child in node.children) {
  
positive.code:   String toString() => "[${name}] ${numInstances} ${numItems} ${drawMode}";
  }
  
  /// ## Class RenderProgram (is a RenderInputSink)
  /// represents several invocations of the same program running on the GPU.
  /// It consists of a tree of **Nodes** which provide **Inputs** for the
  /// program. The program is invoked once for most **Nodes** while traversing
  
negative.code: 
    // TODO: this should contain all the state, including blending, depth writing
    // and detect incompatible settings
    Map<String, dynamic> _uniforms = {};
    // Where the input came from
    Map<String, NamedEntity> _origin = {};
  
    int _nextTextureUnit;
  