@galacean/engine-loader 1.4.14 → 1.4.16
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 +1023 -855
- package/dist/main.js.map +1 -1
- package/dist/module.js +1024 -856
- package/dist/module.js.map +1 -1
- package/package.json +4 -4
- package/types/gltf/GLTFUtils.d.ts +3 -3
- package/types/gltf/extensions/GLTFExtensionParser.d.ts +3 -3
- package/types/gltf/parser/GLTFAnimationParser.d.ts +3 -3
- package/types/gltf/parser/GLTFAnimatorControllerParser.d.ts +2 -2
- package/types/gltf/parser/GLTFBufferParser.d.ts +2 -1
- package/types/gltf/parser/GLTFBufferViewParser.d.ts +3 -2
- package/types/gltf/parser/GLTFMaterialParser.d.ts +2 -2
- package/types/gltf/parser/GLTFMeshParser.d.ts +4 -4
- package/types/gltf/parser/GLTFParser.d.ts +2 -2
- package/types/gltf/parser/GLTFParserContext.d.ts +10 -9
- package/types/gltf/parser/GLTFSceneParser.d.ts +2 -2
- package/types/gltf/parser/GLTFSkinParser.d.ts +2 -2
- package/types/gltf/parser/GLTFTextureParser.d.ts +3 -3
- package/types/gltf/parser/GLTFValidator.d.ts +2 -1
- package/types/ktx2/KTX2Loader.d.ts +1 -1
- package/types/resource-deserialize/index.d.ts +8 -8
- package/types/resource-deserialize/resources/animationClip/AnimationClipDecoder.d.ts +2 -2
- package/types/resource-deserialize/resources/mesh/MeshDecoder.d.ts +2 -3
- package/types/resource-deserialize/resources/texture2D/TextureDecoder.d.ts +2 -2
- package/types/resource-deserialize/utils/Decorator.d.ts +2 -2
package/dist/module.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Utils,
|
|
2
|
-
import {
|
|
1
|
+
import { Utils, AssetPromise, AnimationClip, AnimationEvent, Loader, AnimationStringCurve, Keyframe, AnimationBoolCurve, AnimationRefCurve, AnimationQuaternionCurve, AnimationColorCurve, AnimationVector4Curve, AnimationVector3Curve, AnimationVector2Curve, AnimationFloatArrayCurve, AnimationArrayCurve, AnimationFloatCurve, ModelMesh, BlendShape, Entity, Transform, Texture2D, resourceLoader, ContentRestorer, ReferResource, Scene, AssetType, AnimatorController, AnimatorControllerLayer, AnimatorStateTransition, AmbientLight, DiffuseMode, TextureCube, TextureFilterMode, TextureCubeFace, Font, SystemInfo, Animator, Logger, IndexFormat, VertexElementFormat, GLCapabilityType, TextureFormat, request, InterpolationType, SkinnedMeshRenderer, PBRMaterial, PBRSpecularMaterial, TextureCoordinate, RenderFace, VertexElement, Buffer, BufferBindFlag, BufferUsage, Camera, MeshRenderer, Skin, TextureWrapMode as TextureWrapMode$1, AnimatorStateMachine, Shader, Material, PrimitiveMesh, SpriteAtlas, Sprite, AudioClip, AudioManager, ShaderFactory, ShaderLib, PhysicsMaterial, BackgroundMode, DirectLight, PointLight, SpotLight, UnlitMaterial } from '@galacean/engine-core';
|
|
2
|
+
import { Quaternion, Vector4, Color, Vector3, Vector2, SphericalHarmonics3, MathUtil, BoundingBox, Matrix, Rect } from '@galacean/engine-math';
|
|
3
3
|
import { GLCompressedTextureInternalFormat } from '@galacean/engine-rhi-webgl';
|
|
4
4
|
|
|
5
5
|
function _extends() {
|
|
@@ -285,11 +285,216 @@ var FileHeader = /*#__PURE__*/ function() {
|
|
|
285
285
|
return FileHeader;
|
|
286
286
|
}();
|
|
287
287
|
|
|
288
|
+
var InterpolableValueType = /*#__PURE__*/ function(InterpolableValueType) {
|
|
289
|
+
InterpolableValueType[InterpolableValueType["Float"] = 0] = "Float";
|
|
290
|
+
InterpolableValueType[InterpolableValueType["FloatArray"] = 1] = "FloatArray";
|
|
291
|
+
InterpolableValueType[InterpolableValueType["Vector2"] = 2] = "Vector2";
|
|
292
|
+
InterpolableValueType[InterpolableValueType["Vector3"] = 3] = "Vector3";
|
|
293
|
+
InterpolableValueType[InterpolableValueType["Vector4"] = 4] = "Vector4";
|
|
294
|
+
InterpolableValueType[InterpolableValueType["Quaternion"] = 5] = "Quaternion";
|
|
295
|
+
InterpolableValueType[InterpolableValueType["Color"] = 6] = "Color";
|
|
296
|
+
InterpolableValueType[InterpolableValueType["Array"] = 7] = "Array";
|
|
297
|
+
InterpolableValueType[InterpolableValueType["Boolean"] = 8] = "Boolean";
|
|
298
|
+
InterpolableValueType[InterpolableValueType["Rect"] = 9] = "Rect";
|
|
299
|
+
InterpolableValueType[InterpolableValueType["ReferResource"] = 10] = "ReferResource";
|
|
300
|
+
return InterpolableValueType;
|
|
301
|
+
}({});
|
|
302
|
+
var AnimationClipDecoder = /*#__PURE__*/ function() {
|
|
303
|
+
function AnimationClipDecoder() {}
|
|
304
|
+
AnimationClipDecoder.decode = function decode(engine, bufferReader) {
|
|
305
|
+
return new AssetPromise(function(resolve) {
|
|
306
|
+
var name = bufferReader.nextStr();
|
|
307
|
+
var clip = new AnimationClip(name);
|
|
308
|
+
var eventsLen = bufferReader.nextUint16();
|
|
309
|
+
for(var i = 0; i < eventsLen; ++i){
|
|
310
|
+
var event = new AnimationEvent();
|
|
311
|
+
event.time = bufferReader.nextFloat32();
|
|
312
|
+
event.functionName = bufferReader.nextStr();
|
|
313
|
+
event.parameter = JSON.parse(bufferReader.nextStr()).val;
|
|
314
|
+
clip.addEvent(event);
|
|
315
|
+
}
|
|
316
|
+
var curveBindingsLen = bufferReader.nextUint16();
|
|
317
|
+
for(var i1 = 0; i1 < curveBindingsLen; ++i1){
|
|
318
|
+
var relativePath = bufferReader.nextStr();
|
|
319
|
+
var componentStr = bufferReader.nextStr();
|
|
320
|
+
var componentType = Loader.getClass(componentStr);
|
|
321
|
+
var property = bufferReader.nextStr();
|
|
322
|
+
var getProperty = bufferReader.nextStr();
|
|
323
|
+
var curve = void 0;
|
|
324
|
+
var interpolation = bufferReader.nextUint8();
|
|
325
|
+
var keysLen = bufferReader.nextUint16();
|
|
326
|
+
var curveType = bufferReader.nextStr();
|
|
327
|
+
switch(curveType){
|
|
328
|
+
case "AnimationFloatCurve":
|
|
329
|
+
{
|
|
330
|
+
curve = new AnimationFloatCurve();
|
|
331
|
+
curve.interpolation = interpolation;
|
|
332
|
+
for(var j = 0; j < keysLen; ++j){
|
|
333
|
+
var keyframe = new Keyframe();
|
|
334
|
+
keyframe.time = bufferReader.nextFloat32();
|
|
335
|
+
keyframe.value = bufferReader.nextFloat32();
|
|
336
|
+
keyframe.inTangent = bufferReader.nextFloat32();
|
|
337
|
+
keyframe.outTangent = bufferReader.nextFloat32();
|
|
338
|
+
curve.addKey(keyframe);
|
|
339
|
+
}
|
|
340
|
+
break;
|
|
341
|
+
}
|
|
342
|
+
case "AnimationArrayCurve":
|
|
343
|
+
{
|
|
344
|
+
curve = new AnimationArrayCurve();
|
|
345
|
+
curve.interpolation = interpolation;
|
|
346
|
+
for(var j1 = 0; j1 < keysLen; ++j1){
|
|
347
|
+
var keyframe1 = new Keyframe();
|
|
348
|
+
keyframe1.time = bufferReader.nextFloat32();
|
|
349
|
+
var len = bufferReader.nextUint16();
|
|
350
|
+
keyframe1.value = Array.from(bufferReader.nextFloat32Array(len));
|
|
351
|
+
keyframe1.inTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
352
|
+
keyframe1.outTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
353
|
+
curve.addKey(keyframe1);
|
|
354
|
+
}
|
|
355
|
+
break;
|
|
356
|
+
}
|
|
357
|
+
case "AnimationFloatArrayCurve":
|
|
358
|
+
{
|
|
359
|
+
curve = new AnimationFloatArrayCurve();
|
|
360
|
+
curve.interpolation = interpolation;
|
|
361
|
+
for(var j2 = 0; j2 < keysLen; ++j2){
|
|
362
|
+
var keyframe2 = new Keyframe();
|
|
363
|
+
keyframe2.time = bufferReader.nextFloat32();
|
|
364
|
+
var len1 = bufferReader.nextUint16();
|
|
365
|
+
keyframe2.value = bufferReader.nextFloat32Array(len1);
|
|
366
|
+
keyframe2.inTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
367
|
+
keyframe2.outTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
368
|
+
curve.addKey(keyframe2);
|
|
369
|
+
}
|
|
370
|
+
break;
|
|
371
|
+
}
|
|
372
|
+
case "AnimationVector2Curve":
|
|
373
|
+
{
|
|
374
|
+
curve = new AnimationVector2Curve();
|
|
375
|
+
curve.interpolation = interpolation;
|
|
376
|
+
for(var j3 = 0; j3 < keysLen; ++j3){
|
|
377
|
+
var keyframe3 = new Keyframe();
|
|
378
|
+
keyframe3.time = bufferReader.nextFloat32();
|
|
379
|
+
keyframe3.value = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
380
|
+
keyframe3.inTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
381
|
+
keyframe3.outTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
382
|
+
curve.addKey(keyframe3);
|
|
383
|
+
}
|
|
384
|
+
break;
|
|
385
|
+
}
|
|
386
|
+
case "AnimationVector3Curve":
|
|
387
|
+
{
|
|
388
|
+
curve = new AnimationVector3Curve();
|
|
389
|
+
curve.interpolation = interpolation;
|
|
390
|
+
for(var j4 = 0; j4 < keysLen; ++j4){
|
|
391
|
+
var keyframe4 = new Keyframe();
|
|
392
|
+
keyframe4.time = bufferReader.nextFloat32();
|
|
393
|
+
keyframe4.value = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
394
|
+
keyframe4.inTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
395
|
+
keyframe4.outTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
396
|
+
curve.addKey(keyframe4);
|
|
397
|
+
}
|
|
398
|
+
break;
|
|
399
|
+
}
|
|
400
|
+
case "AnimationVector4Curve":
|
|
401
|
+
{
|
|
402
|
+
curve = new AnimationVector4Curve();
|
|
403
|
+
curve.interpolation = interpolation;
|
|
404
|
+
var keyframe5 = new Keyframe();
|
|
405
|
+
keyframe5.time = bufferReader.nextFloat32();
|
|
406
|
+
keyframe5.value = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
407
|
+
keyframe5.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
408
|
+
keyframe5.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
409
|
+
curve.addKey(keyframe5);
|
|
410
|
+
break;
|
|
411
|
+
}
|
|
412
|
+
case "AnimationColorCurve":
|
|
413
|
+
{
|
|
414
|
+
curve = new AnimationColorCurve();
|
|
415
|
+
curve.interpolation = interpolation;
|
|
416
|
+
for(var j5 = 0; j5 < keysLen; ++j5){
|
|
417
|
+
var keyframe6 = new Keyframe();
|
|
418
|
+
keyframe6.time = bufferReader.nextFloat32();
|
|
419
|
+
keyframe6.value = new Color(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
420
|
+
keyframe6.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
421
|
+
keyframe6.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
422
|
+
curve.addKey(keyframe6);
|
|
423
|
+
}
|
|
424
|
+
break;
|
|
425
|
+
}
|
|
426
|
+
case "AnimationQuaternionCurve":
|
|
427
|
+
{
|
|
428
|
+
curve = new AnimationQuaternionCurve();
|
|
429
|
+
curve.interpolation = interpolation;
|
|
430
|
+
for(var j6 = 0; j6 < keysLen; ++j6){
|
|
431
|
+
var keyframe7 = new Keyframe();
|
|
432
|
+
keyframe7.time = bufferReader.nextFloat32();
|
|
433
|
+
keyframe7.value = new Quaternion(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
434
|
+
keyframe7.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
435
|
+
keyframe7.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
436
|
+
curve.addKey(keyframe7);
|
|
437
|
+
}
|
|
438
|
+
break;
|
|
439
|
+
}
|
|
440
|
+
case "AnimationRefCurve":
|
|
441
|
+
{
|
|
442
|
+
curve = new AnimationRefCurve();
|
|
443
|
+
curve.interpolation = interpolation;
|
|
444
|
+
for(var j7 = 0; j7 < keysLen; ++j7){
|
|
445
|
+
var keyframe8 = new Keyframe();
|
|
446
|
+
keyframe8.time = bufferReader.nextFloat32();
|
|
447
|
+
var str = bufferReader.nextStr();
|
|
448
|
+
if (str) {
|
|
449
|
+
keyframe8.value = JSON.parse(str);
|
|
450
|
+
} else {
|
|
451
|
+
keyframe8.value = null;
|
|
452
|
+
}
|
|
453
|
+
curve.addKey(keyframe8);
|
|
454
|
+
}
|
|
455
|
+
break;
|
|
456
|
+
}
|
|
457
|
+
case "AnimationBoolCurve":
|
|
458
|
+
{
|
|
459
|
+
curve = new AnimationBoolCurve();
|
|
460
|
+
curve.interpolation = interpolation;
|
|
461
|
+
for(var j8 = 0; j8 < keysLen; ++j8){
|
|
462
|
+
var keyframe9 = new Keyframe();
|
|
463
|
+
keyframe9.time = bufferReader.nextFloat32();
|
|
464
|
+
keyframe9.value = bufferReader.nextUint8() === 1;
|
|
465
|
+
curve.addKey(keyframe9);
|
|
466
|
+
}
|
|
467
|
+
break;
|
|
468
|
+
}
|
|
469
|
+
case "AnimationStringCurve":
|
|
470
|
+
{
|
|
471
|
+
curve = new AnimationStringCurve();
|
|
472
|
+
curve.interpolation = interpolation;
|
|
473
|
+
for(var j9 = 0; j9 < keysLen; ++j9){
|
|
474
|
+
var keyframe10 = new Keyframe();
|
|
475
|
+
keyframe10.time = bufferReader.nextFloat32();
|
|
476
|
+
keyframe10.value = bufferReader.nextStr();
|
|
477
|
+
curve.addKey(keyframe10);
|
|
478
|
+
}
|
|
479
|
+
break;
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
clip.addCurveBinding(relativePath, componentType, property, getProperty, curve);
|
|
483
|
+
}
|
|
484
|
+
resolve(clip);
|
|
485
|
+
});
|
|
486
|
+
};
|
|
487
|
+
return AnimationClipDecoder;
|
|
488
|
+
}();
|
|
489
|
+
AnimationClipDecoder = __decorate([
|
|
490
|
+
decoder("AnimationClip")
|
|
491
|
+
], AnimationClipDecoder);
|
|
492
|
+
|
|
288
493
|
var MeshDecoder = /*#__PURE__*/ function() {
|
|
289
494
|
function MeshDecoder() {}
|
|
290
|
-
MeshDecoder.decode = function decode(engine, bufferReader) {
|
|
291
|
-
return new
|
|
292
|
-
var modelMesh = new ModelMesh(engine);
|
|
495
|
+
MeshDecoder.decode = function decode(engine, bufferReader, restoredMesh) {
|
|
496
|
+
return new AssetPromise(function(resolve) {
|
|
497
|
+
var modelMesh = restoredMesh || new ModelMesh(engine);
|
|
293
498
|
var jsonDataString = bufferReader.nextStr();
|
|
294
499
|
var encodedMeshData = JSON.parse(jsonDataString);
|
|
295
500
|
// @ts-ignore Vector3 is not compatible with {x: number, y: number, z: number}.
|
|
@@ -419,81 +624,6 @@ function float32ArrayToVector2(float32Array, vertexCount) {
|
|
|
419
624
|
return array;
|
|
420
625
|
}
|
|
421
626
|
|
|
422
|
-
var Texture2DDecoder = /*#__PURE__*/ function() {
|
|
423
|
-
function Texture2DDecoder() {}
|
|
424
|
-
Texture2DDecoder.decode = function decode(engine, bufferReader) {
|
|
425
|
-
return new Promise(function(resolve, reject) {
|
|
426
|
-
var objectId = bufferReader.nextStr();
|
|
427
|
-
var mipmap = !!bufferReader.nextUint8();
|
|
428
|
-
var filterMode = bufferReader.nextUint8();
|
|
429
|
-
var anisoLevel = bufferReader.nextUint8();
|
|
430
|
-
var wrapModeU = bufferReader.nextUint8();
|
|
431
|
-
var wrapModeV = bufferReader.nextUint8();
|
|
432
|
-
var format = bufferReader.nextUint8();
|
|
433
|
-
var width = bufferReader.nextUint16();
|
|
434
|
-
var height = bufferReader.nextUint16();
|
|
435
|
-
var isPixelBuffer = bufferReader.nextUint8();
|
|
436
|
-
var mipCount = bufferReader.nextUint8();
|
|
437
|
-
var imagesData = bufferReader.nextImagesData(mipCount);
|
|
438
|
-
var texture2D = new Texture2D(engine, width, height, format, mipmap);
|
|
439
|
-
texture2D.filterMode = filterMode;
|
|
440
|
-
texture2D.anisoLevel = anisoLevel;
|
|
441
|
-
texture2D.wrapModeU = wrapModeU;
|
|
442
|
-
texture2D.wrapModeV = wrapModeV;
|
|
443
|
-
if (isPixelBuffer) {
|
|
444
|
-
var pixelBuffer = imagesData[0];
|
|
445
|
-
texture2D.setPixelBuffer(pixelBuffer);
|
|
446
|
-
if (mipmap) {
|
|
447
|
-
texture2D.generateMipmaps();
|
|
448
|
-
for(var i = 1; i < mipCount; i++){
|
|
449
|
-
var pixelBuffer1 = imagesData[i];
|
|
450
|
-
texture2D.setPixelBuffer(pixelBuffer1, i);
|
|
451
|
-
}
|
|
452
|
-
}
|
|
453
|
-
// @ts-ignore
|
|
454
|
-
engine.resourceManager._objectPool[objectId] = texture2D;
|
|
455
|
-
resolve(texture2D);
|
|
456
|
-
} else {
|
|
457
|
-
var blob = new window.Blob([
|
|
458
|
-
imagesData[0]
|
|
459
|
-
]);
|
|
460
|
-
var img = new Image();
|
|
461
|
-
img.onload = function() {
|
|
462
|
-
texture2D.setImageSource(img);
|
|
463
|
-
var completedCount = 0;
|
|
464
|
-
var onComplete = function() {
|
|
465
|
-
completedCount++;
|
|
466
|
-
if (completedCount >= mipCount) {
|
|
467
|
-
resolve(texture2D);
|
|
468
|
-
}
|
|
469
|
-
};
|
|
470
|
-
onComplete();
|
|
471
|
-
if (mipmap) {
|
|
472
|
-
var _loop = function(i) {
|
|
473
|
-
var blob = new window.Blob([
|
|
474
|
-
imagesData[i]
|
|
475
|
-
]);
|
|
476
|
-
var img = new Image();
|
|
477
|
-
img.onload = function() {
|
|
478
|
-
texture2D.setImageSource(img, i);
|
|
479
|
-
onComplete();
|
|
480
|
-
};
|
|
481
|
-
img.src = URL.createObjectURL(blob);
|
|
482
|
-
};
|
|
483
|
-
texture2D.generateMipmaps();
|
|
484
|
-
for(var i = 1; i < mipCount; i++)_loop(i);
|
|
485
|
-
}
|
|
486
|
-
};
|
|
487
|
-
img.src = URL.createObjectURL(blob);
|
|
488
|
-
}
|
|
489
|
-
});
|
|
490
|
-
};
|
|
491
|
-
return Texture2DDecoder;
|
|
492
|
-
}();
|
|
493
|
-
Texture2DDecoder = __decorate([
|
|
494
|
-
decoder("Texture2D")
|
|
495
|
-
], Texture2DDecoder);
|
|
496
|
-
|
|
497
627
|
function _is_native_reflect_construct() {
|
|
498
628
|
// Since Reflect.construct can't be properly polyfilled, some
|
|
499
629
|
// implementations (e.g. core-js@2) don't set the correct internal slots.
|
|
@@ -672,333 +802,232 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
672
802
|
_proto.parseBasicType = function parseBasicType(value, originValue) {
|
|
673
803
|
var _this = this;
|
|
674
804
|
if (Array.isArray(value)) {
|
|
675
|
-
return Promise.all(value.map(function(item) {
|
|
676
|
-
return _this.parseBasicType(item);
|
|
677
|
-
}));
|
|
678
|
-
} else if ((typeof value === "undefined" ? "undefined" : _type_of(value)) === "object" && value != null) {
|
|
679
|
-
if (ReflectionParser._isClassType(value)) {
|
|
680
|
-
return Promise.resolve(Loader.getClass(value["classType"]));
|
|
681
|
-
} else if (ReflectionParser._isClass(value)) {
|
|
682
|
-
// class object
|
|
683
|
-
return this.parseClassObject(value);
|
|
684
|
-
} else if (ReflectionParser._isAssetRef(value)) {
|
|
685
|
-
var _this1 = this, context = _this1._context;
|
|
686
|
-
// reference object
|
|
687
|
-
// @ts-ignore
|
|
688
|
-
return context.resourceManager.getResourceByRef(value).then(function(resource) {
|
|
689
|
-
if (context.type === ParserType.Prefab) {
|
|
690
|
-
// @ts-ignore
|
|
691
|
-
context.resource._addDependenceAsset(resource);
|
|
692
|
-
}
|
|
693
|
-
return resource;
|
|
694
|
-
});
|
|
695
|
-
} else if (ReflectionParser._isComponentRef(value)) {
|
|
696
|
-
return this._context.getComponentByRef(value);
|
|
697
|
-
} else if (ReflectionParser._isEntityRef(value)) {
|
|
698
|
-
// entity reference
|
|
699
|
-
return Promise.resolve(this._context.entityMap.get(value.entityId));
|
|
700
|
-
} else if (originValue) {
|
|
701
|
-
var _this2, _loop = function(key) {
|
|
702
|
-
if (key === "methods") {
|
|
703
|
-
var methods = value[key];
|
|
704
|
-
for(var methodName in methods){
|
|
705
|
-
var methodParams = methods[methodName];
|
|
706
|
-
for(var i = 0, count = methodParams.length; i < count; i++){
|
|
707
|
-
var params = methodParams[i];
|
|
708
|
-
var promise = _this2.parseMethod(originValue, methodName, params);
|
|
709
|
-
promises.push(promise);
|
|
710
|
-
}
|
|
711
|
-
}
|
|
712
|
-
} else {
|
|
713
|
-
promises.push(_this2.parseBasicType(value[key], originValue[key]).then(function(v) {
|
|
714
|
-
return originValue[key] = v;
|
|
715
|
-
}));
|
|
716
|
-
}
|
|
717
|
-
};
|
|
718
|
-
var promises = [];
|
|
719
|
-
for(var key in value)_this2 = this, _loop(key);
|
|
720
|
-
return Promise.all(promises).then(function() {
|
|
721
|
-
return originValue;
|
|
722
|
-
});
|
|
723
|
-
}
|
|
724
|
-
}
|
|
725
|
-
// primitive type
|
|
726
|
-
return Promise.resolve(value);
|
|
727
|
-
};
|
|
728
|
-
_proto._getEntityByConfig = function _getEntityByConfig(entityConfig) {
|
|
729
|
-
var _this = this;
|
|
730
|
-
// @ts-ignore
|
|
731
|
-
var assetRefId = entityConfig.assetRefId;
|
|
732
|
-
var engine = this._context.engine;
|
|
733
|
-
if (assetRefId) {
|
|
734
|
-
return engine.resourceManager// @ts-ignore
|
|
735
|
-
.getResourceByRef({
|
|
736
|
-
refId: assetRefId,
|
|
737
|
-
key: entityConfig.key,
|
|
738
|
-
isClone: entityConfig.isClone
|
|
739
|
-
}).then(function(entity) {
|
|
740
|
-
// @ts-ignore
|
|
741
|
-
var resource = engine.resourceManager._objectPool[assetRefId];
|
|
742
|
-
if (_this._context.type === ParserType.Prefab) {
|
|
743
|
-
// @ts-ignore
|
|
744
|
-
_this._context.resource._addDependenceAsset(resource);
|
|
745
|
-
}
|
|
746
|
-
entity.name = entityConfig.name;
|
|
747
|
-
return entity;
|
|
748
|
-
});
|
|
749
|
-
} else {
|
|
750
|
-
var transform = entityConfig.transform;
|
|
751
|
-
var entity = new Entity(engine, entityConfig.name, transform ? Loader.getClass(transform.class) : Transform);
|
|
752
|
-
return Promise.resolve(entity);
|
|
753
|
-
}
|
|
754
|
-
};
|
|
755
|
-
ReflectionParser.registerCustomParseComponent = function registerCustomParseComponent(componentType, handle) {
|
|
756
|
-
this.customParseComponentHandles[componentType] = handle;
|
|
757
|
-
};
|
|
758
|
-
ReflectionParser._isClass = function _isClass(value) {
|
|
759
|
-
return value["class"] !== undefined;
|
|
760
|
-
};
|
|
761
|
-
ReflectionParser._isClassType = function _isClassType(value) {
|
|
762
|
-
return value["classType"] !== undefined;
|
|
763
|
-
};
|
|
764
|
-
ReflectionParser._isAssetRef = function _isAssetRef(value) {
|
|
765
|
-
return value["refId"] !== undefined;
|
|
766
|
-
};
|
|
767
|
-
ReflectionParser._isEntityRef = function _isEntityRef(value) {
|
|
768
|
-
return value["entityId"] !== undefined;
|
|
769
|
-
};
|
|
770
|
-
ReflectionParser._isComponentRef = function _isComponentRef(value) {
|
|
771
|
-
return value["ownerId"] !== undefined && value["componentId"] !== undefined;
|
|
772
|
-
};
|
|
773
|
-
ReflectionParser._isMethodObject = function _isMethodObject(value) {
|
|
774
|
-
return Array.isArray(value == null ? void 0 : value.params);
|
|
775
|
-
};
|
|
776
|
-
return ReflectionParser;
|
|
777
|
-
}();
|
|
778
|
-
ReflectionParser.customParseComponentHandles = new Map();
|
|
779
|
-
|
|
780
|
-
var InterpolableValueType = /*#__PURE__*/ function(InterpolableValueType) {
|
|
781
|
-
InterpolableValueType[InterpolableValueType["Float"] = 0] = "Float";
|
|
782
|
-
InterpolableValueType[InterpolableValueType["FloatArray"] = 1] = "FloatArray";
|
|
783
|
-
InterpolableValueType[InterpolableValueType["Vector2"] = 2] = "Vector2";
|
|
784
|
-
InterpolableValueType[InterpolableValueType["Vector3"] = 3] = "Vector3";
|
|
785
|
-
InterpolableValueType[InterpolableValueType["Vector4"] = 4] = "Vector4";
|
|
786
|
-
InterpolableValueType[InterpolableValueType["Quaternion"] = 5] = "Quaternion";
|
|
787
|
-
InterpolableValueType[InterpolableValueType["Color"] = 6] = "Color";
|
|
788
|
-
InterpolableValueType[InterpolableValueType["Array"] = 7] = "Array";
|
|
789
|
-
InterpolableValueType[InterpolableValueType["Boolean"] = 8] = "Boolean";
|
|
790
|
-
InterpolableValueType[InterpolableValueType["Rect"] = 9] = "Rect";
|
|
791
|
-
InterpolableValueType[InterpolableValueType["ReferResource"] = 10] = "ReferResource";
|
|
792
|
-
return InterpolableValueType;
|
|
793
|
-
}({});
|
|
794
|
-
var AnimationClipDecoder = /*#__PURE__*/ function() {
|
|
795
|
-
function AnimationClipDecoder() {}
|
|
796
|
-
AnimationClipDecoder.decode = function decode(engine, bufferReader) {
|
|
797
|
-
return new Promise(function(resolve) {
|
|
798
|
-
var name = bufferReader.nextStr();
|
|
799
|
-
var clip = new AnimationClip(name);
|
|
800
|
-
var eventsLen = bufferReader.nextUint16();
|
|
801
|
-
for(var i = 0; i < eventsLen; ++i){
|
|
802
|
-
var event = new AnimationEvent();
|
|
803
|
-
event.time = bufferReader.nextFloat32();
|
|
804
|
-
event.functionName = bufferReader.nextStr();
|
|
805
|
-
event.parameter = JSON.parse(bufferReader.nextStr()).val;
|
|
806
|
-
clip.addEvent(event);
|
|
807
|
-
}
|
|
808
|
-
var curveBindingsLen = bufferReader.nextUint16();
|
|
809
|
-
for(var i1 = 0; i1 < curveBindingsLen; ++i1){
|
|
810
|
-
var relativePath = bufferReader.nextStr();
|
|
811
|
-
var componentStr = bufferReader.nextStr();
|
|
812
|
-
var componentType = Loader.getClass(componentStr);
|
|
813
|
-
var property = bufferReader.nextStr();
|
|
814
|
-
var getProperty = bufferReader.nextStr();
|
|
815
|
-
var curve = void 0;
|
|
816
|
-
var interpolation = bufferReader.nextUint8();
|
|
817
|
-
var keysLen = bufferReader.nextUint16();
|
|
818
|
-
var curveType = bufferReader.nextStr();
|
|
819
|
-
switch(curveType){
|
|
820
|
-
case "AnimationFloatCurve":
|
|
821
|
-
{
|
|
822
|
-
curve = new AnimationFloatCurve();
|
|
823
|
-
curve.interpolation = interpolation;
|
|
824
|
-
for(var j = 0; j < keysLen; ++j){
|
|
825
|
-
var keyframe = new Keyframe();
|
|
826
|
-
keyframe.time = bufferReader.nextFloat32();
|
|
827
|
-
keyframe.value = bufferReader.nextFloat32();
|
|
828
|
-
keyframe.inTangent = bufferReader.nextFloat32();
|
|
829
|
-
keyframe.outTangent = bufferReader.nextFloat32();
|
|
830
|
-
curve.addKey(keyframe);
|
|
831
|
-
}
|
|
832
|
-
break;
|
|
833
|
-
}
|
|
834
|
-
case "AnimationArrayCurve":
|
|
835
|
-
{
|
|
836
|
-
curve = new AnimationArrayCurve();
|
|
837
|
-
curve.interpolation = interpolation;
|
|
838
|
-
for(var j1 = 0; j1 < keysLen; ++j1){
|
|
839
|
-
var keyframe1 = new Keyframe();
|
|
840
|
-
keyframe1.time = bufferReader.nextFloat32();
|
|
841
|
-
var len = bufferReader.nextUint16();
|
|
842
|
-
keyframe1.value = Array.from(bufferReader.nextFloat32Array(len));
|
|
843
|
-
keyframe1.inTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
844
|
-
keyframe1.outTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
845
|
-
curve.addKey(keyframe1);
|
|
846
|
-
}
|
|
847
|
-
break;
|
|
848
|
-
}
|
|
849
|
-
case "AnimationFloatArrayCurve":
|
|
850
|
-
{
|
|
851
|
-
curve = new AnimationFloatArrayCurve();
|
|
852
|
-
curve.interpolation = interpolation;
|
|
853
|
-
for(var j2 = 0; j2 < keysLen; ++j2){
|
|
854
|
-
var keyframe2 = new Keyframe();
|
|
855
|
-
keyframe2.time = bufferReader.nextFloat32();
|
|
856
|
-
var len1 = bufferReader.nextUint16();
|
|
857
|
-
keyframe2.value = bufferReader.nextFloat32Array(len1);
|
|
858
|
-
keyframe2.inTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
859
|
-
keyframe2.outTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
860
|
-
curve.addKey(keyframe2);
|
|
861
|
-
}
|
|
862
|
-
break;
|
|
863
|
-
}
|
|
864
|
-
case "AnimationVector2Curve":
|
|
865
|
-
{
|
|
866
|
-
curve = new AnimationVector2Curve();
|
|
867
|
-
curve.interpolation = interpolation;
|
|
868
|
-
for(var j3 = 0; j3 < keysLen; ++j3){
|
|
869
|
-
var keyframe3 = new Keyframe();
|
|
870
|
-
keyframe3.time = bufferReader.nextFloat32();
|
|
871
|
-
keyframe3.value = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
872
|
-
keyframe3.inTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
873
|
-
keyframe3.outTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
874
|
-
curve.addKey(keyframe3);
|
|
875
|
-
}
|
|
876
|
-
break;
|
|
877
|
-
}
|
|
878
|
-
case "AnimationVector3Curve":
|
|
879
|
-
{
|
|
880
|
-
curve = new AnimationVector3Curve();
|
|
881
|
-
curve.interpolation = interpolation;
|
|
882
|
-
for(var j4 = 0; j4 < keysLen; ++j4){
|
|
883
|
-
var keyframe4 = new Keyframe();
|
|
884
|
-
keyframe4.time = bufferReader.nextFloat32();
|
|
885
|
-
keyframe4.value = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
886
|
-
keyframe4.inTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
887
|
-
keyframe4.outTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
888
|
-
curve.addKey(keyframe4);
|
|
889
|
-
}
|
|
890
|
-
break;
|
|
891
|
-
}
|
|
892
|
-
case "AnimationVector4Curve":
|
|
893
|
-
{
|
|
894
|
-
curve = new AnimationVector4Curve();
|
|
895
|
-
curve.interpolation = interpolation;
|
|
896
|
-
var keyframe5 = new Keyframe();
|
|
897
|
-
keyframe5.time = bufferReader.nextFloat32();
|
|
898
|
-
keyframe5.value = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
899
|
-
keyframe5.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
900
|
-
keyframe5.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
901
|
-
curve.addKey(keyframe5);
|
|
902
|
-
break;
|
|
903
|
-
}
|
|
904
|
-
case "AnimationColorCurve":
|
|
905
|
-
{
|
|
906
|
-
curve = new AnimationColorCurve();
|
|
907
|
-
curve.interpolation = interpolation;
|
|
908
|
-
for(var j5 = 0; j5 < keysLen; ++j5){
|
|
909
|
-
var keyframe6 = new Keyframe();
|
|
910
|
-
keyframe6.time = bufferReader.nextFloat32();
|
|
911
|
-
keyframe6.value = new Color(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
912
|
-
keyframe6.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
913
|
-
keyframe6.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
914
|
-
curve.addKey(keyframe6);
|
|
915
|
-
}
|
|
916
|
-
break;
|
|
917
|
-
}
|
|
918
|
-
case "AnimationQuaternionCurve":
|
|
919
|
-
{
|
|
920
|
-
curve = new AnimationQuaternionCurve();
|
|
921
|
-
curve.interpolation = interpolation;
|
|
922
|
-
for(var j6 = 0; j6 < keysLen; ++j6){
|
|
923
|
-
var keyframe7 = new Keyframe();
|
|
924
|
-
keyframe7.time = bufferReader.nextFloat32();
|
|
925
|
-
keyframe7.value = new Quaternion(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
926
|
-
keyframe7.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
927
|
-
keyframe7.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
928
|
-
curve.addKey(keyframe7);
|
|
929
|
-
}
|
|
930
|
-
break;
|
|
931
|
-
}
|
|
932
|
-
case "AnimationRefCurve":
|
|
933
|
-
{
|
|
934
|
-
curve = new AnimationRefCurve();
|
|
935
|
-
curve.interpolation = interpolation;
|
|
936
|
-
for(var j7 = 0; j7 < keysLen; ++j7){
|
|
937
|
-
var keyframe8 = new Keyframe();
|
|
938
|
-
keyframe8.time = bufferReader.nextFloat32();
|
|
939
|
-
var str = bufferReader.nextStr();
|
|
940
|
-
if (str) {
|
|
941
|
-
keyframe8.value = JSON.parse(str);
|
|
942
|
-
} else {
|
|
943
|
-
keyframe8.value = null;
|
|
944
|
-
}
|
|
945
|
-
curve.addKey(keyframe8);
|
|
946
|
-
}
|
|
947
|
-
break;
|
|
948
|
-
}
|
|
949
|
-
case "AnimationBoolCurve":
|
|
950
|
-
{
|
|
951
|
-
curve = new AnimationBoolCurve();
|
|
952
|
-
curve.interpolation = interpolation;
|
|
953
|
-
for(var j8 = 0; j8 < keysLen; ++j8){
|
|
954
|
-
var keyframe9 = new Keyframe();
|
|
955
|
-
keyframe9.time = bufferReader.nextFloat32();
|
|
956
|
-
keyframe9.value = bufferReader.nextUint8() === 1;
|
|
957
|
-
curve.addKey(keyframe9);
|
|
958
|
-
}
|
|
959
|
-
break;
|
|
960
|
-
}
|
|
961
|
-
case "AnimationStringCurve":
|
|
962
|
-
{
|
|
963
|
-
curve = new AnimationStringCurve();
|
|
964
|
-
curve.interpolation = interpolation;
|
|
965
|
-
for(var j9 = 0; j9 < keysLen; ++j9){
|
|
966
|
-
var keyframe10 = new Keyframe();
|
|
967
|
-
keyframe10.time = bufferReader.nextFloat32();
|
|
968
|
-
keyframe10.value = bufferReader.nextStr();
|
|
969
|
-
curve.addKey(keyframe10);
|
|
805
|
+
return Promise.all(value.map(function(item) {
|
|
806
|
+
return _this.parseBasicType(item);
|
|
807
|
+
}));
|
|
808
|
+
} else if ((typeof value === "undefined" ? "undefined" : _type_of(value)) === "object" && value != null) {
|
|
809
|
+
if (ReflectionParser._isClassType(value)) {
|
|
810
|
+
return Promise.resolve(Loader.getClass(value["classType"]));
|
|
811
|
+
} else if (ReflectionParser._isClass(value)) {
|
|
812
|
+
// class object
|
|
813
|
+
return this.parseClassObject(value);
|
|
814
|
+
} else if (ReflectionParser._isAssetRef(value)) {
|
|
815
|
+
var _this1 = this, context = _this1._context;
|
|
816
|
+
// reference object
|
|
817
|
+
// @ts-ignore
|
|
818
|
+
return context.resourceManager.getResourceByRef(value).then(function(resource) {
|
|
819
|
+
if (context.type === ParserType.Prefab) {
|
|
820
|
+
// @ts-ignore
|
|
821
|
+
context.resource._addDependenceAsset(resource);
|
|
822
|
+
}
|
|
823
|
+
return resource;
|
|
824
|
+
});
|
|
825
|
+
} else if (ReflectionParser._isComponentRef(value)) {
|
|
826
|
+
return this._context.getComponentByRef(value);
|
|
827
|
+
} else if (ReflectionParser._isEntityRef(value)) {
|
|
828
|
+
// entity reference
|
|
829
|
+
return Promise.resolve(this._context.entityMap.get(value.entityId));
|
|
830
|
+
} else if (originValue) {
|
|
831
|
+
var _this2, _loop = function(key) {
|
|
832
|
+
if (key === "methods") {
|
|
833
|
+
var methods = value[key];
|
|
834
|
+
for(var methodName in methods){
|
|
835
|
+
var methodParams = methods[methodName];
|
|
836
|
+
for(var i = 0, count = methodParams.length; i < count; i++){
|
|
837
|
+
var params = methodParams[i];
|
|
838
|
+
var promise = _this2.parseMethod(originValue, methodName, params);
|
|
839
|
+
promises.push(promise);
|
|
970
840
|
}
|
|
971
|
-
break;
|
|
972
841
|
}
|
|
842
|
+
} else {
|
|
843
|
+
promises.push(_this2.parseBasicType(value[key], originValue[key]).then(function(v) {
|
|
844
|
+
return originValue[key] = v;
|
|
845
|
+
}));
|
|
846
|
+
}
|
|
847
|
+
};
|
|
848
|
+
var promises = [];
|
|
849
|
+
for(var key in value)_this2 = this, _loop(key);
|
|
850
|
+
return Promise.all(promises).then(function() {
|
|
851
|
+
return originValue;
|
|
852
|
+
});
|
|
853
|
+
}
|
|
854
|
+
}
|
|
855
|
+
// primitive type
|
|
856
|
+
return Promise.resolve(value);
|
|
857
|
+
};
|
|
858
|
+
_proto._getEntityByConfig = function _getEntityByConfig(entityConfig) {
|
|
859
|
+
var _this = this;
|
|
860
|
+
// @ts-ignore
|
|
861
|
+
var assetRefId = entityConfig.assetRefId;
|
|
862
|
+
var engine = this._context.engine;
|
|
863
|
+
if (assetRefId) {
|
|
864
|
+
return engine.resourceManager// @ts-ignore
|
|
865
|
+
.getResourceByRef({
|
|
866
|
+
refId: assetRefId,
|
|
867
|
+
key: entityConfig.key,
|
|
868
|
+
isClone: entityConfig.isClone
|
|
869
|
+
}).then(function(entity) {
|
|
870
|
+
// @ts-ignore
|
|
871
|
+
var resource = engine.resourceManager._objectPool[assetRefId];
|
|
872
|
+
if (_this._context.type === ParserType.Prefab) {
|
|
873
|
+
// @ts-ignore
|
|
874
|
+
_this._context.resource._addDependenceAsset(resource);
|
|
973
875
|
}
|
|
974
|
-
|
|
876
|
+
entity.name = entityConfig.name;
|
|
877
|
+
return entity;
|
|
878
|
+
});
|
|
879
|
+
} else {
|
|
880
|
+
var transform = entityConfig.transform;
|
|
881
|
+
var entity = new Entity(engine, entityConfig.name, transform ? Loader.getClass(transform.class) : Transform);
|
|
882
|
+
return Promise.resolve(entity);
|
|
883
|
+
}
|
|
884
|
+
};
|
|
885
|
+
ReflectionParser.registerCustomParseComponent = function registerCustomParseComponent(componentType, handle) {
|
|
886
|
+
this.customParseComponentHandles[componentType] = handle;
|
|
887
|
+
};
|
|
888
|
+
ReflectionParser._isClass = function _isClass(value) {
|
|
889
|
+
return value["class"] !== undefined;
|
|
890
|
+
};
|
|
891
|
+
ReflectionParser._isClassType = function _isClassType(value) {
|
|
892
|
+
return value["classType"] !== undefined;
|
|
893
|
+
};
|
|
894
|
+
ReflectionParser._isAssetRef = function _isAssetRef(value) {
|
|
895
|
+
return value["refId"] !== undefined;
|
|
896
|
+
};
|
|
897
|
+
ReflectionParser._isEntityRef = function _isEntityRef(value) {
|
|
898
|
+
return value["entityId"] !== undefined;
|
|
899
|
+
};
|
|
900
|
+
ReflectionParser._isComponentRef = function _isComponentRef(value) {
|
|
901
|
+
return value["ownerId"] !== undefined && value["componentId"] !== undefined;
|
|
902
|
+
};
|
|
903
|
+
ReflectionParser._isMethodObject = function _isMethodObject(value) {
|
|
904
|
+
return Array.isArray(value == null ? void 0 : value.params);
|
|
905
|
+
};
|
|
906
|
+
return ReflectionParser;
|
|
907
|
+
}();
|
|
908
|
+
ReflectionParser.customParseComponentHandles = new Map();
|
|
909
|
+
|
|
910
|
+
var Texture2DDecoder = /*#__PURE__*/ function() {
|
|
911
|
+
function Texture2DDecoder() {}
|
|
912
|
+
Texture2DDecoder.decode = function decode(engine, bufferReader, restoredTexture) {
|
|
913
|
+
return new AssetPromise(function(resolve, reject) {
|
|
914
|
+
var objectId = bufferReader.nextStr();
|
|
915
|
+
var mipmap = !!bufferReader.nextUint8();
|
|
916
|
+
var filterMode = bufferReader.nextUint8();
|
|
917
|
+
var anisoLevel = bufferReader.nextUint8();
|
|
918
|
+
var wrapModeU = bufferReader.nextUint8();
|
|
919
|
+
var wrapModeV = bufferReader.nextUint8();
|
|
920
|
+
var format = bufferReader.nextUint8();
|
|
921
|
+
var width = bufferReader.nextUint16();
|
|
922
|
+
var height = bufferReader.nextUint16();
|
|
923
|
+
var isPixelBuffer = bufferReader.nextUint8();
|
|
924
|
+
var mipCount = bufferReader.nextUint8();
|
|
925
|
+
var imagesData = bufferReader.nextImagesData(mipCount);
|
|
926
|
+
var texture2D = restoredTexture || new Texture2D(engine, width, height, format, mipmap);
|
|
927
|
+
texture2D.filterMode = filterMode;
|
|
928
|
+
texture2D.anisoLevel = anisoLevel;
|
|
929
|
+
texture2D.wrapModeU = wrapModeU;
|
|
930
|
+
texture2D.wrapModeV = wrapModeV;
|
|
931
|
+
if (isPixelBuffer) {
|
|
932
|
+
var pixelBuffer = imagesData[0];
|
|
933
|
+
texture2D.setPixelBuffer(pixelBuffer);
|
|
934
|
+
if (mipmap) {
|
|
935
|
+
texture2D.generateMipmaps();
|
|
936
|
+
for(var i = 1; i < mipCount; i++){
|
|
937
|
+
var pixelBuffer1 = imagesData[i];
|
|
938
|
+
texture2D.setPixelBuffer(pixelBuffer1, i);
|
|
939
|
+
}
|
|
940
|
+
}
|
|
941
|
+
// @ts-ignore
|
|
942
|
+
engine.resourceManager._objectPool[objectId] = texture2D;
|
|
943
|
+
resolve(texture2D);
|
|
944
|
+
} else {
|
|
945
|
+
var blob = new window.Blob([
|
|
946
|
+
imagesData[0]
|
|
947
|
+
]);
|
|
948
|
+
var img = new Image();
|
|
949
|
+
img.onload = function() {
|
|
950
|
+
texture2D.setImageSource(img);
|
|
951
|
+
var completedCount = 0;
|
|
952
|
+
var onComplete = function() {
|
|
953
|
+
completedCount++;
|
|
954
|
+
if (completedCount >= mipCount) {
|
|
955
|
+
resolve(texture2D);
|
|
956
|
+
}
|
|
957
|
+
};
|
|
958
|
+
onComplete();
|
|
959
|
+
if (mipmap) {
|
|
960
|
+
var _loop = function(i) {
|
|
961
|
+
var blob = new window.Blob([
|
|
962
|
+
imagesData[i]
|
|
963
|
+
]);
|
|
964
|
+
var img = new Image();
|
|
965
|
+
img.onload = function() {
|
|
966
|
+
texture2D.setImageSource(img, i);
|
|
967
|
+
onComplete();
|
|
968
|
+
};
|
|
969
|
+
img.src = URL.createObjectURL(blob);
|
|
970
|
+
};
|
|
971
|
+
texture2D.generateMipmaps();
|
|
972
|
+
for(var i = 1; i < mipCount; i++)_loop(i);
|
|
973
|
+
}
|
|
974
|
+
};
|
|
975
|
+
img.src = URL.createObjectURL(blob);
|
|
975
976
|
}
|
|
976
|
-
resolve(clip);
|
|
977
977
|
});
|
|
978
978
|
};
|
|
979
|
-
return
|
|
979
|
+
return Texture2DDecoder;
|
|
980
980
|
}();
|
|
981
|
-
|
|
982
|
-
decoder("
|
|
983
|
-
],
|
|
984
|
-
|
|
985
|
-
var MaterialLoaderType = /*#__PURE__*/ function(MaterialLoaderType) {
|
|
986
|
-
MaterialLoaderType["Vector2"] = "Vector2";
|
|
987
|
-
MaterialLoaderType["Vector3"] = "Vector3";
|
|
988
|
-
MaterialLoaderType["Vector4"] = "Vector4";
|
|
989
|
-
MaterialLoaderType["Color"] = "Color";
|
|
990
|
-
MaterialLoaderType["Float"] = "Float";
|
|
991
|
-
MaterialLoaderType["Texture"] = "Texture";
|
|
992
|
-
MaterialLoaderType["Boolean"] = "Boolean";
|
|
993
|
-
MaterialLoaderType["Integer"] = "Integer";
|
|
994
|
-
return MaterialLoaderType;
|
|
995
|
-
}({});
|
|
981
|
+
Texture2DDecoder = __decorate([
|
|
982
|
+
decoder("Texture2D")
|
|
983
|
+
], Texture2DDecoder);
|
|
996
984
|
|
|
997
|
-
var
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
}
|
|
985
|
+
var EditorTextureLoader = /*#__PURE__*/ function(Loader) {
|
|
986
|
+
_inherits(EditorTextureLoader, Loader);
|
|
987
|
+
function EditorTextureLoader() {
|
|
988
|
+
return Loader.apply(this, arguments) || this;
|
|
989
|
+
}
|
|
990
|
+
var _proto = EditorTextureLoader.prototype;
|
|
991
|
+
_proto.load = function load(item, resourceManager) {
|
|
992
|
+
var requestConfig = _extends({}, item, {
|
|
993
|
+
type: "arraybuffer"
|
|
994
|
+
});
|
|
995
|
+
var url = item.url;
|
|
996
|
+
return new AssetPromise(function(resolve, reject) {
|
|
997
|
+
resourceManager// @ts-ignore
|
|
998
|
+
._request(url, requestConfig).then(function(data) {
|
|
999
|
+
decode(data, resourceManager.engine).then(function(texture) {
|
|
1000
|
+
resourceManager.addContentRestorer(new EditorTexture2DContentRestorer(texture, url, requestConfig));
|
|
1001
|
+
resolve(texture);
|
|
1002
|
+
});
|
|
1003
|
+
}).catch(reject);
|
|
1004
|
+
});
|
|
1005
|
+
};
|
|
1006
|
+
return EditorTextureLoader;
|
|
1007
|
+
}(Loader);
|
|
1008
|
+
EditorTextureLoader = __decorate([
|
|
1009
|
+
resourceLoader("EditorTexture2D", [
|
|
1010
|
+
"prefab"
|
|
1011
|
+
], true)
|
|
1012
|
+
], EditorTextureLoader);
|
|
1013
|
+
var EditorTexture2DContentRestorer = /*#__PURE__*/ function(ContentRestorer) {
|
|
1014
|
+
_inherits(EditorTexture2DContentRestorer, ContentRestorer);
|
|
1015
|
+
function EditorTexture2DContentRestorer(resource, url, requestConfig) {
|
|
1016
|
+
var _this;
|
|
1017
|
+
_this = ContentRestorer.call(this, resource) || this, _this.url = url, _this.requestConfig = requestConfig;
|
|
1018
|
+
return _this;
|
|
1019
|
+
}
|
|
1020
|
+
var _proto = EditorTexture2DContentRestorer.prototype;
|
|
1021
|
+
_proto.restoreContent = function restoreContent() {
|
|
1022
|
+
var texture = this.resource;
|
|
1023
|
+
var engine = texture.engine;
|
|
1024
|
+
return engine.resourceManager// @ts-ignore
|
|
1025
|
+
._request(this.url, this.requestConfig).then(function(data) {
|
|
1026
|
+
return decode(data, engine, texture);
|
|
1027
|
+
});
|
|
1028
|
+
};
|
|
1029
|
+
return EditorTexture2DContentRestorer;
|
|
1030
|
+
}(ContentRestorer);
|
|
1002
1031
|
|
|
1003
1032
|
function _instanceof(left, right) {
|
|
1004
1033
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
@@ -1401,43 +1430,35 @@ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
|
|
|
1401
1430
|
* @param engine - the engine of the parser context
|
|
1402
1431
|
* @param sceneData - scene data which is exported by editor
|
|
1403
1432
|
* @returns a promise of scene
|
|
1404
|
-
*/ SceneParser.parse = function parse(engine, sceneData) {
|
|
1405
|
-
var scene = new Scene(engine);
|
|
1406
|
-
var context = new ParserContext(engine, ParserType.Scene, scene);
|
|
1407
|
-
var parser = new SceneParser(sceneData, context, scene);
|
|
1408
|
-
parser.start();
|
|
1409
|
-
return parser.promise.then(function() {
|
|
1410
|
-
return scene;
|
|
1411
|
-
});
|
|
1412
|
-
};
|
|
1413
|
-
return SceneParser;
|
|
1414
|
-
}(HierarchyParser);
|
|
1415
|
-
|
|
1416
|
-
var EditorTextureLoader = /*#__PURE__*/ function(Loader) {
|
|
1417
|
-
_inherits(EditorTextureLoader, Loader);
|
|
1418
|
-
function EditorTextureLoader() {
|
|
1419
|
-
return Loader.apply(this, arguments) || this;
|
|
1420
|
-
}
|
|
1421
|
-
var _proto = EditorTextureLoader.prototype;
|
|
1422
|
-
_proto.load = function load(item, resourceManager) {
|
|
1423
|
-
return new AssetPromise(function(resolve, reject) {
|
|
1424
|
-
resourceManager// @ts-ignore
|
|
1425
|
-
._request(item.url, _extends({}, item, {
|
|
1426
|
-
type: "arraybuffer"
|
|
1427
|
-
})).then(function(data) {
|
|
1428
|
-
decode(data, resourceManager.engine).then(function(texture) {
|
|
1429
|
-
resolve(texture);
|
|
1430
|
-
});
|
|
1431
|
-
}).catch(reject);
|
|
1433
|
+
*/ SceneParser.parse = function parse(engine, sceneData) {
|
|
1434
|
+
var scene = new Scene(engine);
|
|
1435
|
+
var context = new ParserContext(engine, ParserType.Scene, scene);
|
|
1436
|
+
var parser = new SceneParser(sceneData, context, scene);
|
|
1437
|
+
parser.start();
|
|
1438
|
+
return parser.promise.then(function() {
|
|
1439
|
+
return scene;
|
|
1432
1440
|
});
|
|
1433
1441
|
};
|
|
1434
|
-
return
|
|
1435
|
-
}(
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
]
|
|
1440
|
-
]
|
|
1442
|
+
return SceneParser;
|
|
1443
|
+
}(HierarchyParser);
|
|
1444
|
+
|
|
1445
|
+
var MaterialLoaderType = /*#__PURE__*/ function(MaterialLoaderType) {
|
|
1446
|
+
MaterialLoaderType["Vector2"] = "Vector2";
|
|
1447
|
+
MaterialLoaderType["Vector3"] = "Vector3";
|
|
1448
|
+
MaterialLoaderType["Vector4"] = "Vector4";
|
|
1449
|
+
MaterialLoaderType["Color"] = "Color";
|
|
1450
|
+
MaterialLoaderType["Float"] = "Float";
|
|
1451
|
+
MaterialLoaderType["Texture"] = "Texture";
|
|
1452
|
+
MaterialLoaderType["Boolean"] = "Boolean";
|
|
1453
|
+
MaterialLoaderType["Integer"] = "Integer";
|
|
1454
|
+
return MaterialLoaderType;
|
|
1455
|
+
}({});
|
|
1456
|
+
|
|
1457
|
+
var SpecularMode = /*#__PURE__*/ function(SpecularMode) {
|
|
1458
|
+
SpecularMode["Sky"] = "Sky";
|
|
1459
|
+
SpecularMode["Custom"] = "Custom";
|
|
1460
|
+
return SpecularMode;
|
|
1461
|
+
}({});
|
|
1441
1462
|
|
|
1442
1463
|
/**
|
|
1443
1464
|
* Decode engine binary resource.
|
|
@@ -1445,9 +1466,16 @@ EditorTextureLoader = __decorate([
|
|
|
1445
1466
|
* @param engine - engine
|
|
1446
1467
|
* @returns
|
|
1447
1468
|
*/ function decode(arrayBuffer, engine) {
|
|
1469
|
+
for(var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
1470
|
+
args[_key - 2] = arguments[_key];
|
|
1471
|
+
}
|
|
1472
|
+
var _decoderMap_header_type;
|
|
1448
1473
|
var header = FileHeader.decode(arrayBuffer);
|
|
1449
1474
|
var bufferReader = new BufferReader(new Uint8Array(arrayBuffer), header.headerLength, header.dataLength);
|
|
1450
|
-
return decoderMap[header.type].decode(
|
|
1475
|
+
return (_decoderMap_header_type = decoderMap[header.type]).decode.apply(_decoderMap_header_type, [].concat([
|
|
1476
|
+
engine,
|
|
1477
|
+
bufferReader
|
|
1478
|
+
], args)).then(function(object) {
|
|
1451
1479
|
object.name = header.name;
|
|
1452
1480
|
return object;
|
|
1453
1481
|
});
|
|
@@ -1663,10 +1691,11 @@ var EnvLoader = /*#__PURE__*/ function(Loader) {
|
|
|
1663
1691
|
type: "arraybuffer"
|
|
1664
1692
|
});
|
|
1665
1693
|
var engine = resourceManager.engine;
|
|
1694
|
+
var url = item.url;
|
|
1666
1695
|
resourceManager// @ts-ignore
|
|
1667
|
-
._request(
|
|
1696
|
+
._request(url, requestConfig).then(function(arraybuffer) {
|
|
1668
1697
|
var texture = EnvLoader._setTextureByBuffer(engine, arraybuffer);
|
|
1669
|
-
engine.resourceManager.addContentRestorer(new EnvContentRestorer(texture,
|
|
1698
|
+
engine.resourceManager.addContentRestorer(new EnvContentRestorer(texture, url, requestConfig));
|
|
1670
1699
|
var ambientLight = new AmbientLight(engine);
|
|
1671
1700
|
var sh = new SphericalHarmonics3();
|
|
1672
1701
|
ambientLight.diffuseMode = DiffuseMode.SphericalHarmonics;
|
|
@@ -1721,9 +1750,12 @@ EnvLoader = __decorate([
|
|
|
1721
1750
|
_proto.restoreContent = function restoreContent() {
|
|
1722
1751
|
var _this = this;
|
|
1723
1752
|
return new AssetPromise(function(resolve, reject) {
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1753
|
+
var resource = _this.resource;
|
|
1754
|
+
var engine = resource.engine;
|
|
1755
|
+
engine.resourceManager// @ts-ignore
|
|
1756
|
+
._request(_this.url, _this.requestConfig).then(function(buffer) {
|
|
1757
|
+
EnvLoader._setTextureByBuffer(engine, buffer, resource);
|
|
1758
|
+
resolve(resource);
|
|
1727
1759
|
}).catch(reject);
|
|
1728
1760
|
});
|
|
1729
1761
|
};
|
|
@@ -1790,35 +1822,232 @@ var FontLoader = /*#__PURE__*/ function(Loader) {
|
|
|
1790
1822
|
reject(e);
|
|
1791
1823
|
});
|
|
1792
1824
|
});
|
|
1793
|
-
};
|
|
1794
|
-
_proto._registerFont = function _registerFont(fontName, fontUrl) {
|
|
1795
|
-
return _async_to_generator(function() {
|
|
1796
|
-
var fontFace;
|
|
1797
|
-
return __generator(this, function(_state) {
|
|
1798
|
-
switch(_state.label){
|
|
1799
|
-
case 0:
|
|
1800
|
-
fontFace = new FontFace(fontName, "url(" + fontUrl + ")");
|
|
1801
|
-
return [
|
|
1802
|
-
4,
|
|
1803
|
-
fontFace.load()
|
|
1804
|
-
];
|
|
1805
|
-
case 1:
|
|
1806
|
-
_state.sent();
|
|
1807
|
-
document.fonts.add(fontFace);
|
|
1808
|
-
return [
|
|
1809
|
-
2
|
|
1810
|
-
];
|
|
1811
|
-
}
|
|
1812
|
-
});
|
|
1813
|
-
})();
|
|
1814
|
-
};
|
|
1815
|
-
return FontLoader;
|
|
1816
|
-
}(Loader);
|
|
1817
|
-
FontLoader = __decorate([
|
|
1818
|
-
resourceLoader(AssetType.Font, [
|
|
1819
|
-
"font"
|
|
1820
|
-
], false)
|
|
1821
|
-
], FontLoader);
|
|
1825
|
+
};
|
|
1826
|
+
_proto._registerFont = function _registerFont(fontName, fontUrl) {
|
|
1827
|
+
return _async_to_generator(function() {
|
|
1828
|
+
var fontFace;
|
|
1829
|
+
return __generator(this, function(_state) {
|
|
1830
|
+
switch(_state.label){
|
|
1831
|
+
case 0:
|
|
1832
|
+
fontFace = new FontFace(fontName, "url(" + fontUrl + ")");
|
|
1833
|
+
return [
|
|
1834
|
+
4,
|
|
1835
|
+
fontFace.load()
|
|
1836
|
+
];
|
|
1837
|
+
case 1:
|
|
1838
|
+
_state.sent();
|
|
1839
|
+
document.fonts.add(fontFace);
|
|
1840
|
+
return [
|
|
1841
|
+
2
|
|
1842
|
+
];
|
|
1843
|
+
}
|
|
1844
|
+
});
|
|
1845
|
+
})();
|
|
1846
|
+
};
|
|
1847
|
+
return FontLoader;
|
|
1848
|
+
}(Loader);
|
|
1849
|
+
FontLoader = __decorate([
|
|
1850
|
+
resourceLoader(AssetType.Font, [
|
|
1851
|
+
"font"
|
|
1852
|
+
], false)
|
|
1853
|
+
], FontLoader);
|
|
1854
|
+
|
|
1855
|
+
// Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
|
|
1856
|
+
var ready;
|
|
1857
|
+
function getMeshoptDecoder() {
|
|
1858
|
+
if (ready) return ready;
|
|
1859
|
+
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";
|
|
1860
|
+
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";
|
|
1861
|
+
var wasmpack = new Uint8Array([
|
|
1862
|
+
32,
|
|
1863
|
+
0,
|
|
1864
|
+
65,
|
|
1865
|
+
2,
|
|
1866
|
+
1,
|
|
1867
|
+
106,
|
|
1868
|
+
34,
|
|
1869
|
+
33,
|
|
1870
|
+
3,
|
|
1871
|
+
128,
|
|
1872
|
+
11,
|
|
1873
|
+
4,
|
|
1874
|
+
13,
|
|
1875
|
+
64,
|
|
1876
|
+
6,
|
|
1877
|
+
253,
|
|
1878
|
+
10,
|
|
1879
|
+
7,
|
|
1880
|
+
15,
|
|
1881
|
+
116,
|
|
1882
|
+
127,
|
|
1883
|
+
5,
|
|
1884
|
+
8,
|
|
1885
|
+
12,
|
|
1886
|
+
40,
|
|
1887
|
+
16,
|
|
1888
|
+
19,
|
|
1889
|
+
54,
|
|
1890
|
+
20,
|
|
1891
|
+
9,
|
|
1892
|
+
27,
|
|
1893
|
+
255,
|
|
1894
|
+
113,
|
|
1895
|
+
17,
|
|
1896
|
+
42,
|
|
1897
|
+
67,
|
|
1898
|
+
24,
|
|
1899
|
+
23,
|
|
1900
|
+
146,
|
|
1901
|
+
148,
|
|
1902
|
+
18,
|
|
1903
|
+
14,
|
|
1904
|
+
22,
|
|
1905
|
+
45,
|
|
1906
|
+
70,
|
|
1907
|
+
69,
|
|
1908
|
+
56,
|
|
1909
|
+
114,
|
|
1910
|
+
101,
|
|
1911
|
+
21,
|
|
1912
|
+
25,
|
|
1913
|
+
63,
|
|
1914
|
+
75,
|
|
1915
|
+
136,
|
|
1916
|
+
108,
|
|
1917
|
+
28,
|
|
1918
|
+
118,
|
|
1919
|
+
29,
|
|
1920
|
+
73,
|
|
1921
|
+
115
|
|
1922
|
+
]);
|
|
1923
|
+
// @ts-ignore
|
|
1924
|
+
var wasm = SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
|
|
1925
|
+
var instance;
|
|
1926
|
+
ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
|
|
1927
|
+
instance = result.instance;
|
|
1928
|
+
instance.exports.__wasm_call_ctors();
|
|
1929
|
+
}).then(function() {
|
|
1930
|
+
return {
|
|
1931
|
+
workerCount: 4,
|
|
1932
|
+
ready: ready,
|
|
1933
|
+
useWorkers: function useWorkers(workerCount) {
|
|
1934
|
+
this.workerCount = workerCount != null ? workerCount : this.workerCount;
|
|
1935
|
+
initWorkers(this.workerCount);
|
|
1936
|
+
},
|
|
1937
|
+
decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
|
|
1938
|
+
if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
|
|
1939
|
+
if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
|
|
1940
|
+
return ready.then(function() {
|
|
1941
|
+
var target = new Uint8Array(count * stride);
|
|
1942
|
+
decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
|
|
1943
|
+
return target;
|
|
1944
|
+
});
|
|
1945
|
+
},
|
|
1946
|
+
release: function release() {
|
|
1947
|
+
for(var i = 0; i < workers.length; i++){
|
|
1948
|
+
workers[i].object.terminate();
|
|
1949
|
+
}
|
|
1950
|
+
}
|
|
1951
|
+
};
|
|
1952
|
+
});
|
|
1953
|
+
function unpack(data) {
|
|
1954
|
+
var result = new Uint8Array(data.length);
|
|
1955
|
+
for(var i = 0; i < data.length; ++i){
|
|
1956
|
+
var ch = data.charCodeAt(i);
|
|
1957
|
+
result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
|
|
1958
|
+
}
|
|
1959
|
+
var write = 0;
|
|
1960
|
+
for(var i1 = 0; i1 < data.length; ++i1){
|
|
1961
|
+
result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
|
|
1962
|
+
}
|
|
1963
|
+
return result.buffer.slice(0, write);
|
|
1964
|
+
}
|
|
1965
|
+
function decode(fun, target, count, size, source, filter) {
|
|
1966
|
+
var sbrk = instance.exports.sbrk;
|
|
1967
|
+
var count4 = count + 3 & ~3;
|
|
1968
|
+
var tp = sbrk(count4 * size);
|
|
1969
|
+
var sp = sbrk(source.length);
|
|
1970
|
+
var heap = new Uint8Array(instance.exports.memory.buffer);
|
|
1971
|
+
heap.set(source, sp);
|
|
1972
|
+
var res = fun(tp, count, size, sp, source.length);
|
|
1973
|
+
if (res == 0 && filter) {
|
|
1974
|
+
filter(tp, count4, size);
|
|
1975
|
+
}
|
|
1976
|
+
target.set(heap.subarray(tp, tp + count * size));
|
|
1977
|
+
sbrk(tp - sbrk(0));
|
|
1978
|
+
if (res != 0) {
|
|
1979
|
+
throw new Error("Malformed buffer data: " + res);
|
|
1980
|
+
}
|
|
1981
|
+
}
|
|
1982
|
+
var filters = {
|
|
1983
|
+
NONE: "",
|
|
1984
|
+
OCTAHEDRAL: "meshopt_decodeFilterOct",
|
|
1985
|
+
QUATERNION: "meshopt_decodeFilterQuat",
|
|
1986
|
+
EXPONENTIAL: "meshopt_decodeFilterExp"
|
|
1987
|
+
};
|
|
1988
|
+
var decoders = {
|
|
1989
|
+
ATTRIBUTES: "meshopt_decodeVertexBuffer",
|
|
1990
|
+
TRIANGLES: "meshopt_decodeIndexBuffer",
|
|
1991
|
+
INDICES: "meshopt_decodeIndexSequence"
|
|
1992
|
+
};
|
|
1993
|
+
var workers = [];
|
|
1994
|
+
var requestId = 0;
|
|
1995
|
+
function createWorker(url) {
|
|
1996
|
+
var worker = {
|
|
1997
|
+
object: new Worker(url),
|
|
1998
|
+
pending: 0,
|
|
1999
|
+
requests: {}
|
|
2000
|
+
};
|
|
2001
|
+
worker.object.onmessage = function(event) {
|
|
2002
|
+
var data = event.data;
|
|
2003
|
+
worker.pending -= data.count;
|
|
2004
|
+
worker.requests[data.id][data.action](data.value);
|
|
2005
|
+
delete worker.requests[data.id];
|
|
2006
|
+
};
|
|
2007
|
+
return worker;
|
|
2008
|
+
}
|
|
2009
|
+
function initWorkers(count) {
|
|
2010
|
+
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();});\n" + "self.onmessage = workerProcess;\n" + 'function decode(fun, target, count, size, source, filter) {\n const sbrk = instance.exports.sbrk;\n const count4 = (count + 3) & ~3;\n const tp = sbrk(count4 * size);\n const sp = sbrk(source.length);\n const heap = new Uint8Array(instance.exports.memory.buffer);\n heap.set(source, sp);\n const res = fun(tp, count, size, sp, source.length);\n if (res == 0 && filter) {\n filter(tp, count4, size);\n }\n target.set(heap.subarray(tp, tp + count * size));\n sbrk(tp - sbrk(0));\n if (res != 0) {\n throw new Error("Malformed buffer data: " + res);\n }\n }\n' + 'function workerProcess(event) {\n ready.then(function () {\n const data = event.data;\n try {\n const target = new Uint8Array(data.count * data.size);\n decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);\n self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [target.buffer]);\n } catch (error) {\n self.postMessage({\n id: data.id,\n count: data.count,\n action: "reject",\n value: error\n });\n }\n });\n }';
|
|
2011
|
+
var blob = new Blob([
|
|
2012
|
+
source
|
|
2013
|
+
], {
|
|
2014
|
+
type: "text/javascript"
|
|
2015
|
+
});
|
|
2016
|
+
var url = URL.createObjectURL(blob);
|
|
2017
|
+
for(var i = 0; i < count; ++i){
|
|
2018
|
+
workers[i] = createWorker(url);
|
|
2019
|
+
}
|
|
2020
|
+
URL.revokeObjectURL(url);
|
|
2021
|
+
}
|
|
2022
|
+
function decodeWorker(count, size, source, mode, filter) {
|
|
2023
|
+
var worker = workers[0];
|
|
2024
|
+
for(var i = 1; i < workers.length; ++i){
|
|
2025
|
+
if (workers[i].pending < worker.pending) {
|
|
2026
|
+
worker = workers[i];
|
|
2027
|
+
}
|
|
2028
|
+
}
|
|
2029
|
+
return new Promise(function(resolve, reject) {
|
|
2030
|
+
var data = new Uint8Array(source);
|
|
2031
|
+
var id = requestId++;
|
|
2032
|
+
worker.pending += count;
|
|
2033
|
+
worker.requests[id] = {
|
|
2034
|
+
resolve: resolve,
|
|
2035
|
+
reject: reject
|
|
2036
|
+
};
|
|
2037
|
+
worker.object.postMessage({
|
|
2038
|
+
id: id,
|
|
2039
|
+
count: count,
|
|
2040
|
+
size: size,
|
|
2041
|
+
source: data,
|
|
2042
|
+
mode: mode,
|
|
2043
|
+
filter: filter
|
|
2044
|
+
}, [
|
|
2045
|
+
data.buffer
|
|
2046
|
+
]);
|
|
2047
|
+
});
|
|
2048
|
+
}
|
|
2049
|
+
return ready;
|
|
2050
|
+
}
|
|
1822
2051
|
|
|
1823
2052
|
/**
|
|
1824
2053
|
* The glTF resource.
|
|
@@ -1846,14 +2075,16 @@ FontLoader = __decorate([
|
|
|
1846
2075
|
materials && this._disassociationSuperResource(materials);
|
|
1847
2076
|
if (meshes) {
|
|
1848
2077
|
for(var i = 0, n = meshes.length; i < n; i++){
|
|
1849
|
-
|
|
2078
|
+
var meshArr = meshes[i];
|
|
2079
|
+
meshArr && this._disassociationSuperResource(meshArr);
|
|
1850
2080
|
}
|
|
1851
2081
|
}
|
|
1852
2082
|
};
|
|
1853
2083
|
_proto._disassociationSuperResource = function _disassociationSuperResource(resources) {
|
|
1854
2084
|
for(var i = 0, n = resources.length; i < n; i++){
|
|
1855
|
-
// @ts-ignore
|
|
1856
|
-
|
|
2085
|
+
var // @ts-ignore
|
|
2086
|
+
_resources_i;
|
|
2087
|
+
(_resources_i = resources[i]) == null ? void 0 : _resources_i._disassociationSuperResource(this);
|
|
1857
2088
|
}
|
|
1858
2089
|
};
|
|
1859
2090
|
_create_class(GLTFResource, [
|
|
@@ -2053,6 +2284,7 @@ FontLoader = __decorate([
|
|
|
2053
2284
|
this.params = params;
|
|
2054
2285
|
this.accessorBufferCache = {};
|
|
2055
2286
|
this.needAnimatorController = false;
|
|
2287
|
+
this./** @internal */ _getPromises = [];
|
|
2056
2288
|
this._resourceCache = new Map();
|
|
2057
2289
|
this._progress = {
|
|
2058
2290
|
taskDetail: {},
|
|
@@ -2077,7 +2309,7 @@ FontLoader = __decorate([
|
|
|
2077
2309
|
var _this = this;
|
|
2078
2310
|
var parser = GLTFParserContext._parsers[type];
|
|
2079
2311
|
if (!parser) {
|
|
2080
|
-
return
|
|
2312
|
+
return AssetPromise.resolve(null);
|
|
2081
2313
|
}
|
|
2082
2314
|
var cache = this._resourceCache;
|
|
2083
2315
|
var cacheKey = index === undefined ? "" + type : type + ":" + index;
|
|
@@ -2093,7 +2325,7 @@ FontLoader = __decorate([
|
|
|
2093
2325
|
if (index === undefined) {
|
|
2094
2326
|
resource = type === 8 ? glTFItems.map(function(_, index) {
|
|
2095
2327
|
return _this.get(type, index);
|
|
2096
|
-
}) :
|
|
2328
|
+
}) : AssetPromise.all(glTFItems.map(function(_, index) {
|
|
2097
2329
|
return _this.get(type, index);
|
|
2098
2330
|
}));
|
|
2099
2331
|
} else {
|
|
@@ -2101,12 +2333,15 @@ FontLoader = __decorate([
|
|
|
2101
2333
|
isSubAsset && this._handleSubAsset(resource, type, index);
|
|
2102
2334
|
}
|
|
2103
2335
|
} else {
|
|
2104
|
-
resource =
|
|
2336
|
+
resource = AssetPromise.resolve(null);
|
|
2105
2337
|
}
|
|
2106
2338
|
} else {
|
|
2107
2339
|
resource = parser.parse(this, index);
|
|
2108
2340
|
isSubAsset && this._handleSubAsset(resource, type, index);
|
|
2109
2341
|
}
|
|
2342
|
+
if (_instanceof(resource, AssetPromise)) {
|
|
2343
|
+
this._getPromises.push(resource);
|
|
2344
|
+
}
|
|
2110
2345
|
cache.set(cacheKey, resource);
|
|
2111
2346
|
return resource;
|
|
2112
2347
|
};
|
|
@@ -2115,7 +2350,7 @@ FontLoader = __decorate([
|
|
|
2115
2350
|
var promise = this.get(0).then(function(json) {
|
|
2116
2351
|
_this.glTF = json;
|
|
2117
2352
|
_this.needAnimatorController = !!(json.skins || json.animations);
|
|
2118
|
-
return
|
|
2353
|
+
return AssetPromise.all([
|
|
2119
2354
|
_this.get(1),
|
|
2120
2355
|
_this.get(5),
|
|
2121
2356
|
_this.get(6),
|
|
@@ -2178,6 +2413,8 @@ FontLoader = __decorate([
|
|
|
2178
2413
|
_this.resourceManager._onSubAssetSuccess(url, "defaultSceneRoot", item);
|
|
2179
2414
|
}
|
|
2180
2415
|
}
|
|
2416
|
+
}).catch(function(e) {
|
|
2417
|
+
Logger.error("GLTFParserContext", "Failed to load " + glTFResourceKey + " " + index + ": " + e);
|
|
2181
2418
|
});
|
|
2182
2419
|
}
|
|
2183
2420
|
};
|
|
@@ -2356,13 +2593,15 @@ function registerGLTFParser(pipeline) {
|
|
|
2356
2593
|
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
|
|
2357
2594
|
}
|
|
2358
2595
|
return bufferInfo;
|
|
2596
|
+
}).catch(function(e) {
|
|
2597
|
+
Logger.error("GLTFUtil getAccessorBuffer error", e);
|
|
2359
2598
|
});
|
|
2360
2599
|
} else {
|
|
2361
2600
|
var count = accessorCount * dataElementSize;
|
|
2362
2601
|
var data = new TypedArray(count);
|
|
2363
2602
|
var bufferInfo = new BufferInfo(data, false, elementStride);
|
|
2364
2603
|
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(undefined, TypedArray, undefined, count));
|
|
2365
|
-
promise =
|
|
2604
|
+
promise = AssetPromise.resolve(bufferInfo);
|
|
2366
2605
|
}
|
|
2367
2606
|
return accessor.sparse ? promise.then(function(bufferInfo) {
|
|
2368
2607
|
return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
|
|
@@ -2397,7 +2636,7 @@ function registerGLTFParser(pipeline) {
|
|
|
2397
2636
|
var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
|
|
2398
2637
|
var indicesBufferView = bufferViews[indices.bufferView];
|
|
2399
2638
|
var valuesBufferView = bufferViews[values.bufferView];
|
|
2400
|
-
return
|
|
2639
|
+
return AssetPromise.all([
|
|
2401
2640
|
context.get(GLTFParserType.BufferView, indices.bufferView),
|
|
2402
2641
|
context.get(GLTFParserType.BufferView, values.bufferView)
|
|
2403
2642
|
]).then(function(param) {
|
|
@@ -2424,6 +2663,8 @@ function registerGLTFParser(pipeline) {
|
|
|
2424
2663
|
}
|
|
2425
2664
|
}
|
|
2426
2665
|
bufferInfo.data = data;
|
|
2666
|
+
}).catch(function(e) {
|
|
2667
|
+
Logger.error("GLTFUtil processingSparseData error", e);
|
|
2427
2668
|
});
|
|
2428
2669
|
};
|
|
2429
2670
|
GLTFUtils.getIndexFormat = function getIndexFormat(type) {
|
|
@@ -3393,15 +3634,20 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
|
|
|
3393
3634
|
* @internal
|
|
3394
3635
|
*/ _proto.load = function load(item, resourceManager) {
|
|
3395
3636
|
return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
|
|
3396
|
-
|
|
3397
|
-
._request(item.url, {
|
|
3637
|
+
var requestConfig = _extends({}, item, {
|
|
3398
3638
|
type: "arraybuffer"
|
|
3399
|
-
})
|
|
3639
|
+
});
|
|
3640
|
+
var url = item.url;
|
|
3641
|
+
resourceManager// @ts-ignore
|
|
3642
|
+
._request(url, requestConfig).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(buffer) {
|
|
3400
3643
|
return KTX2Loader._parseBuffer(new Uint8Array(buffer), resourceManager.engine, item.params).then(function(param) {
|
|
3401
3644
|
var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
3402
3645
|
return KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
|
|
3646
|
+
}).then(function(texture) {
|
|
3647
|
+
resourceManager.addContentRestorer(new KTX2ContentRestorer(texture, url, requestConfig));
|
|
3648
|
+
resolve(texture);
|
|
3403
3649
|
});
|
|
3404
|
-
}).
|
|
3650
|
+
}).catch(reject);
|
|
3405
3651
|
});
|
|
3406
3652
|
};
|
|
3407
3653
|
/**
|
|
@@ -3440,7 +3686,7 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
|
|
|
3440
3686
|
};
|
|
3441
3687
|
});
|
|
3442
3688
|
};
|
|
3443
|
-
/** @internal */ KTX2Loader._createTextureByBuffer = function _createTextureByBuffer(engine, transcodeResult, targetFormat, params) {
|
|
3689
|
+
/** @internal */ KTX2Loader._createTextureByBuffer = function _createTextureByBuffer(engine, transcodeResult, targetFormat, params, restoredTexture) {
|
|
3444
3690
|
var width = transcodeResult.width, height = transcodeResult.height, faces = transcodeResult.faces;
|
|
3445
3691
|
var faceCount = faces.length;
|
|
3446
3692
|
var mipmaps = faces[0];
|
|
@@ -3448,13 +3694,13 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
|
|
|
3448
3694
|
var engineFormat = this._getEngineTextureFormat(targetFormat, transcodeResult);
|
|
3449
3695
|
var texture;
|
|
3450
3696
|
if (faceCount !== 6) {
|
|
3451
|
-
texture = new Texture2D(engine, width, height, engineFormat, mipmap);
|
|
3697
|
+
texture = restoredTexture || new Texture2D(engine, width, height, engineFormat, mipmap);
|
|
3452
3698
|
for(var mipLevel = 0; mipLevel < mipmaps.length; mipLevel++){
|
|
3453
3699
|
var data = mipmaps[mipLevel].data;
|
|
3454
3700
|
texture.setPixelBuffer(data, mipLevel);
|
|
3455
3701
|
}
|
|
3456
3702
|
} else {
|
|
3457
|
-
texture = new TextureCube(engine, height, engineFormat, mipmap);
|
|
3703
|
+
texture = restoredTexture || new TextureCube(engine, height, engineFormat, mipmap);
|
|
3458
3704
|
for(var i = 0; i < faces.length; i++){
|
|
3459
3705
|
var faceData = faces[i];
|
|
3460
3706
|
for(var mipLevel1 = 0; mipLevel1 < mipmaps.length; mipLevel1++){
|
|
@@ -3570,6 +3816,30 @@ KTX2Loader = __decorate([
|
|
|
3570
3816
|
"ktx2"
|
|
3571
3817
|
])
|
|
3572
3818
|
], KTX2Loader);
|
|
3819
|
+
var KTX2ContentRestorer = /*#__PURE__*/ function(ContentRestorer) {
|
|
3820
|
+
_inherits(KTX2ContentRestorer, ContentRestorer);
|
|
3821
|
+
function KTX2ContentRestorer(resource, url, requestConfig) {
|
|
3822
|
+
var _this;
|
|
3823
|
+
_this = ContentRestorer.call(this, resource) || this, _this.url = url, _this.requestConfig = requestConfig;
|
|
3824
|
+
return _this;
|
|
3825
|
+
}
|
|
3826
|
+
var _proto = KTX2ContentRestorer.prototype;
|
|
3827
|
+
_proto.restoreContent = function restoreContent() {
|
|
3828
|
+
var _this = this;
|
|
3829
|
+
var _this1 = this, resource = _this1.resource, requestConfig = _this1.requestConfig;
|
|
3830
|
+
var engine = resource.engine;
|
|
3831
|
+
return new AssetPromise(function(resolve, reject) {
|
|
3832
|
+
engine.resourceManager// @ts-ignore
|
|
3833
|
+
._request(_this.url, requestConfig).then(function(buffer) {
|
|
3834
|
+
return KTX2Loader._parseBuffer(new Uint8Array(buffer), engine, requestConfig.params).then(function(param) {
|
|
3835
|
+
var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
3836
|
+
return KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params, resource);
|
|
3837
|
+
});
|
|
3838
|
+
}).then(resolve).catch(reject);
|
|
3839
|
+
});
|
|
3840
|
+
};
|
|
3841
|
+
return KTX2ContentRestorer;
|
|
3842
|
+
}(ContentRestorer);
|
|
3573
3843
|
/** Used for initialize KTX2 transcoder. */ var KTX2Transcoder = /*#__PURE__*/ function(KTX2Transcoder) {
|
|
3574
3844
|
/** BinomialLLC transcoder. */ KTX2Transcoder[KTX2Transcoder["BinomialLLC"] = 0] = "BinomialLLC";
|
|
3575
3845
|
/** Khronos transcoder. */ KTX2Transcoder[KTX2Transcoder["Khronos"] = 1] = "Khronos";
|
|
@@ -3906,16 +4176,14 @@ KTX2Loader = __decorate([
|
|
|
3906
4176
|
for(var _len = arguments.length, extra = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++){
|
|
3907
4177
|
extra[_key - 5] = arguments[_key];
|
|
3908
4178
|
}
|
|
4179
|
+
var _parser;
|
|
3909
4180
|
var parser = GLTFParser.getExtensionParser(extensionName, GLTFExtensionMode.AdditiveParse);
|
|
3910
|
-
|
|
3911
|
-
|
|
3912
|
-
|
|
3913
|
-
|
|
3914
|
-
|
|
3915
|
-
|
|
3916
|
-
ownerSchema
|
|
3917
|
-
], extra));
|
|
3918
|
-
}
|
|
4181
|
+
parser == null ? void 0 : (_parser = parser).additiveParse.apply(_parser, [].concat([
|
|
4182
|
+
context,
|
|
4183
|
+
parseResource,
|
|
4184
|
+
extensionSchema,
|
|
4185
|
+
ownerSchema
|
|
4186
|
+
], extra));
|
|
3919
4187
|
};
|
|
3920
4188
|
return GLTFParser;
|
|
3921
4189
|
}();
|
|
@@ -3981,7 +4249,7 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3981
4249
|
var animationInfo = context.glTF.animations[index];
|
|
3982
4250
|
var _animationInfo_name = animationInfo.name, name = _animationInfo_name === void 0 ? "AnimationClip" + index : _animationInfo_name;
|
|
3983
4251
|
var animationClipPromise = GLTFParser.executeExtensionsCreateAndParse(animationInfo.extensions, context, animationInfo) || GLTFAnimationParser._parseStandardProperty(context, new AnimationClip(name), animationInfo);
|
|
3984
|
-
return
|
|
4252
|
+
return AssetPromise.resolve(animationClipPromise).then(function(animationClip) {
|
|
3985
4253
|
GLTFParser.executeExtensionsAdditiveAndParse(animationInfo.extensions, context, animationClip, animationInfo);
|
|
3986
4254
|
return animationClip;
|
|
3987
4255
|
});
|
|
@@ -3993,7 +4261,7 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3993
4261
|
var glTFSampler = samplers[j];
|
|
3994
4262
|
var inputAccessor = accessors[glTFSampler.input];
|
|
3995
4263
|
var outputAccessor = accessors[glTFSampler.output];
|
|
3996
|
-
var promise =
|
|
4264
|
+
var promise = AssetPromise.all([
|
|
3997
4265
|
GLTFUtils.getAccessorBuffer(context, bufferViews, inputAccessor),
|
|
3998
4266
|
GLTFUtils.getAccessorBuffer(context, bufferViews, outputAccessor)
|
|
3999
4267
|
]).then(function(bufferInfos) {
|
|
@@ -4044,7 +4312,7 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4044
4312
|
// parse samplers
|
|
4045
4313
|
for(var j = 0, m = len; j < m; j++)_loop(j);
|
|
4046
4314
|
promises.push(context.get(GLTFParserType.Scene));
|
|
4047
|
-
return
|
|
4315
|
+
return AssetPromise.all(promises).then(function() {
|
|
4048
4316
|
for(var j = 0, m = channels.length; j < m; j++){
|
|
4049
4317
|
var glTFChannel = channels[j];
|
|
4050
4318
|
var target = glTFChannel.target;
|
|
@@ -4174,7 +4442,7 @@ var GLTFBufferParser = /*#__PURE__*/ function(GLTFParser) {
|
|
|
4174
4442
|
var _proto = GLTFBufferParser.prototype;
|
|
4175
4443
|
_proto.parse = function parse(context, index) {
|
|
4176
4444
|
var buffers = context.glTF.buffers;
|
|
4177
|
-
return context.buffers ?
|
|
4445
|
+
return context.buffers ? AssetPromise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
|
|
4178
4446
|
};
|
|
4179
4447
|
_proto._parseSingleBuffer = function _parseSingleBuffer(context, bufferInfo) {
|
|
4180
4448
|
var glTFResource = context.glTFResource, contentRestorer = context.contentRestorer, resourceManager = context.resourceManager;
|
|
@@ -4261,7 +4529,7 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4261
4529
|
material.name = materialInfo.name;
|
|
4262
4530
|
GLTFMaterialParser._parseStandardProperty(context, material, materialInfo);
|
|
4263
4531
|
}
|
|
4264
|
-
return
|
|
4532
|
+
return AssetPromise.resolve(material).then(function(material) {
|
|
4265
4533
|
// @ts-ignore
|
|
4266
4534
|
material || (material = engine._basicResources._getBlinnPhongMaterial());
|
|
4267
4535
|
GLTFParser.executeExtensionsAdditiveAndParse(materialInfo.extensions, context, material, materialInfo);
|
|
@@ -4291,6 +4559,8 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4291
4559
|
context.get(GLTFParserType.Texture, baseColorTexture.index).then(function(texture) {
|
|
4292
4560
|
material.baseTexture = texture;
|
|
4293
4561
|
GLTFParser.executeExtensionsAdditiveAndParse(baseColorTexture.extensions, context, material, baseColorTexture);
|
|
4562
|
+
}).catch(function(e) {
|
|
4563
|
+
Logger.error("GLTFMaterialParser: baseColorTexture error", e);
|
|
4294
4564
|
});
|
|
4295
4565
|
}
|
|
4296
4566
|
if (material.constructor === PBRMaterial) {
|
|
@@ -4300,6 +4570,8 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4300
4570
|
GLTFMaterialParser._checkOtherTextureTransform(metallicRoughnessTexture, "Roughness metallic");
|
|
4301
4571
|
context.get(GLTFParserType.Texture, metallicRoughnessTexture.index).then(function(texture) {
|
|
4302
4572
|
material.roughnessMetallicTexture = texture;
|
|
4573
|
+
}).catch(function(e) {
|
|
4574
|
+
Logger.error("GLTFMaterialParser: metallicRoughnessTexture error", e);
|
|
4303
4575
|
});
|
|
4304
4576
|
}
|
|
4305
4577
|
}
|
|
@@ -4309,6 +4581,8 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4309
4581
|
GLTFMaterialParser._checkOtherTextureTransform(emissiveTexture, "Emissive");
|
|
4310
4582
|
context.get(GLTFParserType.Texture, emissiveTexture.index).then(function(texture) {
|
|
4311
4583
|
material.emissiveTexture = texture;
|
|
4584
|
+
}).catch(function(e) {
|
|
4585
|
+
Logger.error("GLTFMaterialParser: emissiveTexture error", e);
|
|
4312
4586
|
});
|
|
4313
4587
|
}
|
|
4314
4588
|
if (emissiveFactor) {
|
|
@@ -4319,6 +4593,8 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4319
4593
|
GLTFMaterialParser._checkOtherTextureTransform(normalTexture, "Normal");
|
|
4320
4594
|
context.get(GLTFParserType.Texture, index).then(function(texture) {
|
|
4321
4595
|
material.normalTexture = texture;
|
|
4596
|
+
}).catch(function(e) {
|
|
4597
|
+
Logger.error("GLTFMaterialParser: emissiveTexture error", e);
|
|
4322
4598
|
});
|
|
4323
4599
|
if (scale !== undefined) {
|
|
4324
4600
|
material.normalTextureIntensity = scale;
|
|
@@ -4329,6 +4605,8 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4329
4605
|
GLTFMaterialParser._checkOtherTextureTransform(occlusionTexture, "Occlusion");
|
|
4330
4606
|
context.get(GLTFParserType.Texture, index1).then(function(texture) {
|
|
4331
4607
|
material.occlusionTexture = texture;
|
|
4608
|
+
}).catch(function(e) {
|
|
4609
|
+
Logger.error("GLTFMaterialParser: occlusionTexture error", e);
|
|
4332
4610
|
});
|
|
4333
4611
|
if (strength !== undefined) {
|
|
4334
4612
|
material.occlusionTextureIntensity = strength;
|
|
@@ -4372,7 +4650,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4372
4650
|
_proto.parse = function parse(context, index) {
|
|
4373
4651
|
var _loop = function(i, length) {
|
|
4374
4652
|
var gltfPrimitive = meshInfo.primitives[i];
|
|
4375
|
-
primitivePromises[i] = new
|
|
4653
|
+
primitivePromises[i] = new AssetPromise(function(resolve, reject) {
|
|
4376
4654
|
var mesh = GLTFParser.executeExtensionsCreateAndParse(gltfPrimitive.extensions, context, gltfPrimitive, meshInfo);
|
|
4377
4655
|
if (mesh) {
|
|
4378
4656
|
if (_instanceof(mesh, ModelMesh)) {
|
|
@@ -4393,7 +4671,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4393
4671
|
var meshRestoreInfo = new ModelMeshRestoreInfo();
|
|
4394
4672
|
meshRestoreInfo.mesh = mesh1;
|
|
4395
4673
|
context.contentRestorer.meshes.push(meshRestoreInfo);
|
|
4396
|
-
GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve);
|
|
4674
|
+
GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve, reject);
|
|
4397
4675
|
}
|
|
4398
4676
|
});
|
|
4399
4677
|
};
|
|
@@ -4402,7 +4680,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4402
4680
|
var engine = glTFResource.engine;
|
|
4403
4681
|
var primitivePromises = new Array();
|
|
4404
4682
|
for(var i = 0, length = meshInfo.primitives.length; i < length; i++)_loop(i);
|
|
4405
|
-
return
|
|
4683
|
+
return AssetPromise.all(primitivePromises);
|
|
4406
4684
|
};
|
|
4407
4685
|
/**
|
|
4408
4686
|
* @internal
|
|
@@ -4485,7 +4763,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4485
4763
|
var bufferBindIndex = 0;
|
|
4486
4764
|
var promises = new Array();
|
|
4487
4765
|
for(var attribute in attributes)_loop(attribute);
|
|
4488
|
-
return
|
|
4766
|
+
return AssetPromise.all(promises).then(function() {
|
|
4489
4767
|
mesh.setVertexElements(vertexElements);
|
|
4490
4768
|
// Indices
|
|
4491
4769
|
if (indices !== undefined) {
|
|
@@ -4535,7 +4813,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4535
4813
|
var tangentTarget = targets["TANGENT"];
|
|
4536
4814
|
var hasNormal = normalTarget !== undefined;
|
|
4537
4815
|
var hasTangent = tangentTarget !== undefined;
|
|
4538
|
-
var promise =
|
|
4816
|
+
var promise = AssetPromise.all([
|
|
4539
4817
|
_this._getBlendShapeData(context, glTF, accessors[targets["POSITION"]]),
|
|
4540
4818
|
hasNormal ? _this._getBlendShapeData(context, glTF, accessors[normalTarget]) : null,
|
|
4541
4819
|
hasTangent ? _this._getBlendShapeData(context, glTF, accessors[tangentTarget]) : null
|
|
@@ -4555,7 +4833,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4555
4833
|
var blendShapeCount = glTFTargets.length;
|
|
4556
4834
|
var blendShapeCollection = new Array(blendShapeCount);
|
|
4557
4835
|
for(var i = 0; i < blendShapeCount; i++)_this = this, _loop(i);
|
|
4558
|
-
return
|
|
4836
|
+
return AssetPromise.all(promises).then(function() {
|
|
4559
4837
|
for(var _iterator = _create_for_of_iterator_helper_loose(blendShapeCollection), _step; !(_step = _iterator()).done;){
|
|
4560
4838
|
var blendShape = _step.value;
|
|
4561
4839
|
mesh.addBlendShape(blendShape.blendShape);
|
|
@@ -4602,7 +4880,7 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4602
4880
|
for(var i1 = 0; i1 < sceneNodes.length; i1++){
|
|
4603
4881
|
promises.push(this._parseEntityComponent(context, sceneNodes[i1]));
|
|
4604
4882
|
}
|
|
4605
|
-
return
|
|
4883
|
+
return AssetPromise.all(promises).then(function() {
|
|
4606
4884
|
GLTFParser.executeExtensionsAdditiveAndParse(sceneExtensions, context, sceneRoot, sceneInfo);
|
|
4607
4885
|
return sceneRoot;
|
|
4608
4886
|
});
|
|
@@ -4620,7 +4898,7 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4620
4898
|
if (meshID !== undefined) {
|
|
4621
4899
|
promise = this._createRenderer(context, entityInfo, entity);
|
|
4622
4900
|
}
|
|
4623
|
-
return
|
|
4901
|
+
return AssetPromise.resolve(promise).then(function() {
|
|
4624
4902
|
var promises = [];
|
|
4625
4903
|
var children = entityInfo.children;
|
|
4626
4904
|
if (children) {
|
|
@@ -4628,7 +4906,7 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4628
4906
|
promises.push(_this._parseEntityComponent(context, children[i]));
|
|
4629
4907
|
}
|
|
4630
4908
|
}
|
|
4631
|
-
return
|
|
4909
|
+
return AssetPromise.all(promises);
|
|
4632
4910
|
});
|
|
4633
4911
|
};
|
|
4634
4912
|
_proto._createCamera = function _createCamera(resource, cameraSchema, entity) {
|
|
@@ -4677,10 +4955,10 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4677
4955
|
var _glTFMeshPrimitives_i_material;
|
|
4678
4956
|
materialPromises[i] = context.get(GLTFParserType.Material, (_glTFMeshPrimitives_i_material = glTFMeshPrimitives[i].material) != null ? _glTFMeshPrimitives_i_material : -1);
|
|
4679
4957
|
}
|
|
4680
|
-
return
|
|
4958
|
+
return AssetPromise.all([
|
|
4681
4959
|
context.get(GLTFParserType.Mesh, meshID),
|
|
4682
4960
|
skinID !== undefined && context.get(GLTFParserType.Skin, skinID),
|
|
4683
|
-
|
|
4961
|
+
AssetPromise.all(materialPromises)
|
|
4684
4962
|
]).then(function(param) {
|
|
4685
4963
|
var _loop = function(i) {
|
|
4686
4964
|
var material = materials[i] || basicResources._getBlinnPhongMaterial();
|
|
@@ -4715,6 +4993,8 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4715
4993
|
// @ts-ignore
|
|
4716
4994
|
var basicResources = context.glTFResource.engine._basicResources;
|
|
4717
4995
|
for(var i = 0; i < rendererCount; i++)_loop(i);
|
|
4996
|
+
}).catch(function(e) {
|
|
4997
|
+
Logger.error("GLTFSceneParser: create renderer error", e);
|
|
4718
4998
|
});
|
|
4719
4999
|
};
|
|
4720
5000
|
_proto._computeLocalBounds = function _computeLocalBounds(skinnedMeshRenderer, mesh, bones, rootBone, inverseBindMatrices) {
|
|
@@ -4799,7 +5079,7 @@ var GLTFSkinParser = /*#__PURE__*/ function(GLTFParser) {
|
|
|
4799
5079
|
}
|
|
4800
5080
|
return skin;
|
|
4801
5081
|
});
|
|
4802
|
-
return
|
|
5082
|
+
return AssetPromise.resolve(skinPromise);
|
|
4803
5083
|
};
|
|
4804
5084
|
_proto._findSkeletonRootBone = function _findSkeletonRootBone(joints, entities) {
|
|
4805
5085
|
var paths = {};
|
|
@@ -4849,7 +5129,7 @@ var GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4849
5129
|
if (!texture) {
|
|
4850
5130
|
texture = GLTFTextureParser._parseTexture(context, imageIndex, textureIndex, sampler, textureName);
|
|
4851
5131
|
}
|
|
4852
|
-
return
|
|
5132
|
+
return AssetPromise.resolve(texture).then(function(texture) {
|
|
4853
5133
|
GLTFParser.executeExtensionsAdditiveAndParse(extensions, context, texture, textureInfo);
|
|
4854
5134
|
// @ts-ignore
|
|
4855
5135
|
texture._associationSuperResource(glTFResource);
|
|
@@ -4894,6 +5174,8 @@ var GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4894
5174
|
context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
|
|
4895
5175
|
return texture;
|
|
4896
5176
|
});
|
|
5177
|
+
}).catch(function(e) {
|
|
5178
|
+
Logger.error("GLTFTextureParser: image buffer error", e);
|
|
4897
5179
|
});
|
|
4898
5180
|
}
|
|
4899
5181
|
return texture;
|
|
@@ -4927,282 +5209,89 @@ var GLTFValidator = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4927
5209
|
}
|
|
4928
5210
|
}
|
|
4929
5211
|
}
|
|
4930
|
-
if (extensionsRequired) {
|
|
4931
|
-
Logger.info("extensionsRequired: " + extensionsRequired);
|
|
4932
|
-
for(var i1 = 0; i1 < extensionsRequired.length; i1++){
|
|
4933
|
-
var extensionRequired = extensionsRequired[i1];
|
|
4934
|
-
if (!GLTFParser.hasExtensionParser(extensionRequired)) {
|
|
4935
|
-
Logger.error("GLTF parser has not supported required extension " + extensionRequired + ".");
|
|
4936
|
-
}
|
|
4937
|
-
}
|
|
4938
|
-
}
|
|
4939
|
-
return Promise.resolve(null);
|
|
4940
|
-
};
|
|
4941
|
-
return GLTFValidator;
|
|
4942
|
-
}(GLTFParser);
|
|
4943
|
-
GLTFValidator = __decorate([
|
|
4944
|
-
registerGLTFParser(GLTFParserType.Validator)
|
|
4945
|
-
], GLTFValidator);
|
|
4946
|
-
|
|
4947
|
-
var GLTFBufferViewParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
4948
|
-
_inherits(GLTFBufferViewParser, GLTFParser1);
|
|
4949
|
-
function GLTFBufferViewParser() {
|
|
4950
|
-
return GLTFParser1.apply(this, arguments) || this;
|
|
4951
|
-
}
|
|
4952
|
-
var _proto = GLTFBufferViewParser.prototype;
|
|
4953
|
-
_proto.parse = function parse(context, index) {
|
|
4954
|
-
var bufferView = context.glTF.bufferViews[index];
|
|
4955
|
-
var extensions = bufferView.extensions, _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset, byteLength = bufferView.byteLength, bufferIndex = bufferView.buffer;
|
|
4956
|
-
return extensions ? GLTFParser.executeExtensionsCreateAndParse(extensions, context, bufferView) : context.get(GLTFParserType.Buffer, bufferIndex).then(function(buffer) {
|
|
4957
|
-
return new Uint8Array(buffer, byteOffset, byteLength);
|
|
4958
|
-
});
|
|
4959
|
-
};
|
|
4960
|
-
return GLTFBufferViewParser;
|
|
4961
|
-
}(GLTFParser);
|
|
4962
|
-
GLTFBufferViewParser = __decorate([
|
|
4963
|
-
registerGLTFParser(GLTFParserType.BufferView)
|
|
4964
|
-
], GLTFBufferViewParser);
|
|
4965
|
-
|
|
4966
|
-
var GLTFAnimatorControllerParser = /*#__PURE__*/ function(GLTFParser) {
|
|
4967
|
-
_inherits(GLTFAnimatorControllerParser, GLTFParser);
|
|
4968
|
-
function GLTFAnimatorControllerParser() {
|
|
4969
|
-
return GLTFParser.apply(this, arguments) || this;
|
|
4970
|
-
}
|
|
4971
|
-
var _proto = GLTFAnimatorControllerParser.prototype;
|
|
4972
|
-
_proto.parse = function parse(context) {
|
|
4973
|
-
var _this = this;
|
|
4974
|
-
if (!context.needAnimatorController) {
|
|
4975
|
-
return Promise.resolve(null);
|
|
4976
|
-
}
|
|
4977
|
-
return context.get(GLTFParserType.Animation).then(function(animations) {
|
|
4978
|
-
var animatorController = _this._createAnimatorController(context, animations);
|
|
4979
|
-
return Promise.resolve(animatorController);
|
|
4980
|
-
});
|
|
4981
|
-
};
|
|
4982
|
-
_proto._createAnimatorController = function _createAnimatorController(context, animations) {
|
|
4983
|
-
var glTFResource = context.glTFResource;
|
|
4984
|
-
var engine = glTFResource.engine;
|
|
4985
|
-
var animatorController = new AnimatorController(engine);
|
|
4986
|
-
var layer = new AnimatorControllerLayer("layer");
|
|
4987
|
-
var animatorStateMachine = new AnimatorStateMachine();
|
|
4988
|
-
animatorController.addLayer(layer);
|
|
4989
|
-
layer.stateMachine = animatorStateMachine;
|
|
4990
|
-
if (animations) {
|
|
4991
|
-
for(var i = 0; i < animations.length; i++){
|
|
4992
|
-
var animationClip = animations[i];
|
|
4993
|
-
var name = animationClip.name;
|
|
4994
|
-
var uniqueName = animatorStateMachine.makeUniqueStateName(name);
|
|
4995
|
-
if (uniqueName !== name) {
|
|
4996
|
-
console.warn("AnimatorState name is existed, name: " + name + " reset to " + uniqueName);
|
|
4997
|
-
}
|
|
4998
|
-
var animatorState = animatorStateMachine.addState(uniqueName);
|
|
4999
|
-
animatorState.clip = animationClip;
|
|
5000
|
-
}
|
|
5001
|
-
}
|
|
5002
|
-
return animatorController;
|
|
5003
|
-
};
|
|
5004
|
-
return GLTFAnimatorControllerParser;
|
|
5005
|
-
}(GLTFParser);
|
|
5006
|
-
GLTFAnimatorControllerParser = __decorate([
|
|
5007
|
-
registerGLTFParser(GLTFParserType.AnimatorController)
|
|
5008
|
-
], GLTFAnimatorControllerParser);
|
|
5009
|
-
|
|
5010
|
-
// Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
|
|
5011
|
-
var ready;
|
|
5012
|
-
function getMeshoptDecoder() {
|
|
5013
|
-
if (ready) return ready;
|
|
5014
|
-
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";
|
|
5015
|
-
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";
|
|
5016
|
-
var wasmpack = new Uint8Array([
|
|
5017
|
-
32,
|
|
5018
|
-
0,
|
|
5019
|
-
65,
|
|
5020
|
-
2,
|
|
5021
|
-
1,
|
|
5022
|
-
106,
|
|
5023
|
-
34,
|
|
5024
|
-
33,
|
|
5025
|
-
3,
|
|
5026
|
-
128,
|
|
5027
|
-
11,
|
|
5028
|
-
4,
|
|
5029
|
-
13,
|
|
5030
|
-
64,
|
|
5031
|
-
6,
|
|
5032
|
-
253,
|
|
5033
|
-
10,
|
|
5034
|
-
7,
|
|
5035
|
-
15,
|
|
5036
|
-
116,
|
|
5037
|
-
127,
|
|
5038
|
-
5,
|
|
5039
|
-
8,
|
|
5040
|
-
12,
|
|
5041
|
-
40,
|
|
5042
|
-
16,
|
|
5043
|
-
19,
|
|
5044
|
-
54,
|
|
5045
|
-
20,
|
|
5046
|
-
9,
|
|
5047
|
-
27,
|
|
5048
|
-
255,
|
|
5049
|
-
113,
|
|
5050
|
-
17,
|
|
5051
|
-
42,
|
|
5052
|
-
67,
|
|
5053
|
-
24,
|
|
5054
|
-
23,
|
|
5055
|
-
146,
|
|
5056
|
-
148,
|
|
5057
|
-
18,
|
|
5058
|
-
14,
|
|
5059
|
-
22,
|
|
5060
|
-
45,
|
|
5061
|
-
70,
|
|
5062
|
-
69,
|
|
5063
|
-
56,
|
|
5064
|
-
114,
|
|
5065
|
-
101,
|
|
5066
|
-
21,
|
|
5067
|
-
25,
|
|
5068
|
-
63,
|
|
5069
|
-
75,
|
|
5070
|
-
136,
|
|
5071
|
-
108,
|
|
5072
|
-
28,
|
|
5073
|
-
118,
|
|
5074
|
-
29,
|
|
5075
|
-
73,
|
|
5076
|
-
115
|
|
5077
|
-
]);
|
|
5078
|
-
// @ts-ignore
|
|
5079
|
-
var wasm = SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
|
|
5080
|
-
var instance;
|
|
5081
|
-
ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
|
|
5082
|
-
instance = result.instance;
|
|
5083
|
-
instance.exports.__wasm_call_ctors();
|
|
5084
|
-
}).then(function() {
|
|
5085
|
-
return {
|
|
5086
|
-
workerCount: 4,
|
|
5087
|
-
ready: ready,
|
|
5088
|
-
useWorkers: function useWorkers(workerCount) {
|
|
5089
|
-
this.workerCount = workerCount != null ? workerCount : this.workerCount;
|
|
5090
|
-
initWorkers(this.workerCount);
|
|
5091
|
-
},
|
|
5092
|
-
decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
|
|
5093
|
-
if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
|
|
5094
|
-
if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
|
|
5095
|
-
return ready.then(function() {
|
|
5096
|
-
var target = new Uint8Array(count * stride);
|
|
5097
|
-
decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
|
|
5098
|
-
return target;
|
|
5099
|
-
});
|
|
5100
|
-
},
|
|
5101
|
-
release: function release() {
|
|
5102
|
-
for(var i = 0; i < workers.length; i++){
|
|
5103
|
-
workers[i].object.terminate();
|
|
5104
|
-
}
|
|
5105
|
-
}
|
|
5106
|
-
};
|
|
5107
|
-
});
|
|
5108
|
-
function unpack(data) {
|
|
5109
|
-
var result = new Uint8Array(data.length);
|
|
5110
|
-
for(var i = 0; i < data.length; ++i){
|
|
5111
|
-
var ch = data.charCodeAt(i);
|
|
5112
|
-
result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
|
|
5113
|
-
}
|
|
5114
|
-
var write = 0;
|
|
5115
|
-
for(var i1 = 0; i1 < data.length; ++i1){
|
|
5116
|
-
result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
|
|
5117
|
-
}
|
|
5118
|
-
return result.buffer.slice(0, write);
|
|
5119
|
-
}
|
|
5120
|
-
function decode(fun, target, count, size, source, filter) {
|
|
5121
|
-
var sbrk = instance.exports.sbrk;
|
|
5122
|
-
var count4 = count + 3 & ~3;
|
|
5123
|
-
var tp = sbrk(count4 * size);
|
|
5124
|
-
var sp = sbrk(source.length);
|
|
5125
|
-
var heap = new Uint8Array(instance.exports.memory.buffer);
|
|
5126
|
-
heap.set(source, sp);
|
|
5127
|
-
var res = fun(tp, count, size, sp, source.length);
|
|
5128
|
-
if (res == 0 && filter) {
|
|
5129
|
-
filter(tp, count4, size);
|
|
5130
|
-
}
|
|
5131
|
-
target.set(heap.subarray(tp, tp + count * size));
|
|
5132
|
-
sbrk(tp - sbrk(0));
|
|
5133
|
-
if (res != 0) {
|
|
5134
|
-
throw new Error("Malformed buffer data: " + res);
|
|
5212
|
+
if (extensionsRequired) {
|
|
5213
|
+
Logger.info("extensionsRequired: " + extensionsRequired);
|
|
5214
|
+
for(var i1 = 0; i1 < extensionsRequired.length; i1++){
|
|
5215
|
+
var extensionRequired = extensionsRequired[i1];
|
|
5216
|
+
if (!GLTFParser.hasExtensionParser(extensionRequired)) {
|
|
5217
|
+
Logger.error("GLTF parser has not supported required extension " + extensionRequired + ".");
|
|
5218
|
+
}
|
|
5219
|
+
}
|
|
5135
5220
|
}
|
|
5136
|
-
|
|
5137
|
-
var filters = {
|
|
5138
|
-
NONE: "",
|
|
5139
|
-
OCTAHEDRAL: "meshopt_decodeFilterOct",
|
|
5140
|
-
QUATERNION: "meshopt_decodeFilterQuat",
|
|
5141
|
-
EXPONENTIAL: "meshopt_decodeFilterExp"
|
|
5142
|
-
};
|
|
5143
|
-
var decoders = {
|
|
5144
|
-
ATTRIBUTES: "meshopt_decodeVertexBuffer",
|
|
5145
|
-
TRIANGLES: "meshopt_decodeIndexBuffer",
|
|
5146
|
-
INDICES: "meshopt_decodeIndexSequence"
|
|
5221
|
+
return AssetPromise.resolve(null);
|
|
5147
5222
|
};
|
|
5148
|
-
|
|
5149
|
-
|
|
5150
|
-
|
|
5151
|
-
|
|
5152
|
-
|
|
5153
|
-
|
|
5154
|
-
|
|
5155
|
-
|
|
5156
|
-
|
|
5157
|
-
|
|
5158
|
-
worker.pending -= data.count;
|
|
5159
|
-
worker.requests[data.id][data.action](data.value);
|
|
5160
|
-
delete worker.requests[data.id];
|
|
5161
|
-
};
|
|
5162
|
-
return worker;
|
|
5223
|
+
return GLTFValidator;
|
|
5224
|
+
}(GLTFParser);
|
|
5225
|
+
GLTFValidator = __decorate([
|
|
5226
|
+
registerGLTFParser(GLTFParserType.Validator)
|
|
5227
|
+
], GLTFValidator);
|
|
5228
|
+
|
|
5229
|
+
var GLTFBufferViewParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
5230
|
+
_inherits(GLTFBufferViewParser, GLTFParser1);
|
|
5231
|
+
function GLTFBufferViewParser() {
|
|
5232
|
+
return GLTFParser1.apply(this, arguments) || this;
|
|
5163
5233
|
}
|
|
5164
|
-
|
|
5165
|
-
|
|
5166
|
-
var
|
|
5167
|
-
|
|
5168
|
-
|
|
5169
|
-
|
|
5234
|
+
var _proto = GLTFBufferViewParser.prototype;
|
|
5235
|
+
_proto.parse = function parse(context, index) {
|
|
5236
|
+
var bufferView = context.glTF.bufferViews[index];
|
|
5237
|
+
var extensions = bufferView.extensions, _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset, byteLength = bufferView.byteLength, bufferIndex = bufferView.buffer;
|
|
5238
|
+
return extensions ? GLTFParser.executeExtensionsCreateAndParse(extensions, context, bufferView) : context.get(GLTFParserType.Buffer, bufferIndex).then(function(buffer) {
|
|
5239
|
+
return new Uint8Array(buffer, byteOffset, byteLength);
|
|
5240
|
+
}).catch(function(e) {
|
|
5241
|
+
Logger.error("GLTFBufferViewParser: buffer error", e);
|
|
5170
5242
|
});
|
|
5171
|
-
|
|
5172
|
-
|
|
5173
|
-
|
|
5174
|
-
|
|
5175
|
-
|
|
5243
|
+
};
|
|
5244
|
+
return GLTFBufferViewParser;
|
|
5245
|
+
}(GLTFParser);
|
|
5246
|
+
GLTFBufferViewParser = __decorate([
|
|
5247
|
+
registerGLTFParser(GLTFParserType.BufferView)
|
|
5248
|
+
], GLTFBufferViewParser);
|
|
5249
|
+
|
|
5250
|
+
var GLTFAnimatorControllerParser = /*#__PURE__*/ function(GLTFParser) {
|
|
5251
|
+
_inherits(GLTFAnimatorControllerParser, GLTFParser);
|
|
5252
|
+
function GLTFAnimatorControllerParser() {
|
|
5253
|
+
return GLTFParser.apply(this, arguments) || this;
|
|
5176
5254
|
}
|
|
5177
|
-
|
|
5178
|
-
|
|
5179
|
-
|
|
5180
|
-
|
|
5181
|
-
|
|
5182
|
-
}
|
|
5255
|
+
var _proto = GLTFAnimatorControllerParser.prototype;
|
|
5256
|
+
_proto.parse = function parse(context) {
|
|
5257
|
+
var _this = this;
|
|
5258
|
+
if (!context.needAnimatorController) {
|
|
5259
|
+
return AssetPromise.resolve(null);
|
|
5183
5260
|
}
|
|
5184
|
-
return
|
|
5185
|
-
var
|
|
5186
|
-
|
|
5187
|
-
|
|
5188
|
-
|
|
5189
|
-
resolve: resolve,
|
|
5190
|
-
reject: reject
|
|
5191
|
-
};
|
|
5192
|
-
worker.object.postMessage({
|
|
5193
|
-
id: id,
|
|
5194
|
-
count: count,
|
|
5195
|
-
size: size,
|
|
5196
|
-
source: data,
|
|
5197
|
-
mode: mode,
|
|
5198
|
-
filter: filter
|
|
5199
|
-
}, [
|
|
5200
|
-
data.buffer
|
|
5201
|
-
]);
|
|
5261
|
+
return context.get(GLTFParserType.Animation).then(function(animations) {
|
|
5262
|
+
var animatorController = _this._createAnimatorController(context, animations);
|
|
5263
|
+
return AssetPromise.resolve(animatorController);
|
|
5264
|
+
}).catch(function(e) {
|
|
5265
|
+
Logger.error("GLTFAnimatorControllerParser: animator controller error", e);
|
|
5202
5266
|
});
|
|
5203
|
-
}
|
|
5204
|
-
|
|
5205
|
-
|
|
5267
|
+
};
|
|
5268
|
+
_proto._createAnimatorController = function _createAnimatorController(context, animations) {
|
|
5269
|
+
var glTFResource = context.glTFResource;
|
|
5270
|
+
var engine = glTFResource.engine;
|
|
5271
|
+
var animatorController = new AnimatorController(engine);
|
|
5272
|
+
var layer = new AnimatorControllerLayer("layer");
|
|
5273
|
+
var animatorStateMachine = new AnimatorStateMachine();
|
|
5274
|
+
animatorController.addLayer(layer);
|
|
5275
|
+
layer.stateMachine = animatorStateMachine;
|
|
5276
|
+
if (animations) {
|
|
5277
|
+
for(var i = 0; i < animations.length; i++){
|
|
5278
|
+
var animationClip = animations[i];
|
|
5279
|
+
var name = animationClip.name;
|
|
5280
|
+
var uniqueName = animatorStateMachine.makeUniqueStateName(name);
|
|
5281
|
+
if (uniqueName !== name) {
|
|
5282
|
+
console.warn("AnimatorState name is existed, name: " + name + " reset to " + uniqueName);
|
|
5283
|
+
}
|
|
5284
|
+
var animatorState = animatorStateMachine.addState(uniqueName);
|
|
5285
|
+
animatorState.clip = animationClip;
|
|
5286
|
+
}
|
|
5287
|
+
}
|
|
5288
|
+
return animatorController;
|
|
5289
|
+
};
|
|
5290
|
+
return GLTFAnimatorControllerParser;
|
|
5291
|
+
}(GLTFParser);
|
|
5292
|
+
GLTFAnimatorControllerParser = __decorate([
|
|
5293
|
+
registerGLTFParser(GLTFParserType.AnimatorController)
|
|
5294
|
+
], GLTFAnimatorControllerParser);
|
|
5206
5295
|
|
|
5207
5296
|
var GLTFLoader = /*#__PURE__*/ function(Loader) {
|
|
5208
5297
|
_inherits(GLTFLoader, Loader);
|
|
@@ -5227,10 +5316,19 @@ var GLTFLoader = /*#__PURE__*/ function(Loader) {
|
|
|
5227
5316
|
var context = new GLTFParserContext(glTFResource, resourceManager, _extends({
|
|
5228
5317
|
keepMeshData: false
|
|
5229
5318
|
}, params));
|
|
5230
|
-
return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
|
|
5319
|
+
return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress, onTaskCancel) {
|
|
5231
5320
|
context._setTaskCompleteProgress = setTaskCompleteProgress;
|
|
5232
5321
|
context._setTaskDetailProgress = setTaskDetailProgress;
|
|
5233
|
-
|
|
5322
|
+
onTaskCancel(function() {
|
|
5323
|
+
var getPromises = context._getPromises;
|
|
5324
|
+
for(var i = 0, n = getPromises.length; i < n; i++){
|
|
5325
|
+
getPromises[i].cancel();
|
|
5326
|
+
}
|
|
5327
|
+
});
|
|
5328
|
+
context.parse().then(resolve).catch(function(e) {
|
|
5329
|
+
glTFResource.destroy();
|
|
5330
|
+
reject(e);
|
|
5331
|
+
});
|
|
5234
5332
|
});
|
|
5235
5333
|
};
|
|
5236
5334
|
/**
|
|
@@ -5318,10 +5416,11 @@ var HDRLoader = /*#__PURE__*/ function(Loader) {
|
|
|
5318
5416
|
var requestConfig = _extends({}, item, {
|
|
5319
5417
|
type: "arraybuffer"
|
|
5320
5418
|
});
|
|
5419
|
+
var url = item.url;
|
|
5321
5420
|
resourceManager// @ts-ignore
|
|
5322
|
-
._request(
|
|
5421
|
+
._request(url, requestConfig).then(function(buffer) {
|
|
5323
5422
|
var texture = HDRLoader._setTextureByBuffer(engine, buffer);
|
|
5324
|
-
engine.resourceManager.addContentRestorer(new HDRContentRestorer(texture,
|
|
5423
|
+
engine.resourceManager.addContentRestorer(new HDRContentRestorer(texture, url, requestConfig));
|
|
5325
5424
|
resolve(texture);
|
|
5326
5425
|
}).catch(reject);
|
|
5327
5426
|
});
|
|
@@ -5626,9 +5725,12 @@ HDRLoader = __decorate([
|
|
|
5626
5725
|
_proto.restoreContent = function restoreContent() {
|
|
5627
5726
|
var _this = this;
|
|
5628
5727
|
return new AssetPromise(function(resolve, reject) {
|
|
5629
|
-
|
|
5630
|
-
|
|
5631
|
-
|
|
5728
|
+
var resource = _this.resource;
|
|
5729
|
+
var engine = resource.engine;
|
|
5730
|
+
engine.resourceManager// @ts-ignore
|
|
5731
|
+
._request(_this.url, _this.requestConfig).then(function(buffer) {
|
|
5732
|
+
HDRLoader._setTextureByBuffer(engine, buffer, resource);
|
|
5733
|
+
resolve(resource);
|
|
5632
5734
|
}).catch(reject);
|
|
5633
5735
|
});
|
|
5634
5736
|
};
|
|
@@ -5884,11 +5986,12 @@ var KTXLoader = /*#__PURE__*/ function(Loader) {
|
|
|
5884
5986
|
}
|
|
5885
5987
|
var _proto = KTXLoader.prototype;
|
|
5886
5988
|
_proto.load = function load(item, resourceManager) {
|
|
5989
|
+
var requestConfig = _extends({}, item, {
|
|
5990
|
+
type: "arraybuffer"
|
|
5991
|
+
});
|
|
5887
5992
|
return new AssetPromise(function(resolve, reject) {
|
|
5888
5993
|
resourceManager// @ts-ignore
|
|
5889
|
-
._request(item.url,
|
|
5890
|
-
type: "arraybuffer"
|
|
5891
|
-
})).then(function(bin) {
|
|
5994
|
+
._request(item.url, requestConfig).then(function(bin) {
|
|
5892
5995
|
var parsedData = parseSingleKTX(bin);
|
|
5893
5996
|
var width = parsedData.width, height = parsedData.height, mipmaps = parsedData.mipmaps, engineFormat = parsedData.engineFormat;
|
|
5894
5997
|
var mipmap = mipmaps.length > 1;
|
|
@@ -5897,6 +6000,7 @@ var KTXLoader = /*#__PURE__*/ function(Loader) {
|
|
|
5897
6000
|
var _mipmaps_miplevel = mipmaps[miplevel], width1 = _mipmaps_miplevel.width, height1 = _mipmaps_miplevel.height, data = _mipmaps_miplevel.data;
|
|
5898
6001
|
texture.setPixelBuffer(data, miplevel, 0, 0, width1, height1);
|
|
5899
6002
|
}
|
|
6003
|
+
resourceManager.addContentRestorer(new KTXContentRestorer(texture, item.url, requestConfig));
|
|
5900
6004
|
resolve(texture);
|
|
5901
6005
|
}).catch(function(e) {
|
|
5902
6006
|
reject(e);
|
|
@@ -5910,6 +6014,34 @@ KTXLoader = __decorate([
|
|
|
5910
6014
|
"ktx"
|
|
5911
6015
|
])
|
|
5912
6016
|
], KTXLoader);
|
|
6017
|
+
var KTXContentRestorer = /*#__PURE__*/ function(ContentRestorer) {
|
|
6018
|
+
_inherits(KTXContentRestorer, ContentRestorer);
|
|
6019
|
+
function KTXContentRestorer(resource, url, requestConfig) {
|
|
6020
|
+
var _this;
|
|
6021
|
+
_this = ContentRestorer.call(this, resource) || this, _this.url = url, _this.requestConfig = requestConfig;
|
|
6022
|
+
return _this;
|
|
6023
|
+
}
|
|
6024
|
+
var _proto = KTXContentRestorer.prototype;
|
|
6025
|
+
_proto.restoreContent = function restoreContent() {
|
|
6026
|
+
var _this = this;
|
|
6027
|
+
var resource = this.resource;
|
|
6028
|
+
var engine = resource.engine;
|
|
6029
|
+
return new AssetPromise(function(resolve, reject) {
|
|
6030
|
+
engine.resourceManager// @ts-ignore
|
|
6031
|
+
._request(_this.url, _this.requestConfig).then(function(bin) {
|
|
6032
|
+
var mipmaps = parseSingleKTX(bin).mipmaps;
|
|
6033
|
+
for(var miplevel = 0; miplevel < mipmaps.length; miplevel++){
|
|
6034
|
+
var _mipmaps_miplevel = mipmaps[miplevel], width = _mipmaps_miplevel.width, height = _mipmaps_miplevel.height, data = _mipmaps_miplevel.data;
|
|
6035
|
+
resource.setPixelBuffer(data, miplevel, 0, 0, width, height);
|
|
6036
|
+
}
|
|
6037
|
+
resolve(resource);
|
|
6038
|
+
}).catch(function(e) {
|
|
6039
|
+
reject(e);
|
|
6040
|
+
});
|
|
6041
|
+
});
|
|
6042
|
+
};
|
|
6043
|
+
return KTXContentRestorer;
|
|
6044
|
+
}(ContentRestorer);
|
|
5913
6045
|
|
|
5914
6046
|
function parseProperty(object, key, value) {
|
|
5915
6047
|
if ((typeof value === "undefined" ? "undefined" : _type_of(value)) === "object") {
|
|
@@ -6014,13 +6146,16 @@ var MeshLoader = /*#__PURE__*/ function(Loader) {
|
|
|
6014
6146
|
}
|
|
6015
6147
|
var _proto = MeshLoader.prototype;
|
|
6016
6148
|
_proto.load = function load(item, resourceManager) {
|
|
6149
|
+
var requestConfig = _extends({}, item, {
|
|
6150
|
+
type: "arraybuffer"
|
|
6151
|
+
});
|
|
6152
|
+
var url = item.url;
|
|
6017
6153
|
return new AssetPromise(function(resolve, reject) {
|
|
6018
6154
|
resourceManager// @ts-ignore
|
|
6019
|
-
._request(
|
|
6020
|
-
type: "arraybuffer"
|
|
6021
|
-
})).then(function(data) {
|
|
6155
|
+
._request(url, requestConfig).then(function(data) {
|
|
6022
6156
|
return decode(data, resourceManager.engine);
|
|
6023
6157
|
}).then(function(mesh) {
|
|
6158
|
+
resourceManager.addContentRestorer(new MeshContentRestorer(mesh, url, requestConfig));
|
|
6024
6159
|
resolve(mesh);
|
|
6025
6160
|
}).catch(reject);
|
|
6026
6161
|
});
|
|
@@ -6032,6 +6167,29 @@ MeshLoader = __decorate([
|
|
|
6032
6167
|
"mesh"
|
|
6033
6168
|
])
|
|
6034
6169
|
], MeshLoader);
|
|
6170
|
+
var MeshContentRestorer = /*#__PURE__*/ function(ContentRestorer) {
|
|
6171
|
+
_inherits(MeshContentRestorer, ContentRestorer);
|
|
6172
|
+
function MeshContentRestorer(resource, url, requestConfig) {
|
|
6173
|
+
var _this;
|
|
6174
|
+
_this = ContentRestorer.call(this, resource) || this, _this.url = url, _this.requestConfig = requestConfig;
|
|
6175
|
+
return _this;
|
|
6176
|
+
}
|
|
6177
|
+
var _proto = MeshContentRestorer.prototype;
|
|
6178
|
+
_proto.restoreContent = function restoreContent() {
|
|
6179
|
+
var _this = this;
|
|
6180
|
+
var resource = this.resource;
|
|
6181
|
+
var engine = resource.engine;
|
|
6182
|
+
return new AssetPromise(function(resolve, reject) {
|
|
6183
|
+
engine.resourceManager// @ts-ignore
|
|
6184
|
+
._request(_this.url, _this.requestConfig).then(function(data) {
|
|
6185
|
+
return decode(data, engine, resource);
|
|
6186
|
+
}).then(function(mesh) {
|
|
6187
|
+
resolve(mesh);
|
|
6188
|
+
}).catch(reject);
|
|
6189
|
+
});
|
|
6190
|
+
};
|
|
6191
|
+
return MeshContentRestorer;
|
|
6192
|
+
}(ContentRestorer);
|
|
6035
6193
|
|
|
6036
6194
|
var PrimitiveMeshLoader = /*#__PURE__*/ function(Loader) {
|
|
6037
6195
|
_inherits(PrimitiveMeshLoader, Loader);
|
|
@@ -6778,18 +6936,24 @@ var KHR_materials_clearcoat = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
6778
6936
|
GLTFMaterialParser._checkOtherTextureTransform(clearcoatTexture, "Clear coat");
|
|
6779
6937
|
context.get(GLTFParserType.Texture, clearcoatTexture.index).then(function(texture) {
|
|
6780
6938
|
material.clearCoatTexture = texture;
|
|
6939
|
+
}).catch(function(e) {
|
|
6940
|
+
Logger.error("KHR_materials_clearcoat: clearcoat texture error", e);
|
|
6781
6941
|
});
|
|
6782
6942
|
}
|
|
6783
6943
|
if (clearcoatRoughnessTexture) {
|
|
6784
6944
|
GLTFMaterialParser._checkOtherTextureTransform(clearcoatRoughnessTexture, "Clear coat roughness");
|
|
6785
6945
|
context.get(GLTFParserType.Texture, clearcoatRoughnessTexture.index).then(function(texture) {
|
|
6786
6946
|
material.clearCoatRoughnessTexture = texture;
|
|
6947
|
+
}).catch(function(e) {
|
|
6948
|
+
Logger.error("KHR_materials_clearcoat: clearcoat roughness texture error", e);
|
|
6787
6949
|
});
|
|
6788
6950
|
}
|
|
6789
6951
|
if (clearcoatNormalTexture) {
|
|
6790
6952
|
GLTFMaterialParser._checkOtherTextureTransform(clearcoatNormalTexture, "Clear coat normal");
|
|
6791
6953
|
context.get(GLTFParserType.Texture, clearcoatNormalTexture.index).then(function(texture) {
|
|
6792
6954
|
material.clearCoatNormalTexture = texture;
|
|
6955
|
+
}).catch(function(e) {
|
|
6956
|
+
Logger.error("KHR_materials_clearcoat: clearcoat normal texture error", e);
|
|
6793
6957
|
});
|
|
6794
6958
|
}
|
|
6795
6959
|
};
|
|
@@ -6832,6 +6996,8 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
|
|
|
6832
6996
|
context.get(GLTFParserType.Texture, diffuseTexture.index).then(function(texture) {
|
|
6833
6997
|
material.baseTexture = texture;
|
|
6834
6998
|
GLTFParser.executeExtensionsAdditiveAndParse(diffuseTexture.extensions, context, material, diffuseTexture);
|
|
6999
|
+
}).catch(function(e) {
|
|
7000
|
+
Logger.error("KHR_materials_pbrSpecularGlossiness: diffuse texture error", e);
|
|
6835
7001
|
});
|
|
6836
7002
|
}
|
|
6837
7003
|
if (specularFactor) {
|
|
@@ -6844,6 +7010,8 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
|
|
|
6844
7010
|
GLTFMaterialParser._checkOtherTextureTransform(specularGlossinessTexture, "Specular glossiness");
|
|
6845
7011
|
context.get(GLTFParserType.Texture, specularGlossinessTexture.index).then(function(texture) {
|
|
6846
7012
|
material.specularGlossinessTexture = texture;
|
|
7013
|
+
}).catch(function(e) {
|
|
7014
|
+
Logger.error("KHR_materials_pbrSpecularGlossiness: specular glossiness texture error", e);
|
|
6847
7015
|
});
|
|
6848
7016
|
}
|
|
6849
7017
|
material.name = ownerSchema.name;
|
|
@@ -6872,12 +7040,16 @@ var KHR_materials_sheen = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
6872
7040
|
GLTFMaterialParser._checkOtherTextureTransform(sheenColorTexture, "Sheen texture");
|
|
6873
7041
|
context.get(GLTFParserType.Texture, sheenColorTexture.index).then(function(texture) {
|
|
6874
7042
|
material.sheenColorTexture = texture;
|
|
7043
|
+
}).catch(function(e) {
|
|
7044
|
+
Logger.error("KHR_materials_sheen: sheenColorTexture error", e);
|
|
6875
7045
|
});
|
|
6876
7046
|
}
|
|
6877
7047
|
if (sheenRoughnessTexture) {
|
|
6878
7048
|
GLTFMaterialParser._checkOtherTextureTransform(sheenRoughnessTexture, "SheenRoughness texture");
|
|
6879
7049
|
context.get(GLTFParserType.Texture, sheenRoughnessTexture.index).then(function(texture) {
|
|
6880
7050
|
material.sheenRoughnessTexture = texture;
|
|
7051
|
+
}).catch(function(e) {
|
|
7052
|
+
Logger.error("KHR_materials_sheen: sheenRoughnessTexture error", e);
|
|
6881
7053
|
});
|
|
6882
7054
|
}
|
|
6883
7055
|
};
|
|
@@ -6900,6 +7072,8 @@ var KHR_materials_transmission = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
6900
7072
|
GLTFMaterialParser._checkOtherTextureTransform(transmissionTexture, "Transmission texture");
|
|
6901
7073
|
context.get(GLTFParserType.Texture, transmissionTexture.index).then(function(texture) {
|
|
6902
7074
|
material.transmissionTexture = texture;
|
|
7075
|
+
}).catch(function(e) {
|
|
7076
|
+
Logger.error("KHR_materials_transmission: transmission texture error", e);
|
|
6903
7077
|
});
|
|
6904
7078
|
}
|
|
6905
7079
|
};
|
|
@@ -6945,6 +7119,8 @@ var KHR_materials_variants = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
6945
7119
|
return variantNames[index].name;
|
|
6946
7120
|
})
|
|
6947
7121
|
});
|
|
7122
|
+
}).catch(function(e) {
|
|
7123
|
+
Logger.error("KHR_materials_variants: material error", e);
|
|
6948
7124
|
});
|
|
6949
7125
|
};
|
|
6950
7126
|
var _glTFResource;
|
|
@@ -6978,6 +7154,8 @@ var KHR_materials_volume = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
6978
7154
|
GLTFMaterialParser._checkOtherTextureTransform(thicknessTexture, "Thickness texture");
|
|
6979
7155
|
context.get(GLTFParserType.Texture, thicknessTexture.index).then(function(texture) {
|
|
6980
7156
|
material.thicknessTexture = texture;
|
|
7157
|
+
}).catch(function(e) {
|
|
7158
|
+
Logger.error("KHR_materials_volume: thickness texture error", e);
|
|
6981
7159
|
});
|
|
6982
7160
|
}
|
|
6983
7161
|
};
|
|
@@ -7005,57 +7183,48 @@ var KHR_texture_basisu = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
7005
7183
|
}
|
|
7006
7184
|
var _proto = KHR_texture_basisu.prototype;
|
|
7007
7185
|
_proto.createAndParse = function createAndParse(context, schema, textureInfo) {
|
|
7008
|
-
|
|
7009
|
-
|
|
7010
|
-
|
|
7011
|
-
|
|
7012
|
-
|
|
7013
|
-
|
|
7014
|
-
|
|
7015
|
-
|
|
7016
|
-
|
|
7017
|
-
|
|
7018
|
-
|
|
7019
|
-
|
|
7020
|
-
|
|
7021
|
-
|
|
7022
|
-
|
|
7023
|
-
|
|
7024
|
-
|
|
7025
|
-
}
|
|
7026
|
-
if (sampler !== undefined) {
|
|
7027
|
-
GLTFUtils.parseSampler(texture, samplerInfo);
|
|
7028
|
-
}
|
|
7029
|
-
return texture;
|
|
7030
|
-
});
|
|
7031
|
-
context._addTaskCompletePromise(promise);
|
|
7032
|
-
return [
|
|
7033
|
-
2,
|
|
7034
|
-
promise
|
|
7035
|
-
];
|
|
7036
|
-
} else {
|
|
7037
|
-
bufferView = glTF.bufferViews[bufferViewIndex];
|
|
7038
|
-
return [
|
|
7039
|
-
2,
|
|
7040
|
-
context.get(GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
|
|
7041
|
-
var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
|
|
7042
|
-
return KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
|
|
7043
|
-
var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
7044
|
-
return KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
|
|
7045
|
-
}).then(function(texture) {
|
|
7046
|
-
texture.name = textureName || imageName || "texture_" + bufferViewIndex;
|
|
7047
|
-
if (sampler !== undefined) {
|
|
7048
|
-
GLTFUtils.parseSampler(texture, samplerInfo);
|
|
7049
|
-
}
|
|
7050
|
-
var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
|
|
7051
|
-
context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
|
|
7052
|
-
return texture;
|
|
7053
|
-
});
|
|
7054
|
-
})
|
|
7055
|
-
];
|
|
7186
|
+
var glTF = context.glTF, glTFResource = context.glTFResource;
|
|
7187
|
+
var engine = glTFResource.engine, url = glTFResource.url;
|
|
7188
|
+
var sampler = textureInfo.sampler, textureName = textureInfo.name;
|
|
7189
|
+
var source = schema.source;
|
|
7190
|
+
var _glTF_images_source = glTF.images[source], uri = _glTF_images_source.uri, bufferViewIndex = _glTF_images_source.bufferView, mimeType = _glTF_images_source.mimeType, imageName = _glTF_images_source.name;
|
|
7191
|
+
var samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
|
|
7192
|
+
if (uri) {
|
|
7193
|
+
var index = uri.lastIndexOf(".");
|
|
7194
|
+
var promise = engine.resourceManager.load({
|
|
7195
|
+
url: Utils.resolveAbsoluteUrl(url, uri),
|
|
7196
|
+
type: AssetType.KTX2
|
|
7197
|
+
}).onProgress(undefined, context._onTaskDetail).then(function(texture) {
|
|
7198
|
+
if (!texture.name) {
|
|
7199
|
+
texture.name = textureName || imageName || "texture_" + index;
|
|
7200
|
+
}
|
|
7201
|
+
if (sampler !== undefined) {
|
|
7202
|
+
GLTFUtils.parseSampler(texture, samplerInfo);
|
|
7056
7203
|
}
|
|
7204
|
+
return texture;
|
|
7057
7205
|
});
|
|
7058
|
-
|
|
7206
|
+
context._addTaskCompletePromise(promise);
|
|
7207
|
+
return promise;
|
|
7208
|
+
} else {
|
|
7209
|
+
var bufferView = glTF.bufferViews[bufferViewIndex];
|
|
7210
|
+
return context.get(GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
|
|
7211
|
+
var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
|
|
7212
|
+
return KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
|
|
7213
|
+
var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
7214
|
+
return KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
|
|
7215
|
+
}).then(function(texture) {
|
|
7216
|
+
texture.name = textureName || imageName || "texture_" + bufferViewIndex;
|
|
7217
|
+
if (sampler !== undefined) {
|
|
7218
|
+
GLTFUtils.parseSampler(texture, samplerInfo);
|
|
7219
|
+
}
|
|
7220
|
+
var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
|
|
7221
|
+
context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
|
|
7222
|
+
return texture;
|
|
7223
|
+
});
|
|
7224
|
+
}).catch(function(e) {
|
|
7225
|
+
Logger.error("KHR_texture_basisu: buffer error", e);
|
|
7226
|
+
});
|
|
7227
|
+
}
|
|
7059
7228
|
};
|
|
7060
7229
|
return KHR_texture_basisu;
|
|
7061
7230
|
}(GLTFExtensionParser);
|
|
@@ -7145,6 +7314,8 @@ var EXT_meshopt_compression = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
7145
7314
|
return getMeshoptDecoder().then(function(decoder) {
|
|
7146
7315
|
return decoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
|
|
7147
7316
|
});
|
|
7317
|
+
}).catch(function(e) {
|
|
7318
|
+
Logger.error("EXT_meshopt_compression: buffer error", e);
|
|
7148
7319
|
});
|
|
7149
7320
|
};
|
|
7150
7321
|
return EXT_meshopt_compression;
|
|
@@ -7167,6 +7338,8 @@ var KHR_materials_anisotropy = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
7167
7338
|
GLTFMaterialParser._checkOtherTextureTransform(anisotropyTexture, "Anisotropy texture");
|
|
7168
7339
|
context.get(GLTFParserType.Texture, anisotropyTexture.index).then(function(texture) {
|
|
7169
7340
|
material.anisotropyTexture = texture;
|
|
7341
|
+
}).catch(function(e) {
|
|
7342
|
+
Logger.error("KHR_materials_anisotropy: anisotropy texture error", e);
|
|
7170
7343
|
});
|
|
7171
7344
|
}
|
|
7172
7345
|
};
|
|
@@ -7191,12 +7364,16 @@ var KHR_materials_iridescence = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
7191
7364
|
GLTFMaterialParser._checkOtherTextureTransform(iridescenceTexture, "Iridescence texture");
|
|
7192
7365
|
context.get(GLTFParserType.Texture, iridescenceTexture.index).then(function(texture) {
|
|
7193
7366
|
material.iridescenceTexture = texture;
|
|
7367
|
+
}).catch(function(e) {
|
|
7368
|
+
Logger.error("KHR_materials_iridescence: iridescence texture error", e);
|
|
7194
7369
|
});
|
|
7195
7370
|
}
|
|
7196
7371
|
if (iridescenceThicknessTexture) {
|
|
7197
7372
|
GLTFMaterialParser._checkOtherTextureTransform(iridescenceThicknessTexture, "IridescenceThickness texture");
|
|
7198
7373
|
context.get(GLTFParserType.Texture, iridescenceThicknessTexture.index).then(function(texture) {
|
|
7199
7374
|
material.iridescenceThicknessTexture = texture;
|
|
7375
|
+
}).catch(function(e) {
|
|
7376
|
+
Logger.error("KHR_materials_iridescence: iridescence thickness error", e);
|
|
7200
7377
|
});
|
|
7201
7378
|
}
|
|
7202
7379
|
};
|
|
@@ -7223,19 +7400,10 @@ var EXT_texture_webp = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
7223
7400
|
}
|
|
7224
7401
|
var _proto = EXT_texture_webp.prototype;
|
|
7225
7402
|
_proto.createAndParse = function createAndParse(context, schema, textureInfo, textureIndex) {
|
|
7226
|
-
var
|
|
7227
|
-
|
|
7228
|
-
|
|
7229
|
-
|
|
7230
|
-
webPIndex = schema.source;
|
|
7231
|
-
sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
|
|
7232
|
-
texture = GLTFTextureParser._parseTexture(context, _this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName);
|
|
7233
|
-
return [
|
|
7234
|
-
2,
|
|
7235
|
-
texture
|
|
7236
|
-
];
|
|
7237
|
-
});
|
|
7238
|
-
})();
|
|
7403
|
+
var webPIndex = schema.source;
|
|
7404
|
+
var sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
|
|
7405
|
+
var texture = GLTFTextureParser._parseTexture(context, this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName);
|
|
7406
|
+
return texture;
|
|
7239
7407
|
};
|
|
7240
7408
|
return EXT_texture_webp;
|
|
7241
7409
|
}(GLTFExtensionParser);
|