anchor.diff:              assert(result.r >= 0 && result.r <= 255);
               assert(result.g >= 0 && result.g <= 255);
               assert(result.b >= 0 && result.b <= 255);
  -            newColors[i * 4 + 0] = result.r;
  -            newColors[i * 4 + 1] = result.g;
  -            newColors[i * 4 + 2] = result.b;
  -            newColors[i * 4 + 3] = 255;
  +            rgba[i * 4 + 0] = result.r;
  +            rgba[i * 4 + 1] = result.g;
  +            rgba[i * 4 + 2] = result.b;
  +            rgba[i * 4 + 3] = 255;
           }
  -
  -        return newColors;
       }
   
       _Color _interpolate(double z, double startRange, double endRange, _Color startColor, _Color endColor) {
  
positive.code:             assert(blist is Uint8List);
  
              for (int i = 0; i < tile.numPointsInTile; i++) {
                  newColors[i * 4 + 0] = rlist[i];
                  newColors[i * 4 + 1] = glist[i];
                  newColors[i * 4 + 2] = blist[i];
                  newColors[i * 4 + 3] = 255;
              }
              return newColors;
          }
  
          //Float64List positionsX = tile.data["X"];
          //Float64List positionsY = tile.data["Y"];
          Float64List positionsZ = tile.data["Z"];
  
          final List<_Stop> stops = _Ramps.list[_rampName];
  
negative.code:         _rampName = name;
      }
  
      void _execute(PointCloudTile tile, double zmin, double zmax) {
          if (rampName == null || rampName.isEmpty) {
              throw new StateError("color ramp is null");
          }
  
          var rgba = tile.data["rgba"] as List;
  
          if (rampName == "native") {
              log(tile.data.keys);
  