anchor.diff:  
     normal.scale(-1 /
         len); // normalize // added the minus to make it the correct normal compared to the base cube
  +
     return true;
   }
   
  
positive.code:     }
  
      for (VM.Vector3 key in avg.keys) {
        avg[key] = avg[key] / (0.0 + cnt[key]);
      }
      List<VM.Vector3> normals = new List<VM.Vector3>(vertices.length);
      for (int i =0 ; i < vertices.length; ++i) {
        normals[i] =  avg[vertices[i]];
      }
      attributes[aNormal] = normals;
    }
  
  
  
    void GenerateRadialNormals(VM.Vector3 center) {
      VM.Vector3 norm = new VM.Vector3.zero();
  
negative.code:     }
    }
  
    void AddFaces4Strips(List<List<VM.Vector3>> strips, bool closed,
        [bool flip = false]) {
      for (int i = 0; i < strips.length - 1; ++i) {
        if (flip) {
          AddFaces4Strip(strips[i], strips[i + 1], closed);
        } else {
          AddFaces4Strip(strips[i + 1], strips[i], closed);
        }
  