@galacean/engine-loader 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/main.js +193 -212
  2. package/dist/main.js.map +1 -1
  3. package/dist/miniprogram.js +193 -212
  4. package/dist/module.js +193 -213
  5. package/dist/module.js.map +1 -1
  6. package/package.json +5 -5
  7. package/types/GLTFContentRestorer.d.ts +7 -6
  8. package/types/gltf/GLTFUtils.d.ts +2 -7
  9. package/types/gltf/parser/GLTFMeshParser.d.ts +11 -6
  10. package/types/gltf/parser/GLTFParser.d.ts +1 -1
  11. package/types/gltf/parser/GLTFParserContext.d.ts +7 -6
  12. package/types/gltf/parser/index.d.ts +2 -1
  13. package/types/PrimitiveMeshLoader.d.ts +0 -1
  14. package/types/gltf/GLTFParser.d.ts +0 -9
  15. package/types/gltf/GLTFPipeline.d.ts +0 -23
  16. package/types/gltf/GLTFUtil.d.ts +0 -53
  17. package/types/gltf/Schema.d.ts +0 -814
  18. package/types/gltf/extensions/EXT_meshopt_compression.d.ts +0 -13
  19. package/types/gltf/extensions/ExtensionParser.d.ts +0 -8
  20. package/types/gltf/extensions/KHR_materials_anisotropy.d.ts +0 -1
  21. package/types/gltf/extensions/MeshoptDecoder.d.ts +0 -8
  22. package/types/gltf/extensions/Schema.d.ts +0 -142
  23. package/types/gltf/parser/AnimationParser.d.ts +0 -7
  24. package/types/gltf/parser/BufferParser.d.ts +0 -7
  25. package/types/gltf/parser/EntityParser.d.ts +0 -9
  26. package/types/gltf/parser/MaterialParser.d.ts +0 -8
  27. package/types/gltf/parser/MeshParser.d.ts +0 -13
  28. package/types/gltf/parser/Parser.d.ts +0 -21
  29. package/types/gltf/parser/ParserContext.d.ts +0 -46
  30. package/types/gltf/parser/SceneParser.d.ts +0 -11
  31. package/types/gltf/parser/SkinParser.d.ts +0 -6
  32. package/types/gltf/parser/TextureParser.d.ts +0 -8
  33. package/types/gltf/parser/Validator.d.ts +0 -5
  34. package/types/ktx2/BinomialLLCTranscoder/BinomialLLCTranscoder.d.ts +0 -13
  35. package/types/ktx2/BinomialLLCTranscoder/TranscodeWorkerCode.d.ts +0 -33
  36. package/types/ktx2/KhronosTranscoder/KhronosTranscoder.d.ts +0 -17
  37. package/types/ktx2/KhronosTranscoder/TranscoderWorkerCode.d.ts +0 -34
  38. package/types/ktx2/TranscodeResult.d.ts +0 -10
  39. package/types/ktx2/constants.d.ts +0 -7
  40. package/types/ktx2/zstddec.d.ts +0 -62
  41. package/types/resource-deserialize/resources/parser/HierarchyParser.d.ts +0 -36
  42. package/types/resource-deserialize/resources/parser/ParserContext.d.ts +0 -29
  43. package/types/resource-deserialize/resources/prefab/PrefabDesign.d.ts +0 -70
  44. package/types/resource-deserialize/resources/prefab/PrefabParser.d.ts +0 -14
  45. package/types/resource-deserialize/resources/prefab/PrefabParserContext.d.ts +0 -5
  46. package/types/resource-deserialize/resources/prefab/ReflectionParser.d.ts +0 -14
package/dist/module.js CHANGED
@@ -1595,7 +1595,7 @@ var TextureWrapMode;
1595
1595
  var glTFItems = this.glTF[glTFSchemaMap[type]];
1596
1596
  if (glTFItems && (index === undefined || glTFItems[index])) {
1597
1597
  if (index === undefined) {
1598
- resource = type === 7 ? glTFItems.map(function(_, index) {
1598
+ resource = type === 8 ? glTFItems.map(function(_, index) {
1599
1599
  return _this.get(type, index);
1600
1600
  }) : Promise.all(glTFItems.map(function(_, index) {
1601
1601
  return _this.get(type, index);
@@ -1617,11 +1617,11 @@ var TextureWrapMode;
1617
1617
  _this.glTF = json;
1618
1618
  return Promise.all([
1619
1619
  _this.get(1),
1620
- _this.get(4),
1621
1620
  _this.get(5),
1622
1621
  _this.get(6),
1623
- _this.get(8),
1622
+ _this.get(7),
1624
1623
  _this.get(9),
1624
+ _this.get(10),
1625
1625
  _this.get(2)
1626
1626
  ]).then(function() {
1627
1627
  var glTFResource = _this.glTFResource;
@@ -1659,7 +1659,7 @@ var TextureWrapMode;
1659
1659
  var _this = this;
1660
1660
  var glTFResourceKey = glTFResourceMap[type];
1661
1661
  if (!glTFResourceKey) return;
1662
- if (type === 7) {
1662
+ if (type === 8) {
1663
1663
  var _this_glTFResource, _glTFResourceKey;
1664
1664
  ((_this_glTFResource = this.glTFResource)[_glTFResourceKey = glTFResourceKey] || (_this_glTFResource[_glTFResourceKey] = []))[index] = resource;
1665
1665
  } else {
@@ -1667,7 +1667,7 @@ var TextureWrapMode;
1667
1667
  resource.then(function(item) {
1668
1668
  var _this_glTFResource, _glTFResourceKey;
1669
1669
  ((_this_glTFResource = _this.glTFResource)[_glTFResourceKey = glTFResourceKey] || (_this_glTFResource[_glTFResourceKey] = []))[index] = item;
1670
- if (type === 6) {
1670
+ if (type === 7) {
1671
1671
  for(var i = 0, length = item.length; i < length; i++){
1672
1672
  var mesh = item[i];
1673
1673
  // @ts-ignore
@@ -1707,17 +1707,18 @@ var GLTFParserType;
1707
1707
  GLTFParserType[GLTFParserType["Validator"] = 1] = "Validator";
1708
1708
  GLTFParserType[GLTFParserType["Scene"] = 2] = "Scene";
1709
1709
  GLTFParserType[GLTFParserType["Buffer"] = 3] = "Buffer";
1710
- GLTFParserType[GLTFParserType["Texture"] = 4] = "Texture";
1711
- GLTFParserType[GLTFParserType["Material"] = 5] = "Material";
1712
- GLTFParserType[GLTFParserType["Mesh"] = 6] = "Mesh";
1713
- GLTFParserType[GLTFParserType["Entity"] = 7] = "Entity";
1714
- GLTFParserType[GLTFParserType["Skin"] = 8] = "Skin";
1715
- GLTFParserType[GLTFParserType["Animation"] = 9] = "Animation";
1710
+ GLTFParserType[GLTFParserType["BufferView"] = 4] = "BufferView";
1711
+ GLTFParserType[GLTFParserType["Texture"] = 5] = "Texture";
1712
+ GLTFParserType[GLTFParserType["Material"] = 6] = "Material";
1713
+ GLTFParserType[GLTFParserType["Mesh"] = 7] = "Mesh";
1714
+ GLTFParserType[GLTFParserType["Entity"] = 8] = "Entity";
1715
+ GLTFParserType[GLTFParserType["Skin"] = 9] = "Skin";
1716
+ GLTFParserType[GLTFParserType["Animation"] = 10] = "Animation";
1716
1717
  })(GLTFParserType || (GLTFParserType = {}));
1717
1718
  var _obj;
1718
- var glTFSchemaMap = (_obj = {}, _obj[2] = "scenes", _obj[3] = "buffers", _obj[4] = "textures", _obj[5] = "materials", _obj[6] = "meshes", _obj[7] = "nodes", _obj[8] = "skins", _obj[9] = "animations", _obj);
1719
+ var glTFSchemaMap = (_obj = {}, _obj[2] = "scenes", _obj[3] = "buffers", _obj[5] = "textures", _obj[6] = "materials", _obj[7] = "meshes", _obj[8] = "nodes", _obj[9] = "skins", _obj[10] = "animations", _obj[4] = "bufferViews", _obj);
1719
1720
  var _obj1;
1720
- var glTFResourceMap = (_obj1 = {}, _obj1[2] = "sceneRoots", _obj1[4] = "textures", _obj1[5] = "materials", _obj1[6] = "meshes", _obj1[7] = "entities", _obj1[8] = "skins", _obj1[9] = "animations", _obj1);
1721
+ var glTFResourceMap = (_obj1 = {}, _obj1[2] = "sceneRoots", _obj1[5] = "textures", _obj1[6] = "materials", _obj1[7] = "meshes", _obj1[8] = "entities", _obj1[9] = "skins", _obj1[10] = "animations", _obj1);
1721
1722
  function registerGLTFParser(pipeline) {
1722
1723
  return function(Parser) {
1723
1724
  var parser = new Parser();
@@ -1822,113 +1823,68 @@ function registerGLTFParser(pipeline) {
1822
1823
  };
1823
1824
  GLTFUtils.getAccessorBuffer = function getAccessorBuffer(context, bufferViews, accessor) {
1824
1825
  var componentType = accessor.componentType;
1825
- var _accessor_bufferView;
1826
- var bufferViewIndex = (_accessor_bufferView = accessor.bufferView) != null ? _accessor_bufferView : 0;
1827
- var bufferView = bufferViews[bufferViewIndex];
1828
- return context.get(GLTFParserType.Buffer).then(function(buffers) {
1829
- var bufferIndex = bufferView.buffer;
1830
- var buffer = buffers[bufferIndex];
1831
- var _bufferView_byteOffset;
1832
- var bufferByteOffset = (_bufferView_byteOffset = bufferView.byteOffset) != null ? _bufferView_byteOffset : 0;
1833
- var _accessor_byteOffset;
1834
- var byteOffset = (_accessor_byteOffset = accessor.byteOffset) != null ? _accessor_byteOffset : 0;
1835
- var TypedArray = GLTFUtils.getComponentType(componentType);
1836
- var dataElementSize = GLTFUtils.getAccessorTypeSize(accessor.type);
1837
- var dataElementBytes = TypedArray.BYTES_PER_ELEMENT;
1838
- var elementStride = dataElementSize * dataElementBytes;
1839
- var accessorCount = accessor.count;
1840
- var bufferStride = bufferView.byteStride;
1841
- var bufferInfo;
1842
- // According to the glTF official documentation only byteStride not undefined is allowed
1843
- if (bufferStride !== undefined && bufferStride !== elementStride) {
1844
- var bufferSlice = Math.floor(byteOffset / bufferStride);
1845
- var bufferCacheKey = bufferViewIndex + ":" + componentType + ":" + bufferSlice + ":" + accessorCount;
1846
- var accessorBufferCache = context.accessorBufferCache;
1847
- bufferInfo = accessorBufferCache[bufferCacheKey];
1848
- if (!bufferInfo) {
1849
- var offset = bufferByteOffset + bufferSlice * bufferStride;
1850
- var count = accessorCount * (bufferStride / dataElementBytes);
1851
- var data = new TypedArray(buffer, offset, count);
1852
- accessorBufferCache[bufferCacheKey] = bufferInfo = new BufferInfo(data, true, bufferStride);
1853
- bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset, count));
1826
+ var TypedArray = GLTFUtils.getComponentType(componentType);
1827
+ var dataElementSize = GLTFUtils.getAccessorTypeSize(accessor.type);
1828
+ var dataElementBytes = TypedArray.BYTES_PER_ELEMENT;
1829
+ var elementStride = dataElementSize * dataElementBytes;
1830
+ var accessorCount = accessor.count;
1831
+ var promise;
1832
+ if (accessor.bufferView !== undefined) {
1833
+ var bufferViewIndex = accessor.bufferView;
1834
+ var bufferView = bufferViews[bufferViewIndex];
1835
+ promise = context.get(GLTFParserType.BufferView, accessor.bufferView).then(function(bufferViewData) {
1836
+ var bufferIndex = bufferView.buffer;
1837
+ var _bufferViewData_byteOffset;
1838
+ var bufferByteOffset = (_bufferViewData_byteOffset = bufferViewData.byteOffset) != null ? _bufferViewData_byteOffset : 0;
1839
+ var _accessor_byteOffset;
1840
+ var byteOffset = (_accessor_byteOffset = accessor.byteOffset) != null ? _accessor_byteOffset : 0;
1841
+ var bufferStride = bufferView.byteStride;
1842
+ var bufferInfo;
1843
+ // According to the glTF official documentation only byteStride not undefined is allowed
1844
+ if (bufferStride !== undefined && bufferStride !== elementStride) {
1845
+ var bufferSlice = Math.floor(byteOffset / bufferStride);
1846
+ var bufferCacheKey = bufferViewIndex + ":" + componentType + ":" + bufferSlice + ":" + accessorCount;
1847
+ var accessorBufferCache = context.accessorBufferCache;
1848
+ bufferInfo = accessorBufferCache[bufferCacheKey];
1849
+ if (!bufferInfo) {
1850
+ var offset = bufferByteOffset + bufferSlice * bufferStride;
1851
+ var count = accessorCount * (bufferStride / dataElementBytes);
1852
+ var data = new TypedArray(bufferViewData.buffer, offset, count);
1853
+ accessorBufferCache[bufferCacheKey] = bufferInfo = new BufferInfo(data, true, bufferStride);
1854
+ bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset, count));
1855
+ }
1856
+ } else {
1857
+ var offset1 = bufferByteOffset + byteOffset;
1858
+ var count1 = accessorCount * dataElementSize;
1859
+ var data1 = new TypedArray(bufferViewData.buffer, offset1, count1);
1860
+ bufferInfo = new BufferInfo(data1, false, elementStride);
1861
+ bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
1854
1862
  }
1855
- } else {
1856
- var offset1 = bufferByteOffset + byteOffset;
1857
- var count1 = accessorCount * dataElementSize;
1858
- var data1 = new TypedArray(buffer, offset1, count1);
1859
- bufferInfo = new BufferInfo(data1, false, elementStride);
1860
- bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
1861
- }
1862
- if (accessor.sparse) {
1863
- GLTFUtils.processingSparseData(bufferViews, accessor, buffers, bufferInfo);
1864
- }
1865
- return bufferInfo;
1866
- });
1863
+ return bufferInfo;
1864
+ });
1865
+ } else {
1866
+ var count = accessorCount * dataElementSize;
1867
+ var data = new TypedArray(count);
1868
+ var bufferInfo = new BufferInfo(data, false, elementStride);
1869
+ bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(undefined, TypedArray, undefined, count));
1870
+ promise = Promise.resolve(bufferInfo);
1871
+ }
1872
+ return accessor.sparse ? promise.then(function(bufferInfo) {
1873
+ return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
1874
+ return bufferInfo;
1875
+ });
1876
+ }) : promise;
1867
1877
  };
1868
- GLTFUtils.bufferToVector3Array = function bufferToVector3Array(data, byteStride, accessorByteOffset, count) {
1869
- var bytesPerElement = data.BYTES_PER_ELEMENT;
1870
- var offset = accessorByteOffset % byteStride / bytesPerElement;
1871
- var stride = byteStride / bytesPerElement;
1872
- var vector3s = new Array(count);
1878
+ GLTFUtils.bufferToVector3Array = function bufferToVector3Array(buffer, byteOffset, count, normalized, componentType) {
1879
+ var baseOffset = byteOffset / buffer.BYTES_PER_ELEMENT;
1880
+ var stride = buffer.length / count;
1881
+ var vertices = new Array(count);
1882
+ var factor = normalized ? GLTFUtils.getNormalizedComponentScale(componentType) : 1;
1873
1883
  for(var i = 0; i < count; i++){
1874
- var index = offset + i * stride;
1875
- vector3s[i] = new Vector3(data[index], data[index + 1], data[index + 2]);
1884
+ var index = baseOffset + i * stride;
1885
+ vertices[i] = new Vector3(buffer[index] * factor, buffer[index + 1] * factor, buffer[index + 2] * factor);
1876
1886
  }
1877
- return vector3s;
1878
- };
1879
- /**
1880
- * @deprecated
1881
- * Get accessor data.
1882
- */ GLTFUtils.getAccessorData = function getAccessorData(glTF, accessor, buffers) {
1883
- var bufferViews = glTF.bufferViews;
1884
- var _accessor_bufferView;
1885
- var bufferView = bufferViews[(_accessor_bufferView = accessor.bufferView) != null ? _accessor_bufferView : 0];
1886
- var arrayBuffer = buffers[bufferView.buffer];
1887
- var accessorByteOffset = accessor.hasOwnProperty("byteOffset") ? accessor.byteOffset : 0;
1888
- var bufferViewByteOffset = bufferView.hasOwnProperty("byteOffset") ? bufferView.byteOffset : 0;
1889
- var byteOffset = accessorByteOffset + bufferViewByteOffset;
1890
- var accessorTypeSize = GLTFUtils.getAccessorTypeSize(accessor.type);
1891
- var length = accessorTypeSize * accessor.count;
1892
- var _bufferView_byteStride;
1893
- var byteStride = (_bufferView_byteStride = bufferView.byteStride) != null ? _bufferView_byteStride : 0;
1894
- var arrayType = GLTFUtils.getComponentType(accessor.componentType);
1895
- var uint8Array;
1896
- if (byteStride) {
1897
- var accessorByteSize = accessorTypeSize * arrayType.BYTES_PER_ELEMENT;
1898
- uint8Array = new Uint8Array(accessor.count * accessorByteSize);
1899
- var originalBufferView = new Uint8Array(arrayBuffer, bufferViewByteOffset, bufferView.byteLength);
1900
- for(var i = 0; i < accessor.count; i++){
1901
- for(var j = 0; j < accessorByteSize; j++){
1902
- uint8Array[i * accessorByteSize + j] = originalBufferView[i * byteStride + accessorByteOffset + j];
1903
- }
1904
- }
1905
- } else {
1906
- uint8Array = new Uint8Array(arrayBuffer.slice(byteOffset, byteOffset + length * arrayType.BYTES_PER_ELEMENT));
1907
- }
1908
- var typedArray = new arrayType(uint8Array.buffer);
1909
- if (accessor.sparse) {
1910
- var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
1911
- var indicesBufferView = bufferViews[indices.bufferView];
1912
- var valuesBufferView = bufferViews[values.bufferView];
1913
- var indicesArrayBuffer = buffers[indicesBufferView.buffer];
1914
- var valuesArrayBuffer = buffers[valuesBufferView.buffer];
1915
- var _indices_byteOffset, _indicesBufferView_byteOffset;
1916
- var indicesByteOffset = ((_indices_byteOffset = indices.byteOffset) != null ? _indices_byteOffset : 0) + ((_indicesBufferView_byteOffset = indicesBufferView.byteOffset) != null ? _indicesBufferView_byteOffset : 0);
1917
- var indicesByteLength = indicesBufferView.byteLength;
1918
- var _values_byteOffset, _valuesBufferView_byteOffset;
1919
- var valuesByteOffset = ((_values_byteOffset = values.byteOffset) != null ? _values_byteOffset : 0) + ((_valuesBufferView_byteOffset = valuesBufferView.byteOffset) != null ? _valuesBufferView_byteOffset : 0);
1920
- var valuesByteLength = valuesBufferView.byteLength;
1921
- var indicesType = GLTFUtils.getComponentType(indices.componentType);
1922
- var indicesArray = new indicesType(indicesArrayBuffer, indicesByteOffset, indicesByteLength / indicesType.BYTES_PER_ELEMENT);
1923
- var valuesArray = new arrayType(valuesArrayBuffer, valuesByteOffset, valuesByteLength / arrayType.BYTES_PER_ELEMENT);
1924
- for(var i1 = 0; i1 < count; i1++){
1925
- var replaceIndex = indicesArray[i1];
1926
- for(var j1 = 0; j1 < accessorTypeSize; j1++){
1927
- typedArray[replaceIndex * accessorTypeSize + j1] = valuesArray[i1 * accessorTypeSize + j1];
1928
- }
1929
- }
1930
- }
1931
- return typedArray;
1887
+ return vertices;
1932
1888
  };
1933
1889
  GLTFUtils.getBufferViewData = function getBufferViewData(bufferView, buffers) {
1934
1890
  var _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset;
@@ -1937,40 +1893,43 @@ function registerGLTFParser(pipeline) {
1937
1893
  };
1938
1894
  /**
1939
1895
  * Get accessor data.
1940
- */ GLTFUtils.processingSparseData = function processingSparseData(bufferViews, accessor, buffers, bufferInfo) {
1896
+ */ GLTFUtils.processingSparseData = function processingSparseData(context, accessor, bufferInfo) {
1941
1897
  var restoreInfo = bufferInfo.restoreInfo;
1898
+ var bufferViews = context.glTF.bufferViews;
1942
1899
  var accessorTypeSize = GLTFUtils.getAccessorTypeSize(accessor.type);
1943
1900
  var TypedArray = GLTFUtils.getComponentType(accessor.componentType);
1944
1901
  var data = bufferInfo.data.slice();
1945
1902
  var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
1946
1903
  var indicesBufferView = bufferViews[indices.bufferView];
1947
1904
  var valuesBufferView = bufferViews[values.bufferView];
1948
- var indicesBufferIndex = indicesBufferView.buffer;
1949
- var valuesBufferIndex = valuesBufferView.buffer;
1950
- var indicesArrayBuffer = buffers[indicesBufferIndex];
1951
- var valuesArrayBuffer = buffers[valuesBufferIndex];
1952
- var _indices_byteOffset, _indicesBufferView_byteOffset;
1953
- var indicesByteOffset = ((_indices_byteOffset = indices.byteOffset) != null ? _indices_byteOffset : 0) + ((_indicesBufferView_byteOffset = indicesBufferView.byteOffset) != null ? _indicesBufferView_byteOffset : 0);
1954
- var indicesByteLength = indicesBufferView.byteLength;
1955
- var _values_byteOffset, _valuesBufferView_byteOffset;
1956
- var valuesByteOffset = ((_values_byteOffset = values.byteOffset) != null ? _values_byteOffset : 0) + ((_valuesBufferView_byteOffset = valuesBufferView.byteOffset) != null ? _valuesBufferView_byteOffset : 0);
1957
- var valuesByteLength = valuesBufferView.byteLength;
1958
- restoreInfo.typeSize = accessorTypeSize;
1959
- restoreInfo.sparseCount = count;
1960
- var IndexTypeArray = GLTFUtils.getComponentType(indices.componentType);
1961
- var indexLength = indicesByteLength / IndexTypeArray.BYTES_PER_ELEMENT;
1962
- var indicesArray = new IndexTypeArray(indicesArrayBuffer, indicesByteOffset, indexLength);
1963
- restoreInfo.sparseIndices = new RestoreDataAccessor(indicesBufferIndex, IndexTypeArray, indicesByteOffset, indexLength);
1964
- var valueLength = valuesByteLength / TypedArray.BYTES_PER_ELEMENT;
1965
- var valuesArray = new TypedArray(valuesArrayBuffer, valuesByteOffset, valueLength);
1966
- restoreInfo.sparseValues = new RestoreDataAccessor(valuesBufferIndex, TypedArray, valuesByteOffset, valueLength);
1967
- for(var i = 0; i < count; i++){
1968
- var replaceIndex = indicesArray[i];
1969
- for(var j = 0; j < accessorTypeSize; j++){
1970
- data[replaceIndex * accessorTypeSize + j] = valuesArray[i * accessorTypeSize + j];
1905
+ return Promise.all([
1906
+ context.get(GLTFParserType.BufferView, indices.bufferView),
1907
+ context.get(GLTFParserType.BufferView, values.bufferView)
1908
+ ]).then(function(param) {
1909
+ var indicesUint8Array = param[0], valuesUin8Array = param[1];
1910
+ var _indices_byteOffset, _indicesUint8Array_byteOffset;
1911
+ var indicesByteOffset = ((_indices_byteOffset = indices.byteOffset) != null ? _indices_byteOffset : 0) + ((_indicesUint8Array_byteOffset = indicesUint8Array.byteOffset) != null ? _indicesUint8Array_byteOffset : 0);
1912
+ var indicesByteLength = indicesUint8Array.byteLength;
1913
+ var _values_byteOffset, _valuesUin8Array_byteOffset;
1914
+ var valuesByteOffset = ((_values_byteOffset = values.byteOffset) != null ? _values_byteOffset : 0) + ((_valuesUin8Array_byteOffset = valuesUin8Array.byteOffset) != null ? _valuesUin8Array_byteOffset : 0);
1915
+ var valuesByteLength = valuesUin8Array.byteLength;
1916
+ restoreInfo.typeSize = accessorTypeSize;
1917
+ restoreInfo.sparseCount = count;
1918
+ var IndexTypeArray = GLTFUtils.getComponentType(indices.componentType);
1919
+ var indexLength = indicesByteLength / IndexTypeArray.BYTES_PER_ELEMENT;
1920
+ var indicesArray = new IndexTypeArray(indicesUint8Array.buffer, indicesByteOffset, indexLength);
1921
+ restoreInfo.sparseIndices = new RestoreDataAccessor(indicesBufferView.buffer, IndexTypeArray, indicesByteOffset, indexLength);
1922
+ var valueLength = valuesByteLength / TypedArray.BYTES_PER_ELEMENT;
1923
+ var valuesArray = new TypedArray(valuesUin8Array.buffer, valuesByteOffset, valueLength);
1924
+ restoreInfo.sparseValues = new RestoreDataAccessor(valuesBufferView.buffer, TypedArray, valuesByteOffset, valueLength);
1925
+ for(var i = 0; i < count; i++){
1926
+ var replaceIndex = indicesArray[i];
1927
+ for(var j = 0; j < accessorTypeSize; j++){
1928
+ data[replaceIndex * accessorTypeSize + j] = valuesArray[i * accessorTypeSize + j];
1929
+ }
1971
1930
  }
1972
- }
1973
- bufferInfo.data = data;
1931
+ bufferInfo.data = data;
1932
+ });
1974
1933
  };
1975
1934
  GLTFUtils.getIndexFormat = function getIndexFormat(type) {
1976
1935
  switch(type){
@@ -3236,16 +3195,16 @@ var KTX2Transcoder;
3236
3195
  var frame = restoreInfo.blendShape.frames[0];
3237
3196
  var position = restoreInfo.position;
3238
3197
  var positionData = _this._getBufferData(buffers, position.buffer);
3239
- frame.deltaPositions = GLTFUtils.bufferToVector3Array(positionData, position.stride, position.byteOffset, position.count);
3198
+ frame.deltaPositions = GLTFUtils.bufferToVector3Array(positionData, position.byteOffset, position.count, position.normalized, position.componentType);
3240
3199
  if (restoreInfo.normal) {
3241
3200
  var normal = restoreInfo.normal;
3242
3201
  var normalData = _this._getBufferData(buffers, normal.buffer);
3243
- frame.deltaNormals = GLTFUtils.bufferToVector3Array(normalData, normal.stride, normal.byteOffset, normal.count);
3202
+ frame.deltaNormals = GLTFUtils.bufferToVector3Array(normalData, normal.byteOffset, normal.count, normal.normalized, normal.componentType);
3244
3203
  }
3245
3204
  if (restoreInfo.tangent) {
3246
3205
  var tangent = restoreInfo.tangent;
3247
3206
  var tangentData = _this._getBufferData(buffers, tangent.buffer);
3248
- frame.deltaTangents = GLTFUtils.bufferToVector3Array(tangentData, tangent.stride, tangent.byteOffset, tangent.count);
3207
+ frame.deltaTangents = GLTFUtils.bufferToVector3Array(tangentData, tangent.byteOffset, tangent.count, tangent.normalized, tangent.componentType);
3249
3208
  }
3250
3209
  }
3251
3210
  mesh.uploadData(true);
@@ -3257,8 +3216,13 @@ var KTX2Transcoder;
3257
3216
  };
3258
3217
  _proto._getBufferData = function _getBufferData(buffers, restoreInfo) {
3259
3218
  var main = restoreInfo.main;
3260
- var buffer = buffers[main.bufferIndex];
3261
- var data = new main.TypedArray(buffer, main.byteOffset, main.length);
3219
+ var data;
3220
+ if (main) {
3221
+ var buffer = buffers[main.bufferIndex];
3222
+ data = new main.TypedArray(buffer, main.byteOffset, main.length);
3223
+ } else {
3224
+ data = new main.TypedArray(main.length);
3225
+ }
3262
3226
  var sparseCount = restoreInfo.sparseCount;
3263
3227
  if (sparseCount) {
3264
3228
  var sparseIndex = restoreInfo.sparseIndices;
@@ -3331,11 +3295,12 @@ var KTX2Transcoder;
3331
3295
  };
3332
3296
  /**
3333
3297
  * @internal
3334
- */ var BlendShapeDataRestoreInfo = function BlendShapeDataRestoreInfo(buffer, stride, byteOffset, count) {
3298
+ */ var BlendShapeDataRestoreInfo = function BlendShapeDataRestoreInfo(buffer, byteOffset, count, normalized, componentType) {
3335
3299
  this.buffer = buffer;
3336
- this.stride = stride;
3337
3300
  this.byteOffset = byteOffset;
3338
3301
  this.count = count;
3302
+ this.normalized = normalized;
3303
+ this.componentType = componentType;
3339
3304
  };
3340
3305
 
3341
3306
  /**
@@ -3931,7 +3896,7 @@ var GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
3931
3896
  resolve(mesh);
3932
3897
  } else {
3933
3898
  mesh.then(function(mesh) {
3934
- return resolve(mesh);
3899
+ resolve(mesh);
3935
3900
  });
3936
3901
  }
3937
3902
  } else {
@@ -3939,35 +3904,20 @@ var GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
3939
3904
  var meshRestoreInfo = new ModelMeshRestoreInfo();
3940
3905
  meshRestoreInfo.mesh = mesh1;
3941
3906
  context.contentRestorer.meshes.push(meshRestoreInfo);
3942
- GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, function(attributeSemantic) {
3943
- return null;
3944
- }, function(attributeName, shapeIndex) {
3945
- var shapeAccessorIdx = gltfPrimitive.targets[shapeIndex];
3946
- var attributeAccessorIdx = shapeAccessorIdx[attributeName];
3947
- if (attributeAccessorIdx) {
3948
- var accessor = glTF.accessors[attributeAccessorIdx];
3949
- return GLTFUtils.getAccessorBuffer(context, context.glTF.bufferViews, accessor);
3950
- } else {
3951
- return null;
3952
- }
3953
- }, function() {
3954
- var indexAccessor = glTF.accessors[gltfPrimitive.indices];
3955
- return context.get(GLTFParserType.Buffer).then(function(buffers) {
3956
- return GLTFUtils.getAccessorData(glTF, indexAccessor, buffers);
3957
- });
3958
- }, context.params.keepMeshData).then(resolve);
3907
+ GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve);
3959
3908
  }
3960
3909
  });
3961
3910
  };
3962
3911
  var meshInfo = context.glTF.meshes[index];
3963
- var glTF = context.glTF, engine = context.glTFResource.engine;
3912
+ var glTF = context.glTF, glTFResource = context.glTFResource;
3913
+ var engine = glTFResource.engine;
3964
3914
  var primitivePromises = new Array();
3965
3915
  for(var i = 0, length = meshInfo.primitives.length; i < length; i++)_loop(i);
3966
3916
  return Promise.all(primitivePromises);
3967
3917
  };
3968
3918
  /**
3969
3919
  * @internal
3970
- */ GLTFMeshParser1._parseMeshFromGLTFPrimitive = function _parseMeshFromGLTFPrimitive(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, gltf, getVertexBufferData, getBlendShapeData, getIndexBufferData, keepMeshData) {
3920
+ */ GLTFMeshParser1._parseMeshFromGLTFPrimitive = function _parseMeshFromGLTFPrimitive(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, gltf, keepMeshData) {
3971
3921
  var _loop = function(attribute) {
3972
3922
  var accessor = accessors[attributes[attribute]];
3973
3923
  var promise = GLTFUtils.getAccessorBuffer(context, gltf.bufferViews, accessor).then(function(accessorBuffer) {
@@ -4038,6 +3988,7 @@ var GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4038
3988
  });
4039
3989
  promises.push(promise);
4040
3990
  };
3991
+ var _this = this;
4041
3992
  var accessors = gltf.accessors;
4042
3993
  var attributes = gltfPrimitive.attributes, targets = gltfPrimitive.targets, indices = gltfPrimitive.indices, mode = gltfPrimitive.mode;
4043
3994
  var engine = mesh.engine;
@@ -4062,61 +4013,68 @@ var GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4062
4013
  }
4063
4014
  // BlendShapes
4064
4015
  if (targets) {
4065
- promises.push(GLTFMeshParser._createBlendShape(mesh, meshRestoreInfo, gltfMesh, accessors, targets, getBlendShapeData));
4016
+ promises.push(GLTFMeshParser._createBlendShape(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, targets, _this._getBlendShapeData));
4066
4017
  }
4067
4018
  return Promise.all(promises).then(function() {
4068
4019
  mesh.uploadData(!keepMeshData);
4069
- return Promise.resolve(mesh);
4020
+ return mesh;
4070
4021
  });
4071
4022
  });
4072
4023
  };
4024
+ GLTFMeshParser1._getBlendShapeData = function _getBlendShapeData(context, glTF, accessor) {
4025
+ return GLTFUtils.getAccessorBuffer(context, glTF.bufferViews, accessor).then(function(bufferInfo) {
4026
+ var buffer = bufferInfo.data;
4027
+ var _accessor_byteOffset;
4028
+ var byteOffset = bufferInfo.interleaved ? ((_accessor_byteOffset = accessor.byteOffset) != null ? _accessor_byteOffset : 0) % bufferInfo.stride : 0;
4029
+ var count = accessor.count, normalized = accessor.normalized, componentType = accessor.componentType;
4030
+ var vertices = GLTFUtils.bufferToVector3Array(buffer, byteOffset, count, normalized, componentType);
4031
+ var restoreInfo = new BlendShapeDataRestoreInfo(bufferInfo.restoreInfo, byteOffset, count, normalized, componentType);
4032
+ return {
4033
+ vertices: vertices,
4034
+ restoreInfo: restoreInfo
4035
+ };
4036
+ });
4037
+ };
4073
4038
  /**
4074
4039
  * @internal
4075
- */ GLTFMeshParser1._createBlendShape = function _createBlendShape(mesh, meshRestoreInfo, glTFMesh, accessors, glTFTargets, getBlendShapeData) {
4076
- var _loop = function(i, n) {
4040
+ */ GLTFMeshParser1._createBlendShape = function _createBlendShape(context, mesh, meshRestoreInfo, glTFMesh, gltfPrimitive, glTFTargets, getBlendShapeData) {
4041
+ var _loop = function(i) {
4042
+ var blendShapeData = {};
4043
+ blendShapeCollection[i] = blendShapeData;
4077
4044
  var name = blendShapeNames ? blendShapeNames[i] : "blendShape" + i;
4045
+ var targets = gltfPrimitive.targets[i];
4046
+ var normalTarget = targets["NORMAL"];
4047
+ var tangentTarget = targets["TANGENT"];
4048
+ var hasNormal = normalTarget !== undefined;
4049
+ var hasTangent = tangentTarget !== undefined;
4078
4050
  var promise = Promise.all([
4079
- getBlendShapeData("POSITION", i),
4080
- getBlendShapeData("NORMAL", i),
4081
- getBlendShapeData("TANGENT", i)
4082
- ]).then(function(infos) {
4083
- var posBufferInfo = infos[0];
4084
- var norBufferInfo = infos[1];
4085
- var tanBufferInfo = infos[2];
4086
- var target = glTFTargets[i];
4087
- var posAccessor;
4088
- var norAccessor;
4089
- var tanAccessor;
4090
- var positions = null;
4091
- if (posBufferInfo) {
4092
- posAccessor = accessors[target["POSITION"]];
4093
- var _posAccessor_byteOffset;
4094
- positions = GLTFUtils.bufferToVector3Array(posBufferInfo.data, posBufferInfo.stride, (_posAccessor_byteOffset = posAccessor.byteOffset) != null ? _posAccessor_byteOffset : 0, posAccessor.count);
4095
- }
4096
- var normals = null;
4097
- if (norBufferInfo) {
4098
- norAccessor = accessors[target["NORMAL"]];
4099
- var _norAccessor_byteOffset;
4100
- normals = GLTFUtils.bufferToVector3Array(norBufferInfo.data, norBufferInfo.stride, (_norAccessor_byteOffset = norAccessor.byteOffset) != null ? _norAccessor_byteOffset : 0, norAccessor.count);
4101
- }
4102
- var tangents = null;
4103
- if (tanBufferInfo) {
4104
- tanAccessor = accessors[target["NORMAL"]];
4105
- var _tanAccessor_byteOffset;
4106
- tangents = GLTFUtils.bufferToVector3Array(tanBufferInfo.data, tanBufferInfo.stride, (_tanAccessor_byteOffset = tanAccessor.byteOffset) != null ? _tanAccessor_byteOffset : 0, tanAccessor.count);
4107
- }
4051
+ getBlendShapeData(context, glTF, accessors[targets["POSITION"]]),
4052
+ hasNormal ? getBlendShapeData(context, glTF, accessors[normalTarget]) : null,
4053
+ hasTangent ? getBlendShapeData(context, glTF, accessors[tangentTarget]) : null
4054
+ ]).then(function(vertices) {
4055
+ var _tangentData;
4056
+ var positionData = vertices[0], normalData = vertices[1], tangentData = vertices[2];
4108
4057
  var blendShape = new BlendShape(name);
4109
- blendShape.addFrame(1.0, positions, normals, tangents);
4110
- mesh.addBlendShape(blendShape);
4111
- var _posAccessor_byteOffset1, _norAccessor_byteOffset1, _tanAccessor_byteOffset1;
4112
- meshRestoreInfo.blendShapes.push(new BlendShapeRestoreInfo(blendShape, new BlendShapeDataRestoreInfo(posBufferInfo.restoreInfo, posBufferInfo.stride, (_posAccessor_byteOffset1 = posAccessor.byteOffset) != null ? _posAccessor_byteOffset1 : 0, posAccessor.count), norBufferInfo ? new BlendShapeDataRestoreInfo(norBufferInfo.restoreInfo, norBufferInfo.stride, (_norAccessor_byteOffset1 = norAccessor.byteOffset) != null ? _norAccessor_byteOffset1 : 0, norAccessor.count) : null, tanBufferInfo ? new BlendShapeDataRestoreInfo(tanBufferInfo.restoreInfo, tanBufferInfo.stride, (_tanAccessor_byteOffset1 = tanAccessor.byteOffset) != null ? _tanAccessor_byteOffset1 : 0, tanAccessor.count) : null));
4058
+ blendShape.addFrame(1.0, positionData.vertices, hasNormal ? normalData.vertices : null, hasTangent ? tangentData.vertices : null);
4059
+ blendShapeData.blendShape = blendShape;
4060
+ blendShapeData.restoreInfo = new BlendShapeRestoreInfo(blendShape, positionData.restoreInfo, hasNormal ? normalData.restoreInfo : null, hasTangent ? (_tangentData = tangentData) == null ? void 0 : _tangentData.restoreInfo : null);
4113
4061
  });
4114
4062
  promises.push(promise);
4115
4063
  };
4064
+ var glTF = context.glTF;
4065
+ var accessors = glTF.accessors;
4116
4066
  var blendShapeNames = glTFMesh.extras ? glTFMesh.extras.targetNames : null;
4117
4067
  var promises = new Array();
4118
- for(var i = 0, n = glTFTargets.length; i < n; i++)_loop(i);
4119
- return Promise.all(promises);
4068
+ var blendShapeCount = glTFTargets.length;
4069
+ var blendShapeCollection = new Array(blendShapeCount);
4070
+ for(var i = 0; i < blendShapeCount; i++)_loop(i);
4071
+ return Promise.all(promises).then(function() {
4072
+ for(var _iterator = _create_for_of_iterator_helper_loose(blendShapeCollection), _step; !(_step = _iterator()).done;){
4073
+ var blendShape = _step.value;
4074
+ mesh.addBlendShape(blendShape.blendShape);
4075
+ meshRestoreInfo.blendShapes.push(blendShape.restoreInfo);
4076
+ }
4077
+ });
4120
4078
  };
4121
4079
  return GLTFMeshParser1;
4122
4080
  }(GLTFParser), function() {
@@ -4497,6 +4455,25 @@ GLTFValidator = __decorate([
4497
4455
  registerGLTFParser(GLTFParserType.Validator)
4498
4456
  ], GLTFValidator);
4499
4457
 
4458
+ var GLTFBufferViewParser = /*#__PURE__*/ function(GLTFParser1) {
4459
+ _inherits(GLTFBufferViewParser, GLTFParser1);
4460
+ function GLTFBufferViewParser() {
4461
+ return GLTFParser1.apply(this, arguments);
4462
+ }
4463
+ var _proto = GLTFBufferViewParser.prototype;
4464
+ _proto.parse = function parse(context, index) {
4465
+ var bufferView = context.glTF.bufferViews[index];
4466
+ var extensions = bufferView.extensions, _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset, byteLength = bufferView.byteLength, bufferIndex = bufferView.buffer;
4467
+ return extensions ? GLTFParser.executeExtensionsCreateAndParse(extensions, context, bufferView) : context.get(GLTFParserType.Buffer, bufferIndex).then(function(buffer) {
4468
+ return new Uint8Array(buffer, byteOffset, byteLength);
4469
+ });
4470
+ };
4471
+ return GLTFBufferViewParser;
4472
+ }(GLTFParser);
4473
+ GLTFBufferViewParser = __decorate([
4474
+ registerGLTFParser(GLTFParserType.BufferView)
4475
+ ], GLTFBufferViewParser);
4476
+
4500
4477
  var GLTFLoader = /*#__PURE__*/ function(Loader1) {
4501
4478
  _inherits(GLTFLoader, Loader1);
4502
4479
  function GLTFLoader() {
@@ -5744,14 +5721,17 @@ var KHR_draco_mesh_compression = (_KHR_draco_mesh_compression = /*#__PURE__*/ fu
5744
5721
  var buffer = GLTFUtils.getBufferViewData(bufferViews[bufferViewIndex], buffers);
5745
5722
  return KHR_draco_mesh_compression._decoder.decode(buffer, taskConfig).then(function(decodedGeometry) {
5746
5723
  var mesh = new ModelMesh(engine, glTFMesh.name);
5747
- return _this._parseMeshFromGLTFPrimitiveDraco(mesh, glTFMesh, glTFPrimitive, glTF, function(attributeSemantic) {
5724
+ var meshRestoreInfo = new ModelMeshRestoreInfo();
5725
+ meshRestoreInfo.mesh = mesh;
5726
+ context.contentRestorer.meshes.push(meshRestoreInfo);
5727
+ return _this._parseMeshFromGLTFPrimitiveDraco(context, mesh, meshRestoreInfo, glTFMesh, glTFPrimitive, glTF, function(attributeSemantic) {
5748
5728
  for(var j = 0; j < decodedGeometry.attributes.length; j++){
5749
5729
  if (decodedGeometry.attributes[j].name === attributeSemantic) {
5750
5730
  return decodedGeometry.attributes[j].array;
5751
5731
  }
5752
5732
  }
5753
5733
  return null;
5754
- }, function(attributeSemantic, shapeIndex) {
5734
+ }, function() {
5755
5735
  throw "BlendShape animation is not supported when using draco.";
5756
5736
  }, function() {
5757
5737
  return decodedGeometry.index.array;
@@ -5764,7 +5744,7 @@ var KHR_draco_mesh_compression = (_KHR_draco_mesh_compression = /*#__PURE__*/ fu
5764
5744
  KHR_draco_mesh_compression._decoder = new DRACODecoder();
5765
5745
  }
5766
5746
  };
5767
- _proto._parseMeshFromGLTFPrimitiveDraco = function _parseMeshFromGLTFPrimitiveDraco(mesh, gltfMesh, gltfPrimitive, gltf, getVertexBufferData, getBlendShapeData, getIndexBufferData, keepMeshData) {
5747
+ _proto._parseMeshFromGLTFPrimitiveDraco = function _parseMeshFromGLTFPrimitiveDraco(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, gltf, getVertexBufferData, getBlendShapeData, getIndexBufferData, keepMeshData) {
5768
5748
  var attributes = gltfPrimitive.attributes, targets = gltfPrimitive.targets, indices = gltfPrimitive.indices, mode = gltfPrimitive.mode;
5769
5749
  var vertexCount;
5770
5750
  var accessors = gltf.accessors;
@@ -5860,7 +5840,7 @@ var KHR_draco_mesh_compression = (_KHR_draco_mesh_compression = /*#__PURE__*/ fu
5860
5840
  mesh.addSubMesh(0, vertexCount, mode);
5861
5841
  }
5862
5842
  // BlendShapes
5863
- targets && GLTFMeshParser._createBlendShape(mesh, null, gltfMesh, accessors, targets, getBlendShapeData);
5843
+ targets && GLTFMeshParser._createBlendShape(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, targets, getBlendShapeData);
5864
5844
  mesh.uploadData(!keepMeshData);
5865
5845
  return Promise.resolve(mesh);
5866
5846
  };
@@ -6200,5 +6180,5 @@ GALACEAN_animation_event = __decorate([
6200
6180
  registerGLTFExtension("GALACEAN_animation_event", GLTFExtensionMode.AdditiveParse)
6201
6181
  ], GALACEAN_animation_event);
6202
6182
 
6203
- export { AnimationClipDecoder, ComponentMap, EditorTextureLoader, GLTFAnimationParser, GLTFBufferParser, GLTFEntityParser, GLTFExtensionMode, GLTFExtensionParser, GLTFMaterialParser, GLTFMeshParser, GLTFParser, GLTFParserContext, GLTFParserType, GLTFResource, GLTFSceneParser, GLTFSchemaParser, GLTFSkinParser, GLTFTextureParser, GLTFUtils, GLTFValidator, InterpolableValueType, KTX2Loader, KTX2TargetFormat, KTX2Transcoder, MeshDecoder, MeshLoader$1 as MeshLoader, PrefabParser, ReflectionParser, SceneParser, SpecularMode, Texture2DDecoder, decode, parseSingleKTX, registerGLTFExtension, registerGLTFParser };
6183
+ export { AnimationClipDecoder, BufferInfo, ComponentMap, EditorTextureLoader, GLTFAnimationParser, GLTFBufferParser, GLTFBufferViewParser, GLTFEntityParser, GLTFExtensionMode, GLTFExtensionParser, GLTFMaterialParser, GLTFMeshParser, GLTFParser, GLTFParserContext, GLTFParserType, GLTFResource, GLTFSceneParser, GLTFSchemaParser, GLTFSkinParser, GLTFTextureParser, GLTFUtils, GLTFValidator, InterpolableValueType, KTX2Loader, KTX2TargetFormat, KTX2Transcoder, MeshDecoder, MeshLoader$1 as MeshLoader, PrefabParser, ReflectionParser, SceneParser, SpecularMode, Texture2DDecoder, decode, parseSingleKTX, registerGLTFExtension, registerGLTFParser };
6204
6184
  //# sourceMappingURL=module.js.map