@galacean/effects 1.3.0-alpha.0 → 1.3.0

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/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * Description: Galacean Effects runtime player for the web
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
6
- * Version: v1.3.0-alpha.0
6
+ * Version: v1.3.0
7
7
  */
8
8
 
9
9
  'use strict';
@@ -686,7 +686,7 @@ function asserts(condition, msg) {
686
686
  * Name: @galacean/effects-specification
687
687
  * Description: Galacean Effects JSON Specification
688
688
  * Author: Ant Group CO., Ltd.
689
- * Version: v1.1.0-alpha.0
689
+ * Version: v1.1.0
690
690
  */
691
691
 
692
692
  /*********************************************/
@@ -7130,9 +7130,9 @@ var Float16ArrayWrapper = /** @class */ (function () {
7130
7130
  this.data = new Uint16Array(num);
7131
7131
  }
7132
7132
  else if (num && typeof num === 'object' && Number.isInteger(num.length)) {
7133
- var data = this.data = new Uint16Array(num.length);
7134
- for (var i = 0; i < data.length; i++) {
7135
- data[i] = toHalf(num[i]);
7133
+ var data_1 = this.data = new Uint16Array(num.length);
7134
+ for (var i = 0; i < data_1.length; i++) {
7135
+ data_1[i] = toHalf(num[i]);
7136
7136
  }
7137
7137
  }
7138
7138
  }
@@ -7505,9 +7505,9 @@ var CurveValue = /** @class */ (function (_super) {
7505
7505
  CurveValue.getAllData = function (meta, halfFloat) {
7506
7506
  var ret = new (halfFloat ? Float16ArrayWrapper : Float32Array)(meta.index * 4);
7507
7507
  for (var i = 0, cursor = 0, curves = meta.curves; i < curves.length; i++) {
7508
- var data = curves[i].toData();
7509
- ret.set(data, cursor);
7510
- cursor += data.length;
7508
+ var data_1 = curves[i].toData();
7509
+ ret.set(data_1, cursor);
7510
+ cursor += data_1.length;
7511
7511
  }
7512
7512
  return halfFloat ? ret.data : ret;
7513
7513
  };
@@ -7516,17 +7516,17 @@ var CurveValue = /** @class */ (function (_super) {
7516
7516
  var max = -Infinity;
7517
7517
  //formatted number
7518
7518
  if (Number.isFinite(props[0]) && Number.isFinite(props[1])) {
7519
- var keys = [];
7519
+ var keys_1 = [];
7520
7520
  for (var i = 2; i < props.length; i++) {
7521
7521
  // FIXME
7522
- keys.push(props[i].slice(0, 4));
7522
+ keys_1.push(props[i].slice(0, 4));
7523
7523
  }
7524
- this.keys = keys;
7524
+ this.keys = keys_1;
7525
7525
  this.min = props[0];
7526
7526
  this.dist = props[1] - props[0];
7527
7527
  }
7528
7528
  else {
7529
- var keys = props.map(function (item) {
7529
+ var keys_2 = props.map(function (item) {
7530
7530
  if (isArray(item)) {
7531
7531
  min = Math.min(min, item[1]);
7532
7532
  max = Math.max(max, item[1]);
@@ -7541,22 +7541,22 @@ var CurveValue = /** @class */ (function (_super) {
7541
7541
  throw new Error('invalid keyframe');
7542
7542
  });
7543
7543
  var dist = max - min;
7544
- this.keys = keys;
7544
+ this.keys = keys_2;
7545
7545
  if (dist !== 0) {
7546
- for (var i = 0; i < keys.length; i++) {
7547
- var key = keys[i];
7546
+ for (var i = 0; i < keys_2.length; i++) {
7547
+ var key = keys_2[i];
7548
7548
  key[1] = (key[1] - min) / dist;
7549
7549
  }
7550
7550
  }
7551
- var key0 = keys[0];
7551
+ var key0 = keys_2[0];
7552
7552
  if (key0[0] > 0) {
7553
7553
  key0[2] = 0;
7554
- keys.unshift([0, key0[1], 0, 0]);
7554
+ keys_2.unshift([0, key0[1], 0, 0]);
7555
7555
  }
7556
- var key1 = keys[keys.length - 1];
7556
+ var key1 = keys_2[keys_2.length - 1];
7557
7557
  if (key1[0] < 1) {
7558
7558
  key1[3] = 0;
7559
- keys.push([1, key1[1], 0, 0]);
7559
+ keys_2.push([1, key1[1], 0, 0]);
7560
7560
  }
7561
7561
  this.min = min;
7562
7562
  this.dist = dist;
@@ -7931,14 +7931,14 @@ function curveValueIntegrateByTime(t1, keyframe0, keyframe1) {
7931
7931
  function getKeyFrameMetaByRawValue(meta, value) {
7932
7932
  if (value) {
7933
7933
  var type = value[0];
7934
- var keys = value[1];
7934
+ var keys_3 = value[1];
7935
7935
  if (type === ValueType$1.CURVE) {
7936
- meta.curves.push(keys);
7937
- var keyLen = keys.length;
7938
- if (keys[0][0] > 0) {
7936
+ meta.curves.push(keys_3);
7937
+ var keyLen = keys_3.length;
7938
+ if (keys_3[0][0] > 0) {
7939
7939
  keyLen++;
7940
7940
  }
7941
- if (keys[keys.length - 1][0] < 1) {
7941
+ if (keys_3[keys_3.length - 1][0] < 1) {
7942
7942
  keyLen++;
7943
7943
  }
7944
7944
  meta.index += keyLen;
@@ -7946,19 +7946,19 @@ function getKeyFrameMetaByRawValue(meta, value) {
7946
7946
  meta.curveCount += keyLen;
7947
7947
  }
7948
7948
  else if (type === ValueType$1.LINE) {
7949
- var keyLen = keys.length;
7950
- if (keyLen === 2 && keys[0][0] === 0 && keys[1][0] === 1) {
7949
+ var keyLen = keys_3.length;
7950
+ if (keyLen === 2 && keys_3[0][0] === 0 && keys_3[1][0] === 1) {
7951
7951
  return;
7952
7952
  }
7953
- if (keys[0][0] > 0) {
7953
+ if (keys_3[0][0] > 0) {
7954
7954
  keyLen++;
7955
7955
  }
7956
- if (keys[keys.length - 1][0] < 1) {
7956
+ if (keys_3[keys_3.length - 1][0] < 1) {
7957
7957
  keyLen++;
7958
7958
  }
7959
7959
  var uniformCount = Math.ceil(keyLen / 2);
7960
7960
  meta.lineSegCount += uniformCount;
7961
- meta.curves.push(keys);
7961
+ meta.curves.push(keys_3);
7962
7962
  meta.index += uniformCount;
7963
7963
  meta.max = Math.max(meta.max, uniformCount);
7964
7964
  }
@@ -9258,10 +9258,10 @@ var VFXItem = /** @class */ (function () {
9258
9258
  };
9259
9259
  VFXItem.prototype.translateByPixel = function (x, y) {
9260
9260
  if (this.composition) {
9261
+ // @ts-expect-error
9262
+ var _a = this.composition.renderer.canvas.getBoundingClientRect(), width = _a.width, height = _a.height;
9261
9263
  var z = this.transform.getWorldPosition().z;
9262
- var _a = this.composition.camera.getInverseVPRatio(z), rx = _a.x, ry = _a.y;
9263
- var width = this.composition.renderer.getWidth() / 2;
9264
- var height = this.composition.renderer.getHeight() / 2;
9264
+ var _b = this.composition.camera.getInverseVPRatio(z), rx = _b.x, ry = _b.y;
9265
9265
  this.transform.translate(2 * x * rx / width, -2 * y * ry / height, 0);
9266
9266
  }
9267
9267
  };
@@ -10439,9 +10439,9 @@ var KTXTexture = /** @class */ (function () {
10439
10439
  for (var level = 0; level < mipmapCount; level++) {
10440
10440
  var imageSize = new Int32Array(this.arrayBuffer, this.baseOffset + dataOffset, 1)[0]; // size per face, since not supporting array cubemaps
10441
10441
  for (var face = 0; face < this.numberOfFaces; face++) {
10442
- var data = new Uint8Array(this.arrayBuffer, this.baseOffset + dataOffset + 4, imageSize);
10442
+ var data_1 = new Uint8Array(this.arrayBuffer, this.baseOffset + dataOffset + 4, imageSize);
10443
10443
  mipmaps.push({
10444
- data: data,
10444
+ data: data_1,
10445
10445
  width: width,
10446
10446
  height: height,
10447
10447
  });
@@ -13152,9 +13152,13 @@ var InteractVFXItem = /** @class */ (function (_super) {
13152
13152
  this.handleDragMove(this.dragEvent, this.bouncingArg);
13153
13153
  }
13154
13154
  };
13155
- InteractVFXItem.prototype.onItemRemoved = function (composition) {
13155
+ InteractVFXItem.prototype.onEnd = function () {
13156
+ if (this.composition) {
13157
+ this.composition.removeInteractiveItem(this, this.ui.options.type);
13158
+ }
13159
+ };
13160
+ InteractVFXItem.prototype.onItemRemoved = function () {
13156
13161
  var _a;
13157
- composition.removeInteractiveItem(this, this.ui.options.type);
13158
13162
  this.clickable = false;
13159
13163
  (_a = this.previewContent) === null || _a === void 0 ? void 0 : _a.mesh.dispose();
13160
13164
  this.endDragTarget();
@@ -13266,16 +13270,16 @@ var InteractVFXItem = /** @class */ (function (_super) {
13266
13270
  var nx = position[0] - width;
13267
13271
  var ny = position[1] - height;
13268
13272
  if (options.dxRange) {
13269
- var _d = __read$3(options.dxRange, 2), min = _d[0], max = _d[1];
13270
- nx = clamp$1(nx, min, max);
13271
- if (nx !== min && nx !== max && min !== max) {
13273
+ var _d = __read$3(options.dxRange, 2), min_1 = _d[0], max_1 = _d[1];
13274
+ nx = clamp$1(nx, min_1, max_1);
13275
+ if (nx !== min_1 && nx !== max_1 && min_1 !== max_1) {
13272
13276
  (_a = event.origin) === null || _a === void 0 ? void 0 : _a.preventDefault();
13273
13277
  }
13274
13278
  }
13275
13279
  if (options.dyRange) {
13276
- var _e = __read$3(options.dyRange, 2), min = _e[0], max = _e[1];
13277
- ny = clamp$1(ny, min, max);
13278
- if (ny !== min && ny !== max && min !== max) {
13280
+ var _e = __read$3(options.dyRange, 2), min_2 = _e[0], max_2 = _e[1];
13281
+ ny = clamp$1(ny, min_2, max_2);
13282
+ if (ny !== min_2 && ny !== max_2 && min_2 !== max_2) {
13279
13283
  (_b = event.origin) === null || _b === void 0 ? void 0 : _b.preventDefault();
13280
13284
  }
13281
13285
  }
@@ -13389,11 +13393,11 @@ var SpriteMesh = /** @class */ (function () {
13389
13393
  var item = items[i];
13390
13394
  var texture = item === null || item === void 0 ? void 0 : item.renderer.texture;
13391
13395
  var textureIndex = texture ? textures.indexOf(texture) : -1;
13392
- var data = this.getItemInitData(item, i, pointCount, textureIndex);
13393
- aPointLen += data.aPoint.length;
13394
- indexLen += data.index.length;
13395
- datas.push(data);
13396
- pointCount += data.aPoint.length / 6;
13396
+ var data_1 = this.getItemInitData(item, i, pointCount, textureIndex);
13397
+ aPointLen += data_1.aPoint.length;
13398
+ indexLen += data_1.index.length;
13399
+ datas.push(data_1);
13400
+ pointCount += data_1.aPoint.length / 6;
13397
13401
  this.updateItem(item, true);
13398
13402
  }
13399
13403
  var bundle = {
@@ -13405,10 +13409,10 @@ var SpriteMesh = /** @class */ (function () {
13405
13409
  index: 0,
13406
13410
  };
13407
13411
  var _loop_1 = function (i) {
13408
- var data = datas[i];
13412
+ var data_2 = datas[i];
13409
13413
  Object.keys(bundle).forEach(function (name) {
13410
13414
  var arr = bundle[name];
13411
- var ta = data[name];
13415
+ var ta = data_2[name];
13412
13416
  arr.set(ta, cursor[name]);
13413
13417
  cursor[name] += ta.length;
13414
13418
  });
@@ -13675,14 +13679,14 @@ var SpriteMesh = /** @class */ (function () {
13675
13679
  for (var y = 0; y < row; y++) {
13676
13680
  var base = (y * 2 + x) * 4;
13677
13681
  // @ts-expect-error
13678
- var split = textureSheetAnimation ? [0, 0, 1, 1, splits[0][4]] : splits[y * 2 + x];
13679
- var texOffset = split[4] ? [0, 0, 1, 0, 0, 1, 1, 1] : [0, 1, 0, 0, 1, 1, 1, 0];
13682
+ var split_1 = textureSheetAnimation ? [0, 0, 1, 1, splits[0][4]] : splits[y * 2 + x];
13683
+ var texOffset = split_1[4] ? [0, 0, 1, 0, 0, 1, 1, 1] : [0, 1, 0, 0, 1, 1, 1, 0];
13680
13684
  var dw = ((x + x + 1) / col - 1) / 2;
13681
13685
  var dh = ((y + y + 1) / row - 1) / 2;
13682
- var tox = split[0];
13683
- var toy = split[1];
13684
- var tsx = split[4] ? split[3] : split[2];
13685
- var tsy = split[4] ? split[2] : split[3];
13686
+ var tox = split_1[0];
13687
+ var toy = split_1[1];
13688
+ var tsx = split_1[4] ? split_1[3] : split_1[2];
13689
+ var tsy = split_1[4] ? split_1[2] : split_1[3];
13686
13690
  var origin_1 = [
13687
13691
  originData[0] / col + dw,
13688
13692
  originData[1] / row + dh,
@@ -13779,13 +13783,13 @@ function generateFeatureTexture(engine, feather) {
13779
13783
  }
13780
13784
  else {
13781
13785
  var len = 128;
13782
- var data = new Uint8Array(len);
13786
+ var data_3 = new Uint8Array(len);
13783
13787
  for (var i = 0, s = len - 1; i < len; i++) {
13784
13788
  var p = i / s;
13785
13789
  var val = feather.getValue(p);
13786
- data[i] = Math.round(val * 255);
13790
+ data_3[i] = Math.round(val * 255);
13787
13791
  }
13788
- tex = Texture.createWithData(engine, { width: len, height: 1, data: data }, {
13792
+ tex = Texture.createWithData(engine, { width: len, height: 1, data: data_3 }, {
13789
13793
  name: 'feather',
13790
13794
  format: glContext.LUMINANCE,
13791
13795
  minFilter: glContext.LINEAR,
@@ -13943,22 +13947,22 @@ var SpriteGroup = /** @class */ (function () {
13943
13947
  * 需要则添加到meshToModify数组
13944
13948
  */
13945
13949
  for (var i = 0; i < splits.length; i++) {
13946
- var split = splits[i];
13950
+ var split_1 = splits[i];
13947
13951
  // @ts-expect-error
13948
- var spriteMesh = split.spriteMesh;
13949
- if (split.items.length === 0) {
13952
+ var spriteMesh = split_1.spriteMesh;
13953
+ if (split_1.items.length === 0) {
13950
13954
  throw new Error('split not combined');
13951
13955
  }
13952
- if (split.dirty) {
13953
- var priority = split.indexStart;
13956
+ if (split_1.dirty) {
13957
+ var priority = split_1.indexStart;
13954
13958
  if (spriteMesh.mesh.priority !== priority) {
13955
13959
  spriteMesh.mesh.priority = priority;
13956
13960
  meshToModify.push(spriteMesh.mesh);
13957
13961
  }
13958
- spriteMesh.setItems(split.items.map(function (item) { return item.content; }));
13962
+ spriteMesh.setItems(split_1.items.map(function (item) { return item.content; }));
13959
13963
  }
13960
13964
  spriteMesh.applyChange();
13961
- split.dirty = false;
13965
+ split_1.dirty = false;
13962
13966
  }
13963
13967
  /**
13964
13968
  * 有需要移除的meshSplit 则废弃对应的mesh 保留material
@@ -13966,8 +13970,8 @@ var SpriteGroup = /** @class */ (function () {
13966
13970
  */
13967
13971
  if (splitsToRemove.length) {
13968
13972
  for (var i = 0; i < splitsToRemove.length; i++) {
13969
- var split = splitsToRemove[i];
13970
- var sp = split.spriteMesh;
13973
+ var split_2 = splitsToRemove[i];
13974
+ var sp = split_2.spriteMesh;
13971
13975
  // @ts-expect-error
13972
13976
  var mesh = sp.mesh;
13973
13977
  mesh.dispose({ material: { textures: exports.DestroyOptions.keep } });
@@ -14084,7 +14088,7 @@ var SpriteGroup = /** @class */ (function () {
14084
14088
  addItemWithOrder(items, item, itemSortProperty);
14085
14089
  if (isSprite(item)) {
14086
14090
  var content = item.createContent();
14087
- var split = {
14091
+ var split_4 = {
14088
14092
  indexStart: item.listIndex,
14089
14093
  indexEnd: item.listIndex,
14090
14094
  items: [item],
@@ -14092,21 +14096,21 @@ var SpriteGroup = /** @class */ (function () {
14092
14096
  cacheId: content.renderInfo.cacheId,
14093
14097
  textures: [item.content.renderer.texture],
14094
14098
  };
14095
- splits.unshift(split);
14096
- return [split];
14099
+ splits.unshift(split_4);
14100
+ return [split_4];
14097
14101
  }
14098
14102
  return [];
14099
14103
  }
14100
14104
  var _loop_2 = function (i) {
14101
- var split = splits[i];
14105
+ var split_5 = splits[i];
14102
14106
  var listIndex = item.listIndex;
14103
14107
  if (isSprite(item)) {
14104
14108
  // @ts-expect-error
14105
- if (listIndex <= split.indexEnd) {
14109
+ if (listIndex <= split_5.indexEnd) {
14106
14110
  addItemWithOrder(items, item, itemSortProperty);
14107
14111
  var itemIndex_1 = items.indexOf(item);
14108
- var indexStart = Math.min(itemIndex_1, items.indexOf(split.items[0]));
14109
- var indexEnd = Math.max(itemIndex_1, items.indexOf(split.items[split.items.length - 1]));
14112
+ var indexStart = Math.min(itemIndex_1, items.indexOf(split_5.items[0]));
14113
+ var indexEnd = Math.max(itemIndex_1, items.indexOf(split_5.items[split_5.items.length - 1]));
14110
14114
  var neoSplits_1 = this_2.getMeshSplits(items, indexStart, indexEnd);
14111
14115
  var neoSplitIndex_1 = neoSplits_1.findIndex(function (split) { return split.items.includes(item); });
14112
14116
  if (neoSplits_1.length === 2) {
@@ -14114,14 +14118,14 @@ var SpriteGroup = /** @class */ (function () {
14114
14118
  //1 or 0
14115
14119
  Object.keys(neoSplits_1[1 - neoSplitIndex_1]).forEach(function (key) {
14116
14120
  // @ts-expect-error
14117
- split[key] = neoSplits_1[1 - neoSplitIndex_1][key];
14121
+ split_5[key] = neoSplits_1[1 - neoSplitIndex_1][key];
14118
14122
  });
14119
14123
  return { value: [neoSplits_1[neoSplitIndex_1]] };
14120
14124
  }
14121
14125
  else if (neoSplits_1.length === 3) {
14122
14126
  Object.keys(neoSplits_1[0]).forEach(function (key) {
14123
14127
  // @ts-expect-error
14124
- split[key] = neoSplits_1[0][key];
14128
+ split_5[key] = neoSplits_1[0][key];
14125
14129
  });
14126
14130
  splits.splice(i + 1, 0, neoSplits_1[1], neoSplits_1[2]);
14127
14131
  if (neoSplitIndex_1 !== 1) {
@@ -14135,25 +14139,25 @@ var SpriteGroup = /** @class */ (function () {
14135
14139
  //todo add case
14136
14140
  Object.keys(neoSplits_1[0]).forEach(function (key) {
14137
14141
  // @ts-expect-error
14138
- split[key] = neoSplits_1[0][key];
14142
+ split_5[key] = neoSplits_1[0][key];
14139
14143
  });
14140
14144
  return { value: [] };
14141
14145
  }
14142
14146
  }
14143
14147
  else {
14144
- if (listIndex < split.indexStart || listIndex === split.indexEnd) {
14148
+ if (listIndex < split_5.indexStart || listIndex === split_5.indexEnd) {
14145
14149
  addItemWithOrder(items, item, itemSortProperty);
14146
14150
  return { value: [] };
14147
14151
  // @ts-expect-error
14148
14152
  }
14149
- else if (listIndex < split.indexEnd) {
14153
+ else if (listIndex < split_5.indexEnd) {
14150
14154
  addItemWithOrder(items, item, itemSortProperty);
14151
- var lastItem = split.items[split.items.length - 1];
14155
+ var lastItem = split_5.items[split_5.items.length - 1];
14152
14156
  var endIndex = items.indexOf(lastItem);
14153
- var neoSplits_2 = this_2.getMeshSplits(items, items.indexOf(split.items[0]), endIndex);
14157
+ var neoSplits_2 = this_2.getMeshSplits(items, items.indexOf(split_5.items[0]), endIndex);
14154
14158
  Object.keys(neoSplits_2[0]).forEach(function (key) {
14155
14159
  // @ts-expect-error
14156
- split[key] = neoSplits_2[0][key];
14160
+ split_5[key] = neoSplits_2[0][key];
14157
14161
  });
14158
14162
  if (neoSplits_2.length === 2) {
14159
14163
  splits.splice(i + 1, 0, neoSplits_2[1]);
@@ -14214,10 +14218,10 @@ var SpriteGroup = /** @class */ (function () {
14214
14218
  * 遍历this.meshSplits,找到元素的listIndex在split的indexStart和indexEnd范围内的第一个meshSplit
14215
14219
  */
14216
14220
  for (var i = 0; i < splits.length; i++) {
14217
- var split = splits[i];
14221
+ var split_6 = splits[i];
14218
14222
  // @ts-expect-error
14219
- if (split.indexStart <= item.listIndex && split.indexEnd >= item.listIndex) {
14220
- targetSplit = split;
14223
+ if (split_6.indexStart <= item.listIndex && split_6.indexEnd >= item.listIndex) {
14224
+ targetSplit = split_6;
14221
14225
  targetSplitIndex = i;
14222
14226
  break;
14223
14227
  }
@@ -14327,8 +14331,8 @@ var SpriteGroup = /** @class */ (function () {
14327
14331
  // FIXME: 可选性
14328
14332
  var targetSplitIndex = void 0;
14329
14333
  for (var i = 0; i < splits.length; i++) {
14330
- var split = splits[i];
14331
- if (split.items.includes(item)) {
14334
+ var split_7 = splits[i];
14335
+ if (split_7.items.includes(item)) {
14332
14336
  targetSplitIndex = i;
14333
14337
  break;
14334
14338
  }
@@ -14946,7 +14950,6 @@ var SpriteItem = /** @class */ (function (_super) {
14946
14950
  ret.texOffset = [0, 0, 1, 1];
14947
14951
  }
14948
14952
  ret.visible = this.vfxItem.contentVisible;
14949
- // 图层元素作为父节点时,除了k的大小变换,自身的尺寸也需要传递给子元素,子元素可以通过startSize读取
14950
14953
  ret.startSize = this.startSize;
14951
14954
  return ret;
14952
14955
  };
@@ -15044,7 +15047,9 @@ var SpriteVFXItem = /** @class */ (function (_super) {
15044
15047
  };
15045
15048
  SpriteVFXItem.prototype.doCreateContent = function (composition) {
15046
15049
  var emptyTexture = composition.getRendererOptions().emptyTexture;
15047
- return new SpriteItem(this.sprite, { emptyTexture: emptyTexture }, this);
15050
+ var content = new SpriteItem(this.sprite, { emptyTexture: emptyTexture }, this);
15051
+ content.getRenderData(0, true);
15052
+ return content;
15048
15053
  };
15049
15054
  SpriteVFXItem.prototype.createWireframeMesh = function (item, color) {
15050
15055
  var spMesh = new SpriteMesh(this.composition.getEngine(), __assign$1({ wireframe: true }, item.renderInfo), this.composition);
@@ -15478,10 +15483,10 @@ var ParticleMesh = /** @class */ (function () {
15478
15483
  var index = geometry.getIndexData();
15479
15484
  for (var i = 0; i < names.length; i++) {
15480
15485
  var name_1 = names[i];
15481
- var data = geometry.getAttributeData(name_1);
15482
- if (data) {
15486
+ var data_1 = geometry.getAttributeData(name_1);
15487
+ if (data_1) {
15483
15488
  // @ts-expect-error
15484
- geometry.setAttributeData(name_1, new data.constructor(0));
15489
+ geometry.setAttributeData(name_1, new data_1.constructor(0));
15485
15490
  }
15486
15491
  }
15487
15492
  // @ts-expect-error
@@ -16856,10 +16861,10 @@ function getGeometryTriangles(geometry, options) {
16856
16861
  var segment = segments[i];
16857
16862
  var p0 = points[i];
16858
16863
  var p1 = points[i + 1] || points[0];
16859
- var keys = segment;
16864
+ var keys_1 = segment;
16860
16865
  var point = [0, 0];
16861
- for (var j = 0; j < keys.length - 1; j++) {
16862
- var key = keys[j];
16866
+ for (var j = 0; j < keys_1.length - 1; j++) {
16867
+ var key = keys_1[j];
16863
16868
  getBezier2DValue(point, key, p0, p1, p0[4], p0[5], p1[2], p1[3]);
16864
16869
  setPoint(point[0], point[1]);
16865
16870
  }
@@ -16918,11 +16923,11 @@ function getGeometryByShape(shape, uvTransform) {
16918
16923
  var index = 0;
16919
16924
  for (var i = 0; i < geometries.length; i++) {
16920
16925
  var geometry = geometries[i];
16921
- var data = getGeometryTriangles(geometry, { indexBase: indexBase, uvTransform: uvTransform });
16922
- indexBase += data.aPoint.length / 5;
16923
- datas.push(data);
16924
- aPoint += data.aPoint.length;
16925
- index += data.index.length;
16926
+ var data_1 = getGeometryTriangles(geometry, { indexBase: indexBase, uvTransform: uvTransform });
16927
+ indexBase += data_1.aPoint.length / 5;
16928
+ datas.push(data_1);
16929
+ aPoint += data_1.aPoint.length;
16930
+ index += data_1.index.length;
16926
16931
  }
16927
16932
  if (datas.length === 1) {
16928
16933
  return datas[0];
@@ -16931,11 +16936,11 @@ function getGeometryByShape(shape, uvTransform) {
16931
16936
  var indexData = new Uint16Array(index);
16932
16937
  // @ts-expect-error
16933
16938
  for (var i = 0, pointIndex = 0, idx = 0; i < datas[i]; i++) {
16934
- var data = datas[i];
16935
- aPointData.set(data.aPoint, pointIndex);
16936
- pointIndex += data.aPoint.length;
16937
- indexData.set(data.index, idx);
16938
- idx += data.index.length;
16939
+ var data_2 = datas[i];
16940
+ aPointData.set(data_2.aPoint, pointIndex);
16941
+ pointIndex += data_2.aPoint.length;
16942
+ indexData.set(data_2.index, idx);
16943
+ idx += data_2.index.length;
16939
16944
  }
16940
16945
  return {
16941
16946
  aPoint: aPointData,
@@ -17246,10 +17251,10 @@ var TrailMesh = /** @class */ (function () {
17246
17251
  var pointCountPerTrail = this.pointCountPerTrail;
17247
17252
  if (index >= 0 && index < pointCountPerTrail) {
17248
17253
  var startIndex = (trail * pointCountPerTrail + index) * 24 + 8;
17249
- var data = this.geometry.getAttributeData('aColor');
17250
- out.x = data[startIndex];
17251
- out.y = data[1 + startIndex];
17252
- out.z = data[2 + startIndex];
17254
+ var data_1 = this.geometry.getAttributeData('aColor');
17255
+ out.x = data_1[startIndex];
17256
+ out.y = data_1[1 + startIndex];
17257
+ out.z = data_1[2 + startIndex];
17253
17258
  return out;
17254
17259
  }
17255
17260
  };
@@ -18655,14 +18660,14 @@ var TextMesh = /** @class */ (function (_super) {
18655
18660
  for (var y_1 = 0; y_1 < row; y_1++) {
18656
18661
  var base = (y_1 * 2 + x_1) * 4;
18657
18662
  // @ts-expect-error
18658
- var split = textureSheetAnimation ? [0, 0, 1, 1, splits[0][4]] : splits[y_1 * 2 + x_1];
18659
- var texOffset = split[4] ? [0, 0, 1, 0, 0, 1, 1, 1] : [0, 1, 0, 0, 1, 1, 1, 0];
18663
+ var split_1 = textureSheetAnimation ? [0, 0, 1, 1, splits[0][4]] : splits[y_1 * 2 + x_1];
18664
+ var texOffset = split_1[4] ? [0, 0, 1, 0, 0, 1, 1, 1] : [0, 1, 0, 0, 1, 1, 1, 0];
18660
18665
  var dw = ((x_1 + x_1 + 1) / col - 1) / 2;
18661
18666
  var dh = ((y_1 + y_1 + 1) / row - 1) / 2;
18662
- var tox = split[0];
18663
- var toy = split[1];
18664
- var tsx = split[4] ? split[3] : split[2];
18665
- var tsy = split[4] ? split[2] : split[3];
18667
+ var tox = split_1[0];
18668
+ var toy = split_1[1];
18669
+ var tsx = split_1[4] ? split_1[3] : split_1[2];
18670
+ var tsy = split_1[4] ? split_1[2] : split_1[3];
18666
18671
  var origin_1 = [
18667
18672
  originData[0] / col + dw,
18668
18673
  originData[1] / row + dh,
@@ -21382,8 +21387,9 @@ var Camera = /** @class */ (function () {
21382
21387
  Camera.prototype.getInverseVPRatio = function (z) {
21383
21388
  var pos = new Vector3(0, 0, z);
21384
21389
  var mat = this.getViewProjectionMatrix();
21385
- var nz = pos.applyMatrix(mat).z;
21386
- return new Vector3(1, 1, nz).applyMatrix(mat);
21390
+ var inverseVP = this.getInverseViewProjectionMatrix();
21391
+ var nz = mat.projectPoint(pos).z;
21392
+ return inverseVP.projectPoint(new Vector3(1, 1, nz));
21387
21393
  };
21388
21394
  /**
21389
21395
  * 设置相机的旋转四元数
@@ -21395,7 +21401,6 @@ var Camera = /** @class */ (function () {
21395
21401
  this.dirty = true;
21396
21402
  }
21397
21403
  else {
21398
- this.options.quat;
21399
21404
  if (!this.options.quat.equals(value)) {
21400
21405
  this.options.quat.copyFrom(value);
21401
21406
  this.dirty = true;
@@ -21572,7 +21577,7 @@ var filters = {
21572
21577
  * Name: @galacean/effects-specification
21573
21578
  * Description: Galacean Effects JSON Specification
21574
21579
  * Author: Ant Group CO., Ltd.
21575
- * Version: v1.1.0-alpha.0
21580
+ * Version: v1.1.0
21576
21581
  */
21577
21582
 
21578
21583
  /*********************************************/
@@ -23342,13 +23347,13 @@ var CompositionSourceManager = /** @class */ (function () {
23342
23347
  if (renderContent.renderer) {
23343
23348
  renderContent.renderer = _this.changeTex(renderContent.renderer);
23344
23349
  _this.processMask(renderContent.renderer);
23345
- var split = renderContent.splits && !renderContent.textureSheetAnimation && renderContent.splits[0];
23350
+ var split_1 = renderContent.splits && !renderContent.textureSheetAnimation && renderContent.splits[0];
23346
23351
  if (Number.isInteger(renderContent.renderer.shape)) {
23347
23352
  // TODO: scene.shapes 类型问题?
23348
- renderContent.renderer.shape = getGeometryByShape((_a = _this.jsonScene) === null || _a === void 0 ? void 0 : _a.shapes[renderContent.renderer.shape], split);
23353
+ renderContent.renderer.shape = getGeometryByShape((_a = _this.jsonScene) === null || _a === void 0 ? void 0 : _a.shapes[renderContent.renderer.shape], split_1);
23349
23354
  }
23350
23355
  else if (renderContent.renderer.shape && isObject(renderContent.renderer.shape)) {
23351
- renderContent.renderer.shape = getGeometryByShape(renderContent.renderer.shape, split);
23356
+ renderContent.renderer.shape = getGeometryByShape(renderContent.renderer.shape, split_1);
23352
23357
  }
23353
23358
  }
23354
23359
  else {
@@ -23360,14 +23365,14 @@ var CompositionSourceManager = /** @class */ (function () {
23360
23365
  if (renderContent.filter) {
23361
23366
  renderContent.filter = __assign$1({}, renderContent.filter);
23362
23367
  }
23363
- var name_1 = item.name, _b = item.delay, delay = _b === void 0 ? 0 : _b, id = item.id, parentId = item.parentId, duration = item.duration, endBehavior = item.endBehavior, pluginName = item.pluginName, pn = item.pn, transform = item.transform;
23368
+ var name_1 = item.name, _b = item.delay, delay = _b === void 0 ? 0 : _b, id_1 = item.id, parentId = item.parentId, duration = item.duration, endBehavior = item.endBehavior, pluginName = item.pluginName, pn = item.pn, transform = item.transform;
23364
23369
  // FIXME: specification 下定义的 Item 不存在 refCount 类型定义
23365
23370
  // @ts-expect-error
23366
23371
  var refCount = item.refCount;
23367
23372
  var _c = _this.jsonScene.plugins, plugins = _c === void 0 ? [] : _c;
23368
23373
  option.name = name_1;
23369
23374
  option.delay = delay;
23370
- option.id = id;
23375
+ option.id = id_1;
23371
23376
  if (parentId) {
23372
23377
  option.parentId = parentId;
23373
23378
  }
@@ -23735,16 +23740,17 @@ var AssetManager = /** @class */ (function () {
23735
23740
  };
23736
23741
  AssetManager.prototype.processBins = function (bins) {
23737
23742
  return __awaiter(this, void 0, void 0, function () {
23738
- var renderLevel, jobs;
23743
+ var renderLevel, baseUrl, jobs;
23739
23744
  var _this = this;
23740
23745
  return __generator(this, function (_a) {
23741
23746
  renderLevel = this.options.renderLevel;
23747
+ baseUrl = this.baseUrl;
23742
23748
  jobs = bins.map(function (bin) {
23743
23749
  if (bin instanceof ArrayBuffer) {
23744
23750
  return bin;
23745
23751
  }
23746
23752
  if (passRenderLevel(bin.renderLevel, renderLevel)) {
23747
- return _this.loadBins(bin.url);
23753
+ return _this.loadBins(new URL(bin.url, baseUrl).href);
23748
23754
  }
23749
23755
  throw new Error("Invalid bins source: ".concat(JSON.stringify(bins)));
23750
23756
  });
@@ -23762,13 +23768,14 @@ var AssetManager = /** @class */ (function () {
23762
23768
  return [2 /*return*/];
23763
23769
  }
23764
23770
  jobs = fonts.map(function (font) { return __awaiter(_this, void 0, void 0, function () {
23765
- var fontFace;
23771
+ var url, fontFace;
23766
23772
  var _a;
23767
23773
  return __generator(this, function (_b) {
23768
23774
  switch (_b.label) {
23769
23775
  case 0:
23770
23776
  if (!(font.fontURL && !AssetManager.fonts.has(font.fontFamily))) return [3 /*break*/, 4];
23771
- fontFace = new FontFace((_a = font.fontFamily) !== null && _a !== void 0 ? _a : '', 'url(' + font.fontURL + ')');
23777
+ url = new URL(font.fontURL, this.baseUrl).href;
23778
+ fontFace = new FontFace((_a = font.fontFamily) !== null && _a !== void 0 ? _a : '', 'url(' + url + ')');
23772
23779
  _b.label = 1;
23773
23780
  case 1:
23774
23781
  _b.trys.push([1, 3, , 4]);
@@ -23781,7 +23788,7 @@ var AssetManager = /** @class */ (function () {
23781
23788
  return [3 /*break*/, 4];
23782
23789
  case 3:
23783
23790
  _b.sent();
23784
- logger.warn("Invalid fonts source: ".concat(JSON.stringify(font.fontURL)));
23791
+ logger.warn("Invalid fonts source: ".concat(JSON.stringify(url)));
23785
23792
  return [3 /*break*/, 4];
23786
23793
  case 4: return [2 /*return*/];
23787
23794
  }
@@ -23976,14 +23983,14 @@ var AssetManager = /** @class */ (function () {
23976
23983
  }());
23977
23984
  function fixOldImageUsage(usedImages, compositions, imgUsage, images, renderLevel) {
23978
23985
  for (var i = 0; i < compositions.length; i++) {
23979
- var id = compositions[i].id;
23980
- var ids = imgUsage[id];
23986
+ var id_1 = compositions[i].id;
23987
+ var ids = imgUsage[id_1];
23981
23988
  if (ids) {
23982
23989
  for (var j = 0; j < ids.length; j++) {
23983
- var id_1 = ids[j];
23984
- var tag = images[id_1].renderLevel;
23990
+ var id_2 = ids[j];
23991
+ var tag = images[id_2].renderLevel;
23985
23992
  if (passRenderLevel(tag, renderLevel)) {
23986
- usedImages[id_1] = true;
23993
+ usedImages[id_2] = true;
23987
23994
  }
23988
23995
  }
23989
23996
  }
@@ -23994,7 +24001,7 @@ function createTextureOptionsBySource(image, sourceFrom) {
23994
24001
  return image.source;
23995
24002
  }
23996
24003
  else if (image instanceof HTMLImageElement ||
23997
- image instanceof HTMLCanvasElement) {
24004
+ isCanvas(image)) {
23998
24005
  return {
23999
24006
  image: image,
24000
24007
  sourceType: exports.TextureSourceType.image,
@@ -24031,6 +24038,11 @@ function createTextureOptionsBySource(image, sourceFrom) {
24031
24038
  }
24032
24039
  throw new Error('Invalid texture options');
24033
24040
  }
24041
+ function isCanvas(canvas) {
24042
+ var _a;
24043
+ // 小程序 Canvas 无法使用 instanceof HTMLCanvasElement 判断
24044
+ return typeof canvas === 'object' && canvas !== null && ((_a = canvas.tagName) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === 'CANVAS';
24045
+ }
24034
24046
 
24035
24047
  var CompVFXItem = /** @class */ (function (_super) {
24036
24048
  __extends(CompVFXItem, _super);
@@ -25749,10 +25761,10 @@ var GLTexture = /** @class */ (function (_super) {
25749
25761
  var target = this.target;
25750
25762
  var gl = this.pipelineContext.gl;
25751
25763
  if (gl && this.textureBuffer) {
25752
- var data = new Uint8Array([255]);
25764
+ var data_1 = new Uint8Array([255]);
25753
25765
  this.bind();
25754
25766
  if (target === gl.TEXTURE_2D) {
25755
- gl.texImage2D(target, 0, gl.LUMINANCE, 1, 1, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, data);
25767
+ gl.texImage2D(target, 0, gl.LUMINANCE, 1, 1, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, data_1);
25756
25768
  }
25757
25769
  else if (target === gl.TEXTURE_CUBE_MAP) {
25758
25770
  var faces = [
@@ -25764,7 +25776,7 @@ var GLTexture = /** @class */ (function (_super) {
25764
25776
  gl.TEXTURE_CUBE_MAP_POSITIVE_Z,
25765
25777
  ];
25766
25778
  for (var i = 0; i < faces.length; i++) {
25767
- gl.texImage2D(faces[i], 0, gl.LUMINANCE, 1, 1, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, data);
25779
+ gl.texImage2D(faces[i], 0, gl.LUMINANCE, 1, 1, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, data_1);
25768
25780
  }
25769
25781
  }
25770
25782
  // rewrite mipmap
@@ -29614,6 +29626,7 @@ var Player = /** @class */ (function () {
29614
29626
  this.displayScale = 1;
29615
29627
  this.resumePending = false;
29616
29628
  this.disposed = false;
29629
+ this.assetManagers = [];
29617
29630
  this.speed = 1;
29618
29631
  this.baseCompositionIndex = 0;
29619
29632
  /**
@@ -29748,10 +29761,10 @@ var Player = /** @class */ (function () {
29748
29761
  }
29749
29762
  else if (gl) {
29750
29763
  this.canvas = gl.canvas;
29751
- var version = gl instanceof WebGLRenderingContext ? 'webgl' : 'webgl2';
29752
- if (framework !== version) {
29753
- logger.error("The gl context(".concat(version, ") is inconsistent with renderFramework or default version(").concat(framework, ")"));
29754
- framework = version;
29764
+ var version_1 = gl instanceof WebGLRenderingContext ? 'webgl' : 'webgl2';
29765
+ if (framework !== version_1) {
29766
+ logger.error("The gl context(".concat(version_1, ") is inconsistent with renderFramework or default version(").concat(framework, ")"));
29767
+ framework = version_1;
29755
29768
  }
29756
29769
  }
29757
29770
  else {
@@ -29896,7 +29909,7 @@ var Player = /** @class */ (function () {
29896
29909
  Player.prototype.createComposition = function (url, options) {
29897
29910
  if (options === void 0) { options = {}; }
29898
29911
  return __awaiter(this, void 0, void 0, function () {
29899
- var renderer, last, opts, source, scene, composition, firstFrameTime;
29912
+ var renderer, last, opts, source, assetManager, scene, composition, firstFrameTime;
29900
29913
  var _this = this;
29901
29914
  return __generator(this, function (_a) {
29902
29915
  switch (_a.label) {
@@ -29911,13 +29924,9 @@ var Player = /** @class */ (function () {
29911
29924
  else {
29912
29925
  source = url;
29913
29926
  }
29914
- if (this.assetManager) {
29915
- this.assetManager.updateOptions(opts);
29916
- }
29917
- else {
29918
- this.assetManager = new AssetManager(opts);
29919
- }
29920
- return [4 /*yield*/, this.assetManager.loadScene(source, this.renderer, { env: this.env })];
29927
+ assetManager = new AssetManager(opts);
29928
+ this.assetManagers.push(assetManager);
29929
+ return [4 /*yield*/, assetManager.loadScene(source, this.renderer, { env: this.env })];
29921
29930
  case 1:
29922
29931
  scene = _a.sent();
29923
29932
  // 加载期间 player 销毁
@@ -30247,7 +30256,7 @@ var Player = /** @class */ (function () {
30247
30256
  * @param keepCanvas - 是否保留 canvas 画面,默认不保留,canvas 不能再被使用
30248
30257
  */
30249
30258
  Player.prototype.dispose = function (keepCanvas) {
30250
- var _a, _b;
30259
+ var _a;
30251
30260
  logger.info("call player destroy: ".concat(this.name));
30252
30261
  if (this.disposed) {
30253
30262
  return;
@@ -30255,7 +30264,7 @@ var Player = /** @class */ (function () {
30255
30264
  playerMap.delete(this.canvas);
30256
30265
  this.pause();
30257
30266
  (_a = this.ticker) === null || _a === void 0 ? void 0 : _a.stop();
30258
- (_b = this.assetManager) === null || _b === void 0 ? void 0 : _b.dispose();
30267
+ this.assetManagers.forEach(function (assetManager) { return assetManager.dispose(); });
30259
30268
  this.compositions.forEach(function (comp) { return comp.dispose(); });
30260
30269
  this.compositions.length = 0;
30261
30270
  this.renderer.context.removeLostHandler({ lost: this.lost });
@@ -30461,7 +30470,7 @@ Renderer.create = function (canvas, framework, renderOptions) {
30461
30470
  Engine.create = function (gl) {
30462
30471
  return new GLEngine(gl);
30463
30472
  };
30464
- var version = "1.3.0-alpha.0";
30473
+ var version = "1.3.0";
30465
30474
  logger.info('player version: ' + version);
30466
30475
 
30467
30476
  exports.AbstractPlugin = AbstractPlugin;