@galacean/engine-loader 2.0.0-alpha.32 → 2.0.0-alpha.34

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 CHANGED
@@ -3318,13 +3318,13 @@ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
3318
3318
  _this.needAnimatorController = !!(json.skins || json.animations);
3319
3319
  return engineCore.AssetPromise.all([
3320
3320
  _this.get(1),
3321
+ _this.get(2),
3321
3322
  _this.get(5),
3322
3323
  _this.get(6),
3323
3324
  _this.get(7),
3324
3325
  _this.get(9),
3325
3326
  _this.get(10),
3326
- _this.get(11),
3327
- _this.get(2)
3327
+ _this.get(11)
3328
3328
  ]).then(function() {
3329
3329
  var glTFResource = _this.glTFResource;
3330
3330
  var animatorController = glTFResource.animatorController;
@@ -5037,23 +5037,29 @@ exports.GLTFSkinParser = /*#__PURE__*/ function(GLTFParser) {
5037
5037
  skin.joints[i] = bone.name;
5038
5038
  }
5039
5039
  skin.bones = bones;
5040
- // Get skeleton
5040
+ // Get skeleton — when `skin.skeleton` is absent, resolve via joints' LCA
5041
+ // LCA falls back to the GLTF_ROOT wrapper only when joints span multiple top-level scene nodes
5041
5042
  if (skeleton !== undefined) {
5042
5043
  var rootBone = entities[skeleton];
5044
+ if (!rootBone) {
5045
+ throw "Skin skeleton index " + skeleton + " is out of range.";
5046
+ }
5043
5047
  skin.rootBone = rootBone;
5044
5048
  } else {
5045
5049
  var rootBone1 = _this._findSkeletonRootBone(joints, entities);
5046
- if (rootBone1) {
5047
- skin.rootBone = rootBone1;
5048
- } else {
5050
+ if (!rootBone1) {
5049
5051
  throw "Failed to find skeleton root bone.";
5050
5052
  }
5053
+ skin.rootBone = rootBone1;
5051
5054
  }
5052
5055
  return skin;
5053
5056
  });
5054
5057
  return engineCore.AssetPromise.resolve(skinPromise);
5055
5058
  };
5056
- _proto._findSkeletonRootBone = function _findSkeletonRootBone(joints, entities) {
5059
+ /**
5060
+ * Resolve the skeleton rootBone as the lowest common ancestor of the joints' parent chains.
5061
+ * Returns null when joints share no common ancestor.
5062
+ */ _proto._findSkeletonRootBone = function _findSkeletonRootBone(joints, entities) {
5057
5063
  var paths = {};
5058
5064
  for(var _iterator = _create_for_of_iterator_helper_loose(joints), _step; !(_step = _iterator()).done;){
5059
5065
  var index = _step.value;
@@ -6325,7 +6331,10 @@ AudioLoader = __decorate([
6325
6331
  engineCore.resourceLoader(engineCore.AssetType.Audio, [
6326
6332
  "mp3",
6327
6333
  "ogg",
6328
- "wav"
6334
+ "wav",
6335
+ "m4a",
6336
+ "aac",
6337
+ "flac"
6329
6338
  ])
6330
6339
  ], AudioLoader);
6331
6340
 
@@ -6336,7 +6345,6 @@ var ShaderLoader = /*#__PURE__*/ function(Loader) {
6336
6345
  }
6337
6346
  var _proto = ShaderLoader.prototype;
6338
6347
  _proto.load = function load(item, resourceManager) {
6339
- var _this = this;
6340
6348
  var url = item.url;
6341
6349
  if (url.endsWith(".shaderc")) {
6342
6350
  // @ts-ignore
@@ -6351,20 +6359,11 @@ var ShaderLoader = /*#__PURE__*/ function(Loader) {
6351
6359
  return resourceManager._request(url, _extends({}, item, {
6352
6360
  type: "text"
6353
6361
  })).then(function(code) {
6354
- var builtinShader = _this._getBuiltinShader(code);
6355
- if (builtinShader) {
6356
- return engineCore.Shader.find(builtinShader);
6357
- }
6358
6362
  return engineCore.Shader.create(code, undefined, url);
6359
6363
  });
6360
6364
  };
6361
- _proto._getBuiltinShader = function _getBuiltinShader(code) {
6362
- var match = code.match(ShaderLoader._builtinRegex);
6363
- if (match && match[1]) return match[1];
6364
- };
6365
6365
  return ShaderLoader;
6366
6366
  }(engineCore.Loader);
6367
- ShaderLoader._builtinRegex = /^\s*\/\/\s*@builtin\s+(\w+)/;
6368
6367
  ShaderLoader = __decorate([
6369
6368
  engineCore.resourceLoader(engineCore.AssetType.Shader, [
6370
6369
  "shader",