docs: function parseASCIIChunk(workChunk) {
    var data = (0, _utils.ensureString)(workChunk);
    // console.log('parseASCII')
    var result = void 0,
        text = void 0;
    var patternNormal = /normal[\s]+([\-+]?[0-9]+\.?[0-9]*([eE][\-+]?[0-9]+)?)+[\s]+([\-+]?[0-9]*\.?[0-9]+([eE][\-+]?[0-9]+)?)+[\s]+([\-+]?[0-9]*\.?[0-9]+([eE][\-+]?[0-9]+)?)+/g;
    var patternVertex = /vertex[\s]+([\-+]?[0-9]+\.?[0-9]*([eE][\-+]?[0-9]+)?)+[\s]+([\-+]?[0-9]*\.?[0-9]+([eE][\-+]?[0-9]+)?)+[\s]+([\-+]?[0-9]*\.?[0-9]+([eE][\-+]?[0-9]+)?)+/g;
    var patternFace = /facet([\s\S]*?)endfacet/g;
  
    var posArray = [];
    var normArray = [];
  
    var faces = 0;
    var offset = 0;
  
    while ((result = patternFace.exec(data)) !== null) {
      var length = 0;
  
      text = result[0];
      offset = result.index + text.length;
  
      while ((result = patternNormal.exec(text)) !== null) {
        normArray.push(parseFloat(result[1]), parseFloat(result[3]), parseFloat(result[5]));
        normArray.push(parseFloat(result[1]), parseFloat(result[3]), parseFloat(result[5]));
        normArray.push(parseFloat(result[1]), parseFloat(result[3]), parseFloat(result[5]));
      }
  
      while ((result = patternVertex.exec(text)) !== null) {
        posArray.push(parseFloat(result[1]), parseFloat(result[3]), parseFloat(result[5]));
        length += 1;
      }
      faces += 1;
    }
  
    var positions = new Float32Array(faces * 3 * 3);
    var normals = new Float32Array(faces * 3 * 3);
  
    positions.set(posArray);
    normals.set(normArray);
  
    // compute offsets, remainderData etc for next chunk etc
    var remainderTextData = data.slice(offset);
    // console.log('remainderData', remainderTextData)
    var remainderData = new Buffer(remainderTextData);
    return { faceOffset: faces, remainderData: remainderData, positions: positions, normals: normals };
  }