@galacean/effects-core 2.0.0-alpha.10 → 2.0.0-alpha.11

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 core for the web
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
6
- * Version: v2.0.0-alpha.10
6
+ * Version: v2.0.0-alpha.11
7
7
  */
8
8
 
9
9
  'use strict';
@@ -40,44 +40,44 @@ function _async_to_generator(fn) {
40
40
  // Unique ID creation requires a high quality random # generator. In the browser we therefore
41
41
  // require the crypto API and do not support built-in fallback to lower quality random number
42
42
  // generators (like Math.random()).
43
- let getRandomValues$1;
44
- const rnds8$1 = new Uint8Array(16);
45
- function rng$1() {
43
+ let getRandomValues;
44
+ const rnds8 = new Uint8Array(16);
45
+ function rng() {
46
46
  // lazy load so that environments that need to polyfill have a chance to do so
47
- if (!getRandomValues$1) {
47
+ if (!getRandomValues) {
48
48
  // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
49
- getRandomValues$1 = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
50
- if (!getRandomValues$1) {
49
+ getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
50
+ if (!getRandomValues) {
51
51
  throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
52
52
  }
53
53
  }
54
- return getRandomValues$1(rnds8$1);
54
+ return getRandomValues(rnds8);
55
55
  }
56
56
 
57
57
  /**
58
58
  * Convert array of 16 byte values to UUID string format of the form:
59
59
  * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
60
- */ const byteToHex$2 = [];
60
+ */ const byteToHex = [];
61
61
  for(let i = 0; i < 256; ++i){
62
- byteToHex$2.push((i + 0x100).toString(16).slice(1));
62
+ byteToHex.push((i + 0x100).toString(16).slice(1));
63
63
  }
64
- function unsafeStringify$1(arr, offset = 0) {
64
+ function unsafeStringify(arr, offset = 0) {
65
65
  // Note: Be careful editing this code! It's been tuned for performance
66
66
  // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
67
- return byteToHex$2[arr[offset + 0]] + byteToHex$2[arr[offset + 1]] + byteToHex$2[arr[offset + 2]] + byteToHex$2[arr[offset + 3]] + '-' + byteToHex$2[arr[offset + 4]] + byteToHex$2[arr[offset + 5]] + '-' + byteToHex$2[arr[offset + 6]] + byteToHex$2[arr[offset + 7]] + '-' + byteToHex$2[arr[offset + 8]] + byteToHex$2[arr[offset + 9]] + '-' + byteToHex$2[arr[offset + 10]] + byteToHex$2[arr[offset + 11]] + byteToHex$2[arr[offset + 12]] + byteToHex$2[arr[offset + 13]] + byteToHex$2[arr[offset + 14]] + byteToHex$2[arr[offset + 15]];
67
+ return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
68
68
  }
69
69
 
70
- const randomUUID$1 = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
71
- var native$1 = {
72
- randomUUID: randomUUID$1
70
+ const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
71
+ var native = {
72
+ randomUUID
73
73
  };
74
74
 
75
- function v4$1(options, buf, offset) {
76
- if (native$1.randomUUID && !buf && !options) {
77
- return native$1.randomUUID();
75
+ function v4(options, buf, offset) {
76
+ if (native.randomUUID && !buf && !options) {
77
+ return native.randomUUID();
78
78
  }
79
79
  options = options || {};
80
- const rnds = options.random || (options.rng || rng$1)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
80
+ const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
81
81
  rnds[6] = rnds[6] & 0x0f | 0x40;
82
82
  rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
83
83
  if (buf) {
@@ -87,7 +87,7 @@ function v4$1(options, buf, offset) {
87
87
  }
88
88
  return buf;
89
89
  }
90
- return unsafeStringify$1(rnds);
90
+ return unsafeStringify(rnds);
91
91
  }
92
92
 
93
93
  function addItem(arr, value) {
@@ -605,8 +605,8 @@ function random(min, max) {
605
605
  function throwDestroyedError() {
606
606
  throw Error('destroyed item cannot be used again');
607
607
  }
608
- function generateGUID$1() {
609
- return v4$1().replace(/-/g, '');
608
+ function generateGUID() {
609
+ return v4().replace(/-/g, '');
610
610
  }
611
611
 
612
612
  function __decorate(decorators, target, key, desc) {
@@ -1652,6 +1652,17 @@ Vector3.ZERO = new Vector3(0.0, 0.0, 0.0);
1652
1652
  this.w = Math.cos(halfAngle);
1653
1653
  return this;
1654
1654
  }
1655
+ /**
1656
+ * 通过 Vector4Like 创建四元数
1657
+ * @param v - Vector4Like
1658
+ * @returns
1659
+ */ setFromVector4(v) {
1660
+ this.x = v.x;
1661
+ this.y = v.y;
1662
+ this.z = v.z;
1663
+ this.w = v.w;
1664
+ return this;
1665
+ }
1655
1666
  /**
1656
1667
  * 通过数组设置四元数
1657
1668
  * @param array - 数组
@@ -2016,7 +2027,14 @@ Vector3.ZERO = new Vector3(0.0, 0.0, 0.0);
2016
2027
  return new Quaternion().setFromAxisAngle(axis, angle);
2017
2028
  }
2018
2029
  /**
2019
- * 通过数组获取四元数
2030
+ * 通过 Vector4Like 创建四元数
2031
+ * @param v - Vector4Like
2032
+ * @returns 四元数
2033
+ */ static fromVector4(v) {
2034
+ return new Quaternion().setFromVector4(v);
2035
+ }
2036
+ /**
2037
+ * 通过数组创建四元数
2020
2038
  * @param array - 数组
2021
2039
  * @param [offset=0] - 起始偏移值
2022
2040
  * @returns 四元数
@@ -3434,32 +3452,19 @@ Euler.DEFAULT_ORDER = EulerOrder.ZYX;
3434
3452
  Euler.tempQuat0 = new Quaternion();
3435
3453
  Euler.tempMat0 = new Matrix4();
3436
3454
 
3437
- /*!
3438
- * Name: @galacean/effects-specification
3439
- * Description: Galacean Effects JSON Specification
3440
- * Author: Ant Group CO., Ltd.
3441
- * Version: v2.0.0-alpha.9
3442
- */ typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
3443
- /**
3444
- * Convert array of 16 byte values to UUID string format of the form:
3445
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
3446
- */ const byteToHex$1 = [];
3447
- for(let i = 0; i < 256; ++i){
3448
- byteToHex$1.push((i + 0x100).toString(16).slice(1));
3449
- }
3450
3455
  /*********************************************/ /* 元素属性参数类型 */ /*********************************************/ /**
3451
3456
  * 渲染等级
3452
- */ var RenderLevel$1;
3457
+ */ var RenderLevel;
3453
3458
  (function(RenderLevel) {
3454
3459
  RenderLevel["S"] = "S";
3455
3460
  RenderLevel["APlus"] = "A+";
3456
3461
  RenderLevel["A"] = "A";
3457
3462
  RenderLevel["BPlus"] = "B+";
3458
3463
  RenderLevel["B"] = "B";
3459
- })(RenderLevel$1 || (RenderLevel$1 = {}));
3464
+ })(RenderLevel || (RenderLevel = {}));
3460
3465
  /**
3461
3466
  * 混合模式
3462
- */ var BlendingMode$1;
3467
+ */ var BlendingMode;
3463
3468
  (function(BlendingMode) {
3464
3469
  /**
3465
3470
  * 普通混合模式
@@ -3485,10 +3490,10 @@ for(let i = 0; i < 256; ++i){
3485
3490
  /**
3486
3491
  * 亮度叠加混合模式
3487
3492
  */ BlendingMode[BlendingMode["SUPERPOSITION"] = 7] = "SUPERPOSITION";
3488
- })(BlendingMode$1 || (BlendingMode$1 = {}));
3493
+ })(BlendingMode || (BlendingMode = {}));
3489
3494
  /**
3490
3495
  * 单双面模式
3491
- */ var SideMode$1;
3496
+ */ var SideMode;
3492
3497
  (function(SideMode) {
3493
3498
  /**
3494
3499
  * 双面模式
@@ -3499,10 +3504,10 @@ for(let i = 0; i < 256; ++i){
3499
3504
  /**
3500
3505
  * 背面模式
3501
3506
  */ SideMode[SideMode["BACK"] = 1029] = "BACK";
3502
- })(SideMode$1 || (SideMode$1 = {}));
3507
+ })(SideMode || (SideMode = {}));
3503
3508
  /**
3504
3509
  * 蒙版模式
3505
- */ var MaskMode$1;
3510
+ */ var MaskMode;
3506
3511
  (function(MaskMode) {
3507
3512
  /**
3508
3513
  * 无蒙版
@@ -3516,10 +3521,10 @@ for(let i = 0; i < 256; ++i){
3516
3521
  /**
3517
3522
  * 被反向遮挡
3518
3523
  */ MaskMode[MaskMode["REVERSE_OBSCURED"] = 3] = "REVERSE_OBSCURED";
3519
- })(MaskMode$1 || (MaskMode$1 = {}));
3524
+ })(MaskMode || (MaskMode = {}));
3520
3525
  /**
3521
3526
  * 发射器形状
3522
- */ var ShapeType$1;
3527
+ */ var ShapeType;
3523
3528
  (function(ShapeType) {
3524
3529
  /**
3525
3530
  * 没有类型
@@ -3551,10 +3556,10 @@ for(let i = 0; i < 256; ++i){
3551
3556
  /**
3552
3557
  * 贴图
3553
3558
  */ ShapeType[ShapeType["TEXTURE"] = 9] = "TEXTURE";
3554
- })(ShapeType$1 || (ShapeType$1 = {}));
3559
+ })(ShapeType || (ShapeType = {}));
3555
3560
  /**
3556
3561
  * 插件类型
3557
- */ var PluginType$1;
3562
+ */ var PluginType;
3558
3563
  (function(PluginType) {
3559
3564
  /**
3560
3565
  * 陀螺仪
@@ -3562,10 +3567,10 @@ for(let i = 0; i < 256; ++i){
3562
3567
  /**
3563
3568
  * Spine
3564
3569
  */ PluginType[PluginType["SPINE"] = 1] = "SPINE";
3565
- })(PluginType$1 || (PluginType$1 = {}));
3570
+ })(PluginType || (PluginType = {}));
3566
3571
  /**
3567
3572
  * 交互类型
3568
- */ var InteractType$1;
3573
+ */ var InteractType;
3569
3574
  (function(InteractType) {
3570
3575
  /**
3571
3576
  * 点击
@@ -3577,10 +3582,10 @@ for(let i = 0; i < 256; ++i){
3577
3582
  /**
3578
3583
  * 拖拽
3579
3584
  */ InteractType[InteractType["DRAG"] = 2] = "DRAG";
3580
- })(InteractType$1 || (InteractType$1 = {}));
3585
+ })(InteractType || (InteractType = {}));
3581
3586
  /**
3582
3587
  * 交互行为
3583
- */ var InteractBehavior$2;
3588
+ */ var InteractBehavior$1;
3584
3589
  (function(InteractBehavior) {
3585
3590
  /**
3586
3591
  * 无
@@ -3597,10 +3602,10 @@ for(let i = 0; i < 256; ++i){
3597
3602
  /**
3598
3603
  * 暂停播放器
3599
3604
  */ InteractBehavior[InteractBehavior["PAUSE"] = 4] = "PAUSE";
3600
- })(InteractBehavior$2 || (InteractBehavior$2 = {}));
3605
+ })(InteractBehavior$1 || (InteractBehavior$1 = {}));
3601
3606
  /**
3602
3607
  * 元素类型
3603
- */ var ItemType$1;
3608
+ */ var ItemType;
3604
3609
  (function(ItemType) {
3605
3610
  /**
3606
3611
  * 错误元素
@@ -3647,10 +3652,10 @@ for(let i = 0; i < 256; ++i){
3647
3652
  /**
3648
3653
  * 特效元素
3649
3654
  */ ItemType["effect"] = "effect";
3650
- })(ItemType$1 || (ItemType$1 = {}));
3655
+ })(ItemType || (ItemType = {}));
3651
3656
  /**
3652
3657
  * 渲染模式
3653
- */ var RenderMode$1;
3658
+ */ var RenderMode;
3654
3659
  (function(RenderMode) {
3655
3660
  /**
3656
3661
  * 广告牌模式
@@ -3664,10 +3669,10 @@ for(let i = 0; i < 256; ++i){
3664
3669
  /**
3665
3670
  * 水平广告牌模式
3666
3671
  */ RenderMode[RenderMode["HORIZONTAL_BILLBOARD"] = 3] = "HORIZONTAL_BILLBOARD";
3667
- })(RenderMode$1 || (RenderMode$1 = {}));
3672
+ })(RenderMode || (RenderMode = {}));
3668
3673
  /**
3669
3674
  * 变换中心
3670
- */ var ParticleOrigin$1;
3675
+ */ var ParticleOrigin;
3671
3676
  (function(ParticleOrigin) {
3672
3677
  /**
3673
3678
  * 水平和垂直中点
@@ -3696,59 +3701,63 @@ for(let i = 0; i < 256; ++i){
3696
3701
  /**
3697
3702
  * 水平右侧 垂直底部
3698
3703
  */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_RIGHT_BOTTOM"] = 8] = "PARTICLE_ORIGIN_RIGHT_BOTTOM";
3699
- })(ParticleOrigin$1 || (ParticleOrigin$1 = {}));
3700
- var END_BEHAVIOR_DESTROY$1 = 0;
3701
- var END_BEHAVIOR_PAUSE$1 = 1;
3702
- var END_BEHAVIOR_FORWARD$1 = 2;
3703
- var END_BEHAVIOR_PAUSE_AND_DESTROY$1 = 3;
3704
- var END_BEHAVIOR_FREEZE$1 = 4;
3705
- var END_BEHAVIOR_RESTART$1 = 5;
3706
- var END_BEHAVIOR_DESTROY_CHILDREN$1 = 6;
3707
- var CAMERA_CLIP_MODE_VERTICAL$1 = 1;
3708
- var CAMERA_CLIP_MODE_NORMAL$1 = 0;
3709
- var MESSAGE_ITEM_PHRASE_BEGIN = 2;
3710
- var MESSAGE_ITEM_PHRASE_END = 1;
3711
- var CameraClipMode$1;
3704
+ })(ParticleOrigin || (ParticleOrigin = {}));
3705
+
3706
+ const END_BEHAVIOR_DESTROY = 0;
3707
+ const END_BEHAVIOR_PAUSE = 1;
3708
+ const END_BEHAVIOR_FORWARD = 2;
3709
+ const END_BEHAVIOR_PAUSE_AND_DESTROY = 3;
3710
+ const END_BEHAVIOR_FREEZE = 4;
3711
+ const END_BEHAVIOR_RESTART = 5;
3712
+ const END_BEHAVIOR_DESTROY_CHILDREN = 6;
3713
+ const CAMERA_CLIP_MODE_VERTICAL = 1;
3714
+ const CAMERA_CLIP_MODE_NORMAL = 0;
3715
+ const MESSAGE_ITEM_PHRASE_BEGIN = 2;
3716
+ const MESSAGE_ITEM_PHRASE_END = 1;
3717
+
3718
+ var CameraClipMode;
3712
3719
  (function(CameraClipMode) {
3713
3720
  /**
3714
3721
  * 剪裁上下
3715
- */ CameraClipMode[CameraClipMode["portrait"] = CAMERA_CLIP_MODE_VERTICAL$1] = "portrait";
3722
+ */ CameraClipMode[CameraClipMode["portrait"] = 1] = "portrait";
3716
3723
  /**
3717
3724
  * 剪裁左右
3718
- */ CameraClipMode[CameraClipMode["landscape"] = CAMERA_CLIP_MODE_NORMAL$1] = "landscape";
3719
- })(CameraClipMode$1 || (CameraClipMode$1 = {}));
3725
+ */ CameraClipMode[CameraClipMode["landscape"] = 0] = "landscape";
3726
+ })(CameraClipMode || (CameraClipMode = {}));
3720
3727
  /**
3721
3728
  * 结束行为
3722
- */ var CompositionEndBehavior$1;
3729
+ */ var CompositionEndBehavior;
3723
3730
  (function(CompositionEndBehavior) {
3724
3731
  /**
3725
3732
  * 销毁
3726
- */ CompositionEndBehavior[CompositionEndBehavior["destroy"] = END_BEHAVIOR_DESTROY$1] = "destroy";
3733
+ */ CompositionEndBehavior[CompositionEndBehavior["destroy"] = 0] = "destroy";
3727
3734
  /**
3728
3735
  * 暂停
3729
- */ CompositionEndBehavior[CompositionEndBehavior["pause"] = END_BEHAVIOR_PAUSE$1] = "pause";
3736
+ */ CompositionEndBehavior[CompositionEndBehavior["pause"] = 1] = "pause";
3730
3737
  /**
3731
3738
  * 重播
3732
- */ CompositionEndBehavior[CompositionEndBehavior["restart"] = END_BEHAVIOR_RESTART$1] = "restart";
3739
+ */ CompositionEndBehavior[CompositionEndBehavior["restart"] = 5] = "restart";
3733
3740
  /**
3734
3741
  * 无限播放
3735
- */ CompositionEndBehavior[CompositionEndBehavior["forward"] = END_BEHAVIOR_FORWARD$1] = "forward";
3742
+ */ CompositionEndBehavior[CompositionEndBehavior["forward"] = 2] = "forward";
3736
3743
  /**
3737
3744
  * 销毁并保留最后一帧
3738
- */ CompositionEndBehavior[CompositionEndBehavior["pause_destroy"] = END_BEHAVIOR_PAUSE_AND_DESTROY$1] = "pause_destroy";
3745
+ */ CompositionEndBehavior[CompositionEndBehavior["pause_destroy"] = 3] = "pause_destroy";
3739
3746
  /**
3740
3747
  * 冻结
3741
- */ CompositionEndBehavior[CompositionEndBehavior["freeze"] = END_BEHAVIOR_FREEZE$1] = "freeze";
3742
- })(CompositionEndBehavior$1 || (CompositionEndBehavior$1 = {}));
3748
+ */ CompositionEndBehavior[CompositionEndBehavior["freeze"] = 4] = "freeze";
3749
+ })(CompositionEndBehavior || (CompositionEndBehavior = {}));
3750
+
3743
3751
  /**
3744
3752
  * 动态换图类型
3745
3753
  * @since 1.1.0
3746
- */ var BackgroundType$1;
3754
+ */ var BackgroundType;
3747
3755
  (function(BackgroundType) {
3748
3756
  BackgroundType["video"] = "video";
3749
3757
  BackgroundType["image"] = "image";
3750
- })(BackgroundType$1 || (BackgroundType$1 = {}));
3751
- /*********************************************/ /* 基本数值属性参数 */ /*********************************************/ var ValueType$1;
3758
+ })(BackgroundType || (BackgroundType = {}));
3759
+
3760
+ /*********************************************/ /* 基本数值属性参数 */ /*********************************************/ var ValueType;
3752
3761
  (function(ValueType) {
3753
3762
  /**
3754
3763
  * 常数
@@ -3801,10 +3810,10 @@ var CameraClipMode$1;
3801
3810
  /**
3802
3811
  * 贝塞尔曲线路径
3803
3812
  */ ValueType[ValueType["BEZIER_CURVE_PATH"] = 22] = "BEZIER_CURVE_PATH";
3804
- })(ValueType$1 || (ValueType$1 = {}));
3813
+ })(ValueType || (ValueType = {}));
3805
3814
  /**
3806
3815
  * 关键帧类型
3807
- */ var BezierKeyframeType$1;
3816
+ */ var BezierKeyframeType;
3808
3817
  (function(BezierKeyframeType) {
3809
3818
  BezierKeyframeType[BezierKeyframeType["AUTO"] = 0] = "AUTO";
3810
3819
  BezierKeyframeType[BezierKeyframeType["EASE"] = 1] = "EASE";
@@ -3813,20 +3822,22 @@ var CameraClipMode$1;
3813
3822
  BezierKeyframeType[BezierKeyframeType["LINE"] = 4] = "LINE";
3814
3823
  BezierKeyframeType[BezierKeyframeType["HOLD"] = 5] = "HOLD";
3815
3824
  BezierKeyframeType[BezierKeyframeType["LINE_OUT"] = 6] = "LINE_OUT";
3816
- })(BezierKeyframeType$1 || (BezierKeyframeType$1 = {}));
3817
- var ItemEndBehavior$1;
3825
+ })(BezierKeyframeType || (BezierKeyframeType = {}));
3826
+
3827
+ var ItemEndBehavior;
3818
3828
  (function(ItemEndBehavior) {
3819
- ItemEndBehavior[ItemEndBehavior["destroy"] = END_BEHAVIOR_DESTROY$1] = "destroy";
3820
- ItemEndBehavior[ItemEndBehavior["loop"] = END_BEHAVIOR_RESTART$1] = "loop";
3821
- ItemEndBehavior[ItemEndBehavior["freeze"] = END_BEHAVIOR_FREEZE$1] = "freeze";
3822
- })(ItemEndBehavior$1 || (ItemEndBehavior$1 = {}));
3823
- var ParentItemEndBehavior$1;
3829
+ ItemEndBehavior[ItemEndBehavior["destroy"] = 0] = "destroy";
3830
+ ItemEndBehavior[ItemEndBehavior["loop"] = 5] = "loop";
3831
+ ItemEndBehavior[ItemEndBehavior["freeze"] = 4] = "freeze";
3832
+ })(ItemEndBehavior || (ItemEndBehavior = {}));
3833
+ var ParentItemEndBehavior;
3824
3834
  (function(ParentItemEndBehavior) {
3825
- ParentItemEndBehavior[ParentItemEndBehavior["destroyChildren"] = END_BEHAVIOR_DESTROY_CHILDREN$1] = "destroyChildren";
3826
- })(ParentItemEndBehavior$1 || (ParentItemEndBehavior$1 = {}));
3835
+ ParentItemEndBehavior[ParentItemEndBehavior["destroyChildren"] = 6] = "destroyChildren";
3836
+ })(ParentItemEndBehavior || (ParentItemEndBehavior = {}));
3837
+
3827
3838
  /**
3828
3839
  * 粒子交互行为
3829
- */ var ParticleInteractionBehavior$1;
3840
+ */ var ParticleInteractionBehavior;
3830
3841
  (function(ParticleInteractionBehavior) {
3831
3842
  /**
3832
3843
  * 无
@@ -3834,8 +3845,9 @@ var ParentItemEndBehavior$1;
3834
3845
  /**
3835
3846
  * 移出粒子
3836
3847
  */ ParticleInteractionBehavior[ParticleInteractionBehavior["removeParticle"] = 1] = "removeParticle";
3837
- })(ParticleInteractionBehavior$1 || (ParticleInteractionBehavior$1 = {}));
3838
- var ShapeArcMode$1;
3848
+ })(ParticleInteractionBehavior || (ParticleInteractionBehavior = {}));
3849
+
3850
+ var ShapeArcMode;
3839
3851
  (function(ShapeArcMode) {
3840
3852
  /**
3841
3853
  * 随机
@@ -3849,8 +3861,9 @@ var ShapeArcMode$1;
3849
3861
  /**
3850
3862
  * 均匀爆发
3851
3863
  */ ShapeArcMode[ShapeArcMode["UNIFORM_BURST"] = 3] = "UNIFORM_BURST";
3852
- })(ShapeArcMode$1 || (ShapeArcMode$1 = {}));
3853
- var LightType$1;
3864
+ })(ShapeArcMode || (ShapeArcMode = {}));
3865
+
3866
+ var LightType;
3854
3867
  (function(LightType) {
3855
3868
  /**
3856
3869
  * 点光源
@@ -3864,36 +3877,40 @@ var LightType$1;
3864
3877
  /**
3865
3878
  * 环境光
3866
3879
  */ LightType["ambient"] = "ambient";
3867
- })(LightType$1 || (LightType$1 = {}));
3868
- var ModelBoundingType$1;
3880
+ })(LightType || (LightType = {}));
3881
+
3882
+ var ModelBoundingType;
3869
3883
  (function(ModelBoundingType) {
3870
3884
  ModelBoundingType[ModelBoundingType["box"] = 2] = "box";
3871
3885
  ModelBoundingType[ModelBoundingType["sphere"] = 3] = "sphere";
3872
- })(ModelBoundingType$1 || (ModelBoundingType$1 = {}));
3873
- var CameraType$1;
3886
+ })(ModelBoundingType || (ModelBoundingType = {}));
3887
+
3888
+ var CameraType;
3874
3889
  (function(CameraType) {
3875
3890
  CameraType["orthographic"] = "orthographic";
3876
3891
  CameraType["perspective"] = "perspective";
3877
- })(CameraType$1 || (CameraType$1 = {}));
3892
+ })(CameraType || (CameraType = {}));
3893
+
3878
3894
  // 材质类型
3879
- var MaterialType$1;
3895
+ var MaterialType;
3880
3896
  (function(MaterialType) {
3881
3897
  MaterialType["unlit"] = "unlit";
3882
3898
  MaterialType["pbr"] = "pbr";
3883
3899
  // 头发材质,在 pbr 材质基础上扩展
3884
3900
  MaterialType["hair"] = "hair";
3885
- })(MaterialType$1 || (MaterialType$1 = {}));
3901
+ })(MaterialType || (MaterialType = {}));
3886
3902
  // 混合模式
3887
- var MaterialBlending$1;
3903
+ var MaterialBlending;
3888
3904
  (function(MaterialBlending) {
3889
3905
  MaterialBlending[MaterialBlending["opaque"] = 100] = "opaque";
3890
3906
  MaterialBlending[MaterialBlending["masked"] = 101] = "masked";
3891
3907
  MaterialBlending[MaterialBlending["translucent"] = 102] = "translucent";
3892
3908
  MaterialBlending[MaterialBlending["additive"] = 103] = "additive";
3893
- })(MaterialBlending$1 || (MaterialBlending$1 = {}));
3909
+ })(MaterialBlending || (MaterialBlending = {}));
3910
+
3894
3911
  /**
3895
3912
  * 3D渲染模式:将渲染过程中的中间结果输出,主要用于排查渲染效果问题,支持 pbr 和 unlit 材质
3896
- */ var RenderMode3D$1;
3913
+ */ var RenderMode3D;
3897
3914
  (function(RenderMode3D) {
3898
3915
  /**
3899
3916
  * 正常渲染
@@ -3922,8 +3939,9 @@ var MaterialBlending$1;
3922
3939
  /**
3923
3940
  * 自发光
3924
3941
  */ RenderMode3D["emissive"] = "emissive";
3925
- })(RenderMode3D$1 || (RenderMode3D$1 = {}));
3926
- var TextOverflow$1;
3942
+ })(RenderMode3D || (RenderMode3D = {}));
3943
+
3944
+ var TextOverflow;
3927
3945
  (function(TextOverflow) {
3928
3946
  /**
3929
3947
  * display 模式下,会显示所有文本,存在文本超过边界框的情况。
@@ -3934,8 +3952,8 @@ var TextOverflow$1;
3934
3952
  /**
3935
3953
  * ellipsis 模式下,会使用(...)来代替超出边界框的内容。
3936
3954
  */ TextOverflow[TextOverflow["ellipsis"] = 2] = "ellipsis";
3937
- })(TextOverflow$1 || (TextOverflow$1 = {}));
3938
- var TextBaseline$1;
3955
+ })(TextOverflow || (TextOverflow = {}));
3956
+ var TextBaseline;
3939
3957
  (function(TextBaseline) {
3940
3958
  /**
3941
3959
  * 文本顶对齐。
@@ -3946,8 +3964,8 @@ var TextBaseline$1;
3946
3964
  /**
3947
3965
  * 文本底对齐。
3948
3966
  */ TextBaseline[TextBaseline["bottom"] = 2] = "bottom";
3949
- })(TextBaseline$1 || (TextBaseline$1 = {}));
3950
- var TextAlignment$1;
3967
+ })(TextBaseline || (TextBaseline = {}));
3968
+ var TextAlignment;
3951
3969
  (function(TextAlignment) {
3952
3970
  /**
3953
3971
  * text alignment starts from(x,y) to right direction
@@ -3961,10 +3979,10 @@ var TextAlignment$1;
3961
3979
  * text alignment ends with(x,y) from left direction
3962
3980
  * 从(x,y)结束最后一个字符,向左边延伸
3963
3981
  */ TextAlignment[TextAlignment["right"] = 2] = "right";
3964
- })(TextAlignment$1 || (TextAlignment$1 = {}));
3982
+ })(TextAlignment || (TextAlignment = {}));
3965
3983
  /**
3966
3984
  * 文本字重
3967
- */ var TextWeight$1;
3985
+ */ var TextWeight;
3968
3986
  (function(TextWeight) {
3969
3987
  /**
3970
3988
  * 正常
@@ -3975,10 +3993,10 @@ var TextAlignment$1;
3975
3993
  /**
3976
3994
  * 瘦体
3977
3995
  */ TextWeight["lighter"] = "lighter";
3978
- })(TextWeight$1 || (TextWeight$1 = {}));
3996
+ })(TextWeight || (TextWeight = {}));
3979
3997
  /**
3980
3998
  * 文本样式
3981
- */ var FontStyle$1;
3999
+ */ var FontStyle;
3982
4000
  (function(FontStyle) {
3983
4001
  /**
3984
4002
  * 正常
@@ -3989,8 +4007,9 @@ var TextAlignment$1;
3989
4007
  /**
3990
4008
  * 倾斜体
3991
4009
  */ FontStyle["oblique"] = "oblique";
3992
- })(FontStyle$1 || (FontStyle$1 = {}));
3993
- var DataType$1;
4010
+ })(FontStyle || (FontStyle = {}));
4011
+
4012
+ var DataType;
3994
4013
  (function(DataType) {
3995
4014
  DataType["VFXItemData"] = "VFXItemData";
3996
4015
  DataType["EffectComponent"] = "EffectComponent";
@@ -4010,8 +4029,8 @@ var DataType$1;
4010
4029
  DataType["CameraComponent"] = "CameraComponent";
4011
4030
  DataType["ModelPluginComponent"] = "ModelPluginComponent";
4012
4031
  DataType["TreeComponent"] = "TreeComponent";
4013
- })(DataType$1 || (DataType$1 = {}));
4014
- var GeometryType$1;
4032
+ })(DataType || (DataType = {}));
4033
+ var GeometryType;
4015
4034
  (function(GeometryType) {
4016
4035
  /**
4017
4036
  * Draw single points.
@@ -4034,62 +4053,61 @@ var GeometryType$1;
4034
4053
  /**
4035
4054
  * Draw a connected group of triangles. Each vertex connects to the previous and the first vertex in the fan.
4036
4055
  */ GeometryType[GeometryType["TRIANGLE_FAN"] = 6] = "TRIANGLE_FAN";
4037
- })(GeometryType$1 || (GeometryType$1 = {}));
4038
- var BuiltinObjectGUID = /** @class */ function() {
4039
- function BuiltinObjectGUID() {}
4040
- BuiltinObjectGUID.WhiteTexture = 'whitetexture00000000000000000000';
4041
- BuiltinObjectGUID.PBRShader = 'pbr00000000000000000000000000000';
4042
- BuiltinObjectGUID.UnlitShader = 'unlit000000000000000000000000000';
4043
- return BuiltinObjectGUID;
4044
- }();
4056
+ })(GeometryType || (GeometryType = {}));
4057
+
4058
+ class BuiltinObjectGUID {
4059
+ }
4060
+ BuiltinObjectGUID.WhiteTexture = 'whitetexture00000000000000000000';
4061
+ BuiltinObjectGUID.PBRShader = 'pbr00000000000000000000000000000';
4062
+ BuiltinObjectGUID.UnlitShader = 'unlit000000000000000000000000000';
4045
4063
 
4046
4064
  var index$1 = /*#__PURE__*/Object.freeze({
4047
4065
  __proto__: null,
4048
- get BackgroundType () { return BackgroundType$1; },
4049
- get BezierKeyframeType () { return BezierKeyframeType$1; },
4050
- get BlendingMode () { return BlendingMode$1; },
4051
- BuiltinObjectGUID: BuiltinObjectGUID,
4052
- CAMERA_CLIP_MODE_NORMAL: CAMERA_CLIP_MODE_NORMAL$1,
4053
- CAMERA_CLIP_MODE_VERTICAL: CAMERA_CLIP_MODE_VERTICAL$1,
4054
- get CameraClipMode () { return CameraClipMode$1; },
4055
- get CameraType () { return CameraType$1; },
4056
- get CompositionEndBehavior () { return CompositionEndBehavior$1; },
4057
- get DataType () { return DataType$1; },
4058
- END_BEHAVIOR_DESTROY: END_BEHAVIOR_DESTROY$1,
4059
- END_BEHAVIOR_DESTROY_CHILDREN: END_BEHAVIOR_DESTROY_CHILDREN$1,
4060
- END_BEHAVIOR_FORWARD: END_BEHAVIOR_FORWARD$1,
4061
- END_BEHAVIOR_FREEZE: END_BEHAVIOR_FREEZE$1,
4062
- END_BEHAVIOR_PAUSE: END_BEHAVIOR_PAUSE$1,
4063
- END_BEHAVIOR_PAUSE_AND_DESTROY: END_BEHAVIOR_PAUSE_AND_DESTROY$1,
4064
- END_BEHAVIOR_RESTART: END_BEHAVIOR_RESTART$1,
4065
- get FontStyle () { return FontStyle$1; },
4066
- get GeometryType () { return GeometryType$1; },
4067
- get InteractBehavior () { return InteractBehavior$2; },
4068
- get InteractType () { return InteractType$1; },
4069
- get ItemEndBehavior () { return ItemEndBehavior$1; },
4070
- get ItemType () { return ItemType$1; },
4071
- get LightType () { return LightType$1; },
4066
+ get RenderLevel () { return RenderLevel; },
4067
+ get BlendingMode () { return BlendingMode; },
4068
+ get SideMode () { return SideMode; },
4069
+ get MaskMode () { return MaskMode; },
4070
+ get ShapeType () { return ShapeType; },
4071
+ get PluginType () { return PluginType; },
4072
+ get InteractType () { return InteractType; },
4073
+ get InteractBehavior () { return InteractBehavior$1; },
4074
+ get ItemType () { return ItemType; },
4075
+ get RenderMode () { return RenderMode; },
4076
+ get ParticleOrigin () { return ParticleOrigin; },
4077
+ get CameraClipMode () { return CameraClipMode; },
4078
+ get CompositionEndBehavior () { return CompositionEndBehavior; },
4079
+ get BackgroundType () { return BackgroundType; },
4080
+ END_BEHAVIOR_DESTROY: END_BEHAVIOR_DESTROY,
4081
+ END_BEHAVIOR_PAUSE: END_BEHAVIOR_PAUSE,
4082
+ END_BEHAVIOR_FORWARD: END_BEHAVIOR_FORWARD,
4083
+ END_BEHAVIOR_PAUSE_AND_DESTROY: END_BEHAVIOR_PAUSE_AND_DESTROY,
4084
+ END_BEHAVIOR_FREEZE: END_BEHAVIOR_FREEZE,
4085
+ END_BEHAVIOR_RESTART: END_BEHAVIOR_RESTART,
4086
+ END_BEHAVIOR_DESTROY_CHILDREN: END_BEHAVIOR_DESTROY_CHILDREN,
4087
+ CAMERA_CLIP_MODE_VERTICAL: CAMERA_CLIP_MODE_VERTICAL,
4088
+ CAMERA_CLIP_MODE_NORMAL: CAMERA_CLIP_MODE_NORMAL,
4072
4089
  MESSAGE_ITEM_PHRASE_BEGIN: MESSAGE_ITEM_PHRASE_BEGIN,
4073
4090
  MESSAGE_ITEM_PHRASE_END: MESSAGE_ITEM_PHRASE_END,
4074
- get MaskMode () { return MaskMode$1; },
4075
- get MaterialBlending () { return MaterialBlending$1; },
4076
- get MaterialType () { return MaterialType$1; },
4077
- get ModelBoundingType () { return ModelBoundingType$1; },
4078
- get ParentItemEndBehavior () { return ParentItemEndBehavior$1; },
4079
- get ParticleInteractionBehavior () { return ParticleInteractionBehavior$1; },
4080
- get ParticleOrigin () { return ParticleOrigin$1; },
4081
- get PluginType () { return PluginType$1; },
4082
- get RenderLevel () { return RenderLevel$1; },
4083
- get RenderMode () { return RenderMode$1; },
4084
- get RenderMode3D () { return RenderMode3D$1; },
4085
- get ShapeArcMode () { return ShapeArcMode$1; },
4086
- get ShapeType () { return ShapeType$1; },
4087
- get SideMode () { return SideMode$1; },
4088
- get TextAlignment () { return TextAlignment$1; },
4089
- get TextBaseline () { return TextBaseline$1; },
4090
- get TextOverflow () { return TextOverflow$1; },
4091
- get TextWeight () { return TextWeight$1; },
4092
- get ValueType () { return ValueType$1; }
4091
+ get ValueType () { return ValueType; },
4092
+ get BezierKeyframeType () { return BezierKeyframeType; },
4093
+ get ItemEndBehavior () { return ItemEndBehavior; },
4094
+ get ParentItemEndBehavior () { return ParentItemEndBehavior; },
4095
+ get ParticleInteractionBehavior () { return ParticleInteractionBehavior; },
4096
+ get ShapeArcMode () { return ShapeArcMode; },
4097
+ get LightType () { return LightType; },
4098
+ get ModelBoundingType () { return ModelBoundingType; },
4099
+ get CameraType () { return CameraType; },
4100
+ get MaterialType () { return MaterialType; },
4101
+ get MaterialBlending () { return MaterialBlending; },
4102
+ get RenderMode3D () { return RenderMode3D; },
4103
+ get TextOverflow () { return TextOverflow; },
4104
+ get TextBaseline () { return TextBaseline; },
4105
+ get TextAlignment () { return TextAlignment; },
4106
+ get TextWeight () { return TextWeight; },
4107
+ get FontStyle () { return FontStyle; },
4108
+ get DataType () { return DataType; },
4109
+ get GeometryType () { return GeometryType; },
4110
+ BuiltinObjectGUID: BuiltinObjectGUID
4093
4111
  });
4094
4112
 
4095
4113
  const effectsClassStore = {};
@@ -4174,7 +4192,7 @@ function generateSerializableMember(type, sourceName) {
4174
4192
  dispose() {}
4175
4193
  constructor(engine){
4176
4194
  this.engine = engine;
4177
- this.guid = generateGUID$1();
4195
+ this.guid = generateGUID();
4178
4196
  this.taggedProperties = {};
4179
4197
  this.engine.addInstance(this);
4180
4198
  }
@@ -6853,39 +6871,39 @@ function vecMulCombine(out, a, b) {
6853
6871
  return out;
6854
6872
  }
6855
6873
  const particleOriginTranslateMap$1 = {
6856
- [ParticleOrigin$1.PARTICLE_ORIGIN_CENTER]: [
6874
+ [ParticleOrigin.PARTICLE_ORIGIN_CENTER]: [
6857
6875
  0,
6858
6876
  0
6859
6877
  ],
6860
- [ParticleOrigin$1.PARTICLE_ORIGIN_CENTER_BOTTOM]: [
6878
+ [ParticleOrigin.PARTICLE_ORIGIN_CENTER_BOTTOM]: [
6861
6879
  0,
6862
6880
  -0.5
6863
6881
  ],
6864
- [ParticleOrigin$1.PARTICLE_ORIGIN_CENTER_TOP]: [
6882
+ [ParticleOrigin.PARTICLE_ORIGIN_CENTER_TOP]: [
6865
6883
  0,
6866
6884
  0.5
6867
6885
  ],
6868
- [ParticleOrigin$1.PARTICLE_ORIGIN_LEFT_TOP]: [
6886
+ [ParticleOrigin.PARTICLE_ORIGIN_LEFT_TOP]: [
6869
6887
  -0.5,
6870
6888
  0.5
6871
6889
  ],
6872
- [ParticleOrigin$1.PARTICLE_ORIGIN_LEFT_CENTER]: [
6890
+ [ParticleOrigin.PARTICLE_ORIGIN_LEFT_CENTER]: [
6873
6891
  -0.5,
6874
6892
  0
6875
6893
  ],
6876
- [ParticleOrigin$1.PARTICLE_ORIGIN_LEFT_BOTTOM]: [
6894
+ [ParticleOrigin.PARTICLE_ORIGIN_LEFT_BOTTOM]: [
6877
6895
  -0.5,
6878
6896
  -0.5
6879
6897
  ],
6880
- [ParticleOrigin$1.PARTICLE_ORIGIN_RIGHT_CENTER]: [
6898
+ [ParticleOrigin.PARTICLE_ORIGIN_RIGHT_CENTER]: [
6881
6899
  0.5,
6882
6900
  0
6883
6901
  ],
6884
- [ParticleOrigin$1.PARTICLE_ORIGIN_RIGHT_BOTTOM]: [
6902
+ [ParticleOrigin.PARTICLE_ORIGIN_RIGHT_BOTTOM]: [
6885
6903
  0.5,
6886
6904
  -0.5
6887
6905
  ],
6888
- [ParticleOrigin$1.PARTICLE_ORIGIN_RIGHT_TOP]: [
6906
+ [ParticleOrigin.PARTICLE_ORIGIN_RIGHT_TOP]: [
6889
6907
  0.5,
6890
6908
  0.5
6891
6909
  ]
@@ -6948,7 +6966,7 @@ const keyframeInfo = {
6948
6966
  */ getPointIndexInCurve (keyframe) {
6949
6967
  const [type, , markType] = keyframe;
6950
6968
  // 不同类型,存放的时间不同
6951
- const index = type === BezierKeyframeType$1.LINE ? 0 : type === BezierKeyframeType$1.EASE_OUT ? 0 : type === BezierKeyframeType$1.EASE_IN ? 2 : type === BezierKeyframeType$1.EASE ? 2 : type === BezierKeyframeType$1.HOLD ? markType === BezierKeyframeType$1.EASE_IN ? 2 : 0 : 0;
6969
+ const index = type === BezierKeyframeType.LINE ? 0 : type === BezierKeyframeType.EASE_OUT ? 0 : type === BezierKeyframeType.EASE_IN ? 2 : type === BezierKeyframeType.EASE ? 2 : type === BezierKeyframeType.HOLD ? markType === BezierKeyframeType.EASE_IN ? 2 : 0 : 0;
6952
6970
  return {
6953
6971
  xIndex: index,
6954
6972
  yIndex: index + 1
@@ -6959,7 +6977,7 @@ const keyframeInfo = {
6959
6977
  */ isLeftSideEase (keyframe) {
6960
6978
  const [keyframeType, _, markType] = keyframe;
6961
6979
  // 定格关键帧的左侧类型,需要借助markType判断
6962
- if (keyframeType === BezierKeyframeType$1.HOLD && this.isKeyframeTypeLeftSideEase(markType)) {
6980
+ if (keyframeType === BezierKeyframeType.HOLD && this.isKeyframeTypeLeftSideEase(markType)) {
6963
6981
  return true;
6964
6982
  }
6965
6983
  return this.isKeyframeTypeLeftSideEase(keyframeType);
@@ -6969,7 +6987,7 @@ const keyframeInfo = {
6969
6987
  */ isRightSideEase (keyframe) {
6970
6988
  const [keyframeType, _, markType] = keyframe;
6971
6989
  // 定格关键帧的右侧类型,需要借助markType判断
6972
- if (keyframeType === BezierKeyframeType$1.HOLD && this.isKeyframeTypeRightSideEase(markType)) {
6990
+ if (keyframeType === BezierKeyframeType.HOLD && this.isKeyframeTypeRightSideEase(markType)) {
6973
6991
  return true;
6974
6992
  }
6975
6993
  return this.isKeyframeTypeRightSideEase(keyframeType);
@@ -6978,38 +6996,38 @@ const keyframeInfo = {
6978
6996
  * 关键帧左侧是否为缓动类型(否则为线段)
6979
6997
  */ isKeyframeTypeLeftSideEase (keyframeType) {
6980
6998
  return [
6981
- BezierKeyframeType$1.EASE,
6982
- BezierKeyframeType$1.EASE_IN,
6983
- BezierKeyframeType$1.AUTO
6999
+ BezierKeyframeType.EASE,
7000
+ BezierKeyframeType.EASE_IN,
7001
+ BezierKeyframeType.AUTO
6984
7002
  ].includes(keyframeType);
6985
7003
  },
6986
7004
  /**
6987
7005
  * 关键帧右侧是否为缓动类型(否则为线段)
6988
7006
  */ isKeyframeTypeRightSideEase (keyframeType) {
6989
7007
  return [
6990
- BezierKeyframeType$1.EASE,
6991
- BezierKeyframeType$1.EASE_OUT,
6992
- BezierKeyframeType$1.AUTO
7008
+ BezierKeyframeType.EASE,
7009
+ BezierKeyframeType.EASE_OUT,
7010
+ BezierKeyframeType.AUTO
6993
7011
  ].includes(keyframeType);
6994
7012
  },
6995
7013
  /**
6996
7014
  * 是否为定格进关键帧
6997
7015
  */ isHoldInKeyframe (keyframe) {
6998
7016
  const [keyframeType, _, leftSubType] = keyframe;
6999
- return keyframeType === BezierKeyframeType$1.HOLD && [
7000
- BezierKeyframeType$1.HOLD,
7001
- BezierKeyframeType$1.LINE_OUT,
7002
- BezierKeyframeType$1.EASE_OUT
7017
+ return keyframeType === BezierKeyframeType.HOLD && [
7018
+ BezierKeyframeType.HOLD,
7019
+ BezierKeyframeType.LINE_OUT,
7020
+ BezierKeyframeType.EASE_OUT
7003
7021
  ].includes(leftSubType);
7004
7022
  },
7005
7023
  /**
7006
7024
  * 是否为定格出关键帧
7007
7025
  */ isHoldOutKeyframe (keyframe) {
7008
7026
  const [keyframeType, _, leftSubType] = keyframe;
7009
- return keyframeType === BezierKeyframeType$1.HOLD && [
7010
- BezierKeyframeType$1.HOLD,
7011
- BezierKeyframeType$1.LINE,
7012
- BezierKeyframeType$1.EASE_IN
7027
+ return keyframeType === BezierKeyframeType.HOLD && [
7028
+ BezierKeyframeType.HOLD,
7029
+ BezierKeyframeType.LINE,
7030
+ BezierKeyframeType.EASE_IN
7013
7031
  ].includes(leftSubType);
7014
7032
  }
7015
7033
  };
@@ -7871,31 +7889,31 @@ class BezierCurvePath extends ValueGetter {
7871
7889
  }
7872
7890
  }
7873
7891
  const map$1 = {
7874
- [ValueType$1.RANDOM] (props) {
7892
+ [ValueType.RANDOM] (props) {
7875
7893
  if (props[0] instanceof Array) {
7876
7894
  return new RandomVectorValue(props);
7877
7895
  }
7878
7896
  return new RandomValue(props);
7879
7897
  },
7880
- [ValueType$1.CONSTANT] (props) {
7898
+ [ValueType.CONSTANT] (props) {
7881
7899
  return new StaticValue(props);
7882
7900
  },
7883
- [ValueType$1.CONSTANT_VEC2] (props) {
7901
+ [ValueType.CONSTANT_VEC2] (props) {
7884
7902
  return new StaticValue(props);
7885
7903
  },
7886
- [ValueType$1.CONSTANT_VEC3] (props) {
7904
+ [ValueType.CONSTANT_VEC3] (props) {
7887
7905
  return new StaticValue(props);
7888
7906
  },
7889
- [ValueType$1.CONSTANT_VEC4] (props) {
7907
+ [ValueType.CONSTANT_VEC4] (props) {
7890
7908
  return new StaticValue(props);
7891
7909
  },
7892
- [ValueType$1.RGBA_COLOR] (props) {
7910
+ [ValueType.RGBA_COLOR] (props) {
7893
7911
  return new StaticValue(props);
7894
7912
  },
7895
- [ValueType$1.COLORS] (props) {
7913
+ [ValueType.COLORS] (props) {
7896
7914
  return new RandomSetValue(props.map((c)=>colorToArr$1(c, false)));
7897
7915
  },
7898
- [ValueType$1.LINE] (props) {
7916
+ [ValueType.LINE] (props) {
7899
7917
  if (props.length === 2 && props[0][0] === 0 && props[1][0] === 1) {
7900
7918
  return new LinearValue([
7901
7919
  props[0][1],
@@ -7904,19 +7922,19 @@ const map$1 = {
7904
7922
  }
7905
7923
  return new LineSegments(props);
7906
7924
  },
7907
- [ValueType$1.GRADIENT_COLOR] (props) {
7925
+ [ValueType.GRADIENT_COLOR] (props) {
7908
7926
  return new GradientValue(props);
7909
7927
  },
7910
7928
  // [spec.ValueType.LINEAR_PATH] (pros: number[][][]) {
7911
7929
  // return new PathSegments(pros);
7912
7930
  // },
7913
- [ValueType$1.BEZIER_CURVE] (props) {
7931
+ [ValueType.BEZIER_CURVE] (props) {
7914
7932
  if (props.length === 1) {
7915
7933
  return new StaticValue(props[0][1][1]);
7916
7934
  }
7917
7935
  return new BezierCurve(props);
7918
7936
  },
7919
- [ValueType$1.BEZIER_CURVE_PATH] (props) {
7937
+ [ValueType.BEZIER_CURVE_PATH] (props) {
7920
7938
  if (props[0].length === 1) {
7921
7939
  return new StaticValue(new Vector3(...props[1][0]));
7922
7940
  }
@@ -7951,7 +7969,7 @@ function getKeyFrameMetaByRawValue(meta, value) {
7951
7969
  if (value) {
7952
7970
  const type = value[0];
7953
7971
  const keys = value[1];
7954
- if (type === ValueType$1.CURVE) {
7972
+ if (type === ValueType.CURVE) {
7955
7973
  meta.curves.push(keys);
7956
7974
  let keyLen = keys.length;
7957
7975
  if (keys[0][0] > 0) {
@@ -7963,7 +7981,7 @@ function getKeyFrameMetaByRawValue(meta, value) {
7963
7981
  meta.index += keyLen;
7964
7982
  meta.max = Math.max(meta.max, keyLen);
7965
7983
  meta.curveCount += keyLen;
7966
- } else if (type === ValueType$1.LINE) {
7984
+ } else if (type === ValueType.LINE) {
7967
7985
  let keyLen = keys.length;
7968
7986
  if (keyLen === 2 && keys[0][0] === 0 && keys[1][0] === 1) {
7969
7987
  return;
@@ -7979,7 +7997,7 @@ function getKeyFrameMetaByRawValue(meta, value) {
7979
7997
  meta.curves.push(keys);
7980
7998
  meta.index += uniformCount;
7981
7999
  meta.max = Math.max(meta.max, uniformCount);
7982
- } else if (type === ValueType$1.BEZIER_CURVE) {
8000
+ } else if (type === ValueType.BEZIER_CURVE) {
7983
8001
  const keyLen = keys.length - 1;
7984
8002
  meta.index += 2 * keyLen;
7985
8003
  meta.curves.push(keys);
@@ -8552,7 +8570,7 @@ class CameraController extends ItemBehaviour {
8552
8570
  }
8553
8571
  }
8554
8572
  CameraController = __decorate([
8555
- effectsClass(DataType$1.CameraController)
8573
+ effectsClass(DataType.CameraController)
8556
8574
  ], CameraController);
8557
8575
 
8558
8576
  class CameraVFXItemLoader extends AbstractPlugin {
@@ -8570,7 +8588,7 @@ const EVENT_TYPE_CLICK = 'click';
8570
8588
  const EVENT_TYPE_TOUCH_START = 'touchstart';
8571
8589
  const EVENT_TYPE_TOUCH_MOVE = 'touchmove';
8572
8590
  const EVENT_TYPE_TOUCH_END = 'touchend';
8573
- const InteractBehavior$1 = InteractBehavior$2;
8591
+ const InteractBehavior = InteractBehavior$1;
8574
8592
  class EventSystem {
8575
8593
  bindListeners() {
8576
8594
  let x;
@@ -8849,21 +8867,21 @@ function valIfUndefined(val, def) {
8849
8867
  }
8850
8868
  function getPreMultiAlpha(blending) {
8851
8869
  switch(blending){
8852
- case BlendingMode$1.ALPHA:
8870
+ case BlendingMode.ALPHA:
8853
8871
  return 1;
8854
- case BlendingMode$1.ADD:
8872
+ case BlendingMode.ADD:
8855
8873
  return 1;
8856
- case BlendingMode$1.SUBTRACTION:
8874
+ case BlendingMode.SUBTRACTION:
8857
8875
  return 1;
8858
- case BlendingMode$1.STRONG_LIGHT:
8876
+ case BlendingMode.STRONG_LIGHT:
8859
8877
  return 1;
8860
- case BlendingMode$1.WEAK_LIGHT:
8878
+ case BlendingMode.WEAK_LIGHT:
8861
8879
  return 1;
8862
- case BlendingMode$1.SUPERPOSITION:
8880
+ case BlendingMode.SUPERPOSITION:
8863
8881
  return 2;
8864
- case BlendingMode$1.BRIGHTNESS:
8882
+ case BlendingMode.BRIGHTNESS:
8865
8883
  return 3;
8866
- case BlendingMode$1.MULTIPLY:
8884
+ case BlendingMode.MULTIPLY:
8867
8885
  return 0;
8868
8886
  default:
8869
8887
  // 处理undefined
@@ -8933,7 +8951,7 @@ function setBlendMode(material, blendMode) {
8933
8951
  glContext.ONE_MINUS_SRC_ALPHA
8934
8952
  ];
8935
8953
  break;
8936
- case BlendingMode$1.ALPHA:
8954
+ case BlendingMode.ALPHA:
8937
8955
  material.blendFunction = [
8938
8956
  glContext.ONE,
8939
8957
  glContext.ONE_MINUS_SRC_ALPHA,
@@ -8941,7 +8959,7 @@ function setBlendMode(material, blendMode) {
8941
8959
  glContext.ONE_MINUS_SRC_ALPHA
8942
8960
  ];
8943
8961
  break;
8944
- case BlendingMode$1.ADD:
8962
+ case BlendingMode.ADD:
8945
8963
  material.blendFunction = [
8946
8964
  glContext.ONE,
8947
8965
  glContext.ONE,
@@ -8949,7 +8967,7 @@ function setBlendMode(material, blendMode) {
8949
8967
  glContext.ONE
8950
8968
  ];
8951
8969
  break;
8952
- case BlendingMode$1.SUBTRACTION:
8970
+ case BlendingMode.SUBTRACTION:
8953
8971
  material.blendFunction = [
8954
8972
  glContext.ONE,
8955
8973
  glContext.ONE,
@@ -8961,7 +8979,7 @@ function setBlendMode(material, blendMode) {
8961
8979
  glContext.FUNC_REVERSE_SUBTRACT
8962
8980
  ];
8963
8981
  break;
8964
- case BlendingMode$1.SUPERPOSITION:
8982
+ case BlendingMode.SUPERPOSITION:
8965
8983
  material.blendFunction = [
8966
8984
  glContext.ONE,
8967
8985
  glContext.ONE,
@@ -8969,7 +8987,7 @@ function setBlendMode(material, blendMode) {
8969
8987
  glContext.ONE
8970
8988
  ];
8971
8989
  break;
8972
- case BlendingMode$1.MULTIPLY:
8990
+ case BlendingMode.MULTIPLY:
8973
8991
  material.blendFunction = [
8974
8992
  glContext.DST_COLOR,
8975
8993
  glContext.ONE_MINUS_SRC_ALPHA,
@@ -8977,7 +8995,7 @@ function setBlendMode(material, blendMode) {
8977
8995
  glContext.ONE_MINUS_SRC_ALPHA
8978
8996
  ];
8979
8997
  break;
8980
- case BlendingMode$1.BRIGHTNESS:
8998
+ case BlendingMode.BRIGHTNESS:
8981
8999
  material.blendFunction = [
8982
9000
  glContext.ONE,
8983
9001
  glContext.ONE_MINUS_SRC_ALPHA,
@@ -8985,7 +9003,7 @@ function setBlendMode(material, blendMode) {
8985
9003
  glContext.ONE_MINUS_SRC_ALPHA
8986
9004
  ];
8987
9005
  break;
8988
- case BlendingMode$1.STRONG_LIGHT:
9006
+ case BlendingMode.STRONG_LIGHT:
8989
9007
  material.blendFunction = [
8990
9008
  glContext.DST_COLOR,
8991
9009
  glContext.DST_ALPHA,
@@ -8993,7 +9011,7 @@ function setBlendMode(material, blendMode) {
8993
9011
  glContext.ONE
8994
9012
  ];
8995
9013
  break;
8996
- case BlendingMode$1.WEAK_LIGHT:
9014
+ case BlendingMode.WEAK_LIGHT:
8997
9015
  material.blendFunction = [
8998
9016
  glContext.DST_COLOR,
8999
9017
  glContext.ZERO,
@@ -9006,12 +9024,12 @@ function setBlendMode(material, blendMode) {
9006
9024
  }
9007
9025
  }
9008
9026
  function setSideMode(material, side) {
9009
- if (side === SideMode$1.DOUBLE) {
9027
+ if (side === SideMode.DOUBLE) {
9010
9028
  material.culling = false;
9011
9029
  } else {
9012
9030
  material.culling = true;
9013
9031
  material.frontFace = glContext.CW;
9014
- material.cullFace = side === SideMode$1.BACK ? glContext.BACK : glContext.FRONT;
9032
+ material.cullFace = side === SideMode.BACK ? glContext.BACK : glContext.FRONT;
9015
9033
  }
9016
9034
  }
9017
9035
  function setMaskMode(material, maskMode) {
@@ -9019,7 +9037,7 @@ function setMaskMode(material, maskMode) {
9019
9037
  case undefined:
9020
9038
  material.stencilTest = false;
9021
9039
  break;
9022
- case MaskMode$1.MASK:
9040
+ case MaskMode.MASK:
9023
9041
  material.stencilTest = true;
9024
9042
  material.stencilFunc = [
9025
9043
  glContext.ALWAYS,
@@ -9030,21 +9048,21 @@ function setMaskMode(material, maskMode) {
9030
9048
  glContext.REPLACE
9031
9049
  ];
9032
9050
  break;
9033
- case MaskMode$1.OBSCURED:
9051
+ case MaskMode.OBSCURED:
9034
9052
  material.stencilTest = true;
9035
9053
  material.stencilFunc = [
9036
9054
  glContext.EQUAL,
9037
9055
  glContext.EQUAL
9038
9056
  ];
9039
9057
  break;
9040
- case MaskMode$1.REVERSE_OBSCURED:
9058
+ case MaskMode.REVERSE_OBSCURED:
9041
9059
  material.stencilTest = true;
9042
9060
  material.stencilFunc = [
9043
9061
  glContext.NOTEQUAL,
9044
9062
  glContext.NOTEQUAL
9045
9063
  ];
9046
9064
  break;
9047
- case MaskMode$1.NONE:
9065
+ case MaskMode.NONE:
9048
9066
  material.stencilTest = false;
9049
9067
  break;
9050
9068
  default:
@@ -9337,24 +9355,30 @@ function deserializeMipmapTexture(texOpts, bins) {
9337
9355
  return _deserializeMipmapTexture.apply(this, arguments);
9338
9356
  }
9339
9357
  function _deserializeMipmapTexture() {
9340
- _deserializeMipmapTexture = _async_to_generator(function*(texOpts, bins, files = []) {
9358
+ _deserializeMipmapTexture = _async_to_generator(function*(texOpts, bins, files = [], engine) {
9341
9359
  if (texOpts.target === 34067) {
9342
9360
  const { mipmaps, target } = texOpts;
9343
- const jobs = mipmaps.map((mipmap)=>Promise.all(mipmap.map((pointer)=>loadMipmapImage(pointer, bins))));
9344
- const loadedMipmaps = yield Promise.all(jobs);
9345
- const bin = files[mipmaps[0][0][1][0]].url;
9361
+ // const jobs = mipmaps.map(mipmap => Promise.all(mipmap.map(pointer => loadMipmapImage(pointer, bins))));
9362
+ const loadedMipmaps = [];
9363
+ for (const level of mipmaps){
9364
+ const newLevel = [];
9365
+ for (const face of level){
9366
+ // @ts-expect-error
9367
+ const loadedImageAsset = engine.assetLoader.loadGUID(face.id);
9368
+ // @ts-expect-error
9369
+ newLevel.push(loadedImageAsset.data);
9370
+ }
9371
+ loadedMipmaps.push(newLevel);
9372
+ }
9373
+ // const bin = files[mipmaps[0][0][1][0]].url;
9346
9374
  return _extends({
9347
9375
  keepImageSource: false
9348
9376
  }, texOpts, {
9349
9377
  mipmaps: loadedMipmaps,
9350
9378
  sourceFrom: {
9351
9379
  target,
9352
- bin,
9353
- type: exports.TextureSourceType.mipmaps,
9354
- mipmaps: mipmaps.map((mipmap)=>mipmap.map((pointer)=>[
9355
- pointer[1][1],
9356
- pointer[1][2]
9357
- ]))
9380
+ // bin,
9381
+ type: exports.TextureSourceType.mipmaps
9358
9382
  }
9359
9383
  });
9360
9384
  } else {
@@ -9413,7 +9437,7 @@ let seed$8 = 1;
9413
9437
  const texture = Texture.create(engine, {
9414
9438
  sourceType: exports.TextureSourceType.image,
9415
9439
  image,
9416
- id: generateGUID$1()
9440
+ id: generateGUID()
9417
9441
  });
9418
9442
  texture.initialize();
9419
9443
  return texture;
@@ -12267,7 +12291,7 @@ class InteractComponent extends RendererComponent {
12267
12291
  const { env } = this.item.engine.renderer;
12268
12292
  const composition = this.item.composition;
12269
12293
  const { type, showPreview } = this.interactData.options;
12270
- if (type === InteractType$1.CLICK) {
12294
+ if (type === InteractType.CLICK) {
12271
12295
  this.clickable = true;
12272
12296
  if (showPreview && env === PLAYER_OPTIONS_ENV_EDITOR) {
12273
12297
  const rendererOptions = this.item.composition.getRendererOptions();
@@ -12276,7 +12300,7 @@ class InteractComponent extends RendererComponent {
12276
12300
  }
12277
12301
  composition.addInteractiveItem(this.item, options.type);
12278
12302
  this.item.onEnd = ()=>composition.removeInteractiveItem(this.item, options.type);
12279
- if (options.type === InteractType$1.DRAG) {
12303
+ if (options.type === InteractType.DRAG) {
12280
12304
  if (env !== PLAYER_OPTIONS_ENV_EDITOR || options.enableInEditor) {
12281
12305
  composition.event && this.beginDragTarget(options, composition.event);
12282
12306
  }
@@ -12444,7 +12468,7 @@ class InteractComponent extends RendererComponent {
12444
12468
  }
12445
12469
  }
12446
12470
  InteractComponent = __decorate([
12447
- effectsClass(DataType$1.InteractComponent)
12471
+ effectsClass(DataType.InteractComponent)
12448
12472
  ], InteractComponent);
12449
12473
  function shouldIgnoreBouncing(arg, mul) {
12450
12474
  const threshold = 0.00001 * (mul || 1);
@@ -12954,7 +12978,7 @@ class TransformAnimationPlayableAsset extends PlayableAsset {
12954
12978
  if (!this.item.ended) {
12955
12979
  this.item.ended = true;
12956
12980
  this.item.onEnd();
12957
- if (endBehavior === END_BEHAVIOR_DESTROY$1) {
12981
+ if (endBehavior === ItemEndBehavior.destroy) {
12958
12982
  for (const track of this.tracks){
12959
12983
  for (const clip of track.getClips()){
12960
12984
  clip.playable.onPlayableDestroy();
@@ -12992,9 +13016,9 @@ class TransformAnimationPlayableAsset extends PlayableAsset {
12992
13016
  let localTime = time - this.options.start;
12993
13017
  const duration = this.options.duration;
12994
13018
  if (localTime - duration > 0.001) {
12995
- if (this.options.endBehavior === END_BEHAVIOR_RESTART$1) {
13019
+ if (this.options.endBehavior === END_BEHAVIOR_RESTART) {
12996
13020
  localTime = localTime % duration;
12997
- } else if (this.options.endBehavior === END_BEHAVIOR_FREEZE$1) {
13021
+ } else if (this.options.endBehavior === END_BEHAVIOR_FREEZE) {
12998
13022
  localTime = Math.min(duration, localTime);
12999
13023
  }
13000
13024
  }
@@ -13035,8 +13059,8 @@ class TransformAnimationPlayableAsset extends PlayableAsset {
13035
13059
  this.options = {
13036
13060
  start: this.item.start,
13037
13061
  duration: this.item.duration,
13038
- looping: this.item.endBehavior === END_BEHAVIOR_RESTART$1,
13039
- endBehavior: this.item.endBehavior || END_BEHAVIOR_DESTROY$1
13062
+ looping: this.item.endBehavior === ItemEndBehavior.loop,
13063
+ endBehavior: this.item.endBehavior || ItemEndBehavior.destroy
13040
13064
  };
13041
13065
  this.id = this.item.id;
13042
13066
  this.name = this.item.name;
@@ -13127,7 +13151,7 @@ class SpriteColorPlayable extends Playable {
13127
13151
  if (colorOverLifetime) {
13128
13152
  var _colorOverLifetime_opacity;
13129
13153
  this.opacityOverLifetime = createValueGetter((_colorOverLifetime_opacity = colorOverLifetime.opacity) != null ? _colorOverLifetime_opacity : 1);
13130
- if (colorOverLifetime.color && colorOverLifetime.color[0] === ValueType$1.GRADIENT_COLOR) {
13154
+ if (colorOverLifetime.color && colorOverLifetime.color[0] === ValueType.GRADIENT_COLOR) {
13131
13155
  this.colorOverLifetime = colorStopsFromGradient(colorOverLifetime.color[1]);
13132
13156
  }
13133
13157
  }
@@ -13532,15 +13556,15 @@ class SpriteComponent extends RendererComponent {
13532
13556
  this.interaction = interaction;
13533
13557
  var _renderer_renderMode, _renderer_blending, _renderer_texture, _renderer_side, _renderer_mask, _renderer_maskMode;
13534
13558
  this.renderer = {
13535
- renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode$1.BILLBOARD,
13536
- blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode$1.ALPHA,
13559
+ renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.BILLBOARD,
13560
+ blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode.ALPHA,
13537
13561
  texture: (_renderer_texture = renderer.texture) != null ? _renderer_texture : this.engine.emptyTexture,
13538
13562
  occlusion: !!renderer.occlusion,
13539
- transparentOcclusion: !!renderer.transparentOcclusion || renderer.maskMode === MaskMode$1.MASK,
13540
- side: (_renderer_side = renderer.side) != null ? _renderer_side : SideMode$1.DOUBLE,
13563
+ transparentOcclusion: !!renderer.transparentOcclusion || renderer.maskMode === MaskMode.MASK,
13564
+ side: (_renderer_side = renderer.side) != null ? _renderer_side : SideMode.DOUBLE,
13541
13565
  shape: renderer.shape,
13542
13566
  mask: (_renderer_mask = renderer.mask) != null ? _renderer_mask : 0,
13543
- maskMode: (_renderer_maskMode = renderer.maskMode) != null ? _renderer_maskMode : MaskMode$1.NONE,
13567
+ maskMode: (_renderer_maskMode = renderer.maskMode) != null ? _renderer_maskMode : MaskMode.NONE,
13544
13568
  order: listIndex
13545
13569
  };
13546
13570
  this.emptyTexture = this.engine.emptyTexture;
@@ -13591,7 +13615,7 @@ class SpriteComponent extends RendererComponent {
13591
13615
  behavior: ((_this_interaction = this.interaction) == null ? void 0 : _this_interaction.behavior) || 0,
13592
13616
  type: area.type,
13593
13617
  triangles: area.area,
13594
- backfaceCulling: this.renderer.side === SideMode$1.FRONT
13618
+ backfaceCulling: this.renderer.side === SideMode.FRONT
13595
13619
  };
13596
13620
  }
13597
13621
  }
@@ -13602,7 +13626,7 @@ class SpriteComponent extends RendererComponent {
13602
13626
  }
13603
13627
  }
13604
13628
  SpriteComponent = __decorate([
13605
- effectsClass(DataType$1.SpriteComponent)
13629
+ effectsClass(DataType.SpriteComponent)
13606
13630
  ], SpriteComponent);
13607
13631
 
13608
13632
  const RUNTIME_ENV = 'runtime_env';
@@ -13642,16 +13666,16 @@ class Cone {
13642
13666
  }
13643
13667
  }
13644
13668
  function getArcAngle(arc, arcMode, opt) {
13645
- if (arcMode === ShapeArcMode$1.RANDOM) {
13669
+ if (arcMode === ShapeArcMode.RANDOM) {
13646
13670
  arc = random(0, arc);
13647
- } else if (arcMode === ShapeArcMode$1.UNIDIRECTIONAL_CYCLE) {
13671
+ } else if (arcMode === ShapeArcMode.UNIDIRECTIONAL_CYCLE) {
13648
13672
  const d = opt.index % (opt.total + 1);
13649
13673
  arc = arc / opt.total * d;
13650
- } else if (arcMode === ShapeArcMode$1.BIDIRECTIONAL_CYCLE) {
13674
+ } else if (arcMode === ShapeArcMode.BIDIRECTIONAL_CYCLE) {
13651
13675
  const d = opt.index / (opt.total + 1);
13652
13676
  const i = d - Math.floor(d);
13653
13677
  arc = arc * (Math.floor(d) % 2 ? 1 - i : i);
13654
- } else if (arcMode === ShapeArcMode$1.UNIFORM_BURST) {
13678
+ } else if (arcMode === ShapeArcMode.UNIFORM_BURST) {
13655
13679
  arc = arc * opt.burstIndex / opt.burstCount;
13656
13680
  }
13657
13681
  return arc;
@@ -13721,7 +13745,7 @@ class RectangleEdge {
13721
13745
  }
13722
13746
  class Edge {
13723
13747
  generate(options) {
13724
- const x = this.arcMode === ShapeArcMode$1.UNIFORM_BURST ? options.burstIndex % options.burstCount / (options.burstCount - 1) : random(0, 1);
13748
+ const x = this.arcMode === ShapeArcMode.UNIFORM_BURST ? options.burstIndex % options.burstCount / (options.burstCount - 1) : random(0, 1);
13725
13749
  return {
13726
13750
  direction: new Vector3(0, 1, 0),
13727
13751
  position: new Vector3(this._d * (x - 0.5), 0, 0)
@@ -13827,16 +13851,16 @@ class ShapeNone {
13827
13851
  }
13828
13852
  }
13829
13853
  const map = {
13830
- [ShapeType$1.NONE]: ShapeNone,
13831
- [ShapeType$1.CONE]: Cone,
13832
- [ShapeType$1.SPHERE]: Sphere,
13833
- [ShapeType$1.HEMISPHERE]: Hemisphere,
13834
- [ShapeType$1.CIRCLE]: Circle,
13835
- [ShapeType$1.DONUT]: Donut,
13836
- [ShapeType$1.RECTANGLE]: Rectangle,
13837
- [ShapeType$1.EDGE]: Edge,
13838
- [ShapeType$1.RECTANGLE_EDGE]: RectangleEdge,
13839
- [ShapeType$1.TEXTURE]: TextureShape
13854
+ [ShapeType.NONE]: ShapeNone,
13855
+ [ShapeType.CONE]: Cone,
13856
+ [ShapeType.SPHERE]: Sphere,
13857
+ [ShapeType.HEMISPHERE]: Hemisphere,
13858
+ [ShapeType.CIRCLE]: Circle,
13859
+ [ShapeType.DONUT]: Donut,
13860
+ [ShapeType.RECTANGLE]: Rectangle,
13861
+ [ShapeType.EDGE]: Edge,
13862
+ [ShapeType.RECTANGLE_EDGE]: RectangleEdge,
13863
+ [ShapeType.TEXTURE]: TextureShape
13840
13864
  };
13841
13865
  function createShape(shapeOptions) {
13842
13866
  if (!shapeOptions) {
@@ -13846,7 +13870,7 @@ function createShape(shapeOptions) {
13846
13870
  radius: 1,
13847
13871
  arc: 360,
13848
13872
  angle: 0,
13849
- arcMode: ShapeArcMode$1.RANDOM
13873
+ arcMode: ShapeArcMode.RANDOM
13850
13874
  }, shapeOptions);
13851
13875
  const { type } = shapeOptions;
13852
13876
  const Ctrl = map[type];
@@ -13854,7 +13878,7 @@ function createShape(shapeOptions) {
13854
13878
  throw Error('invalid shape:' + type);
13855
13879
  }
13856
13880
  const ctrl = new Ctrl(options);
13857
- if (type !== ShapeType$1.NONE) {
13881
+ if (type !== ShapeType.NONE) {
13858
13882
  const { alignSpeedDirection, upDirection = [
13859
13883
  0,
13860
13884
  0,
@@ -14408,11 +14432,11 @@ function getGeometryTriangles(geometry, options) {
14408
14432
  shape.gs.forEach((gs)=>{
14409
14433
  geometries.push({
14410
14434
  p: [
14411
- ValueType$1.SHAPE_POINTS,
14435
+ ValueType.SHAPE_POINTS,
14412
14436
  gs.p
14413
14437
  ],
14414
14438
  s: [
14415
- ValueType$1.SHAPE_SPLITS,
14439
+ ValueType.SHAPE_SPLITS,
14416
14440
  gs.s
14417
14441
  ]
14418
14442
  });
@@ -14420,11 +14444,11 @@ function getGeometryTriangles(geometry, options) {
14420
14444
  } else if (shape.g) {
14421
14445
  geometries.push({
14422
14446
  p: [
14423
- ValueType$1.SHAPE_POINTS,
14447
+ ValueType.SHAPE_POINTS,
14424
14448
  shape.g.p
14425
14449
  ],
14426
14450
  s: [
14427
- ValueType$1.SHAPE_SPLITS,
14451
+ ValueType.SHAPE_SPLITS,
14428
14452
  shape.g.s
14429
14453
  ]
14430
14454
  });
@@ -15223,7 +15247,7 @@ class ParticleSystem extends Component {
15223
15247
  const transformPath = this.props.emitterTransform && this.props.emitterTransform.path;
15224
15248
  let path;
15225
15249
  if (transformPath) {
15226
- if (transformPath[0] === ValueType$1.CONSTANT_VEC3) {
15250
+ if (transformPath[0] === ValueType.CONSTANT_VEC3) {
15227
15251
  position.add(transformPath[1]);
15228
15252
  } else {
15229
15253
  path = createValueGetter(transformPath);
@@ -15431,7 +15455,7 @@ class ParticleSystem extends Component {
15431
15455
  }
15432
15456
  }
15433
15457
  }
15434
- } else if (this.item.endBehavior === ItemEndBehavior$1.loop) {
15458
+ } else if (this.item.endBehavior === ItemEndBehavior.loop) {
15435
15459
  updateTrail();
15436
15460
  this.loopStartTime = now - duration;
15437
15461
  this.lastEmitTime -= duration;
@@ -15448,12 +15472,12 @@ class ParticleSystem extends Component {
15448
15472
  this.ended = true;
15449
15473
  this.onEnd(this);
15450
15474
  const endBehavior = this.item.endBehavior;
15451
- if (endBehavior === END_BEHAVIOR_FREEZE$1) {
15475
+ if (endBehavior === ItemEndBehavior.freeze) {
15452
15476
  this.frozen = true;
15453
15477
  }
15454
15478
  }
15455
- } else if (this.item.endBehavior !== ItemEndBehavior$1.loop) {
15456
- if (END_BEHAVIOR_DESTROY$1 === this.item.endBehavior) {
15479
+ } else if (this.item.endBehavior !== ItemEndBehavior.loop) {
15480
+ if (ItemEndBehavior.destroy === this.item.endBehavior) {
15457
15481
  const node = link.last;
15458
15482
  if (node && node.content[0] < this.lastUpdate) {
15459
15483
  this.destoryed = true;
@@ -15819,7 +15843,7 @@ class ParticleSystem extends Component {
15819
15843
  0
15820
15844
  ],
15821
15845
  curve: createValueGetter(positionOverLifetime.forceCurve || [
15822
- ValueType$1.LINE,
15846
+ ValueType.LINE,
15823
15847
  [
15824
15848
  [
15825
15849
  0,
@@ -15905,11 +15929,11 @@ class ParticleSystem extends Component {
15905
15929
  name: this.name,
15906
15930
  matrix: Matrix4.IDENTITY,
15907
15931
  shaderCachePrefix,
15908
- renderMode: renderer.renderMode || RenderMode$1.BILLBOARD,
15909
- side: renderer.side || SideMode$1.DOUBLE,
15932
+ renderMode: renderer.renderMode || RenderMode.BILLBOARD,
15933
+ side: renderer.side || SideMode.DOUBLE,
15910
15934
  gravity,
15911
15935
  // duration: vfxItem.duration,
15912
- blending: renderer.blending || BlendingMode$1.ALPHA,
15936
+ blending: renderer.blending || BlendingMode.ALPHA,
15913
15937
  rotationOverLifetime,
15914
15938
  gravityModifier: this.options.gravityModifier,
15915
15939
  linearVelOverLifetime: this.options.linearVelOverLifetime,
@@ -15920,7 +15944,7 @@ class ParticleSystem extends Component {
15920
15944
  transparentOcclusion: !!renderer.transparentOcclusion,
15921
15945
  maxCount: options.maxCount,
15922
15946
  mask: renderer.mask,
15923
- maskMode: (_renderer_maskMode = renderer.maskMode) != null ? _renderer_maskMode : MaskMode$1.NONE,
15947
+ maskMode: (_renderer_maskMode = renderer.maskMode) != null ? _renderer_maskMode : MaskMode.NONE,
15924
15948
  forceTarget,
15925
15949
  diffuse: renderer.texture,
15926
15950
  sizeOverLifetime: sizeOverLifetimeGetter,
@@ -15933,9 +15957,9 @@ class ParticleSystem extends Component {
15933
15957
  particleMeshProps.colorOverLifetime.opacity = createValueGetter(colorOverLifetime.opacity);
15934
15958
  }
15935
15959
  if (color) {
15936
- if (color[0] === ValueType$1.GRADIENT_COLOR) {
15960
+ if (color[0] === ValueType.GRADIENT_COLOR) {
15937
15961
  particleMeshProps.colorOverLifetime.color = colorOverLifetime.color[1];
15938
- } else if (color[0] === ValueType$1.RGBA_COLOR) {
15962
+ } else if (color[0] === ValueType.RGBA_COLOR) {
15939
15963
  particleMeshProps.colorOverLifetime.color = Texture.createWithData(this.engine, {
15940
15964
  data: new Uint8Array(color[1]),
15941
15965
  width: 1,
@@ -16020,10 +16044,10 @@ class ParticleSystem extends Component {
16020
16044
  mask: renderer.mask,
16021
16045
  maskMode: renderer.maskMode
16022
16046
  };
16023
- if (trails.colorOverLifetime && trails.colorOverLifetime[0] === ValueType$1.GRADIENT_COLOR) {
16047
+ if (trails.colorOverLifetime && trails.colorOverLifetime[0] === ValueType.GRADIENT_COLOR) {
16024
16048
  trailMeshProps.colorOverLifetime = trails.colorOverLifetime[1];
16025
16049
  }
16026
- if (trails.colorOverTrail && trails.colorOverTrail[0] === ValueType$1.GRADIENT_COLOR) {
16050
+ if (trails.colorOverTrail && trails.colorOverTrail[0] === ValueType.GRADIENT_COLOR) {
16027
16051
  trailMeshProps.colorOverTrail = trails.colorOverTrail[1];
16028
16052
  }
16029
16053
  }
@@ -16058,7 +16082,7 @@ class ParticleSystem extends Component {
16058
16082
  collect: (ray)=>this.raycast({
16059
16083
  radius: (interactParams == null ? void 0 : interactParams.radius) || 0.4,
16060
16084
  multiple: !!(interactParams == null ? void 0 : interactParams.multiple),
16061
- removeParticle: (interactParams == null ? void 0 : interactParams.behavior) === ParticleInteractionBehavior$1.removeParticle,
16085
+ removeParticle: (interactParams == null ? void 0 : interactParams.behavior) === ParticleInteractionBehavior.removeParticle,
16062
16086
  ray
16063
16087
  })
16064
16088
  };
@@ -16070,7 +16094,7 @@ class ParticleSystem extends Component {
16070
16094
  }
16071
16095
  }
16072
16096
  ParticleSystem = __decorate([
16073
- effectsClass(DataType$1.ParticleSystem)
16097
+ effectsClass(DataType.ParticleSystem)
16074
16098
  ], ParticleSystem);
16075
16099
  // array performance better for small memory than Float32Array
16076
16100
  const tempDir = new Vector3();
@@ -17128,13 +17152,13 @@ class TextLayout {
17128
17152
  let offsetY = 0;
17129
17153
  const offset = (style.fontSize + style.outlineWidth) * style.fontScale;
17130
17154
  switch(this.textBaseline){
17131
- case TextBaseline$1.top:
17155
+ case TextBaseline.top:
17132
17156
  offsetY = offset;
17133
17157
  break;
17134
- case TextBaseline$1.middle:
17158
+ case TextBaseline.middle:
17135
17159
  offsetY = (this.height + offset) / 2; // fonSize;
17136
17160
  break;
17137
- case TextBaseline$1.bottom:
17161
+ case TextBaseline.bottom:
17138
17162
  offsetY = this.height - offset / 2;
17139
17163
  break;
17140
17164
  }
@@ -17143,13 +17167,13 @@ class TextLayout {
17143
17167
  getOffsetX(style, maxWidth) {
17144
17168
  let offsetX = 0;
17145
17169
  switch(this.textAlign){
17146
- case TextAlignment$1.left:
17170
+ case TextAlignment.left:
17147
17171
  offsetX = style.outlineWidth * style.fontScale;
17148
17172
  break;
17149
- case TextAlignment$1.middle:
17173
+ case TextAlignment.middle:
17150
17174
  offsetX = (this.width * style.fontScale - maxWidth) / 2;
17151
17175
  break;
17152
- case TextAlignment$1.right:
17176
+ case TextAlignment.right:
17153
17177
  offsetX = this.width * style.fontScale - maxWidth;
17154
17178
  break;
17155
17179
  }
@@ -17166,7 +17190,7 @@ class TextLayout {
17166
17190
  constructor(options){
17167
17191
  this.width = 0;
17168
17192
  this.height = 0;
17169
- const { textHeight = 100, textWidth = 100, textOverflow = TextOverflow$1.display, textBaseline = TextBaseline$1.top, textAlign = TextAlignment$1.left, text, letterSpace = 0, autoWidth = false, fontSize, lineHeight = fontSize } = options;
17193
+ const { textHeight = 100, textWidth = 100, textOverflow = TextOverflow.display, textBaseline = TextBaseline.top, textAlign = TextAlignment.left, text, letterSpace = 0, autoWidth = false, fontSize, lineHeight = fontSize } = options;
17170
17194
  const tempWidth = fontSize + letterSpace;
17171
17195
  this.autoWidth = autoWidth;
17172
17196
  this.maxTextWidth = text.length * tempWidth;
@@ -17262,7 +17286,7 @@ class TextStyle {
17262
17286
  var _shadow_shadowOffsetY;
17263
17287
  this.shadowOffsetY = (_shadow_shadowOffsetY = shadow.shadowOffsetY) != null ? _shadow_shadowOffsetY : 0;
17264
17288
  }
17265
- if (this.fontStyle !== FontStyle$1.normal) {
17289
+ if (this.fontStyle !== FontStyle.normal) {
17266
17290
  // 0.0174532925 = 3.141592653 / 180
17267
17291
  this.fontOffset += this.fontSize * Math.tan(12 * 0.0174532925);
17268
17292
  }
@@ -17600,10 +17624,10 @@ class TextComponent extends SpriteComponent {
17600
17624
  } else {
17601
17625
  fontDesc += textStyle.fontFamily;
17602
17626
  }
17603
- if (textStyle.textWeight !== TextWeight$1.normal) {
17627
+ if (textStyle.textWeight !== TextWeight.normal) {
17604
17628
  fontDesc = `${textStyle.textWeight} ${fontDesc}`;
17605
17629
  }
17606
- if (textStyle.fontStyle !== FontStyle$1.normal) {
17630
+ if (textStyle.fontStyle !== FontStyle.normal) {
17607
17631
  fontDesc = `${textStyle.fontStyle} ${fontDesc}`;
17608
17632
  }
17609
17633
  return fontDesc;
@@ -17642,7 +17666,7 @@ class TextComponent extends SpriteComponent {
17642
17666
  }
17643
17667
  }
17644
17668
  TextComponent = __decorate([
17645
- effectsClass(DataType$1.TextComponent)
17669
+ effectsClass(DataType.TextComponent)
17646
17670
  ], TextComponent);
17647
17671
 
17648
17672
  // TODO: 注册必须用
@@ -17765,7 +17789,7 @@ __decorate([
17765
17789
  serialize()
17766
17790
  ], EffectComponent.prototype, "geometry", void 0);
17767
17791
  EffectComponent = __decorate([
17768
- effectsClass(DataType$1.EffectComponent)
17792
+ effectsClass(DataType.EffectComponent)
17769
17793
  ], EffectComponent);
17770
17794
  function geometryToTriangles(geometry) {
17771
17795
  const indices = geometry.getIndexData();
@@ -17801,22 +17825,22 @@ function geometryToTriangles(geometry) {
17801
17825
 
17802
17826
  class VFXItem extends EffectsObject {
17803
17827
  static isComposition(item) {
17804
- return item.type === ItemType$1.composition;
17828
+ return item.type === ItemType.composition;
17805
17829
  }
17806
17830
  static isSprite(item) {
17807
- return item.type === ItemType$1.sprite;
17831
+ return item.type === ItemType.sprite;
17808
17832
  }
17809
17833
  static isParticle(item) {
17810
- return item.type === ItemType$1.particle;
17834
+ return item.type === ItemType.particle;
17811
17835
  }
17812
17836
  static isNull(item) {
17813
- return item.type === ItemType$1.null;
17837
+ return item.type === ItemType.null;
17814
17838
  }
17815
17839
  static isTree(item) {
17816
- return item.type === ItemType$1.tree;
17840
+ return item.type === ItemType.tree;
17817
17841
  }
17818
17842
  static isCamera(item) {
17819
- return item.type === ItemType$1.camera;
17843
+ return item.type === ItemType.camera;
17820
17844
  }
17821
17845
  static isExtraCamera(item) {
17822
17846
  return item.id === 'extra-camera' && item.name === 'extra-camera';
@@ -18068,10 +18092,15 @@ class VFXItem extends EffectsObject {
18068
18092
  if (transform) {
18069
18093
  //@ts-expect-error TODO 数据改造后移除 expect-error
18070
18094
  transform.position = new Vector3().copyFrom(transform.position);
18071
- var _transform_eulerHint;
18072
18095
  // FIXME: transform.rotation待删除
18073
- //@ts-expect-error
18074
- transform.rotation = new Euler().copyFrom((_transform_eulerHint = transform.eulerHint) != null ? _transform_eulerHint : transform.rotation);
18096
+ if (transform.quat) {
18097
+ //@ts-expect-error
18098
+ transform.quat = new Quaternion(transform.quat.x, transform.quat.y, transform.quat.z, transform.quat.w);
18099
+ } else {
18100
+ var _transform_eulerHint;
18101
+ //@ts-expect-error
18102
+ transform.rotation = new Euler().copyFrom((_transform_eulerHint = transform.eulerHint) != null ? _transform_eulerHint : transform.rotation);
18103
+ }
18075
18104
  //@ts-expect-error
18076
18105
  transform.scale = new Vector3().copyFrom(transform.scale);
18077
18106
  //@ts-expect-error
@@ -18121,7 +18150,7 @@ class VFXItem extends EffectsObject {
18121
18150
  var _this_parent;
18122
18151
  this.taggedProperties.id = this.guid;
18123
18152
  this.taggedProperties.transform = this.transform.toData();
18124
- this.taggedProperties.dataType = DataType$1.VFXItemData;
18153
+ this.taggedProperties.dataType = DataType.VFXItemData;
18125
18154
  if (((_this_parent = this.parent) == null ? void 0 : _this_parent.name) !== 'rootItem') {
18126
18155
  var _this_parent1;
18127
18156
  this.taggedProperties.parentId = (_this_parent1 = this.parent) == null ? void 0 : _this_parent1.guid;
@@ -18204,7 +18233,7 @@ class VFXItem extends EffectsObject {
18204
18233
  */ this.delaying = true;
18205
18234
  /**
18206
18235
  * 元素动画的速度
18207
- */ this.type = ItemType$1.base;
18236
+ */ this.type = ItemType.base;
18208
18237
  this.stopped = false;
18209
18238
  this.components = [];
18210
18239
  this.itemBehaviours = [];
@@ -18229,7 +18258,7 @@ class VFXItem extends EffectsObject {
18229
18258
  }
18230
18259
  }
18231
18260
  VFXItem = __decorate([
18232
- effectsClass(DataType$1.VFXItemData)
18261
+ effectsClass(DataType.VFXItemData)
18233
18262
  ], VFXItem);
18234
18263
  exports.Item = void 0;
18235
18264
  (function(Item) {
@@ -18238,15 +18267,15 @@ exports.Item = void 0;
18238
18267
  }
18239
18268
  Item.is = is;
18240
18269
  function isComposition(item) {
18241
- return item.type === ItemType$1.composition;
18270
+ return item.type === ItemType.composition;
18242
18271
  }
18243
18272
  Item.isComposition = isComposition;
18244
18273
  function isParticle(item) {
18245
- return item.type === ItemType$1.particle;
18274
+ return item.type === ItemType.particle;
18246
18275
  }
18247
18276
  Item.isParticle = isParticle;
18248
18277
  function isNull(item) {
18249
- return item.type === ItemType$1.null;
18278
+ return item.type === ItemType.null;
18250
18279
  }
18251
18280
  Item.isNull = isNull;
18252
18281
  })(exports.Item || (exports.Item = {}));
@@ -18259,25 +18288,25 @@ exports.Item = void 0;
18259
18288
  let { pluginName } = props;
18260
18289
  if (!pluginName) {
18261
18290
  switch(type){
18262
- case ItemType$1.null:
18291
+ case ItemType.null:
18263
18292
  pluginName = 'cal';
18264
18293
  break;
18265
- case ItemType$1.sprite:
18294
+ case ItemType.sprite:
18266
18295
  pluginName = 'sprite';
18267
18296
  break;
18268
- case ItemType$1.particle:
18297
+ case ItemType.particle:
18269
18298
  pluginName = 'particle';
18270
18299
  break;
18271
- case ItemType$1.interact:
18300
+ case ItemType.interact:
18272
18301
  pluginName = 'interact';
18273
18302
  break;
18274
- case ItemType$1.camera:
18303
+ case ItemType.camera:
18275
18304
  pluginName = 'camera';
18276
18305
  break;
18277
- case ItemType$1.text:
18306
+ case ItemType.text:
18278
18307
  pluginName = 'text';
18279
18308
  break;
18280
- case ItemType$1.tree:
18309
+ case ItemType.tree:
18281
18310
  pluginName = 'tree';
18282
18311
  break;
18283
18312
  default:
@@ -18406,809 +18435,95 @@ function getPluginUsageInfo(name) {
18406
18435
  }
18407
18436
  }
18408
18437
 
18409
- /*!
18410
- * Name: @galacean/effects-specification
18411
- * Description: Galacean Effects JSON Specification
18412
- * Author: Ant Group CO., Ltd.
18413
- * Version: v2.0.0-alpha.9
18414
- */ /******************************************************************************
18415
- Copyright (c) Microsoft Corporation.
18416
-
18417
- Permission to use, copy, modify, and/or distribute this software for any
18418
- purpose with or without fee is hereby granted.
18419
-
18420
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
18421
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
18422
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
18423
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
18424
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18425
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
18426
- PERFORMANCE OF THIS SOFTWARE.
18427
- ***************************************************************************** */ var __assign = function() {
18428
- __assign = Object.assign || function __assign(t) {
18429
- for(var s, i = 1, n = arguments.length; i < n; i++){
18430
- s = arguments[i];
18431
- for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
18438
+ function arrAdd(arr, item) {
18439
+ if (!arr.includes(item)) {
18440
+ arr.push(item);
18441
+ return true;
18442
+ }
18443
+ }
18444
+ function ensureFixedNumber(a) {
18445
+ if (Number.isFinite(a)) {
18446
+ return [
18447
+ ValueType.CONSTANT,
18448
+ a
18449
+ ];
18450
+ }
18451
+ if (a) {
18452
+ const valueType = a[0];
18453
+ const valueData = a[1];
18454
+ if (Array.isArray(valueType)) {
18455
+ // 没有数据类型的数据
18456
+ return;
18432
18457
  }
18433
- return t;
18434
- };
18435
- return __assign.apply(this, arguments);
18436
- };
18437
- function __values(o) {
18438
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
18439
- if (m) return m.call(o);
18440
- if (o && typeof o.length === "number") return {
18441
- next: function() {
18442
- if (o && i >= o.length) o = void 0;
18443
- return {
18444
- value: o && o[i++],
18445
- done: !o
18446
- };
18458
+ if (valueType === 'static' || valueType === ValueType.CONSTANT) {
18459
+ return [
18460
+ ValueType.CONSTANT,
18461
+ a[1]
18462
+ ];
18447
18463
  }
18448
- };
18449
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
18450
- }
18451
- function __read(o, n) {
18452
- var m = typeof Symbol === "function" && o[Symbol.iterator];
18453
- if (!m) return o;
18454
- var i = m.call(o), r, ar = [], e;
18455
- try {
18456
- while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value);
18457
- } catch (error) {
18458
- e = {
18459
- error: error
18460
- };
18461
- } finally{
18462
- try {
18463
- if (r && !r.done && (m = i["return"])) m.call(i);
18464
- } finally{
18465
- if (e) throw e.error;
18464
+ if (valueType === 'lines') {
18465
+ return [
18466
+ ValueType.LINE,
18467
+ a[1]
18468
+ ];
18469
+ }
18470
+ if (valueType === ValueType.LINE) {
18471
+ // @ts-expect-error
18472
+ const keyframes = valueData.map((data)=>[
18473
+ BezierKeyframeType.LINE,
18474
+ data
18475
+ ]);
18476
+ return [
18477
+ ValueType.BEZIER_CURVE,
18478
+ keyframes
18479
+ ];
18480
+ }
18481
+ if (valueType === 'curve' || valueType === ValueType.CURVE) {
18482
+ return [
18483
+ ValueType.BEZIER_CURVE,
18484
+ getBezierCurveFromHermiteInGE(valueData)
18485
+ ];
18466
18486
  }
18487
+ return a;
18467
18488
  }
18468
- return ar;
18469
18489
  }
18470
- function __spreadArray(to, from, pack) {
18471
- if (pack || arguments.length === 2) for(var i = 0, l = from.length, ar; i < l; i++){
18472
- if (ar || !(i in from)) {
18473
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
18474
- ar[i] = from[i];
18475
- }
18490
+ function ensureFixedNumberWithRandom(a, p) {
18491
+ if (Array.isArray(a) && a[0] === 'random') {
18492
+ return [
18493
+ ValueType.CONSTANT,
18494
+ a[1][p]
18495
+ ];
18476
18496
  }
18477
- return to.concat(ar || Array.prototype.slice.call(from));
18497
+ return ensureFixedNumber(a);
18478
18498
  }
18479
- typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
18480
- var e = new Error(message);
18481
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
18482
- };
18483
- const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
18484
- var native = {
18485
- randomUUID
18486
- };
18487
- // Unique ID creation requires a high quality random # generator. In the browser we therefore
18488
- // require the crypto API and do not support built-in fallback to lower quality random number
18489
- // generators (like Math.random()).
18490
- let getRandomValues;
18491
- const rnds8 = new Uint8Array(16);
18492
- function rng() {
18493
- // lazy load so that environments that need to polyfill have a chance to do so
18494
- if (!getRandomValues) {
18495
- // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
18496
- getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
18497
- if (!getRandomValues) {
18498
- throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
18499
- }
18499
+ function ensureRGBAValue(a) {
18500
+ if (a && a[0] === 'color') {
18501
+ return colorToArr(a[1], true);
18500
18502
  }
18501
- return getRandomValues(rnds8);
18503
+ return [
18504
+ 1,
18505
+ 1,
18506
+ 1,
18507
+ 1
18508
+ ];
18502
18509
  }
18503
- /**
18504
- * Convert array of 16 byte values to UUID string format of the form:
18505
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
18506
- */ const byteToHex = [];
18507
- for(let i = 0; i < 256; ++i){
18508
- byteToHex.push((i + 0x100).toString(16).slice(1));
18509
- }
18510
- function unsafeStringify(arr, offset = 0) {
18511
- // Note: Be careful editing this code! It's been tuned for performance
18512
- // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
18513
- return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
18514
- }
18515
- function v4(options, buf, offset) {
18516
- if (native.randomUUID && !buf && !options) {
18517
- return native.randomUUID();
18518
- }
18519
- options = options || {};
18520
- const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
18521
- rnds[6] = rnds[6] & 0x0f | 0x40;
18522
- rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
18523
- if (buf) {
18524
- offset = offset || 0;
18525
- for(let i = 0; i < 16; ++i){
18526
- buf[offset + i] = rnds[i];
18527
- }
18528
- return buf;
18529
- }
18530
- return unsafeStringify(rnds);
18531
- }
18532
- /*********************************************/ /* 元素属性参数类型 */ /*********************************************/ /**
18533
- * 渲染等级
18534
- */ var RenderLevel;
18535
- (function(RenderLevel) {
18536
- RenderLevel["S"] = "S";
18537
- RenderLevel["APlus"] = "A+";
18538
- RenderLevel["A"] = "A";
18539
- RenderLevel["BPlus"] = "B+";
18540
- RenderLevel["B"] = "B";
18541
- })(RenderLevel || (RenderLevel = {}));
18542
- /**
18543
- * 混合模式
18544
- */ var BlendingMode;
18545
- (function(BlendingMode) {
18546
- /**
18547
- * 普通混合模式
18548
- */ BlendingMode[BlendingMode["ALPHA"] = 0] = "ALPHA";
18549
- /**
18550
- * 叠加混合模式
18551
- */ BlendingMode[BlendingMode["ADD"] = 1] = "ADD";
18552
- /**
18553
- * 相乘混合模式
18554
- */ BlendingMode[BlendingMode["MULTIPLY"] = 2] = "MULTIPLY";
18555
- /**
18556
- * 亮度混合模式
18557
- */ BlendingMode[BlendingMode["BRIGHTNESS"] = 3] = "BRIGHTNESS";
18558
- /**
18559
- * 减色混合模式
18560
- */ BlendingMode[BlendingMode["SUBTRACTION"] = 4] = "SUBTRACTION";
18561
- /**
18562
- * 强光混合模式
18563
- */ BlendingMode[BlendingMode["STRONG_LIGHT"] = 5] = "STRONG_LIGHT";
18564
- /**
18565
- * 弱光混合模式
18566
- */ BlendingMode[BlendingMode["WEAK_LIGHT"] = 6] = "WEAK_LIGHT";
18567
- /**
18568
- * 亮度叠加混合模式
18569
- */ BlendingMode[BlendingMode["SUPERPOSITION"] = 7] = "SUPERPOSITION";
18570
- })(BlendingMode || (BlendingMode = {}));
18571
- /**
18572
- * 单双面模式
18573
- */ var SideMode;
18574
- (function(SideMode) {
18575
- /**
18576
- * 双面模式
18577
- */ SideMode[SideMode["DOUBLE"] = 1032] = "DOUBLE";
18578
- /**
18579
- * 正面模式
18580
- */ SideMode[SideMode["FRONT"] = 1028] = "FRONT";
18581
- /**
18582
- * 背面模式
18583
- */ SideMode[SideMode["BACK"] = 1029] = "BACK";
18584
- })(SideMode || (SideMode = {}));
18585
- /**
18586
- * 蒙版模式
18587
- */ var MaskMode;
18588
- (function(MaskMode) {
18589
- /**
18590
- * 无蒙版
18591
- */ MaskMode[MaskMode["NONE"] = 0] = "NONE";
18592
- /**
18593
- * 蒙版
18594
- */ MaskMode[MaskMode["MASK"] = 1] = "MASK";
18595
- /**
18596
- * 被遮挡
18597
- */ MaskMode[MaskMode["OBSCURED"] = 2] = "OBSCURED";
18598
- /**
18599
- * 被反向遮挡
18600
- */ MaskMode[MaskMode["REVERSE_OBSCURED"] = 3] = "REVERSE_OBSCURED";
18601
- })(MaskMode || (MaskMode = {}));
18602
- /**
18603
- * 发射器形状
18604
- */ var ShapeType;
18605
- (function(ShapeType) {
18606
- /**
18607
- * 没有类型
18608
- */ ShapeType[ShapeType["NONE"] = 0] = "NONE";
18609
- /**
18610
- * 圆球
18611
- */ ShapeType[ShapeType["SPHERE"] = 1] = "SPHERE";
18612
- /**
18613
- * 圆锥
18614
- */ ShapeType[ShapeType["CONE"] = 2] = "CONE";
18615
- /**
18616
- * 半球
18617
- */ ShapeType[ShapeType["HEMISPHERE"] = 3] = "HEMISPHERE";
18618
- /**
18619
- * 圆
18620
- */ ShapeType[ShapeType["CIRCLE"] = 4] = "CIRCLE";
18621
- /**
18622
- * 圆环
18623
- */ ShapeType[ShapeType["DONUT"] = 5] = "DONUT";
18624
- /**
18625
- * 矩形
18626
- */ ShapeType[ShapeType["RECTANGLE"] = 6] = "RECTANGLE";
18627
- /**
18628
- * 矩形框
18629
- */ ShapeType[ShapeType["RECTANGLE_EDGE"] = 7] = "RECTANGLE_EDGE";
18630
- /**
18631
- * 直线
18632
- */ ShapeType[ShapeType["EDGE"] = 8] = "EDGE";
18633
- /**
18634
- * 贴图
18635
- */ ShapeType[ShapeType["TEXTURE"] = 9] = "TEXTURE";
18636
- })(ShapeType || (ShapeType = {}));
18637
- /**
18638
- * 插件类型
18639
- */ var PluginType;
18640
- (function(PluginType) {
18641
- /**
18642
- * 陀螺仪
18643
- */ PluginType[PluginType["GYROSCOPE"] = 0] = "GYROSCOPE";
18644
- /**
18645
- * Spine
18646
- */ PluginType[PluginType["SPINE"] = 1] = "SPINE";
18647
- })(PluginType || (PluginType = {}));
18648
- /**
18649
- * 交互类型
18650
- */ var InteractType;
18651
- (function(InteractType) {
18652
- /**
18653
- * 点击
18654
- */ InteractType[InteractType["CLICK"] = 0] = "CLICK";
18655
- /**
18656
- * 消息
18657
- * 前端收到 onMessageItem 回调
18658
- */ InteractType[InteractType["MESSAGE"] = 1] = "MESSAGE";
18659
- /**
18660
- * 拖拽
18661
- */ InteractType[InteractType["DRAG"] = 2] = "DRAG";
18662
- })(InteractType || (InteractType = {}));
18663
- /**
18664
- * 交互行为
18665
- */ var InteractBehavior;
18666
- (function(InteractBehavior) {
18667
- /**
18668
- * 无
18669
- */ InteractBehavior[InteractBehavior["NONE"] = 0] = "NONE";
18670
- /**
18671
- * 通知
18672
- */ InteractBehavior[InteractBehavior["NOTIFY"] = 1] = "NOTIFY";
18673
- /**
18674
- * 重置播放器
18675
- */ InteractBehavior[InteractBehavior["RESUME_PLAYER"] = 2] = "RESUME_PLAYER";
18676
- /**
18677
- * 清除元素
18678
- */ InteractBehavior[InteractBehavior["REMOVE"] = 3] = "REMOVE";
18679
- /**
18680
- * 暂停播放器
18681
- */ InteractBehavior[InteractBehavior["PAUSE"] = 4] = "PAUSE";
18682
- })(InteractBehavior || (InteractBehavior = {}));
18683
- /**
18684
- * 元素类型
18685
- */ var ItemType;
18686
- (function(ItemType) {
18687
- /**
18688
- * 错误元素
18689
- */ ItemType["base"] = "0";
18690
- /**
18691
- * 图层元素
18692
- */ ItemType["sprite"] = "1";
18693
- /**
18694
- * 粒子元素
18695
- */ ItemType["particle"] = "2";
18696
- /**
18697
- * 空节点元素
18698
- */ ItemType["null"] = "3";
18699
- /**
18700
- * 交互元素
18701
- */ ItemType["interact"] = "4";
18702
- /**
18703
- * 插件元素
18704
- */ ItemType["plugin"] = "5";
18705
- /**
18706
- * 相机元素
18707
- */ ItemType["camera"] = "6";
18708
- /**
18709
- * 预合成元素
18710
- */ ItemType["composition"] = "7";
18711
- /**
18712
- * Spine 元素
18713
- */ ItemType["spine"] = "spine";
18714
- /**
18715
- * Mesh 元素
18716
- */ ItemType["mesh"] = "mesh";
18717
- /**
18718
- * 节点树元素
18719
- */ ItemType["tree"] = "tree";
18720
- /**
18721
- * 文本元素
18722
- */ ItemType["text"] = "text";
18723
- /**
18724
- * 灯光元素
18725
- */ ItemType["light"] = "light";
18726
- /**
18727
- * 天空盒元素
18728
- */ ItemType["skybox"] = "skybox";
18729
- /**
18730
- * 特效元素
18731
- */ ItemType["effect"] = "effect";
18732
- })(ItemType || (ItemType = {}));
18733
- /**
18734
- * 渲染模式
18735
- */ var RenderMode;
18736
- (function(RenderMode) {
18737
- /**
18738
- * 广告牌模式
18739
- */ RenderMode[RenderMode["BILLBOARD"] = 0] = "BILLBOARD";
18740
- /**
18741
- * 网格模式
18742
- */ RenderMode[RenderMode["MESH"] = 1] = "MESH";
18743
- /**
18744
- * 垂直广告牌模式
18745
- */ RenderMode[RenderMode["VERTICAL_BILLBOARD"] = 2] = "VERTICAL_BILLBOARD";
18746
- /**
18747
- * 水平广告牌模式
18748
- */ RenderMode[RenderMode["HORIZONTAL_BILLBOARD"] = 3] = "HORIZONTAL_BILLBOARD";
18749
- })(RenderMode || (RenderMode = {}));
18750
- /**
18751
- * 变换中心
18752
- */ var ParticleOrigin;
18753
- (function(ParticleOrigin) {
18754
- /**
18755
- * 水平和垂直中点
18756
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_CENTER"] = 0] = "PARTICLE_ORIGIN_CENTER";
18757
- /**
18758
- * 水平左侧 垂直顶部
18759
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_LEFT_TOP"] = 1] = "PARTICLE_ORIGIN_LEFT_TOP";
18760
- /**
18761
- * 水平左侧 垂直中间
18762
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_LEFT_CENTER"] = 2] = "PARTICLE_ORIGIN_LEFT_CENTER";
18763
- /**
18764
- * 水平左侧 垂直底部
18765
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_LEFT_BOTTOM"] = 3] = "PARTICLE_ORIGIN_LEFT_BOTTOM";
18766
- /**
18767
- * 水平中间 垂直顶部
18768
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_CENTER_TOP"] = 4] = "PARTICLE_ORIGIN_CENTER_TOP";
18769
- /**
18770
- * 水平中间 垂直底部
18771
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_CENTER_BOTTOM"] = 5] = "PARTICLE_ORIGIN_CENTER_BOTTOM";
18772
- /**
18773
- * 水平右侧 垂直顶部
18774
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_RIGHT_TOP"] = 6] = "PARTICLE_ORIGIN_RIGHT_TOP";
18775
- /**
18776
- * 水平右侧 垂直中间
18777
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_RIGHT_CENTER"] = 7] = "PARTICLE_ORIGIN_RIGHT_CENTER";
18778
- /**
18779
- * 水平右侧 垂直底部
18780
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_RIGHT_BOTTOM"] = 8] = "PARTICLE_ORIGIN_RIGHT_BOTTOM";
18781
- })(ParticleOrigin || (ParticleOrigin = {}));
18782
- var END_BEHAVIOR_DESTROY = 0;
18783
- var END_BEHAVIOR_PAUSE = 1;
18784
- var END_BEHAVIOR_FORWARD = 2;
18785
- var END_BEHAVIOR_PAUSE_AND_DESTROY = 3;
18786
- var END_BEHAVIOR_FREEZE = 4;
18787
- var END_BEHAVIOR_RESTART = 5;
18788
- var END_BEHAVIOR_DESTROY_CHILDREN = 6;
18789
- var CAMERA_CLIP_MODE_VERTICAL = 1;
18790
- var CAMERA_CLIP_MODE_NORMAL = 0;
18791
- var CameraClipMode;
18792
- (function(CameraClipMode) {
18793
- /**
18794
- * 剪裁上下
18795
- */ CameraClipMode[CameraClipMode["portrait"] = CAMERA_CLIP_MODE_VERTICAL] = "portrait";
18796
- /**
18797
- * 剪裁左右
18798
- */ CameraClipMode[CameraClipMode["landscape"] = CAMERA_CLIP_MODE_NORMAL] = "landscape";
18799
- })(CameraClipMode || (CameraClipMode = {}));
18800
- /**
18801
- * 结束行为
18802
- */ var CompositionEndBehavior;
18803
- (function(CompositionEndBehavior) {
18804
- /**
18805
- * 销毁
18806
- */ CompositionEndBehavior[CompositionEndBehavior["destroy"] = END_BEHAVIOR_DESTROY] = "destroy";
18807
- /**
18808
- * 暂停
18809
- */ CompositionEndBehavior[CompositionEndBehavior["pause"] = END_BEHAVIOR_PAUSE] = "pause";
18810
- /**
18811
- * 重播
18812
- */ CompositionEndBehavior[CompositionEndBehavior["restart"] = END_BEHAVIOR_RESTART] = "restart";
18813
- /**
18814
- * 无限播放
18815
- */ CompositionEndBehavior[CompositionEndBehavior["forward"] = END_BEHAVIOR_FORWARD] = "forward";
18816
- /**
18817
- * 销毁并保留最后一帧
18818
- */ CompositionEndBehavior[CompositionEndBehavior["pause_destroy"] = END_BEHAVIOR_PAUSE_AND_DESTROY] = "pause_destroy";
18819
- /**
18820
- * 冻结
18821
- */ CompositionEndBehavior[CompositionEndBehavior["freeze"] = END_BEHAVIOR_FREEZE] = "freeze";
18822
- })(CompositionEndBehavior || (CompositionEndBehavior = {}));
18823
- /**
18824
- * 动态换图类型
18825
- * @since 1.1.0
18826
- */ var BackgroundType;
18827
- (function(BackgroundType) {
18828
- BackgroundType["video"] = "video";
18829
- BackgroundType["image"] = "image";
18830
- })(BackgroundType || (BackgroundType = {}));
18831
- /*********************************************/ /* 基本数值属性参数 */ /*********************************************/ var ValueType;
18832
- (function(ValueType) {
18833
- /**
18834
- * 常数
18835
- */ ValueType[ValueType["CONSTANT"] = 0] = "CONSTANT";
18836
- /**
18837
- * 二维常数向量
18838
- */ ValueType[ValueType["CONSTANT_VEC2"] = 1] = "CONSTANT_VEC2";
18839
- /**
18840
- * 三维常数向量
18841
- */ ValueType[ValueType["CONSTANT_VEC3"] = 2] = "CONSTANT_VEC3";
18842
- /**
18843
- * 四维常数向量
18844
- */ ValueType[ValueType["CONSTANT_VEC4"] = 3] = "CONSTANT_VEC4";
18845
- /**
18846
- * 随机数
18847
- */ ValueType[ValueType["RANDOM"] = 4] = "RANDOM";
18848
- /**
18849
- * 直线
18850
- */ ValueType[ValueType["LINE"] = 5] = "LINE";
18851
- /**
18852
- * 曲线
18853
- */ ValueType[ValueType["CURVE"] = 6] = "CURVE";
18854
- /**
18855
- * 贝塞尔路径
18856
- */ ValueType[ValueType["BEZIER_PATH"] = 7] = "BEZIER_PATH";
18857
- /**
18858
- * 颜色
18859
- */ ValueType[ValueType["RGBA_COLOR"] = 8] = "RGBA_COLOR";
18860
- /**
18861
- * 渐变色
18862
- */ ValueType[ValueType["GRADIENT_COLOR"] = 9] = "GRADIENT_COLOR";
18863
- /**
18864
- * 蒙版形状点集
18865
- */ ValueType[ValueType["SHAPE_POINTS"] = 10] = "SHAPE_POINTS";
18866
- /**
18867
- * 蒙版形状切分
18868
- */ ValueType[ValueType["SHAPE_SPLITS"] = 11] = "SHAPE_SPLITS";
18869
- /**
18870
- *直线路径
18871
- */ ValueType[ValueType["LINEAR_PATH"] = 12] = "LINEAR_PATH";
18872
- /**
18873
- * 多色
18874
- */ ValueType[ValueType["COLORS"] = 13] = "COLORS";
18875
- /**
18876
- * 二进制指针
18877
- */ ValueType[ValueType["BINARY"] = 20] = "BINARY";
18878
- /**
18879
- * 贝塞尔曲线
18880
- */ ValueType[ValueType["BEZIER_CURVE"] = 21] = "BEZIER_CURVE";
18881
- /**
18882
- * 贝塞尔曲线路径
18883
- */ ValueType[ValueType["BEZIER_CURVE_PATH"] = 22] = "BEZIER_CURVE_PATH";
18884
- })(ValueType || (ValueType = {}));
18885
- /**
18886
- * 关键帧类型
18887
- */ var BezierKeyframeType;
18888
- (function(BezierKeyframeType) {
18889
- BezierKeyframeType[BezierKeyframeType["AUTO"] = 0] = "AUTO";
18890
- BezierKeyframeType[BezierKeyframeType["EASE"] = 1] = "EASE";
18891
- BezierKeyframeType[BezierKeyframeType["EASE_IN"] = 2] = "EASE_IN";
18892
- BezierKeyframeType[BezierKeyframeType["EASE_OUT"] = 3] = "EASE_OUT";
18893
- BezierKeyframeType[BezierKeyframeType["LINE"] = 4] = "LINE";
18894
- BezierKeyframeType[BezierKeyframeType["HOLD"] = 5] = "HOLD";
18895
- BezierKeyframeType[BezierKeyframeType["LINE_OUT"] = 6] = "LINE_OUT";
18896
- })(BezierKeyframeType || (BezierKeyframeType = {}));
18897
- var ItemEndBehavior;
18898
- (function(ItemEndBehavior) {
18899
- ItemEndBehavior[ItemEndBehavior["destroy"] = END_BEHAVIOR_DESTROY] = "destroy";
18900
- ItemEndBehavior[ItemEndBehavior["loop"] = END_BEHAVIOR_RESTART] = "loop";
18901
- ItemEndBehavior[ItemEndBehavior["freeze"] = END_BEHAVIOR_FREEZE] = "freeze";
18902
- })(ItemEndBehavior || (ItemEndBehavior = {}));
18903
- var ParentItemEndBehavior;
18904
- (function(ParentItemEndBehavior) {
18905
- ParentItemEndBehavior[ParentItemEndBehavior["destroyChildren"] = END_BEHAVIOR_DESTROY_CHILDREN] = "destroyChildren";
18906
- })(ParentItemEndBehavior || (ParentItemEndBehavior = {}));
18907
- /**
18908
- * 粒子交互行为
18909
- */ var ParticleInteractionBehavior;
18910
- (function(ParticleInteractionBehavior) {
18911
- /**
18912
- * 无
18913
- */ ParticleInteractionBehavior[ParticleInteractionBehavior["none"] = 0] = "none";
18914
- /**
18915
- * 移出粒子
18916
- */ ParticleInteractionBehavior[ParticleInteractionBehavior["removeParticle"] = 1] = "removeParticle";
18917
- })(ParticleInteractionBehavior || (ParticleInteractionBehavior = {}));
18918
- var ShapeArcMode;
18919
- (function(ShapeArcMode) {
18920
- /**
18921
- * 随机
18922
- */ ShapeArcMode[ShapeArcMode["RANDOM"] = 0] = "RANDOM";
18923
- /**
18924
- * 单向循环
18925
- */ ShapeArcMode[ShapeArcMode["UNIDIRECTIONAL_CYCLE"] = 1] = "UNIDIRECTIONAL_CYCLE";
18926
- /**
18927
- * 双向循环
18928
- */ ShapeArcMode[ShapeArcMode["BIDIRECTIONAL_CYCLE"] = 2] = "BIDIRECTIONAL_CYCLE";
18929
- /**
18930
- * 均匀爆发
18931
- */ ShapeArcMode[ShapeArcMode["UNIFORM_BURST"] = 3] = "UNIFORM_BURST";
18932
- })(ShapeArcMode || (ShapeArcMode = {}));
18933
- var LightType;
18934
- (function(LightType) {
18935
- /**
18936
- * 点光源
18937
- */ LightType["point"] = "point";
18938
- /**
18939
- * 聚光灯
18940
- */ LightType["spot"] = "spot";
18941
- /**
18942
- * 方向光
18943
- */ LightType["directional"] = "directional";
18944
- /**
18945
- * 环境光
18946
- */ LightType["ambient"] = "ambient";
18947
- })(LightType || (LightType = {}));
18948
- var ModelBoundingType;
18949
- (function(ModelBoundingType) {
18950
- ModelBoundingType[ModelBoundingType["box"] = 2] = "box";
18951
- ModelBoundingType[ModelBoundingType["sphere"] = 3] = "sphere";
18952
- })(ModelBoundingType || (ModelBoundingType = {}));
18953
- var CameraType;
18954
- (function(CameraType) {
18955
- CameraType["orthographic"] = "orthographic";
18956
- CameraType["perspective"] = "perspective";
18957
- })(CameraType || (CameraType = {}));
18958
- // 材质类型
18959
- var MaterialType;
18960
- (function(MaterialType) {
18961
- MaterialType["unlit"] = "unlit";
18962
- MaterialType["pbr"] = "pbr";
18963
- // 头发材质,在 pbr 材质基础上扩展
18964
- MaterialType["hair"] = "hair";
18965
- })(MaterialType || (MaterialType = {}));
18966
- // 混合模式
18967
- var MaterialBlending;
18968
- (function(MaterialBlending) {
18969
- MaterialBlending[MaterialBlending["opaque"] = 100] = "opaque";
18970
- MaterialBlending[MaterialBlending["masked"] = 101] = "masked";
18971
- MaterialBlending[MaterialBlending["translucent"] = 102] = "translucent";
18972
- MaterialBlending[MaterialBlending["additive"] = 103] = "additive";
18973
- })(MaterialBlending || (MaterialBlending = {}));
18974
- /**
18975
- * 3D渲染模式:将渲染过程中的中间结果输出,主要用于排查渲染效果问题,支持 pbr 和 unlit 材质
18976
- */ var RenderMode3D;
18977
- (function(RenderMode3D) {
18978
- /**
18979
- * 正常渲染
18980
- */ RenderMode3D["none"] = "none";
18981
- /**
18982
- * 纹理坐标
18983
- */ RenderMode3D["uv"] = "uv";
18984
- /**
18985
- * 世界坐标法线
18986
- */ RenderMode3D["normal"] = "normal";
18987
- /**
18988
- * 基础颜色
18989
- */ RenderMode3D["basecolor"] = "basecolor";
18990
- /**
18991
- * 基础颜色 Alpha
18992
- */ RenderMode3D["alpha"] = "alpha";
18993
- /**
18994
- * 金属度
18995
- */ RenderMode3D["metallic"] = "metallic";
18996
- /**
18997
- * 粗超度
18998
- */ RenderMode3D["roughness"] = "roughness";
18999
- /**
19000
- * 环境遮蔽
19001
- */ RenderMode3D["ao"] = "ao";
19002
- /**
19003
- * 自发光
19004
- */ RenderMode3D["emissive"] = "emissive";
19005
- })(RenderMode3D || (RenderMode3D = {}));
19006
- var TextOverflow;
19007
- (function(TextOverflow) {
19008
- /**
19009
- * display 模式下,会显示所有文本,存在文本超过边界框的情况。
19010
- */ TextOverflow[TextOverflow["display"] = 0] = "display";
19011
- /**
19012
- * clip 模式下,当文本内容超出边界框时,多余的会被截断。
19013
- */ TextOverflow[TextOverflow["clip"] = 1] = "clip";
19014
- /**
19015
- * ellipsis 模式下,会使用(...)来代替超出边界框的内容。
19016
- */ TextOverflow[TextOverflow["ellipsis"] = 2] = "ellipsis";
19017
- })(TextOverflow || (TextOverflow = {}));
19018
- var TextBaseline;
19019
- (function(TextBaseline) {
19020
- /**
19021
- * 文本顶对齐。
19022
- */ TextBaseline[TextBaseline["top"] = 0] = "top";
19023
- /**
19024
- * 文本垂直居中对齐。
19025
- */ TextBaseline[TextBaseline["middle"] = 1] = "middle";
19026
- /**
19027
- * 文本底对齐。
19028
- */ TextBaseline[TextBaseline["bottom"] = 2] = "bottom";
19029
- })(TextBaseline || (TextBaseline = {}));
19030
- var TextAlignment;
19031
- (function(TextAlignment) {
19032
- /**
19033
- * text alignment starts from(x,y) to right direction
19034
- * 从(x,y)开始第一个字符,向右边延伸
19035
- */ TextAlignment[TextAlignment["left"] = 0] = "left";
19036
- /**
19037
- * (x,y) is middle position of text, where (left + right)/2 =(x,y)
19038
- * (x,y) 为文字中间位置,(最左位置 + 最右位置)/2 = (x,y)
19039
- */ TextAlignment[TextAlignment["middle"] = 1] = "middle";
19040
- /**
19041
- * text alignment ends with(x,y) from left direction
19042
- * 从(x,y)结束最后一个字符,向左边延伸
19043
- */ TextAlignment[TextAlignment["right"] = 2] = "right";
19044
- })(TextAlignment || (TextAlignment = {}));
19045
- /**
19046
- * 文本字重
19047
- */ var TextWeight;
19048
- (function(TextWeight) {
19049
- /**
19050
- * 正常
19051
- */ TextWeight["normal"] = "normal";
19052
- /**
19053
- * 粗体
19054
- */ TextWeight["bold"] = "bold";
19055
- /**
19056
- * 瘦体
19057
- */ TextWeight["lighter"] = "lighter";
19058
- })(TextWeight || (TextWeight = {}));
19059
- /**
19060
- * 文本样式
19061
- */ var FontStyle;
19062
- (function(FontStyle) {
19063
- /**
19064
- * 正常
19065
- */ FontStyle["normal"] = "normal";
19066
- /**
19067
- * 斜体
19068
- */ FontStyle["italic"] = "italic";
19069
- /**
19070
- * 倾斜体
19071
- */ FontStyle["oblique"] = "oblique";
19072
- })(FontStyle || (FontStyle = {}));
19073
- var DataType;
19074
- (function(DataType) {
19075
- DataType["VFXItemData"] = "VFXItemData";
19076
- DataType["EffectComponent"] = "EffectComponent";
19077
- DataType["Material"] = "Material";
19078
- DataType["Shader"] = "Shader";
19079
- DataType["SpriteComponent"] = "SpriteComponent";
19080
- DataType["ParticleSystem"] = "ParticleSystem";
19081
- DataType["InteractComponent"] = "InteractComponent";
19082
- DataType["CameraController"] = "CameraController";
19083
- DataType["Geometry"] = "Geometry";
19084
- DataType["Texture"] = "Texture";
19085
- DataType["TextComponent"] = "TextComponent";
19086
- // FIXME: 先完成ECS的场景转换,后面移到spec中
19087
- DataType["MeshComponent"] = "MeshComponent";
19088
- DataType["SkyboxComponent"] = "SkyboxComponent";
19089
- DataType["LightComponent"] = "LightComponent";
19090
- DataType["CameraComponent"] = "CameraComponent";
19091
- DataType["ModelPluginComponent"] = "ModelPluginComponent";
19092
- DataType["TreeComponent"] = "TreeComponent";
19093
- })(DataType || (DataType = {}));
19094
- var GeometryType;
19095
- (function(GeometryType) {
19096
- /**
19097
- * Draw single points.
19098
- */ GeometryType[GeometryType["POINTS"] = 0] = "POINTS";
19099
- /**
19100
- * Draw lines. Each vertex connects to the one after it.
19101
- */ GeometryType[GeometryType["LINES"] = 1] = "LINES";
19102
- /**
19103
- * Draw lines. Each set of two vertices is treated as a separate line segment.
19104
- */ GeometryType[GeometryType["LINE_LOOP"] = 2] = "LINE_LOOP";
19105
- /**
19106
- * Draw a connected group of line segments from the first vertex to the last.
19107
- */ GeometryType[GeometryType["LINE_STRIP"] = 3] = "LINE_STRIP";
19108
- /**
19109
- * Draw triangles. Each set of three vertices creates a separate triangle.
19110
- */ GeometryType[GeometryType["TRIANGLES"] = 4] = "TRIANGLES";
19111
- /**
19112
- * Draw a connected strip of triangles.
19113
- */ GeometryType[GeometryType["TRIANGLE_STRIP"] = 5] = "TRIANGLE_STRIP";
19114
- /**
19115
- * Draw a connected group of triangles. Each vertex connects to the previous and the first vertex in the fan.
19116
- */ GeometryType[GeometryType["TRIANGLE_FAN"] = 6] = "TRIANGLE_FAN";
19117
- })(GeometryType || (GeometryType = {}));
19118
- var _a;
19119
- function arrAdd(arr, item) {
19120
- if (!arr.includes(item)) {
19121
- arr.push(item);
19122
- return true;
19123
- }
19124
- }
19125
- function ensureFixedNumber(a) {
19126
- if (Number.isFinite(a)) {
19127
- return [
19128
- ValueType.CONSTANT,
19129
- a
19130
- ];
19131
- }
19132
- if (a) {
19133
- var valueType = a[0];
19134
- var valueData = a[1];
19135
- if (Array.isArray(valueType)) {
19136
- // 没有数据类型的数据
19137
- return;
19138
- }
19139
- if (valueType === 'static' || valueType === ValueType.CONSTANT) {
19140
- return [
19141
- ValueType.CONSTANT,
19142
- a[1]
19143
- ];
19144
- }
19145
- if (valueType === 'lines') {
19146
- return [
19147
- ValueType.LINE,
19148
- a[1]
19149
- ];
19150
- }
19151
- if (valueType === ValueType.LINE) {
19152
- // @ts-expect-error
19153
- var keyframes = valueData.map(function(data) {
19154
- return [
19155
- BezierKeyframeType.LINE,
19156
- data
19157
- ];
19158
- });
19159
- return [
19160
- ValueType.BEZIER_CURVE,
19161
- keyframes
19162
- ];
19163
- }
19164
- if (valueType === 'curve' || valueType === ValueType.CURVE) {
19165
- return [
19166
- ValueType.BEZIER_CURVE,
19167
- getBezierCurveFromHermiteInGE(valueData)
19168
- ];
19169
- }
19170
- return a;
19171
- }
19172
- }
19173
- function ensureFixedNumberWithRandom(a, p) {
19174
- if (Array.isArray(a) && a[0] === 'random') {
19175
- return [
19176
- ValueType.CONSTANT,
19177
- a[1][p]
19178
- ];
19179
- }
19180
- return ensureFixedNumber(a);
19181
- }
19182
- function ensureRGBAValue(a) {
19183
- if (a && a[0] === 'color') {
19184
- return colorToArr(a[1], true);
19185
- }
19186
- return [
19187
- 1,
19188
- 1,
19189
- 1,
19190
- 1
19191
- ];
19192
- }
19193
- function ensureColorExpression(a, normalized) {
19194
- if (a) {
19195
- if (a[0] === 'colors') {
19196
- return [
19197
- ValueType.COLORS,
19198
- a[1].map(function(color) {
19199
- return colorToArr(color, normalized);
19200
- })
19201
- ];
19202
- } else if (a[0] === 'gradient') {
19203
- return ensureGradient(a[1], normalized);
19204
- } else if (a[0] === 'color') {
19205
- return [
19206
- ValueType.RGBA_COLOR,
19207
- colorToArr(a[1], normalized)
19208
- ];
19209
- }
19210
- return a;
19211
- }
18510
+ function ensureColorExpression(a, normalized) {
18511
+ if (a) {
18512
+ if (a[0] === 'colors') {
18513
+ return [
18514
+ ValueType.COLORS,
18515
+ a[1].map((color)=>colorToArr(color, normalized))
18516
+ ];
18517
+ } else if (a[0] === 'gradient') {
18518
+ return ensureGradient(a[1], normalized);
18519
+ } else if (a[0] === 'color') {
18520
+ return [
18521
+ ValueType.RGBA_COLOR,
18522
+ colorToArr(a[1], normalized)
18523
+ ];
18524
+ }
18525
+ return a;
18526
+ }
19212
18527
  }
19213
18528
  function ensureNumberExpression(a) {
19214
18529
  if (a && a[0] === 'random') {
@@ -19221,11 +18536,11 @@ function ensureNumberExpression(a) {
19221
18536
  }
19222
18537
  function ensureGradient(a, normalized) {
19223
18538
  if (a) {
19224
- var stops_1 = [];
19225
- Object.getOwnPropertyNames(a).forEach(function(p) {
19226
- var stop = parsePercent(p);
19227
- var color = colorToArr(a[p], normalized);
19228
- stops_1.push([
18539
+ let stops = [];
18540
+ Object.getOwnPropertyNames(a).forEach((p)=>{
18541
+ const stop = parsePercent(p);
18542
+ const color = colorToArr(a[p], normalized);
18543
+ stops.push([
19229
18544
  stop,
19230
18545
  color[0],
19231
18546
  color[1],
@@ -19233,22 +18548,20 @@ function ensureGradient(a, normalized) {
19233
18548
  color[3]
19234
18549
  ]);
19235
18550
  });
19236
- stops_1 = stops_1.sort(function(a, b) {
19237
- return a[0] - b[0];
19238
- });
18551
+ stops = stops.sort((a, b)=>a[0] - b[0]);
19239
18552
  return [
19240
18553
  ValueType.GRADIENT_COLOR,
19241
- stops_1
18554
+ stops
19242
18555
  ];
19243
18556
  }
19244
18557
  }
19245
18558
  function colorToArr(hex, normalized) {
19246
- var ret;
18559
+ let ret;
19247
18560
  if (typeof hex === 'string') {
19248
18561
  hex = hex.replace(/[\s\t\r\n]/g, '');
19249
- var m = /rgba?\(([.\d]+),([.\d]+),([.\d]+),?([.\d]+)?\)/.exec(hex);
18562
+ let m = /rgba?\(([.\d]+),([.\d]+),([.\d]+),?([.\d]+)?\)/.exec(hex);
19250
18563
  if (m) {
19251
- var a = +m[4];
18564
+ const a = +m[4];
19252
18565
  ret = [
19253
18566
  +m[1],
19254
18567
  +m[2],
@@ -19293,13 +18606,11 @@ function colorToArr(hex, normalized) {
19293
18606
  }
19294
18607
  function normalizeColor(a) {
19295
18608
  if (Array.isArray(a)) {
19296
- return a.map(function(i) {
19297
- return Number.isFinite(i / 255) ? Number((i / 255).toFixed(6)) : 0;
19298
- });
18609
+ return a.map((i)=>Number.isFinite(i / 255) ? Number((i / 255).toFixed(6)) : 0);
19299
18610
  }
19300
18611
  }
19301
18612
  function parsePercent(c) {
19302
- var match = /^(-)?([\d+.]+)%$/.exec(c);
18613
+ const match = /^(-)?([\d+.]+)%$/.exec(c);
19303
18614
  if (match) {
19304
18615
  return +match[2] / 100 * (match[1] ? -1 : 1);
19305
18616
  }
@@ -19324,18 +18635,18 @@ function ensureFixedVec3(a) {
19324
18635
  a
19325
18636
  ];
19326
18637
  }
19327
- var valueType = a[0];
18638
+ const valueType = a[0];
19328
18639
  if (valueType === 'path' || valueType === 'bezier' || valueType === ValueType.BEZIER_PATH || valueType === ValueType.LINEAR_PATH) {
19329
- var valueData = a[1];
19330
- var easing = valueData[0];
19331
- var points = valueData[1];
19332
- var controlPoints = valueData[2];
19333
- var bezierEasing = getBezierCurveFromHermiteInGE(easing);
18640
+ const valueData = a[1];
18641
+ const easing = valueData[0];
18642
+ const points = valueData[1];
18643
+ let controlPoints = valueData[2];
18644
+ const bezierEasing = getBezierCurveFromHermiteInGE(easing);
19334
18645
  // linear path没有controlPoints
19335
18646
  if (!controlPoints) {
19336
18647
  controlPoints = [];
19337
- for(var keyframeIndex = 0; keyframeIndex < points.length; keyframeIndex++){
19338
- var point = points[keyframeIndex].slice();
18648
+ for(let keyframeIndex = 0; keyframeIndex < points.length; keyframeIndex++){
18649
+ const point = points[keyframeIndex].slice();
19339
18650
  if (keyframeIndex === 0) {
19340
18651
  controlPoints.push(point);
19341
18652
  } else if (keyframeIndex < points.length - 1) {
@@ -19359,58 +18670,30 @@ function ensureFixedVec3(a) {
19359
18670
  }
19360
18671
  }
19361
18672
  function objectValueToNumber(o) {
19362
- var e_1, _a;
19363
- try {
19364
- for(var _b = __values(Object.keys(o)), _c = _b.next(); !_c.done; _c = _b.next()){
19365
- var key = _c.value;
19366
- o[key] = Number(o[key]);
19367
- }
19368
- } catch (e_1_1) {
19369
- e_1 = {
19370
- error: e_1_1
19371
- };
19372
- } finally{
19373
- try {
19374
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
19375
- } finally{
19376
- if (e_1) throw e_1.error;
19377
- }
18673
+ for (const key of Object.keys(o)){
18674
+ o[key] = Number(o[key]);
19378
18675
  }
19379
18676
  return o;
19380
18677
  }
19381
18678
  function deleteEmptyValue(o) {
19382
- var e_2, _a;
19383
- try {
19384
- for(var _b = __values(Object.keys(o)), _c = _b.next(); !_c.done; _c = _b.next()){
19385
- var key = _c.value;
19386
- if (o[key] === undefined) {
19387
- delete o[key];
19388
- }
19389
- }
19390
- } catch (e_2_1) {
19391
- e_2 = {
19392
- error: e_2_1
19393
- };
19394
- } finally{
19395
- try {
19396
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
19397
- } finally{
19398
- if (e_2) throw e_2.error;
18679
+ for (const key of Object.keys(o)){
18680
+ if (o[key] === undefined) {
18681
+ delete o[key];
19399
18682
  }
19400
18683
  }
19401
18684
  return o;
19402
18685
  }
19403
- var cos = Math.cos;
19404
- var sin = Math.sin;
19405
- var d2r = Math.PI / 180;
19406
- var r2d = 180 / Math.PI;
18686
+ const cos = Math.cos;
18687
+ const sin = Math.sin;
18688
+ const d2r = Math.PI / 180;
18689
+ const r2d = 180 / Math.PI;
19407
18690
  function quatFromXYZRotation(out, x, y, z) {
19408
- var c1 = cos(x * d2r / 2);
19409
- var c2 = cos(y * d2r / 2);
19410
- var c3 = cos(z * d2r / 2);
19411
- var s1 = sin(x * d2r / 2);
19412
- var s2 = sin(y * d2r / 2);
19413
- var s3 = sin(z * d2r / 2);
18691
+ const c1 = cos(x * d2r / 2);
18692
+ const c2 = cos(y * d2r / 2);
18693
+ const c3 = cos(z * d2r / 2);
18694
+ const s1 = sin(x * d2r / 2);
18695
+ const s2 = sin(y * d2r / 2);
18696
+ const s3 = sin(z * d2r / 2);
19414
18697
  out[0] = s1 * c2 * c3 + c1 * s2 * s3;
19415
18698
  out[1] = c1 * s2 * c3 - s1 * c2 * s3;
19416
18699
  out[2] = c1 * c2 * s3 + s1 * s2 * c3;
@@ -19421,25 +18704,25 @@ function clamp(v, min, max) {
19421
18704
  return v > max ? max : v < min ? min : v;
19422
18705
  }
19423
18706
  function rotationZYXFromQuat(out, quat) {
19424
- var x = quat[0];
19425
- var y = quat[1];
19426
- var z = quat[2];
19427
- var w = quat[3];
19428
- var x2 = x + x;
19429
- var y2 = y + y;
19430
- var z2 = z + z;
19431
- var xx = x * x2;
19432
- var yx = y * x2;
19433
- var yy = y * y2;
19434
- var zx = z * x2;
19435
- var zy = z * y2;
19436
- var zz = z * z2;
19437
- var wx = w * x2;
19438
- var wy = w * y2;
19439
- var wz = w * z2;
19440
- var m11 = 1 - yy - zz, m12 = yx - wz;
19441
- var m21 = yx + wz, m22 = 1 - xx - zz;
19442
- var m31 = zx - wy, m32 = zy + wx, m33 = 1 - xx - yy;
18707
+ const x = quat[0];
18708
+ const y = quat[1];
18709
+ const z = quat[2];
18710
+ const w = quat[3];
18711
+ const x2 = x + x;
18712
+ const y2 = y + y;
18713
+ const z2 = z + z;
18714
+ const xx = x * x2;
18715
+ const yx = y * x2;
18716
+ const yy = y * y2;
18717
+ const zx = z * x2;
18718
+ const zy = z * y2;
18719
+ const zz = z * z2;
18720
+ const wx = w * x2;
18721
+ const wy = w * y2;
18722
+ const wz = w * z2;
18723
+ const m11 = 1 - yy - zz, m12 = yx - wz;
18724
+ const m21 = yx + wz, m22 = 1 - xx - zz;
18725
+ const m31 = zx - wy, m32 = zy + wx, m33 = 1 - xx - yy;
19443
18726
  out[1] = Math.asin(clamp(-m31, -1, 1)) * r2d;
19444
18727
  if (Math.abs(m31) < 0.9999999) {
19445
18728
  out[0] = Math.atan2(m32, m33) * r2d;
@@ -19450,9 +18733,6 @@ function rotationZYXFromQuat(out, quat) {
19450
18733
  }
19451
18734
  return out;
19452
18735
  }
19453
- function generateGUID() {
19454
- return v4().replace(/-/g, '');
19455
- }
19456
18736
  /**
19457
18737
  * 提取并转换 JSON 数据中的 anchor 值
19458
18738
  */ function convertAnchor(anchor, particleOrigin) {
@@ -19470,43 +18750,53 @@ function generateGUID() {
19470
18750
  ];
19471
18751
  }
19472
18752
  }
19473
- var particleOriginTranslateMap = (_a = {}, _a[ParticleOrigin.PARTICLE_ORIGIN_CENTER] = [
19474
- 0,
19475
- 0
19476
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_CENTER_BOTTOM] = [
19477
- 0,
19478
- -0.5
19479
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_CENTER_TOP] = [
19480
- 0,
19481
- 0.5
19482
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_LEFT_TOP] = [
19483
- -0.5,
19484
- 0.5
19485
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_LEFT_CENTER] = [
19486
- -0.5,
19487
- 0
19488
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_LEFT_BOTTOM] = [
19489
- -0.5,
19490
- -0.5
19491
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_RIGHT_CENTER] = [
19492
- 0.5,
19493
- 0
19494
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_RIGHT_BOTTOM] = [
19495
- 0.5,
19496
- -0.5
19497
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_RIGHT_TOP] = [
19498
- 0.5,
19499
- 0.5
19500
- ], _a);
18753
+ const particleOriginTranslateMap = {
18754
+ [ParticleOrigin.PARTICLE_ORIGIN_CENTER]: [
18755
+ 0,
18756
+ 0
18757
+ ],
18758
+ [ParticleOrigin.PARTICLE_ORIGIN_CENTER_BOTTOM]: [
18759
+ 0,
18760
+ -0.5
18761
+ ],
18762
+ [ParticleOrigin.PARTICLE_ORIGIN_CENTER_TOP]: [
18763
+ 0,
18764
+ 0.5
18765
+ ],
18766
+ [ParticleOrigin.PARTICLE_ORIGIN_LEFT_TOP]: [
18767
+ -0.5,
18768
+ 0.5
18769
+ ],
18770
+ [ParticleOrigin.PARTICLE_ORIGIN_LEFT_CENTER]: [
18771
+ -0.5,
18772
+ 0
18773
+ ],
18774
+ [ParticleOrigin.PARTICLE_ORIGIN_LEFT_BOTTOM]: [
18775
+ -0.5,
18776
+ -0.5
18777
+ ],
18778
+ [ParticleOrigin.PARTICLE_ORIGIN_RIGHT_CENTER]: [
18779
+ 0.5,
18780
+ 0
18781
+ ],
18782
+ [ParticleOrigin.PARTICLE_ORIGIN_RIGHT_BOTTOM]: [
18783
+ 0.5,
18784
+ -0.5
18785
+ ],
18786
+ [ParticleOrigin.PARTICLE_ORIGIN_RIGHT_TOP]: [
18787
+ 0.5,
18788
+ 0.5
18789
+ ]
18790
+ };
19501
18791
  function getBezierCurveFromHermite(m0, m1, p0, p3) {
19502
- var xStart = p0[0];
19503
- var yStart = p0[1];
19504
- var xEnd = p3[0];
19505
- var yEnd = p3[1];
19506
- var dt = xEnd - xStart;
18792
+ const xStart = p0[0];
18793
+ const yStart = p0[1];
18794
+ const xEnd = p3[0];
18795
+ const yEnd = p3[1];
18796
+ const dt = xEnd - xStart;
19507
18797
  m0 = m0 * dt;
19508
18798
  m1 = m1 * dt;
19509
- var bezierControlPoints = [
18799
+ const bezierControlPoints = [
19510
18800
  [
19511
18801
  xStart + (xEnd - xStart) / 3,
19512
18802
  yStart + m0 / 3
@@ -19519,33 +18809,33 @@ function getBezierCurveFromHermite(m0, m1, p0, p3) {
19519
18809
  return bezierControlPoints;
19520
18810
  }
19521
18811
  function getBezierCurveFromHermiteInGE(geHermiteCurves) {
19522
- var ymax = -1000000;
19523
- var ymin = 1000000;
19524
- for(var i = 0; i < geHermiteCurves.length; i++){
18812
+ let ymax = -1000000;
18813
+ let ymin = 1000000;
18814
+ for(let i = 0; i < geHermiteCurves.length; i++){
19525
18815
  ymax = Math.max(ymax, geHermiteCurves[i][1]);
19526
18816
  ymin = Math.min(ymin, geHermiteCurves[i][1]);
19527
18817
  }
19528
- var geBezierCurves = [
18818
+ const geBezierCurves = [
19529
18819
  [
19530
18820
  geHermiteCurves[0][0],
19531
18821
  geHermiteCurves[0][1]
19532
18822
  ]
19533
18823
  ];
19534
- for(var i = 0; i < geHermiteCurves.length - 1; i++){
19535
- var m0 = geHermiteCurves[i][3] * (ymax - ymin);
19536
- var m1 = geHermiteCurves[i + 1][2] * (ymax - ymin);
19537
- var p0 = [
18824
+ for(let i = 0; i < geHermiteCurves.length - 1; i++){
18825
+ const m0 = geHermiteCurves[i][3] * (ymax - ymin);
18826
+ const m1 = geHermiteCurves[i + 1][2] * (ymax - ymin);
18827
+ const p0 = [
19538
18828
  geHermiteCurves[i][0],
19539
18829
  geHermiteCurves[i][1]
19540
18830
  ];
19541
- var p3 = [
18831
+ const p3 = [
19542
18832
  geHermiteCurves[i + 1][0],
19543
18833
  geHermiteCurves[i + 1][1]
19544
18834
  ];
19545
18835
  if (p0[0] != p3[0]) {
19546
- var bezierControlPoints = getBezierCurveFromHermite(m0, m1, p0, p3);
19547
- var p1 = bezierControlPoints[0];
19548
- var p2 = bezierControlPoints[1];
18836
+ const bezierControlPoints = getBezierCurveFromHermite(m0, m1, p0, p3);
18837
+ const p1 = bezierControlPoints[0];
18838
+ const p2 = bezierControlPoints[1];
19549
18839
  geBezierCurves[geBezierCurves.length - 1].push(p1[0]);
19550
18840
  geBezierCurves[geBezierCurves.length - 1].push(p1[1]);
19551
18841
  geBezierCurves.push([
@@ -19560,7 +18850,7 @@ function getBezierCurveFromHermiteInGE(geHermiteCurves) {
19560
18850
  }
19561
18851
  }
19562
18852
  // 添加关键帧类型
19563
- return geBezierCurves.map(function(curve, index) {
18853
+ return geBezierCurves.map((curve, index)=>{
19564
18854
  return index === 0 ? [
19565
18855
  BezierKeyframeType.EASE_OUT,
19566
18856
  curve
@@ -19573,20 +18863,21 @@ function getBezierCurveFromHermiteInGE(geHermiteCurves) {
19573
18863
  ];
19574
18864
  });
19575
18865
  }
18866
+
19576
18867
  function getStandardParticleContent(particle) {
19577
- var _a;
19578
- var options = particle.options;
19579
- var transform = particle.transform;
19580
- var shape = {
18868
+ const options = particle.options;
18869
+ const transform = particle.transform;
18870
+ let shape = {
19581
18871
  type: ShapeType.NONE
19582
18872
  };
19583
18873
  if (particle.shape) {
19584
- var shapeType = (_a = particle.shape.shape) === null || _a === void 0 ? void 0 : _a.replace(/([A-Z])/g, '_$1').toUpperCase().replace(/^_/, '');
19585
- shape = __assign(__assign({}, particle.shape), {
18874
+ var _particle_shape_shape;
18875
+ const shapeType = (_particle_shape_shape = particle.shape.shape) == null ? void 0 : _particle_shape_shape.replace(/([A-Z])/g, '_$1').toUpperCase().replace(/^_/, '');
18876
+ shape = _extends({}, particle.shape, {
19586
18877
  type: ShapeType[shapeType]
19587
18878
  });
19588
18879
  if (particle.shape.upDirection) {
19589
- var _b = __read(particle.shape.upDirection, 3), x = _b[0], y = _b[1], z = _b[2];
18880
+ const [x, y, z] = particle.shape.upDirection;
19590
18881
  if (x === 0 && y === 0 && z === 0) {
19591
18882
  delete shape.upDirection;
19592
18883
  }
@@ -19597,23 +18888,19 @@ function getStandardParticleContent(particle) {
19597
18888
  shape.turbulenceY = ensureNumberExpression(options.turbulenceY);
19598
18889
  shape.turbulenceZ = ensureNumberExpression(options.turbulenceZ);
19599
18890
  }
19600
- var emission = particle.emission;
18891
+ const emission = particle.emission;
19601
18892
  if (emission.bursts && emission.bursts.length > 0) {
19602
- emission.bursts = emission.bursts.map(function(b) {
19603
- return objectValueToNumber(b);
19604
- });
18893
+ emission.bursts = emission.bursts.map((b)=>objectValueToNumber(b));
19605
18894
  }
19606
18895
  if (emission.burstOffsets && emission.burstOffsets.length > 0) {
19607
- emission.burstOffsets = emission.burstOffsets.map(function(b) {
19608
- return objectValueToNumber(b);
19609
- });
18896
+ emission.burstOffsets = emission.burstOffsets.map((b)=>objectValueToNumber(b));
19610
18897
  }
19611
18898
  if (emission.rateOverTime) {
19612
18899
  emission.rateOverTime = ensureNumberExpression(emission.rateOverTime);
19613
18900
  }
19614
- var ret = {
18901
+ const ret = {
19615
18902
  renderer: particle.renderer,
19616
- shape: shape,
18903
+ shape,
19617
18904
  splits: particle.splits,
19618
18905
  emission: emission,
19619
18906
  options: {
@@ -19639,7 +18926,7 @@ function getStandardParticleContent(particle) {
19639
18926
  path: ensureFixedVec3(transform.path)
19640
18927
  };
19641
18928
  }
19642
- var sizeOverLifetime = particle.sizeOverLifetime;
18929
+ const sizeOverLifetime = particle.sizeOverLifetime;
19643
18930
  if (sizeOverLifetime) {
19644
18931
  if (sizeOverLifetime.separateAxes) {
19645
18932
  ret.sizeOverLifetime = {
@@ -19653,8 +18940,8 @@ function getStandardParticleContent(particle) {
19653
18940
  };
19654
18941
  }
19655
18942
  }
19656
- var velocityOverLifetime = particle.velocityOverLifetime || {};
19657
- var sol = velocityOverLifetime.speedOverLifetime;
18943
+ const velocityOverLifetime = particle.velocityOverLifetime || {};
18944
+ let sol = velocityOverLifetime.speedOverLifetime;
19658
18945
  if (sol) {
19659
18946
  sol = ensureFixedNumber(sol);
19660
18947
  } else {
@@ -19679,7 +18966,7 @@ function getStandardParticleContent(particle) {
19679
18966
  forceCurve: ensureFixedNumber(velocityOverLifetime.forceCurve)
19680
18967
  };
19681
18968
  deleteEmptyValue(ret.positionOverLifetime);
19682
- var rotationOverLifetime = particle.rotationOverLifetime;
18969
+ const rotationOverLifetime = particle.rotationOverLifetime;
19683
18970
  if (rotationOverLifetime) {
19684
18971
  ret.rotationOverLifetime = {
19685
18972
  separateAxes: rotationOverLifetime.separateAxes,
@@ -19691,16 +18978,16 @@ function getStandardParticleContent(particle) {
19691
18978
  ret.rotationOverLifetime.x = ensureFixedNumber(rotationOverLifetime.x);
19692
18979
  }
19693
18980
  }
19694
- var colorOverLifetime = particle.colorOverLifetime;
18981
+ const colorOverLifetime = particle.colorOverLifetime;
19695
18982
  if (colorOverLifetime) {
19696
- var col = ret.colorOverLifetime = {
18983
+ const col = ret.colorOverLifetime = {
19697
18984
  opacity: ensureFixedNumber(colorOverLifetime.opacity)
19698
18985
  };
19699
18986
  if (colorOverLifetime.color) {
19700
18987
  col.color = getGradientColor(colorOverLifetime.color);
19701
18988
  }
19702
18989
  }
19703
- var textureSheetAnimation = particle.textureSheetAnimation;
18990
+ const textureSheetAnimation = particle.textureSheetAnimation;
19704
18991
  if (textureSheetAnimation) {
19705
18992
  ret.textureSheetAnimation = {
19706
18993
  row: textureSheetAnimation.row,
@@ -19712,7 +18999,7 @@ function getStandardParticleContent(particle) {
19712
18999
  animationDuration: ensureFixedNumberWithRandom(textureSheetAnimation.animationDuration, 0)
19713
19000
  };
19714
19001
  }
19715
- var trials = particle.trails;
19002
+ const trials = particle.trails;
19716
19003
  if (trials) {
19717
19004
  ret.trails = {
19718
19005
  lifetime: ensureNumberExpression(trials.lifetime),
@@ -19735,7 +19022,7 @@ function getStandardParticleContent(particle) {
19735
19022
  };
19736
19023
  }
19737
19024
  ret.trails && deleteEmptyValue(ret.trails);
19738
- var interaction = particle.interaction;
19025
+ const interaction = particle.interaction;
19739
19026
  if (interaction) {
19740
19027
  ret.interaction = {
19741
19028
  behavior: interaction.behavior,
@@ -19745,12 +19032,13 @@ function getStandardParticleContent(particle) {
19745
19032
  }
19746
19033
  return ret;
19747
19034
  }
19035
+
19748
19036
  function getStandardNullContent(sprite, transform) {
19749
- var _a;
19750
- var opt = sprite.options;
19751
- var velocityOverLifetime = sprite.velocityOverLifetime || {};
19752
- var positionOverLifetime = {
19753
- path: ensureFixedVec3((_a = sprite.transform) === null || _a === void 0 ? void 0 : _a.path),
19037
+ var _sprite_transform;
19038
+ const opt = sprite.options;
19039
+ const velocityOverLifetime = sprite.velocityOverLifetime || {};
19040
+ const positionOverLifetime = {
19041
+ path: ensureFixedVec3((_sprite_transform = sprite.transform) == null ? void 0 : _sprite_transform.path),
19754
19042
  gravity: opt.gravity,
19755
19043
  gravityOverLifetime: ensureFixedNumber(opt.gravityModifier),
19756
19044
  direction: opt.direction,
@@ -19767,11 +19055,11 @@ function getStandardNullContent(sprite, transform) {
19767
19055
  speedOverLifetime: ensureFixedNumber(velocityOverLifetime.speedOverLifetime)
19768
19056
  };
19769
19057
  deleteEmptyValue(positionOverLifetime);
19770
- var ret = {
19058
+ const ret = {
19771
19059
  options: {
19772
19060
  startColor: ensureRGBAValue(opt.startColor)
19773
19061
  },
19774
- positionOverLifetime: positionOverLifetime
19062
+ positionOverLifetime
19775
19063
  };
19776
19064
  if (opt.startSize) {
19777
19065
  transform.scale = [
@@ -19791,9 +19079,9 @@ function getStandardNullContent(sprite, transform) {
19791
19079
  transform.rotation[2] += opt.startRotation;
19792
19080
  }
19793
19081
  }
19794
- var rotationOverLifetime = sprite.rotationOverLifetime;
19082
+ const rotationOverLifetime = sprite.rotationOverLifetime;
19795
19083
  if (rotationOverLifetime) {
19796
- var rot = ret.rotationOverLifetime = {
19084
+ const rot = ret.rotationOverLifetime = {
19797
19085
  separateAxes: rotationOverLifetime.separateAxes,
19798
19086
  asRotation: rotationOverLifetime.asRotation
19799
19087
  };
@@ -19805,16 +19093,16 @@ function getStandardNullContent(sprite, transform) {
19805
19093
  rot.z = ensureFixedNumber(rotationOverLifetime.angularVelocity);
19806
19094
  }
19807
19095
  }
19808
- var colorOverLifetime = sprite.colorOverLifetime;
19096
+ const colorOverLifetime = sprite.colorOverLifetime;
19809
19097
  if (colorOverLifetime) {
19810
- var col = ret.colorOverLifetime = {
19098
+ const col = ret.colorOverLifetime = {
19811
19099
  opacity: ensureFixedNumber(colorOverLifetime.opacity)
19812
19100
  };
19813
19101
  if (colorOverLifetime.color) {
19814
19102
  col.color = getGradientColor(colorOverLifetime.color);
19815
19103
  }
19816
19104
  }
19817
- var sizeOverLifetime = sprite.sizeOverLifetime;
19105
+ const sizeOverLifetime = sprite.sizeOverLifetime;
19818
19106
  if (sizeOverLifetime) {
19819
19107
  ret.sizeOverLifetime = {
19820
19108
  separateAxes: sizeOverLifetime.separateAxes,
@@ -19827,8 +19115,8 @@ function getStandardNullContent(sprite, transform) {
19827
19115
  return ret;
19828
19116
  }
19829
19117
  function getStandardSpriteContent(sprite, transform) {
19830
- var ret = getStandardNullContent(sprite, transform);
19831
- var texAni = sprite.textureSheetAnimation;
19118
+ const ret = getStandardNullContent(sprite, transform);
19119
+ const texAni = sprite.textureSheetAnimation;
19832
19120
  if (texAni) {
19833
19121
  ret.textureSheetAnimation = {
19834
19122
  row: texAni.row,
@@ -19846,9 +19134,10 @@ function getStandardSpriteContent(sprite, transform) {
19846
19134
  }
19847
19135
  return ret;
19848
19136
  }
19137
+
19849
19138
  function getStandardInteractContent(ui) {
19850
- var options = ui.options;
19851
- var option;
19139
+ const options = ui.options;
19140
+ let option;
19852
19141
  switch(options.type){
19853
19142
  case 'click':
19854
19143
  {
@@ -19856,7 +19145,7 @@ function getStandardInteractContent(ui) {
19856
19145
  type: InteractType.CLICK,
19857
19146
  showPreview: options.showPreview,
19858
19147
  previewColor: options.previewColor && ensureRGBAValue(options.previewColor),
19859
- behavior: options.behavior || InteractBehavior.NOTIFY
19148
+ behavior: options.behavior || InteractBehavior$1.NOTIFY
19860
19149
  };
19861
19150
  break;
19862
19151
  }
@@ -19879,16 +19168,17 @@ function getStandardInteractContent(ui) {
19879
19168
  break;
19880
19169
  }
19881
19170
  }
19882
- var ret = {
19171
+ const ret = {
19883
19172
  // @ts-expect-error
19884
19173
  options: option
19885
19174
  };
19886
19175
  return ret;
19887
19176
  }
19177
+
19888
19178
  function getStandardCameraContent(model) {
19889
- var _a, _b;
19890
- var opt = model.options;
19891
- var ret = {
19179
+ var _model_transform;
19180
+ const opt = model.options;
19181
+ const ret = {
19892
19182
  options: {
19893
19183
  fov: opt.fov,
19894
19184
  far: opt.far,
@@ -19896,35 +19186,37 @@ function getStandardCameraContent(model) {
19896
19186
  clipMode: opt.clipMode
19897
19187
  }
19898
19188
  };
19899
- var velocityOverLifetime = model.velocityOverLifetime;
19900
- if (velocityOverLifetime || ((_a = model.transform) === null || _a === void 0 ? void 0 : _a.path)) {
19901
- var positionOverLifetime = {
19902
- path: ensureFixedVec3((_b = model.transform) === null || _b === void 0 ? void 0 : _b.path),
19903
- linearX: ensureFixedNumber(velocityOverLifetime === null || velocityOverLifetime === void 0 ? void 0 : velocityOverLifetime.translateX),
19904
- linearY: ensureFixedNumber(velocityOverLifetime === null || velocityOverLifetime === void 0 ? void 0 : velocityOverLifetime.translateY),
19905
- linearZ: ensureFixedNumber(velocityOverLifetime === null || velocityOverLifetime === void 0 ? void 0 : velocityOverLifetime.translateZ)
19189
+ const velocityOverLifetime = model.velocityOverLifetime;
19190
+ if (velocityOverLifetime || ((_model_transform = model.transform) == null ? void 0 : _model_transform.path)) {
19191
+ var _model_transform1;
19192
+ const positionOverLifetime = {
19193
+ path: ensureFixedVec3((_model_transform1 = model.transform) == null ? void 0 : _model_transform1.path),
19194
+ linearX: ensureFixedNumber(velocityOverLifetime == null ? void 0 : velocityOverLifetime.translateX),
19195
+ linearY: ensureFixedNumber(velocityOverLifetime == null ? void 0 : velocityOverLifetime.translateY),
19196
+ linearZ: ensureFixedNumber(velocityOverLifetime == null ? void 0 : velocityOverLifetime.translateZ)
19906
19197
  };
19907
19198
  deleteEmptyValue(positionOverLifetime);
19908
19199
  ret.positionOverLifetime = positionOverLifetime;
19909
19200
  }
19910
- var rol = model.rotationOverLifetime;
19201
+ const rol = model.rotationOverLifetime;
19911
19202
  if (rol) {
19912
- var rotationOverLifetime = {
19203
+ const rotationOverLifetime = {
19913
19204
  separateAxes: rol.separateAxes,
19914
- x: ensureFixedNumber(rol === null || rol === void 0 ? void 0 : rol.rotateX),
19915
- y: ensureFixedNumber(rol === null || rol === void 0 ? void 0 : rol.rotateY),
19916
- z: rol.separateAxes ? ensureFixedNumber(rol === null || rol === void 0 ? void 0 : rol.rotateZ) : ensureFixedNumber(rol.rotation)
19205
+ x: ensureFixedNumber(rol == null ? void 0 : rol.rotateX),
19206
+ y: ensureFixedNumber(rol == null ? void 0 : rol.rotateY),
19207
+ z: rol.separateAxes ? ensureFixedNumber(rol == null ? void 0 : rol.rotateZ) : ensureFixedNumber(rol.rotation)
19917
19208
  };
19918
19209
  deleteEmptyValue(rotationOverLifetime);
19919
19210
  ret.rotationOverLifetime = rotationOverLifetime;
19920
19211
  }
19921
19212
  return ret;
19922
19213
  }
19214
+
19923
19215
  /**
19924
19216
  * 2.1 以下版本数据适配(mars-player@2.4.0 及以上版本支持 2.1 以下数据的适配)
19925
19217
  */ function version21Migration(json) {
19926
- json.compositions.forEach(function(composition) {
19927
- composition.items.forEach(function(item) {
19218
+ json.compositions.forEach((composition)=>{
19219
+ composition.items.forEach((item)=>{
19928
19220
  if (item.type === ItemType.null) {
19929
19221
  if (item.endBehavior === ItemEndBehavior.destroy) {
19930
19222
  item.endBehavior = ItemEndBehavior.freeze;
@@ -19938,13 +19230,13 @@ function getStandardCameraContent(model) {
19938
19230
  /**
19939
19231
  * 2.2 以下版本数据适配(mars-player@2.5.0 及以上版本支持 2.2 以下数据的适配)
19940
19232
  */ function version22Migration(json) {
19941
- var _a;
19942
- var singleVersion = (_a = json.version) === null || _a === void 0 ? void 0 : _a.split('.');
19233
+ var _json_version;
19234
+ const singleVersion = (_json_version = json.version) == null ? void 0 : _json_version.split('.');
19943
19235
  if (!singleVersion || Number(singleVersion[0]) > 2 || Number(singleVersion[0]) === 2 && Number(singleVersion[1]) >= 2) {
19944
19236
  return json;
19945
19237
  }
19946
- json.compositions.forEach(function(composition) {
19947
- composition.items.forEach(function(item) {
19238
+ json.compositions.forEach((composition)=>{
19239
+ composition.items.forEach((item)=>{
19948
19240
  if (item.type === ItemType.mesh || item.type === ItemType.light) {
19949
19241
  item.endBehavior = item.endBehavior === 1 ? ItemEndBehavior.destroy : item.endBehavior;
19950
19242
  }
@@ -19955,82 +19247,78 @@ function getStandardCameraContent(model) {
19955
19247
  /**
19956
19248
  * 3.0 以下版本数据适配(runtime 2.0及以上版本支持)
19957
19249
  */ function version30Migration(json) {
19958
- var e_1, _a, e_2, _b;
19959
- var _c, _d, _e, _f, _g, _h, _j, _k;
19960
- var result = __assign(__assign({}, json), {
19250
+ var // 兼容老版本数据中不存在textures的情况
19251
+ _result;
19252
+ const result = _extends({}, json, {
19961
19253
  items: [],
19962
19254
  components: [],
19963
19255
  materials: [],
19964
19256
  shaders: [],
19965
19257
  geometries: []
19966
19258
  });
19967
- // 兼容老版本数据中不存在textures的情况
19968
- (_c = result.textures) !== null && _c !== void 0 ? _c : result.textures = [];
19969
- result.textures.forEach(function(textureOptions) {
19259
+ // image数据添加 guid
19260
+ for (const image of result.images){
19261
+ image.id = generateGUID();
19262
+ }
19263
+ var _textures;
19264
+ (_textures = (_result = result).textures) != null ? _textures : _result.textures = [];
19265
+ result.textures.forEach((textureOptions)=>{
19970
19266
  textureOptions.id = generateGUID();
19971
19267
  textureOptions.dataType = DataType.Texture;
19268
+ // @ts-expect-error
19269
+ textureOptions.source = {
19270
+ id: result.images[textureOptions.source].id
19271
+ };
19972
19272
  });
19973
19273
  if (result.textures.length < result.images.length) {
19974
- for(var i = result.textures.length; i < result.images.length; i++){
19274
+ for(let i = result.textures.length; i < result.images.length; i++){
19975
19275
  result.textures.push({
19976
19276
  id: generateGUID(),
19977
19277
  dataType: DataType.Texture,
19978
- source: i,
19278
+ //@ts-expect-error
19279
+ source: {
19280
+ id: result.images[i].id
19281
+ },
19979
19282
  flipY: true
19980
19283
  });
19981
19284
  }
19982
19285
  }
19983
- var itemGuidMap = {};
19984
- var _loop_1 = function(composition) {
19985
- var e_3, _q;
19286
+ const itemGuidMap = {};
19287
+ // 更正Composition.endBehavior
19288
+ for (const composition of json.compositions){
19986
19289
  // composition 的 endbehaviour 兼容
19987
- if (composition.endBehavior === END_BEHAVIOR_PAUSE_AND_DESTROY || composition.endBehavior === END_BEHAVIOR_PAUSE) {
19290
+ if (composition.endBehavior === CompositionEndBehavior.pause_destroy || composition.endBehavior === CompositionEndBehavior.pause) {
19988
19291
  composition.endBehavior = END_BEHAVIOR_FREEZE;
19989
19292
  }
19990
19293
  // 过滤掉滤镜元素
19991
- composition.items = composition.items.filter(function(item) {
19992
- return item.type !== '8';
19993
- });
19294
+ composition.items = composition.items.filter((item)=>item.type !== '8');
19994
19295
  // 过滤掉粒子滤镜(扭曲)
19995
- composition.items.forEach(function(item) {
19296
+ composition.items.forEach((item)=>{
19996
19297
  if (item.type === ItemType.particle) {
19997
19298
  // @ts-expect-error
19998
- var filterData = item.content['filter'];
19299
+ const filterData = item.content['filter'];
19999
19300
  if (filterData) {
20000
19301
  // @ts-expect-error
20001
19302
  delete item.content['filter'];
20002
19303
  }
20003
19304
  }
20004
19305
  });
20005
- var itemGuidMap_1 = {};
20006
- try {
20007
- for(var _r = (e_3 = void 0, __values(composition.items)), _s = _r.next(); !_s.done; _s = _r.next()){
20008
- var item = _s.value;
20009
- itemGuidMap_1[item.id] = generateGUID();
20010
- // TODO: 编辑器测试用,上线后删除
20011
- //@ts-expect-error
20012
- item.oldId = item.id;
20013
- item.id = itemGuidMap_1[item.id];
20014
- }
20015
- } catch (e_3_1) {
20016
- e_3 = {
20017
- error: e_3_1
20018
- };
20019
- } finally{
20020
- try {
20021
- if (_s && !_s.done && (_q = _r.return)) _q.call(_r);
20022
- } finally{
20023
- if (e_3) throw e_3.error;
20024
- }
19306
+ const itemGuidMap = {};
19307
+ for (const item of composition.items){
19308
+ itemGuidMap[item.id] = generateGUID();
19309
+ // TODO: 编辑器测试用,上线后删除
19310
+ //@ts-expect-error
19311
+ item.oldId = item.id;
19312
+ item.id = itemGuidMap[item.id];
20025
19313
  }
20026
- composition.items.forEach(function(item, index) {
19314
+ composition.items.forEach((item, index)=>{
20027
19315
  if (item.parentId) {
20028
19316
  if (item.parentId.includes('^')) {
20029
- var parentId = item.parentId.split('^')[0];
20030
- var nodeId = item.parentId.split('^')[1];
20031
- item.parentId = itemGuidMap_1[parentId] + '^' + nodeId;
19317
+ const parentId = item.parentId.split('^')[0];
19318
+ const nodeId = item.parentId.split('^')[1];
19319
+ item.parentId = itemGuidMap[parentId] + '^' + nodeId;
20032
19320
  } else {
20033
- item.parentId = itemGuidMap_1[item.parentId];
19321
+ item.parentId = itemGuidMap[item.parentId];
20034
19322
  }
20035
19323
  }
20036
19324
  // @ts-expect-error fix item type
@@ -20040,215 +19328,199 @@ function getStandardCameraContent(model) {
20040
19328
  id: item.id
20041
19329
  };
20042
19330
  });
20043
- };
20044
- try {
20045
- // 更正Composition.endBehavior
20046
- for(var _l = __values(json.compositions), _m = _l.next(); !_m.done; _m = _l.next()){
20047
- var composition = _m.value;
20048
- _loop_1(composition);
20049
- }
20050
- } catch (e_1_1) {
20051
- e_1 = {
20052
- error: e_1_1
20053
- };
20054
- } finally{
20055
- try {
20056
- if (_m && !_m.done && (_a = _l.return)) _a.call(_l);
20057
- } finally{
20058
- if (e_1) throw e_1.error;
20059
- }
20060
19331
  }
20061
- try {
20062
- for(var _o = __values(result.items), _p = _o.next(); !_p.done; _p = _o.next()){
20063
- var item = _p.value;
20064
- // texture 索引转为统一 guid 索引
20065
- if (item.content) {
20066
- if (item.content.renderer) {
20067
- if (item.content.renderer.texture !== undefined) {
20068
- var oldTextureId = item.content.renderer.texture;
20069
- item.content.renderer.texture = {
20070
- id: result.textures[oldTextureId].id
20071
- };
20072
- }
19332
+ for (const item of result.items){
19333
+ // texture 索引转为统一 guid 索引
19334
+ if (item.content) {
19335
+ if (item.content.renderer) {
19336
+ if (item.content.renderer.texture !== undefined) {
19337
+ const oldTextureId = item.content.renderer.texture;
19338
+ item.content.renderer.texture = {
19339
+ id: result.textures[oldTextureId].id
19340
+ };
20073
19341
  }
20074
- if (item.content.trails) {
20075
- if (item.content.trails.texture !== undefined) {
20076
- var oldTextureId = item.content.trails.texture;
20077
- item.content.trails.texture = {
20078
- id: result.textures[oldTextureId].id
20079
- };
20080
- }
19342
+ }
19343
+ if (item.content.trails) {
19344
+ if (item.content.trails.texture !== undefined) {
19345
+ const oldTextureId = item.content.trails.texture;
19346
+ item.content.trails.texture = {
19347
+ id: result.textures[oldTextureId].id
19348
+ };
20081
19349
  }
20082
19350
  }
20083
- // item 的 transform 属性由数组转为 {x:n, y:n, z:n}
20084
- if (item.transform) {
20085
- //@ts-expect-error
20086
- var position = __spreadArray([], __read((_d = item.transform.position) !== null && _d !== void 0 ? _d : [
19351
+ }
19352
+ // itemtransform 属性由数组转为 {x:n, y:n, z:n}
19353
+ if (item.transform) {
19354
+ var _item_transform_position;
19355
+ //@ts-expect-error
19356
+ const position = [
19357
+ ...(_item_transform_position = item.transform.position) != null ? _item_transform_position : [
20087
19358
  0,
20088
19359
  0,
20089
19360
  0
20090
- ]), false);
20091
- //@ts-expect-error
20092
- var rotation = __spreadArray([], __read((_e = item.transform.rotation) !== null && _e !== void 0 ? _e : [
19361
+ ]
19362
+ ];
19363
+ var _item_transform_rotation;
19364
+ //@ts-expect-error
19365
+ const rotation = [
19366
+ ...(_item_transform_rotation = item.transform.rotation) != null ? _item_transform_rotation : [
20093
19367
  0,
20094
19368
  0,
20095
19369
  0
20096
- ]), false);
20097
- //@ts-expect-error
20098
- var scale = __spreadArray([], __read((_f = item.transform.scale) !== null && _f !== void 0 ? _f : [
19370
+ ]
19371
+ ];
19372
+ var _item_transform_scale;
19373
+ //@ts-expect-error
19374
+ const scale = [
19375
+ ...(_item_transform_scale = item.transform.scale) != null ? _item_transform_scale : [
20099
19376
  1,
20100
19377
  1,
20101
19378
  1
20102
- ]), false);
20103
- Object.assign(item, {
20104
- transform: {
20105
- position: {
20106
- x: position[0],
20107
- y: position[1],
20108
- z: position[2]
20109
- },
20110
- eulerHint: {
20111
- x: rotation[0],
20112
- y: rotation[1],
20113
- z: rotation[2]
20114
- },
20115
- scale: {
20116
- x: scale[0],
20117
- y: scale[1],
20118
- z: scale[0]
20119
- }
20120
- }
20121
- });
20122
- // sprite 的 scale 转为 size
20123
- if (item.type === ItemType.sprite) {
20124
- item.transform.size = {
19379
+ ]
19380
+ ];
19381
+ Object.assign(item, {
19382
+ transform: {
19383
+ position: {
19384
+ x: position[0],
19385
+ y: position[1],
19386
+ z: position[2]
19387
+ },
19388
+ eulerHint: {
19389
+ x: rotation[0],
19390
+ y: rotation[1],
19391
+ z: rotation[2]
19392
+ },
19393
+ scale: {
20125
19394
  x: scale[0],
20126
- y: scale[1]
20127
- };
20128
- item.transform.scale = {
20129
- x: 1,
20130
- y: 1,
20131
- z: 1
20132
- };
20133
- }
20134
- // sprite 的 anchor 修正
20135
- if (item.type === ItemType.sprite) {
20136
- var content = item.content;
20137
- if (!content.renderer) {
20138
- content.renderer = {};
19395
+ y: scale[1],
19396
+ z: scale[0]
20139
19397
  }
20140
- var renderer = content.renderer;
20141
- var realAnchor = convertAnchor(renderer.anchor, renderer.particleOrigin);
20142
- var startSize = item.transform.size;
20143
- // 兼容旧JSON(anchor和particleOrigin可能同时存在)
20144
- if (!renderer.anchor && renderer.particleOrigin !== undefined) {
20145
- item.transform.position.x += -realAnchor[0] * ((_g = startSize === null || startSize === void 0 ? void 0 : startSize.x) !== null && _g !== void 0 ? _g : 1);
20146
- item.transform.position.y += -realAnchor[1] * ((_h = startSize === null || startSize === void 0 ? void 0 : startSize.y) !== null && _h !== void 0 ? _h : 1);
20147
- }
20148
- item.transform.anchor = {
20149
- x: realAnchor[0] * ((_j = startSize === null || startSize === void 0 ? void 0 : startSize.x) !== null && _j !== void 0 ? _j : 1),
20150
- y: realAnchor[1] * ((_k = startSize === null || startSize === void 0 ? void 0 : startSize.y) !== null && _k !== void 0 ? _k : 1)
20151
- };
20152
19398
  }
19399
+ });
19400
+ // sprite 的 scale 转为 size
19401
+ if (item.type === ItemType.sprite) {
19402
+ item.transform.size = {
19403
+ x: scale[0],
19404
+ y: scale[1]
19405
+ };
19406
+ item.transform.scale = {
19407
+ x: 1,
19408
+ y: 1,
19409
+ z: 1
19410
+ };
20153
19411
  }
20154
- if (item.type === ItemType.particle) {
20155
- var content = item.content;
19412
+ // sprite anchor 修正
19413
+ if (item.type === ItemType.sprite) {
19414
+ const content = item.content;
20156
19415
  if (!content.renderer) {
20157
19416
  content.renderer = {};
20158
19417
  }
20159
- var renderer = content.renderer;
20160
- content.renderer.anchor = convertAnchor(renderer.anchor, renderer.particleOrigin);
20161
- }
20162
- // 动画数据转化 TODO: 动画数据移到 TimelineComponentData
20163
- item.content.tracks = [];
20164
- var tracks = item.content.tracks;
20165
- if (item.type !== ItemType.particle) {
20166
- tracks.push({
20167
- clips: [
20168
- {
20169
- dataType: 'TransformAnimationPlayableAsset',
20170
- animationClip: {
20171
- sizeOverLifetime: item.content.sizeOverLifetime,
20172
- rotationOverLifetime: item.content.rotationOverLifetime,
20173
- positionOverLifetime: item.content.positionOverLifetime
20174
- }
20175
- }
20176
- ]
20177
- });
20178
- }
20179
- if (item.type === ItemType.sprite) {
20180
- tracks.push({
20181
- clips: [
20182
- {
20183
- dataType: 'SpriteColorAnimationPlayableAsset',
20184
- animationClip: {
20185
- colorOverLifetime: item.content.colorOverLifetime,
20186
- startColor: item.content.options.startColor
20187
- }
20188
- }
20189
- ]
20190
- });
20191
- }
20192
- // gizmo 的 target id 转换为新的 item guid
20193
- if (item.content.options.target) {
20194
- item.content.options.target = itemGuidMap[item.content.options.target];
20195
- }
20196
- // item 的 content 转为 component data 加入 JSONScene.components
20197
- var uuid = generateGUID();
20198
- if (item.type === ItemType.sprite || item.type === ItemType.particle || item.type === ItemType.mesh || item.type === ItemType.skybox || item.type === ItemType.light || item.type === 'camera' || item.type === ItemType.tree || item.type === ItemType.interact || item.type === ItemType.camera || item.type === ItemType.text) {
20199
- item.components = [];
20200
- result.components.push(item.content);
20201
- item.content.id = uuid;
20202
- item.content.item = {
20203
- id: item.id
19418
+ const renderer = content.renderer;
19419
+ const realAnchor = convertAnchor(renderer.anchor, renderer.particleOrigin);
19420
+ const startSize = item.transform.size;
19421
+ // 兼容旧JSON(anchor和particleOrigin可能同时存在)
19422
+ if (!renderer.anchor && renderer.particleOrigin !== undefined) {
19423
+ var _startSize_x;
19424
+ item.transform.position.x += -realAnchor[0] * ((_startSize_x = startSize == null ? void 0 : startSize.x) != null ? _startSize_x : 1);
19425
+ var _startSize_y;
19426
+ item.transform.position.y += -realAnchor[1] * ((_startSize_y = startSize == null ? void 0 : startSize.y) != null ? _startSize_y : 1);
19427
+ }
19428
+ var _startSize_x1, _startSize_y1;
19429
+ item.transform.anchor = {
19430
+ x: realAnchor[0] * ((_startSize_x1 = startSize == null ? void 0 : startSize.x) != null ? _startSize_x1 : 1),
19431
+ y: realAnchor[1] * ((_startSize_y1 = startSize == null ? void 0 : startSize.y) != null ? _startSize_y1 : 1)
20204
19432
  };
20205
- item.dataType = DataType.VFXItemData;
20206
- item.components.push({
20207
- id: item.content.id
20208
- });
20209
19433
  }
20210
- switch(item.type){
20211
- case ItemType.sprite:
20212
- item.content.dataType = DataType.SpriteComponent;
20213
- break;
20214
- case ItemType.particle:
20215
- item.content.dataType = DataType.ParticleSystem;
20216
- break;
20217
- case ItemType.mesh:
20218
- item.content.dataType = DataType.MeshComponent;
20219
- break;
20220
- case ItemType.skybox:
20221
- item.content.dataType = DataType.SkyboxComponent;
20222
- break;
20223
- case ItemType.light:
20224
- item.content.dataType = DataType.LightComponent;
20225
- break;
20226
- case 'camera':
20227
- item.content.dataType = DataType.CameraComponent;
20228
- break;
20229
- case ItemType.tree:
20230
- item.content.dataType = DataType.TreeComponent;
20231
- break;
20232
- case ItemType.interact:
20233
- item.content.dataType = DataType.InteractComponent;
20234
- break;
20235
- case ItemType.camera:
20236
- item.content.dataType = DataType.CameraController;
20237
- break;
20238
- case ItemType.text:
20239
- item.content.dataType = DataType.TextComponent;
20240
- break;
19434
+ }
19435
+ if (item.type === ItemType.particle) {
19436
+ const content = item.content;
19437
+ if (!content.renderer) {
19438
+ content.renderer = {};
20241
19439
  }
19440
+ const renderer = content.renderer;
19441
+ content.renderer.anchor = convertAnchor(renderer.anchor, renderer.particleOrigin);
20242
19442
  }
20243
- } catch (e_2_1) {
20244
- e_2 = {
20245
- error: e_2_1
20246
- };
20247
- } finally{
20248
- try {
20249
- if (_p && !_p.done && (_b = _o.return)) _b.call(_o);
20250
- } finally{
20251
- if (e_2) throw e_2.error;
19443
+ // 动画数据转化 TODO: 动画数据移到 TimelineComponentData
19444
+ item.content.tracks = [];
19445
+ const tracks = item.content.tracks;
19446
+ if (item.type !== ItemType.particle) {
19447
+ tracks.push({
19448
+ clips: [
19449
+ {
19450
+ dataType: 'TransformAnimationPlayableAsset',
19451
+ animationClip: {
19452
+ sizeOverLifetime: item.content.sizeOverLifetime,
19453
+ rotationOverLifetime: item.content.rotationOverLifetime,
19454
+ positionOverLifetime: item.content.positionOverLifetime
19455
+ }
19456
+ }
19457
+ ]
19458
+ });
19459
+ }
19460
+ if (item.type === ItemType.sprite) {
19461
+ tracks.push({
19462
+ clips: [
19463
+ {
19464
+ dataType: 'SpriteColorAnimationPlayableAsset',
19465
+ animationClip: {
19466
+ colorOverLifetime: item.content.colorOverLifetime,
19467
+ startColor: item.content.options.startColor
19468
+ }
19469
+ }
19470
+ ]
19471
+ });
19472
+ }
19473
+ // gizmo 的 target id 转换为新的 item guid
19474
+ if (item.content.options.target) {
19475
+ item.content.options.target = itemGuidMap[item.content.options.target];
19476
+ }
19477
+ // item 的 content 转为 component data 加入 JSONScene.components
19478
+ const uuid = generateGUID();
19479
+ if (item.type === ItemType.sprite || item.type === ItemType.particle || item.type === ItemType.mesh || item.type === ItemType.skybox || item.type === ItemType.light || // @ts-expect-error
19480
+ item.type === 'camera' || item.type === ItemType.tree || item.type === ItemType.interact || item.type === ItemType.camera || item.type === ItemType.text) {
19481
+ item.components = [];
19482
+ result.components.push(item.content);
19483
+ item.content.id = uuid;
19484
+ item.content.item = {
19485
+ id: item.id
19486
+ };
19487
+ item.dataType = DataType.VFXItemData;
19488
+ item.components.push({
19489
+ id: item.content.id
19490
+ });
19491
+ }
19492
+ switch(item.type){
19493
+ case ItemType.sprite:
19494
+ item.content.dataType = DataType.SpriteComponent;
19495
+ break;
19496
+ case ItemType.particle:
19497
+ item.content.dataType = DataType.ParticleSystem;
19498
+ break;
19499
+ case ItemType.mesh:
19500
+ item.content.dataType = DataType.MeshComponent;
19501
+ break;
19502
+ case ItemType.skybox:
19503
+ item.content.dataType = DataType.SkyboxComponent;
19504
+ break;
19505
+ case ItemType.light:
19506
+ item.content.dataType = DataType.LightComponent;
19507
+ break;
19508
+ // @ts-expect-error
19509
+ case 'camera':
19510
+ item.content.dataType = DataType.CameraComponent;
19511
+ break;
19512
+ case ItemType.tree:
19513
+ item.content.dataType = DataType.TreeComponent;
19514
+ break;
19515
+ case ItemType.interact:
19516
+ item.content.dataType = DataType.InteractComponent;
19517
+ break;
19518
+ case ItemType.camera:
19519
+ item.content.dataType = DataType.CameraController;
19520
+ break;
19521
+ case ItemType.text:
19522
+ item.content.dataType = DataType.TextComponent;
19523
+ break;
20252
19524
  }
20253
19525
  }
20254
19526
  result.version = '3.0';
@@ -20258,76 +19530,49 @@ function getStandardCameraContent(model) {
20258
19530
  * 2.5 以下版本 赫尔米特数据转换成贝塞尔数据
20259
19531
  */ function version24Migration(json) {
20260
19532
  // 曲线转换成贝塞尔
20261
- json.compositions.map(function(comp) {
20262
- var e_4, _a;
20263
- try {
20264
- for(var _b = __values(comp.items), _c = _b.next(); !_c.done; _c = _b.next()){
20265
- var item = _c.value;
20266
- convertParam(item.content);
20267
- }
20268
- } catch (e_4_1) {
20269
- e_4 = {
20270
- error: e_4_1
20271
- };
20272
- } finally{
20273
- try {
20274
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
20275
- } finally{
20276
- if (e_4) throw e_4.error;
20277
- }
19533
+ json.compositions.map((comp)=>{
19534
+ for (const item of comp.items){
19535
+ convertParam(item.content);
20278
19536
  }
20279
19537
  });
20280
19538
  return json;
20281
19539
  }
20282
19540
  function convertParam(content) {
20283
- var e_5, _a;
20284
19541
  if (!content) {
20285
19542
  return;
20286
19543
  }
20287
- try {
20288
- for(var _b = __values(Object.keys(content)), _c = _b.next(); !_c.done; _c = _b.next()){
20289
- var key = _c.value;
20290
- var value = content[key];
20291
- var isArray = Array.isArray(value);
20292
- if (isArray && value.length === 2 && Array.isArray(value[1])) {
20293
- if (key === 'path') {
20294
- content[key] = ensureFixedVec3(value);
20295
- } else {
20296
- content[key] = ensureFixedNumber(value);
20297
- }
20298
- } else if (!isArray && typeof value === 'object') {
20299
- convertParam(value);
19544
+ for (const key of Object.keys(content)){
19545
+ const value = content[key];
19546
+ const isArray = Array.isArray(value);
19547
+ if (isArray && value.length === 2 && Array.isArray(value[1])) {
19548
+ if (key === 'path') {
19549
+ content[key] = ensureFixedVec3(value);
19550
+ } else {
19551
+ content[key] = ensureFixedNumber(value);
20300
19552
  }
20301
- }
20302
- } catch (e_5_1) {
20303
- e_5 = {
20304
- error: e_5_1
20305
- };
20306
- } finally{
20307
- try {
20308
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
20309
- } finally{
20310
- if (e_5) throw e_5.error;
19553
+ } else if (!isArray && typeof value === 'object') {
19554
+ convertParam(value);
20311
19555
  }
20312
19556
  }
20313
19557
  }
20314
- var v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
20315
- var standardVersion = /^(\d+)\.(\d+)$/;
20316
- var reverseParticle = false;
19558
+
19559
+ const v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
19560
+ const standardVersion = /^(\d+)\.(\d+)$/;
19561
+ let reverseParticle = false;
20317
19562
  function getStandardJSON(json) {
20318
- var _a;
20319
19563
  if (!json || typeof json !== 'object') {
20320
19564
  throw Error('expect a json object');
20321
19565
  }
20322
19566
  // 修正老版本数据中,meshItem 以及 lightItem 结束行为错误问题
20323
19567
  version22Migration(json);
20324
19568
  if (v0.test(json.version)) {
20325
- reverseParticle = ((_a = /^(\d+)/.exec(json.version)) === null || _a === void 0 ? void 0 : _a[0]) === '0';
19569
+ var _exec;
19570
+ reverseParticle = ((_exec = /^(\d+)/.exec(json.version)) == null ? void 0 : _exec[0]) === '0';
20326
19571
  return version30Migration(version21Migration(getStandardJSONFromV0(json)));
20327
19572
  }
20328
- var vs = standardVersion.exec(json.version) || [];
20329
- var mainVersion = Number(vs[1]);
20330
- var minorVersion = Number(vs[2]);
19573
+ const vs = standardVersion.exec(json.version) || [];
19574
+ const mainVersion = Number(vs[1]);
19575
+ const minorVersion = Number(vs[2]);
20331
19576
  if (mainVersion) {
20332
19577
  if (mainVersion < 2 || mainVersion === 2 && minorVersion < 4) {
20333
19578
  json = version24Migration(json);
@@ -20339,46 +19584,41 @@ function getStandardJSON(json) {
20339
19584
  }
20340
19585
  throw Error('invalid json version ' + json.version);
20341
19586
  }
20342
- var currentVersion = '1.0';
19587
+ let currentVersion = '1.0';
20343
19588
  function getStandardJSONFromV0(json) {
20344
- var _a, _b;
19589
+ var _json_bins;
20345
19590
  currentVersion = '1.0';
20346
- var plugins = json.plugins || [];
20347
- if ((_a = json.bins) === null || _a === void 0 ? void 0 : _a.length) {
19591
+ const plugins = json.plugins || [];
19592
+ if ((_json_bins = json.bins) == null ? void 0 : _json_bins.length) {
20348
19593
  currentVersion = '1.3';
20349
19594
  }
20350
- var requires = (json.requires || []).slice();
20351
- var images = json.images.map(function(img, index) {
20352
- return getStandardImage(img, index, json.imageTags || []);
20353
- });
20354
- var textures = json.textures || images.map(function(img, i) {
20355
- return {
19595
+ const requires = (json.requires || []).slice();
19596
+ const images = json.images.map((img, index)=>getStandardImage(img, index, json.imageTags || []));
19597
+ const textures = json.textures || images.map((img, i)=>({
20356
19598
  source: i,
20357
19599
  flipY: true
20358
- };
20359
- });
20360
- var ret = {
19600
+ }));
19601
+ var _json_playerVersion;
19602
+ const ret = {
20361
19603
  plugins: plugins,
20362
19604
  shapes: json.shapes || [],
20363
19605
  type: 'ge',
20364
19606
  version: currentVersion,
20365
- playerVersion: (_b = json.playerVersion) !== null && _b !== void 0 ? _b : {
19607
+ playerVersion: (_json_playerVersion = json.playerVersion) != null ? _json_playerVersion : {
20366
19608
  web: '',
20367
19609
  native: ''
20368
19610
  },
20369
19611
  compositionId: json.compositionId + '',
20370
- compositions: json.compositions.map(function(comp) {
20371
- return getStandardComposition(comp, {
20372
- plugins: plugins,
20373
- requires: requires
20374
- });
20375
- }),
20376
- images: images,
19612
+ compositions: json.compositions.map((comp)=>getStandardComposition(comp, {
19613
+ plugins,
19614
+ requires
19615
+ })),
19616
+ images,
20377
19617
  imgUsage: json._imgs,
20378
19618
  binUsage: json.binUsage,
20379
19619
  spines: json.spines,
20380
19620
  requires: json.requires,
20381
- textures: textures,
19621
+ textures,
20382
19622
  bins: (json.bins || []).slice()
20383
19623
  };
20384
19624
  if (json._textures) {
@@ -20387,67 +19627,66 @@ function getStandardJSONFromV0(json) {
20387
19627
  return ret;
20388
19628
  }
20389
19629
  function getStandardImage(image, index, imageTags) {
20390
- var renderLevel = imageTags[index];
20391
- var oriY = image.oriY;
19630
+ const renderLevel = imageTags[index];
19631
+ const oriY = image.oriY;
20392
19632
  if (typeof image === 'string') {
20393
19633
  return {
20394
- renderLevel: renderLevel,
19634
+ id: generateGUID(),
19635
+ renderLevel,
20395
19636
  url: image,
20396
- oriY: oriY
19637
+ oriY
20397
19638
  };
20398
19639
  } else if (image.template) {
20399
19640
  return {
19641
+ id: generateGUID(),
20400
19642
  url: image.url,
20401
19643
  template: image.template,
20402
19644
  webp: image.webp,
20403
- renderLevel: renderLevel,
20404
- oriY: oriY
19645
+ renderLevel,
19646
+ oriY
20405
19647
  };
20406
19648
  } else if (image.compressed) {
20407
19649
  return {
19650
+ id: generateGUID(),
20408
19651
  url: image.url,
20409
- oriY: oriY,
19652
+ oriY,
20410
19653
  compressed: {
20411
19654
  astc: image.compressed.android,
20412
19655
  pvrtc: image.compressed.iOS
20413
19656
  },
20414
19657
  webp: image.webp,
20415
- renderLevel: renderLevel
19658
+ renderLevel
20416
19659
  };
20417
19660
  } else if (image.url) {
20418
19661
  return {
19662
+ id: generateGUID(),
20419
19663
  url: image.url,
20420
19664
  webp: image.webp,
20421
- renderLevel: renderLevel,
20422
- oriY: oriY
19665
+ renderLevel,
19666
+ oriY
20423
19667
  };
20424
19668
  } else if (image && image.sourceType) {
20425
19669
  return image;
20426
19670
  }
20427
19671
  throw Error('invalid image type');
20428
19672
  }
20429
- function getStandardComposition(composition, opt) {
20430
- var _a;
20431
- if (opt === void 0) {
20432
- opt = {};
20433
- }
20434
- var ret = {
19673
+ function getStandardComposition(composition, opt = {}) {
19674
+ var _composition_meta;
19675
+ const ret = {
20435
19676
  id: composition.id + '',
20436
- camera: __assign({
19677
+ camera: _extends({
20437
19678
  clipMode: CAMERA_CLIP_MODE_NORMAL
20438
19679
  }, composition.camera),
20439
19680
  duration: composition.duration,
20440
19681
  endBehavior: composition.endBehavior,
20441
- items: composition.items.map(function(item) {
20442
- return getStandardItem(item, opt);
20443
- }),
19682
+ items: composition.items.map((item)=>getStandardItem(item, opt)),
20444
19683
  name: composition.name
20445
19684
  };
20446
- var startTime = composition.startTime || composition.st;
19685
+ const startTime = composition.startTime || composition.st;
20447
19686
  if (startTime) {
20448
19687
  ret.startTime = startTime;
20449
19688
  }
20450
- var previewSize = (_a = composition.meta) === null || _a === void 0 ? void 0 : _a.previewSize;
19689
+ let previewSize = (_composition_meta = composition.meta) == null ? void 0 : _composition_meta.previewSize;
20451
19690
  if (previewSize && previewSize[0] === previewSize[1] && previewSize[0] === 0) {
20452
19691
  previewSize = undefined;
20453
19692
  }
@@ -20456,27 +19695,24 @@ function getStandardComposition(composition, opt) {
20456
19695
  }
20457
19696
  return ret;
20458
19697
  }
20459
- var tempQuat = [
19698
+ const tempQuat = [
20460
19699
  0,
20461
19700
  0,
20462
19701
  0,
20463
19702
  1
20464
19703
  ];
20465
- var stdAnchor = 0.5;
20466
- function getStandardItem(item, opt) {
20467
- var _a, _b, _c;
20468
- if (opt === void 0) {
20469
- opt = {};
20470
- }
20471
- var type = ItemType.base;
20472
- var transform;
20473
- var originContent;
20474
- var content;
20475
- var endBehavior = item.endBehavior;
20476
- var renderLevel;
20477
- var pluginName;
20478
- var duration = NaN;
20479
- var pn;
19704
+ const stdAnchor = 0.5;
19705
+ function getStandardItem(item, opt = {}) {
19706
+ var _content_renderer;
19707
+ let type = ItemType.base;
19708
+ let transform;
19709
+ let originContent;
19710
+ let content;
19711
+ let endBehavior = item.endBehavior;
19712
+ let renderLevel;
19713
+ let pluginName;
19714
+ let duration = NaN;
19715
+ let pn;
20480
19716
  if (item.content) {
20481
19717
  type = item.type || ItemType.plugin;
20482
19718
  pn = item.pn;
@@ -20523,8 +19759,8 @@ function getStandardItem(item, opt) {
20523
19759
  content = getStandardCameraContent(originContent);
20524
19760
  }
20525
19761
  }
20526
- if ((_a = content.renderer) === null || _a === void 0 ? void 0 : _a.anchor) {
20527
- var anchor = new Float32Array(content.renderer.anchor);
19762
+ if ((_content_renderer = content.renderer) == null ? void 0 : _content_renderer.anchor) {
19763
+ const anchor = new Float32Array(content.renderer.anchor);
20528
19764
  if (anchor[0] == stdAnchor && anchor[1] == stdAnchor) {
20529
19765
  delete content.renderer.anchor;
20530
19766
  } else if (opt.requires) {
@@ -20532,7 +19768,8 @@ function getStandardItem(item, opt) {
20532
19768
  }
20533
19769
  }
20534
19770
  if (originContent) {
20535
- var looping = (_b = originContent.options) === null || _b === void 0 ? void 0 : _b.looping;
19771
+ var _originContent_options;
19772
+ const looping = (_originContent_options = originContent.options) == null ? void 0 : _originContent_options.looping;
20536
19773
  if (looping) {
20537
19774
  if (Array.isArray(looping)) {
20538
19775
  endBehavior = looping[1] ? ItemEndBehavior.loop : ItemEndBehavior.destroy;
@@ -20540,7 +19777,8 @@ function getStandardItem(item, opt) {
20540
19777
  endBehavior = ItemEndBehavior.loop;
20541
19778
  }
20542
19779
  } else {
20543
- endBehavior = endBehavior || ((_c = originContent === null || originContent === void 0 ? void 0 : originContent.options) === null || _c === void 0 ? void 0 : _c.endBehavior) || ItemEndBehavior.destroy;
19780
+ var _originContent_options1;
19781
+ endBehavior = endBehavior || (originContent == null ? void 0 : (_originContent_options1 = originContent.options) == null ? void 0 : _originContent_options1.endBehavior) || ItemEndBehavior.destroy;
20544
19782
  }
20545
19783
  if (originContent.options.renderLevel) {
20546
19784
  renderLevel = originContent.options.renderLevel;
@@ -20549,18 +19787,18 @@ function getStandardItem(item, opt) {
20549
19787
  duration = originContent.options.duration;
20550
19788
  }
20551
19789
  }
20552
- var ret = {
20553
- type: type,
19790
+ const ret = {
19791
+ type,
20554
19792
  name: item.name,
20555
19793
  delay: item.delay,
20556
- duration: duration,
19794
+ duration,
20557
19795
  id: item.id + '',
20558
19796
  // @ts-expect-error
20559
- transform: transform,
20560
- endBehavior: endBehavior,
19797
+ transform,
19798
+ endBehavior,
20561
19799
  // @ts-expect-error
20562
- renderLevel: renderLevel,
20563
- content: content
19800
+ renderLevel,
19801
+ content
20564
19802
  };
20565
19803
  // @ts-expect-error
20566
19804
  if (pluginName) {
@@ -20581,58 +19819,58 @@ function getStandardItem(item, opt) {
20581
19819
  return ret;
20582
19820
  function getTransform(originTransform, inverseRotation, changeOrder) {
20583
19821
  if (originTransform) {
20584
- var transform_1 = {};
20585
- var rotation = originTransform.rotation;
19822
+ const transform = {};
19823
+ const rotation = originTransform.rotation;
20586
19824
  if (rotation) {
20587
19825
  if (inverseRotation) {
20588
- transform_1.rotation = [
19826
+ transform.rotation = [
20589
19827
  -rotation[0],
20590
19828
  -rotation[1],
20591
19829
  -rotation[2]
20592
19830
  ];
20593
19831
  } else {
20594
- transform_1.rotation = [
19832
+ transform.rotation = [
20595
19833
  rotation[0],
20596
19834
  rotation[1],
20597
19835
  rotation[2]
20598
19836
  ];
20599
19837
  }
20600
19838
  if (changeOrder) {
20601
- var q = quatFromXYZRotation(tempQuat, transform_1.rotation[0], transform_1.rotation[1], transform_1.rotation[2]);
20602
- transform_1.rotation = rotationZYXFromQuat([], q);
19839
+ const q = quatFromXYZRotation(tempQuat, transform.rotation[0], transform.rotation[1], transform.rotation[2]);
19840
+ transform.rotation = rotationZYXFromQuat([], q);
20603
19841
  }
20604
19842
  }
20605
- var position = originTransform.position;
19843
+ const position = originTransform.position;
20606
19844
  if (position) {
20607
- transform_1.position = originTransform.position;
19845
+ transform.position = originTransform.position;
20608
19846
  }
20609
19847
  if (Array.isArray(originTransform.scale)) {
20610
- transform_1.scale = [
19848
+ transform.scale = [
20611
19849
  originTransform.scale[0] || 1,
20612
19850
  originTransform.scale[1] || 1,
20613
19851
  originTransform.scale[2] || 1
20614
19852
  ];
20615
19853
  }
20616
- return transform_1;
19854
+ return transform;
20617
19855
  }
20618
19856
  return {};
20619
19857
  }
20620
19858
  }
20621
19859
 
20622
19860
  const renderLevelPassSet = {
20623
- [RenderLevel$1.S]: [
20624
- RenderLevel$1.S,
20625
- RenderLevel$1.BPlus,
20626
- RenderLevel$1.APlus
19861
+ [RenderLevel.S]: [
19862
+ RenderLevel.S,
19863
+ RenderLevel.BPlus,
19864
+ RenderLevel.APlus
20627
19865
  ],
20628
- [RenderLevel$1.A]: [
20629
- RenderLevel$1.A,
20630
- RenderLevel$1.BPlus,
20631
- RenderLevel$1.APlus
19866
+ [RenderLevel.A]: [
19867
+ RenderLevel.A,
19868
+ RenderLevel.BPlus,
19869
+ RenderLevel.APlus
20632
19870
  ],
20633
- [RenderLevel$1.B]: [
20634
- RenderLevel$1.B,
20635
- RenderLevel$1.BPlus
19871
+ [RenderLevel.B]: [
19872
+ RenderLevel.B,
19873
+ RenderLevel.BPlus
20636
19874
  ]
20637
19875
  };
20638
19876
  function passRenderLevel(l, renderLevel) {
@@ -20705,6 +19943,9 @@ function _combineImageTemplate() {
20705
19943
  return _combineImageTemplate.apply(this, arguments);
20706
19944
  }
20707
19945
 
19946
+ class ImageAsset extends EffectsObject {
19947
+ }
19948
+
20708
19949
  let seed = 1;
20709
19950
  /**
20710
19951
  * 资源管理器
@@ -20726,7 +19967,7 @@ let seed = 1;
20726
19967
  return;
20727
19968
  }
20728
19969
  items.forEach((item)=>{
20729
- if (item.type === ItemType$1.text) {
19970
+ if (item.type === ItemType.text) {
20730
19971
  const textVariable = variables[item.name];
20731
19972
  if (textVariable) {
20732
19973
  item.content.options.text = textVariable;
@@ -20802,7 +20043,7 @@ let seed = 1;
20802
20043
  images[i] = rawImages[i];
20803
20044
  }
20804
20045
  }
20805
- scene.images = yield hookTimeInfo('processImages', ()=>_this.processImages(images, scene.usedImages, compressedTexture));
20046
+ scene.images = yield hookTimeInfo('processImages', ()=>_this.processImages(images, compressedTexture));
20806
20047
  // 更新 TextureOptions 中的 image 指向
20807
20048
  for(let i = 0; i < scene.images.length; i++){
20808
20049
  scene.textureOptions[i].image = scene.images[i];
@@ -20815,11 +20056,17 @@ let seed = 1;
20815
20056
  const { bins = [], images, compositions, fonts } = jsonScene;
20816
20057
  const [loadedBins, loadedImages] = yield Promise.all([
20817
20058
  hookTimeInfo('processBins', ()=>_this.processBins(bins)),
20818
- hookTimeInfo('processImages', ()=>_this.processImages(images, usedImages, compressedTexture)),
20059
+ hookTimeInfo('processImages', ()=>_this.processImages(images, compressedTexture)),
20819
20060
  hookTimeInfo(`${asyncShaderCompile ? 'async' : 'sync'} compile`, ()=>_this.precompile(compositions, pluginSystem, renderer, options))
20820
20061
  ]);
20062
+ for(let i = 0; i < images.length; i++){
20063
+ const imageAsset = new ImageAsset(renderer.engine);
20064
+ imageAsset.data = loadedImages[i];
20065
+ imageAsset.setInstanceId(images[i].id);
20066
+ renderer == null ? void 0 : renderer.engine.addInstance(imageAsset);
20067
+ }
20821
20068
  yield hookTimeInfo('processFontURL', ()=>_this.processFontURL(fonts));
20822
- const loadedTextures = yield hookTimeInfo('processTextures', ()=>_this.processTextures(loadedImages, loadedBins, jsonScene));
20069
+ const loadedTextures = yield hookTimeInfo('processTextures', ()=>_this.processTextures(loadedImages, loadedBins, jsonScene, renderer.engine));
20823
20070
  _this.updateSceneData(jsonScene.items);
20824
20071
  scene = {
20825
20072
  url: url,
@@ -20940,15 +20187,12 @@ let seed = 1;
20940
20187
  return Promise.all(jobs);
20941
20188
  })();
20942
20189
  }
20943
- processImages(images, usage, compressedTexture) {
20190
+ processImages(images, compressedTexture) {
20944
20191
  var _this = this;
20945
20192
  return _async_to_generator(function*() {
20946
20193
  const { useCompressedTexture, variables } = _this.options;
20947
20194
  const baseUrl = _this.baseUrl;
20948
20195
  const jobs = images.map(/*#__PURE__*/ _async_to_generator(function*(img, idx) {
20949
- if (!usage[idx]) {
20950
- return undefined;
20951
- }
20952
20196
  const { url: png, webp } = img;
20953
20197
  // eslint-disable-next-line compat/compat
20954
20198
  const imageURL = new URL(png, baseUrl).href;
@@ -20961,7 +20205,7 @@ let seed = 1;
20961
20205
  const background = template.background;
20962
20206
  if (background) {
20963
20207
  const url = getBackgroundImage(template, variables);
20964
- const isVideo = background.type === BackgroundType$1.video;
20208
+ const isVideo = background.type === BackgroundType.video;
20965
20209
  // 根据背景类型确定加载函数
20966
20210
  const loadFn = background && isVideo ? loadVideo : loadImage;
20967
20211
  // 处理加载资源
@@ -21014,7 +20258,7 @@ let seed = 1;
21014
20258
  return Promise.all(jobs);
21015
20259
  })();
21016
20260
  }
21017
- processTextures(images, bins, jsonScene) {
20261
+ processTextures(images, bins, jsonScene, engine) {
21018
20262
  var _this = this;
21019
20263
  return _async_to_generator(function*() {
21020
20264
  var _jsonScene_textures;
@@ -21027,23 +20271,23 @@ let seed = 1;
21027
20271
  }
21028
20272
  if ('mipmaps' in texOpts) {
21029
20273
  try {
21030
- return yield deserializeMipmapTexture(texOpts, bins, jsonScene.bins);
20274
+ return yield deserializeMipmapTexture(texOpts, bins, jsonScene.bins, engine);
21031
20275
  } catch (e) {
21032
20276
  throw new Error(`load texture ${idx} fails, error message: ${e}`);
21033
20277
  }
21034
20278
  }
21035
20279
  const { source } = texOpts;
21036
- // TODO: 测试代码,待移除
21037
20280
  let image;
21038
- if (typeof source === 'number') {
21039
- image = images[source];
20281
+ if (isObject(source)) {
20282
+ //@ts-expect-error
20283
+ image = engine.assetLoader.loadGUID(source.id).data;
21040
20284
  } else if (typeof source === 'string') {
21041
20285
  image = yield loadImage(base64ToFile(source));
21042
20286
  }
21043
20287
  if (image) {
21044
20288
  const tex = createTextureOptionsBySource(image, _this.assets[idx]);
21045
20289
  tex.id = texOpts.id;
21046
- tex.dataType = DataType$1.Texture;
20290
+ tex.dataType = DataType.Texture;
21047
20291
  return tex.sourceType === exports.TextureSourceType.compressed ? tex : _extends({}, tex, texOpts);
21048
20292
  }
21049
20293
  throw new Error(`Invalid texture source: ${source}`);
@@ -21403,7 +20647,7 @@ const tmpScale = new Vector3(1, 1, 1);
21403
20647
  */ updateMatrix() {
21404
20648
  if (this.dirty) {
21405
20649
  const { fov, aspect, near, far, clipMode, position } = this.options;
21406
- this.projectionMatrix.perspective(fov * DEG2RAD, aspect, near, far, clipMode === CameraClipMode$1.portrait);
20650
+ this.projectionMatrix.perspective(fov * DEG2RAD, aspect, near, far, clipMode === CameraClipMode.portrait);
21407
20651
  this.inverseViewMatrix.compose(position, this.getQuat(), tmpScale);
21408
20652
  this.viewMatrix.copyFrom(this.inverseViewMatrix).invert();
21409
20653
  this.viewProjectionMatrix.multiplyMatrices(this.projectionMatrix, this.viewMatrix);
@@ -21425,7 +20669,7 @@ const tmpScale = new Vector3(1, 1, 1);
21425
20669
  this.viewProjectionMatrix = Matrix4.fromIdentity();
21426
20670
  this.inverseViewMatrix = Matrix4.fromIdentity();
21427
20671
  this.dirty = true;
21428
- const { near = 0.1, far = 20, fov = 60, aspect = 1, clipMode = CameraClipMode$1.portrait, position = [
20672
+ const { near = 0.1, far = 20, fov = 60, aspect = 1, clipMode = CameraClipMode.portrait, position = [
21429
20673
  0,
21430
20674
  0,
21431
20675
  8
@@ -21464,7 +20708,7 @@ const tmpScale = new Vector3(1, 1, 1);
21464
20708
  if (timeline) {
21465
20709
  this.timelineComponents.push(timeline);
21466
20710
  // 重播不销毁元素
21467
- if (this.item.endBehavior !== END_BEHAVIOR_DESTROY$1 || this.timelineComponent.reusable) {
20711
+ if (this.item.endBehavior !== ItemEndBehavior.destroy || this.timelineComponent.reusable) {
21468
20712
  timeline.reusable = true;
21469
20713
  }
21470
20714
  }
@@ -21504,23 +20748,23 @@ const tmpScale = new Vector3(1, 1, 1);
21504
20748
  props.content = itemData.content;
21505
20749
  item = new VFXItem(this.engine, _extends({}, props, itemData));
21506
20750
  // TODO 编辑器数据传入 composition type 后移除
21507
- item.type = ItemType$1.composition;
20751
+ item.type = ItemType.composition;
21508
20752
  item.composition = this.item.composition;
21509
20753
  item.addComponent(CompositionComponent).refId = refId;
21510
20754
  item.transform.parentTransform = this.transform;
21511
20755
  this.item.composition.refContent.push(item);
21512
- if (item.endBehavior === END_BEHAVIOR_RESTART$1) {
20756
+ if (item.endBehavior === ItemEndBehavior.loop) {
21513
20757
  this.item.composition.autoRefTex = false;
21514
20758
  }
21515
20759
  item.getComponent(CompositionComponent).createContent();
21516
20760
  for (const vfxItem of item.getComponent(CompositionComponent).items){
21517
- vfxItem.setInstanceId(generateGUID$1());
20761
+ vfxItem.setInstanceId(generateGUID());
21518
20762
  for (const component of vfxItem.components){
21519
- component.setInstanceId(generateGUID$1());
20763
+ component.setInstanceId(generateGUID());
21520
20764
  }
21521
20765
  }
21522
20766
  } else if (//@ts-expect-error
21523
- itemData.type === 'ECS' || itemData.type === ItemType$1.sprite || itemData.type === ItemType$1.text || itemData.type === ItemType$1.particle || itemData.type === ItemType$1.mesh || itemData.type === ItemType$1.skybox || itemData.type === ItemType$1.light || itemData.type === 'camera' || itemData.type === ItemType$1.tree || itemData.type === ItemType$1.interact || itemData.type === ItemType$1.camera) {
20767
+ itemData.type === 'ECS' || itemData.type === ItemType.sprite || itemData.type === ItemType.text || itemData.type === ItemType.particle || itemData.type === ItemType.mesh || itemData.type === ItemType.skybox || itemData.type === ItemType.light || itemData.type === 'camera' || itemData.type === ItemType.tree || itemData.type === ItemType.interact || itemData.type === ItemType.camera) {
21524
20768
  item = assetLoader.loadGUID(itemData.id);
21525
20769
  item.composition = this.item.composition;
21526
20770
  } else {
@@ -21532,7 +20776,7 @@ const tmpScale = new Vector3(1, 1, 1);
21532
20776
  }
21533
20777
  item.parent = this.item;
21534
20778
  // 相机不跟随合成移动
21535
- item.transform.parentTransform = itemData.type === ItemType$1.camera ? new Transform() : this.transform;
20779
+ item.transform.parentTransform = itemData.type === ItemType.camera ? new Transform() : this.transform;
21536
20780
  if (VFXItem.isExtraCamera(item)) {
21537
20781
  this.item.composition.extraCamera = item;
21538
20782
  }
@@ -21810,7 +21054,7 @@ const tmpScale = new Vector3(1, 1, 1);
21810
21054
  */ reset() {
21811
21055
  const vfxItem = new VFXItem(this.getEngine(), this.compositionSourceManager.sourceContent);
21812
21056
  // TODO 编辑器数据传入 composition type 后移除
21813
- vfxItem.type = ItemType$1.composition;
21057
+ vfxItem.type = ItemType.composition;
21814
21058
  vfxItem.composition = this;
21815
21059
  this.rootComposition = vfxItem.addComponent(CompositionComponent);
21816
21060
  this.rootTimeline = vfxItem.getComponent(TimelineComponent);
@@ -21867,7 +21111,7 @@ const tmpScale = new Vector3(1, 1, 1);
21867
21111
  * @returns 重新播放合成标志位
21868
21112
  */ shouldRestart() {
21869
21113
  const { ended, endBehavior } = this.rootItem;
21870
- return ended && endBehavior === END_BEHAVIOR_RESTART$1;
21114
+ return ended && endBehavior === ItemEndBehavior.loop;
21871
21115
  }
21872
21116
  /**
21873
21117
  * 是否合成需要销毁
@@ -21877,7 +21121,9 @@ const tmpScale = new Vector3(1, 1, 1);
21877
21121
  return false;
21878
21122
  }
21879
21123
  const { ended, endBehavior } = this.rootItem;
21880
- return ended && (!endBehavior || endBehavior === END_BEHAVIOR_PAUSE_AND_DESTROY$1);
21124
+ // TODO: 合成结束行为
21125
+ // @ts-expect-error
21126
+ return ended && (!endBehavior || endBehavior === END_BEHAVIOR_PAUSE_AND_DESTROY);
21881
21127
  }
21882
21128
  /**
21883
21129
  * 合成更新,针对所有 item 的更新
@@ -21953,7 +21199,7 @@ const tmpScale = new Vector3(1, 1, 1);
21953
21199
  }
21954
21200
  for (const child of item.children){
21955
21201
  if (VFXItem.isComposition(child)) {
21956
- if (child.ended && child.endBehavior === END_BEHAVIOR_RESTART$1) {
21202
+ if (child.ended && child.endBehavior === ItemEndBehavior.loop) {
21957
21203
  child.getComponent(CompositionComponent).resetStatus();
21958
21204
  // TODO K帧动画在元素重建后需要 tick ,否则会导致元素位置和 k 帧第一帧位置不一致
21959
21205
  this.callUpdate(child, 0);
@@ -22094,7 +21340,7 @@ const tmpScale = new Vector3(1, 1, 1);
22094
21340
  * @param item - 交互元素
22095
21341
  * @param type - 交互类型
22096
21342
  */ addInteractiveItem(item, type) {
22097
- if (type === InteractType$1.MESSAGE) {
21343
+ if (type === InteractType.MESSAGE) {
22098
21344
  this.onMessageItem == null ? void 0 : this.onMessageItem.call(this, {
22099
21345
  name: item.name,
22100
21346
  phrase: MESSAGE_ITEM_PHRASE_BEGIN,
@@ -22110,7 +21356,7 @@ const tmpScale = new Vector3(1, 1, 1);
22110
21356
  * @param type - 交互类型
22111
21357
  */ removeInteractiveItem(item, type) {
22112
21358
  // MESSAGE ITEM的结束行为
22113
- if (type === InteractType$1.MESSAGE) {
21359
+ if (type === InteractType.MESSAGE) {
22114
21360
  this.onMessageItem == null ? void 0 : this.onMessageItem.call(this, {
22115
21361
  name: item.name,
22116
21362
  phrase: MESSAGE_ITEM_PHRASE_END,
@@ -22151,8 +21397,8 @@ const tmpScale = new Vector3(1, 1, 1);
22151
21397
  * @param item - 需要销毁的 item
22152
21398
  */ destroyItem(item) {
22153
21399
  // 预合成元素销毁时销毁其中的item
22154
- if (item.type == ItemType$1.composition) {
22155
- if (item.endBehavior !== END_BEHAVIOR_FREEZE$1) {
21400
+ if (item.type == ItemType.composition) {
21401
+ if (item.endBehavior !== ItemEndBehavior.freeze) {
22156
21402
  const contentItems = item.getComponent(CompositionComponent).items;
22157
21403
  contentItems.forEach((it)=>this.pluginSystem.plugins.forEach((loader)=>loader.onCompositionItemRemoved(this, it)));
22158
21404
  }
@@ -22336,7 +21582,7 @@ const tmpScale = new Vector3(1, 1, 1);
22336
21582
  const vfxItem = new VFXItem(this.getEngine(), sourceContent);
22337
21583
  vfxItem.name = 'rootItem';
22338
21584
  // TODO 编辑器数据传入 composition type 后移除
22339
- vfxItem.type = ItemType$1.composition;
21585
+ vfxItem.type = ItemType.composition;
22340
21586
  vfxItem.composition = this;
22341
21587
  this.rootComposition = vfxItem.addComponent(CompositionComponent);
22342
21588
  this.rootTimeline = vfxItem.getComponent(TimelineComponent);
@@ -22363,7 +21609,7 @@ const tmpScale = new Vector3(1, 1, 1);
22363
21609
  this.reusable = reusable;
22364
21610
  this.speed = speed;
22365
21611
  this.renderLevel = renderLevel;
22366
- this.autoRefTex = !this.keepResource && imageUsage && vfxItem.endBehavior !== END_BEHAVIOR_RESTART$1;
21612
+ this.autoRefTex = !this.keepResource && imageUsage && vfxItem.endBehavior !== ItemEndBehavior.loop;
22367
21613
  this.rootItem = vfxItem;
22368
21614
  this.name = sourceContent.name;
22369
21615
  this.pluginSystem = pluginSystem;
@@ -22403,7 +21649,7 @@ let listOrder = 0;
22403
21649
  id,
22404
21650
  duration,
22405
21651
  name,
22406
- endBehavior: isNaN(endBehavior) ? END_BEHAVIOR_PAUSE$1 : endBehavior,
21652
+ endBehavior: isNaN(endBehavior) ? END_BEHAVIOR_PAUSE : endBehavior,
22407
21653
  // looping,
22408
21654
  items,
22409
21655
  camera,
@@ -22424,7 +21670,7 @@ let listOrder = 0;
22424
21670
  const sourceItemData = this.engine.jsonSceneData[itemDataPath.id];
22425
21671
  const itemProps = sourceItemData;
22426
21672
  if (passRenderLevel(sourceItemData.renderLevel, this.renderLevel)) {
22427
- if (itemProps.type === ItemType$1.sprite || itemProps.type === ItemType$1.particle) {
21673
+ if (itemProps.type === ItemType.sprite || itemProps.type === ItemType.particle) {
22428
21674
  for (const componentPath of itemProps.components){
22429
21675
  const componentData = componentMap[componentPath.id];
22430
21676
  this.preProcessItemContent(componentData);
@@ -22442,7 +21688,7 @@ let listOrder = 0;
22442
21688
  itemProps.pluginName = plugins[pn];
22443
21689
  }
22444
21690
  // 处理预合成的渲染顺序
22445
- if (itemProps.type === ItemType$1.composition) {
21691
+ if (itemProps.type === ItemType.composition) {
22446
21692
  const refId = sourceItemData.content.options.refId;
22447
21693
  if (!this.refCompositions.get(refId)) {
22448
21694
  throw new Error('Invalid Ref Composition id: ' + refId);
@@ -22509,13 +21755,13 @@ let listOrder = 0;
22509
21755
  * 处理蒙版和遮挡关系写入 stencil 的 ref 值
22510
21756
  */ processMask(renderer) {
22511
21757
  const maskMode = renderer.maskMode;
22512
- if (maskMode === MaskMode$1.NONE) {
21758
+ if (maskMode === MaskMode.NONE) {
22513
21759
  return;
22514
21760
  }
22515
21761
  if (!renderer.mask) {
22516
- if (maskMode === MaskMode$1.MASK) {
21762
+ if (maskMode === MaskMode.MASK) {
22517
21763
  renderer.mask = ++this.mask;
22518
- } else if (maskMode === MaskMode$1.OBSCURED || maskMode === MaskMode$1.REVERSE_OBSCURED) {
21764
+ } else if (maskMode === MaskMode.OBSCURED || maskMode === MaskMode.REVERSE_OBSCURED) {
22519
21765
  renderer.mask = this.mask;
22520
21766
  }
22521
21767
  }
@@ -22860,13 +22106,13 @@ class SerializationHelper {
22860
22106
  return undefined;
22861
22107
  }
22862
22108
  switch(effectsObjectData.dataType){
22863
- case DataType$1.Material:
22109
+ case DataType.Material:
22864
22110
  effectsObject = Material.create(this.engine);
22865
22111
  break;
22866
- case DataType$1.Geometry:
22112
+ case DataType.Geometry:
22867
22113
  effectsObject = Geometry.create(this.engine);
22868
22114
  break;
22869
- case DataType$1.Texture:
22115
+ case DataType.Texture:
22870
22116
  // @ts-expect-error
22871
22117
  effectsObject = Texture.create(this.engine, effectsObjectData);
22872
22118
  return effectsObject;
@@ -22910,13 +22156,13 @@ class SerializationHelper {
22910
22156
  return effectsObject;
22911
22157
  }
22912
22158
  switch(effectsObjectData.dataType){
22913
- case DataType$1.Material:
22159
+ case DataType.Material:
22914
22160
  effectsObject = Material.create(_this.engine);
22915
22161
  break;
22916
- case DataType$1.Geometry:
22162
+ case DataType.Geometry:
22917
22163
  effectsObject = Geometry.create(_this.engine);
22918
22164
  break;
22919
- case DataType$1.Texture:
22165
+ case DataType.Texture:
22920
22166
  // @ts-expect-error
22921
22167
  effectsObject = Texture.create(_this.engine, effectsObjectData);
22922
22168
  return effectsObject;
@@ -23018,7 +22264,9 @@ class Database {
23018
22264
  const jsonScene = scene.jsonScene;
23019
22265
  for (const itemData of jsonScene.items){
23020
22266
  const itemType = itemData.type;
23021
- if (!(itemType === 'ECS' || itemType === 'camera' || itemType === ItemType$1.sprite || itemType === ItemType$1.particle || itemType === ItemType$1.mesh || itemType === ItemType$1.skybox || itemType === ItemType$1.light || itemType === ItemType$1.tree || itemType === ItemType$1.interact || itemType === ItemType$1.camera)) {
22267
+ if (!// @ts-expect-error
22268
+ (itemType === 'ECS' || // @ts-expect-error
22269
+ itemType === 'camera' || itemType === ItemType.sprite || itemType === ItemType.particle || itemType === ItemType.mesh || itemType === ItemType.skybox || itemType === ItemType.light || itemType === ItemType.tree || itemType === ItemType.interact || itemType === ItemType.camera)) {
23022
22270
  continue;
23023
22271
  }
23024
22272
  if (_this.database) {
@@ -23341,7 +22589,7 @@ exports.Geometry = Geometry;
23341
22589
  exports.GlobalUniforms = GlobalUniforms;
23342
22590
  exports.GradientValue = GradientValue;
23343
22591
  exports.HELP_LINK = HELP_LINK;
23344
- exports.InteractBehavior = InteractBehavior$1;
22592
+ exports.InteractBehavior = InteractBehavior;
23345
22593
  exports.InteractComponent = InteractComponent;
23346
22594
  exports.InteractLoader = InteractLoader;
23347
22595
  exports.InteractMesh = InteractMesh;
@@ -23433,6 +22681,7 @@ exports.earcut = earcut;
23433
22681
  exports.effectsClass = effectsClass;
23434
22682
  exports.effectsClassStore = effectsClassStore;
23435
22683
  exports.enlargeBuffer = enlargeBuffer;
22684
+ exports.ensureFixedNumber = ensureFixedNumber;
23436
22685
  exports.ensureVec3 = ensureVec3;
23437
22686
  exports.findPreviousRenderPass = findPreviousRenderPass;
23438
22687
  exports.gaussianDownFrag = gaussianDown_frag;
@@ -23440,7 +22689,7 @@ exports.gaussianDownHFrag = gaussianDownHFrag;
23440
22689
  exports.gaussianDownVFrag = gaussianDownVFrag;
23441
22690
  exports.gaussianUpFrag = gaussianUpFrag;
23442
22691
  exports.generateEmptyTypedArray = generateEmptyTypedArray;
23443
- exports.generateGUID = generateGUID$1;
22692
+ exports.generateGUID = generateGUID;
23444
22693
  exports.generateHalfFloatTexture = generateHalfFloatTexture;
23445
22694
  exports.getBackgroundImage = getBackgroundImage;
23446
22695
  exports.getColorFromGradientStops = getColorFromGradientStops;
@@ -23496,6 +22745,7 @@ exports.math = index;
23496
22745
  exports.modifyMaxKeyframeShader = modifyMaxKeyframeShader;
23497
22746
  exports.nearestPowerOfTwo = nearestPowerOfTwo;
23498
22747
  exports.noop = noop;
22748
+ exports.normalizeColor = normalizeColor;
23499
22749
  exports.numberToFix = numberToFix;
23500
22750
  exports.parsePercent = parsePercent$1;
23501
22751
  exports.particleFrag = particleFrag;