@galacean/engine-loader 1.2.0-alpha.0 → 1.2.0-alpha.1
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.
- package/dist/main.js +370 -244
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +369 -244
- package/dist/module.js +359 -234
- package/dist/module.js.map +1 -1
- package/package.json +4 -5
- package/types/GLTFLoader.d.ts +7 -1
- package/types/gltf/GLTFSchema.d.ts +1 -1
- package/types/gltf/GLTFUtils.d.ts +1 -1
- package/types/gltf/extensions/EXT_meshopt_compression.d.ts +13 -0
- package/types/gltf/extensions/GLTFExtensionParser.d.ts +1 -1
- package/types/gltf/extensions/GLTFExtensionSchema.d.ts +10 -10
- package/types/gltf/extensions/MeshoptDecoder.d.ts +8 -0
- package/types/gltf/extensions/index.d.ts +1 -1
- package/types/gltf/index.d.ts +2 -1
- package/types/gltf/parser/GLTFBufferViewParser.d.ts +5 -0
- package/types/gltf/parser/GLTFParser.d.ts +1 -1
- package/types/gltf/parser/GLTFParserContext.d.ts +7 -6
- package/types/gltf/parser/index.d.ts +2 -1
- package/types/index.d.ts +1 -0
- package/types/ktx2/BinomialLLCTranscoder/BinomialLLCTranscoder.d.ts +13 -0
- package/types/ktx2/BinomialLLCTranscoder/TranscodeWorkerCode.d.ts +33 -0
- package/types/ktx2/KTX2Loader.d.ts +4 -3
- package/types/ktx2/KhronosTranscoder/KhronosTranscoder.d.ts +17 -0
- package/types/ktx2/KhronosTranscoder/TranscoderWorkerCode.d.ts +34 -0
- package/types/ktx2/TranscodeResult.d.ts +10 -0
- package/types/ktx2/constants.d.ts +7 -0
- package/types/ktx2/zstddec.d.ts +62 -0
- package/types/resource-deserialize/resources/schema/BasicSchema.d.ts +2 -0
- package/types/gltf/parser/GLTFJSONParser.d.ts +0 -7
package/dist/main.js
CHANGED
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var engineCore = require('@galacean/engine-core');
|
|
6
6
|
var engineMath = require('@galacean/engine-math');
|
|
7
7
|
var engineRhiWebgl = require('@galacean/engine-rhi-webgl');
|
|
8
|
-
var engineDraco = require('@galacean/engine-draco');
|
|
9
8
|
|
|
10
9
|
function _extends() {
|
|
11
10
|
_extends = Object.assign || function assign(target) {
|
|
@@ -538,6 +537,8 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
538
537
|
if (position) entity.transform.position.copyFrom(position);
|
|
539
538
|
if (rotation) entity.transform.rotation.copyFrom(rotation);
|
|
540
539
|
if (scale) entity.transform.scale.copyFrom(scale);
|
|
540
|
+
var _entityConfig_layer;
|
|
541
|
+
entity.layer = (_entityConfig_layer = entityConfig.layer) != null ? _entityConfig_layer : entity.layer;
|
|
541
542
|
return entity;
|
|
542
543
|
});
|
|
543
544
|
};
|
|
@@ -1534,7 +1535,7 @@ FontLoader = __decorate([
|
|
|
1534
1535
|
* Float
|
|
1535
1536
|
*/ "FLOAT"] = 5126] = "FLOAT";
|
|
1536
1537
|
})(AccessorComponentType || (AccessorComponentType = {}));
|
|
1537
|
-
|
|
1538
|
+
exports.AccessorType = void 0;
|
|
1538
1539
|
(function(AccessorType) {
|
|
1539
1540
|
AccessorType[/**
|
|
1540
1541
|
* Scalar
|
|
@@ -1557,7 +1558,7 @@ var AccessorType;
|
|
|
1557
1558
|
AccessorType[/**
|
|
1558
1559
|
* Matrix4x4
|
|
1559
1560
|
*/ "MAT4"] = "MAT4";
|
|
1560
|
-
})(AccessorType || (AccessorType = {}));
|
|
1561
|
+
})(exports.AccessorType || (exports.AccessorType = {}));
|
|
1561
1562
|
var AnimationChannelTargetPath;
|
|
1562
1563
|
(function(AnimationChannelTargetPath) {
|
|
1563
1564
|
AnimationChannelTargetPath[/**
|
|
@@ -1706,7 +1707,7 @@ var TextureWrapMode;
|
|
|
1706
1707
|
var glTFItems = this.glTF[glTFSchemaMap[type]];
|
|
1707
1708
|
if (glTFItems && (index === undefined || glTFItems[index])) {
|
|
1708
1709
|
if (index === undefined) {
|
|
1709
|
-
resource = type ===
|
|
1710
|
+
resource = type === 8 ? glTFItems.map(function(_, index) {
|
|
1710
1711
|
return _this.get(type, index);
|
|
1711
1712
|
}) : Promise.all(glTFItems.map(function(_, index) {
|
|
1712
1713
|
return _this.get(type, index);
|
|
@@ -1728,11 +1729,11 @@ var TextureWrapMode;
|
|
|
1728
1729
|
_this.glTF = json;
|
|
1729
1730
|
return Promise.all([
|
|
1730
1731
|
_this.get(1),
|
|
1731
|
-
_this.get(4),
|
|
1732
1732
|
_this.get(5),
|
|
1733
1733
|
_this.get(6),
|
|
1734
|
-
_this.get(
|
|
1734
|
+
_this.get(7),
|
|
1735
1735
|
_this.get(9),
|
|
1736
|
+
_this.get(10),
|
|
1736
1737
|
_this.get(2)
|
|
1737
1738
|
]).then(function() {
|
|
1738
1739
|
var glTFResource = _this.glTFResource;
|
|
@@ -1782,7 +1783,7 @@ var TextureWrapMode;
|
|
|
1782
1783
|
var _this = this;
|
|
1783
1784
|
var glTFResourceKey = glTFResourceMap[type];
|
|
1784
1785
|
if (!glTFResourceKey) return;
|
|
1785
|
-
if (type ===
|
|
1786
|
+
if (type === 8) {
|
|
1786
1787
|
var _this_glTFResource, _glTFResourceKey;
|
|
1787
1788
|
((_this_glTFResource = this.glTFResource)[_glTFResourceKey = glTFResourceKey] || (_this_glTFResource[_glTFResourceKey] = []))[index] = resource;
|
|
1788
1789
|
} else {
|
|
@@ -1790,7 +1791,7 @@ var TextureWrapMode;
|
|
|
1790
1791
|
resource.then(function(item) {
|
|
1791
1792
|
var _this_glTFResource, _glTFResourceKey;
|
|
1792
1793
|
((_this_glTFResource = _this.glTFResource)[_glTFResourceKey = glTFResourceKey] || (_this_glTFResource[_glTFResourceKey] = []))[index] = item;
|
|
1793
|
-
if (type ===
|
|
1794
|
+
if (type === 7) {
|
|
1794
1795
|
for(var i = 0, length = item.length; i < length; i++){
|
|
1795
1796
|
var mesh = item[i];
|
|
1796
1797
|
// @ts-ignore
|
|
@@ -1830,17 +1831,18 @@ exports.GLTFParserType = void 0;
|
|
|
1830
1831
|
GLTFParserType[GLTFParserType["Validator"] = 1] = "Validator";
|
|
1831
1832
|
GLTFParserType[GLTFParserType["Scene"] = 2] = "Scene";
|
|
1832
1833
|
GLTFParserType[GLTFParserType["Buffer"] = 3] = "Buffer";
|
|
1833
|
-
GLTFParserType[GLTFParserType["
|
|
1834
|
-
GLTFParserType[GLTFParserType["
|
|
1835
|
-
GLTFParserType[GLTFParserType["
|
|
1836
|
-
GLTFParserType[GLTFParserType["
|
|
1837
|
-
GLTFParserType[GLTFParserType["
|
|
1838
|
-
GLTFParserType[GLTFParserType["
|
|
1834
|
+
GLTFParserType[GLTFParserType["BufferView"] = 4] = "BufferView";
|
|
1835
|
+
GLTFParserType[GLTFParserType["Texture"] = 5] = "Texture";
|
|
1836
|
+
GLTFParserType[GLTFParserType["Material"] = 6] = "Material";
|
|
1837
|
+
GLTFParserType[GLTFParserType["Mesh"] = 7] = "Mesh";
|
|
1838
|
+
GLTFParserType[GLTFParserType["Entity"] = 8] = "Entity";
|
|
1839
|
+
GLTFParserType[GLTFParserType["Skin"] = 9] = "Skin";
|
|
1840
|
+
GLTFParserType[GLTFParserType["Animation"] = 10] = "Animation";
|
|
1839
1841
|
})(exports.GLTFParserType || (exports.GLTFParserType = {}));
|
|
1840
1842
|
var _obj;
|
|
1841
|
-
var glTFSchemaMap = (_obj = {}, _obj[2] = "scenes", _obj[3] = "buffers", _obj[
|
|
1843
|
+
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);
|
|
1842
1844
|
var _obj1;
|
|
1843
|
-
var glTFResourceMap = (_obj1 = {}, _obj1[2] = "_sceneRoots", _obj1[
|
|
1845
|
+
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);
|
|
1844
1846
|
function registerGLTFParser(pipeline) {
|
|
1845
1847
|
return function(Parser) {
|
|
1846
1848
|
var parser = new Parser();
|
|
@@ -1894,19 +1896,19 @@ function registerGLTFParser(pipeline) {
|
|
|
1894
1896
|
* Get the number of bytes occupied by accessor type.
|
|
1895
1897
|
*/ GLTFUtils.getAccessorTypeSize = function getAccessorTypeSize(accessorType) {
|
|
1896
1898
|
switch(accessorType){
|
|
1897
|
-
case AccessorType.SCALAR:
|
|
1899
|
+
case exports.AccessorType.SCALAR:
|
|
1898
1900
|
return 1;
|
|
1899
|
-
case AccessorType.VEC2:
|
|
1901
|
+
case exports.AccessorType.VEC2:
|
|
1900
1902
|
return 2;
|
|
1901
|
-
case AccessorType.VEC3:
|
|
1903
|
+
case exports.AccessorType.VEC3:
|
|
1902
1904
|
return 3;
|
|
1903
|
-
case AccessorType.VEC4:
|
|
1905
|
+
case exports.AccessorType.VEC4:
|
|
1904
1906
|
return 4;
|
|
1905
|
-
case AccessorType.MAT2:
|
|
1907
|
+
case exports.AccessorType.MAT2:
|
|
1906
1908
|
return 4;
|
|
1907
|
-
case AccessorType.MAT3:
|
|
1909
|
+
case exports.AccessorType.MAT3:
|
|
1908
1910
|
return 9;
|
|
1909
|
-
case AccessorType.MAT4:
|
|
1911
|
+
case exports.AccessorType.MAT4:
|
|
1910
1912
|
return 16;
|
|
1911
1913
|
}
|
|
1912
1914
|
};
|
|
@@ -1946,11 +1948,10 @@ function registerGLTFParser(pipeline) {
|
|
|
1946
1948
|
GLTFUtils.getAccessorBuffer = function getAccessorBuffer(context, bufferViews, accessor) {
|
|
1947
1949
|
var componentType = accessor.componentType;
|
|
1948
1950
|
var bufferView = bufferViews[accessor.bufferView];
|
|
1949
|
-
return context.get(exports.GLTFParserType.
|
|
1951
|
+
return context.get(exports.GLTFParserType.BufferView, accessor.bufferView).then(function(bufferViewData) {
|
|
1950
1952
|
var bufferIndex = bufferView.buffer;
|
|
1951
|
-
var
|
|
1952
|
-
var
|
|
1953
|
-
var bufferByteOffset = (_bufferView_byteOffset = bufferView.byteOffset) != null ? _bufferView_byteOffset : 0;
|
|
1953
|
+
var _bufferViewData_byteOffset;
|
|
1954
|
+
var bufferByteOffset = (_bufferViewData_byteOffset = bufferViewData.byteOffset) != null ? _bufferViewData_byteOffset : 0;
|
|
1954
1955
|
var _accessor_byteOffset;
|
|
1955
1956
|
var byteOffset = (_accessor_byteOffset = accessor.byteOffset) != null ? _accessor_byteOffset : 0;
|
|
1956
1957
|
var TypedArray = GLTFUtils.getComponentType(componentType);
|
|
@@ -1969,19 +1970,21 @@ function registerGLTFParser(pipeline) {
|
|
|
1969
1970
|
if (!bufferInfo) {
|
|
1970
1971
|
var offset = bufferByteOffset + bufferSlice * bufferStride;
|
|
1971
1972
|
var count = accessorCount * (bufferStride / dataElementBytes);
|
|
1972
|
-
var data = new TypedArray(buffer, offset, count);
|
|
1973
|
+
var data = new TypedArray(bufferViewData.buffer, offset, count);
|
|
1973
1974
|
accessorBufferCache[bufferCacheKey] = bufferInfo = new BufferInfo(data, true, bufferStride);
|
|
1974
1975
|
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset, count));
|
|
1975
1976
|
}
|
|
1976
1977
|
} else {
|
|
1977
1978
|
var offset1 = bufferByteOffset + byteOffset;
|
|
1978
1979
|
var count1 = accessorCount * dataElementSize;
|
|
1979
|
-
var data1 = new TypedArray(buffer, offset1, count1);
|
|
1980
|
+
var data1 = new TypedArray(bufferViewData.buffer, offset1, count1);
|
|
1980
1981
|
bufferInfo = new BufferInfo(data1, false, elementStride);
|
|
1981
1982
|
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
|
|
1982
1983
|
}
|
|
1983
1984
|
if (accessor.sparse) {
|
|
1984
|
-
GLTFUtils.processingSparseData(
|
|
1985
|
+
return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
|
|
1986
|
+
return bufferInfo;
|
|
1987
|
+
});
|
|
1985
1988
|
}
|
|
1986
1989
|
return bufferInfo;
|
|
1987
1990
|
});
|
|
@@ -2057,40 +2060,43 @@ function registerGLTFParser(pipeline) {
|
|
|
2057
2060
|
};
|
|
2058
2061
|
/**
|
|
2059
2062
|
* Get accessor data.
|
|
2060
|
-
*/ GLTFUtils.processingSparseData = function processingSparseData(
|
|
2063
|
+
*/ GLTFUtils.processingSparseData = function processingSparseData(context, accessor, bufferInfo) {
|
|
2061
2064
|
var restoreInfo = bufferInfo.restoreInfo;
|
|
2065
|
+
var bufferViews = context.glTF.bufferViews;
|
|
2062
2066
|
var accessorTypeSize = GLTFUtils.getAccessorTypeSize(accessor.type);
|
|
2063
2067
|
var TypedArray = GLTFUtils.getComponentType(accessor.componentType);
|
|
2064
2068
|
var data = bufferInfo.data.slice();
|
|
2065
2069
|
var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
|
|
2066
2070
|
var indicesBufferView = bufferViews[indices.bufferView];
|
|
2067
2071
|
var valuesBufferView = bufferViews[values.bufferView];
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
var
|
|
2089
|
-
|
|
2090
|
-
|
|
2072
|
+
return Promise.all([
|
|
2073
|
+
context.get(exports.GLTFParserType.BufferView, indices.bufferView),
|
|
2074
|
+
context.get(exports.GLTFParserType.BufferView, values.bufferView)
|
|
2075
|
+
]).then(function(param) {
|
|
2076
|
+
var indicesUint8Array = param[0], valuesUin8Array = param[1];
|
|
2077
|
+
var _indices_byteOffset, _indicesUint8Array_byteOffset;
|
|
2078
|
+
var indicesByteOffset = ((_indices_byteOffset = indices.byteOffset) != null ? _indices_byteOffset : 0) + ((_indicesUint8Array_byteOffset = indicesUint8Array.byteOffset) != null ? _indicesUint8Array_byteOffset : 0);
|
|
2079
|
+
var indicesByteLength = indicesUint8Array.byteLength;
|
|
2080
|
+
var _values_byteOffset, _valuesUin8Array_byteOffset;
|
|
2081
|
+
var valuesByteOffset = ((_values_byteOffset = values.byteOffset) != null ? _values_byteOffset : 0) + ((_valuesUin8Array_byteOffset = valuesUin8Array.byteOffset) != null ? _valuesUin8Array_byteOffset : 0);
|
|
2082
|
+
var valuesByteLength = valuesUin8Array.byteLength;
|
|
2083
|
+
restoreInfo.typeSize = accessorTypeSize;
|
|
2084
|
+
restoreInfo.sparseCount = count;
|
|
2085
|
+
var IndexTypeArray = GLTFUtils.getComponentType(indices.componentType);
|
|
2086
|
+
var indexLength = indicesByteLength / IndexTypeArray.BYTES_PER_ELEMENT;
|
|
2087
|
+
var indicesArray = new IndexTypeArray(indicesUint8Array.buffer, indicesByteOffset, indexLength);
|
|
2088
|
+
restoreInfo.sparseIndices = new RestoreDataAccessor(indicesBufferView.buffer, IndexTypeArray, indicesByteOffset, indexLength);
|
|
2089
|
+
var valueLength = valuesByteLength / TypedArray.BYTES_PER_ELEMENT;
|
|
2090
|
+
var valuesArray = new TypedArray(valuesUin8Array.buffer, valuesByteOffset, valueLength);
|
|
2091
|
+
restoreInfo.sparseValues = new RestoreDataAccessor(valuesBufferView.buffer, TypedArray, valuesByteOffset, valueLength);
|
|
2092
|
+
for(var i = 0; i < count; i++){
|
|
2093
|
+
var replaceIndex = indicesArray[i];
|
|
2094
|
+
for(var j = 0; j < accessorTypeSize; j++){
|
|
2095
|
+
data[replaceIndex * accessorTypeSize + j] = valuesArray[i * accessorTypeSize + j];
|
|
2096
|
+
}
|
|
2091
2097
|
}
|
|
2092
|
-
|
|
2093
|
-
|
|
2098
|
+
bufferInfo.data = data;
|
|
2099
|
+
});
|
|
2094
2100
|
};
|
|
2095
2101
|
GLTFUtils.getIndexFormat = function getIndexFormat(type) {
|
|
2096
2102
|
switch(type){
|
|
@@ -3112,8 +3118,9 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
3112
3118
|
});
|
|
3113
3119
|
};
|
|
3114
3120
|
/**
|
|
3115
|
-
*
|
|
3116
|
-
|
|
3121
|
+
* Release ktx2 transcoder worker.
|
|
3122
|
+
* @remarks If use loader after releasing, we should release again.
|
|
3123
|
+
*/ KTX2Loader1.release = function release() {
|
|
3117
3124
|
if (this._binomialLLCTranscoder) this._binomialLLCTranscoder.destroy();
|
|
3118
3125
|
if (this._khronosTranscoder) this._khronosTranscoder.destroy();
|
|
3119
3126
|
this._binomialLLCTranscoder = null;
|
|
@@ -4643,12 +4650,256 @@ exports.GLTFValidator = __decorate([
|
|
|
4643
4650
|
registerGLTFParser(exports.GLTFParserType.Validator)
|
|
4644
4651
|
], exports.GLTFValidator);
|
|
4645
4652
|
|
|
4646
|
-
|
|
4653
|
+
exports.GLTFBufferViewParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
4654
|
+
_inherits(GLTFBufferViewParser, GLTFParser1);
|
|
4655
|
+
function GLTFBufferViewParser() {
|
|
4656
|
+
return GLTFParser1.apply(this, arguments);
|
|
4657
|
+
}
|
|
4658
|
+
var _proto = GLTFBufferViewParser.prototype;
|
|
4659
|
+
_proto.parse = function parse(context, index) {
|
|
4660
|
+
var bufferView = context.glTF.bufferViews[index];
|
|
4661
|
+
var extensions = bufferView.extensions, _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset, byteLength = bufferView.byteLength, bufferIndex = bufferView.buffer;
|
|
4662
|
+
return extensions ? GLTFParser.executeExtensionsCreateAndParse(extensions, context, bufferView) : context.get(exports.GLTFParserType.Buffer, bufferIndex).then(function(buffer) {
|
|
4663
|
+
return new Uint8Array(buffer, byteOffset, byteLength);
|
|
4664
|
+
});
|
|
4665
|
+
};
|
|
4666
|
+
return GLTFBufferViewParser;
|
|
4667
|
+
}(GLTFParser);
|
|
4668
|
+
exports.GLTFBufferViewParser = __decorate([
|
|
4669
|
+
registerGLTFParser(exports.GLTFParserType.BufferView)
|
|
4670
|
+
], exports.GLTFBufferViewParser);
|
|
4671
|
+
|
|
4672
|
+
// Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
|
|
4673
|
+
var MeshoptDecoder = function() {
|
|
4674
|
+
var unpack = function unpack(data) {
|
|
4675
|
+
var result = new Uint8Array(data.length);
|
|
4676
|
+
for(var i = 0; i < data.length; ++i){
|
|
4677
|
+
var ch = data.charCodeAt(i);
|
|
4678
|
+
result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
|
|
4679
|
+
}
|
|
4680
|
+
var write = 0;
|
|
4681
|
+
for(var i1 = 0; i1 < data.length; ++i1){
|
|
4682
|
+
result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
|
|
4683
|
+
}
|
|
4684
|
+
return result.buffer.slice(0, write);
|
|
4685
|
+
};
|
|
4686
|
+
var decode = function decode(fun, target, count, size, source, filter) {
|
|
4687
|
+
var sbrk = instance.exports.sbrk;
|
|
4688
|
+
var count4 = count + 3 & ~3;
|
|
4689
|
+
var tp = sbrk(count4 * size);
|
|
4690
|
+
var sp = sbrk(source.length);
|
|
4691
|
+
var heap = new Uint8Array(instance.exports.memory.buffer);
|
|
4692
|
+
heap.set(source, sp);
|
|
4693
|
+
var res = fun(tp, count, size, sp, source.length);
|
|
4694
|
+
if (res == 0 && filter) {
|
|
4695
|
+
filter(tp, count4, size);
|
|
4696
|
+
}
|
|
4697
|
+
target.set(heap.subarray(tp, tp + count * size));
|
|
4698
|
+
sbrk(tp - sbrk(0));
|
|
4699
|
+
if (res != 0) {
|
|
4700
|
+
throw new Error("Malformed buffer data: " + res);
|
|
4701
|
+
}
|
|
4702
|
+
};
|
|
4703
|
+
var createWorker = function createWorker(url) {
|
|
4704
|
+
var worker = {
|
|
4705
|
+
object: new Worker(url),
|
|
4706
|
+
pending: 0,
|
|
4707
|
+
requests: {}
|
|
4708
|
+
};
|
|
4709
|
+
worker.object.onmessage = function(event) {
|
|
4710
|
+
var data = event.data;
|
|
4711
|
+
worker.pending -= data.count;
|
|
4712
|
+
worker.requests[data.id][data.action](data.value);
|
|
4713
|
+
delete worker.requests[data.id];
|
|
4714
|
+
};
|
|
4715
|
+
return worker;
|
|
4716
|
+
};
|
|
4717
|
+
var initWorkers = function initWorkers(count) {
|
|
4718
|
+
var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});" + "self.onmessage = workerProcess;" + decode.toString() + workerProcess.toString();
|
|
4719
|
+
var blob = new Blob([
|
|
4720
|
+
source
|
|
4721
|
+
], {
|
|
4722
|
+
type: "text/javascript"
|
|
4723
|
+
});
|
|
4724
|
+
var url = URL.createObjectURL(blob);
|
|
4725
|
+
for(var i = 0; i < count; ++i){
|
|
4726
|
+
workers[i] = createWorker(url);
|
|
4727
|
+
}
|
|
4728
|
+
URL.revokeObjectURL(url);
|
|
4729
|
+
};
|
|
4730
|
+
var decodeWorker = function decodeWorker(count, size, source, mode, filter) {
|
|
4731
|
+
var worker = workers[0];
|
|
4732
|
+
for(var i = 1; i < workers.length; ++i){
|
|
4733
|
+
if (workers[i].pending < worker.pending) {
|
|
4734
|
+
worker = workers[i];
|
|
4735
|
+
}
|
|
4736
|
+
}
|
|
4737
|
+
return new Promise(function(resolve, reject) {
|
|
4738
|
+
var data = new Uint8Array(source);
|
|
4739
|
+
var id = requestId++;
|
|
4740
|
+
worker.pending += count;
|
|
4741
|
+
worker.requests[id] = {
|
|
4742
|
+
resolve: resolve,
|
|
4743
|
+
reject: reject
|
|
4744
|
+
};
|
|
4745
|
+
worker.object.postMessage({
|
|
4746
|
+
id: id,
|
|
4747
|
+
count: count,
|
|
4748
|
+
size: size,
|
|
4749
|
+
source: data,
|
|
4750
|
+
mode: mode,
|
|
4751
|
+
filter: filter
|
|
4752
|
+
}, [
|
|
4753
|
+
data.buffer
|
|
4754
|
+
]);
|
|
4755
|
+
});
|
|
4756
|
+
};
|
|
4757
|
+
var workerProcess = function workerProcess(event) {
|
|
4758
|
+
ready.then(function() {
|
|
4759
|
+
var data = event.data;
|
|
4760
|
+
try {
|
|
4761
|
+
var target = new Uint8Array(data.count * data.size);
|
|
4762
|
+
decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);
|
|
4763
|
+
self.postMessage({
|
|
4764
|
+
id: data.id,
|
|
4765
|
+
count: data.count,
|
|
4766
|
+
action: "resolve",
|
|
4767
|
+
value: target
|
|
4768
|
+
}, [
|
|
4769
|
+
target.buffer
|
|
4770
|
+
]);
|
|
4771
|
+
} catch (error) {
|
|
4772
|
+
self.postMessage({
|
|
4773
|
+
id: data.id,
|
|
4774
|
+
count: data.count,
|
|
4775
|
+
action: "reject",
|
|
4776
|
+
value: error
|
|
4777
|
+
});
|
|
4778
|
+
}
|
|
4779
|
+
});
|
|
4780
|
+
};
|
|
4781
|
+
var wasm_base = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";
|
|
4782
|
+
var wasm_simd = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";
|
|
4783
|
+
var wasmpack = new Uint8Array([
|
|
4784
|
+
32,
|
|
4785
|
+
0,
|
|
4786
|
+
65,
|
|
4787
|
+
2,
|
|
4788
|
+
1,
|
|
4789
|
+
106,
|
|
4790
|
+
34,
|
|
4791
|
+
33,
|
|
4792
|
+
3,
|
|
4793
|
+
128,
|
|
4794
|
+
11,
|
|
4795
|
+
4,
|
|
4796
|
+
13,
|
|
4797
|
+
64,
|
|
4798
|
+
6,
|
|
4799
|
+
253,
|
|
4800
|
+
10,
|
|
4801
|
+
7,
|
|
4802
|
+
15,
|
|
4803
|
+
116,
|
|
4804
|
+
127,
|
|
4805
|
+
5,
|
|
4806
|
+
8,
|
|
4807
|
+
12,
|
|
4808
|
+
40,
|
|
4809
|
+
16,
|
|
4810
|
+
19,
|
|
4811
|
+
54,
|
|
4812
|
+
20,
|
|
4813
|
+
9,
|
|
4814
|
+
27,
|
|
4815
|
+
255,
|
|
4816
|
+
113,
|
|
4817
|
+
17,
|
|
4818
|
+
42,
|
|
4819
|
+
67,
|
|
4820
|
+
24,
|
|
4821
|
+
23,
|
|
4822
|
+
146,
|
|
4823
|
+
148,
|
|
4824
|
+
18,
|
|
4825
|
+
14,
|
|
4826
|
+
22,
|
|
4827
|
+
45,
|
|
4828
|
+
70,
|
|
4829
|
+
69,
|
|
4830
|
+
56,
|
|
4831
|
+
114,
|
|
4832
|
+
101,
|
|
4833
|
+
21,
|
|
4834
|
+
25,
|
|
4835
|
+
63,
|
|
4836
|
+
75,
|
|
4837
|
+
136,
|
|
4838
|
+
108,
|
|
4839
|
+
28,
|
|
4840
|
+
118,
|
|
4841
|
+
29,
|
|
4842
|
+
73,
|
|
4843
|
+
115
|
|
4844
|
+
]);
|
|
4845
|
+
// @ts-ignore
|
|
4846
|
+
var wasm = engineCore.SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
|
|
4847
|
+
var instance;
|
|
4848
|
+
var ready = WebAssembly.instantiate(unpack(wasm), {}).then(function(result) {
|
|
4849
|
+
instance = result.instance;
|
|
4850
|
+
instance.exports.__wasm_call_ctors();
|
|
4851
|
+
});
|
|
4852
|
+
var filters = {
|
|
4853
|
+
NONE: "",
|
|
4854
|
+
OCTAHEDRAL: "meshopt_decodeFilterOct",
|
|
4855
|
+
QUATERNION: "meshopt_decodeFilterQuat",
|
|
4856
|
+
EXPONENTIAL: "meshopt_decodeFilterExp"
|
|
4857
|
+
};
|
|
4858
|
+
var decoders = {
|
|
4859
|
+
ATTRIBUTES: "meshopt_decodeVertexBuffer",
|
|
4860
|
+
TRIANGLES: "meshopt_decodeIndexBuffer",
|
|
4861
|
+
INDICES: "meshopt_decodeIndexSequence"
|
|
4862
|
+
};
|
|
4863
|
+
var workers = [];
|
|
4864
|
+
var requestId = 0;
|
|
4865
|
+
return {
|
|
4866
|
+
workerCount: 4,
|
|
4867
|
+
ready: ready,
|
|
4868
|
+
useWorkers: function useWorkers() {
|
|
4869
|
+
initWorkers(this.workerCount);
|
|
4870
|
+
},
|
|
4871
|
+
decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
|
|
4872
|
+
if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
|
|
4873
|
+
if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
|
|
4874
|
+
return ready.then(function() {
|
|
4875
|
+
var target = new Uint8Array(count * stride);
|
|
4876
|
+
decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
|
|
4877
|
+
return target;
|
|
4878
|
+
});
|
|
4879
|
+
},
|
|
4880
|
+
release: function release() {
|
|
4881
|
+
for(var i = 0; i < workers.length; i++){
|
|
4882
|
+
workers[i].object.terminate();
|
|
4883
|
+
}
|
|
4884
|
+
}
|
|
4885
|
+
};
|
|
4886
|
+
}();
|
|
4887
|
+
|
|
4888
|
+
exports.GLTFLoader = /*#__PURE__*/ function(Loader1) {
|
|
4647
4889
|
_inherits(GLTFLoader, Loader1);
|
|
4648
4890
|
function GLTFLoader() {
|
|
4649
4891
|
return Loader1.apply(this, arguments);
|
|
4650
4892
|
}
|
|
4651
4893
|
var _proto = GLTFLoader.prototype;
|
|
4894
|
+
_proto.initialize = function initialize(_, configuration) {
|
|
4895
|
+
var _configuration_glTF;
|
|
4896
|
+
var meshOptOptions = (_configuration_glTF = configuration.glTF) == null ? void 0 : _configuration_glTF.meshOpt;
|
|
4897
|
+
if (meshOptOptions) {
|
|
4898
|
+
MeshoptDecoder.workerCount = meshOptOptions.workerCount;
|
|
4899
|
+
MeshoptDecoder.useWorkers();
|
|
4900
|
+
}
|
|
4901
|
+
return Promise.resolve();
|
|
4902
|
+
};
|
|
4652
4903
|
_proto.load = function load(item, resourceManager) {
|
|
4653
4904
|
var url = item.url;
|
|
4654
4905
|
var params = item.params;
|
|
@@ -4662,14 +4913,20 @@ var GLTFLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
4662
4913
|
context.parse().then(resolve).catch(reject);
|
|
4663
4914
|
});
|
|
4664
4915
|
};
|
|
4916
|
+
/**
|
|
4917
|
+
* Release glTF loader memory(includes meshopt workers).
|
|
4918
|
+
* @remarks If use loader after releasing, we should release again.
|
|
4919
|
+
*/ GLTFLoader.release = function release() {
|
|
4920
|
+
MeshoptDecoder.release();
|
|
4921
|
+
};
|
|
4665
4922
|
return GLTFLoader;
|
|
4666
4923
|
}(engineCore.Loader);
|
|
4667
|
-
GLTFLoader = __decorate([
|
|
4924
|
+
exports.GLTFLoader = __decorate([
|
|
4668
4925
|
engineCore.resourceLoader(engineCore.AssetType.GLTF, [
|
|
4669
4926
|
"gltf",
|
|
4670
4927
|
"glb"
|
|
4671
4928
|
])
|
|
4672
|
-
], GLTFLoader);
|
|
4929
|
+
], exports.GLTFLoader);
|
|
4673
4930
|
|
|
4674
4931
|
var _HDRLoader;
|
|
4675
4932
|
var PI = Math.PI;
|
|
@@ -5491,7 +5748,7 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5491
5748
|
};
|
|
5492
5749
|
_proto._makeSprite = function _makeSprite(engine, config, texture) {
|
|
5493
5750
|
// Generate a SpriteAtlas object.
|
|
5494
|
-
var region = config.region, atlasRegionOffset = config.atlasRegionOffset, atlasRegion = config.atlasRegion, pivot = config.pivot, border = config.border;
|
|
5751
|
+
var region = config.region, atlasRegionOffset = config.atlasRegionOffset, atlasRegion = config.atlasRegion, pivot = config.pivot, border = config.border, width = config.width, height = config.height;
|
|
5495
5752
|
var sprite = new engineCore.Sprite(engine, texture, region ? this._tempRect.set(region.x, region.y, region.w, region.h) : undefined, pivot ? this._tempVec2.set(pivot.x, pivot.y) : undefined, border ? this._tempVec4.set(border.x, border.y, border.z, border.w) : undefined, config.name);
|
|
5496
5753
|
if (texture) {
|
|
5497
5754
|
var invW = 1 / texture.width;
|
|
@@ -5503,6 +5760,8 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5503
5760
|
}
|
|
5504
5761
|
config.atlasRotated && (sprite.atlasRotated = true);
|
|
5505
5762
|
}
|
|
5763
|
+
isNaN(width) || (sprite.width = width);
|
|
5764
|
+
isNaN(height) || (sprite.height = height);
|
|
5506
5765
|
return sprite;
|
|
5507
5766
|
};
|
|
5508
5767
|
return SpriteAtlasLoader;
|
|
@@ -5521,26 +5780,39 @@ var SpriteLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5521
5780
|
var _proto = SpriteLoader.prototype;
|
|
5522
5781
|
_proto.load = function load(item, resourceManager) {
|
|
5523
5782
|
var _this = this;
|
|
5524
|
-
return
|
|
5525
|
-
|
|
5526
|
-
|
|
5527
|
-
|
|
5528
|
-
|
|
5529
|
-
|
|
5530
|
-
|
|
5531
|
-
|
|
5532
|
-
|
|
5533
|
-
|
|
5534
|
-
|
|
5535
|
-
.getResourceByRef(data.texture).then(function(texture) {
|
|
5536
|
-
resolve(new engineCore.Sprite(resourceManager.engine, texture, data.region, data.pivot, data.border));
|
|
5537
|
-
}).catch(reject);
|
|
5538
|
-
} else {
|
|
5539
|
-
resolve(new engineCore.Sprite(resourceManager.engine, null, data.region, data.pivot, data.border));
|
|
5540
|
-
}
|
|
5541
|
-
}).catch(reject);
|
|
5783
|
+
return this.request(item.url, _extends({}, item, {
|
|
5784
|
+
type: "json"
|
|
5785
|
+
})).then(function(data) {
|
|
5786
|
+
return data.belongToAtlas ? _this._loadFromAtlas(resourceManager, data) : _this._loadFromTexture(resourceManager, data);
|
|
5787
|
+
});
|
|
5788
|
+
};
|
|
5789
|
+
_proto._loadFromAtlas = function _loadFromAtlas(resourceManager, data) {
|
|
5790
|
+
var _this = this;
|
|
5791
|
+
return resourceManager// @ts-ignore
|
|
5792
|
+
.getResourceByRef(data.belongToAtlas).then(function(atlas) {
|
|
5793
|
+
return atlas.getSprite(data.fullPath) || _this._loadFromTexture(resourceManager, data);
|
|
5542
5794
|
});
|
|
5543
5795
|
};
|
|
5796
|
+
_proto._loadFromTexture = function _loadFromTexture(resourceManager, data) {
|
|
5797
|
+
if (data.texture) {
|
|
5798
|
+
return resourceManager// @ts-ignore
|
|
5799
|
+
.getResourceByRef(data.texture).then(function(texture) {
|
|
5800
|
+
var sprite = new engineCore.Sprite(resourceManager.engine, texture, data.region, data.pivot, data.border);
|
|
5801
|
+
var width = data.width, height = data.height;
|
|
5802
|
+
isNaN(width) || (sprite.width = width);
|
|
5803
|
+
isNaN(height) || (sprite.height = height);
|
|
5804
|
+
return sprite;
|
|
5805
|
+
});
|
|
5806
|
+
} else {
|
|
5807
|
+
return new engineCore.AssetPromise(function(resolve) {
|
|
5808
|
+
var sprite = new engineCore.Sprite(resourceManager.engine, null, data.region, data.pivot, data.border);
|
|
5809
|
+
var width = data.width, height = data.height;
|
|
5810
|
+
isNaN(width) || (sprite.width = width);
|
|
5811
|
+
isNaN(height) || (sprite.height = height);
|
|
5812
|
+
resolve(sprite);
|
|
5813
|
+
});
|
|
5814
|
+
}
|
|
5815
|
+
};
|
|
5544
5816
|
return SpriteLoader;
|
|
5545
5817
|
}(engineCore.Loader);
|
|
5546
5818
|
SpriteLoader = __decorate([
|
|
@@ -5843,170 +6115,6 @@ ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _asy
|
|
|
5843
6115
|
});
|
|
5844
6116
|
}));
|
|
5845
6117
|
|
|
5846
|
-
var _KHR_draco_mesh_compression;
|
|
5847
|
-
var KHR_draco_mesh_compression = (_KHR_draco_mesh_compression = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
5848
|
-
_inherits(KHR_draco_mesh_compression1, GLTFExtensionParser1);
|
|
5849
|
-
function KHR_draco_mesh_compression1() {
|
|
5850
|
-
return GLTFExtensionParser1.apply(this, arguments);
|
|
5851
|
-
}
|
|
5852
|
-
var _proto = KHR_draco_mesh_compression1.prototype;
|
|
5853
|
-
_proto.createAndParse = function createAndParse(context, schema, glTFPrimitive, glTFMesh) {
|
|
5854
|
-
var _this = this;
|
|
5855
|
-
this._initialize();
|
|
5856
|
-
var glTF = context.glTF, engine = context.glTFResource.engine;
|
|
5857
|
-
var bufferViews = glTF.bufferViews, accessors = glTF.accessors;
|
|
5858
|
-
var bufferViewIndex = schema.bufferView, gltfAttributeMap = schema.attributes;
|
|
5859
|
-
var attributeMap = {};
|
|
5860
|
-
var attributeTypeMap = {};
|
|
5861
|
-
for(var attributeName in gltfAttributeMap){
|
|
5862
|
-
attributeMap[attributeName] = gltfAttributeMap[attributeName];
|
|
5863
|
-
}
|
|
5864
|
-
for(var attributeName1 in glTFPrimitive.attributes){
|
|
5865
|
-
if (gltfAttributeMap[attributeName1] !== undefined) {
|
|
5866
|
-
var accessorDef = accessors[glTFPrimitive.attributes[attributeName1]];
|
|
5867
|
-
attributeTypeMap[attributeName1] = GLTFUtils.getComponentType(accessorDef.componentType).name;
|
|
5868
|
-
}
|
|
5869
|
-
}
|
|
5870
|
-
var indexAccessor = accessors[glTFPrimitive.indices];
|
|
5871
|
-
var indexType = GLTFUtils.getComponentType(indexAccessor.componentType).name;
|
|
5872
|
-
var taskConfig = {
|
|
5873
|
-
attributeIDs: attributeMap,
|
|
5874
|
-
attributeTypes: attributeTypeMap,
|
|
5875
|
-
useUniqueIDs: true,
|
|
5876
|
-
indexType: indexType
|
|
5877
|
-
};
|
|
5878
|
-
return context.get(exports.GLTFParserType.Buffer).then(function(buffers) {
|
|
5879
|
-
var buffer = GLTFUtils.getBufferViewData(bufferViews[bufferViewIndex], buffers);
|
|
5880
|
-
return KHR_draco_mesh_compression._decoder.decode(buffer, taskConfig).then(function(decodedGeometry) {
|
|
5881
|
-
var mesh = new engineCore.ModelMesh(engine, glTFMesh.name);
|
|
5882
|
-
return _this._parseMeshFromGLTFPrimitiveDraco(mesh, glTFMesh, glTFPrimitive, glTF, function(attributeSemantic) {
|
|
5883
|
-
for(var j = 0; j < decodedGeometry.attributes.length; j++){
|
|
5884
|
-
if (decodedGeometry.attributes[j].name === attributeSemantic) {
|
|
5885
|
-
return decodedGeometry.attributes[j].array;
|
|
5886
|
-
}
|
|
5887
|
-
}
|
|
5888
|
-
return null;
|
|
5889
|
-
}, function(attributeSemantic, shapeIndex) {
|
|
5890
|
-
throw "BlendShape animation is not supported when using draco.";
|
|
5891
|
-
}, function() {
|
|
5892
|
-
return decodedGeometry.index.array;
|
|
5893
|
-
}, context.params.keepMeshData);
|
|
5894
|
-
});
|
|
5895
|
-
});
|
|
5896
|
-
};
|
|
5897
|
-
_proto._initialize = function _initialize() {
|
|
5898
|
-
if (!KHR_draco_mesh_compression._decoder) {
|
|
5899
|
-
KHR_draco_mesh_compression._decoder = new engineDraco.DRACODecoder();
|
|
5900
|
-
}
|
|
5901
|
-
};
|
|
5902
|
-
_proto._parseMeshFromGLTFPrimitiveDraco = function _parseMeshFromGLTFPrimitiveDraco(mesh, gltfMesh, gltfPrimitive, gltf, getVertexBufferData, getBlendShapeData, getIndexBufferData, keepMeshData) {
|
|
5903
|
-
var attributes = gltfPrimitive.attributes, targets = gltfPrimitive.targets, indices = gltfPrimitive.indices, mode = gltfPrimitive.mode;
|
|
5904
|
-
var vertexCount;
|
|
5905
|
-
var accessors = gltf.accessors;
|
|
5906
|
-
var accessor = accessors[attributes["POSITION"]];
|
|
5907
|
-
var positionBuffer = getVertexBufferData("POSITION");
|
|
5908
|
-
var positions = GLTFUtils.floatBufferToVector3Array(positionBuffer);
|
|
5909
|
-
mesh.setPositions(positions);
|
|
5910
|
-
var bounds = mesh.bounds;
|
|
5911
|
-
vertexCount = accessor.count;
|
|
5912
|
-
if (accessor.min && accessor.max) {
|
|
5913
|
-
bounds.min.copyFromArray(accessor.min);
|
|
5914
|
-
bounds.max.copyFromArray(accessor.max);
|
|
5915
|
-
} else {
|
|
5916
|
-
var position = KHR_draco_mesh_compression._tempVector3;
|
|
5917
|
-
var min = bounds.min, max = bounds.max;
|
|
5918
|
-
min.set(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);
|
|
5919
|
-
max.set(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);
|
|
5920
|
-
var stride = positionBuffer.length / vertexCount;
|
|
5921
|
-
for(var j = 0; j < vertexCount; j++){
|
|
5922
|
-
var offset = j * stride;
|
|
5923
|
-
position.copyFromArray(positionBuffer, offset);
|
|
5924
|
-
engineMath.Vector3.min(min, position, min);
|
|
5925
|
-
engineMath.Vector3.max(max, position, max);
|
|
5926
|
-
}
|
|
5927
|
-
}
|
|
5928
|
-
for(var attributeSemantic in attributes){
|
|
5929
|
-
if (attributeSemantic === "POSITION") {
|
|
5930
|
-
continue;
|
|
5931
|
-
}
|
|
5932
|
-
var bufferData = getVertexBufferData(attributeSemantic);
|
|
5933
|
-
switch(attributeSemantic){
|
|
5934
|
-
case "NORMAL":
|
|
5935
|
-
var normals = GLTFUtils.floatBufferToVector3Array(bufferData);
|
|
5936
|
-
mesh.setNormals(normals);
|
|
5937
|
-
break;
|
|
5938
|
-
case "TEXCOORD_0":
|
|
5939
|
-
var texturecoords = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5940
|
-
mesh.setUVs(texturecoords, 0);
|
|
5941
|
-
break;
|
|
5942
|
-
case "TEXCOORD_1":
|
|
5943
|
-
var texturecoords1 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5944
|
-
mesh.setUVs(texturecoords1, 1);
|
|
5945
|
-
break;
|
|
5946
|
-
case "TEXCOORD_2":
|
|
5947
|
-
var texturecoords2 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5948
|
-
mesh.setUVs(texturecoords2, 2);
|
|
5949
|
-
break;
|
|
5950
|
-
case "TEXCOORD_3":
|
|
5951
|
-
var texturecoords3 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5952
|
-
mesh.setUVs(texturecoords3, 3);
|
|
5953
|
-
break;
|
|
5954
|
-
case "TEXCOORD_4":
|
|
5955
|
-
var texturecoords4 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5956
|
-
mesh.setUVs(texturecoords4, 4);
|
|
5957
|
-
break;
|
|
5958
|
-
case "TEXCOORD_5":
|
|
5959
|
-
var texturecoords5 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5960
|
-
mesh.setUVs(texturecoords5, 5);
|
|
5961
|
-
break;
|
|
5962
|
-
case "TEXCOORD_6":
|
|
5963
|
-
var texturecoords6 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5964
|
-
mesh.setUVs(texturecoords6, 6);
|
|
5965
|
-
break;
|
|
5966
|
-
case "TEXCOORD_7":
|
|
5967
|
-
var texturecoords7 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5968
|
-
mesh.setUVs(texturecoords7, 7);
|
|
5969
|
-
break;
|
|
5970
|
-
case "COLOR_0":
|
|
5971
|
-
var colors = GLTFUtils.floatBufferToColorArray(bufferData, accessors[attributes["COLOR_0"]].type === AccessorType.VEC3);
|
|
5972
|
-
mesh.setColors(colors);
|
|
5973
|
-
break;
|
|
5974
|
-
case "TANGENT":
|
|
5975
|
-
var tangents = GLTFUtils.floatBufferToVector4Array(bufferData);
|
|
5976
|
-
mesh.setTangents(tangents);
|
|
5977
|
-
break;
|
|
5978
|
-
case "JOINTS_0":
|
|
5979
|
-
var joints = GLTFUtils.floatBufferToVector4Array(bufferData);
|
|
5980
|
-
mesh.setBoneIndices(joints);
|
|
5981
|
-
break;
|
|
5982
|
-
case "WEIGHTS_0":
|
|
5983
|
-
var weights = GLTFUtils.floatBufferToVector4Array(bufferData);
|
|
5984
|
-
mesh.setBoneWeights(weights);
|
|
5985
|
-
break;
|
|
5986
|
-
}
|
|
5987
|
-
}
|
|
5988
|
-
// Indices
|
|
5989
|
-
if (indices !== undefined) {
|
|
5990
|
-
var indexAccessor = gltf.accessors[indices];
|
|
5991
|
-
var indexData = getIndexBufferData();
|
|
5992
|
-
mesh.setIndices(indexData);
|
|
5993
|
-
mesh.addSubMesh(0, indexAccessor.count, mode);
|
|
5994
|
-
} else {
|
|
5995
|
-
mesh.addSubMesh(0, vertexCount, mode);
|
|
5996
|
-
}
|
|
5997
|
-
// BlendShapes
|
|
5998
|
-
targets && exports.GLTFMeshParser._createBlendShape(mesh, null, gltfMesh, accessors, targets, getBlendShapeData);
|
|
5999
|
-
mesh.uploadData(!keepMeshData);
|
|
6000
|
-
return Promise.resolve(mesh);
|
|
6001
|
-
};
|
|
6002
|
-
return KHR_draco_mesh_compression1;
|
|
6003
|
-
}(GLTFExtensionParser), function() {
|
|
6004
|
-
_KHR_draco_mesh_compression._tempVector3 = new engineMath.Vector3();
|
|
6005
|
-
}(), _KHR_draco_mesh_compression);
|
|
6006
|
-
KHR_draco_mesh_compression = __decorate([
|
|
6007
|
-
registerGLTFExtension("KHR_draco_mesh_compression", exports.GLTFExtensionMode.CreateAndParse)
|
|
6008
|
-
], KHR_draco_mesh_compression);
|
|
6009
|
-
|
|
6010
6118
|
var KHR_lights_punctual = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
6011
6119
|
_inherits(KHR_lights_punctual, GLTFExtensionParser1);
|
|
6012
6120
|
function KHR_lights_punctual() {
|
|
@@ -6339,6 +6447,23 @@ GALACEAN_animation_event = __decorate([
|
|
|
6339
6447
|
registerGLTFExtension("GALACEAN_animation_event", exports.GLTFExtensionMode.AdditiveParse)
|
|
6340
6448
|
], GALACEAN_animation_event);
|
|
6341
6449
|
|
|
6450
|
+
var EXT_meshopt_compression = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
6451
|
+
_inherits(EXT_meshopt_compression, GLTFExtensionParser1);
|
|
6452
|
+
function EXT_meshopt_compression() {
|
|
6453
|
+
return GLTFExtensionParser1.apply(this, arguments);
|
|
6454
|
+
}
|
|
6455
|
+
var _proto = EXT_meshopt_compression.prototype;
|
|
6456
|
+
_proto.createAndParse = function createAndParse(context, schema) {
|
|
6457
|
+
return context.get(exports.GLTFParserType.Buffer, schema.buffer).then(function(arrayBuffer) {
|
|
6458
|
+
return MeshoptDecoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
|
|
6459
|
+
});
|
|
6460
|
+
};
|
|
6461
|
+
return EXT_meshopt_compression;
|
|
6462
|
+
}(GLTFExtensionParser);
|
|
6463
|
+
EXT_meshopt_compression = __decorate([
|
|
6464
|
+
registerGLTFExtension("EXT_meshopt_compression", exports.GLTFExtensionMode.CreateAndParse)
|
|
6465
|
+
], EXT_meshopt_compression);
|
|
6466
|
+
|
|
6342
6467
|
var KHR_materials_anisotropy = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
6343
6468
|
_inherits(KHR_materials_anisotropy, GLTFExtensionParser1);
|
|
6344
6469
|
function KHR_materials_anisotropy() {
|
|
@@ -6362,6 +6487,7 @@ KHR_materials_anisotropy = __decorate([
|
|
|
6362
6487
|
registerGLTFExtension("KHR_materials_anisotropy", exports.GLTFExtensionMode.AdditiveParse)
|
|
6363
6488
|
], KHR_materials_anisotropy);
|
|
6364
6489
|
|
|
6490
|
+
exports.BufferInfo = BufferInfo;
|
|
6365
6491
|
exports.ComponentMap = ComponentMap;
|
|
6366
6492
|
exports.GLTFExtensionParser = GLTFExtensionParser;
|
|
6367
6493
|
exports.GLTFParser = GLTFParser;
|