anchor.diff:      trimTable(url); // remove empty objects from _partTable
   
       // FIXME
  -    if (textCoord.length == 0) {
  -      print("OBJ: FIXME: url=$url adding ${indices.length} virtual texture coordinates");
  -      for (int i = 0; i < indexCounter; ++i) {
  +    int textCoordNeeded = indexCounter * 2;
  +    if (textCoord.length < textCoordNeeded) {
  +      textCoordFound = false; // mark real texture coordinates as missing
  +      print("OBJ: FIXME: url=$url adding ${textCoordNeeded - textCoord.length} virtual texture coordinates");
  +      while (textCoord.length < textCoordNeeded) {
           textCoord.add(0.0); // u
           textCoord.add(0.0); // v
         }
  
positive.code:     if (printStats) {
        print("Obj.fromString: URL=$url vertices = $indexCounter");
        print("Obj.fromString: URL=$url indices.length = ${indices.length}");
        print("Obj.fromString: URL=$url vertCoord.length = ${vertCoord.length} (3 * $indexCounter)");
        print("Obj.fromString: URL=$url textCoord.length = ${textCoord.length} (2 * $indexCounter)");
        print("Obj.fromString: URL=$url normCoord.length = ${normCoord.length} (3 * $indexCounter)");
        
  
negative.code:     */
    }
  
    Obj.fromString(String url, String str, {bool printStats: false, bool debugPrintParts: false, String defaultName: null, bool debugPrintTrace: false}) {
  
      Map<String, int> indexTable = new Map<String, int>();
      List<double> _vertCoord = new List<double>();
  