anchor.diff:            String vi = v[0];
             int vIndex = int.parse(vi) - 1;
             int vOffset = 3 * vIndex;
  +
  +          //print("addVertex: ind=[$ind] vOffset=$vOffset\n");
  +
             vertCoord.add(_vertCoord[vOffset + 0]); // x
             vertCoord.add(_vertCoord[vOffset + 1]); // y
             vertCoord.add(_vertCoord[vOffset + 2]); // z
  
positive.code:     void parseLine(String rawLine) {
        ++lineNum;
  
        //print("line: $lineNum [$rawLine]");
  
        String line = rawLine.trim();
  
  
negative.code:         print("OBJ: wrong number of vertex coordinates: ${v.length - 1} at line=$lineNum from url=$url: [$line]");
          return;
        }
         */
        if (line.startsWith("v ")) {
          // vertex coord
          return;
        }
  
        if (line.startsWith("vt ")) {
          // texture coord
          List<String> t = line.split(_BLANK);
          if (t.length == 3) {
            _textCoord.add(double.parse(t[1])); // u
            _textCoord.add(double.parse(t[2])); // v
            return;
          }
          if (t.length == 4) {
            double u = double.parse(t[1]);
            double v = double.parse(t[2]);
            double w = double.parse(t[3]);
  
            if (w != 0.0) {
              print("OBJ: non-zero third texture coordinate: $w at line=$lineNum from url=$url: [$line]");
              return;
            }
  
            _textCoord.add(u); // u
            _textCoord.add(v); // v
            return;
          }
          print("OBJ: wrong number of texture coordinates: ${t.length - 1} at line=$lineNum from url=$url: [$line]");
          return;
        }
  
        if (line.startsWith("vn ")) {
          // normal
          List<String> n = line.split(_BLANK);
          if (n.length != 4) {
            print("OBJ: wrong number of normal coordinates (${n.length - 1} != 3) at line=$lineNum from url=$url: [$line]");
            return;
  