@babylonjs/loaders 5.0.0-beta.2 → 5.0.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/OBJ/objFileLoader.js +2 -2
  2. package/OBJ/objFileLoader.js.map +1 -1
  3. package/glTF/2.0/Extensions/EXT_lights_image_based.js +8 -8
  4. package/glTF/2.0/Extensions/EXT_lights_image_based.js.map +1 -1
  5. package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.js +4 -4
  6. package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.js.map +1 -1
  7. package/glTF/2.0/Extensions/EXT_meshopt_compression.js +2 -2
  8. package/glTF/2.0/Extensions/EXT_meshopt_compression.js.map +1 -1
  9. package/glTF/2.0/Extensions/EXT_texture_webp.js +2 -2
  10. package/glTF/2.0/Extensions/EXT_texture_webp.js.map +1 -1
  11. package/glTF/2.0/Extensions/KHR_draco_mesh_compression.js +27 -7
  12. package/glTF/2.0/Extensions/KHR_draco_mesh_compression.js.map +1 -1
  13. package/glTF/2.0/Extensions/KHR_lights_punctual.js +1 -1
  14. package/glTF/2.0/Extensions/KHR_lights_punctual.js.map +1 -1
  15. package/glTF/2.0/Extensions/KHR_materials_clearcoat.js +7 -7
  16. package/glTF/2.0/Extensions/KHR_materials_clearcoat.js.map +1 -1
  17. package/glTF/2.0/Extensions/KHR_materials_emissive_strength.js +1 -1
  18. package/glTF/2.0/Extensions/KHR_materials_emissive_strength.js.map +1 -1
  19. package/glTF/2.0/Extensions/KHR_materials_ior.js +1 -1
  20. package/glTF/2.0/Extensions/KHR_materials_ior.js.map +1 -1
  21. package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.js +5 -5
  22. package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.js.map +1 -1
  23. package/glTF/2.0/Extensions/KHR_materials_sheen.js +5 -5
  24. package/glTF/2.0/Extensions/KHR_materials_sheen.js.map +1 -1
  25. package/glTF/2.0/Extensions/KHR_materials_specular.js +5 -5
  26. package/glTF/2.0/Extensions/KHR_materials_specular.js.map +1 -1
  27. package/glTF/2.0/Extensions/KHR_materials_translucency.js +2 -2
  28. package/glTF/2.0/Extensions/KHR_materials_translucency.js.map +1 -1
  29. package/glTF/2.0/Extensions/KHR_materials_transmission.js +2 -2
  30. package/glTF/2.0/Extensions/KHR_materials_transmission.js.map +1 -1
  31. package/glTF/2.0/Extensions/KHR_materials_unlit.js +3 -3
  32. package/glTF/2.0/Extensions/KHR_materials_unlit.js.map +1 -1
  33. package/glTF/2.0/Extensions/KHR_materials_variants.js +6 -6
  34. package/glTF/2.0/Extensions/KHR_materials_variants.js.map +1 -1
  35. package/glTF/2.0/Extensions/KHR_materials_volume.js +2 -2
  36. package/glTF/2.0/Extensions/KHR_materials_volume.js.map +1 -1
  37. package/glTF/2.0/Extensions/KHR_texture_basisu.js +2 -2
  38. package/glTF/2.0/Extensions/KHR_texture_basisu.js.map +1 -1
  39. package/glTF/2.0/Extensions/KHR_texture_transform.js +1 -1
  40. package/glTF/2.0/Extensions/KHR_texture_transform.js.map +1 -1
  41. package/glTF/2.0/Extensions/MSFT_audio_emitter.js +13 -13
  42. package/glTF/2.0/Extensions/MSFT_audio_emitter.js.map +1 -1
  43. package/glTF/2.0/Extensions/MSFT_lod.d.ts +0 -1
  44. package/glTF/2.0/Extensions/MSFT_lod.js +17 -54
  45. package/glTF/2.0/Extensions/MSFT_lod.js.map +1 -1
  46. package/glTF/2.0/Extensions/MSFT_minecraftMesh.js +1 -1
  47. package/glTF/2.0/Extensions/MSFT_minecraftMesh.js.map +1 -1
  48. package/glTF/2.0/Extensions/MSFT_sRGBFactors.js +1 -1
  49. package/glTF/2.0/Extensions/MSFT_sRGBFactors.js.map +1 -1
  50. package/glTF/2.0/glTFLoader.js +141 -141
  51. package/glTF/2.0/glTFLoader.js.map +1 -1
  52. package/glTF/glTFFileLoader.js +13 -13
  53. package/glTF/glTFFileLoader.js.map +1 -1
  54. package/glTF/glTFValidation.js +1 -1
  55. package/glTF/glTFValidation.js.map +1 -1
  56. package/package.json +3 -3
@@ -39,7 +39,7 @@ var ArrayItem = /** @class */ (function () {
39
39
  */
40
40
  ArrayItem.Get = function (context, array, index) {
41
41
  if (!array || index == undefined || !array[index]) {
42
- throw new Error(context + ": Failed to find index (" + index + ")");
42
+ throw new Error("".concat(context, ": Failed to find index (").concat(index, ")"));
43
43
  }
44
44
  return array[index];
45
45
  };
@@ -84,7 +84,7 @@ var GLTFLoader = /** @class */ (function () {
84
84
  */
85
85
  GLTFLoader.RegisterExtension = function (name, factory) {
86
86
  if (GLTFLoader.UnregisterExtension(name)) {
87
- Logger.Warn("Extension with the name '" + name + "' already exists");
87
+ Logger.Warn("Extension with the name '".concat(name, "' already exists"));
88
88
  }
89
89
  GLTFLoader._RegisteredExtensions[name] = {
90
90
  factory: factory
@@ -192,7 +192,7 @@ var GLTFLoader = /** @class */ (function () {
192
192
  nodes = names.map(function (name) {
193
193
  var node = nodeMap_1[name];
194
194
  if (node === undefined) {
195
- throw new Error("Failed to find node '" + name + "'");
195
+ throw new Error("Failed to find node '".concat(name, "'"));
196
196
  }
197
197
  return node;
198
198
  });
@@ -224,12 +224,12 @@ var GLTFLoader = /** @class */ (function () {
224
224
  var _this = this;
225
225
  return Promise.resolve().then(function () {
226
226
  _this._rootUrl = rootUrl;
227
- _this._uniqueRootUrl = (!StringTools.StartsWith(rootUrl, "file:") && fileName) ? rootUrl : "" + rootUrl + Date.now() + "/";
227
+ _this._uniqueRootUrl = (!StringTools.StartsWith(rootUrl, "file:") && fileName) ? rootUrl : "".concat(rootUrl).concat(Date.now(), "/");
228
228
  _this._fileName = fileName;
229
229
  _this._loadExtensions();
230
230
  _this._checkExtensions();
231
- var loadingToReadyCounterName = GLTFLoaderState[GLTFLoaderState.LOADING] + " => " + GLTFLoaderState[GLTFLoaderState.READY];
232
- var loadingToCompleteCounterName = GLTFLoaderState[GLTFLoaderState.LOADING] + " => " + GLTFLoaderState[GLTFLoaderState.COMPLETE];
231
+ var loadingToReadyCounterName = "".concat(GLTFLoaderState[GLTFLoaderState.LOADING], " => ").concat(GLTFLoaderState[GLTFLoaderState.READY]);
232
+ var loadingToCompleteCounterName = "".concat(GLTFLoaderState[GLTFLoaderState.LOADING], " => ").concat(GLTFLoaderState[GLTFLoaderState.COMPLETE]);
233
233
  _this._parent._startPerformanceCounter(loadingToReadyCounterName);
234
234
  _this._parent._startPerformanceCounter(loadingToCompleteCounterName);
235
235
  _this._parent._setState(GLTFLoaderState.LOADING);
@@ -243,7 +243,7 @@ var GLTFLoader = /** @class */ (function () {
243
243
  }
244
244
  else if (_this._gltf.scene != undefined || (_this._gltf.scenes && _this._gltf.scenes[0])) {
245
245
  var scene = ArrayItem.Get("/scene", _this._gltf.scenes, _this._gltf.scene || 0);
246
- promises.push(_this.loadSceneAsync("/scenes/" + scene.index, scene));
246
+ promises.push(_this.loadSceneAsync("/scenes/".concat(scene.index), scene));
247
247
  }
248
248
  if (_this.parent.loadAllMaterials && _this._gltf.materials) {
249
249
  for (var m = 0; m < _this._gltf.materials.length; ++m) {
@@ -306,7 +306,7 @@ var GLTFLoader = /** @class */ (function () {
306
306
  if (buffers && buffers[0] && !buffers[0].uri) {
307
307
  var binaryBuffer = buffers[0];
308
308
  if (binaryBuffer.byteLength < data.bin.byteLength - 3 || binaryBuffer.byteLength > data.bin.byteLength) {
309
- Logger.Warn("Binary buffer length (" + binaryBuffer.byteLength + ") from JSON does not match chunk length (" + data.bin.byteLength + ")");
309
+ Logger.Warn("Binary buffer length (".concat(binaryBuffer.byteLength, ") from JSON does not match chunk length (").concat(data.bin.byteLength, ")"));
310
310
  }
311
311
  this._bin = data.bin;
312
312
  }
@@ -352,7 +352,7 @@ var GLTFLoader = /** @class */ (function () {
352
352
  for (var name_2 in GLTFLoader._RegisteredExtensions) {
353
353
  var extension = GLTFLoader._RegisteredExtensions[name_2].factory(this);
354
354
  if (extension.name !== name_2) {
355
- Logger.Warn("The name of the glTF loader extension instance does not match the registered name: " + extension.name + " !== " + name_2);
355
+ Logger.Warn("The name of the glTF loader extension instance does not match the registered name: ".concat(extension.name, " !== ").concat(name_2));
356
356
  }
357
357
  this._extensions.push(extension);
358
358
  this._parent.onExtensionLoadedObservable.notifyObservers(extension);
@@ -365,7 +365,7 @@ var GLTFLoader = /** @class */ (function () {
365
365
  var _loop_1 = function (name_3) {
366
366
  var available = this_1._extensions.some(function (extension) { return extension.name === name_3 && extension.enabled; });
367
367
  if (!available) {
368
- throw new Error("Require extension " + name_3 + " is not available");
368
+ throw new Error("Require extension ".concat(name_3, " is not available"));
369
369
  }
370
370
  };
371
371
  var this_1 = this;
@@ -399,7 +399,7 @@ var GLTFLoader = /** @class */ (function () {
399
399
  break;
400
400
  }
401
401
  default: {
402
- throw new Error("Invalid coordinate system mode (" + this._parent.coordinateSystemMode + ")");
402
+ throw new Error("Invalid coordinate system mode (".concat(this._parent.coordinateSystemMode, ")"));
403
403
  }
404
404
  }
405
405
  this._parent.onMeshLoadedObservable.notifyObservers(this._rootBabylonMesh);
@@ -418,12 +418,12 @@ var GLTFLoader = /** @class */ (function () {
418
418
  return extensionPromise;
419
419
  }
420
420
  var promises = new Array();
421
- this.logOpen(context + " " + (scene.name || ""));
421
+ this.logOpen("".concat(context, " ").concat(scene.name || ""));
422
422
  if (scene.nodes) {
423
423
  for (var _i = 0, _a = scene.nodes; _i < _a.length; _i++) {
424
424
  var index = _a[_i];
425
- var node = ArrayItem.Get(context + "/nodes/" + index, this._gltf.nodes, index);
426
- promises.push(this.loadNodeAsync("/nodes/" + node.index, node, function (babylonMesh) {
425
+ var node = ArrayItem.Get("".concat(context, "/nodes/").concat(index), this._gltf.nodes, index);
426
+ promises.push(this.loadNodeAsync("/nodes/".concat(node.index), node, function (babylonMesh) {
427
427
  babylonMesh.parent = _this._rootBabylonMesh;
428
428
  }));
429
429
  }
@@ -547,7 +547,7 @@ var GLTFLoader = /** @class */ (function () {
547
547
  break;
548
548
  }
549
549
  default: {
550
- Logger.Error("Invalid animation start mode (" + this._parent.animationStartMode + ")");
550
+ Logger.Error("Invalid animation start mode (".concat(this._parent.animationStartMode, ")"));
551
551
  return;
552
552
  }
553
553
  }
@@ -567,24 +567,24 @@ var GLTFLoader = /** @class */ (function () {
567
567
  return extensionPromise;
568
568
  }
569
569
  if (node._babylonTransformNode) {
570
- throw new Error(context + ": Invalid recursive node hierarchy");
570
+ throw new Error("".concat(context, ": Invalid recursive node hierarchy"));
571
571
  }
572
572
  var promises = new Array();
573
- this.logOpen(context + " " + (node.name || ""));
573
+ this.logOpen("".concat(context, " ").concat(node.name || ""));
574
574
  var loadNode = function (babylonTransformNode) {
575
575
  GLTFLoader.AddPointerMetadata(babylonTransformNode, context);
576
576
  GLTFLoader._LoadTransform(node, babylonTransformNode);
577
577
  if (node.camera != undefined) {
578
- var camera = ArrayItem.Get(context + "/camera", _this._gltf.cameras, node.camera);
579
- promises.push(_this.loadCameraAsync("/cameras/" + camera.index, camera, function (babylonCamera) {
578
+ var camera = ArrayItem.Get("".concat(context, "/camera"), _this._gltf.cameras, node.camera);
579
+ promises.push(_this.loadCameraAsync("/cameras/".concat(camera.index), camera, function (babylonCamera) {
580
580
  babylonCamera.parent = babylonTransformNode;
581
581
  }));
582
582
  }
583
583
  if (node.children) {
584
584
  for (var _i = 0, _a = node.children; _i < _a.length; _i++) {
585
585
  var index = _a[_i];
586
- var childNode = ArrayItem.Get(context + "/children/" + index, _this._gltf.nodes, index);
587
- promises.push(_this.loadNodeAsync("/nodes/" + childNode.index, childNode, function (childBabylonMesh) {
586
+ var childNode = ArrayItem.Get("".concat(context, "/children/").concat(index), _this._gltf.nodes, index);
587
+ promises.push(_this.loadNodeAsync("/nodes/".concat(childNode.index), childNode, function (childBabylonMesh) {
588
588
  childBabylonMesh.parent = babylonTransformNode;
589
589
  }));
590
590
  }
@@ -592,7 +592,7 @@ var GLTFLoader = /** @class */ (function () {
592
592
  assign(babylonTransformNode);
593
593
  };
594
594
  if (node.mesh == undefined) {
595
- var nodeName = node.name || "node" + node.index;
595
+ var nodeName = node.name || "node".concat(node.index);
596
596
  this._babylonScene._blockEntityCollection = !!this._assetContainer;
597
597
  node._babylonTransformNode = new TransformNode(nodeName, this._babylonScene);
598
598
  node._babylonTransformNode._parentContainer = this._assetContainer;
@@ -600,8 +600,8 @@ var GLTFLoader = /** @class */ (function () {
600
600
  loadNode(node._babylonTransformNode);
601
601
  }
602
602
  else {
603
- var mesh = ArrayItem.Get(context + "/mesh", this._gltf.meshes, node.mesh);
604
- promises.push(this._loadMeshAsync("/meshes/" + mesh.index, node, mesh, loadNode));
603
+ var mesh = ArrayItem.Get("".concat(context, "/mesh"), this._gltf.meshes, node.mesh);
604
+ promises.push(this._loadMeshAsync("/meshes/".concat(mesh.index), node, mesh, loadNode));
605
605
  }
606
606
  this.logClose();
607
607
  return Promise.all(promises).then(function () {
@@ -620,17 +620,17 @@ var GLTFLoader = /** @class */ (function () {
620
620
  GLTFLoader.prototype._loadMeshAsync = function (context, node, mesh, assign) {
621
621
  var primitives = mesh.primitives;
622
622
  if (!primitives || !primitives.length) {
623
- throw new Error(context + ": Primitives are missing");
623
+ throw new Error("".concat(context, ": Primitives are missing"));
624
624
  }
625
625
  if (primitives[0].index == undefined) {
626
626
  ArrayItem.Assign(primitives);
627
627
  }
628
628
  var promises = new Array();
629
- this.logOpen(context + " " + (mesh.name || ""));
630
- var name = node.name || "node" + node.index;
629
+ this.logOpen("".concat(context, " ").concat(mesh.name || ""));
630
+ var name = node.name || "node".concat(node.index);
631
631
  if (primitives.length === 1) {
632
632
  var primitive = mesh.primitives[0];
633
- promises.push(this._loadMeshPrimitiveAsync(context + "/primitives/" + primitive.index, name, node, mesh, primitive, function (babylonMesh) {
633
+ promises.push(this._loadMeshPrimitiveAsync("".concat(context, "/primitives/").concat(primitive.index), name, node, mesh, primitive, function (babylonMesh) {
634
634
  node._babylonTransformNode = babylonMesh;
635
635
  node._primitiveBabylonMeshes = [babylonMesh];
636
636
  }));
@@ -643,15 +643,15 @@ var GLTFLoader = /** @class */ (function () {
643
643
  node._primitiveBabylonMeshes = [];
644
644
  for (var _i = 0, primitives_1 = primitives; _i < primitives_1.length; _i++) {
645
645
  var primitive = primitives_1[_i];
646
- promises.push(this._loadMeshPrimitiveAsync(context + "/primitives/" + primitive.index, name + "_primitive" + primitive.index, node, mesh, primitive, function (babylonMesh) {
646
+ promises.push(this._loadMeshPrimitiveAsync("".concat(context, "/primitives/").concat(primitive.index), "".concat(name, "_primitive").concat(primitive.index), node, mesh, primitive, function (babylonMesh) {
647
647
  babylonMesh.parent = node._babylonTransformNode;
648
648
  node._primitiveBabylonMeshes.push(babylonMesh);
649
649
  }));
650
650
  }
651
651
  }
652
652
  if (node.skin != undefined) {
653
- var skin = ArrayItem.Get(context + "/skin", this._gltf.skins, node.skin);
654
- promises.push(this._loadSkinAsync("/skins/" + skin.index, node, skin));
653
+ var skin = ArrayItem.Get("".concat(context, "/skin"), this._gltf.skins, node.skin);
654
+ promises.push(this._loadSkinAsync("/skins/".concat(skin.index), node, skin));
655
655
  }
656
656
  assign(node._babylonTransformNode);
657
657
  this.logClose();
@@ -675,7 +675,7 @@ var GLTFLoader = /** @class */ (function () {
675
675
  if (extensionPromise) {
676
676
  return extensionPromise;
677
677
  }
678
- this.logOpen("" + context);
678
+ this.logOpen("".concat(context));
679
679
  var shouldInstance = (this._disableInstancedMesh === 0) && this._parent.createInstances && (node.skin == undefined && !mesh.primitives[0].targets);
680
680
  var babylonAbstractMesh;
681
681
  var promise;
@@ -713,8 +713,8 @@ var GLTFLoader = /** @class */ (function () {
713
713
  babylonMesh_1.material = babylonMaterial;
714
714
  }
715
715
  else {
716
- var material = ArrayItem.Get(context + "/material", this._gltf.materials, primitive.material);
717
- promises.push(this._loadMaterialAsync("/materials/" + material.index, material, babylonMesh_1, babylonDrawMode, function (babylonMaterial) {
716
+ var material = ArrayItem.Get("".concat(context, "/material"), this._gltf.materials, primitive.material);
717
+ promises.push(this._loadMaterialAsync("/materials/".concat(material.index), material, babylonMesh_1, babylonDrawMode, function (babylonMaterial) {
718
718
  babylonMesh_1.material = babylonMaterial;
719
719
  }));
720
720
  }
@@ -743,7 +743,7 @@ var GLTFLoader = /** @class */ (function () {
743
743
  }
744
744
  var attributes = primitive.attributes;
745
745
  if (!attributes) {
746
- throw new Error(context + ": Attributes are missing");
746
+ throw new Error("".concat(context, ": Attributes are missing"));
747
747
  }
748
748
  var promises = new Array();
749
749
  var babylonGeometry = new Geometry(babylonMesh.name, this._babylonScene);
@@ -751,8 +751,8 @@ var GLTFLoader = /** @class */ (function () {
751
751
  babylonMesh.isUnIndexed = true;
752
752
  }
753
753
  else {
754
- var accessor = ArrayItem.Get(context + "/indices", this._gltf.accessors, primitive.indices);
755
- promises.push(this._loadIndicesAccessorAsync("/accessors/" + accessor.index, accessor).then(function (data) {
754
+ var accessor = ArrayItem.Get("".concat(context, "/indices"), this._gltf.accessors, primitive.indices);
755
+ promises.push(this._loadIndicesAccessorAsync("/accessors/".concat(accessor.index), accessor).then(function (data) {
756
756
  babylonGeometry.setIndices(data);
757
757
  }));
758
758
  }
@@ -764,8 +764,8 @@ var GLTFLoader = /** @class */ (function () {
764
764
  if (babylonMesh._delayInfo.indexOf(kind) === -1) {
765
765
  babylonMesh._delayInfo.push(kind);
766
766
  }
767
- var accessor = ArrayItem.Get(context + "/attributes/" + attribute, _this._gltf.accessors, attributes[attribute]);
768
- promises.push(_this._loadVertexAccessorAsync("/accessors/" + accessor.index, accessor, kind).then(function (babylonVertexBuffer) {
767
+ var accessor = ArrayItem.Get("".concat(context, "/attributes/").concat(attribute), _this._gltf.accessors, attributes[attribute]);
768
+ promises.push(_this._loadVertexAccessorAsync("/accessors/".concat(accessor.index), accessor, kind).then(function (babylonVertexBuffer) {
769
769
  if (babylonVertexBuffer.getKind() === VertexBuffer.PositionKind && !_this.parent.alwaysComputeBoundingBox && !babylonMesh.skeleton) {
770
770
  var mmin = accessor.min, mmax = accessor.max;
771
771
  if (mmin !== undefined && mmax !== undefined) {
@@ -836,14 +836,14 @@ var GLTFLoader = /** @class */ (function () {
836
836
  node._numMorphTargets = primitive.targets.length;
837
837
  }
838
838
  else if (primitive.targets.length !== node._numMorphTargets) {
839
- throw new Error(context + ": Primitives do not have the same number of targets");
839
+ throw new Error("".concat(context, ": Primitives do not have the same number of targets"));
840
840
  }
841
841
  var targetNames = mesh.extras ? mesh.extras.targetNames : null;
842
842
  babylonMesh.morphTargetManager = new MorphTargetManager(babylonMesh.getScene());
843
843
  babylonMesh.morphTargetManager.areUpdatesFrozen = true;
844
844
  for (var index = 0; index < primitive.targets.length; index++) {
845
845
  var weight = node.weights ? node.weights[index] : mesh.weights ? mesh.weights[index] : 0;
846
- var name_4 = targetNames ? targetNames[index] : "morphTarget" + index;
846
+ var name_4 = targetNames ? targetNames[index] : "morphTarget".concat(index);
847
847
  babylonMesh.morphTargetManager.addTarget(new MorphTarget(name_4, weight, babylonMesh.getScene()));
848
848
  // TODO: tell the target whether it has positions, normals, tangents
849
849
  }
@@ -856,7 +856,7 @@ var GLTFLoader = /** @class */ (function () {
856
856
  var morphTargetManager = babylonMesh.morphTargetManager;
857
857
  for (var index = 0; index < morphTargetManager.numTargets; index++) {
858
858
  var babylonMorphTarget = morphTargetManager.getTarget(index);
859
- promises.push(this._loadMorphTargetVertexDataAsync(context + "/targets/" + index, babylonGeometry, primitive.targets[index], babylonMorphTarget));
859
+ promises.push(this._loadMorphTargetVertexDataAsync("".concat(context, "/targets/").concat(index), babylonGeometry, primitive.targets[index], babylonMorphTarget));
860
860
  }
861
861
  return Promise.all(promises).then(function () {
862
862
  morphTargetManager.areUpdatesFrozen = false;
@@ -873,8 +873,8 @@ var GLTFLoader = /** @class */ (function () {
873
873
  if (!babylonVertexBuffer) {
874
874
  return;
875
875
  }
876
- var accessor = ArrayItem.Get(context + "/" + attribute, _this._gltf.accessors, attributes[attribute]);
877
- promises.push(_this._loadFloatAccessorAsync("/accessors/" + accessor.index, accessor).then(function (data) {
876
+ var accessor = ArrayItem.Get("".concat(context, "/").concat(attribute), _this._gltf.accessors, attributes[attribute]);
877
+ promises.push(_this._loadFloatAccessorAsync("/accessors/".concat(accessor.index), accessor).then(function (data) {
878
878
  setData(babylonVertexBuffer, data);
879
879
  }));
880
880
  };
@@ -951,7 +951,7 @@ var GLTFLoader = /** @class */ (function () {
951
951
  assignSkeleton(skin._data.babylonSkeleton);
952
952
  return skin._data.promise;
953
953
  }
954
- var skeletonId = "skeleton" + skin.index;
954
+ var skeletonId = "skeleton".concat(skin.index);
955
955
  this._babylonScene._blockEntityCollection = !!this._assetContainer;
956
956
  var babylonSkeleton = new Skeleton(skin.name || skeletonId, skeletonId, this._babylonScene);
957
957
  babylonSkeleton._parentContainer = this._assetContainer;
@@ -973,7 +973,7 @@ var GLTFLoader = /** @class */ (function () {
973
973
  var babylonBones = {};
974
974
  for (var _i = 0, _a = skin.joints; _i < _a.length; _i++) {
975
975
  var index = _a[_i];
976
- var node = ArrayItem.Get(context + "/joints/" + index, this._gltf.nodes, index);
976
+ var node = ArrayItem.Get("".concat(context, "/joints/").concat(index), this._gltf.nodes, index);
977
977
  this._loadBone(node, skin, babylonSkeleton, babylonBones);
978
978
  }
979
979
  };
@@ -987,7 +987,7 @@ var GLTFLoader = /** @class */ (function () {
987
987
  babylonParentBone = this._loadBone(node.parent, skin, babylonSkeleton, babylonBones);
988
988
  }
989
989
  var boneIndex = skin.joints.indexOf(node.index);
990
- babylonBone = new Bone(node.name || "joint" + node.index, babylonSkeleton, babylonParentBone, this._getNodeMatrix(node), null, null, boneIndex);
990
+ babylonBone = new Bone(node.name || "joint".concat(node.index), babylonSkeleton, babylonParentBone, this._getNodeMatrix(node), null, null, boneIndex);
991
991
  babylonBones[node.index] = babylonBone;
992
992
  node._babylonBones = node._babylonBones || [];
993
993
  node._babylonBones.push(babylonBone);
@@ -997,8 +997,8 @@ var GLTFLoader = /** @class */ (function () {
997
997
  if (skin.inverseBindMatrices == undefined) {
998
998
  return Promise.resolve(null);
999
999
  }
1000
- var accessor = ArrayItem.Get(context + "/inverseBindMatrices", this._gltf.accessors, skin.inverseBindMatrices);
1001
- return this._loadFloatAccessorAsync("/accessors/" + accessor.index, accessor);
1000
+ var accessor = ArrayItem.Get("".concat(context, "/inverseBindMatrices"), this._gltf.accessors, skin.inverseBindMatrices);
1001
+ return this._loadFloatAccessorAsync("/accessors/".concat(accessor.index), accessor);
1002
1002
  };
1003
1003
  GLTFLoader.prototype._updateBoneMatrices = function (babylonSkeleton, inverseBindMatricesData) {
1004
1004
  for (var _i = 0, _a = babylonSkeleton.bones; _i < _a.length; _i++) {
@@ -1036,9 +1036,9 @@ var GLTFLoader = /** @class */ (function () {
1036
1036
  return extensionPromise;
1037
1037
  }
1038
1038
  var promises = new Array();
1039
- this.logOpen(context + " " + (camera.name || ""));
1039
+ this.logOpen("".concat(context, " ").concat(camera.name || ""));
1040
1040
  this._babylonScene._blockEntityCollection = !!this._assetContainer;
1041
- var babylonCamera = new FreeCamera(camera.name || "camera" + camera.index, Vector3.Zero(), this._babylonScene, false);
1041
+ var babylonCamera = new FreeCamera(camera.name || "camera".concat(camera.index), Vector3.Zero(), this._babylonScene, false);
1042
1042
  babylonCamera._parentContainer = this._assetContainer;
1043
1043
  this._babylonScene._blockEntityCollection = false;
1044
1044
  babylonCamera.ignoreParentScaling = true;
@@ -1047,7 +1047,7 @@ var GLTFLoader = /** @class */ (function () {
1047
1047
  case "perspective" /* PERSPECTIVE */: {
1048
1048
  var perspective = camera.perspective;
1049
1049
  if (!perspective) {
1050
- throw new Error(context + ": Camera perspective properties are missing");
1050
+ throw new Error("".concat(context, ": Camera perspective properties are missing"));
1051
1051
  }
1052
1052
  babylonCamera.fov = perspective.yfov;
1053
1053
  babylonCamera.minZ = perspective.znear;
@@ -1056,7 +1056,7 @@ var GLTFLoader = /** @class */ (function () {
1056
1056
  }
1057
1057
  case "orthographic" /* ORTHOGRAPHIC */: {
1058
1058
  if (!camera.orthographic) {
1059
- throw new Error(context + ": Camera orthographic properties are missing");
1059
+ throw new Error("".concat(context, ": Camera orthographic properties are missing"));
1060
1060
  }
1061
1061
  babylonCamera.mode = Camera.ORTHOGRAPHIC_CAMERA;
1062
1062
  babylonCamera.orthoLeft = -camera.orthographic.xmag;
@@ -1068,7 +1068,7 @@ var GLTFLoader = /** @class */ (function () {
1068
1068
  break;
1069
1069
  }
1070
1070
  default: {
1071
- throw new Error(context + ": Invalid camera type (" + camera.type + ")");
1071
+ throw new Error("".concat(context, ": Invalid camera type (").concat(camera.type, ")"));
1072
1072
  }
1073
1073
  }
1074
1074
  GLTFLoader.AddPointerMetadata(babylonCamera, context);
@@ -1087,7 +1087,7 @@ var GLTFLoader = /** @class */ (function () {
1087
1087
  var promises = new Array();
1088
1088
  for (var index = 0; index < animations.length; index++) {
1089
1089
  var animation = animations[index];
1090
- promises.push(this.loadAnimationAsync("/animations/" + animation.index, animation).then(function (animationGroup) {
1090
+ promises.push(this.loadAnimationAsync("/animations/".concat(animation.index), animation).then(function (animationGroup) {
1091
1091
  // Delete the animation group if it ended up not having any animations in it.
1092
1092
  if (animationGroup.targetedAnimations.length === 0) {
1093
1093
  animationGroup.dispose();
@@ -1108,7 +1108,7 @@ var GLTFLoader = /** @class */ (function () {
1108
1108
  return promise;
1109
1109
  }
1110
1110
  this._babylonScene._blockEntityCollection = !!this._assetContainer;
1111
- var babylonAnimationGroup = new AnimationGroup(animation.name || "animation" + animation.index, this._babylonScene);
1111
+ var babylonAnimationGroup = new AnimationGroup(animation.name || "animation".concat(animation.index), this._babylonScene);
1112
1112
  babylonAnimationGroup._parentContainer = this._assetContainer;
1113
1113
  this._babylonScene._blockEntityCollection = false;
1114
1114
  animation._babylonAnimationGroup = babylonAnimationGroup;
@@ -1117,7 +1117,7 @@ var GLTFLoader = /** @class */ (function () {
1117
1117
  ArrayItem.Assign(animation.samplers);
1118
1118
  for (var _i = 0, _a = animation.channels; _i < _a.length; _i++) {
1119
1119
  var channel = _a[_i];
1120
- promises.push(this._loadAnimationChannelAsync(context + "/channels/" + channel.index, context, animation, channel, babylonAnimationGroup));
1120
+ promises.push(this._loadAnimationChannelAsync("".concat(context, "/channels/").concat(channel.index), context, animation, channel, babylonAnimationGroup));
1121
1121
  }
1122
1122
  return Promise.all(promises).then(function () {
1123
1123
  babylonAnimationGroup.normalize(0);
@@ -1140,14 +1140,14 @@ var GLTFLoader = /** @class */ (function () {
1140
1140
  if (channel.target.node == undefined) {
1141
1141
  return Promise.resolve();
1142
1142
  }
1143
- var targetNode = ArrayItem.Get(context + "/target/node", this._gltf.nodes, channel.target.node);
1143
+ var targetNode = ArrayItem.Get("".concat(context, "/target/node"), this._gltf.nodes, channel.target.node);
1144
1144
  // Ignore animations that have no animation targets.
1145
1145
  if ((channel.target.path === "weights" /* WEIGHTS */ && !targetNode._numMorphTargets) ||
1146
1146
  (channel.target.path !== "weights" /* WEIGHTS */ && !targetNode._babylonTransformNode)) {
1147
1147
  return Promise.resolve();
1148
1148
  }
1149
- var sampler = ArrayItem.Get(context + "/sampler", animation.samplers, channel.sampler);
1150
- return this._loadAnimationSamplerAsync(animationContext + "/samplers/" + channel.sampler, sampler).then(function (data) {
1149
+ var sampler = ArrayItem.Get("".concat(context, "/sampler"), animation.samplers, channel.sampler);
1150
+ return this._loadAnimationSamplerAsync("".concat(animationContext, "/samplers/").concat(channel.sampler), sampler).then(function (data) {
1151
1151
  var targetPath;
1152
1152
  var animationType;
1153
1153
  switch (channel.target.path) {
@@ -1172,7 +1172,7 @@ var GLTFLoader = /** @class */ (function () {
1172
1172
  break;
1173
1173
  }
1174
1174
  default: {
1175
- throw new Error(context + "/target/path: Invalid value (" + channel.target.path + ")");
1175
+ throw new Error("".concat(context, "/target/path: Invalid value (").concat(channel.target.path, ")"));
1176
1176
  }
1177
1177
  }
1178
1178
  var outputBufferOffset = 0;
@@ -1246,7 +1246,7 @@ var GLTFLoader = /** @class */ (function () {
1246
1246
  }
1247
1247
  if (targetPath === "influence") {
1248
1248
  var _loop_2 = function (targetIndex) {
1249
- var animationName = babylonAnimationGroup.name + "_channel" + babylonAnimationGroup.targetedAnimations.length;
1249
+ var animationName = "".concat(babylonAnimationGroup.name, "_channel").concat(babylonAnimationGroup.targetedAnimations.length);
1250
1250
  var babylonAnimation = new Animation(animationName, targetPath, 1, animationType);
1251
1251
  babylonAnimation.setKeys(keys.map(function (key) { return ({
1252
1252
  frame: key.frame,
@@ -1267,7 +1267,7 @@ var GLTFLoader = /** @class */ (function () {
1267
1267
  }
1268
1268
  }
1269
1269
  else {
1270
- var animationName = babylonAnimationGroup.name + "_channel" + babylonAnimationGroup.targetedAnimations.length;
1270
+ var animationName = "".concat(babylonAnimationGroup.name, "_channel").concat(babylonAnimationGroup.targetedAnimations.length);
1271
1271
  var babylonAnimation = new Animation(animationName, targetPath, 1, animationType);
1272
1272
  babylonAnimation.setKeys(keys);
1273
1273
  if (animationTargetOverride != null && animationTargetOverride.animations != null) {
@@ -1293,14 +1293,14 @@ var GLTFLoader = /** @class */ (function () {
1293
1293
  break;
1294
1294
  }
1295
1295
  default: {
1296
- throw new Error(context + "/interpolation: Invalid value (" + sampler.interpolation + ")");
1296
+ throw new Error("".concat(context, "/interpolation: Invalid value (").concat(sampler.interpolation, ")"));
1297
1297
  }
1298
1298
  }
1299
- var inputAccessor = ArrayItem.Get(context + "/input", this._gltf.accessors, sampler.input);
1300
- var outputAccessor = ArrayItem.Get(context + "/output", this._gltf.accessors, sampler.output);
1299
+ var inputAccessor = ArrayItem.Get("".concat(context, "/input"), this._gltf.accessors, sampler.input);
1300
+ var outputAccessor = ArrayItem.Get("".concat(context, "/output"), this._gltf.accessors, sampler.output);
1301
1301
  sampler._data = Promise.all([
1302
- this._loadFloatAccessorAsync("/accessors/" + inputAccessor.index, inputAccessor),
1303
- this._loadFloatAccessorAsync("/accessors/" + outputAccessor.index, outputAccessor)
1302
+ this._loadFloatAccessorAsync("/accessors/".concat(inputAccessor.index), inputAccessor),
1303
+ this._loadFloatAccessorAsync("/accessors/".concat(outputAccessor.index), outputAccessor)
1304
1304
  ]).then(function (_a) {
1305
1305
  var inputData = _a[0], outputData = _a[1];
1306
1306
  return {
@@ -1326,11 +1326,11 @@ var GLTFLoader = /** @class */ (function () {
1326
1326
  }
1327
1327
  if (!buffer._data) {
1328
1328
  if (buffer.uri) {
1329
- buffer._data = this.loadUriAsync(context + "/uri", buffer, buffer.uri);
1329
+ buffer._data = this.loadUriAsync("".concat(context, "/uri"), buffer, buffer.uri);
1330
1330
  }
1331
1331
  else {
1332
1332
  if (!this._bin) {
1333
- throw new Error(context + ": Uri is missing or the binary glTF is missing its binary chunk");
1333
+ throw new Error("".concat(context, ": Uri is missing or the binary glTF is missing its binary chunk"));
1334
1334
  }
1335
1335
  buffer._data = this._bin.readAsync(0, buffer.byteLength);
1336
1336
  }
@@ -1340,7 +1340,7 @@ var GLTFLoader = /** @class */ (function () {
1340
1340
  return new Uint8Array(data.buffer, data.byteOffset + byteOffset, byteLength);
1341
1341
  }
1342
1342
  catch (e) {
1343
- throw new Error(context + ": " + e.message);
1343
+ throw new Error("".concat(context, ": ").concat(e.message));
1344
1344
  }
1345
1345
  });
1346
1346
  };
@@ -1358,8 +1358,8 @@ var GLTFLoader = /** @class */ (function () {
1358
1358
  if (bufferView._data) {
1359
1359
  return bufferView._data;
1360
1360
  }
1361
- var buffer = ArrayItem.Get(context + "/buffer", this._gltf.buffers, bufferView.buffer);
1362
- bufferView._data = this.loadBufferAsync("/buffers/" + buffer.index, buffer, (bufferView.byteOffset || 0), bufferView.byteLength);
1361
+ var buffer = ArrayItem.Get("".concat(context, "/buffer"), this._gltf.buffers, bufferView.buffer);
1362
+ bufferView._data = this.loadBufferAsync("/buffers/".concat(buffer.index), buffer, (bufferView.byteOffset || 0), bufferView.byteLength);
1363
1363
  return bufferView._data;
1364
1364
  };
1365
1365
  GLTFLoader.prototype._loadAccessorAsync = function (context, accessor, constructor) {
@@ -1374,8 +1374,8 @@ var GLTFLoader = /** @class */ (function () {
1374
1374
  accessor._data = Promise.resolve(new constructor(length));
1375
1375
  }
1376
1376
  else {
1377
- var bufferView_1 = ArrayItem.Get(context + "/bufferView", this._gltf.bufferViews, accessor.bufferView);
1378
- accessor._data = this.loadBufferViewAsync("/bufferViews/" + bufferView_1.index, bufferView_1).then(function (data) {
1377
+ var bufferView_1 = ArrayItem.Get("".concat(context, "/bufferView"), this._gltf.bufferViews, accessor.bufferView);
1378
+ accessor._data = this.loadBufferViewAsync("/bufferViews/".concat(bufferView_1.index), bufferView_1).then(function (data) {
1379
1379
  if (accessor.componentType === 5126 /* FLOAT */ && !accessor.normalized && (!bufferView_1.byteStride || bufferView_1.byteStride === byteStride)) {
1380
1380
  return GLTFLoader._GetTypedArray(context, accessor.componentType, data, accessor.byteOffset, length);
1381
1381
  }
@@ -1392,21 +1392,21 @@ var GLTFLoader = /** @class */ (function () {
1392
1392
  var sparse_1 = accessor.sparse;
1393
1393
  accessor._data = accessor._data.then(function (data) {
1394
1394
  var typedArray = data;
1395
- var indicesBufferView = ArrayItem.Get(context + "/sparse/indices/bufferView", _this._gltf.bufferViews, sparse_1.indices.bufferView);
1396
- var valuesBufferView = ArrayItem.Get(context + "/sparse/values/bufferView", _this._gltf.bufferViews, sparse_1.values.bufferView);
1395
+ var indicesBufferView = ArrayItem.Get("".concat(context, "/sparse/indices/bufferView"), _this._gltf.bufferViews, sparse_1.indices.bufferView);
1396
+ var valuesBufferView = ArrayItem.Get("".concat(context, "/sparse/values/bufferView"), _this._gltf.bufferViews, sparse_1.values.bufferView);
1397
1397
  return Promise.all([
1398
- _this.loadBufferViewAsync("/bufferViews/" + indicesBufferView.index, indicesBufferView),
1399
- _this.loadBufferViewAsync("/bufferViews/" + valuesBufferView.index, valuesBufferView)
1398
+ _this.loadBufferViewAsync("/bufferViews/".concat(indicesBufferView.index), indicesBufferView),
1399
+ _this.loadBufferViewAsync("/bufferViews/".concat(valuesBufferView.index), valuesBufferView)
1400
1400
  ]).then(function (_a) {
1401
1401
  var indicesData = _a[0], valuesData = _a[1];
1402
- var indices = GLTFLoader._GetTypedArray(context + "/sparse/indices", sparse_1.indices.componentType, indicesData, sparse_1.indices.byteOffset, sparse_1.count);
1402
+ var indices = GLTFLoader._GetTypedArray("".concat(context, "/sparse/indices"), sparse_1.indices.componentType, indicesData, sparse_1.indices.byteOffset, sparse_1.count);
1403
1403
  var sparseLength = numComponents * sparse_1.count;
1404
1404
  var values;
1405
1405
  if (accessor.componentType === 5126 /* FLOAT */ && !accessor.normalized) {
1406
- values = GLTFLoader._GetTypedArray(context + "/sparse/values", accessor.componentType, valuesData, sparse_1.values.byteOffset, sparseLength);
1406
+ values = GLTFLoader._GetTypedArray("".concat(context, "/sparse/values"), accessor.componentType, valuesData, sparse_1.values.byteOffset, sparseLength);
1407
1407
  }
1408
1408
  else {
1409
- var sparseData = GLTFLoader._GetTypedArray(context + "/sparse/values", accessor.componentType, valuesData, sparse_1.values.byteOffset, sparseLength);
1409
+ var sparseData = GLTFLoader._GetTypedArray("".concat(context, "/sparse/values"), accessor.componentType, valuesData, sparse_1.values.byteOffset, sparseLength);
1410
1410
  values = new constructor(sparseLength);
1411
1411
  VertexBuffer.ForEach(sparseData, 0, byteStride, numComponents, accessor.componentType, values.length, accessor.normalized || false, function (value, index) {
1412
1412
  values[index] = value;
@@ -1431,23 +1431,23 @@ var GLTFLoader = /** @class */ (function () {
1431
1431
  };
1432
1432
  GLTFLoader.prototype._loadIndicesAccessorAsync = function (context, accessor) {
1433
1433
  if (accessor.type !== "SCALAR" /* SCALAR */) {
1434
- throw new Error(context + "/type: Invalid value " + accessor.type);
1434
+ throw new Error("".concat(context, "/type: Invalid value ").concat(accessor.type));
1435
1435
  }
1436
1436
  if (accessor.componentType !== 5121 /* UNSIGNED_BYTE */ &&
1437
1437
  accessor.componentType !== 5123 /* UNSIGNED_SHORT */ &&
1438
1438
  accessor.componentType !== 5125 /* UNSIGNED_INT */) {
1439
- throw new Error(context + "/componentType: Invalid value " + accessor.componentType);
1439
+ throw new Error("".concat(context, "/componentType: Invalid value ").concat(accessor.componentType));
1440
1440
  }
1441
1441
  if (accessor._data) {
1442
1442
  return accessor._data;
1443
1443
  }
1444
1444
  if (accessor.sparse) {
1445
- var constructor = GLTFLoader._GetTypedArrayConstructor(context + "/componentType", accessor.componentType);
1445
+ var constructor = GLTFLoader._GetTypedArrayConstructor("".concat(context, "/componentType"), accessor.componentType);
1446
1446
  accessor._data = this._loadAccessorAsync(context, accessor, constructor);
1447
1447
  }
1448
1448
  else {
1449
- var bufferView = ArrayItem.Get(context + "/bufferView", this._gltf.bufferViews, accessor.bufferView);
1450
- accessor._data = this.loadBufferViewAsync("/bufferViews/" + bufferView.index, bufferView).then(function (data) {
1449
+ var bufferView = ArrayItem.Get("".concat(context, "/bufferView"), this._gltf.bufferViews, accessor.bufferView);
1450
+ accessor._data = this.loadBufferViewAsync("/bufferViews/".concat(bufferView.index), bufferView).then(function (data) {
1451
1451
  return GLTFLoader._GetTypedArray(context, accessor.componentType, data, accessor.byteOffset, accessor.count);
1452
1452
  });
1453
1453
  }
@@ -1458,7 +1458,7 @@ var GLTFLoader = /** @class */ (function () {
1458
1458
  if (bufferView._babylonBuffer) {
1459
1459
  return bufferView._babylonBuffer;
1460
1460
  }
1461
- bufferView._babylonBuffer = this.loadBufferViewAsync("/bufferViews/" + bufferView.index, bufferView).then(function (data) {
1461
+ bufferView._babylonBuffer = this.loadBufferViewAsync("/bufferViews/".concat(bufferView.index), bufferView).then(function (data) {
1462
1462
  return new Buffer(_this._babylonScene.getEngine(), data, false);
1463
1463
  });
1464
1464
  return bufferView._babylonBuffer;
@@ -1485,7 +1485,7 @@ var GLTFLoader = /** @class */ (function () {
1485
1485
  });
1486
1486
  }
1487
1487
  else {
1488
- var bufferView_2 = ArrayItem.Get(context + "/bufferView", this._gltf.bufferViews, accessor.bufferView);
1488
+ var bufferView_2 = ArrayItem.Get("".concat(context, "/bufferView"), this._gltf.bufferViews, accessor.bufferView);
1489
1489
  accessor._babylonVertexBuffer[kind] = this._loadVertexBufferViewAsync(bufferView_2, kind).then(function (babylonBuffer) {
1490
1490
  var size = GLTFLoader._GetNumComponents(context, accessor.type);
1491
1491
  return new VertexBuffer(_this._babylonScene.getEngine(), babylonBuffer, kind, false, false, bufferView_2.byteStride, false, accessor.byteOffset, size, accessor.componentType, accessor.normalized, true, 1, true);
@@ -1495,7 +1495,7 @@ var GLTFLoader = /** @class */ (function () {
1495
1495
  };
1496
1496
  GLTFLoader.prototype._loadMaterialMetallicRoughnessPropertiesAsync = function (context, properties, babylonMaterial) {
1497
1497
  if (!(babylonMaterial instanceof PBRMaterial)) {
1498
- throw new Error(context + ": Material type not supported");
1498
+ throw new Error("".concat(context, ": Material type not supported"));
1499
1499
  }
1500
1500
  var promises = new Array();
1501
1501
  if (properties) {
@@ -1509,15 +1509,15 @@ var GLTFLoader = /** @class */ (function () {
1509
1509
  babylonMaterial.metallic = properties.metallicFactor == undefined ? 1 : properties.metallicFactor;
1510
1510
  babylonMaterial.roughness = properties.roughnessFactor == undefined ? 1 : properties.roughnessFactor;
1511
1511
  if (properties.baseColorTexture) {
1512
- promises.push(this.loadTextureInfoAsync(context + "/baseColorTexture", properties.baseColorTexture, function (texture) {
1513
- texture.name = babylonMaterial.name + " (Base Color)";
1512
+ promises.push(this.loadTextureInfoAsync("".concat(context, "/baseColorTexture"), properties.baseColorTexture, function (texture) {
1513
+ texture.name = "".concat(babylonMaterial.name, " (Base Color)");
1514
1514
  babylonMaterial.albedoTexture = texture;
1515
1515
  }));
1516
1516
  }
1517
1517
  if (properties.metallicRoughnessTexture) {
1518
1518
  properties.metallicRoughnessTexture.nonColorData = true;
1519
- promises.push(this.loadTextureInfoAsync(context + "/metallicRoughnessTexture", properties.metallicRoughnessTexture, function (texture) {
1520
- texture.name = babylonMaterial.name + " (Metallic Roughness)";
1519
+ promises.push(this.loadTextureInfoAsync("".concat(context, "/metallicRoughnessTexture"), properties.metallicRoughnessTexture, function (texture) {
1520
+ texture.name = "".concat(babylonMaterial.name, " (Metallic Roughness)");
1521
1521
  babylonMaterial.metallicTexture = texture;
1522
1522
  }));
1523
1523
  babylonMaterial.useMetallnessFromMetallicTextureBlue = true;
@@ -1537,7 +1537,7 @@ var GLTFLoader = /** @class */ (function () {
1537
1537
  material._data = material._data || {};
1538
1538
  var babylonData = material._data[babylonDrawMode];
1539
1539
  if (!babylonData) {
1540
- this.logOpen(context + " " + (material.name || ""));
1540
+ this.logOpen("".concat(context, " ").concat(material.name || ""));
1541
1541
  var babylonMaterial = this.createMaterial(context, material, babylonDrawMode);
1542
1542
  babylonData = {
1543
1543
  babylonMaterial: babylonMaterial,
@@ -1590,7 +1590,7 @@ var GLTFLoader = /** @class */ (function () {
1590
1590
  if (extensionPromise) {
1591
1591
  return extensionPromise;
1592
1592
  }
1593
- var name = material.name || "material" + material.index;
1593
+ var name = material.name || "material".concat(material.index);
1594
1594
  var babylonMaterial = this._createDefaultMaterial(name, babylonDrawMode);
1595
1595
  return babylonMaterial;
1596
1596
  };
@@ -1609,7 +1609,7 @@ var GLTFLoader = /** @class */ (function () {
1609
1609
  var promises = new Array();
1610
1610
  promises.push(this.loadMaterialBasePropertiesAsync(context, material, babylonMaterial));
1611
1611
  if (material.pbrMetallicRoughness) {
1612
- promises.push(this._loadMaterialMetallicRoughnessPropertiesAsync(context + "/pbrMetallicRoughness", material.pbrMetallicRoughness, babylonMaterial));
1612
+ promises.push(this._loadMaterialMetallicRoughnessPropertiesAsync("".concat(context, "/pbrMetallicRoughness"), material.pbrMetallicRoughness, babylonMaterial));
1613
1613
  }
1614
1614
  this.loadMaterialAlphaProperties(context, material, babylonMaterial);
1615
1615
  return Promise.all(promises).then(function () { });
@@ -1623,7 +1623,7 @@ var GLTFLoader = /** @class */ (function () {
1623
1623
  */
1624
1624
  GLTFLoader.prototype.loadMaterialBasePropertiesAsync = function (context, material, babylonMaterial) {
1625
1625
  if (!(babylonMaterial instanceof PBRMaterial)) {
1626
- throw new Error(context + ": Material type not supported");
1626
+ throw new Error("".concat(context, ": Material type not supported"));
1627
1627
  }
1628
1628
  var promises = new Array();
1629
1629
  babylonMaterial.emissiveColor = material.emissiveFactor ? Color3.FromArray(material.emissiveFactor) : new Color3(0, 0, 0);
@@ -1633,8 +1633,8 @@ var GLTFLoader = /** @class */ (function () {
1633
1633
  }
1634
1634
  if (material.normalTexture) {
1635
1635
  material.normalTexture.nonColorData = true;
1636
- promises.push(this.loadTextureInfoAsync(context + "/normalTexture", material.normalTexture, function (texture) {
1637
- texture.name = babylonMaterial.name + " (Normal)";
1636
+ promises.push(this.loadTextureInfoAsync("".concat(context, "/normalTexture"), material.normalTexture, function (texture) {
1637
+ texture.name = "".concat(babylonMaterial.name, " (Normal)");
1638
1638
  babylonMaterial.bumpTexture = texture;
1639
1639
  }));
1640
1640
  babylonMaterial.invertNormalMapX = !this._babylonScene.useRightHandedSystem;
@@ -1646,8 +1646,8 @@ var GLTFLoader = /** @class */ (function () {
1646
1646
  }
1647
1647
  if (material.occlusionTexture) {
1648
1648
  material.occlusionTexture.nonColorData = true;
1649
- promises.push(this.loadTextureInfoAsync(context + "/occlusionTexture", material.occlusionTexture, function (texture) {
1650
- texture.name = babylonMaterial.name + " (Occlusion)";
1649
+ promises.push(this.loadTextureInfoAsync("".concat(context, "/occlusionTexture"), material.occlusionTexture, function (texture) {
1650
+ texture.name = "".concat(babylonMaterial.name, " (Occlusion)");
1651
1651
  babylonMaterial.ambientTexture = texture;
1652
1652
  }));
1653
1653
  babylonMaterial.useAmbientInGrayScale = true;
@@ -1656,8 +1656,8 @@ var GLTFLoader = /** @class */ (function () {
1656
1656
  }
1657
1657
  }
1658
1658
  if (material.emissiveTexture) {
1659
- promises.push(this.loadTextureInfoAsync(context + "/emissiveTexture", material.emissiveTexture, function (texture) {
1660
- texture.name = babylonMaterial.name + " (Emissive)";
1659
+ promises.push(this.loadTextureInfoAsync("".concat(context, "/emissiveTexture"), material.emissiveTexture, function (texture) {
1660
+ texture.name = "".concat(babylonMaterial.name, " (Emissive)");
1661
1661
  babylonMaterial.emissiveTexture = texture;
1662
1662
  }));
1663
1663
  }
@@ -1672,7 +1672,7 @@ var GLTFLoader = /** @class */ (function () {
1672
1672
  */
1673
1673
  GLTFLoader.prototype.loadMaterialAlphaProperties = function (context, material, babylonMaterial) {
1674
1674
  if (!(babylonMaterial instanceof PBRMaterial)) {
1675
- throw new Error(context + ": Material type not supported");
1675
+ throw new Error("".concat(context, ": Material type not supported"));
1676
1676
  }
1677
1677
  var alphaMode = material.alphaMode || "OPAQUE" /* OPAQUE */;
1678
1678
  switch (alphaMode) {
@@ -1697,7 +1697,7 @@ var GLTFLoader = /** @class */ (function () {
1697
1697
  break;
1698
1698
  }
1699
1699
  default: {
1700
- throw new Error(context + "/alphaMode: Invalid value (" + material.alphaMode + ")");
1700
+ throw new Error("".concat(context, "/alphaMode: Invalid value (").concat(material.alphaMode, ")"));
1701
1701
  }
1702
1702
  }
1703
1703
  };
@@ -1715,13 +1715,13 @@ var GLTFLoader = /** @class */ (function () {
1715
1715
  if (extensionPromise) {
1716
1716
  return extensionPromise;
1717
1717
  }
1718
- this.logOpen("" + context);
1718
+ this.logOpen("".concat(context));
1719
1719
  if (textureInfo.texCoord >= 6) {
1720
- throw new Error(context + "/texCoord: Invalid value (" + textureInfo.texCoord + ")");
1720
+ throw new Error("".concat(context, "/texCoord: Invalid value (").concat(textureInfo.texCoord, ")"));
1721
1721
  }
1722
- var texture = ArrayItem.Get(context + "/index", this._gltf.textures, textureInfo.index);
1722
+ var texture = ArrayItem.Get("".concat(context, "/index"), this._gltf.textures, textureInfo.index);
1723
1723
  texture._textureInfo = textureInfo;
1724
- var promise = this._loadTextureAsync("/textures/" + textureInfo.index, texture, function (babylonTexture) {
1724
+ var promise = this._loadTextureAsync("/textures/".concat(textureInfo.index), texture, function (babylonTexture) {
1725
1725
  babylonTexture.coordinatesIndex = textureInfo.texCoord || 0;
1726
1726
  GLTFLoader.AddPointerMetadata(babylonTexture, context);
1727
1727
  _this._parent.onTextureLoadedObservable.notifyObservers(babylonTexture);
@@ -1737,9 +1737,9 @@ var GLTFLoader = /** @class */ (function () {
1737
1737
  if (extensionPromise) {
1738
1738
  return extensionPromise;
1739
1739
  }
1740
- this.logOpen(context + " " + (texture.name || ""));
1741
- var sampler = (texture.sampler == undefined ? GLTFLoader.DefaultSampler : ArrayItem.Get(context + "/sampler", this._gltf.samplers, texture.sampler));
1742
- var image = ArrayItem.Get(context + "/source", this._gltf.images, texture.source);
1740
+ this.logOpen("".concat(context, " ").concat(texture.name || ""));
1741
+ var sampler = (texture.sampler == undefined ? GLTFLoader.DefaultSampler : ArrayItem.Get("".concat(context, "/sampler"), this._gltf.samplers, texture.sampler));
1742
+ var image = ArrayItem.Get("".concat(context, "/source"), this._gltf.images, texture.source);
1743
1743
  var promise = this._createTextureAsync(context, sampler, image, assign, undefined, !texture._textureInfo.nonColorData);
1744
1744
  this.logClose();
1745
1745
  return promise;
@@ -1748,7 +1748,7 @@ var GLTFLoader = /** @class */ (function () {
1748
1748
  GLTFLoader.prototype._createTextureAsync = function (context, sampler, image, assign, textureLoaderOptions, useSRGBBuffer) {
1749
1749
  var _this = this;
1750
1750
  if (assign === void 0) { assign = function () { }; }
1751
- var samplerData = this._loadSampler("/samplers/" + sampler.index, sampler);
1751
+ var samplerData = this._loadSampler("/samplers/".concat(sampler.index), sampler);
1752
1752
  var promises = new Array();
1753
1753
  var deferred = new Deferred();
1754
1754
  this._babylonScene._blockEntityCollection = !!this._assetContainer;
@@ -1763,7 +1763,7 @@ var GLTFLoader = /** @class */ (function () {
1763
1763
  },
1764
1764
  onError: function (message, exception) {
1765
1765
  if (!_this._disposed) {
1766
- deferred.reject(new Error(context + ": " + ((exception && exception.message) ? exception.message : message || "Failed to load texture")));
1766
+ deferred.reject(new Error("".concat(context, ": ").concat((exception && exception.message) ? exception.message : message || "Failed to load texture")));
1767
1767
  }
1768
1768
  },
1769
1769
  mimeType: image.mimeType,
@@ -1774,9 +1774,9 @@ var GLTFLoader = /** @class */ (function () {
1774
1774
  babylonTexture._parentContainer = this._assetContainer;
1775
1775
  this._babylonScene._blockEntityCollection = false;
1776
1776
  promises.push(deferred.promise);
1777
- promises.push(this.loadImageAsync("/images/" + image.index, image).then(function (data) {
1778
- var name = image.uri || _this._fileName + "#image" + image.index;
1779
- var dataUrl = "data:" + _this._uniqueRootUrl + name;
1777
+ promises.push(this.loadImageAsync("/images/".concat(image.index), image).then(function (data) {
1778
+ var name = image.uri || "".concat(_this._fileName, "#image").concat(image.index);
1779
+ var dataUrl = "data:".concat(_this._uniqueRootUrl).concat(name);
1780
1780
  babylonTexture.updateURL(dataUrl, data);
1781
1781
  }));
1782
1782
  babylonTexture.wrapU = samplerData.wrapU;
@@ -1791,8 +1791,8 @@ var GLTFLoader = /** @class */ (function () {
1791
1791
  sampler._data = {
1792
1792
  noMipMaps: (sampler.minFilter === 9728 /* NEAREST */ || sampler.minFilter === 9729 /* LINEAR */),
1793
1793
  samplingMode: GLTFLoader._GetTextureSamplingMode(context, sampler),
1794
- wrapU: GLTFLoader._GetTextureWrapMode(context + "/wrapS", sampler.wrapS),
1795
- wrapV: GLTFLoader._GetTextureWrapMode(context + "/wrapT", sampler.wrapT)
1794
+ wrapU: GLTFLoader._GetTextureWrapMode("".concat(context, "/wrapS"), sampler.wrapS),
1795
+ wrapV: GLTFLoader._GetTextureWrapMode("".concat(context, "/wrapT"), sampler.wrapT)
1796
1796
  };
1797
1797
  }
1798
1798
  return sampler._data;
@@ -1805,13 +1805,13 @@ var GLTFLoader = /** @class */ (function () {
1805
1805
  */
1806
1806
  GLTFLoader.prototype.loadImageAsync = function (context, image) {
1807
1807
  if (!image._data) {
1808
- this.logOpen(context + " " + (image.name || ""));
1808
+ this.logOpen("".concat(context, " ").concat(image.name || ""));
1809
1809
  if (image.uri) {
1810
- image._data = this.loadUriAsync(context + "/uri", image, image.uri);
1810
+ image._data = this.loadUriAsync("".concat(context, "/uri"), image, image.uri);
1811
1811
  }
1812
1812
  else {
1813
- var bufferView = ArrayItem.Get(context + "/bufferView", this._gltf.bufferViews, image.bufferView);
1814
- image._data = this.loadBufferViewAsync("/bufferViews/" + bufferView.index, bufferView);
1813
+ var bufferView = ArrayItem.Get("".concat(context, "/bufferView"), this._gltf.bufferViews, image.bufferView);
1814
+ image._data = this.loadBufferViewAsync("/bufferViews/".concat(bufferView.index), bufferView);
1815
1815
  }
1816
1816
  this.logClose();
1817
1817
  }
@@ -1831,23 +1831,23 @@ var GLTFLoader = /** @class */ (function () {
1831
1831
  return extensionPromise;
1832
1832
  }
1833
1833
  if (!GLTFLoader._ValidateUri(uri)) {
1834
- throw new Error(context + ": '" + uri + "' is invalid");
1834
+ throw new Error("".concat(context, ": '").concat(uri, "' is invalid"));
1835
1835
  }
1836
1836
  if (IsBase64DataUrl(uri)) {
1837
1837
  var data = new Uint8Array(DecodeBase64UrlToBinary(uri));
1838
- this.log(context + ": Decoded " + uri.substr(0, 64) + "... (" + data.length + " bytes)");
1838
+ this.log("".concat(context, ": Decoded ").concat(uri.substr(0, 64), "... (").concat(data.length, " bytes)"));
1839
1839
  return Promise.resolve(data);
1840
1840
  }
1841
- this.log(context + ": Loading " + uri);
1841
+ this.log("".concat(context, ": Loading ").concat(uri));
1842
1842
  return this._parent.preprocessUrlAsync(this._rootUrl + uri).then(function (url) {
1843
1843
  return new Promise(function (resolve, reject) {
1844
1844
  _this._parent._loadFile(_this._babylonScene, url, function (data) {
1845
1845
  if (!_this._disposed) {
1846
- _this.log(context + ": Loaded " + uri + " (" + data.byteLength + " bytes)");
1846
+ _this.log("".concat(context, ": Loaded ").concat(uri, " (").concat(data.byteLength, " bytes)"));
1847
1847
  resolve(new Uint8Array(data));
1848
1848
  }
1849
1849
  }, true, function (request) {
1850
- reject(new LoadFileError(context + ": Failed to load '" + uri + "'" + (request ? ": " + request.status + " " + request.statusText : ""), request));
1850
+ reject(new LoadFileError("".concat(context, ": Failed to load '").concat(uri, "'").concat(request ? ": " + request.status + " " + request.statusText : ""), request));
1851
1851
  });
1852
1852
  });
1853
1853
  });
@@ -1871,7 +1871,7 @@ var GLTFLoader = /** @class */ (function () {
1871
1871
  case 33648 /* MIRRORED_REPEAT */: return Texture.MIRROR_ADDRESSMODE;
1872
1872
  case 10497 /* REPEAT */: return Texture.WRAP_ADDRESSMODE;
1873
1873
  default:
1874
- Logger.Warn(context + ": Invalid value (" + mode + ")");
1874
+ Logger.Warn("".concat(context, ": Invalid value (").concat(mode, ")"));
1875
1875
  return Texture.WRAP_ADDRESSMODE;
1876
1876
  }
1877
1877
  };
@@ -1888,13 +1888,13 @@ var GLTFLoader = /** @class */ (function () {
1888
1888
  case 9986 /* NEAREST_MIPMAP_LINEAR */: return Texture.LINEAR_NEAREST_MIPLINEAR;
1889
1889
  case 9987 /* LINEAR_MIPMAP_LINEAR */: return Texture.LINEAR_LINEAR_MIPLINEAR;
1890
1890
  default:
1891
- Logger.Warn(context + "/minFilter: Invalid value (" + minFilter + ")");
1891
+ Logger.Warn("".concat(context, "/minFilter: Invalid value (").concat(minFilter, ")"));
1892
1892
  return Texture.LINEAR_LINEAR_MIPLINEAR;
1893
1893
  }
1894
1894
  }
1895
1895
  else {
1896
1896
  if (magFilter !== 9728 /* NEAREST */) {
1897
- Logger.Warn(context + "/magFilter: Invalid value (" + magFilter + ")");
1897
+ Logger.Warn("".concat(context, "/magFilter: Invalid value (").concat(magFilter, ")"));
1898
1898
  }
1899
1899
  switch (minFilter) {
1900
1900
  case 9728 /* NEAREST */: return Texture.NEAREST_NEAREST;
@@ -1904,7 +1904,7 @@ var GLTFLoader = /** @class */ (function () {
1904
1904
  case 9986 /* NEAREST_MIPMAP_LINEAR */: return Texture.NEAREST_NEAREST_MIPLINEAR;
1905
1905
  case 9987 /* LINEAR_MIPMAP_LINEAR */: return Texture.NEAREST_LINEAR_MIPLINEAR;
1906
1906
  default:
1907
- Logger.Warn(context + "/minFilter: Invalid value (" + minFilter + ")");
1907
+ Logger.Warn("".concat(context, "/minFilter: Invalid value (").concat(minFilter, ")"));
1908
1908
  return Texture.NEAREST_NEAREST_MIPNEAREST;
1909
1909
  }
1910
1910
  }
@@ -1917,17 +1917,17 @@ var GLTFLoader = /** @class */ (function () {
1917
1917
  case 5123 /* UNSIGNED_SHORT */: return Uint16Array;
1918
1918
  case 5125 /* UNSIGNED_INT */: return Uint32Array;
1919
1919
  case 5126 /* FLOAT */: return Float32Array;
1920
- default: throw new Error(context + ": Invalid component type " + componentType);
1920
+ default: throw new Error("".concat(context, ": Invalid component type ").concat(componentType));
1921
1921
  }
1922
1922
  };
1923
1923
  GLTFLoader._GetTypedArray = function (context, componentType, bufferView, byteOffset, length) {
1924
1924
  var buffer = bufferView.buffer;
1925
1925
  byteOffset = bufferView.byteOffset + (byteOffset || 0);
1926
- var constructor = GLTFLoader._GetTypedArrayConstructor(context + "/componentType", componentType);
1926
+ var constructor = GLTFLoader._GetTypedArrayConstructor("".concat(context, "/componentType"), componentType);
1927
1927
  var componentTypeLength = VertexBuffer.GetTypeByteLength(componentType);
1928
1928
  if (byteOffset % componentTypeLength !== 0) {
1929
1929
  // HACK: Copy the buffer if byte offset is not a multiple of component type byte length.
1930
- Logger.Warn(context + ": Copying buffer as byte offset (" + byteOffset + ") is not a multiple of component type byte length (" + componentTypeLength + ")");
1930
+ Logger.Warn("".concat(context, ": Copying buffer as byte offset (").concat(byteOffset, ") is not a multiple of component type byte length (").concat(componentTypeLength, ")"));
1931
1931
  return new constructor(buffer.slice(byteOffset, byteOffset + length * componentTypeLength), 0);
1932
1932
  }
1933
1933
  return new constructor(buffer, byteOffset, length);
@@ -1942,7 +1942,7 @@ var GLTFLoader = /** @class */ (function () {
1942
1942
  case "MAT3": return 9;
1943
1943
  case "MAT4": return 16;
1944
1944
  }
1945
- throw new Error(context + ": Invalid type (" + type + ")");
1945
+ throw new Error("".concat(context, ": Invalid type (").concat(type, ")"));
1946
1946
  };
1947
1947
  GLTFLoader._ValidateUri = function (uri) {
1948
1948
  return (Tools.IsBase64(uri) || uri.indexOf("..") === -1);
@@ -1961,7 +1961,7 @@ var GLTFLoader = /** @class */ (function () {
1961
1961
  case 5 /* TRIANGLE_STRIP */: return Material.TriangleStripDrawMode;
1962
1962
  case 6 /* TRIANGLE_FAN */: return Material.TriangleFanDrawMode;
1963
1963
  }
1964
- throw new Error(context + ": Invalid mesh primitive mode (" + mode + ")");
1964
+ throw new Error("".concat(context, ": Invalid mesh primitive mode (").concat(mode, ")"));
1965
1965
  };
1966
1966
  GLTFLoader.prototype._compileMaterialsAsync = function () {
1967
1967
  var _this = this;
@@ -2021,7 +2021,7 @@ var GLTFLoader = /** @class */ (function () {
2021
2021
  for (var _i = 0, _a = this._extensions; _i < _a.length; _i++) {
2022
2022
  var extension = _a[_i];
2023
2023
  if (extension.enabled) {
2024
- var id = extension.name + "." + functionName;
2024
+ var id = "".concat(extension.name, ".").concat(functionName);
2025
2025
  var loaderProperty = property;
2026
2026
  loaderProperty._activeLoaderExtensionFunctions = loaderProperty._activeLoaderExtensionFunctions || {};
2027
2027
  var activeLoaderExtensionFunctions = loaderProperty._activeLoaderExtensionFunctions;
@@ -2109,7 +2109,7 @@ var GLTFLoader = /** @class */ (function () {
2109
2109
  if (!extension) {
2110
2110
  return null;
2111
2111
  }
2112
- return actionAsync(context + "/extensions/" + extensionName, extension);
2112
+ return actionAsync("".concat(context, "/extensions/").concat(extensionName), extension);
2113
2113
  };
2114
2114
  /**
2115
2115
  * Helper method called by a loader extension to load a glTF extra.
@@ -2128,7 +2128,7 @@ var GLTFLoader = /** @class */ (function () {
2128
2128
  if (!extra) {
2129
2129
  return null;
2130
2130
  }
2131
- return actionAsync(context + "/extras/" + extensionName, extra);
2131
+ return actionAsync("".concat(context, "/extras/").concat(extensionName), extra);
2132
2132
  };
2133
2133
  /**
2134
2134
  * Checks for presence of an extension.