@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.mjs 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
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
@@ -36,44 +36,44 @@ function _async_to_generator(fn) {
36
36
  // Unique ID creation requires a high quality random # generator. In the browser we therefore
37
37
  // require the crypto API and do not support built-in fallback to lower quality random number
38
38
  // generators (like Math.random()).
39
- let getRandomValues$1;
40
- const rnds8$1 = new Uint8Array(16);
41
- function rng$1() {
39
+ let getRandomValues;
40
+ const rnds8 = new Uint8Array(16);
41
+ function rng() {
42
42
  // lazy load so that environments that need to polyfill have a chance to do so
43
- if (!getRandomValues$1) {
43
+ if (!getRandomValues) {
44
44
  // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
45
- getRandomValues$1 = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
46
- if (!getRandomValues$1) {
45
+ getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
46
+ if (!getRandomValues) {
47
47
  throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
48
48
  }
49
49
  }
50
- return getRandomValues$1(rnds8$1);
50
+ return getRandomValues(rnds8);
51
51
  }
52
52
 
53
53
  /**
54
54
  * Convert array of 16 byte values to UUID string format of the form:
55
55
  * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
56
- */ const byteToHex$2 = [];
56
+ */ const byteToHex = [];
57
57
  for(let i = 0; i < 256; ++i){
58
- byteToHex$2.push((i + 0x100).toString(16).slice(1));
58
+ byteToHex.push((i + 0x100).toString(16).slice(1));
59
59
  }
60
- function unsafeStringify$1(arr, offset = 0) {
60
+ function unsafeStringify(arr, offset = 0) {
61
61
  // Note: Be careful editing this code! It's been tuned for performance
62
62
  // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
63
- 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]];
63
+ 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]];
64
64
  }
65
65
 
66
- const randomUUID$1 = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
67
- var native$1 = {
68
- randomUUID: randomUUID$1
66
+ const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
67
+ var native = {
68
+ randomUUID
69
69
  };
70
70
 
71
- function v4$1(options, buf, offset) {
72
- if (native$1.randomUUID && !buf && !options) {
73
- return native$1.randomUUID();
71
+ function v4(options, buf, offset) {
72
+ if (native.randomUUID && !buf && !options) {
73
+ return native.randomUUID();
74
74
  }
75
75
  options = options || {};
76
- const rnds = options.random || (options.rng || rng$1)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
76
+ const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
77
77
  rnds[6] = rnds[6] & 0x0f | 0x40;
78
78
  rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
79
79
  if (buf) {
@@ -83,7 +83,7 @@ function v4$1(options, buf, offset) {
83
83
  }
84
84
  return buf;
85
85
  }
86
- return unsafeStringify$1(rnds);
86
+ return unsafeStringify(rnds);
87
87
  }
88
88
 
89
89
  function addItem(arr, value) {
@@ -601,8 +601,8 @@ function random(min, max) {
601
601
  function throwDestroyedError() {
602
602
  throw Error('destroyed item cannot be used again');
603
603
  }
604
- function generateGUID$1() {
605
- return v4$1().replace(/-/g, '');
604
+ function generateGUID() {
605
+ return v4().replace(/-/g, '');
606
606
  }
607
607
 
608
608
  function __decorate(decorators, target, key, desc) {
@@ -1648,6 +1648,17 @@ Vector3.ZERO = new Vector3(0.0, 0.0, 0.0);
1648
1648
  this.w = Math.cos(halfAngle);
1649
1649
  return this;
1650
1650
  }
1651
+ /**
1652
+ * 通过 Vector4Like 创建四元数
1653
+ * @param v - Vector4Like
1654
+ * @returns
1655
+ */ setFromVector4(v) {
1656
+ this.x = v.x;
1657
+ this.y = v.y;
1658
+ this.z = v.z;
1659
+ this.w = v.w;
1660
+ return this;
1661
+ }
1651
1662
  /**
1652
1663
  * 通过数组设置四元数
1653
1664
  * @param array - 数组
@@ -2012,7 +2023,14 @@ Vector3.ZERO = new Vector3(0.0, 0.0, 0.0);
2012
2023
  return new Quaternion().setFromAxisAngle(axis, angle);
2013
2024
  }
2014
2025
  /**
2015
- * 通过数组获取四元数
2026
+ * 通过 Vector4Like 创建四元数
2027
+ * @param v - Vector4Like
2028
+ * @returns 四元数
2029
+ */ static fromVector4(v) {
2030
+ return new Quaternion().setFromVector4(v);
2031
+ }
2032
+ /**
2033
+ * 通过数组创建四元数
2016
2034
  * @param array - 数组
2017
2035
  * @param [offset=0] - 起始偏移值
2018
2036
  * @returns 四元数
@@ -3430,32 +3448,19 @@ Euler.DEFAULT_ORDER = EulerOrder.ZYX;
3430
3448
  Euler.tempQuat0 = new Quaternion();
3431
3449
  Euler.tempMat0 = new Matrix4();
3432
3450
 
3433
- /*!
3434
- * Name: @galacean/effects-specification
3435
- * Description: Galacean Effects JSON Specification
3436
- * Author: Ant Group CO., Ltd.
3437
- * Version: v2.0.0-alpha.9
3438
- */ typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
3439
- /**
3440
- * Convert array of 16 byte values to UUID string format of the form:
3441
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
3442
- */ const byteToHex$1 = [];
3443
- for(let i = 0; i < 256; ++i){
3444
- byteToHex$1.push((i + 0x100).toString(16).slice(1));
3445
- }
3446
3451
  /*********************************************/ /* 元素属性参数类型 */ /*********************************************/ /**
3447
3452
  * 渲染等级
3448
- */ var RenderLevel$1;
3453
+ */ var RenderLevel;
3449
3454
  (function(RenderLevel) {
3450
3455
  RenderLevel["S"] = "S";
3451
3456
  RenderLevel["APlus"] = "A+";
3452
3457
  RenderLevel["A"] = "A";
3453
3458
  RenderLevel["BPlus"] = "B+";
3454
3459
  RenderLevel["B"] = "B";
3455
- })(RenderLevel$1 || (RenderLevel$1 = {}));
3460
+ })(RenderLevel || (RenderLevel = {}));
3456
3461
  /**
3457
3462
  * 混合模式
3458
- */ var BlendingMode$1;
3463
+ */ var BlendingMode;
3459
3464
  (function(BlendingMode) {
3460
3465
  /**
3461
3466
  * 普通混合模式
@@ -3481,10 +3486,10 @@ for(let i = 0; i < 256; ++i){
3481
3486
  /**
3482
3487
  * 亮度叠加混合模式
3483
3488
  */ BlendingMode[BlendingMode["SUPERPOSITION"] = 7] = "SUPERPOSITION";
3484
- })(BlendingMode$1 || (BlendingMode$1 = {}));
3489
+ })(BlendingMode || (BlendingMode = {}));
3485
3490
  /**
3486
3491
  * 单双面模式
3487
- */ var SideMode$1;
3492
+ */ var SideMode;
3488
3493
  (function(SideMode) {
3489
3494
  /**
3490
3495
  * 双面模式
@@ -3495,10 +3500,10 @@ for(let i = 0; i < 256; ++i){
3495
3500
  /**
3496
3501
  * 背面模式
3497
3502
  */ SideMode[SideMode["BACK"] = 1029] = "BACK";
3498
- })(SideMode$1 || (SideMode$1 = {}));
3503
+ })(SideMode || (SideMode = {}));
3499
3504
  /**
3500
3505
  * 蒙版模式
3501
- */ var MaskMode$1;
3506
+ */ var MaskMode;
3502
3507
  (function(MaskMode) {
3503
3508
  /**
3504
3509
  * 无蒙版
@@ -3512,10 +3517,10 @@ for(let i = 0; i < 256; ++i){
3512
3517
  /**
3513
3518
  * 被反向遮挡
3514
3519
  */ MaskMode[MaskMode["REVERSE_OBSCURED"] = 3] = "REVERSE_OBSCURED";
3515
- })(MaskMode$1 || (MaskMode$1 = {}));
3520
+ })(MaskMode || (MaskMode = {}));
3516
3521
  /**
3517
3522
  * 发射器形状
3518
- */ var ShapeType$1;
3523
+ */ var ShapeType;
3519
3524
  (function(ShapeType) {
3520
3525
  /**
3521
3526
  * 没有类型
@@ -3547,10 +3552,10 @@ for(let i = 0; i < 256; ++i){
3547
3552
  /**
3548
3553
  * 贴图
3549
3554
  */ ShapeType[ShapeType["TEXTURE"] = 9] = "TEXTURE";
3550
- })(ShapeType$1 || (ShapeType$1 = {}));
3555
+ })(ShapeType || (ShapeType = {}));
3551
3556
  /**
3552
3557
  * 插件类型
3553
- */ var PluginType$1;
3558
+ */ var PluginType;
3554
3559
  (function(PluginType) {
3555
3560
  /**
3556
3561
  * 陀螺仪
@@ -3558,10 +3563,10 @@ for(let i = 0; i < 256; ++i){
3558
3563
  /**
3559
3564
  * Spine
3560
3565
  */ PluginType[PluginType["SPINE"] = 1] = "SPINE";
3561
- })(PluginType$1 || (PluginType$1 = {}));
3566
+ })(PluginType || (PluginType = {}));
3562
3567
  /**
3563
3568
  * 交互类型
3564
- */ var InteractType$1;
3569
+ */ var InteractType;
3565
3570
  (function(InteractType) {
3566
3571
  /**
3567
3572
  * 点击
@@ -3573,10 +3578,10 @@ for(let i = 0; i < 256; ++i){
3573
3578
  /**
3574
3579
  * 拖拽
3575
3580
  */ InteractType[InteractType["DRAG"] = 2] = "DRAG";
3576
- })(InteractType$1 || (InteractType$1 = {}));
3581
+ })(InteractType || (InteractType = {}));
3577
3582
  /**
3578
3583
  * 交互行为
3579
- */ var InteractBehavior$2;
3584
+ */ var InteractBehavior$1;
3580
3585
  (function(InteractBehavior) {
3581
3586
  /**
3582
3587
  * 无
@@ -3593,10 +3598,10 @@ for(let i = 0; i < 256; ++i){
3593
3598
  /**
3594
3599
  * 暂停播放器
3595
3600
  */ InteractBehavior[InteractBehavior["PAUSE"] = 4] = "PAUSE";
3596
- })(InteractBehavior$2 || (InteractBehavior$2 = {}));
3601
+ })(InteractBehavior$1 || (InteractBehavior$1 = {}));
3597
3602
  /**
3598
3603
  * 元素类型
3599
- */ var ItemType$1;
3604
+ */ var ItemType;
3600
3605
  (function(ItemType) {
3601
3606
  /**
3602
3607
  * 错误元素
@@ -3643,10 +3648,10 @@ for(let i = 0; i < 256; ++i){
3643
3648
  /**
3644
3649
  * 特效元素
3645
3650
  */ ItemType["effect"] = "effect";
3646
- })(ItemType$1 || (ItemType$1 = {}));
3651
+ })(ItemType || (ItemType = {}));
3647
3652
  /**
3648
3653
  * 渲染模式
3649
- */ var RenderMode$1;
3654
+ */ var RenderMode;
3650
3655
  (function(RenderMode) {
3651
3656
  /**
3652
3657
  * 广告牌模式
@@ -3660,10 +3665,10 @@ for(let i = 0; i < 256; ++i){
3660
3665
  /**
3661
3666
  * 水平广告牌模式
3662
3667
  */ RenderMode[RenderMode["HORIZONTAL_BILLBOARD"] = 3] = "HORIZONTAL_BILLBOARD";
3663
- })(RenderMode$1 || (RenderMode$1 = {}));
3668
+ })(RenderMode || (RenderMode = {}));
3664
3669
  /**
3665
3670
  * 变换中心
3666
- */ var ParticleOrigin$1;
3671
+ */ var ParticleOrigin;
3667
3672
  (function(ParticleOrigin) {
3668
3673
  /**
3669
3674
  * 水平和垂直中点
@@ -3692,59 +3697,63 @@ for(let i = 0; i < 256; ++i){
3692
3697
  /**
3693
3698
  * 水平右侧 垂直底部
3694
3699
  */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_RIGHT_BOTTOM"] = 8] = "PARTICLE_ORIGIN_RIGHT_BOTTOM";
3695
- })(ParticleOrigin$1 || (ParticleOrigin$1 = {}));
3696
- var END_BEHAVIOR_DESTROY$1 = 0;
3697
- var END_BEHAVIOR_PAUSE$1 = 1;
3698
- var END_BEHAVIOR_FORWARD$1 = 2;
3699
- var END_BEHAVIOR_PAUSE_AND_DESTROY$1 = 3;
3700
- var END_BEHAVIOR_FREEZE$1 = 4;
3701
- var END_BEHAVIOR_RESTART$1 = 5;
3702
- var END_BEHAVIOR_DESTROY_CHILDREN$1 = 6;
3703
- var CAMERA_CLIP_MODE_VERTICAL$1 = 1;
3704
- var CAMERA_CLIP_MODE_NORMAL$1 = 0;
3705
- var MESSAGE_ITEM_PHRASE_BEGIN = 2;
3706
- var MESSAGE_ITEM_PHRASE_END = 1;
3707
- var CameraClipMode$1;
3700
+ })(ParticleOrigin || (ParticleOrigin = {}));
3701
+
3702
+ const END_BEHAVIOR_DESTROY = 0;
3703
+ const END_BEHAVIOR_PAUSE = 1;
3704
+ const END_BEHAVIOR_FORWARD = 2;
3705
+ const END_BEHAVIOR_PAUSE_AND_DESTROY = 3;
3706
+ const END_BEHAVIOR_FREEZE = 4;
3707
+ const END_BEHAVIOR_RESTART = 5;
3708
+ const END_BEHAVIOR_DESTROY_CHILDREN = 6;
3709
+ const CAMERA_CLIP_MODE_VERTICAL = 1;
3710
+ const CAMERA_CLIP_MODE_NORMAL = 0;
3711
+ const MESSAGE_ITEM_PHRASE_BEGIN = 2;
3712
+ const MESSAGE_ITEM_PHRASE_END = 1;
3713
+
3714
+ var CameraClipMode;
3708
3715
  (function(CameraClipMode) {
3709
3716
  /**
3710
3717
  * 剪裁上下
3711
- */ CameraClipMode[CameraClipMode["portrait"] = CAMERA_CLIP_MODE_VERTICAL$1] = "portrait";
3718
+ */ CameraClipMode[CameraClipMode["portrait"] = 1] = "portrait";
3712
3719
  /**
3713
3720
  * 剪裁左右
3714
- */ CameraClipMode[CameraClipMode["landscape"] = CAMERA_CLIP_MODE_NORMAL$1] = "landscape";
3715
- })(CameraClipMode$1 || (CameraClipMode$1 = {}));
3721
+ */ CameraClipMode[CameraClipMode["landscape"] = 0] = "landscape";
3722
+ })(CameraClipMode || (CameraClipMode = {}));
3716
3723
  /**
3717
3724
  * 结束行为
3718
- */ var CompositionEndBehavior$1;
3725
+ */ var CompositionEndBehavior;
3719
3726
  (function(CompositionEndBehavior) {
3720
3727
  /**
3721
3728
  * 销毁
3722
- */ CompositionEndBehavior[CompositionEndBehavior["destroy"] = END_BEHAVIOR_DESTROY$1] = "destroy";
3729
+ */ CompositionEndBehavior[CompositionEndBehavior["destroy"] = 0] = "destroy";
3723
3730
  /**
3724
3731
  * 暂停
3725
- */ CompositionEndBehavior[CompositionEndBehavior["pause"] = END_BEHAVIOR_PAUSE$1] = "pause";
3732
+ */ CompositionEndBehavior[CompositionEndBehavior["pause"] = 1] = "pause";
3726
3733
  /**
3727
3734
  * 重播
3728
- */ CompositionEndBehavior[CompositionEndBehavior["restart"] = END_BEHAVIOR_RESTART$1] = "restart";
3735
+ */ CompositionEndBehavior[CompositionEndBehavior["restart"] = 5] = "restart";
3729
3736
  /**
3730
3737
  * 无限播放
3731
- */ CompositionEndBehavior[CompositionEndBehavior["forward"] = END_BEHAVIOR_FORWARD$1] = "forward";
3738
+ */ CompositionEndBehavior[CompositionEndBehavior["forward"] = 2] = "forward";
3732
3739
  /**
3733
3740
  * 销毁并保留最后一帧
3734
- */ CompositionEndBehavior[CompositionEndBehavior["pause_destroy"] = END_BEHAVIOR_PAUSE_AND_DESTROY$1] = "pause_destroy";
3741
+ */ CompositionEndBehavior[CompositionEndBehavior["pause_destroy"] = 3] = "pause_destroy";
3735
3742
  /**
3736
3743
  * 冻结
3737
- */ CompositionEndBehavior[CompositionEndBehavior["freeze"] = END_BEHAVIOR_FREEZE$1] = "freeze";
3738
- })(CompositionEndBehavior$1 || (CompositionEndBehavior$1 = {}));
3744
+ */ CompositionEndBehavior[CompositionEndBehavior["freeze"] = 4] = "freeze";
3745
+ })(CompositionEndBehavior || (CompositionEndBehavior = {}));
3746
+
3739
3747
  /**
3740
3748
  * 动态换图类型
3741
3749
  * @since 1.1.0
3742
- */ var BackgroundType$1;
3750
+ */ var BackgroundType;
3743
3751
  (function(BackgroundType) {
3744
3752
  BackgroundType["video"] = "video";
3745
3753
  BackgroundType["image"] = "image";
3746
- })(BackgroundType$1 || (BackgroundType$1 = {}));
3747
- /*********************************************/ /* 基本数值属性参数 */ /*********************************************/ var ValueType$1;
3754
+ })(BackgroundType || (BackgroundType = {}));
3755
+
3756
+ /*********************************************/ /* 基本数值属性参数 */ /*********************************************/ var ValueType;
3748
3757
  (function(ValueType) {
3749
3758
  /**
3750
3759
  * 常数
@@ -3797,10 +3806,10 @@ var CameraClipMode$1;
3797
3806
  /**
3798
3807
  * 贝塞尔曲线路径
3799
3808
  */ ValueType[ValueType["BEZIER_CURVE_PATH"] = 22] = "BEZIER_CURVE_PATH";
3800
- })(ValueType$1 || (ValueType$1 = {}));
3809
+ })(ValueType || (ValueType = {}));
3801
3810
  /**
3802
3811
  * 关键帧类型
3803
- */ var BezierKeyframeType$1;
3812
+ */ var BezierKeyframeType;
3804
3813
  (function(BezierKeyframeType) {
3805
3814
  BezierKeyframeType[BezierKeyframeType["AUTO"] = 0] = "AUTO";
3806
3815
  BezierKeyframeType[BezierKeyframeType["EASE"] = 1] = "EASE";
@@ -3809,20 +3818,22 @@ var CameraClipMode$1;
3809
3818
  BezierKeyframeType[BezierKeyframeType["LINE"] = 4] = "LINE";
3810
3819
  BezierKeyframeType[BezierKeyframeType["HOLD"] = 5] = "HOLD";
3811
3820
  BezierKeyframeType[BezierKeyframeType["LINE_OUT"] = 6] = "LINE_OUT";
3812
- })(BezierKeyframeType$1 || (BezierKeyframeType$1 = {}));
3813
- var ItemEndBehavior$1;
3821
+ })(BezierKeyframeType || (BezierKeyframeType = {}));
3822
+
3823
+ var ItemEndBehavior;
3814
3824
  (function(ItemEndBehavior) {
3815
- ItemEndBehavior[ItemEndBehavior["destroy"] = END_BEHAVIOR_DESTROY$1] = "destroy";
3816
- ItemEndBehavior[ItemEndBehavior["loop"] = END_BEHAVIOR_RESTART$1] = "loop";
3817
- ItemEndBehavior[ItemEndBehavior["freeze"] = END_BEHAVIOR_FREEZE$1] = "freeze";
3818
- })(ItemEndBehavior$1 || (ItemEndBehavior$1 = {}));
3819
- var ParentItemEndBehavior$1;
3825
+ ItemEndBehavior[ItemEndBehavior["destroy"] = 0] = "destroy";
3826
+ ItemEndBehavior[ItemEndBehavior["loop"] = 5] = "loop";
3827
+ ItemEndBehavior[ItemEndBehavior["freeze"] = 4] = "freeze";
3828
+ })(ItemEndBehavior || (ItemEndBehavior = {}));
3829
+ var ParentItemEndBehavior;
3820
3830
  (function(ParentItemEndBehavior) {
3821
- ParentItemEndBehavior[ParentItemEndBehavior["destroyChildren"] = END_BEHAVIOR_DESTROY_CHILDREN$1] = "destroyChildren";
3822
- })(ParentItemEndBehavior$1 || (ParentItemEndBehavior$1 = {}));
3831
+ ParentItemEndBehavior[ParentItemEndBehavior["destroyChildren"] = 6] = "destroyChildren";
3832
+ })(ParentItemEndBehavior || (ParentItemEndBehavior = {}));
3833
+
3823
3834
  /**
3824
3835
  * 粒子交互行为
3825
- */ var ParticleInteractionBehavior$1;
3836
+ */ var ParticleInteractionBehavior;
3826
3837
  (function(ParticleInteractionBehavior) {
3827
3838
  /**
3828
3839
  * 无
@@ -3830,8 +3841,9 @@ var ParentItemEndBehavior$1;
3830
3841
  /**
3831
3842
  * 移出粒子
3832
3843
  */ ParticleInteractionBehavior[ParticleInteractionBehavior["removeParticle"] = 1] = "removeParticle";
3833
- })(ParticleInteractionBehavior$1 || (ParticleInteractionBehavior$1 = {}));
3834
- var ShapeArcMode$1;
3844
+ })(ParticleInteractionBehavior || (ParticleInteractionBehavior = {}));
3845
+
3846
+ var ShapeArcMode;
3835
3847
  (function(ShapeArcMode) {
3836
3848
  /**
3837
3849
  * 随机
@@ -3845,8 +3857,9 @@ var ShapeArcMode$1;
3845
3857
  /**
3846
3858
  * 均匀爆发
3847
3859
  */ ShapeArcMode[ShapeArcMode["UNIFORM_BURST"] = 3] = "UNIFORM_BURST";
3848
- })(ShapeArcMode$1 || (ShapeArcMode$1 = {}));
3849
- var LightType$1;
3860
+ })(ShapeArcMode || (ShapeArcMode = {}));
3861
+
3862
+ var LightType;
3850
3863
  (function(LightType) {
3851
3864
  /**
3852
3865
  * 点光源
@@ -3860,36 +3873,40 @@ var LightType$1;
3860
3873
  /**
3861
3874
  * 环境光
3862
3875
  */ LightType["ambient"] = "ambient";
3863
- })(LightType$1 || (LightType$1 = {}));
3864
- var ModelBoundingType$1;
3876
+ })(LightType || (LightType = {}));
3877
+
3878
+ var ModelBoundingType;
3865
3879
  (function(ModelBoundingType) {
3866
3880
  ModelBoundingType[ModelBoundingType["box"] = 2] = "box";
3867
3881
  ModelBoundingType[ModelBoundingType["sphere"] = 3] = "sphere";
3868
- })(ModelBoundingType$1 || (ModelBoundingType$1 = {}));
3869
- var CameraType$1;
3882
+ })(ModelBoundingType || (ModelBoundingType = {}));
3883
+
3884
+ var CameraType;
3870
3885
  (function(CameraType) {
3871
3886
  CameraType["orthographic"] = "orthographic";
3872
3887
  CameraType["perspective"] = "perspective";
3873
- })(CameraType$1 || (CameraType$1 = {}));
3888
+ })(CameraType || (CameraType = {}));
3889
+
3874
3890
  // 材质类型
3875
- var MaterialType$1;
3891
+ var MaterialType;
3876
3892
  (function(MaterialType) {
3877
3893
  MaterialType["unlit"] = "unlit";
3878
3894
  MaterialType["pbr"] = "pbr";
3879
3895
  // 头发材质,在 pbr 材质基础上扩展
3880
3896
  MaterialType["hair"] = "hair";
3881
- })(MaterialType$1 || (MaterialType$1 = {}));
3897
+ })(MaterialType || (MaterialType = {}));
3882
3898
  // 混合模式
3883
- var MaterialBlending$1;
3899
+ var MaterialBlending;
3884
3900
  (function(MaterialBlending) {
3885
3901
  MaterialBlending[MaterialBlending["opaque"] = 100] = "opaque";
3886
3902
  MaterialBlending[MaterialBlending["masked"] = 101] = "masked";
3887
3903
  MaterialBlending[MaterialBlending["translucent"] = 102] = "translucent";
3888
3904
  MaterialBlending[MaterialBlending["additive"] = 103] = "additive";
3889
- })(MaterialBlending$1 || (MaterialBlending$1 = {}));
3905
+ })(MaterialBlending || (MaterialBlending = {}));
3906
+
3890
3907
  /**
3891
3908
  * 3D渲染模式:将渲染过程中的中间结果输出,主要用于排查渲染效果问题,支持 pbr 和 unlit 材质
3892
- */ var RenderMode3D$1;
3909
+ */ var RenderMode3D;
3893
3910
  (function(RenderMode3D) {
3894
3911
  /**
3895
3912
  * 正常渲染
@@ -3918,8 +3935,9 @@ var MaterialBlending$1;
3918
3935
  /**
3919
3936
  * 自发光
3920
3937
  */ RenderMode3D["emissive"] = "emissive";
3921
- })(RenderMode3D$1 || (RenderMode3D$1 = {}));
3922
- var TextOverflow$1;
3938
+ })(RenderMode3D || (RenderMode3D = {}));
3939
+
3940
+ var TextOverflow;
3923
3941
  (function(TextOverflow) {
3924
3942
  /**
3925
3943
  * display 模式下,会显示所有文本,存在文本超过边界框的情况。
@@ -3930,8 +3948,8 @@ var TextOverflow$1;
3930
3948
  /**
3931
3949
  * ellipsis 模式下,会使用(...)来代替超出边界框的内容。
3932
3950
  */ TextOverflow[TextOverflow["ellipsis"] = 2] = "ellipsis";
3933
- })(TextOverflow$1 || (TextOverflow$1 = {}));
3934
- var TextBaseline$1;
3951
+ })(TextOverflow || (TextOverflow = {}));
3952
+ var TextBaseline;
3935
3953
  (function(TextBaseline) {
3936
3954
  /**
3937
3955
  * 文本顶对齐。
@@ -3942,8 +3960,8 @@ var TextBaseline$1;
3942
3960
  /**
3943
3961
  * 文本底对齐。
3944
3962
  */ TextBaseline[TextBaseline["bottom"] = 2] = "bottom";
3945
- })(TextBaseline$1 || (TextBaseline$1 = {}));
3946
- var TextAlignment$1;
3963
+ })(TextBaseline || (TextBaseline = {}));
3964
+ var TextAlignment;
3947
3965
  (function(TextAlignment) {
3948
3966
  /**
3949
3967
  * text alignment starts from(x,y) to right direction
@@ -3957,10 +3975,10 @@ var TextAlignment$1;
3957
3975
  * text alignment ends with(x,y) from left direction
3958
3976
  * 从(x,y)结束最后一个字符,向左边延伸
3959
3977
  */ TextAlignment[TextAlignment["right"] = 2] = "right";
3960
- })(TextAlignment$1 || (TextAlignment$1 = {}));
3978
+ })(TextAlignment || (TextAlignment = {}));
3961
3979
  /**
3962
3980
  * 文本字重
3963
- */ var TextWeight$1;
3981
+ */ var TextWeight;
3964
3982
  (function(TextWeight) {
3965
3983
  /**
3966
3984
  * 正常
@@ -3971,10 +3989,10 @@ var TextAlignment$1;
3971
3989
  /**
3972
3990
  * 瘦体
3973
3991
  */ TextWeight["lighter"] = "lighter";
3974
- })(TextWeight$1 || (TextWeight$1 = {}));
3992
+ })(TextWeight || (TextWeight = {}));
3975
3993
  /**
3976
3994
  * 文本样式
3977
- */ var FontStyle$1;
3995
+ */ var FontStyle;
3978
3996
  (function(FontStyle) {
3979
3997
  /**
3980
3998
  * 正常
@@ -3985,8 +4003,9 @@ var TextAlignment$1;
3985
4003
  /**
3986
4004
  * 倾斜体
3987
4005
  */ FontStyle["oblique"] = "oblique";
3988
- })(FontStyle$1 || (FontStyle$1 = {}));
3989
- var DataType$1;
4006
+ })(FontStyle || (FontStyle = {}));
4007
+
4008
+ var DataType;
3990
4009
  (function(DataType) {
3991
4010
  DataType["VFXItemData"] = "VFXItemData";
3992
4011
  DataType["EffectComponent"] = "EffectComponent";
@@ -4006,8 +4025,8 @@ var DataType$1;
4006
4025
  DataType["CameraComponent"] = "CameraComponent";
4007
4026
  DataType["ModelPluginComponent"] = "ModelPluginComponent";
4008
4027
  DataType["TreeComponent"] = "TreeComponent";
4009
- })(DataType$1 || (DataType$1 = {}));
4010
- var GeometryType$1;
4028
+ })(DataType || (DataType = {}));
4029
+ var GeometryType;
4011
4030
  (function(GeometryType) {
4012
4031
  /**
4013
4032
  * Draw single points.
@@ -4030,62 +4049,61 @@ var GeometryType$1;
4030
4049
  /**
4031
4050
  * Draw a connected group of triangles. Each vertex connects to the previous and the first vertex in the fan.
4032
4051
  */ GeometryType[GeometryType["TRIANGLE_FAN"] = 6] = "TRIANGLE_FAN";
4033
- })(GeometryType$1 || (GeometryType$1 = {}));
4034
- var BuiltinObjectGUID = /** @class */ function() {
4035
- function BuiltinObjectGUID() {}
4036
- BuiltinObjectGUID.WhiteTexture = 'whitetexture00000000000000000000';
4037
- BuiltinObjectGUID.PBRShader = 'pbr00000000000000000000000000000';
4038
- BuiltinObjectGUID.UnlitShader = 'unlit000000000000000000000000000';
4039
- return BuiltinObjectGUID;
4040
- }();
4052
+ })(GeometryType || (GeometryType = {}));
4053
+
4054
+ class BuiltinObjectGUID {
4055
+ }
4056
+ BuiltinObjectGUID.WhiteTexture = 'whitetexture00000000000000000000';
4057
+ BuiltinObjectGUID.PBRShader = 'pbr00000000000000000000000000000';
4058
+ BuiltinObjectGUID.UnlitShader = 'unlit000000000000000000000000000';
4041
4059
 
4042
4060
  var index$1 = /*#__PURE__*/Object.freeze({
4043
4061
  __proto__: null,
4044
- get BackgroundType () { return BackgroundType$1; },
4045
- get BezierKeyframeType () { return BezierKeyframeType$1; },
4046
- get BlendingMode () { return BlendingMode$1; },
4047
- BuiltinObjectGUID: BuiltinObjectGUID,
4048
- CAMERA_CLIP_MODE_NORMAL: CAMERA_CLIP_MODE_NORMAL$1,
4049
- CAMERA_CLIP_MODE_VERTICAL: CAMERA_CLIP_MODE_VERTICAL$1,
4050
- get CameraClipMode () { return CameraClipMode$1; },
4051
- get CameraType () { return CameraType$1; },
4052
- get CompositionEndBehavior () { return CompositionEndBehavior$1; },
4053
- get DataType () { return DataType$1; },
4054
- END_BEHAVIOR_DESTROY: END_BEHAVIOR_DESTROY$1,
4055
- END_BEHAVIOR_DESTROY_CHILDREN: END_BEHAVIOR_DESTROY_CHILDREN$1,
4056
- END_BEHAVIOR_FORWARD: END_BEHAVIOR_FORWARD$1,
4057
- END_BEHAVIOR_FREEZE: END_BEHAVIOR_FREEZE$1,
4058
- END_BEHAVIOR_PAUSE: END_BEHAVIOR_PAUSE$1,
4059
- END_BEHAVIOR_PAUSE_AND_DESTROY: END_BEHAVIOR_PAUSE_AND_DESTROY$1,
4060
- END_BEHAVIOR_RESTART: END_BEHAVIOR_RESTART$1,
4061
- get FontStyle () { return FontStyle$1; },
4062
- get GeometryType () { return GeometryType$1; },
4063
- get InteractBehavior () { return InteractBehavior$2; },
4064
- get InteractType () { return InteractType$1; },
4065
- get ItemEndBehavior () { return ItemEndBehavior$1; },
4066
- get ItemType () { return ItemType$1; },
4067
- get LightType () { return LightType$1; },
4062
+ get RenderLevel () { return RenderLevel; },
4063
+ get BlendingMode () { return BlendingMode; },
4064
+ get SideMode () { return SideMode; },
4065
+ get MaskMode () { return MaskMode; },
4066
+ get ShapeType () { return ShapeType; },
4067
+ get PluginType () { return PluginType; },
4068
+ get InteractType () { return InteractType; },
4069
+ get InteractBehavior () { return InteractBehavior$1; },
4070
+ get ItemType () { return ItemType; },
4071
+ get RenderMode () { return RenderMode; },
4072
+ get ParticleOrigin () { return ParticleOrigin; },
4073
+ get CameraClipMode () { return CameraClipMode; },
4074
+ get CompositionEndBehavior () { return CompositionEndBehavior; },
4075
+ get BackgroundType () { return BackgroundType; },
4076
+ END_BEHAVIOR_DESTROY: END_BEHAVIOR_DESTROY,
4077
+ END_BEHAVIOR_PAUSE: END_BEHAVIOR_PAUSE,
4078
+ END_BEHAVIOR_FORWARD: END_BEHAVIOR_FORWARD,
4079
+ END_BEHAVIOR_PAUSE_AND_DESTROY: END_BEHAVIOR_PAUSE_AND_DESTROY,
4080
+ END_BEHAVIOR_FREEZE: END_BEHAVIOR_FREEZE,
4081
+ END_BEHAVIOR_RESTART: END_BEHAVIOR_RESTART,
4082
+ END_BEHAVIOR_DESTROY_CHILDREN: END_BEHAVIOR_DESTROY_CHILDREN,
4083
+ CAMERA_CLIP_MODE_VERTICAL: CAMERA_CLIP_MODE_VERTICAL,
4084
+ CAMERA_CLIP_MODE_NORMAL: CAMERA_CLIP_MODE_NORMAL,
4068
4085
  MESSAGE_ITEM_PHRASE_BEGIN: MESSAGE_ITEM_PHRASE_BEGIN,
4069
4086
  MESSAGE_ITEM_PHRASE_END: MESSAGE_ITEM_PHRASE_END,
4070
- get MaskMode () { return MaskMode$1; },
4071
- get MaterialBlending () { return MaterialBlending$1; },
4072
- get MaterialType () { return MaterialType$1; },
4073
- get ModelBoundingType () { return ModelBoundingType$1; },
4074
- get ParentItemEndBehavior () { return ParentItemEndBehavior$1; },
4075
- get ParticleInteractionBehavior () { return ParticleInteractionBehavior$1; },
4076
- get ParticleOrigin () { return ParticleOrigin$1; },
4077
- get PluginType () { return PluginType$1; },
4078
- get RenderLevel () { return RenderLevel$1; },
4079
- get RenderMode () { return RenderMode$1; },
4080
- get RenderMode3D () { return RenderMode3D$1; },
4081
- get ShapeArcMode () { return ShapeArcMode$1; },
4082
- get ShapeType () { return ShapeType$1; },
4083
- get SideMode () { return SideMode$1; },
4084
- get TextAlignment () { return TextAlignment$1; },
4085
- get TextBaseline () { return TextBaseline$1; },
4086
- get TextOverflow () { return TextOverflow$1; },
4087
- get TextWeight () { return TextWeight$1; },
4088
- get ValueType () { return ValueType$1; }
4087
+ get ValueType () { return ValueType; },
4088
+ get BezierKeyframeType () { return BezierKeyframeType; },
4089
+ get ItemEndBehavior () { return ItemEndBehavior; },
4090
+ get ParentItemEndBehavior () { return ParentItemEndBehavior; },
4091
+ get ParticleInteractionBehavior () { return ParticleInteractionBehavior; },
4092
+ get ShapeArcMode () { return ShapeArcMode; },
4093
+ get LightType () { return LightType; },
4094
+ get ModelBoundingType () { return ModelBoundingType; },
4095
+ get CameraType () { return CameraType; },
4096
+ get MaterialType () { return MaterialType; },
4097
+ get MaterialBlending () { return MaterialBlending; },
4098
+ get RenderMode3D () { return RenderMode3D; },
4099
+ get TextOverflow () { return TextOverflow; },
4100
+ get TextBaseline () { return TextBaseline; },
4101
+ get TextAlignment () { return TextAlignment; },
4102
+ get TextWeight () { return TextWeight; },
4103
+ get FontStyle () { return FontStyle; },
4104
+ get DataType () { return DataType; },
4105
+ get GeometryType () { return GeometryType; },
4106
+ BuiltinObjectGUID: BuiltinObjectGUID
4089
4107
  });
4090
4108
 
4091
4109
  const effectsClassStore = {};
@@ -4170,7 +4188,7 @@ function generateSerializableMember(type, sourceName) {
4170
4188
  dispose() {}
4171
4189
  constructor(engine){
4172
4190
  this.engine = engine;
4173
- this.guid = generateGUID$1();
4191
+ this.guid = generateGUID();
4174
4192
  this.taggedProperties = {};
4175
4193
  this.engine.addInstance(this);
4176
4194
  }
@@ -6849,39 +6867,39 @@ function vecMulCombine(out, a, b) {
6849
6867
  return out;
6850
6868
  }
6851
6869
  const particleOriginTranslateMap$1 = {
6852
- [ParticleOrigin$1.PARTICLE_ORIGIN_CENTER]: [
6870
+ [ParticleOrigin.PARTICLE_ORIGIN_CENTER]: [
6853
6871
  0,
6854
6872
  0
6855
6873
  ],
6856
- [ParticleOrigin$1.PARTICLE_ORIGIN_CENTER_BOTTOM]: [
6874
+ [ParticleOrigin.PARTICLE_ORIGIN_CENTER_BOTTOM]: [
6857
6875
  0,
6858
6876
  -0.5
6859
6877
  ],
6860
- [ParticleOrigin$1.PARTICLE_ORIGIN_CENTER_TOP]: [
6878
+ [ParticleOrigin.PARTICLE_ORIGIN_CENTER_TOP]: [
6861
6879
  0,
6862
6880
  0.5
6863
6881
  ],
6864
- [ParticleOrigin$1.PARTICLE_ORIGIN_LEFT_TOP]: [
6882
+ [ParticleOrigin.PARTICLE_ORIGIN_LEFT_TOP]: [
6865
6883
  -0.5,
6866
6884
  0.5
6867
6885
  ],
6868
- [ParticleOrigin$1.PARTICLE_ORIGIN_LEFT_CENTER]: [
6886
+ [ParticleOrigin.PARTICLE_ORIGIN_LEFT_CENTER]: [
6869
6887
  -0.5,
6870
6888
  0
6871
6889
  ],
6872
- [ParticleOrigin$1.PARTICLE_ORIGIN_LEFT_BOTTOM]: [
6890
+ [ParticleOrigin.PARTICLE_ORIGIN_LEFT_BOTTOM]: [
6873
6891
  -0.5,
6874
6892
  -0.5
6875
6893
  ],
6876
- [ParticleOrigin$1.PARTICLE_ORIGIN_RIGHT_CENTER]: [
6894
+ [ParticleOrigin.PARTICLE_ORIGIN_RIGHT_CENTER]: [
6877
6895
  0.5,
6878
6896
  0
6879
6897
  ],
6880
- [ParticleOrigin$1.PARTICLE_ORIGIN_RIGHT_BOTTOM]: [
6898
+ [ParticleOrigin.PARTICLE_ORIGIN_RIGHT_BOTTOM]: [
6881
6899
  0.5,
6882
6900
  -0.5
6883
6901
  ],
6884
- [ParticleOrigin$1.PARTICLE_ORIGIN_RIGHT_TOP]: [
6902
+ [ParticleOrigin.PARTICLE_ORIGIN_RIGHT_TOP]: [
6885
6903
  0.5,
6886
6904
  0.5
6887
6905
  ]
@@ -6944,7 +6962,7 @@ const keyframeInfo = {
6944
6962
  */ getPointIndexInCurve (keyframe) {
6945
6963
  const [type, , markType] = keyframe;
6946
6964
  // 不同类型,存放的时间不同
6947
- 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;
6965
+ 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;
6948
6966
  return {
6949
6967
  xIndex: index,
6950
6968
  yIndex: index + 1
@@ -6955,7 +6973,7 @@ const keyframeInfo = {
6955
6973
  */ isLeftSideEase (keyframe) {
6956
6974
  const [keyframeType, _, markType] = keyframe;
6957
6975
  // 定格关键帧的左侧类型,需要借助markType判断
6958
- if (keyframeType === BezierKeyframeType$1.HOLD && this.isKeyframeTypeLeftSideEase(markType)) {
6976
+ if (keyframeType === BezierKeyframeType.HOLD && this.isKeyframeTypeLeftSideEase(markType)) {
6959
6977
  return true;
6960
6978
  }
6961
6979
  return this.isKeyframeTypeLeftSideEase(keyframeType);
@@ -6965,7 +6983,7 @@ const keyframeInfo = {
6965
6983
  */ isRightSideEase (keyframe) {
6966
6984
  const [keyframeType, _, markType] = keyframe;
6967
6985
  // 定格关键帧的右侧类型,需要借助markType判断
6968
- if (keyframeType === BezierKeyframeType$1.HOLD && this.isKeyframeTypeRightSideEase(markType)) {
6986
+ if (keyframeType === BezierKeyframeType.HOLD && this.isKeyframeTypeRightSideEase(markType)) {
6969
6987
  return true;
6970
6988
  }
6971
6989
  return this.isKeyframeTypeRightSideEase(keyframeType);
@@ -6974,38 +6992,38 @@ const keyframeInfo = {
6974
6992
  * 关键帧左侧是否为缓动类型(否则为线段)
6975
6993
  */ isKeyframeTypeLeftSideEase (keyframeType) {
6976
6994
  return [
6977
- BezierKeyframeType$1.EASE,
6978
- BezierKeyframeType$1.EASE_IN,
6979
- BezierKeyframeType$1.AUTO
6995
+ BezierKeyframeType.EASE,
6996
+ BezierKeyframeType.EASE_IN,
6997
+ BezierKeyframeType.AUTO
6980
6998
  ].includes(keyframeType);
6981
6999
  },
6982
7000
  /**
6983
7001
  * 关键帧右侧是否为缓动类型(否则为线段)
6984
7002
  */ isKeyframeTypeRightSideEase (keyframeType) {
6985
7003
  return [
6986
- BezierKeyframeType$1.EASE,
6987
- BezierKeyframeType$1.EASE_OUT,
6988
- BezierKeyframeType$1.AUTO
7004
+ BezierKeyframeType.EASE,
7005
+ BezierKeyframeType.EASE_OUT,
7006
+ BezierKeyframeType.AUTO
6989
7007
  ].includes(keyframeType);
6990
7008
  },
6991
7009
  /**
6992
7010
  * 是否为定格进关键帧
6993
7011
  */ isHoldInKeyframe (keyframe) {
6994
7012
  const [keyframeType, _, leftSubType] = keyframe;
6995
- return keyframeType === BezierKeyframeType$1.HOLD && [
6996
- BezierKeyframeType$1.HOLD,
6997
- BezierKeyframeType$1.LINE_OUT,
6998
- BezierKeyframeType$1.EASE_OUT
7013
+ return keyframeType === BezierKeyframeType.HOLD && [
7014
+ BezierKeyframeType.HOLD,
7015
+ BezierKeyframeType.LINE_OUT,
7016
+ BezierKeyframeType.EASE_OUT
6999
7017
  ].includes(leftSubType);
7000
7018
  },
7001
7019
  /**
7002
7020
  * 是否为定格出关键帧
7003
7021
  */ isHoldOutKeyframe (keyframe) {
7004
7022
  const [keyframeType, _, leftSubType] = keyframe;
7005
- return keyframeType === BezierKeyframeType$1.HOLD && [
7006
- BezierKeyframeType$1.HOLD,
7007
- BezierKeyframeType$1.LINE,
7008
- BezierKeyframeType$1.EASE_IN
7023
+ return keyframeType === BezierKeyframeType.HOLD && [
7024
+ BezierKeyframeType.HOLD,
7025
+ BezierKeyframeType.LINE,
7026
+ BezierKeyframeType.EASE_IN
7009
7027
  ].includes(leftSubType);
7010
7028
  }
7011
7029
  };
@@ -7867,31 +7885,31 @@ class BezierCurvePath extends ValueGetter {
7867
7885
  }
7868
7886
  }
7869
7887
  const map$1 = {
7870
- [ValueType$1.RANDOM] (props) {
7888
+ [ValueType.RANDOM] (props) {
7871
7889
  if (props[0] instanceof Array) {
7872
7890
  return new RandomVectorValue(props);
7873
7891
  }
7874
7892
  return new RandomValue(props);
7875
7893
  },
7876
- [ValueType$1.CONSTANT] (props) {
7894
+ [ValueType.CONSTANT] (props) {
7877
7895
  return new StaticValue(props);
7878
7896
  },
7879
- [ValueType$1.CONSTANT_VEC2] (props) {
7897
+ [ValueType.CONSTANT_VEC2] (props) {
7880
7898
  return new StaticValue(props);
7881
7899
  },
7882
- [ValueType$1.CONSTANT_VEC3] (props) {
7900
+ [ValueType.CONSTANT_VEC3] (props) {
7883
7901
  return new StaticValue(props);
7884
7902
  },
7885
- [ValueType$1.CONSTANT_VEC4] (props) {
7903
+ [ValueType.CONSTANT_VEC4] (props) {
7886
7904
  return new StaticValue(props);
7887
7905
  },
7888
- [ValueType$1.RGBA_COLOR] (props) {
7906
+ [ValueType.RGBA_COLOR] (props) {
7889
7907
  return new StaticValue(props);
7890
7908
  },
7891
- [ValueType$1.COLORS] (props) {
7909
+ [ValueType.COLORS] (props) {
7892
7910
  return new RandomSetValue(props.map((c)=>colorToArr$1(c, false)));
7893
7911
  },
7894
- [ValueType$1.LINE] (props) {
7912
+ [ValueType.LINE] (props) {
7895
7913
  if (props.length === 2 && props[0][0] === 0 && props[1][0] === 1) {
7896
7914
  return new LinearValue([
7897
7915
  props[0][1],
@@ -7900,19 +7918,19 @@ const map$1 = {
7900
7918
  }
7901
7919
  return new LineSegments(props);
7902
7920
  },
7903
- [ValueType$1.GRADIENT_COLOR] (props) {
7921
+ [ValueType.GRADIENT_COLOR] (props) {
7904
7922
  return new GradientValue(props);
7905
7923
  },
7906
7924
  // [spec.ValueType.LINEAR_PATH] (pros: number[][][]) {
7907
7925
  // return new PathSegments(pros);
7908
7926
  // },
7909
- [ValueType$1.BEZIER_CURVE] (props) {
7927
+ [ValueType.BEZIER_CURVE] (props) {
7910
7928
  if (props.length === 1) {
7911
7929
  return new StaticValue(props[0][1][1]);
7912
7930
  }
7913
7931
  return new BezierCurve(props);
7914
7932
  },
7915
- [ValueType$1.BEZIER_CURVE_PATH] (props) {
7933
+ [ValueType.BEZIER_CURVE_PATH] (props) {
7916
7934
  if (props[0].length === 1) {
7917
7935
  return new StaticValue(new Vector3(...props[1][0]));
7918
7936
  }
@@ -7947,7 +7965,7 @@ function getKeyFrameMetaByRawValue(meta, value) {
7947
7965
  if (value) {
7948
7966
  const type = value[0];
7949
7967
  const keys = value[1];
7950
- if (type === ValueType$1.CURVE) {
7968
+ if (type === ValueType.CURVE) {
7951
7969
  meta.curves.push(keys);
7952
7970
  let keyLen = keys.length;
7953
7971
  if (keys[0][0] > 0) {
@@ -7959,7 +7977,7 @@ function getKeyFrameMetaByRawValue(meta, value) {
7959
7977
  meta.index += keyLen;
7960
7978
  meta.max = Math.max(meta.max, keyLen);
7961
7979
  meta.curveCount += keyLen;
7962
- } else if (type === ValueType$1.LINE) {
7980
+ } else if (type === ValueType.LINE) {
7963
7981
  let keyLen = keys.length;
7964
7982
  if (keyLen === 2 && keys[0][0] === 0 && keys[1][0] === 1) {
7965
7983
  return;
@@ -7975,7 +7993,7 @@ function getKeyFrameMetaByRawValue(meta, value) {
7975
7993
  meta.curves.push(keys);
7976
7994
  meta.index += uniformCount;
7977
7995
  meta.max = Math.max(meta.max, uniformCount);
7978
- } else if (type === ValueType$1.BEZIER_CURVE) {
7996
+ } else if (type === ValueType.BEZIER_CURVE) {
7979
7997
  const keyLen = keys.length - 1;
7980
7998
  meta.index += 2 * keyLen;
7981
7999
  meta.curves.push(keys);
@@ -8548,7 +8566,7 @@ class CameraController extends ItemBehaviour {
8548
8566
  }
8549
8567
  }
8550
8568
  CameraController = __decorate([
8551
- effectsClass(DataType$1.CameraController)
8569
+ effectsClass(DataType.CameraController)
8552
8570
  ], CameraController);
8553
8571
 
8554
8572
  class CameraVFXItemLoader extends AbstractPlugin {
@@ -8566,7 +8584,7 @@ const EVENT_TYPE_CLICK = 'click';
8566
8584
  const EVENT_TYPE_TOUCH_START = 'touchstart';
8567
8585
  const EVENT_TYPE_TOUCH_MOVE = 'touchmove';
8568
8586
  const EVENT_TYPE_TOUCH_END = 'touchend';
8569
- const InteractBehavior$1 = InteractBehavior$2;
8587
+ const InteractBehavior = InteractBehavior$1;
8570
8588
  class EventSystem {
8571
8589
  bindListeners() {
8572
8590
  let x;
@@ -8845,21 +8863,21 @@ function valIfUndefined(val, def) {
8845
8863
  }
8846
8864
  function getPreMultiAlpha(blending) {
8847
8865
  switch(blending){
8848
- case BlendingMode$1.ALPHA:
8866
+ case BlendingMode.ALPHA:
8849
8867
  return 1;
8850
- case BlendingMode$1.ADD:
8868
+ case BlendingMode.ADD:
8851
8869
  return 1;
8852
- case BlendingMode$1.SUBTRACTION:
8870
+ case BlendingMode.SUBTRACTION:
8853
8871
  return 1;
8854
- case BlendingMode$1.STRONG_LIGHT:
8872
+ case BlendingMode.STRONG_LIGHT:
8855
8873
  return 1;
8856
- case BlendingMode$1.WEAK_LIGHT:
8874
+ case BlendingMode.WEAK_LIGHT:
8857
8875
  return 1;
8858
- case BlendingMode$1.SUPERPOSITION:
8876
+ case BlendingMode.SUPERPOSITION:
8859
8877
  return 2;
8860
- case BlendingMode$1.BRIGHTNESS:
8878
+ case BlendingMode.BRIGHTNESS:
8861
8879
  return 3;
8862
- case BlendingMode$1.MULTIPLY:
8880
+ case BlendingMode.MULTIPLY:
8863
8881
  return 0;
8864
8882
  default:
8865
8883
  // 处理undefined
@@ -8929,7 +8947,7 @@ function setBlendMode(material, blendMode) {
8929
8947
  glContext.ONE_MINUS_SRC_ALPHA
8930
8948
  ];
8931
8949
  break;
8932
- case BlendingMode$1.ALPHA:
8950
+ case BlendingMode.ALPHA:
8933
8951
  material.blendFunction = [
8934
8952
  glContext.ONE,
8935
8953
  glContext.ONE_MINUS_SRC_ALPHA,
@@ -8937,7 +8955,7 @@ function setBlendMode(material, blendMode) {
8937
8955
  glContext.ONE_MINUS_SRC_ALPHA
8938
8956
  ];
8939
8957
  break;
8940
- case BlendingMode$1.ADD:
8958
+ case BlendingMode.ADD:
8941
8959
  material.blendFunction = [
8942
8960
  glContext.ONE,
8943
8961
  glContext.ONE,
@@ -8945,7 +8963,7 @@ function setBlendMode(material, blendMode) {
8945
8963
  glContext.ONE
8946
8964
  ];
8947
8965
  break;
8948
- case BlendingMode$1.SUBTRACTION:
8966
+ case BlendingMode.SUBTRACTION:
8949
8967
  material.blendFunction = [
8950
8968
  glContext.ONE,
8951
8969
  glContext.ONE,
@@ -8957,7 +8975,7 @@ function setBlendMode(material, blendMode) {
8957
8975
  glContext.FUNC_REVERSE_SUBTRACT
8958
8976
  ];
8959
8977
  break;
8960
- case BlendingMode$1.SUPERPOSITION:
8978
+ case BlendingMode.SUPERPOSITION:
8961
8979
  material.blendFunction = [
8962
8980
  glContext.ONE,
8963
8981
  glContext.ONE,
@@ -8965,7 +8983,7 @@ function setBlendMode(material, blendMode) {
8965
8983
  glContext.ONE
8966
8984
  ];
8967
8985
  break;
8968
- case BlendingMode$1.MULTIPLY:
8986
+ case BlendingMode.MULTIPLY:
8969
8987
  material.blendFunction = [
8970
8988
  glContext.DST_COLOR,
8971
8989
  glContext.ONE_MINUS_SRC_ALPHA,
@@ -8973,7 +8991,7 @@ function setBlendMode(material, blendMode) {
8973
8991
  glContext.ONE_MINUS_SRC_ALPHA
8974
8992
  ];
8975
8993
  break;
8976
- case BlendingMode$1.BRIGHTNESS:
8994
+ case BlendingMode.BRIGHTNESS:
8977
8995
  material.blendFunction = [
8978
8996
  glContext.ONE,
8979
8997
  glContext.ONE_MINUS_SRC_ALPHA,
@@ -8981,7 +8999,7 @@ function setBlendMode(material, blendMode) {
8981
8999
  glContext.ONE_MINUS_SRC_ALPHA
8982
9000
  ];
8983
9001
  break;
8984
- case BlendingMode$1.STRONG_LIGHT:
9002
+ case BlendingMode.STRONG_LIGHT:
8985
9003
  material.blendFunction = [
8986
9004
  glContext.DST_COLOR,
8987
9005
  glContext.DST_ALPHA,
@@ -8989,7 +9007,7 @@ function setBlendMode(material, blendMode) {
8989
9007
  glContext.ONE
8990
9008
  ];
8991
9009
  break;
8992
- case BlendingMode$1.WEAK_LIGHT:
9010
+ case BlendingMode.WEAK_LIGHT:
8993
9011
  material.blendFunction = [
8994
9012
  glContext.DST_COLOR,
8995
9013
  glContext.ZERO,
@@ -9002,12 +9020,12 @@ function setBlendMode(material, blendMode) {
9002
9020
  }
9003
9021
  }
9004
9022
  function setSideMode(material, side) {
9005
- if (side === SideMode$1.DOUBLE) {
9023
+ if (side === SideMode.DOUBLE) {
9006
9024
  material.culling = false;
9007
9025
  } else {
9008
9026
  material.culling = true;
9009
9027
  material.frontFace = glContext.CW;
9010
- material.cullFace = side === SideMode$1.BACK ? glContext.BACK : glContext.FRONT;
9028
+ material.cullFace = side === SideMode.BACK ? glContext.BACK : glContext.FRONT;
9011
9029
  }
9012
9030
  }
9013
9031
  function setMaskMode(material, maskMode) {
@@ -9015,7 +9033,7 @@ function setMaskMode(material, maskMode) {
9015
9033
  case undefined:
9016
9034
  material.stencilTest = false;
9017
9035
  break;
9018
- case MaskMode$1.MASK:
9036
+ case MaskMode.MASK:
9019
9037
  material.stencilTest = true;
9020
9038
  material.stencilFunc = [
9021
9039
  glContext.ALWAYS,
@@ -9026,21 +9044,21 @@ function setMaskMode(material, maskMode) {
9026
9044
  glContext.REPLACE
9027
9045
  ];
9028
9046
  break;
9029
- case MaskMode$1.OBSCURED:
9047
+ case MaskMode.OBSCURED:
9030
9048
  material.stencilTest = true;
9031
9049
  material.stencilFunc = [
9032
9050
  glContext.EQUAL,
9033
9051
  glContext.EQUAL
9034
9052
  ];
9035
9053
  break;
9036
- case MaskMode$1.REVERSE_OBSCURED:
9054
+ case MaskMode.REVERSE_OBSCURED:
9037
9055
  material.stencilTest = true;
9038
9056
  material.stencilFunc = [
9039
9057
  glContext.NOTEQUAL,
9040
9058
  glContext.NOTEQUAL
9041
9059
  ];
9042
9060
  break;
9043
- case MaskMode$1.NONE:
9061
+ case MaskMode.NONE:
9044
9062
  material.stencilTest = false;
9045
9063
  break;
9046
9064
  default:
@@ -9333,24 +9351,30 @@ function deserializeMipmapTexture(texOpts, bins) {
9333
9351
  return _deserializeMipmapTexture.apply(this, arguments);
9334
9352
  }
9335
9353
  function _deserializeMipmapTexture() {
9336
- _deserializeMipmapTexture = _async_to_generator(function*(texOpts, bins, files = []) {
9354
+ _deserializeMipmapTexture = _async_to_generator(function*(texOpts, bins, files = [], engine) {
9337
9355
  if (texOpts.target === 34067) {
9338
9356
  const { mipmaps, target } = texOpts;
9339
- const jobs = mipmaps.map((mipmap)=>Promise.all(mipmap.map((pointer)=>loadMipmapImage(pointer, bins))));
9340
- const loadedMipmaps = yield Promise.all(jobs);
9341
- const bin = files[mipmaps[0][0][1][0]].url;
9357
+ // const jobs = mipmaps.map(mipmap => Promise.all(mipmap.map(pointer => loadMipmapImage(pointer, bins))));
9358
+ const loadedMipmaps = [];
9359
+ for (const level of mipmaps){
9360
+ const newLevel = [];
9361
+ for (const face of level){
9362
+ // @ts-expect-error
9363
+ const loadedImageAsset = engine.assetLoader.loadGUID(face.id);
9364
+ // @ts-expect-error
9365
+ newLevel.push(loadedImageAsset.data);
9366
+ }
9367
+ loadedMipmaps.push(newLevel);
9368
+ }
9369
+ // const bin = files[mipmaps[0][0][1][0]].url;
9342
9370
  return _extends({
9343
9371
  keepImageSource: false
9344
9372
  }, texOpts, {
9345
9373
  mipmaps: loadedMipmaps,
9346
9374
  sourceFrom: {
9347
9375
  target,
9348
- bin,
9349
- type: TextureSourceType.mipmaps,
9350
- mipmaps: mipmaps.map((mipmap)=>mipmap.map((pointer)=>[
9351
- pointer[1][1],
9352
- pointer[1][2]
9353
- ]))
9376
+ // bin,
9377
+ type: TextureSourceType.mipmaps
9354
9378
  }
9355
9379
  });
9356
9380
  } else {
@@ -9409,7 +9433,7 @@ let seed$8 = 1;
9409
9433
  const texture = Texture.create(engine, {
9410
9434
  sourceType: TextureSourceType.image,
9411
9435
  image,
9412
- id: generateGUID$1()
9436
+ id: generateGUID()
9413
9437
  });
9414
9438
  texture.initialize();
9415
9439
  return texture;
@@ -12263,7 +12287,7 @@ class InteractComponent extends RendererComponent {
12263
12287
  const { env } = this.item.engine.renderer;
12264
12288
  const composition = this.item.composition;
12265
12289
  const { type, showPreview } = this.interactData.options;
12266
- if (type === InteractType$1.CLICK) {
12290
+ if (type === InteractType.CLICK) {
12267
12291
  this.clickable = true;
12268
12292
  if (showPreview && env === PLAYER_OPTIONS_ENV_EDITOR) {
12269
12293
  const rendererOptions = this.item.composition.getRendererOptions();
@@ -12272,7 +12296,7 @@ class InteractComponent extends RendererComponent {
12272
12296
  }
12273
12297
  composition.addInteractiveItem(this.item, options.type);
12274
12298
  this.item.onEnd = ()=>composition.removeInteractiveItem(this.item, options.type);
12275
- if (options.type === InteractType$1.DRAG) {
12299
+ if (options.type === InteractType.DRAG) {
12276
12300
  if (env !== PLAYER_OPTIONS_ENV_EDITOR || options.enableInEditor) {
12277
12301
  composition.event && this.beginDragTarget(options, composition.event);
12278
12302
  }
@@ -12440,7 +12464,7 @@ class InteractComponent extends RendererComponent {
12440
12464
  }
12441
12465
  }
12442
12466
  InteractComponent = __decorate([
12443
- effectsClass(DataType$1.InteractComponent)
12467
+ effectsClass(DataType.InteractComponent)
12444
12468
  ], InteractComponent);
12445
12469
  function shouldIgnoreBouncing(arg, mul) {
12446
12470
  const threshold = 0.00001 * (mul || 1);
@@ -12950,7 +12974,7 @@ class TransformAnimationPlayableAsset extends PlayableAsset {
12950
12974
  if (!this.item.ended) {
12951
12975
  this.item.ended = true;
12952
12976
  this.item.onEnd();
12953
- if (endBehavior === END_BEHAVIOR_DESTROY$1) {
12977
+ if (endBehavior === ItemEndBehavior.destroy) {
12954
12978
  for (const track of this.tracks){
12955
12979
  for (const clip of track.getClips()){
12956
12980
  clip.playable.onPlayableDestroy();
@@ -12988,9 +13012,9 @@ class TransformAnimationPlayableAsset extends PlayableAsset {
12988
13012
  let localTime = time - this.options.start;
12989
13013
  const duration = this.options.duration;
12990
13014
  if (localTime - duration > 0.001) {
12991
- if (this.options.endBehavior === END_BEHAVIOR_RESTART$1) {
13015
+ if (this.options.endBehavior === END_BEHAVIOR_RESTART) {
12992
13016
  localTime = localTime % duration;
12993
- } else if (this.options.endBehavior === END_BEHAVIOR_FREEZE$1) {
13017
+ } else if (this.options.endBehavior === END_BEHAVIOR_FREEZE) {
12994
13018
  localTime = Math.min(duration, localTime);
12995
13019
  }
12996
13020
  }
@@ -13031,8 +13055,8 @@ class TransformAnimationPlayableAsset extends PlayableAsset {
13031
13055
  this.options = {
13032
13056
  start: this.item.start,
13033
13057
  duration: this.item.duration,
13034
- looping: this.item.endBehavior === END_BEHAVIOR_RESTART$1,
13035
- endBehavior: this.item.endBehavior || END_BEHAVIOR_DESTROY$1
13058
+ looping: this.item.endBehavior === ItemEndBehavior.loop,
13059
+ endBehavior: this.item.endBehavior || ItemEndBehavior.destroy
13036
13060
  };
13037
13061
  this.id = this.item.id;
13038
13062
  this.name = this.item.name;
@@ -13123,7 +13147,7 @@ class SpriteColorPlayable extends Playable {
13123
13147
  if (colorOverLifetime) {
13124
13148
  var _colorOverLifetime_opacity;
13125
13149
  this.opacityOverLifetime = createValueGetter((_colorOverLifetime_opacity = colorOverLifetime.opacity) != null ? _colorOverLifetime_opacity : 1);
13126
- if (colorOverLifetime.color && colorOverLifetime.color[0] === ValueType$1.GRADIENT_COLOR) {
13150
+ if (colorOverLifetime.color && colorOverLifetime.color[0] === ValueType.GRADIENT_COLOR) {
13127
13151
  this.colorOverLifetime = colorStopsFromGradient(colorOverLifetime.color[1]);
13128
13152
  }
13129
13153
  }
@@ -13528,15 +13552,15 @@ class SpriteComponent extends RendererComponent {
13528
13552
  this.interaction = interaction;
13529
13553
  var _renderer_renderMode, _renderer_blending, _renderer_texture, _renderer_side, _renderer_mask, _renderer_maskMode;
13530
13554
  this.renderer = {
13531
- renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode$1.BILLBOARD,
13532
- blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode$1.ALPHA,
13555
+ renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.BILLBOARD,
13556
+ blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode.ALPHA,
13533
13557
  texture: (_renderer_texture = renderer.texture) != null ? _renderer_texture : this.engine.emptyTexture,
13534
13558
  occlusion: !!renderer.occlusion,
13535
- transparentOcclusion: !!renderer.transparentOcclusion || renderer.maskMode === MaskMode$1.MASK,
13536
- side: (_renderer_side = renderer.side) != null ? _renderer_side : SideMode$1.DOUBLE,
13559
+ transparentOcclusion: !!renderer.transparentOcclusion || renderer.maskMode === MaskMode.MASK,
13560
+ side: (_renderer_side = renderer.side) != null ? _renderer_side : SideMode.DOUBLE,
13537
13561
  shape: renderer.shape,
13538
13562
  mask: (_renderer_mask = renderer.mask) != null ? _renderer_mask : 0,
13539
- maskMode: (_renderer_maskMode = renderer.maskMode) != null ? _renderer_maskMode : MaskMode$1.NONE,
13563
+ maskMode: (_renderer_maskMode = renderer.maskMode) != null ? _renderer_maskMode : MaskMode.NONE,
13540
13564
  order: listIndex
13541
13565
  };
13542
13566
  this.emptyTexture = this.engine.emptyTexture;
@@ -13587,7 +13611,7 @@ class SpriteComponent extends RendererComponent {
13587
13611
  behavior: ((_this_interaction = this.interaction) == null ? void 0 : _this_interaction.behavior) || 0,
13588
13612
  type: area.type,
13589
13613
  triangles: area.area,
13590
- backfaceCulling: this.renderer.side === SideMode$1.FRONT
13614
+ backfaceCulling: this.renderer.side === SideMode.FRONT
13591
13615
  };
13592
13616
  }
13593
13617
  }
@@ -13598,7 +13622,7 @@ class SpriteComponent extends RendererComponent {
13598
13622
  }
13599
13623
  }
13600
13624
  SpriteComponent = __decorate([
13601
- effectsClass(DataType$1.SpriteComponent)
13625
+ effectsClass(DataType.SpriteComponent)
13602
13626
  ], SpriteComponent);
13603
13627
 
13604
13628
  const RUNTIME_ENV = 'runtime_env';
@@ -13638,16 +13662,16 @@ class Cone {
13638
13662
  }
13639
13663
  }
13640
13664
  function getArcAngle(arc, arcMode, opt) {
13641
- if (arcMode === ShapeArcMode$1.RANDOM) {
13665
+ if (arcMode === ShapeArcMode.RANDOM) {
13642
13666
  arc = random(0, arc);
13643
- } else if (arcMode === ShapeArcMode$1.UNIDIRECTIONAL_CYCLE) {
13667
+ } else if (arcMode === ShapeArcMode.UNIDIRECTIONAL_CYCLE) {
13644
13668
  const d = opt.index % (opt.total + 1);
13645
13669
  arc = arc / opt.total * d;
13646
- } else if (arcMode === ShapeArcMode$1.BIDIRECTIONAL_CYCLE) {
13670
+ } else if (arcMode === ShapeArcMode.BIDIRECTIONAL_CYCLE) {
13647
13671
  const d = opt.index / (opt.total + 1);
13648
13672
  const i = d - Math.floor(d);
13649
13673
  arc = arc * (Math.floor(d) % 2 ? 1 - i : i);
13650
- } else if (arcMode === ShapeArcMode$1.UNIFORM_BURST) {
13674
+ } else if (arcMode === ShapeArcMode.UNIFORM_BURST) {
13651
13675
  arc = arc * opt.burstIndex / opt.burstCount;
13652
13676
  }
13653
13677
  return arc;
@@ -13717,7 +13741,7 @@ class RectangleEdge {
13717
13741
  }
13718
13742
  class Edge {
13719
13743
  generate(options) {
13720
- const x = this.arcMode === ShapeArcMode$1.UNIFORM_BURST ? options.burstIndex % options.burstCount / (options.burstCount - 1) : random(0, 1);
13744
+ const x = this.arcMode === ShapeArcMode.UNIFORM_BURST ? options.burstIndex % options.burstCount / (options.burstCount - 1) : random(0, 1);
13721
13745
  return {
13722
13746
  direction: new Vector3(0, 1, 0),
13723
13747
  position: new Vector3(this._d * (x - 0.5), 0, 0)
@@ -13823,16 +13847,16 @@ class ShapeNone {
13823
13847
  }
13824
13848
  }
13825
13849
  const map = {
13826
- [ShapeType$1.NONE]: ShapeNone,
13827
- [ShapeType$1.CONE]: Cone,
13828
- [ShapeType$1.SPHERE]: Sphere,
13829
- [ShapeType$1.HEMISPHERE]: Hemisphere,
13830
- [ShapeType$1.CIRCLE]: Circle,
13831
- [ShapeType$1.DONUT]: Donut,
13832
- [ShapeType$1.RECTANGLE]: Rectangle,
13833
- [ShapeType$1.EDGE]: Edge,
13834
- [ShapeType$1.RECTANGLE_EDGE]: RectangleEdge,
13835
- [ShapeType$1.TEXTURE]: TextureShape
13850
+ [ShapeType.NONE]: ShapeNone,
13851
+ [ShapeType.CONE]: Cone,
13852
+ [ShapeType.SPHERE]: Sphere,
13853
+ [ShapeType.HEMISPHERE]: Hemisphere,
13854
+ [ShapeType.CIRCLE]: Circle,
13855
+ [ShapeType.DONUT]: Donut,
13856
+ [ShapeType.RECTANGLE]: Rectangle,
13857
+ [ShapeType.EDGE]: Edge,
13858
+ [ShapeType.RECTANGLE_EDGE]: RectangleEdge,
13859
+ [ShapeType.TEXTURE]: TextureShape
13836
13860
  };
13837
13861
  function createShape(shapeOptions) {
13838
13862
  if (!shapeOptions) {
@@ -13842,7 +13866,7 @@ function createShape(shapeOptions) {
13842
13866
  radius: 1,
13843
13867
  arc: 360,
13844
13868
  angle: 0,
13845
- arcMode: ShapeArcMode$1.RANDOM
13869
+ arcMode: ShapeArcMode.RANDOM
13846
13870
  }, shapeOptions);
13847
13871
  const { type } = shapeOptions;
13848
13872
  const Ctrl = map[type];
@@ -13850,7 +13874,7 @@ function createShape(shapeOptions) {
13850
13874
  throw Error('invalid shape:' + type);
13851
13875
  }
13852
13876
  const ctrl = new Ctrl(options);
13853
- if (type !== ShapeType$1.NONE) {
13877
+ if (type !== ShapeType.NONE) {
13854
13878
  const { alignSpeedDirection, upDirection = [
13855
13879
  0,
13856
13880
  0,
@@ -14404,11 +14428,11 @@ function getGeometryTriangles(geometry, options) {
14404
14428
  shape.gs.forEach((gs)=>{
14405
14429
  geometries.push({
14406
14430
  p: [
14407
- ValueType$1.SHAPE_POINTS,
14431
+ ValueType.SHAPE_POINTS,
14408
14432
  gs.p
14409
14433
  ],
14410
14434
  s: [
14411
- ValueType$1.SHAPE_SPLITS,
14435
+ ValueType.SHAPE_SPLITS,
14412
14436
  gs.s
14413
14437
  ]
14414
14438
  });
@@ -14416,11 +14440,11 @@ function getGeometryTriangles(geometry, options) {
14416
14440
  } else if (shape.g) {
14417
14441
  geometries.push({
14418
14442
  p: [
14419
- ValueType$1.SHAPE_POINTS,
14443
+ ValueType.SHAPE_POINTS,
14420
14444
  shape.g.p
14421
14445
  ],
14422
14446
  s: [
14423
- ValueType$1.SHAPE_SPLITS,
14447
+ ValueType.SHAPE_SPLITS,
14424
14448
  shape.g.s
14425
14449
  ]
14426
14450
  });
@@ -15219,7 +15243,7 @@ class ParticleSystem extends Component {
15219
15243
  const transformPath = this.props.emitterTransform && this.props.emitterTransform.path;
15220
15244
  let path;
15221
15245
  if (transformPath) {
15222
- if (transformPath[0] === ValueType$1.CONSTANT_VEC3) {
15246
+ if (transformPath[0] === ValueType.CONSTANT_VEC3) {
15223
15247
  position.add(transformPath[1]);
15224
15248
  } else {
15225
15249
  path = createValueGetter(transformPath);
@@ -15427,7 +15451,7 @@ class ParticleSystem extends Component {
15427
15451
  }
15428
15452
  }
15429
15453
  }
15430
- } else if (this.item.endBehavior === ItemEndBehavior$1.loop) {
15454
+ } else if (this.item.endBehavior === ItemEndBehavior.loop) {
15431
15455
  updateTrail();
15432
15456
  this.loopStartTime = now - duration;
15433
15457
  this.lastEmitTime -= duration;
@@ -15444,12 +15468,12 @@ class ParticleSystem extends Component {
15444
15468
  this.ended = true;
15445
15469
  this.onEnd(this);
15446
15470
  const endBehavior = this.item.endBehavior;
15447
- if (endBehavior === END_BEHAVIOR_FREEZE$1) {
15471
+ if (endBehavior === ItemEndBehavior.freeze) {
15448
15472
  this.frozen = true;
15449
15473
  }
15450
15474
  }
15451
- } else if (this.item.endBehavior !== ItemEndBehavior$1.loop) {
15452
- if (END_BEHAVIOR_DESTROY$1 === this.item.endBehavior) {
15475
+ } else if (this.item.endBehavior !== ItemEndBehavior.loop) {
15476
+ if (ItemEndBehavior.destroy === this.item.endBehavior) {
15453
15477
  const node = link.last;
15454
15478
  if (node && node.content[0] < this.lastUpdate) {
15455
15479
  this.destoryed = true;
@@ -15815,7 +15839,7 @@ class ParticleSystem extends Component {
15815
15839
  0
15816
15840
  ],
15817
15841
  curve: createValueGetter(positionOverLifetime.forceCurve || [
15818
- ValueType$1.LINE,
15842
+ ValueType.LINE,
15819
15843
  [
15820
15844
  [
15821
15845
  0,
@@ -15901,11 +15925,11 @@ class ParticleSystem extends Component {
15901
15925
  name: this.name,
15902
15926
  matrix: Matrix4.IDENTITY,
15903
15927
  shaderCachePrefix,
15904
- renderMode: renderer.renderMode || RenderMode$1.BILLBOARD,
15905
- side: renderer.side || SideMode$1.DOUBLE,
15928
+ renderMode: renderer.renderMode || RenderMode.BILLBOARD,
15929
+ side: renderer.side || SideMode.DOUBLE,
15906
15930
  gravity,
15907
15931
  // duration: vfxItem.duration,
15908
- blending: renderer.blending || BlendingMode$1.ALPHA,
15932
+ blending: renderer.blending || BlendingMode.ALPHA,
15909
15933
  rotationOverLifetime,
15910
15934
  gravityModifier: this.options.gravityModifier,
15911
15935
  linearVelOverLifetime: this.options.linearVelOverLifetime,
@@ -15916,7 +15940,7 @@ class ParticleSystem extends Component {
15916
15940
  transparentOcclusion: !!renderer.transparentOcclusion,
15917
15941
  maxCount: options.maxCount,
15918
15942
  mask: renderer.mask,
15919
- maskMode: (_renderer_maskMode = renderer.maskMode) != null ? _renderer_maskMode : MaskMode$1.NONE,
15943
+ maskMode: (_renderer_maskMode = renderer.maskMode) != null ? _renderer_maskMode : MaskMode.NONE,
15920
15944
  forceTarget,
15921
15945
  diffuse: renderer.texture,
15922
15946
  sizeOverLifetime: sizeOverLifetimeGetter,
@@ -15929,9 +15953,9 @@ class ParticleSystem extends Component {
15929
15953
  particleMeshProps.colorOverLifetime.opacity = createValueGetter(colorOverLifetime.opacity);
15930
15954
  }
15931
15955
  if (color) {
15932
- if (color[0] === ValueType$1.GRADIENT_COLOR) {
15956
+ if (color[0] === ValueType.GRADIENT_COLOR) {
15933
15957
  particleMeshProps.colorOverLifetime.color = colorOverLifetime.color[1];
15934
- } else if (color[0] === ValueType$1.RGBA_COLOR) {
15958
+ } else if (color[0] === ValueType.RGBA_COLOR) {
15935
15959
  particleMeshProps.colorOverLifetime.color = Texture.createWithData(this.engine, {
15936
15960
  data: new Uint8Array(color[1]),
15937
15961
  width: 1,
@@ -16016,10 +16040,10 @@ class ParticleSystem extends Component {
16016
16040
  mask: renderer.mask,
16017
16041
  maskMode: renderer.maskMode
16018
16042
  };
16019
- if (trails.colorOverLifetime && trails.colorOverLifetime[0] === ValueType$1.GRADIENT_COLOR) {
16043
+ if (trails.colorOverLifetime && trails.colorOverLifetime[0] === ValueType.GRADIENT_COLOR) {
16020
16044
  trailMeshProps.colorOverLifetime = trails.colorOverLifetime[1];
16021
16045
  }
16022
- if (trails.colorOverTrail && trails.colorOverTrail[0] === ValueType$1.GRADIENT_COLOR) {
16046
+ if (trails.colorOverTrail && trails.colorOverTrail[0] === ValueType.GRADIENT_COLOR) {
16023
16047
  trailMeshProps.colorOverTrail = trails.colorOverTrail[1];
16024
16048
  }
16025
16049
  }
@@ -16054,7 +16078,7 @@ class ParticleSystem extends Component {
16054
16078
  collect: (ray)=>this.raycast({
16055
16079
  radius: (interactParams == null ? void 0 : interactParams.radius) || 0.4,
16056
16080
  multiple: !!(interactParams == null ? void 0 : interactParams.multiple),
16057
- removeParticle: (interactParams == null ? void 0 : interactParams.behavior) === ParticleInteractionBehavior$1.removeParticle,
16081
+ removeParticle: (interactParams == null ? void 0 : interactParams.behavior) === ParticleInteractionBehavior.removeParticle,
16058
16082
  ray
16059
16083
  })
16060
16084
  };
@@ -16066,7 +16090,7 @@ class ParticleSystem extends Component {
16066
16090
  }
16067
16091
  }
16068
16092
  ParticleSystem = __decorate([
16069
- effectsClass(DataType$1.ParticleSystem)
16093
+ effectsClass(DataType.ParticleSystem)
16070
16094
  ], ParticleSystem);
16071
16095
  // array performance better for small memory than Float32Array
16072
16096
  const tempDir = new Vector3();
@@ -17124,13 +17148,13 @@ class TextLayout {
17124
17148
  let offsetY = 0;
17125
17149
  const offset = (style.fontSize + style.outlineWidth) * style.fontScale;
17126
17150
  switch(this.textBaseline){
17127
- case TextBaseline$1.top:
17151
+ case TextBaseline.top:
17128
17152
  offsetY = offset;
17129
17153
  break;
17130
- case TextBaseline$1.middle:
17154
+ case TextBaseline.middle:
17131
17155
  offsetY = (this.height + offset) / 2; // fonSize;
17132
17156
  break;
17133
- case TextBaseline$1.bottom:
17157
+ case TextBaseline.bottom:
17134
17158
  offsetY = this.height - offset / 2;
17135
17159
  break;
17136
17160
  }
@@ -17139,13 +17163,13 @@ class TextLayout {
17139
17163
  getOffsetX(style, maxWidth) {
17140
17164
  let offsetX = 0;
17141
17165
  switch(this.textAlign){
17142
- case TextAlignment$1.left:
17166
+ case TextAlignment.left:
17143
17167
  offsetX = style.outlineWidth * style.fontScale;
17144
17168
  break;
17145
- case TextAlignment$1.middle:
17169
+ case TextAlignment.middle:
17146
17170
  offsetX = (this.width * style.fontScale - maxWidth) / 2;
17147
17171
  break;
17148
- case TextAlignment$1.right:
17172
+ case TextAlignment.right:
17149
17173
  offsetX = this.width * style.fontScale - maxWidth;
17150
17174
  break;
17151
17175
  }
@@ -17162,7 +17186,7 @@ class TextLayout {
17162
17186
  constructor(options){
17163
17187
  this.width = 0;
17164
17188
  this.height = 0;
17165
- 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;
17189
+ const { textHeight = 100, textWidth = 100, textOverflow = TextOverflow.display, textBaseline = TextBaseline.top, textAlign = TextAlignment.left, text, letterSpace = 0, autoWidth = false, fontSize, lineHeight = fontSize } = options;
17166
17190
  const tempWidth = fontSize + letterSpace;
17167
17191
  this.autoWidth = autoWidth;
17168
17192
  this.maxTextWidth = text.length * tempWidth;
@@ -17258,7 +17282,7 @@ class TextStyle {
17258
17282
  var _shadow_shadowOffsetY;
17259
17283
  this.shadowOffsetY = (_shadow_shadowOffsetY = shadow.shadowOffsetY) != null ? _shadow_shadowOffsetY : 0;
17260
17284
  }
17261
- if (this.fontStyle !== FontStyle$1.normal) {
17285
+ if (this.fontStyle !== FontStyle.normal) {
17262
17286
  // 0.0174532925 = 3.141592653 / 180
17263
17287
  this.fontOffset += this.fontSize * Math.tan(12 * 0.0174532925);
17264
17288
  }
@@ -17596,10 +17620,10 @@ class TextComponent extends SpriteComponent {
17596
17620
  } else {
17597
17621
  fontDesc += textStyle.fontFamily;
17598
17622
  }
17599
- if (textStyle.textWeight !== TextWeight$1.normal) {
17623
+ if (textStyle.textWeight !== TextWeight.normal) {
17600
17624
  fontDesc = `${textStyle.textWeight} ${fontDesc}`;
17601
17625
  }
17602
- if (textStyle.fontStyle !== FontStyle$1.normal) {
17626
+ if (textStyle.fontStyle !== FontStyle.normal) {
17603
17627
  fontDesc = `${textStyle.fontStyle} ${fontDesc}`;
17604
17628
  }
17605
17629
  return fontDesc;
@@ -17638,7 +17662,7 @@ class TextComponent extends SpriteComponent {
17638
17662
  }
17639
17663
  }
17640
17664
  TextComponent = __decorate([
17641
- effectsClass(DataType$1.TextComponent)
17665
+ effectsClass(DataType.TextComponent)
17642
17666
  ], TextComponent);
17643
17667
 
17644
17668
  // TODO: 注册必须用
@@ -17761,7 +17785,7 @@ __decorate([
17761
17785
  serialize()
17762
17786
  ], EffectComponent.prototype, "geometry", void 0);
17763
17787
  EffectComponent = __decorate([
17764
- effectsClass(DataType$1.EffectComponent)
17788
+ effectsClass(DataType.EffectComponent)
17765
17789
  ], EffectComponent);
17766
17790
  function geometryToTriangles(geometry) {
17767
17791
  const indices = geometry.getIndexData();
@@ -17797,22 +17821,22 @@ function geometryToTriangles(geometry) {
17797
17821
 
17798
17822
  class VFXItem extends EffectsObject {
17799
17823
  static isComposition(item) {
17800
- return item.type === ItemType$1.composition;
17824
+ return item.type === ItemType.composition;
17801
17825
  }
17802
17826
  static isSprite(item) {
17803
- return item.type === ItemType$1.sprite;
17827
+ return item.type === ItemType.sprite;
17804
17828
  }
17805
17829
  static isParticle(item) {
17806
- return item.type === ItemType$1.particle;
17830
+ return item.type === ItemType.particle;
17807
17831
  }
17808
17832
  static isNull(item) {
17809
- return item.type === ItemType$1.null;
17833
+ return item.type === ItemType.null;
17810
17834
  }
17811
17835
  static isTree(item) {
17812
- return item.type === ItemType$1.tree;
17836
+ return item.type === ItemType.tree;
17813
17837
  }
17814
17838
  static isCamera(item) {
17815
- return item.type === ItemType$1.camera;
17839
+ return item.type === ItemType.camera;
17816
17840
  }
17817
17841
  static isExtraCamera(item) {
17818
17842
  return item.id === 'extra-camera' && item.name === 'extra-camera';
@@ -18064,10 +18088,15 @@ class VFXItem extends EffectsObject {
18064
18088
  if (transform) {
18065
18089
  //@ts-expect-error TODO 数据改造后移除 expect-error
18066
18090
  transform.position = new Vector3().copyFrom(transform.position);
18067
- var _transform_eulerHint;
18068
18091
  // FIXME: transform.rotation待删除
18069
- //@ts-expect-error
18070
- transform.rotation = new Euler().copyFrom((_transform_eulerHint = transform.eulerHint) != null ? _transform_eulerHint : transform.rotation);
18092
+ if (transform.quat) {
18093
+ //@ts-expect-error
18094
+ transform.quat = new Quaternion(transform.quat.x, transform.quat.y, transform.quat.z, transform.quat.w);
18095
+ } else {
18096
+ var _transform_eulerHint;
18097
+ //@ts-expect-error
18098
+ transform.rotation = new Euler().copyFrom((_transform_eulerHint = transform.eulerHint) != null ? _transform_eulerHint : transform.rotation);
18099
+ }
18071
18100
  //@ts-expect-error
18072
18101
  transform.scale = new Vector3().copyFrom(transform.scale);
18073
18102
  //@ts-expect-error
@@ -18117,7 +18146,7 @@ class VFXItem extends EffectsObject {
18117
18146
  var _this_parent;
18118
18147
  this.taggedProperties.id = this.guid;
18119
18148
  this.taggedProperties.transform = this.transform.toData();
18120
- this.taggedProperties.dataType = DataType$1.VFXItemData;
18149
+ this.taggedProperties.dataType = DataType.VFXItemData;
18121
18150
  if (((_this_parent = this.parent) == null ? void 0 : _this_parent.name) !== 'rootItem') {
18122
18151
  var _this_parent1;
18123
18152
  this.taggedProperties.parentId = (_this_parent1 = this.parent) == null ? void 0 : _this_parent1.guid;
@@ -18200,7 +18229,7 @@ class VFXItem extends EffectsObject {
18200
18229
  */ this.delaying = true;
18201
18230
  /**
18202
18231
  * 元素动画的速度
18203
- */ this.type = ItemType$1.base;
18232
+ */ this.type = ItemType.base;
18204
18233
  this.stopped = false;
18205
18234
  this.components = [];
18206
18235
  this.itemBehaviours = [];
@@ -18225,7 +18254,7 @@ class VFXItem extends EffectsObject {
18225
18254
  }
18226
18255
  }
18227
18256
  VFXItem = __decorate([
18228
- effectsClass(DataType$1.VFXItemData)
18257
+ effectsClass(DataType.VFXItemData)
18229
18258
  ], VFXItem);
18230
18259
  var Item;
18231
18260
  (function(Item) {
@@ -18234,15 +18263,15 @@ var Item;
18234
18263
  }
18235
18264
  Item.is = is;
18236
18265
  function isComposition(item) {
18237
- return item.type === ItemType$1.composition;
18266
+ return item.type === ItemType.composition;
18238
18267
  }
18239
18268
  Item.isComposition = isComposition;
18240
18269
  function isParticle(item) {
18241
- return item.type === ItemType$1.particle;
18270
+ return item.type === ItemType.particle;
18242
18271
  }
18243
18272
  Item.isParticle = isParticle;
18244
18273
  function isNull(item) {
18245
- return item.type === ItemType$1.null;
18274
+ return item.type === ItemType.null;
18246
18275
  }
18247
18276
  Item.isNull = isNull;
18248
18277
  })(Item || (Item = {}));
@@ -18255,25 +18284,25 @@ var Item;
18255
18284
  let { pluginName } = props;
18256
18285
  if (!pluginName) {
18257
18286
  switch(type){
18258
- case ItemType$1.null:
18287
+ case ItemType.null:
18259
18288
  pluginName = 'cal';
18260
18289
  break;
18261
- case ItemType$1.sprite:
18290
+ case ItemType.sprite:
18262
18291
  pluginName = 'sprite';
18263
18292
  break;
18264
- case ItemType$1.particle:
18293
+ case ItemType.particle:
18265
18294
  pluginName = 'particle';
18266
18295
  break;
18267
- case ItemType$1.interact:
18296
+ case ItemType.interact:
18268
18297
  pluginName = 'interact';
18269
18298
  break;
18270
- case ItemType$1.camera:
18299
+ case ItemType.camera:
18271
18300
  pluginName = 'camera';
18272
18301
  break;
18273
- case ItemType$1.text:
18302
+ case ItemType.text:
18274
18303
  pluginName = 'text';
18275
18304
  break;
18276
- case ItemType$1.tree:
18305
+ case ItemType.tree:
18277
18306
  pluginName = 'tree';
18278
18307
  break;
18279
18308
  default:
@@ -18402,809 +18431,95 @@ function getPluginUsageInfo(name) {
18402
18431
  }
18403
18432
  }
18404
18433
 
18405
- /*!
18406
- * Name: @galacean/effects-specification
18407
- * Description: Galacean Effects JSON Specification
18408
- * Author: Ant Group CO., Ltd.
18409
- * Version: v2.0.0-alpha.9
18410
- */ /******************************************************************************
18411
- Copyright (c) Microsoft Corporation.
18412
-
18413
- Permission to use, copy, modify, and/or distribute this software for any
18414
- purpose with or without fee is hereby granted.
18415
-
18416
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
18417
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
18418
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
18419
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
18420
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18421
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
18422
- PERFORMANCE OF THIS SOFTWARE.
18423
- ***************************************************************************** */ var __assign = function() {
18424
- __assign = Object.assign || function __assign(t) {
18425
- for(var s, i = 1, n = arguments.length; i < n; i++){
18426
- s = arguments[i];
18427
- for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
18434
+ function arrAdd(arr, item) {
18435
+ if (!arr.includes(item)) {
18436
+ arr.push(item);
18437
+ return true;
18438
+ }
18439
+ }
18440
+ function ensureFixedNumber(a) {
18441
+ if (Number.isFinite(a)) {
18442
+ return [
18443
+ ValueType.CONSTANT,
18444
+ a
18445
+ ];
18446
+ }
18447
+ if (a) {
18448
+ const valueType = a[0];
18449
+ const valueData = a[1];
18450
+ if (Array.isArray(valueType)) {
18451
+ // 没有数据类型的数据
18452
+ return;
18428
18453
  }
18429
- return t;
18430
- };
18431
- return __assign.apply(this, arguments);
18432
- };
18433
- function __values(o) {
18434
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
18435
- if (m) return m.call(o);
18436
- if (o && typeof o.length === "number") return {
18437
- next: function() {
18438
- if (o && i >= o.length) o = void 0;
18439
- return {
18440
- value: o && o[i++],
18441
- done: !o
18442
- };
18454
+ if (valueType === 'static' || valueType === ValueType.CONSTANT) {
18455
+ return [
18456
+ ValueType.CONSTANT,
18457
+ a[1]
18458
+ ];
18443
18459
  }
18444
- };
18445
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
18446
- }
18447
- function __read(o, n) {
18448
- var m = typeof Symbol === "function" && o[Symbol.iterator];
18449
- if (!m) return o;
18450
- var i = m.call(o), r, ar = [], e;
18451
- try {
18452
- while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value);
18453
- } catch (error) {
18454
- e = {
18455
- error: error
18456
- };
18457
- } finally{
18458
- try {
18459
- if (r && !r.done && (m = i["return"])) m.call(i);
18460
- } finally{
18461
- if (e) throw e.error;
18460
+ if (valueType === 'lines') {
18461
+ return [
18462
+ ValueType.LINE,
18463
+ a[1]
18464
+ ];
18465
+ }
18466
+ if (valueType === ValueType.LINE) {
18467
+ // @ts-expect-error
18468
+ const keyframes = valueData.map((data)=>[
18469
+ BezierKeyframeType.LINE,
18470
+ data
18471
+ ]);
18472
+ return [
18473
+ ValueType.BEZIER_CURVE,
18474
+ keyframes
18475
+ ];
18476
+ }
18477
+ if (valueType === 'curve' || valueType === ValueType.CURVE) {
18478
+ return [
18479
+ ValueType.BEZIER_CURVE,
18480
+ getBezierCurveFromHermiteInGE(valueData)
18481
+ ];
18462
18482
  }
18483
+ return a;
18463
18484
  }
18464
- return ar;
18465
18485
  }
18466
- function __spreadArray(to, from, pack) {
18467
- if (pack || arguments.length === 2) for(var i = 0, l = from.length, ar; i < l; i++){
18468
- if (ar || !(i in from)) {
18469
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
18470
- ar[i] = from[i];
18471
- }
18486
+ function ensureFixedNumberWithRandom(a, p) {
18487
+ if (Array.isArray(a) && a[0] === 'random') {
18488
+ return [
18489
+ ValueType.CONSTANT,
18490
+ a[1][p]
18491
+ ];
18472
18492
  }
18473
- return to.concat(ar || Array.prototype.slice.call(from));
18493
+ return ensureFixedNumber(a);
18474
18494
  }
18475
- typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
18476
- var e = new Error(message);
18477
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
18478
- };
18479
- const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
18480
- var native = {
18481
- randomUUID
18482
- };
18483
- // Unique ID creation requires a high quality random # generator. In the browser we therefore
18484
- // require the crypto API and do not support built-in fallback to lower quality random number
18485
- // generators (like Math.random()).
18486
- let getRandomValues;
18487
- const rnds8 = new Uint8Array(16);
18488
- function rng() {
18489
- // lazy load so that environments that need to polyfill have a chance to do so
18490
- if (!getRandomValues) {
18491
- // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
18492
- getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
18493
- if (!getRandomValues) {
18494
- throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
18495
- }
18495
+ function ensureRGBAValue(a) {
18496
+ if (a && a[0] === 'color') {
18497
+ return colorToArr(a[1], true);
18496
18498
  }
18497
- return getRandomValues(rnds8);
18499
+ return [
18500
+ 1,
18501
+ 1,
18502
+ 1,
18503
+ 1
18504
+ ];
18498
18505
  }
18499
- /**
18500
- * Convert array of 16 byte values to UUID string format of the form:
18501
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
18502
- */ const byteToHex = [];
18503
- for(let i = 0; i < 256; ++i){
18504
- byteToHex.push((i + 0x100).toString(16).slice(1));
18505
- }
18506
- function unsafeStringify(arr, offset = 0) {
18507
- // Note: Be careful editing this code! It's been tuned for performance
18508
- // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
18509
- 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]];
18510
- }
18511
- function v4(options, buf, offset) {
18512
- if (native.randomUUID && !buf && !options) {
18513
- return native.randomUUID();
18514
- }
18515
- options = options || {};
18516
- const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
18517
- rnds[6] = rnds[6] & 0x0f | 0x40;
18518
- rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
18519
- if (buf) {
18520
- offset = offset || 0;
18521
- for(let i = 0; i < 16; ++i){
18522
- buf[offset + i] = rnds[i];
18523
- }
18524
- return buf;
18525
- }
18526
- return unsafeStringify(rnds);
18527
- }
18528
- /*********************************************/ /* 元素属性参数类型 */ /*********************************************/ /**
18529
- * 渲染等级
18530
- */ var RenderLevel;
18531
- (function(RenderLevel) {
18532
- RenderLevel["S"] = "S";
18533
- RenderLevel["APlus"] = "A+";
18534
- RenderLevel["A"] = "A";
18535
- RenderLevel["BPlus"] = "B+";
18536
- RenderLevel["B"] = "B";
18537
- })(RenderLevel || (RenderLevel = {}));
18538
- /**
18539
- * 混合模式
18540
- */ var BlendingMode;
18541
- (function(BlendingMode) {
18542
- /**
18543
- * 普通混合模式
18544
- */ BlendingMode[BlendingMode["ALPHA"] = 0] = "ALPHA";
18545
- /**
18546
- * 叠加混合模式
18547
- */ BlendingMode[BlendingMode["ADD"] = 1] = "ADD";
18548
- /**
18549
- * 相乘混合模式
18550
- */ BlendingMode[BlendingMode["MULTIPLY"] = 2] = "MULTIPLY";
18551
- /**
18552
- * 亮度混合模式
18553
- */ BlendingMode[BlendingMode["BRIGHTNESS"] = 3] = "BRIGHTNESS";
18554
- /**
18555
- * 减色混合模式
18556
- */ BlendingMode[BlendingMode["SUBTRACTION"] = 4] = "SUBTRACTION";
18557
- /**
18558
- * 强光混合模式
18559
- */ BlendingMode[BlendingMode["STRONG_LIGHT"] = 5] = "STRONG_LIGHT";
18560
- /**
18561
- * 弱光混合模式
18562
- */ BlendingMode[BlendingMode["WEAK_LIGHT"] = 6] = "WEAK_LIGHT";
18563
- /**
18564
- * 亮度叠加混合模式
18565
- */ BlendingMode[BlendingMode["SUPERPOSITION"] = 7] = "SUPERPOSITION";
18566
- })(BlendingMode || (BlendingMode = {}));
18567
- /**
18568
- * 单双面模式
18569
- */ var SideMode;
18570
- (function(SideMode) {
18571
- /**
18572
- * 双面模式
18573
- */ SideMode[SideMode["DOUBLE"] = 1032] = "DOUBLE";
18574
- /**
18575
- * 正面模式
18576
- */ SideMode[SideMode["FRONT"] = 1028] = "FRONT";
18577
- /**
18578
- * 背面模式
18579
- */ SideMode[SideMode["BACK"] = 1029] = "BACK";
18580
- })(SideMode || (SideMode = {}));
18581
- /**
18582
- * 蒙版模式
18583
- */ var MaskMode;
18584
- (function(MaskMode) {
18585
- /**
18586
- * 无蒙版
18587
- */ MaskMode[MaskMode["NONE"] = 0] = "NONE";
18588
- /**
18589
- * 蒙版
18590
- */ MaskMode[MaskMode["MASK"] = 1] = "MASK";
18591
- /**
18592
- * 被遮挡
18593
- */ MaskMode[MaskMode["OBSCURED"] = 2] = "OBSCURED";
18594
- /**
18595
- * 被反向遮挡
18596
- */ MaskMode[MaskMode["REVERSE_OBSCURED"] = 3] = "REVERSE_OBSCURED";
18597
- })(MaskMode || (MaskMode = {}));
18598
- /**
18599
- * 发射器形状
18600
- */ var ShapeType;
18601
- (function(ShapeType) {
18602
- /**
18603
- * 没有类型
18604
- */ ShapeType[ShapeType["NONE"] = 0] = "NONE";
18605
- /**
18606
- * 圆球
18607
- */ ShapeType[ShapeType["SPHERE"] = 1] = "SPHERE";
18608
- /**
18609
- * 圆锥
18610
- */ ShapeType[ShapeType["CONE"] = 2] = "CONE";
18611
- /**
18612
- * 半球
18613
- */ ShapeType[ShapeType["HEMISPHERE"] = 3] = "HEMISPHERE";
18614
- /**
18615
- * 圆
18616
- */ ShapeType[ShapeType["CIRCLE"] = 4] = "CIRCLE";
18617
- /**
18618
- * 圆环
18619
- */ ShapeType[ShapeType["DONUT"] = 5] = "DONUT";
18620
- /**
18621
- * 矩形
18622
- */ ShapeType[ShapeType["RECTANGLE"] = 6] = "RECTANGLE";
18623
- /**
18624
- * 矩形框
18625
- */ ShapeType[ShapeType["RECTANGLE_EDGE"] = 7] = "RECTANGLE_EDGE";
18626
- /**
18627
- * 直线
18628
- */ ShapeType[ShapeType["EDGE"] = 8] = "EDGE";
18629
- /**
18630
- * 贴图
18631
- */ ShapeType[ShapeType["TEXTURE"] = 9] = "TEXTURE";
18632
- })(ShapeType || (ShapeType = {}));
18633
- /**
18634
- * 插件类型
18635
- */ var PluginType;
18636
- (function(PluginType) {
18637
- /**
18638
- * 陀螺仪
18639
- */ PluginType[PluginType["GYROSCOPE"] = 0] = "GYROSCOPE";
18640
- /**
18641
- * Spine
18642
- */ PluginType[PluginType["SPINE"] = 1] = "SPINE";
18643
- })(PluginType || (PluginType = {}));
18644
- /**
18645
- * 交互类型
18646
- */ var InteractType;
18647
- (function(InteractType) {
18648
- /**
18649
- * 点击
18650
- */ InteractType[InteractType["CLICK"] = 0] = "CLICK";
18651
- /**
18652
- * 消息
18653
- * 前端收到 onMessageItem 回调
18654
- */ InteractType[InteractType["MESSAGE"] = 1] = "MESSAGE";
18655
- /**
18656
- * 拖拽
18657
- */ InteractType[InteractType["DRAG"] = 2] = "DRAG";
18658
- })(InteractType || (InteractType = {}));
18659
- /**
18660
- * 交互行为
18661
- */ var InteractBehavior;
18662
- (function(InteractBehavior) {
18663
- /**
18664
- * 无
18665
- */ InteractBehavior[InteractBehavior["NONE"] = 0] = "NONE";
18666
- /**
18667
- * 通知
18668
- */ InteractBehavior[InteractBehavior["NOTIFY"] = 1] = "NOTIFY";
18669
- /**
18670
- * 重置播放器
18671
- */ InteractBehavior[InteractBehavior["RESUME_PLAYER"] = 2] = "RESUME_PLAYER";
18672
- /**
18673
- * 清除元素
18674
- */ InteractBehavior[InteractBehavior["REMOVE"] = 3] = "REMOVE";
18675
- /**
18676
- * 暂停播放器
18677
- */ InteractBehavior[InteractBehavior["PAUSE"] = 4] = "PAUSE";
18678
- })(InteractBehavior || (InteractBehavior = {}));
18679
- /**
18680
- * 元素类型
18681
- */ var ItemType;
18682
- (function(ItemType) {
18683
- /**
18684
- * 错误元素
18685
- */ ItemType["base"] = "0";
18686
- /**
18687
- * 图层元素
18688
- */ ItemType["sprite"] = "1";
18689
- /**
18690
- * 粒子元素
18691
- */ ItemType["particle"] = "2";
18692
- /**
18693
- * 空节点元素
18694
- */ ItemType["null"] = "3";
18695
- /**
18696
- * 交互元素
18697
- */ ItemType["interact"] = "4";
18698
- /**
18699
- * 插件元素
18700
- */ ItemType["plugin"] = "5";
18701
- /**
18702
- * 相机元素
18703
- */ ItemType["camera"] = "6";
18704
- /**
18705
- * 预合成元素
18706
- */ ItemType["composition"] = "7";
18707
- /**
18708
- * Spine 元素
18709
- */ ItemType["spine"] = "spine";
18710
- /**
18711
- * Mesh 元素
18712
- */ ItemType["mesh"] = "mesh";
18713
- /**
18714
- * 节点树元素
18715
- */ ItemType["tree"] = "tree";
18716
- /**
18717
- * 文本元素
18718
- */ ItemType["text"] = "text";
18719
- /**
18720
- * 灯光元素
18721
- */ ItemType["light"] = "light";
18722
- /**
18723
- * 天空盒元素
18724
- */ ItemType["skybox"] = "skybox";
18725
- /**
18726
- * 特效元素
18727
- */ ItemType["effect"] = "effect";
18728
- })(ItemType || (ItemType = {}));
18729
- /**
18730
- * 渲染模式
18731
- */ var RenderMode;
18732
- (function(RenderMode) {
18733
- /**
18734
- * 广告牌模式
18735
- */ RenderMode[RenderMode["BILLBOARD"] = 0] = "BILLBOARD";
18736
- /**
18737
- * 网格模式
18738
- */ RenderMode[RenderMode["MESH"] = 1] = "MESH";
18739
- /**
18740
- * 垂直广告牌模式
18741
- */ RenderMode[RenderMode["VERTICAL_BILLBOARD"] = 2] = "VERTICAL_BILLBOARD";
18742
- /**
18743
- * 水平广告牌模式
18744
- */ RenderMode[RenderMode["HORIZONTAL_BILLBOARD"] = 3] = "HORIZONTAL_BILLBOARD";
18745
- })(RenderMode || (RenderMode = {}));
18746
- /**
18747
- * 变换中心
18748
- */ var ParticleOrigin;
18749
- (function(ParticleOrigin) {
18750
- /**
18751
- * 水平和垂直中点
18752
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_CENTER"] = 0] = "PARTICLE_ORIGIN_CENTER";
18753
- /**
18754
- * 水平左侧 垂直顶部
18755
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_LEFT_TOP"] = 1] = "PARTICLE_ORIGIN_LEFT_TOP";
18756
- /**
18757
- * 水平左侧 垂直中间
18758
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_LEFT_CENTER"] = 2] = "PARTICLE_ORIGIN_LEFT_CENTER";
18759
- /**
18760
- * 水平左侧 垂直底部
18761
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_LEFT_BOTTOM"] = 3] = "PARTICLE_ORIGIN_LEFT_BOTTOM";
18762
- /**
18763
- * 水平中间 垂直顶部
18764
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_CENTER_TOP"] = 4] = "PARTICLE_ORIGIN_CENTER_TOP";
18765
- /**
18766
- * 水平中间 垂直底部
18767
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_CENTER_BOTTOM"] = 5] = "PARTICLE_ORIGIN_CENTER_BOTTOM";
18768
- /**
18769
- * 水平右侧 垂直顶部
18770
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_RIGHT_TOP"] = 6] = "PARTICLE_ORIGIN_RIGHT_TOP";
18771
- /**
18772
- * 水平右侧 垂直中间
18773
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_RIGHT_CENTER"] = 7] = "PARTICLE_ORIGIN_RIGHT_CENTER";
18774
- /**
18775
- * 水平右侧 垂直底部
18776
- */ ParticleOrigin[ParticleOrigin["PARTICLE_ORIGIN_RIGHT_BOTTOM"] = 8] = "PARTICLE_ORIGIN_RIGHT_BOTTOM";
18777
- })(ParticleOrigin || (ParticleOrigin = {}));
18778
- var END_BEHAVIOR_DESTROY = 0;
18779
- var END_BEHAVIOR_PAUSE = 1;
18780
- var END_BEHAVIOR_FORWARD = 2;
18781
- var END_BEHAVIOR_PAUSE_AND_DESTROY = 3;
18782
- var END_BEHAVIOR_FREEZE = 4;
18783
- var END_BEHAVIOR_RESTART = 5;
18784
- var END_BEHAVIOR_DESTROY_CHILDREN = 6;
18785
- var CAMERA_CLIP_MODE_VERTICAL = 1;
18786
- var CAMERA_CLIP_MODE_NORMAL = 0;
18787
- var CameraClipMode;
18788
- (function(CameraClipMode) {
18789
- /**
18790
- * 剪裁上下
18791
- */ CameraClipMode[CameraClipMode["portrait"] = CAMERA_CLIP_MODE_VERTICAL] = "portrait";
18792
- /**
18793
- * 剪裁左右
18794
- */ CameraClipMode[CameraClipMode["landscape"] = CAMERA_CLIP_MODE_NORMAL] = "landscape";
18795
- })(CameraClipMode || (CameraClipMode = {}));
18796
- /**
18797
- * 结束行为
18798
- */ var CompositionEndBehavior;
18799
- (function(CompositionEndBehavior) {
18800
- /**
18801
- * 销毁
18802
- */ CompositionEndBehavior[CompositionEndBehavior["destroy"] = END_BEHAVIOR_DESTROY] = "destroy";
18803
- /**
18804
- * 暂停
18805
- */ CompositionEndBehavior[CompositionEndBehavior["pause"] = END_BEHAVIOR_PAUSE] = "pause";
18806
- /**
18807
- * 重播
18808
- */ CompositionEndBehavior[CompositionEndBehavior["restart"] = END_BEHAVIOR_RESTART] = "restart";
18809
- /**
18810
- * 无限播放
18811
- */ CompositionEndBehavior[CompositionEndBehavior["forward"] = END_BEHAVIOR_FORWARD] = "forward";
18812
- /**
18813
- * 销毁并保留最后一帧
18814
- */ CompositionEndBehavior[CompositionEndBehavior["pause_destroy"] = END_BEHAVIOR_PAUSE_AND_DESTROY] = "pause_destroy";
18815
- /**
18816
- * 冻结
18817
- */ CompositionEndBehavior[CompositionEndBehavior["freeze"] = END_BEHAVIOR_FREEZE] = "freeze";
18818
- })(CompositionEndBehavior || (CompositionEndBehavior = {}));
18819
- /**
18820
- * 动态换图类型
18821
- * @since 1.1.0
18822
- */ var BackgroundType;
18823
- (function(BackgroundType) {
18824
- BackgroundType["video"] = "video";
18825
- BackgroundType["image"] = "image";
18826
- })(BackgroundType || (BackgroundType = {}));
18827
- /*********************************************/ /* 基本数值属性参数 */ /*********************************************/ var ValueType;
18828
- (function(ValueType) {
18829
- /**
18830
- * 常数
18831
- */ ValueType[ValueType["CONSTANT"] = 0] = "CONSTANT";
18832
- /**
18833
- * 二维常数向量
18834
- */ ValueType[ValueType["CONSTANT_VEC2"] = 1] = "CONSTANT_VEC2";
18835
- /**
18836
- * 三维常数向量
18837
- */ ValueType[ValueType["CONSTANT_VEC3"] = 2] = "CONSTANT_VEC3";
18838
- /**
18839
- * 四维常数向量
18840
- */ ValueType[ValueType["CONSTANT_VEC4"] = 3] = "CONSTANT_VEC4";
18841
- /**
18842
- * 随机数
18843
- */ ValueType[ValueType["RANDOM"] = 4] = "RANDOM";
18844
- /**
18845
- * 直线
18846
- */ ValueType[ValueType["LINE"] = 5] = "LINE";
18847
- /**
18848
- * 曲线
18849
- */ ValueType[ValueType["CURVE"] = 6] = "CURVE";
18850
- /**
18851
- * 贝塞尔路径
18852
- */ ValueType[ValueType["BEZIER_PATH"] = 7] = "BEZIER_PATH";
18853
- /**
18854
- * 颜色
18855
- */ ValueType[ValueType["RGBA_COLOR"] = 8] = "RGBA_COLOR";
18856
- /**
18857
- * 渐变色
18858
- */ ValueType[ValueType["GRADIENT_COLOR"] = 9] = "GRADIENT_COLOR";
18859
- /**
18860
- * 蒙版形状点集
18861
- */ ValueType[ValueType["SHAPE_POINTS"] = 10] = "SHAPE_POINTS";
18862
- /**
18863
- * 蒙版形状切分
18864
- */ ValueType[ValueType["SHAPE_SPLITS"] = 11] = "SHAPE_SPLITS";
18865
- /**
18866
- *直线路径
18867
- */ ValueType[ValueType["LINEAR_PATH"] = 12] = "LINEAR_PATH";
18868
- /**
18869
- * 多色
18870
- */ ValueType[ValueType["COLORS"] = 13] = "COLORS";
18871
- /**
18872
- * 二进制指针
18873
- */ ValueType[ValueType["BINARY"] = 20] = "BINARY";
18874
- /**
18875
- * 贝塞尔曲线
18876
- */ ValueType[ValueType["BEZIER_CURVE"] = 21] = "BEZIER_CURVE";
18877
- /**
18878
- * 贝塞尔曲线路径
18879
- */ ValueType[ValueType["BEZIER_CURVE_PATH"] = 22] = "BEZIER_CURVE_PATH";
18880
- })(ValueType || (ValueType = {}));
18881
- /**
18882
- * 关键帧类型
18883
- */ var BezierKeyframeType;
18884
- (function(BezierKeyframeType) {
18885
- BezierKeyframeType[BezierKeyframeType["AUTO"] = 0] = "AUTO";
18886
- BezierKeyframeType[BezierKeyframeType["EASE"] = 1] = "EASE";
18887
- BezierKeyframeType[BezierKeyframeType["EASE_IN"] = 2] = "EASE_IN";
18888
- BezierKeyframeType[BezierKeyframeType["EASE_OUT"] = 3] = "EASE_OUT";
18889
- BezierKeyframeType[BezierKeyframeType["LINE"] = 4] = "LINE";
18890
- BezierKeyframeType[BezierKeyframeType["HOLD"] = 5] = "HOLD";
18891
- BezierKeyframeType[BezierKeyframeType["LINE_OUT"] = 6] = "LINE_OUT";
18892
- })(BezierKeyframeType || (BezierKeyframeType = {}));
18893
- var ItemEndBehavior;
18894
- (function(ItemEndBehavior) {
18895
- ItemEndBehavior[ItemEndBehavior["destroy"] = END_BEHAVIOR_DESTROY] = "destroy";
18896
- ItemEndBehavior[ItemEndBehavior["loop"] = END_BEHAVIOR_RESTART] = "loop";
18897
- ItemEndBehavior[ItemEndBehavior["freeze"] = END_BEHAVIOR_FREEZE] = "freeze";
18898
- })(ItemEndBehavior || (ItemEndBehavior = {}));
18899
- var ParentItemEndBehavior;
18900
- (function(ParentItemEndBehavior) {
18901
- ParentItemEndBehavior[ParentItemEndBehavior["destroyChildren"] = END_BEHAVIOR_DESTROY_CHILDREN] = "destroyChildren";
18902
- })(ParentItemEndBehavior || (ParentItemEndBehavior = {}));
18903
- /**
18904
- * 粒子交互行为
18905
- */ var ParticleInteractionBehavior;
18906
- (function(ParticleInteractionBehavior) {
18907
- /**
18908
- * 无
18909
- */ ParticleInteractionBehavior[ParticleInteractionBehavior["none"] = 0] = "none";
18910
- /**
18911
- * 移出粒子
18912
- */ ParticleInteractionBehavior[ParticleInteractionBehavior["removeParticle"] = 1] = "removeParticle";
18913
- })(ParticleInteractionBehavior || (ParticleInteractionBehavior = {}));
18914
- var ShapeArcMode;
18915
- (function(ShapeArcMode) {
18916
- /**
18917
- * 随机
18918
- */ ShapeArcMode[ShapeArcMode["RANDOM"] = 0] = "RANDOM";
18919
- /**
18920
- * 单向循环
18921
- */ ShapeArcMode[ShapeArcMode["UNIDIRECTIONAL_CYCLE"] = 1] = "UNIDIRECTIONAL_CYCLE";
18922
- /**
18923
- * 双向循环
18924
- */ ShapeArcMode[ShapeArcMode["BIDIRECTIONAL_CYCLE"] = 2] = "BIDIRECTIONAL_CYCLE";
18925
- /**
18926
- * 均匀爆发
18927
- */ ShapeArcMode[ShapeArcMode["UNIFORM_BURST"] = 3] = "UNIFORM_BURST";
18928
- })(ShapeArcMode || (ShapeArcMode = {}));
18929
- var LightType;
18930
- (function(LightType) {
18931
- /**
18932
- * 点光源
18933
- */ LightType["point"] = "point";
18934
- /**
18935
- * 聚光灯
18936
- */ LightType["spot"] = "spot";
18937
- /**
18938
- * 方向光
18939
- */ LightType["directional"] = "directional";
18940
- /**
18941
- * 环境光
18942
- */ LightType["ambient"] = "ambient";
18943
- })(LightType || (LightType = {}));
18944
- var ModelBoundingType;
18945
- (function(ModelBoundingType) {
18946
- ModelBoundingType[ModelBoundingType["box"] = 2] = "box";
18947
- ModelBoundingType[ModelBoundingType["sphere"] = 3] = "sphere";
18948
- })(ModelBoundingType || (ModelBoundingType = {}));
18949
- var CameraType;
18950
- (function(CameraType) {
18951
- CameraType["orthographic"] = "orthographic";
18952
- CameraType["perspective"] = "perspective";
18953
- })(CameraType || (CameraType = {}));
18954
- // 材质类型
18955
- var MaterialType;
18956
- (function(MaterialType) {
18957
- MaterialType["unlit"] = "unlit";
18958
- MaterialType["pbr"] = "pbr";
18959
- // 头发材质,在 pbr 材质基础上扩展
18960
- MaterialType["hair"] = "hair";
18961
- })(MaterialType || (MaterialType = {}));
18962
- // 混合模式
18963
- var MaterialBlending;
18964
- (function(MaterialBlending) {
18965
- MaterialBlending[MaterialBlending["opaque"] = 100] = "opaque";
18966
- MaterialBlending[MaterialBlending["masked"] = 101] = "masked";
18967
- MaterialBlending[MaterialBlending["translucent"] = 102] = "translucent";
18968
- MaterialBlending[MaterialBlending["additive"] = 103] = "additive";
18969
- })(MaterialBlending || (MaterialBlending = {}));
18970
- /**
18971
- * 3D渲染模式:将渲染过程中的中间结果输出,主要用于排查渲染效果问题,支持 pbr 和 unlit 材质
18972
- */ var RenderMode3D;
18973
- (function(RenderMode3D) {
18974
- /**
18975
- * 正常渲染
18976
- */ RenderMode3D["none"] = "none";
18977
- /**
18978
- * 纹理坐标
18979
- */ RenderMode3D["uv"] = "uv";
18980
- /**
18981
- * 世界坐标法线
18982
- */ RenderMode3D["normal"] = "normal";
18983
- /**
18984
- * 基础颜色
18985
- */ RenderMode3D["basecolor"] = "basecolor";
18986
- /**
18987
- * 基础颜色 Alpha
18988
- */ RenderMode3D["alpha"] = "alpha";
18989
- /**
18990
- * 金属度
18991
- */ RenderMode3D["metallic"] = "metallic";
18992
- /**
18993
- * 粗超度
18994
- */ RenderMode3D["roughness"] = "roughness";
18995
- /**
18996
- * 环境遮蔽
18997
- */ RenderMode3D["ao"] = "ao";
18998
- /**
18999
- * 自发光
19000
- */ RenderMode3D["emissive"] = "emissive";
19001
- })(RenderMode3D || (RenderMode3D = {}));
19002
- var TextOverflow;
19003
- (function(TextOverflow) {
19004
- /**
19005
- * display 模式下,会显示所有文本,存在文本超过边界框的情况。
19006
- */ TextOverflow[TextOverflow["display"] = 0] = "display";
19007
- /**
19008
- * clip 模式下,当文本内容超出边界框时,多余的会被截断。
19009
- */ TextOverflow[TextOverflow["clip"] = 1] = "clip";
19010
- /**
19011
- * ellipsis 模式下,会使用(...)来代替超出边界框的内容。
19012
- */ TextOverflow[TextOverflow["ellipsis"] = 2] = "ellipsis";
19013
- })(TextOverflow || (TextOverflow = {}));
19014
- var TextBaseline;
19015
- (function(TextBaseline) {
19016
- /**
19017
- * 文本顶对齐。
19018
- */ TextBaseline[TextBaseline["top"] = 0] = "top";
19019
- /**
19020
- * 文本垂直居中对齐。
19021
- */ TextBaseline[TextBaseline["middle"] = 1] = "middle";
19022
- /**
19023
- * 文本底对齐。
19024
- */ TextBaseline[TextBaseline["bottom"] = 2] = "bottom";
19025
- })(TextBaseline || (TextBaseline = {}));
19026
- var TextAlignment;
19027
- (function(TextAlignment) {
19028
- /**
19029
- * text alignment starts from(x,y) to right direction
19030
- * 从(x,y)开始第一个字符,向右边延伸
19031
- */ TextAlignment[TextAlignment["left"] = 0] = "left";
19032
- /**
19033
- * (x,y) is middle position of text, where (left + right)/2 =(x,y)
19034
- * (x,y) 为文字中间位置,(最左位置 + 最右位置)/2 = (x,y)
19035
- */ TextAlignment[TextAlignment["middle"] = 1] = "middle";
19036
- /**
19037
- * text alignment ends with(x,y) from left direction
19038
- * 从(x,y)结束最后一个字符,向左边延伸
19039
- */ TextAlignment[TextAlignment["right"] = 2] = "right";
19040
- })(TextAlignment || (TextAlignment = {}));
19041
- /**
19042
- * 文本字重
19043
- */ var TextWeight;
19044
- (function(TextWeight) {
19045
- /**
19046
- * 正常
19047
- */ TextWeight["normal"] = "normal";
19048
- /**
19049
- * 粗体
19050
- */ TextWeight["bold"] = "bold";
19051
- /**
19052
- * 瘦体
19053
- */ TextWeight["lighter"] = "lighter";
19054
- })(TextWeight || (TextWeight = {}));
19055
- /**
19056
- * 文本样式
19057
- */ var FontStyle;
19058
- (function(FontStyle) {
19059
- /**
19060
- * 正常
19061
- */ FontStyle["normal"] = "normal";
19062
- /**
19063
- * 斜体
19064
- */ FontStyle["italic"] = "italic";
19065
- /**
19066
- * 倾斜体
19067
- */ FontStyle["oblique"] = "oblique";
19068
- })(FontStyle || (FontStyle = {}));
19069
- var DataType;
19070
- (function(DataType) {
19071
- DataType["VFXItemData"] = "VFXItemData";
19072
- DataType["EffectComponent"] = "EffectComponent";
19073
- DataType["Material"] = "Material";
19074
- DataType["Shader"] = "Shader";
19075
- DataType["SpriteComponent"] = "SpriteComponent";
19076
- DataType["ParticleSystem"] = "ParticleSystem";
19077
- DataType["InteractComponent"] = "InteractComponent";
19078
- DataType["CameraController"] = "CameraController";
19079
- DataType["Geometry"] = "Geometry";
19080
- DataType["Texture"] = "Texture";
19081
- DataType["TextComponent"] = "TextComponent";
19082
- // FIXME: 先完成ECS的场景转换,后面移到spec中
19083
- DataType["MeshComponent"] = "MeshComponent";
19084
- DataType["SkyboxComponent"] = "SkyboxComponent";
19085
- DataType["LightComponent"] = "LightComponent";
19086
- DataType["CameraComponent"] = "CameraComponent";
19087
- DataType["ModelPluginComponent"] = "ModelPluginComponent";
19088
- DataType["TreeComponent"] = "TreeComponent";
19089
- })(DataType || (DataType = {}));
19090
- var GeometryType;
19091
- (function(GeometryType) {
19092
- /**
19093
- * Draw single points.
19094
- */ GeometryType[GeometryType["POINTS"] = 0] = "POINTS";
19095
- /**
19096
- * Draw lines. Each vertex connects to the one after it.
19097
- */ GeometryType[GeometryType["LINES"] = 1] = "LINES";
19098
- /**
19099
- * Draw lines. Each set of two vertices is treated as a separate line segment.
19100
- */ GeometryType[GeometryType["LINE_LOOP"] = 2] = "LINE_LOOP";
19101
- /**
19102
- * Draw a connected group of line segments from the first vertex to the last.
19103
- */ GeometryType[GeometryType["LINE_STRIP"] = 3] = "LINE_STRIP";
19104
- /**
19105
- * Draw triangles. Each set of three vertices creates a separate triangle.
19106
- */ GeometryType[GeometryType["TRIANGLES"] = 4] = "TRIANGLES";
19107
- /**
19108
- * Draw a connected strip of triangles.
19109
- */ GeometryType[GeometryType["TRIANGLE_STRIP"] = 5] = "TRIANGLE_STRIP";
19110
- /**
19111
- * Draw a connected group of triangles. Each vertex connects to the previous and the first vertex in the fan.
19112
- */ GeometryType[GeometryType["TRIANGLE_FAN"] = 6] = "TRIANGLE_FAN";
19113
- })(GeometryType || (GeometryType = {}));
19114
- var _a;
19115
- function arrAdd(arr, item) {
19116
- if (!arr.includes(item)) {
19117
- arr.push(item);
19118
- return true;
19119
- }
19120
- }
19121
- function ensureFixedNumber(a) {
19122
- if (Number.isFinite(a)) {
19123
- return [
19124
- ValueType.CONSTANT,
19125
- a
19126
- ];
19127
- }
19128
- if (a) {
19129
- var valueType = a[0];
19130
- var valueData = a[1];
19131
- if (Array.isArray(valueType)) {
19132
- // 没有数据类型的数据
19133
- return;
19134
- }
19135
- if (valueType === 'static' || valueType === ValueType.CONSTANT) {
19136
- return [
19137
- ValueType.CONSTANT,
19138
- a[1]
19139
- ];
19140
- }
19141
- if (valueType === 'lines') {
19142
- return [
19143
- ValueType.LINE,
19144
- a[1]
19145
- ];
19146
- }
19147
- if (valueType === ValueType.LINE) {
19148
- // @ts-expect-error
19149
- var keyframes = valueData.map(function(data) {
19150
- return [
19151
- BezierKeyframeType.LINE,
19152
- data
19153
- ];
19154
- });
19155
- return [
19156
- ValueType.BEZIER_CURVE,
19157
- keyframes
19158
- ];
19159
- }
19160
- if (valueType === 'curve' || valueType === ValueType.CURVE) {
19161
- return [
19162
- ValueType.BEZIER_CURVE,
19163
- getBezierCurveFromHermiteInGE(valueData)
19164
- ];
19165
- }
19166
- return a;
19167
- }
19168
- }
19169
- function ensureFixedNumberWithRandom(a, p) {
19170
- if (Array.isArray(a) && a[0] === 'random') {
19171
- return [
19172
- ValueType.CONSTANT,
19173
- a[1][p]
19174
- ];
19175
- }
19176
- return ensureFixedNumber(a);
19177
- }
19178
- function ensureRGBAValue(a) {
19179
- if (a && a[0] === 'color') {
19180
- return colorToArr(a[1], true);
19181
- }
19182
- return [
19183
- 1,
19184
- 1,
19185
- 1,
19186
- 1
19187
- ];
19188
- }
19189
- function ensureColorExpression(a, normalized) {
19190
- if (a) {
19191
- if (a[0] === 'colors') {
19192
- return [
19193
- ValueType.COLORS,
19194
- a[1].map(function(color) {
19195
- return colorToArr(color, normalized);
19196
- })
19197
- ];
19198
- } else if (a[0] === 'gradient') {
19199
- return ensureGradient(a[1], normalized);
19200
- } else if (a[0] === 'color') {
19201
- return [
19202
- ValueType.RGBA_COLOR,
19203
- colorToArr(a[1], normalized)
19204
- ];
19205
- }
19206
- return a;
19207
- }
18506
+ function ensureColorExpression(a, normalized) {
18507
+ if (a) {
18508
+ if (a[0] === 'colors') {
18509
+ return [
18510
+ ValueType.COLORS,
18511
+ a[1].map((color)=>colorToArr(color, normalized))
18512
+ ];
18513
+ } else if (a[0] === 'gradient') {
18514
+ return ensureGradient(a[1], normalized);
18515
+ } else if (a[0] === 'color') {
18516
+ return [
18517
+ ValueType.RGBA_COLOR,
18518
+ colorToArr(a[1], normalized)
18519
+ ];
18520
+ }
18521
+ return a;
18522
+ }
19208
18523
  }
19209
18524
  function ensureNumberExpression(a) {
19210
18525
  if (a && a[0] === 'random') {
@@ -19217,11 +18532,11 @@ function ensureNumberExpression(a) {
19217
18532
  }
19218
18533
  function ensureGradient(a, normalized) {
19219
18534
  if (a) {
19220
- var stops_1 = [];
19221
- Object.getOwnPropertyNames(a).forEach(function(p) {
19222
- var stop = parsePercent(p);
19223
- var color = colorToArr(a[p], normalized);
19224
- stops_1.push([
18535
+ let stops = [];
18536
+ Object.getOwnPropertyNames(a).forEach((p)=>{
18537
+ const stop = parsePercent(p);
18538
+ const color = colorToArr(a[p], normalized);
18539
+ stops.push([
19225
18540
  stop,
19226
18541
  color[0],
19227
18542
  color[1],
@@ -19229,22 +18544,20 @@ function ensureGradient(a, normalized) {
19229
18544
  color[3]
19230
18545
  ]);
19231
18546
  });
19232
- stops_1 = stops_1.sort(function(a, b) {
19233
- return a[0] - b[0];
19234
- });
18547
+ stops = stops.sort((a, b)=>a[0] - b[0]);
19235
18548
  return [
19236
18549
  ValueType.GRADIENT_COLOR,
19237
- stops_1
18550
+ stops
19238
18551
  ];
19239
18552
  }
19240
18553
  }
19241
18554
  function colorToArr(hex, normalized) {
19242
- var ret;
18555
+ let ret;
19243
18556
  if (typeof hex === 'string') {
19244
18557
  hex = hex.replace(/[\s\t\r\n]/g, '');
19245
- var m = /rgba?\(([.\d]+),([.\d]+),([.\d]+),?([.\d]+)?\)/.exec(hex);
18558
+ let m = /rgba?\(([.\d]+),([.\d]+),([.\d]+),?([.\d]+)?\)/.exec(hex);
19246
18559
  if (m) {
19247
- var a = +m[4];
18560
+ const a = +m[4];
19248
18561
  ret = [
19249
18562
  +m[1],
19250
18563
  +m[2],
@@ -19289,13 +18602,11 @@ function colorToArr(hex, normalized) {
19289
18602
  }
19290
18603
  function normalizeColor(a) {
19291
18604
  if (Array.isArray(a)) {
19292
- return a.map(function(i) {
19293
- return Number.isFinite(i / 255) ? Number((i / 255).toFixed(6)) : 0;
19294
- });
18605
+ return a.map((i)=>Number.isFinite(i / 255) ? Number((i / 255).toFixed(6)) : 0);
19295
18606
  }
19296
18607
  }
19297
18608
  function parsePercent(c) {
19298
- var match = /^(-)?([\d+.]+)%$/.exec(c);
18609
+ const match = /^(-)?([\d+.]+)%$/.exec(c);
19299
18610
  if (match) {
19300
18611
  return +match[2] / 100 * (match[1] ? -1 : 1);
19301
18612
  }
@@ -19320,18 +18631,18 @@ function ensureFixedVec3(a) {
19320
18631
  a
19321
18632
  ];
19322
18633
  }
19323
- var valueType = a[0];
18634
+ const valueType = a[0];
19324
18635
  if (valueType === 'path' || valueType === 'bezier' || valueType === ValueType.BEZIER_PATH || valueType === ValueType.LINEAR_PATH) {
19325
- var valueData = a[1];
19326
- var easing = valueData[0];
19327
- var points = valueData[1];
19328
- var controlPoints = valueData[2];
19329
- var bezierEasing = getBezierCurveFromHermiteInGE(easing);
18636
+ const valueData = a[1];
18637
+ const easing = valueData[0];
18638
+ const points = valueData[1];
18639
+ let controlPoints = valueData[2];
18640
+ const bezierEasing = getBezierCurveFromHermiteInGE(easing);
19330
18641
  // linear path没有controlPoints
19331
18642
  if (!controlPoints) {
19332
18643
  controlPoints = [];
19333
- for(var keyframeIndex = 0; keyframeIndex < points.length; keyframeIndex++){
19334
- var point = points[keyframeIndex].slice();
18644
+ for(let keyframeIndex = 0; keyframeIndex < points.length; keyframeIndex++){
18645
+ const point = points[keyframeIndex].slice();
19335
18646
  if (keyframeIndex === 0) {
19336
18647
  controlPoints.push(point);
19337
18648
  } else if (keyframeIndex < points.length - 1) {
@@ -19355,58 +18666,30 @@ function ensureFixedVec3(a) {
19355
18666
  }
19356
18667
  }
19357
18668
  function objectValueToNumber(o) {
19358
- var e_1, _a;
19359
- try {
19360
- for(var _b = __values(Object.keys(o)), _c = _b.next(); !_c.done; _c = _b.next()){
19361
- var key = _c.value;
19362
- o[key] = Number(o[key]);
19363
- }
19364
- } catch (e_1_1) {
19365
- e_1 = {
19366
- error: e_1_1
19367
- };
19368
- } finally{
19369
- try {
19370
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
19371
- } finally{
19372
- if (e_1) throw e_1.error;
19373
- }
18669
+ for (const key of Object.keys(o)){
18670
+ o[key] = Number(o[key]);
19374
18671
  }
19375
18672
  return o;
19376
18673
  }
19377
18674
  function deleteEmptyValue(o) {
19378
- var e_2, _a;
19379
- try {
19380
- for(var _b = __values(Object.keys(o)), _c = _b.next(); !_c.done; _c = _b.next()){
19381
- var key = _c.value;
19382
- if (o[key] === undefined) {
19383
- delete o[key];
19384
- }
19385
- }
19386
- } catch (e_2_1) {
19387
- e_2 = {
19388
- error: e_2_1
19389
- };
19390
- } finally{
19391
- try {
19392
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
19393
- } finally{
19394
- if (e_2) throw e_2.error;
18675
+ for (const key of Object.keys(o)){
18676
+ if (o[key] === undefined) {
18677
+ delete o[key];
19395
18678
  }
19396
18679
  }
19397
18680
  return o;
19398
18681
  }
19399
- var cos = Math.cos;
19400
- var sin = Math.sin;
19401
- var d2r = Math.PI / 180;
19402
- var r2d = 180 / Math.PI;
18682
+ const cos = Math.cos;
18683
+ const sin = Math.sin;
18684
+ const d2r = Math.PI / 180;
18685
+ const r2d = 180 / Math.PI;
19403
18686
  function quatFromXYZRotation(out, x, y, z) {
19404
- var c1 = cos(x * d2r / 2);
19405
- var c2 = cos(y * d2r / 2);
19406
- var c3 = cos(z * d2r / 2);
19407
- var s1 = sin(x * d2r / 2);
19408
- var s2 = sin(y * d2r / 2);
19409
- var s3 = sin(z * d2r / 2);
18687
+ const c1 = cos(x * d2r / 2);
18688
+ const c2 = cos(y * d2r / 2);
18689
+ const c3 = cos(z * d2r / 2);
18690
+ const s1 = sin(x * d2r / 2);
18691
+ const s2 = sin(y * d2r / 2);
18692
+ const s3 = sin(z * d2r / 2);
19410
18693
  out[0] = s1 * c2 * c3 + c1 * s2 * s3;
19411
18694
  out[1] = c1 * s2 * c3 - s1 * c2 * s3;
19412
18695
  out[2] = c1 * c2 * s3 + s1 * s2 * c3;
@@ -19417,25 +18700,25 @@ function clamp(v, min, max) {
19417
18700
  return v > max ? max : v < min ? min : v;
19418
18701
  }
19419
18702
  function rotationZYXFromQuat(out, quat) {
19420
- var x = quat[0];
19421
- var y = quat[1];
19422
- var z = quat[2];
19423
- var w = quat[3];
19424
- var x2 = x + x;
19425
- var y2 = y + y;
19426
- var z2 = z + z;
19427
- var xx = x * x2;
19428
- var yx = y * x2;
19429
- var yy = y * y2;
19430
- var zx = z * x2;
19431
- var zy = z * y2;
19432
- var zz = z * z2;
19433
- var wx = w * x2;
19434
- var wy = w * y2;
19435
- var wz = w * z2;
19436
- var m11 = 1 - yy - zz, m12 = yx - wz;
19437
- var m21 = yx + wz, m22 = 1 - xx - zz;
19438
- var m31 = zx - wy, m32 = zy + wx, m33 = 1 - xx - yy;
18703
+ const x = quat[0];
18704
+ const y = quat[1];
18705
+ const z = quat[2];
18706
+ const w = quat[3];
18707
+ const x2 = x + x;
18708
+ const y2 = y + y;
18709
+ const z2 = z + z;
18710
+ const xx = x * x2;
18711
+ const yx = y * x2;
18712
+ const yy = y * y2;
18713
+ const zx = z * x2;
18714
+ const zy = z * y2;
18715
+ const zz = z * z2;
18716
+ const wx = w * x2;
18717
+ const wy = w * y2;
18718
+ const wz = w * z2;
18719
+ const m11 = 1 - yy - zz, m12 = yx - wz;
18720
+ const m21 = yx + wz, m22 = 1 - xx - zz;
18721
+ const m31 = zx - wy, m32 = zy + wx, m33 = 1 - xx - yy;
19439
18722
  out[1] = Math.asin(clamp(-m31, -1, 1)) * r2d;
19440
18723
  if (Math.abs(m31) < 0.9999999) {
19441
18724
  out[0] = Math.atan2(m32, m33) * r2d;
@@ -19446,9 +18729,6 @@ function rotationZYXFromQuat(out, quat) {
19446
18729
  }
19447
18730
  return out;
19448
18731
  }
19449
- function generateGUID() {
19450
- return v4().replace(/-/g, '');
19451
- }
19452
18732
  /**
19453
18733
  * 提取并转换 JSON 数据中的 anchor 值
19454
18734
  */ function convertAnchor(anchor, particleOrigin) {
@@ -19466,43 +18746,53 @@ function generateGUID() {
19466
18746
  ];
19467
18747
  }
19468
18748
  }
19469
- var particleOriginTranslateMap = (_a = {}, _a[ParticleOrigin.PARTICLE_ORIGIN_CENTER] = [
19470
- 0,
19471
- 0
19472
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_CENTER_BOTTOM] = [
19473
- 0,
19474
- -0.5
19475
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_CENTER_TOP] = [
19476
- 0,
19477
- 0.5
19478
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_LEFT_TOP] = [
19479
- -0.5,
19480
- 0.5
19481
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_LEFT_CENTER] = [
19482
- -0.5,
19483
- 0
19484
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_LEFT_BOTTOM] = [
19485
- -0.5,
19486
- -0.5
19487
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_RIGHT_CENTER] = [
19488
- 0.5,
19489
- 0
19490
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_RIGHT_BOTTOM] = [
19491
- 0.5,
19492
- -0.5
19493
- ], _a[ParticleOrigin.PARTICLE_ORIGIN_RIGHT_TOP] = [
19494
- 0.5,
19495
- 0.5
19496
- ], _a);
18749
+ const particleOriginTranslateMap = {
18750
+ [ParticleOrigin.PARTICLE_ORIGIN_CENTER]: [
18751
+ 0,
18752
+ 0
18753
+ ],
18754
+ [ParticleOrigin.PARTICLE_ORIGIN_CENTER_BOTTOM]: [
18755
+ 0,
18756
+ -0.5
18757
+ ],
18758
+ [ParticleOrigin.PARTICLE_ORIGIN_CENTER_TOP]: [
18759
+ 0,
18760
+ 0.5
18761
+ ],
18762
+ [ParticleOrigin.PARTICLE_ORIGIN_LEFT_TOP]: [
18763
+ -0.5,
18764
+ 0.5
18765
+ ],
18766
+ [ParticleOrigin.PARTICLE_ORIGIN_LEFT_CENTER]: [
18767
+ -0.5,
18768
+ 0
18769
+ ],
18770
+ [ParticleOrigin.PARTICLE_ORIGIN_LEFT_BOTTOM]: [
18771
+ -0.5,
18772
+ -0.5
18773
+ ],
18774
+ [ParticleOrigin.PARTICLE_ORIGIN_RIGHT_CENTER]: [
18775
+ 0.5,
18776
+ 0
18777
+ ],
18778
+ [ParticleOrigin.PARTICLE_ORIGIN_RIGHT_BOTTOM]: [
18779
+ 0.5,
18780
+ -0.5
18781
+ ],
18782
+ [ParticleOrigin.PARTICLE_ORIGIN_RIGHT_TOP]: [
18783
+ 0.5,
18784
+ 0.5
18785
+ ]
18786
+ };
19497
18787
  function getBezierCurveFromHermite(m0, m1, p0, p3) {
19498
- var xStart = p0[0];
19499
- var yStart = p0[1];
19500
- var xEnd = p3[0];
19501
- var yEnd = p3[1];
19502
- var dt = xEnd - xStart;
18788
+ const xStart = p0[0];
18789
+ const yStart = p0[1];
18790
+ const xEnd = p3[0];
18791
+ const yEnd = p3[1];
18792
+ const dt = xEnd - xStart;
19503
18793
  m0 = m0 * dt;
19504
18794
  m1 = m1 * dt;
19505
- var bezierControlPoints = [
18795
+ const bezierControlPoints = [
19506
18796
  [
19507
18797
  xStart + (xEnd - xStart) / 3,
19508
18798
  yStart + m0 / 3
@@ -19515,33 +18805,33 @@ function getBezierCurveFromHermite(m0, m1, p0, p3) {
19515
18805
  return bezierControlPoints;
19516
18806
  }
19517
18807
  function getBezierCurveFromHermiteInGE(geHermiteCurves) {
19518
- var ymax = -1000000;
19519
- var ymin = 1000000;
19520
- for(var i = 0; i < geHermiteCurves.length; i++){
18808
+ let ymax = -1000000;
18809
+ let ymin = 1000000;
18810
+ for(let i = 0; i < geHermiteCurves.length; i++){
19521
18811
  ymax = Math.max(ymax, geHermiteCurves[i][1]);
19522
18812
  ymin = Math.min(ymin, geHermiteCurves[i][1]);
19523
18813
  }
19524
- var geBezierCurves = [
18814
+ const geBezierCurves = [
19525
18815
  [
19526
18816
  geHermiteCurves[0][0],
19527
18817
  geHermiteCurves[0][1]
19528
18818
  ]
19529
18819
  ];
19530
- for(var i = 0; i < geHermiteCurves.length - 1; i++){
19531
- var m0 = geHermiteCurves[i][3] * (ymax - ymin);
19532
- var m1 = geHermiteCurves[i + 1][2] * (ymax - ymin);
19533
- var p0 = [
18820
+ for(let i = 0; i < geHermiteCurves.length - 1; i++){
18821
+ const m0 = geHermiteCurves[i][3] * (ymax - ymin);
18822
+ const m1 = geHermiteCurves[i + 1][2] * (ymax - ymin);
18823
+ const p0 = [
19534
18824
  geHermiteCurves[i][0],
19535
18825
  geHermiteCurves[i][1]
19536
18826
  ];
19537
- var p3 = [
18827
+ const p3 = [
19538
18828
  geHermiteCurves[i + 1][0],
19539
18829
  geHermiteCurves[i + 1][1]
19540
18830
  ];
19541
18831
  if (p0[0] != p3[0]) {
19542
- var bezierControlPoints = getBezierCurveFromHermite(m0, m1, p0, p3);
19543
- var p1 = bezierControlPoints[0];
19544
- var p2 = bezierControlPoints[1];
18832
+ const bezierControlPoints = getBezierCurveFromHermite(m0, m1, p0, p3);
18833
+ const p1 = bezierControlPoints[0];
18834
+ const p2 = bezierControlPoints[1];
19545
18835
  geBezierCurves[geBezierCurves.length - 1].push(p1[0]);
19546
18836
  geBezierCurves[geBezierCurves.length - 1].push(p1[1]);
19547
18837
  geBezierCurves.push([
@@ -19556,7 +18846,7 @@ function getBezierCurveFromHermiteInGE(geHermiteCurves) {
19556
18846
  }
19557
18847
  }
19558
18848
  // 添加关键帧类型
19559
- return geBezierCurves.map(function(curve, index) {
18849
+ return geBezierCurves.map((curve, index)=>{
19560
18850
  return index === 0 ? [
19561
18851
  BezierKeyframeType.EASE_OUT,
19562
18852
  curve
@@ -19569,20 +18859,21 @@ function getBezierCurveFromHermiteInGE(geHermiteCurves) {
19569
18859
  ];
19570
18860
  });
19571
18861
  }
18862
+
19572
18863
  function getStandardParticleContent(particle) {
19573
- var _a;
19574
- var options = particle.options;
19575
- var transform = particle.transform;
19576
- var shape = {
18864
+ const options = particle.options;
18865
+ const transform = particle.transform;
18866
+ let shape = {
19577
18867
  type: ShapeType.NONE
19578
18868
  };
19579
18869
  if (particle.shape) {
19580
- var shapeType = (_a = particle.shape.shape) === null || _a === void 0 ? void 0 : _a.replace(/([A-Z])/g, '_$1').toUpperCase().replace(/^_/, '');
19581
- shape = __assign(__assign({}, particle.shape), {
18870
+ var _particle_shape_shape;
18871
+ const shapeType = (_particle_shape_shape = particle.shape.shape) == null ? void 0 : _particle_shape_shape.replace(/([A-Z])/g, '_$1').toUpperCase().replace(/^_/, '');
18872
+ shape = _extends({}, particle.shape, {
19582
18873
  type: ShapeType[shapeType]
19583
18874
  });
19584
18875
  if (particle.shape.upDirection) {
19585
- var _b = __read(particle.shape.upDirection, 3), x = _b[0], y = _b[1], z = _b[2];
18876
+ const [x, y, z] = particle.shape.upDirection;
19586
18877
  if (x === 0 && y === 0 && z === 0) {
19587
18878
  delete shape.upDirection;
19588
18879
  }
@@ -19593,23 +18884,19 @@ function getStandardParticleContent(particle) {
19593
18884
  shape.turbulenceY = ensureNumberExpression(options.turbulenceY);
19594
18885
  shape.turbulenceZ = ensureNumberExpression(options.turbulenceZ);
19595
18886
  }
19596
- var emission = particle.emission;
18887
+ const emission = particle.emission;
19597
18888
  if (emission.bursts && emission.bursts.length > 0) {
19598
- emission.bursts = emission.bursts.map(function(b) {
19599
- return objectValueToNumber(b);
19600
- });
18889
+ emission.bursts = emission.bursts.map((b)=>objectValueToNumber(b));
19601
18890
  }
19602
18891
  if (emission.burstOffsets && emission.burstOffsets.length > 0) {
19603
- emission.burstOffsets = emission.burstOffsets.map(function(b) {
19604
- return objectValueToNumber(b);
19605
- });
18892
+ emission.burstOffsets = emission.burstOffsets.map((b)=>objectValueToNumber(b));
19606
18893
  }
19607
18894
  if (emission.rateOverTime) {
19608
18895
  emission.rateOverTime = ensureNumberExpression(emission.rateOverTime);
19609
18896
  }
19610
- var ret = {
18897
+ const ret = {
19611
18898
  renderer: particle.renderer,
19612
- shape: shape,
18899
+ shape,
19613
18900
  splits: particle.splits,
19614
18901
  emission: emission,
19615
18902
  options: {
@@ -19635,7 +18922,7 @@ function getStandardParticleContent(particle) {
19635
18922
  path: ensureFixedVec3(transform.path)
19636
18923
  };
19637
18924
  }
19638
- var sizeOverLifetime = particle.sizeOverLifetime;
18925
+ const sizeOverLifetime = particle.sizeOverLifetime;
19639
18926
  if (sizeOverLifetime) {
19640
18927
  if (sizeOverLifetime.separateAxes) {
19641
18928
  ret.sizeOverLifetime = {
@@ -19649,8 +18936,8 @@ function getStandardParticleContent(particle) {
19649
18936
  };
19650
18937
  }
19651
18938
  }
19652
- var velocityOverLifetime = particle.velocityOverLifetime || {};
19653
- var sol = velocityOverLifetime.speedOverLifetime;
18939
+ const velocityOverLifetime = particle.velocityOverLifetime || {};
18940
+ let sol = velocityOverLifetime.speedOverLifetime;
19654
18941
  if (sol) {
19655
18942
  sol = ensureFixedNumber(sol);
19656
18943
  } else {
@@ -19675,7 +18962,7 @@ function getStandardParticleContent(particle) {
19675
18962
  forceCurve: ensureFixedNumber(velocityOverLifetime.forceCurve)
19676
18963
  };
19677
18964
  deleteEmptyValue(ret.positionOverLifetime);
19678
- var rotationOverLifetime = particle.rotationOverLifetime;
18965
+ const rotationOverLifetime = particle.rotationOverLifetime;
19679
18966
  if (rotationOverLifetime) {
19680
18967
  ret.rotationOverLifetime = {
19681
18968
  separateAxes: rotationOverLifetime.separateAxes,
@@ -19687,16 +18974,16 @@ function getStandardParticleContent(particle) {
19687
18974
  ret.rotationOverLifetime.x = ensureFixedNumber(rotationOverLifetime.x);
19688
18975
  }
19689
18976
  }
19690
- var colorOverLifetime = particle.colorOverLifetime;
18977
+ const colorOverLifetime = particle.colorOverLifetime;
19691
18978
  if (colorOverLifetime) {
19692
- var col = ret.colorOverLifetime = {
18979
+ const col = ret.colorOverLifetime = {
19693
18980
  opacity: ensureFixedNumber(colorOverLifetime.opacity)
19694
18981
  };
19695
18982
  if (colorOverLifetime.color) {
19696
18983
  col.color = getGradientColor(colorOverLifetime.color);
19697
18984
  }
19698
18985
  }
19699
- var textureSheetAnimation = particle.textureSheetAnimation;
18986
+ const textureSheetAnimation = particle.textureSheetAnimation;
19700
18987
  if (textureSheetAnimation) {
19701
18988
  ret.textureSheetAnimation = {
19702
18989
  row: textureSheetAnimation.row,
@@ -19708,7 +18995,7 @@ function getStandardParticleContent(particle) {
19708
18995
  animationDuration: ensureFixedNumberWithRandom(textureSheetAnimation.animationDuration, 0)
19709
18996
  };
19710
18997
  }
19711
- var trials = particle.trails;
18998
+ const trials = particle.trails;
19712
18999
  if (trials) {
19713
19000
  ret.trails = {
19714
19001
  lifetime: ensureNumberExpression(trials.lifetime),
@@ -19731,7 +19018,7 @@ function getStandardParticleContent(particle) {
19731
19018
  };
19732
19019
  }
19733
19020
  ret.trails && deleteEmptyValue(ret.trails);
19734
- var interaction = particle.interaction;
19021
+ const interaction = particle.interaction;
19735
19022
  if (interaction) {
19736
19023
  ret.interaction = {
19737
19024
  behavior: interaction.behavior,
@@ -19741,12 +19028,13 @@ function getStandardParticleContent(particle) {
19741
19028
  }
19742
19029
  return ret;
19743
19030
  }
19031
+
19744
19032
  function getStandardNullContent(sprite, transform) {
19745
- var _a;
19746
- var opt = sprite.options;
19747
- var velocityOverLifetime = sprite.velocityOverLifetime || {};
19748
- var positionOverLifetime = {
19749
- path: ensureFixedVec3((_a = sprite.transform) === null || _a === void 0 ? void 0 : _a.path),
19033
+ var _sprite_transform;
19034
+ const opt = sprite.options;
19035
+ const velocityOverLifetime = sprite.velocityOverLifetime || {};
19036
+ const positionOverLifetime = {
19037
+ path: ensureFixedVec3((_sprite_transform = sprite.transform) == null ? void 0 : _sprite_transform.path),
19750
19038
  gravity: opt.gravity,
19751
19039
  gravityOverLifetime: ensureFixedNumber(opt.gravityModifier),
19752
19040
  direction: opt.direction,
@@ -19763,11 +19051,11 @@ function getStandardNullContent(sprite, transform) {
19763
19051
  speedOverLifetime: ensureFixedNumber(velocityOverLifetime.speedOverLifetime)
19764
19052
  };
19765
19053
  deleteEmptyValue(positionOverLifetime);
19766
- var ret = {
19054
+ const ret = {
19767
19055
  options: {
19768
19056
  startColor: ensureRGBAValue(opt.startColor)
19769
19057
  },
19770
- positionOverLifetime: positionOverLifetime
19058
+ positionOverLifetime
19771
19059
  };
19772
19060
  if (opt.startSize) {
19773
19061
  transform.scale = [
@@ -19787,9 +19075,9 @@ function getStandardNullContent(sprite, transform) {
19787
19075
  transform.rotation[2] += opt.startRotation;
19788
19076
  }
19789
19077
  }
19790
- var rotationOverLifetime = sprite.rotationOverLifetime;
19078
+ const rotationOverLifetime = sprite.rotationOverLifetime;
19791
19079
  if (rotationOverLifetime) {
19792
- var rot = ret.rotationOverLifetime = {
19080
+ const rot = ret.rotationOverLifetime = {
19793
19081
  separateAxes: rotationOverLifetime.separateAxes,
19794
19082
  asRotation: rotationOverLifetime.asRotation
19795
19083
  };
@@ -19801,16 +19089,16 @@ function getStandardNullContent(sprite, transform) {
19801
19089
  rot.z = ensureFixedNumber(rotationOverLifetime.angularVelocity);
19802
19090
  }
19803
19091
  }
19804
- var colorOverLifetime = sprite.colorOverLifetime;
19092
+ const colorOverLifetime = sprite.colorOverLifetime;
19805
19093
  if (colorOverLifetime) {
19806
- var col = ret.colorOverLifetime = {
19094
+ const col = ret.colorOverLifetime = {
19807
19095
  opacity: ensureFixedNumber(colorOverLifetime.opacity)
19808
19096
  };
19809
19097
  if (colorOverLifetime.color) {
19810
19098
  col.color = getGradientColor(colorOverLifetime.color);
19811
19099
  }
19812
19100
  }
19813
- var sizeOverLifetime = sprite.sizeOverLifetime;
19101
+ const sizeOverLifetime = sprite.sizeOverLifetime;
19814
19102
  if (sizeOverLifetime) {
19815
19103
  ret.sizeOverLifetime = {
19816
19104
  separateAxes: sizeOverLifetime.separateAxes,
@@ -19823,8 +19111,8 @@ function getStandardNullContent(sprite, transform) {
19823
19111
  return ret;
19824
19112
  }
19825
19113
  function getStandardSpriteContent(sprite, transform) {
19826
- var ret = getStandardNullContent(sprite, transform);
19827
- var texAni = sprite.textureSheetAnimation;
19114
+ const ret = getStandardNullContent(sprite, transform);
19115
+ const texAni = sprite.textureSheetAnimation;
19828
19116
  if (texAni) {
19829
19117
  ret.textureSheetAnimation = {
19830
19118
  row: texAni.row,
@@ -19842,9 +19130,10 @@ function getStandardSpriteContent(sprite, transform) {
19842
19130
  }
19843
19131
  return ret;
19844
19132
  }
19133
+
19845
19134
  function getStandardInteractContent(ui) {
19846
- var options = ui.options;
19847
- var option;
19135
+ const options = ui.options;
19136
+ let option;
19848
19137
  switch(options.type){
19849
19138
  case 'click':
19850
19139
  {
@@ -19852,7 +19141,7 @@ function getStandardInteractContent(ui) {
19852
19141
  type: InteractType.CLICK,
19853
19142
  showPreview: options.showPreview,
19854
19143
  previewColor: options.previewColor && ensureRGBAValue(options.previewColor),
19855
- behavior: options.behavior || InteractBehavior.NOTIFY
19144
+ behavior: options.behavior || InteractBehavior$1.NOTIFY
19856
19145
  };
19857
19146
  break;
19858
19147
  }
@@ -19875,16 +19164,17 @@ function getStandardInteractContent(ui) {
19875
19164
  break;
19876
19165
  }
19877
19166
  }
19878
- var ret = {
19167
+ const ret = {
19879
19168
  // @ts-expect-error
19880
19169
  options: option
19881
19170
  };
19882
19171
  return ret;
19883
19172
  }
19173
+
19884
19174
  function getStandardCameraContent(model) {
19885
- var _a, _b;
19886
- var opt = model.options;
19887
- var ret = {
19175
+ var _model_transform;
19176
+ const opt = model.options;
19177
+ const ret = {
19888
19178
  options: {
19889
19179
  fov: opt.fov,
19890
19180
  far: opt.far,
@@ -19892,35 +19182,37 @@ function getStandardCameraContent(model) {
19892
19182
  clipMode: opt.clipMode
19893
19183
  }
19894
19184
  };
19895
- var velocityOverLifetime = model.velocityOverLifetime;
19896
- if (velocityOverLifetime || ((_a = model.transform) === null || _a === void 0 ? void 0 : _a.path)) {
19897
- var positionOverLifetime = {
19898
- path: ensureFixedVec3((_b = model.transform) === null || _b === void 0 ? void 0 : _b.path),
19899
- linearX: ensureFixedNumber(velocityOverLifetime === null || velocityOverLifetime === void 0 ? void 0 : velocityOverLifetime.translateX),
19900
- linearY: ensureFixedNumber(velocityOverLifetime === null || velocityOverLifetime === void 0 ? void 0 : velocityOverLifetime.translateY),
19901
- linearZ: ensureFixedNumber(velocityOverLifetime === null || velocityOverLifetime === void 0 ? void 0 : velocityOverLifetime.translateZ)
19185
+ const velocityOverLifetime = model.velocityOverLifetime;
19186
+ if (velocityOverLifetime || ((_model_transform = model.transform) == null ? void 0 : _model_transform.path)) {
19187
+ var _model_transform1;
19188
+ const positionOverLifetime = {
19189
+ path: ensureFixedVec3((_model_transform1 = model.transform) == null ? void 0 : _model_transform1.path),
19190
+ linearX: ensureFixedNumber(velocityOverLifetime == null ? void 0 : velocityOverLifetime.translateX),
19191
+ linearY: ensureFixedNumber(velocityOverLifetime == null ? void 0 : velocityOverLifetime.translateY),
19192
+ linearZ: ensureFixedNumber(velocityOverLifetime == null ? void 0 : velocityOverLifetime.translateZ)
19902
19193
  };
19903
19194
  deleteEmptyValue(positionOverLifetime);
19904
19195
  ret.positionOverLifetime = positionOverLifetime;
19905
19196
  }
19906
- var rol = model.rotationOverLifetime;
19197
+ const rol = model.rotationOverLifetime;
19907
19198
  if (rol) {
19908
- var rotationOverLifetime = {
19199
+ const rotationOverLifetime = {
19909
19200
  separateAxes: rol.separateAxes,
19910
- x: ensureFixedNumber(rol === null || rol === void 0 ? void 0 : rol.rotateX),
19911
- y: ensureFixedNumber(rol === null || rol === void 0 ? void 0 : rol.rotateY),
19912
- z: rol.separateAxes ? ensureFixedNumber(rol === null || rol === void 0 ? void 0 : rol.rotateZ) : ensureFixedNumber(rol.rotation)
19201
+ x: ensureFixedNumber(rol == null ? void 0 : rol.rotateX),
19202
+ y: ensureFixedNumber(rol == null ? void 0 : rol.rotateY),
19203
+ z: rol.separateAxes ? ensureFixedNumber(rol == null ? void 0 : rol.rotateZ) : ensureFixedNumber(rol.rotation)
19913
19204
  };
19914
19205
  deleteEmptyValue(rotationOverLifetime);
19915
19206
  ret.rotationOverLifetime = rotationOverLifetime;
19916
19207
  }
19917
19208
  return ret;
19918
19209
  }
19210
+
19919
19211
  /**
19920
19212
  * 2.1 以下版本数据适配(mars-player@2.4.0 及以上版本支持 2.1 以下数据的适配)
19921
19213
  */ function version21Migration(json) {
19922
- json.compositions.forEach(function(composition) {
19923
- composition.items.forEach(function(item) {
19214
+ json.compositions.forEach((composition)=>{
19215
+ composition.items.forEach((item)=>{
19924
19216
  if (item.type === ItemType.null) {
19925
19217
  if (item.endBehavior === ItemEndBehavior.destroy) {
19926
19218
  item.endBehavior = ItemEndBehavior.freeze;
@@ -19934,13 +19226,13 @@ function getStandardCameraContent(model) {
19934
19226
  /**
19935
19227
  * 2.2 以下版本数据适配(mars-player@2.5.0 及以上版本支持 2.2 以下数据的适配)
19936
19228
  */ function version22Migration(json) {
19937
- var _a;
19938
- var singleVersion = (_a = json.version) === null || _a === void 0 ? void 0 : _a.split('.');
19229
+ var _json_version;
19230
+ const singleVersion = (_json_version = json.version) == null ? void 0 : _json_version.split('.');
19939
19231
  if (!singleVersion || Number(singleVersion[0]) > 2 || Number(singleVersion[0]) === 2 && Number(singleVersion[1]) >= 2) {
19940
19232
  return json;
19941
19233
  }
19942
- json.compositions.forEach(function(composition) {
19943
- composition.items.forEach(function(item) {
19234
+ json.compositions.forEach((composition)=>{
19235
+ composition.items.forEach((item)=>{
19944
19236
  if (item.type === ItemType.mesh || item.type === ItemType.light) {
19945
19237
  item.endBehavior = item.endBehavior === 1 ? ItemEndBehavior.destroy : item.endBehavior;
19946
19238
  }
@@ -19951,82 +19243,78 @@ function getStandardCameraContent(model) {
19951
19243
  /**
19952
19244
  * 3.0 以下版本数据适配(runtime 2.0及以上版本支持)
19953
19245
  */ function version30Migration(json) {
19954
- var e_1, _a, e_2, _b;
19955
- var _c, _d, _e, _f, _g, _h, _j, _k;
19956
- var result = __assign(__assign({}, json), {
19246
+ var // 兼容老版本数据中不存在textures的情况
19247
+ _result;
19248
+ const result = _extends({}, json, {
19957
19249
  items: [],
19958
19250
  components: [],
19959
19251
  materials: [],
19960
19252
  shaders: [],
19961
19253
  geometries: []
19962
19254
  });
19963
- // 兼容老版本数据中不存在textures的情况
19964
- (_c = result.textures) !== null && _c !== void 0 ? _c : result.textures = [];
19965
- result.textures.forEach(function(textureOptions) {
19255
+ // image数据添加 guid
19256
+ for (const image of result.images){
19257
+ image.id = generateGUID();
19258
+ }
19259
+ var _textures;
19260
+ (_textures = (_result = result).textures) != null ? _textures : _result.textures = [];
19261
+ result.textures.forEach((textureOptions)=>{
19966
19262
  textureOptions.id = generateGUID();
19967
19263
  textureOptions.dataType = DataType.Texture;
19264
+ // @ts-expect-error
19265
+ textureOptions.source = {
19266
+ id: result.images[textureOptions.source].id
19267
+ };
19968
19268
  });
19969
19269
  if (result.textures.length < result.images.length) {
19970
- for(var i = result.textures.length; i < result.images.length; i++){
19270
+ for(let i = result.textures.length; i < result.images.length; i++){
19971
19271
  result.textures.push({
19972
19272
  id: generateGUID(),
19973
19273
  dataType: DataType.Texture,
19974
- source: i,
19274
+ //@ts-expect-error
19275
+ source: {
19276
+ id: result.images[i].id
19277
+ },
19975
19278
  flipY: true
19976
19279
  });
19977
19280
  }
19978
19281
  }
19979
- var itemGuidMap = {};
19980
- var _loop_1 = function(composition) {
19981
- var e_3, _q;
19282
+ const itemGuidMap = {};
19283
+ // 更正Composition.endBehavior
19284
+ for (const composition of json.compositions){
19982
19285
  // composition 的 endbehaviour 兼容
19983
- if (composition.endBehavior === END_BEHAVIOR_PAUSE_AND_DESTROY || composition.endBehavior === END_BEHAVIOR_PAUSE) {
19286
+ if (composition.endBehavior === CompositionEndBehavior.pause_destroy || composition.endBehavior === CompositionEndBehavior.pause) {
19984
19287
  composition.endBehavior = END_BEHAVIOR_FREEZE;
19985
19288
  }
19986
19289
  // 过滤掉滤镜元素
19987
- composition.items = composition.items.filter(function(item) {
19988
- return item.type !== '8';
19989
- });
19290
+ composition.items = composition.items.filter((item)=>item.type !== '8');
19990
19291
  // 过滤掉粒子滤镜(扭曲)
19991
- composition.items.forEach(function(item) {
19292
+ composition.items.forEach((item)=>{
19992
19293
  if (item.type === ItemType.particle) {
19993
19294
  // @ts-expect-error
19994
- var filterData = item.content['filter'];
19295
+ const filterData = item.content['filter'];
19995
19296
  if (filterData) {
19996
19297
  // @ts-expect-error
19997
19298
  delete item.content['filter'];
19998
19299
  }
19999
19300
  }
20000
19301
  });
20001
- var itemGuidMap_1 = {};
20002
- try {
20003
- for(var _r = (e_3 = void 0, __values(composition.items)), _s = _r.next(); !_s.done; _s = _r.next()){
20004
- var item = _s.value;
20005
- itemGuidMap_1[item.id] = generateGUID();
20006
- // TODO: 编辑器测试用,上线后删除
20007
- //@ts-expect-error
20008
- item.oldId = item.id;
20009
- item.id = itemGuidMap_1[item.id];
20010
- }
20011
- } catch (e_3_1) {
20012
- e_3 = {
20013
- error: e_3_1
20014
- };
20015
- } finally{
20016
- try {
20017
- if (_s && !_s.done && (_q = _r.return)) _q.call(_r);
20018
- } finally{
20019
- if (e_3) throw e_3.error;
20020
- }
19302
+ const itemGuidMap = {};
19303
+ for (const item of composition.items){
19304
+ itemGuidMap[item.id] = generateGUID();
19305
+ // TODO: 编辑器测试用,上线后删除
19306
+ //@ts-expect-error
19307
+ item.oldId = item.id;
19308
+ item.id = itemGuidMap[item.id];
20021
19309
  }
20022
- composition.items.forEach(function(item, index) {
19310
+ composition.items.forEach((item, index)=>{
20023
19311
  if (item.parentId) {
20024
19312
  if (item.parentId.includes('^')) {
20025
- var parentId = item.parentId.split('^')[0];
20026
- var nodeId = item.parentId.split('^')[1];
20027
- item.parentId = itemGuidMap_1[parentId] + '^' + nodeId;
19313
+ const parentId = item.parentId.split('^')[0];
19314
+ const nodeId = item.parentId.split('^')[1];
19315
+ item.parentId = itemGuidMap[parentId] + '^' + nodeId;
20028
19316
  } else {
20029
- item.parentId = itemGuidMap_1[item.parentId];
19317
+ item.parentId = itemGuidMap[item.parentId];
20030
19318
  }
20031
19319
  }
20032
19320
  // @ts-expect-error fix item type
@@ -20036,215 +19324,199 @@ function getStandardCameraContent(model) {
20036
19324
  id: item.id
20037
19325
  };
20038
19326
  });
20039
- };
20040
- try {
20041
- // 更正Composition.endBehavior
20042
- for(var _l = __values(json.compositions), _m = _l.next(); !_m.done; _m = _l.next()){
20043
- var composition = _m.value;
20044
- _loop_1(composition);
20045
- }
20046
- } catch (e_1_1) {
20047
- e_1 = {
20048
- error: e_1_1
20049
- };
20050
- } finally{
20051
- try {
20052
- if (_m && !_m.done && (_a = _l.return)) _a.call(_l);
20053
- } finally{
20054
- if (e_1) throw e_1.error;
20055
- }
20056
19327
  }
20057
- try {
20058
- for(var _o = __values(result.items), _p = _o.next(); !_p.done; _p = _o.next()){
20059
- var item = _p.value;
20060
- // texture 索引转为统一 guid 索引
20061
- if (item.content) {
20062
- if (item.content.renderer) {
20063
- if (item.content.renderer.texture !== undefined) {
20064
- var oldTextureId = item.content.renderer.texture;
20065
- item.content.renderer.texture = {
20066
- id: result.textures[oldTextureId].id
20067
- };
20068
- }
19328
+ for (const item of result.items){
19329
+ // texture 索引转为统一 guid 索引
19330
+ if (item.content) {
19331
+ if (item.content.renderer) {
19332
+ if (item.content.renderer.texture !== undefined) {
19333
+ const oldTextureId = item.content.renderer.texture;
19334
+ item.content.renderer.texture = {
19335
+ id: result.textures[oldTextureId].id
19336
+ };
20069
19337
  }
20070
- if (item.content.trails) {
20071
- if (item.content.trails.texture !== undefined) {
20072
- var oldTextureId = item.content.trails.texture;
20073
- item.content.trails.texture = {
20074
- id: result.textures[oldTextureId].id
20075
- };
20076
- }
19338
+ }
19339
+ if (item.content.trails) {
19340
+ if (item.content.trails.texture !== undefined) {
19341
+ const oldTextureId = item.content.trails.texture;
19342
+ item.content.trails.texture = {
19343
+ id: result.textures[oldTextureId].id
19344
+ };
20077
19345
  }
20078
19346
  }
20079
- // item 的 transform 属性由数组转为 {x:n, y:n, z:n}
20080
- if (item.transform) {
20081
- //@ts-expect-error
20082
- var position = __spreadArray([], __read((_d = item.transform.position) !== null && _d !== void 0 ? _d : [
19347
+ }
19348
+ // itemtransform 属性由数组转为 {x:n, y:n, z:n}
19349
+ if (item.transform) {
19350
+ var _item_transform_position;
19351
+ //@ts-expect-error
19352
+ const position = [
19353
+ ...(_item_transform_position = item.transform.position) != null ? _item_transform_position : [
20083
19354
  0,
20084
19355
  0,
20085
19356
  0
20086
- ]), false);
20087
- //@ts-expect-error
20088
- var rotation = __spreadArray([], __read((_e = item.transform.rotation) !== null && _e !== void 0 ? _e : [
19357
+ ]
19358
+ ];
19359
+ var _item_transform_rotation;
19360
+ //@ts-expect-error
19361
+ const rotation = [
19362
+ ...(_item_transform_rotation = item.transform.rotation) != null ? _item_transform_rotation : [
20089
19363
  0,
20090
19364
  0,
20091
19365
  0
20092
- ]), false);
20093
- //@ts-expect-error
20094
- var scale = __spreadArray([], __read((_f = item.transform.scale) !== null && _f !== void 0 ? _f : [
19366
+ ]
19367
+ ];
19368
+ var _item_transform_scale;
19369
+ //@ts-expect-error
19370
+ const scale = [
19371
+ ...(_item_transform_scale = item.transform.scale) != null ? _item_transform_scale : [
20095
19372
  1,
20096
19373
  1,
20097
19374
  1
20098
- ]), false);
20099
- Object.assign(item, {
20100
- transform: {
20101
- position: {
20102
- x: position[0],
20103
- y: position[1],
20104
- z: position[2]
20105
- },
20106
- eulerHint: {
20107
- x: rotation[0],
20108
- y: rotation[1],
20109
- z: rotation[2]
20110
- },
20111
- scale: {
20112
- x: scale[0],
20113
- y: scale[1],
20114
- z: scale[0]
20115
- }
20116
- }
20117
- });
20118
- // sprite 的 scale 转为 size
20119
- if (item.type === ItemType.sprite) {
20120
- item.transform.size = {
19375
+ ]
19376
+ ];
19377
+ Object.assign(item, {
19378
+ transform: {
19379
+ position: {
19380
+ x: position[0],
19381
+ y: position[1],
19382
+ z: position[2]
19383
+ },
19384
+ eulerHint: {
19385
+ x: rotation[0],
19386
+ y: rotation[1],
19387
+ z: rotation[2]
19388
+ },
19389
+ scale: {
20121
19390
  x: scale[0],
20122
- y: scale[1]
20123
- };
20124
- item.transform.scale = {
20125
- x: 1,
20126
- y: 1,
20127
- z: 1
20128
- };
20129
- }
20130
- // sprite 的 anchor 修正
20131
- if (item.type === ItemType.sprite) {
20132
- var content = item.content;
20133
- if (!content.renderer) {
20134
- content.renderer = {};
19391
+ y: scale[1],
19392
+ z: scale[0]
20135
19393
  }
20136
- var renderer = content.renderer;
20137
- var realAnchor = convertAnchor(renderer.anchor, renderer.particleOrigin);
20138
- var startSize = item.transform.size;
20139
- // 兼容旧JSON(anchor和particleOrigin可能同时存在)
20140
- if (!renderer.anchor && renderer.particleOrigin !== undefined) {
20141
- item.transform.position.x += -realAnchor[0] * ((_g = startSize === null || startSize === void 0 ? void 0 : startSize.x) !== null && _g !== void 0 ? _g : 1);
20142
- item.transform.position.y += -realAnchor[1] * ((_h = startSize === null || startSize === void 0 ? void 0 : startSize.y) !== null && _h !== void 0 ? _h : 1);
20143
- }
20144
- item.transform.anchor = {
20145
- x: realAnchor[0] * ((_j = startSize === null || startSize === void 0 ? void 0 : startSize.x) !== null && _j !== void 0 ? _j : 1),
20146
- y: realAnchor[1] * ((_k = startSize === null || startSize === void 0 ? void 0 : startSize.y) !== null && _k !== void 0 ? _k : 1)
20147
- };
20148
19394
  }
19395
+ });
19396
+ // sprite 的 scale 转为 size
19397
+ if (item.type === ItemType.sprite) {
19398
+ item.transform.size = {
19399
+ x: scale[0],
19400
+ y: scale[1]
19401
+ };
19402
+ item.transform.scale = {
19403
+ x: 1,
19404
+ y: 1,
19405
+ z: 1
19406
+ };
20149
19407
  }
20150
- if (item.type === ItemType.particle) {
20151
- var content = item.content;
19408
+ // sprite anchor 修正
19409
+ if (item.type === ItemType.sprite) {
19410
+ const content = item.content;
20152
19411
  if (!content.renderer) {
20153
19412
  content.renderer = {};
20154
19413
  }
20155
- var renderer = content.renderer;
20156
- content.renderer.anchor = convertAnchor(renderer.anchor, renderer.particleOrigin);
20157
- }
20158
- // 动画数据转化 TODO: 动画数据移到 TimelineComponentData
20159
- item.content.tracks = [];
20160
- var tracks = item.content.tracks;
20161
- if (item.type !== ItemType.particle) {
20162
- tracks.push({
20163
- clips: [
20164
- {
20165
- dataType: 'TransformAnimationPlayableAsset',
20166
- animationClip: {
20167
- sizeOverLifetime: item.content.sizeOverLifetime,
20168
- rotationOverLifetime: item.content.rotationOverLifetime,
20169
- positionOverLifetime: item.content.positionOverLifetime
20170
- }
20171
- }
20172
- ]
20173
- });
20174
- }
20175
- if (item.type === ItemType.sprite) {
20176
- tracks.push({
20177
- clips: [
20178
- {
20179
- dataType: 'SpriteColorAnimationPlayableAsset',
20180
- animationClip: {
20181
- colorOverLifetime: item.content.colorOverLifetime,
20182
- startColor: item.content.options.startColor
20183
- }
20184
- }
20185
- ]
20186
- });
20187
- }
20188
- // gizmo 的 target id 转换为新的 item guid
20189
- if (item.content.options.target) {
20190
- item.content.options.target = itemGuidMap[item.content.options.target];
20191
- }
20192
- // item 的 content 转为 component data 加入 JSONScene.components
20193
- var uuid = generateGUID();
20194
- 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) {
20195
- item.components = [];
20196
- result.components.push(item.content);
20197
- item.content.id = uuid;
20198
- item.content.item = {
20199
- id: item.id
19414
+ const renderer = content.renderer;
19415
+ const realAnchor = convertAnchor(renderer.anchor, renderer.particleOrigin);
19416
+ const startSize = item.transform.size;
19417
+ // 兼容旧JSON(anchor和particleOrigin可能同时存在)
19418
+ if (!renderer.anchor && renderer.particleOrigin !== undefined) {
19419
+ var _startSize_x;
19420
+ item.transform.position.x += -realAnchor[0] * ((_startSize_x = startSize == null ? void 0 : startSize.x) != null ? _startSize_x : 1);
19421
+ var _startSize_y;
19422
+ item.transform.position.y += -realAnchor[1] * ((_startSize_y = startSize == null ? void 0 : startSize.y) != null ? _startSize_y : 1);
19423
+ }
19424
+ var _startSize_x1, _startSize_y1;
19425
+ item.transform.anchor = {
19426
+ x: realAnchor[0] * ((_startSize_x1 = startSize == null ? void 0 : startSize.x) != null ? _startSize_x1 : 1),
19427
+ y: realAnchor[1] * ((_startSize_y1 = startSize == null ? void 0 : startSize.y) != null ? _startSize_y1 : 1)
20200
19428
  };
20201
- item.dataType = DataType.VFXItemData;
20202
- item.components.push({
20203
- id: item.content.id
20204
- });
20205
19429
  }
20206
- switch(item.type){
20207
- case ItemType.sprite:
20208
- item.content.dataType = DataType.SpriteComponent;
20209
- break;
20210
- case ItemType.particle:
20211
- item.content.dataType = DataType.ParticleSystem;
20212
- break;
20213
- case ItemType.mesh:
20214
- item.content.dataType = DataType.MeshComponent;
20215
- break;
20216
- case ItemType.skybox:
20217
- item.content.dataType = DataType.SkyboxComponent;
20218
- break;
20219
- case ItemType.light:
20220
- item.content.dataType = DataType.LightComponent;
20221
- break;
20222
- case 'camera':
20223
- item.content.dataType = DataType.CameraComponent;
20224
- break;
20225
- case ItemType.tree:
20226
- item.content.dataType = DataType.TreeComponent;
20227
- break;
20228
- case ItemType.interact:
20229
- item.content.dataType = DataType.InteractComponent;
20230
- break;
20231
- case ItemType.camera:
20232
- item.content.dataType = DataType.CameraController;
20233
- break;
20234
- case ItemType.text:
20235
- item.content.dataType = DataType.TextComponent;
20236
- break;
19430
+ }
19431
+ if (item.type === ItemType.particle) {
19432
+ const content = item.content;
19433
+ if (!content.renderer) {
19434
+ content.renderer = {};
20237
19435
  }
19436
+ const renderer = content.renderer;
19437
+ content.renderer.anchor = convertAnchor(renderer.anchor, renderer.particleOrigin);
20238
19438
  }
20239
- } catch (e_2_1) {
20240
- e_2 = {
20241
- error: e_2_1
20242
- };
20243
- } finally{
20244
- try {
20245
- if (_p && !_p.done && (_b = _o.return)) _b.call(_o);
20246
- } finally{
20247
- if (e_2) throw e_2.error;
19439
+ // 动画数据转化 TODO: 动画数据移到 TimelineComponentData
19440
+ item.content.tracks = [];
19441
+ const tracks = item.content.tracks;
19442
+ if (item.type !== ItemType.particle) {
19443
+ tracks.push({
19444
+ clips: [
19445
+ {
19446
+ dataType: 'TransformAnimationPlayableAsset',
19447
+ animationClip: {
19448
+ sizeOverLifetime: item.content.sizeOverLifetime,
19449
+ rotationOverLifetime: item.content.rotationOverLifetime,
19450
+ positionOverLifetime: item.content.positionOverLifetime
19451
+ }
19452
+ }
19453
+ ]
19454
+ });
19455
+ }
19456
+ if (item.type === ItemType.sprite) {
19457
+ tracks.push({
19458
+ clips: [
19459
+ {
19460
+ dataType: 'SpriteColorAnimationPlayableAsset',
19461
+ animationClip: {
19462
+ colorOverLifetime: item.content.colorOverLifetime,
19463
+ startColor: item.content.options.startColor
19464
+ }
19465
+ }
19466
+ ]
19467
+ });
19468
+ }
19469
+ // gizmo 的 target id 转换为新的 item guid
19470
+ if (item.content.options.target) {
19471
+ item.content.options.target = itemGuidMap[item.content.options.target];
19472
+ }
19473
+ // item 的 content 转为 component data 加入 JSONScene.components
19474
+ const uuid = generateGUID();
19475
+ if (item.type === ItemType.sprite || item.type === ItemType.particle || item.type === ItemType.mesh || item.type === ItemType.skybox || item.type === ItemType.light || // @ts-expect-error
19476
+ item.type === 'camera' || item.type === ItemType.tree || item.type === ItemType.interact || item.type === ItemType.camera || item.type === ItemType.text) {
19477
+ item.components = [];
19478
+ result.components.push(item.content);
19479
+ item.content.id = uuid;
19480
+ item.content.item = {
19481
+ id: item.id
19482
+ };
19483
+ item.dataType = DataType.VFXItemData;
19484
+ item.components.push({
19485
+ id: item.content.id
19486
+ });
19487
+ }
19488
+ switch(item.type){
19489
+ case ItemType.sprite:
19490
+ item.content.dataType = DataType.SpriteComponent;
19491
+ break;
19492
+ case ItemType.particle:
19493
+ item.content.dataType = DataType.ParticleSystem;
19494
+ break;
19495
+ case ItemType.mesh:
19496
+ item.content.dataType = DataType.MeshComponent;
19497
+ break;
19498
+ case ItemType.skybox:
19499
+ item.content.dataType = DataType.SkyboxComponent;
19500
+ break;
19501
+ case ItemType.light:
19502
+ item.content.dataType = DataType.LightComponent;
19503
+ break;
19504
+ // @ts-expect-error
19505
+ case 'camera':
19506
+ item.content.dataType = DataType.CameraComponent;
19507
+ break;
19508
+ case ItemType.tree:
19509
+ item.content.dataType = DataType.TreeComponent;
19510
+ break;
19511
+ case ItemType.interact:
19512
+ item.content.dataType = DataType.InteractComponent;
19513
+ break;
19514
+ case ItemType.camera:
19515
+ item.content.dataType = DataType.CameraController;
19516
+ break;
19517
+ case ItemType.text:
19518
+ item.content.dataType = DataType.TextComponent;
19519
+ break;
20248
19520
  }
20249
19521
  }
20250
19522
  result.version = '3.0';
@@ -20254,76 +19526,49 @@ function getStandardCameraContent(model) {
20254
19526
  * 2.5 以下版本 赫尔米特数据转换成贝塞尔数据
20255
19527
  */ function version24Migration(json) {
20256
19528
  // 曲线转换成贝塞尔
20257
- json.compositions.map(function(comp) {
20258
- var e_4, _a;
20259
- try {
20260
- for(var _b = __values(comp.items), _c = _b.next(); !_c.done; _c = _b.next()){
20261
- var item = _c.value;
20262
- convertParam(item.content);
20263
- }
20264
- } catch (e_4_1) {
20265
- e_4 = {
20266
- error: e_4_1
20267
- };
20268
- } finally{
20269
- try {
20270
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
20271
- } finally{
20272
- if (e_4) throw e_4.error;
20273
- }
19529
+ json.compositions.map((comp)=>{
19530
+ for (const item of comp.items){
19531
+ convertParam(item.content);
20274
19532
  }
20275
19533
  });
20276
19534
  return json;
20277
19535
  }
20278
19536
  function convertParam(content) {
20279
- var e_5, _a;
20280
19537
  if (!content) {
20281
19538
  return;
20282
19539
  }
20283
- try {
20284
- for(var _b = __values(Object.keys(content)), _c = _b.next(); !_c.done; _c = _b.next()){
20285
- var key = _c.value;
20286
- var value = content[key];
20287
- var isArray = Array.isArray(value);
20288
- if (isArray && value.length === 2 && Array.isArray(value[1])) {
20289
- if (key === 'path') {
20290
- content[key] = ensureFixedVec3(value);
20291
- } else {
20292
- content[key] = ensureFixedNumber(value);
20293
- }
20294
- } else if (!isArray && typeof value === 'object') {
20295
- convertParam(value);
19540
+ for (const key of Object.keys(content)){
19541
+ const value = content[key];
19542
+ const isArray = Array.isArray(value);
19543
+ if (isArray && value.length === 2 && Array.isArray(value[1])) {
19544
+ if (key === 'path') {
19545
+ content[key] = ensureFixedVec3(value);
19546
+ } else {
19547
+ content[key] = ensureFixedNumber(value);
20296
19548
  }
20297
- }
20298
- } catch (e_5_1) {
20299
- e_5 = {
20300
- error: e_5_1
20301
- };
20302
- } finally{
20303
- try {
20304
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
20305
- } finally{
20306
- if (e_5) throw e_5.error;
19549
+ } else if (!isArray && typeof value === 'object') {
19550
+ convertParam(value);
20307
19551
  }
20308
19552
  }
20309
19553
  }
20310
- var v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
20311
- var standardVersion = /^(\d+)\.(\d+)$/;
20312
- var reverseParticle = false;
19554
+
19555
+ const v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
19556
+ const standardVersion = /^(\d+)\.(\d+)$/;
19557
+ let reverseParticle = false;
20313
19558
  function getStandardJSON(json) {
20314
- var _a;
20315
19559
  if (!json || typeof json !== 'object') {
20316
19560
  throw Error('expect a json object');
20317
19561
  }
20318
19562
  // 修正老版本数据中,meshItem 以及 lightItem 结束行为错误问题
20319
19563
  version22Migration(json);
20320
19564
  if (v0.test(json.version)) {
20321
- reverseParticle = ((_a = /^(\d+)/.exec(json.version)) === null || _a === void 0 ? void 0 : _a[0]) === '0';
19565
+ var _exec;
19566
+ reverseParticle = ((_exec = /^(\d+)/.exec(json.version)) == null ? void 0 : _exec[0]) === '0';
20322
19567
  return version30Migration(version21Migration(getStandardJSONFromV0(json)));
20323
19568
  }
20324
- var vs = standardVersion.exec(json.version) || [];
20325
- var mainVersion = Number(vs[1]);
20326
- var minorVersion = Number(vs[2]);
19569
+ const vs = standardVersion.exec(json.version) || [];
19570
+ const mainVersion = Number(vs[1]);
19571
+ const minorVersion = Number(vs[2]);
20327
19572
  if (mainVersion) {
20328
19573
  if (mainVersion < 2 || mainVersion === 2 && minorVersion < 4) {
20329
19574
  json = version24Migration(json);
@@ -20335,46 +19580,41 @@ function getStandardJSON(json) {
20335
19580
  }
20336
19581
  throw Error('invalid json version ' + json.version);
20337
19582
  }
20338
- var currentVersion = '1.0';
19583
+ let currentVersion = '1.0';
20339
19584
  function getStandardJSONFromV0(json) {
20340
- var _a, _b;
19585
+ var _json_bins;
20341
19586
  currentVersion = '1.0';
20342
- var plugins = json.plugins || [];
20343
- if ((_a = json.bins) === null || _a === void 0 ? void 0 : _a.length) {
19587
+ const plugins = json.plugins || [];
19588
+ if ((_json_bins = json.bins) == null ? void 0 : _json_bins.length) {
20344
19589
  currentVersion = '1.3';
20345
19590
  }
20346
- var requires = (json.requires || []).slice();
20347
- var images = json.images.map(function(img, index) {
20348
- return getStandardImage(img, index, json.imageTags || []);
20349
- });
20350
- var textures = json.textures || images.map(function(img, i) {
20351
- return {
19591
+ const requires = (json.requires || []).slice();
19592
+ const images = json.images.map((img, index)=>getStandardImage(img, index, json.imageTags || []));
19593
+ const textures = json.textures || images.map((img, i)=>({
20352
19594
  source: i,
20353
19595
  flipY: true
20354
- };
20355
- });
20356
- var ret = {
19596
+ }));
19597
+ var _json_playerVersion;
19598
+ const ret = {
20357
19599
  plugins: plugins,
20358
19600
  shapes: json.shapes || [],
20359
19601
  type: 'ge',
20360
19602
  version: currentVersion,
20361
- playerVersion: (_b = json.playerVersion) !== null && _b !== void 0 ? _b : {
19603
+ playerVersion: (_json_playerVersion = json.playerVersion) != null ? _json_playerVersion : {
20362
19604
  web: '',
20363
19605
  native: ''
20364
19606
  },
20365
19607
  compositionId: json.compositionId + '',
20366
- compositions: json.compositions.map(function(comp) {
20367
- return getStandardComposition(comp, {
20368
- plugins: plugins,
20369
- requires: requires
20370
- });
20371
- }),
20372
- images: images,
19608
+ compositions: json.compositions.map((comp)=>getStandardComposition(comp, {
19609
+ plugins,
19610
+ requires
19611
+ })),
19612
+ images,
20373
19613
  imgUsage: json._imgs,
20374
19614
  binUsage: json.binUsage,
20375
19615
  spines: json.spines,
20376
19616
  requires: json.requires,
20377
- textures: textures,
19617
+ textures,
20378
19618
  bins: (json.bins || []).slice()
20379
19619
  };
20380
19620
  if (json._textures) {
@@ -20383,67 +19623,66 @@ function getStandardJSONFromV0(json) {
20383
19623
  return ret;
20384
19624
  }
20385
19625
  function getStandardImage(image, index, imageTags) {
20386
- var renderLevel = imageTags[index];
20387
- var oriY = image.oriY;
19626
+ const renderLevel = imageTags[index];
19627
+ const oriY = image.oriY;
20388
19628
  if (typeof image === 'string') {
20389
19629
  return {
20390
- renderLevel: renderLevel,
19630
+ id: generateGUID(),
19631
+ renderLevel,
20391
19632
  url: image,
20392
- oriY: oriY
19633
+ oriY
20393
19634
  };
20394
19635
  } else if (image.template) {
20395
19636
  return {
19637
+ id: generateGUID(),
20396
19638
  url: image.url,
20397
19639
  template: image.template,
20398
19640
  webp: image.webp,
20399
- renderLevel: renderLevel,
20400
- oriY: oriY
19641
+ renderLevel,
19642
+ oriY
20401
19643
  };
20402
19644
  } else if (image.compressed) {
20403
19645
  return {
19646
+ id: generateGUID(),
20404
19647
  url: image.url,
20405
- oriY: oriY,
19648
+ oriY,
20406
19649
  compressed: {
20407
19650
  astc: image.compressed.android,
20408
19651
  pvrtc: image.compressed.iOS
20409
19652
  },
20410
19653
  webp: image.webp,
20411
- renderLevel: renderLevel
19654
+ renderLevel
20412
19655
  };
20413
19656
  } else if (image.url) {
20414
19657
  return {
19658
+ id: generateGUID(),
20415
19659
  url: image.url,
20416
19660
  webp: image.webp,
20417
- renderLevel: renderLevel,
20418
- oriY: oriY
19661
+ renderLevel,
19662
+ oriY
20419
19663
  };
20420
19664
  } else if (image && image.sourceType) {
20421
19665
  return image;
20422
19666
  }
20423
19667
  throw Error('invalid image type');
20424
19668
  }
20425
- function getStandardComposition(composition, opt) {
20426
- var _a;
20427
- if (opt === void 0) {
20428
- opt = {};
20429
- }
20430
- var ret = {
19669
+ function getStandardComposition(composition, opt = {}) {
19670
+ var _composition_meta;
19671
+ const ret = {
20431
19672
  id: composition.id + '',
20432
- camera: __assign({
19673
+ camera: _extends({
20433
19674
  clipMode: CAMERA_CLIP_MODE_NORMAL
20434
19675
  }, composition.camera),
20435
19676
  duration: composition.duration,
20436
19677
  endBehavior: composition.endBehavior,
20437
- items: composition.items.map(function(item) {
20438
- return getStandardItem(item, opt);
20439
- }),
19678
+ items: composition.items.map((item)=>getStandardItem(item, opt)),
20440
19679
  name: composition.name
20441
19680
  };
20442
- var startTime = composition.startTime || composition.st;
19681
+ const startTime = composition.startTime || composition.st;
20443
19682
  if (startTime) {
20444
19683
  ret.startTime = startTime;
20445
19684
  }
20446
- var previewSize = (_a = composition.meta) === null || _a === void 0 ? void 0 : _a.previewSize;
19685
+ let previewSize = (_composition_meta = composition.meta) == null ? void 0 : _composition_meta.previewSize;
20447
19686
  if (previewSize && previewSize[0] === previewSize[1] && previewSize[0] === 0) {
20448
19687
  previewSize = undefined;
20449
19688
  }
@@ -20452,27 +19691,24 @@ function getStandardComposition(composition, opt) {
20452
19691
  }
20453
19692
  return ret;
20454
19693
  }
20455
- var tempQuat = [
19694
+ const tempQuat = [
20456
19695
  0,
20457
19696
  0,
20458
19697
  0,
20459
19698
  1
20460
19699
  ];
20461
- var stdAnchor = 0.5;
20462
- function getStandardItem(item, opt) {
20463
- var _a, _b, _c;
20464
- if (opt === void 0) {
20465
- opt = {};
20466
- }
20467
- var type = ItemType.base;
20468
- var transform;
20469
- var originContent;
20470
- var content;
20471
- var endBehavior = item.endBehavior;
20472
- var renderLevel;
20473
- var pluginName;
20474
- var duration = NaN;
20475
- var pn;
19700
+ const stdAnchor = 0.5;
19701
+ function getStandardItem(item, opt = {}) {
19702
+ var _content_renderer;
19703
+ let type = ItemType.base;
19704
+ let transform;
19705
+ let originContent;
19706
+ let content;
19707
+ let endBehavior = item.endBehavior;
19708
+ let renderLevel;
19709
+ let pluginName;
19710
+ let duration = NaN;
19711
+ let pn;
20476
19712
  if (item.content) {
20477
19713
  type = item.type || ItemType.plugin;
20478
19714
  pn = item.pn;
@@ -20519,8 +19755,8 @@ function getStandardItem(item, opt) {
20519
19755
  content = getStandardCameraContent(originContent);
20520
19756
  }
20521
19757
  }
20522
- if ((_a = content.renderer) === null || _a === void 0 ? void 0 : _a.anchor) {
20523
- var anchor = new Float32Array(content.renderer.anchor);
19758
+ if ((_content_renderer = content.renderer) == null ? void 0 : _content_renderer.anchor) {
19759
+ const anchor = new Float32Array(content.renderer.anchor);
20524
19760
  if (anchor[0] == stdAnchor && anchor[1] == stdAnchor) {
20525
19761
  delete content.renderer.anchor;
20526
19762
  } else if (opt.requires) {
@@ -20528,7 +19764,8 @@ function getStandardItem(item, opt) {
20528
19764
  }
20529
19765
  }
20530
19766
  if (originContent) {
20531
- var looping = (_b = originContent.options) === null || _b === void 0 ? void 0 : _b.looping;
19767
+ var _originContent_options;
19768
+ const looping = (_originContent_options = originContent.options) == null ? void 0 : _originContent_options.looping;
20532
19769
  if (looping) {
20533
19770
  if (Array.isArray(looping)) {
20534
19771
  endBehavior = looping[1] ? ItemEndBehavior.loop : ItemEndBehavior.destroy;
@@ -20536,7 +19773,8 @@ function getStandardItem(item, opt) {
20536
19773
  endBehavior = ItemEndBehavior.loop;
20537
19774
  }
20538
19775
  } else {
20539
- endBehavior = endBehavior || ((_c = originContent === null || originContent === void 0 ? void 0 : originContent.options) === null || _c === void 0 ? void 0 : _c.endBehavior) || ItemEndBehavior.destroy;
19776
+ var _originContent_options1;
19777
+ endBehavior = endBehavior || (originContent == null ? void 0 : (_originContent_options1 = originContent.options) == null ? void 0 : _originContent_options1.endBehavior) || ItemEndBehavior.destroy;
20540
19778
  }
20541
19779
  if (originContent.options.renderLevel) {
20542
19780
  renderLevel = originContent.options.renderLevel;
@@ -20545,18 +19783,18 @@ function getStandardItem(item, opt) {
20545
19783
  duration = originContent.options.duration;
20546
19784
  }
20547
19785
  }
20548
- var ret = {
20549
- type: type,
19786
+ const ret = {
19787
+ type,
20550
19788
  name: item.name,
20551
19789
  delay: item.delay,
20552
- duration: duration,
19790
+ duration,
20553
19791
  id: item.id + '',
20554
19792
  // @ts-expect-error
20555
- transform: transform,
20556
- endBehavior: endBehavior,
19793
+ transform,
19794
+ endBehavior,
20557
19795
  // @ts-expect-error
20558
- renderLevel: renderLevel,
20559
- content: content
19796
+ renderLevel,
19797
+ content
20560
19798
  };
20561
19799
  // @ts-expect-error
20562
19800
  if (pluginName) {
@@ -20577,58 +19815,58 @@ function getStandardItem(item, opt) {
20577
19815
  return ret;
20578
19816
  function getTransform(originTransform, inverseRotation, changeOrder) {
20579
19817
  if (originTransform) {
20580
- var transform_1 = {};
20581
- var rotation = originTransform.rotation;
19818
+ const transform = {};
19819
+ const rotation = originTransform.rotation;
20582
19820
  if (rotation) {
20583
19821
  if (inverseRotation) {
20584
- transform_1.rotation = [
19822
+ transform.rotation = [
20585
19823
  -rotation[0],
20586
19824
  -rotation[1],
20587
19825
  -rotation[2]
20588
19826
  ];
20589
19827
  } else {
20590
- transform_1.rotation = [
19828
+ transform.rotation = [
20591
19829
  rotation[0],
20592
19830
  rotation[1],
20593
19831
  rotation[2]
20594
19832
  ];
20595
19833
  }
20596
19834
  if (changeOrder) {
20597
- var q = quatFromXYZRotation(tempQuat, transform_1.rotation[0], transform_1.rotation[1], transform_1.rotation[2]);
20598
- transform_1.rotation = rotationZYXFromQuat([], q);
19835
+ const q = quatFromXYZRotation(tempQuat, transform.rotation[0], transform.rotation[1], transform.rotation[2]);
19836
+ transform.rotation = rotationZYXFromQuat([], q);
20599
19837
  }
20600
19838
  }
20601
- var position = originTransform.position;
19839
+ const position = originTransform.position;
20602
19840
  if (position) {
20603
- transform_1.position = originTransform.position;
19841
+ transform.position = originTransform.position;
20604
19842
  }
20605
19843
  if (Array.isArray(originTransform.scale)) {
20606
- transform_1.scale = [
19844
+ transform.scale = [
20607
19845
  originTransform.scale[0] || 1,
20608
19846
  originTransform.scale[1] || 1,
20609
19847
  originTransform.scale[2] || 1
20610
19848
  ];
20611
19849
  }
20612
- return transform_1;
19850
+ return transform;
20613
19851
  }
20614
19852
  return {};
20615
19853
  }
20616
19854
  }
20617
19855
 
20618
19856
  const renderLevelPassSet = {
20619
- [RenderLevel$1.S]: [
20620
- RenderLevel$1.S,
20621
- RenderLevel$1.BPlus,
20622
- RenderLevel$1.APlus
19857
+ [RenderLevel.S]: [
19858
+ RenderLevel.S,
19859
+ RenderLevel.BPlus,
19860
+ RenderLevel.APlus
20623
19861
  ],
20624
- [RenderLevel$1.A]: [
20625
- RenderLevel$1.A,
20626
- RenderLevel$1.BPlus,
20627
- RenderLevel$1.APlus
19862
+ [RenderLevel.A]: [
19863
+ RenderLevel.A,
19864
+ RenderLevel.BPlus,
19865
+ RenderLevel.APlus
20628
19866
  ],
20629
- [RenderLevel$1.B]: [
20630
- RenderLevel$1.B,
20631
- RenderLevel$1.BPlus
19867
+ [RenderLevel.B]: [
19868
+ RenderLevel.B,
19869
+ RenderLevel.BPlus
20632
19870
  ]
20633
19871
  };
20634
19872
  function passRenderLevel(l, renderLevel) {
@@ -20701,6 +19939,9 @@ function _combineImageTemplate() {
20701
19939
  return _combineImageTemplate.apply(this, arguments);
20702
19940
  }
20703
19941
 
19942
+ class ImageAsset extends EffectsObject {
19943
+ }
19944
+
20704
19945
  let seed = 1;
20705
19946
  /**
20706
19947
  * 资源管理器
@@ -20722,7 +19963,7 @@ let seed = 1;
20722
19963
  return;
20723
19964
  }
20724
19965
  items.forEach((item)=>{
20725
- if (item.type === ItemType$1.text) {
19966
+ if (item.type === ItemType.text) {
20726
19967
  const textVariable = variables[item.name];
20727
19968
  if (textVariable) {
20728
19969
  item.content.options.text = textVariable;
@@ -20798,7 +20039,7 @@ let seed = 1;
20798
20039
  images[i] = rawImages[i];
20799
20040
  }
20800
20041
  }
20801
- scene.images = yield hookTimeInfo('processImages', ()=>_this.processImages(images, scene.usedImages, compressedTexture));
20042
+ scene.images = yield hookTimeInfo('processImages', ()=>_this.processImages(images, compressedTexture));
20802
20043
  // 更新 TextureOptions 中的 image 指向
20803
20044
  for(let i = 0; i < scene.images.length; i++){
20804
20045
  scene.textureOptions[i].image = scene.images[i];
@@ -20811,11 +20052,17 @@ let seed = 1;
20811
20052
  const { bins = [], images, compositions, fonts } = jsonScene;
20812
20053
  const [loadedBins, loadedImages] = yield Promise.all([
20813
20054
  hookTimeInfo('processBins', ()=>_this.processBins(bins)),
20814
- hookTimeInfo('processImages', ()=>_this.processImages(images, usedImages, compressedTexture)),
20055
+ hookTimeInfo('processImages', ()=>_this.processImages(images, compressedTexture)),
20815
20056
  hookTimeInfo(`${asyncShaderCompile ? 'async' : 'sync'} compile`, ()=>_this.precompile(compositions, pluginSystem, renderer, options))
20816
20057
  ]);
20058
+ for(let i = 0; i < images.length; i++){
20059
+ const imageAsset = new ImageAsset(renderer.engine);
20060
+ imageAsset.data = loadedImages[i];
20061
+ imageAsset.setInstanceId(images[i].id);
20062
+ renderer == null ? void 0 : renderer.engine.addInstance(imageAsset);
20063
+ }
20817
20064
  yield hookTimeInfo('processFontURL', ()=>_this.processFontURL(fonts));
20818
- const loadedTextures = yield hookTimeInfo('processTextures', ()=>_this.processTextures(loadedImages, loadedBins, jsonScene));
20065
+ const loadedTextures = yield hookTimeInfo('processTextures', ()=>_this.processTextures(loadedImages, loadedBins, jsonScene, renderer.engine));
20819
20066
  _this.updateSceneData(jsonScene.items);
20820
20067
  scene = {
20821
20068
  url: url,
@@ -20936,15 +20183,12 @@ let seed = 1;
20936
20183
  return Promise.all(jobs);
20937
20184
  })();
20938
20185
  }
20939
- processImages(images, usage, compressedTexture) {
20186
+ processImages(images, compressedTexture) {
20940
20187
  var _this = this;
20941
20188
  return _async_to_generator(function*() {
20942
20189
  const { useCompressedTexture, variables } = _this.options;
20943
20190
  const baseUrl = _this.baseUrl;
20944
20191
  const jobs = images.map(/*#__PURE__*/ _async_to_generator(function*(img, idx) {
20945
- if (!usage[idx]) {
20946
- return undefined;
20947
- }
20948
20192
  const { url: png, webp } = img;
20949
20193
  // eslint-disable-next-line compat/compat
20950
20194
  const imageURL = new URL(png, baseUrl).href;
@@ -20957,7 +20201,7 @@ let seed = 1;
20957
20201
  const background = template.background;
20958
20202
  if (background) {
20959
20203
  const url = getBackgroundImage(template, variables);
20960
- const isVideo = background.type === BackgroundType$1.video;
20204
+ const isVideo = background.type === BackgroundType.video;
20961
20205
  // 根据背景类型确定加载函数
20962
20206
  const loadFn = background && isVideo ? loadVideo : loadImage;
20963
20207
  // 处理加载资源
@@ -21010,7 +20254,7 @@ let seed = 1;
21010
20254
  return Promise.all(jobs);
21011
20255
  })();
21012
20256
  }
21013
- processTextures(images, bins, jsonScene) {
20257
+ processTextures(images, bins, jsonScene, engine) {
21014
20258
  var _this = this;
21015
20259
  return _async_to_generator(function*() {
21016
20260
  var _jsonScene_textures;
@@ -21023,23 +20267,23 @@ let seed = 1;
21023
20267
  }
21024
20268
  if ('mipmaps' in texOpts) {
21025
20269
  try {
21026
- return yield deserializeMipmapTexture(texOpts, bins, jsonScene.bins);
20270
+ return yield deserializeMipmapTexture(texOpts, bins, jsonScene.bins, engine);
21027
20271
  } catch (e) {
21028
20272
  throw new Error(`load texture ${idx} fails, error message: ${e}`);
21029
20273
  }
21030
20274
  }
21031
20275
  const { source } = texOpts;
21032
- // TODO: 测试代码,待移除
21033
20276
  let image;
21034
- if (typeof source === 'number') {
21035
- image = images[source];
20277
+ if (isObject(source)) {
20278
+ //@ts-expect-error
20279
+ image = engine.assetLoader.loadGUID(source.id).data;
21036
20280
  } else if (typeof source === 'string') {
21037
20281
  image = yield loadImage(base64ToFile(source));
21038
20282
  }
21039
20283
  if (image) {
21040
20284
  const tex = createTextureOptionsBySource(image, _this.assets[idx]);
21041
20285
  tex.id = texOpts.id;
21042
- tex.dataType = DataType$1.Texture;
20286
+ tex.dataType = DataType.Texture;
21043
20287
  return tex.sourceType === TextureSourceType.compressed ? tex : _extends({}, tex, texOpts);
21044
20288
  }
21045
20289
  throw new Error(`Invalid texture source: ${source}`);
@@ -21399,7 +20643,7 @@ const tmpScale = new Vector3(1, 1, 1);
21399
20643
  */ updateMatrix() {
21400
20644
  if (this.dirty) {
21401
20645
  const { fov, aspect, near, far, clipMode, position } = this.options;
21402
- this.projectionMatrix.perspective(fov * DEG2RAD, aspect, near, far, clipMode === CameraClipMode$1.portrait);
20646
+ this.projectionMatrix.perspective(fov * DEG2RAD, aspect, near, far, clipMode === CameraClipMode.portrait);
21403
20647
  this.inverseViewMatrix.compose(position, this.getQuat(), tmpScale);
21404
20648
  this.viewMatrix.copyFrom(this.inverseViewMatrix).invert();
21405
20649
  this.viewProjectionMatrix.multiplyMatrices(this.projectionMatrix, this.viewMatrix);
@@ -21421,7 +20665,7 @@ const tmpScale = new Vector3(1, 1, 1);
21421
20665
  this.viewProjectionMatrix = Matrix4.fromIdentity();
21422
20666
  this.inverseViewMatrix = Matrix4.fromIdentity();
21423
20667
  this.dirty = true;
21424
- const { near = 0.1, far = 20, fov = 60, aspect = 1, clipMode = CameraClipMode$1.portrait, position = [
20668
+ const { near = 0.1, far = 20, fov = 60, aspect = 1, clipMode = CameraClipMode.portrait, position = [
21425
20669
  0,
21426
20670
  0,
21427
20671
  8
@@ -21460,7 +20704,7 @@ const tmpScale = new Vector3(1, 1, 1);
21460
20704
  if (timeline) {
21461
20705
  this.timelineComponents.push(timeline);
21462
20706
  // 重播不销毁元素
21463
- if (this.item.endBehavior !== END_BEHAVIOR_DESTROY$1 || this.timelineComponent.reusable) {
20707
+ if (this.item.endBehavior !== ItemEndBehavior.destroy || this.timelineComponent.reusable) {
21464
20708
  timeline.reusable = true;
21465
20709
  }
21466
20710
  }
@@ -21500,23 +20744,23 @@ const tmpScale = new Vector3(1, 1, 1);
21500
20744
  props.content = itemData.content;
21501
20745
  item = new VFXItem(this.engine, _extends({}, props, itemData));
21502
20746
  // TODO 编辑器数据传入 composition type 后移除
21503
- item.type = ItemType$1.composition;
20747
+ item.type = ItemType.composition;
21504
20748
  item.composition = this.item.composition;
21505
20749
  item.addComponent(CompositionComponent).refId = refId;
21506
20750
  item.transform.parentTransform = this.transform;
21507
20751
  this.item.composition.refContent.push(item);
21508
- if (item.endBehavior === END_BEHAVIOR_RESTART$1) {
20752
+ if (item.endBehavior === ItemEndBehavior.loop) {
21509
20753
  this.item.composition.autoRefTex = false;
21510
20754
  }
21511
20755
  item.getComponent(CompositionComponent).createContent();
21512
20756
  for (const vfxItem of item.getComponent(CompositionComponent).items){
21513
- vfxItem.setInstanceId(generateGUID$1());
20757
+ vfxItem.setInstanceId(generateGUID());
21514
20758
  for (const component of vfxItem.components){
21515
- component.setInstanceId(generateGUID$1());
20759
+ component.setInstanceId(generateGUID());
21516
20760
  }
21517
20761
  }
21518
20762
  } else if (//@ts-expect-error
21519
- 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) {
20763
+ 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) {
21520
20764
  item = assetLoader.loadGUID(itemData.id);
21521
20765
  item.composition = this.item.composition;
21522
20766
  } else {
@@ -21528,7 +20772,7 @@ const tmpScale = new Vector3(1, 1, 1);
21528
20772
  }
21529
20773
  item.parent = this.item;
21530
20774
  // 相机不跟随合成移动
21531
- item.transform.parentTransform = itemData.type === ItemType$1.camera ? new Transform() : this.transform;
20775
+ item.transform.parentTransform = itemData.type === ItemType.camera ? new Transform() : this.transform;
21532
20776
  if (VFXItem.isExtraCamera(item)) {
21533
20777
  this.item.composition.extraCamera = item;
21534
20778
  }
@@ -21806,7 +21050,7 @@ const tmpScale = new Vector3(1, 1, 1);
21806
21050
  */ reset() {
21807
21051
  const vfxItem = new VFXItem(this.getEngine(), this.compositionSourceManager.sourceContent);
21808
21052
  // TODO 编辑器数据传入 composition type 后移除
21809
- vfxItem.type = ItemType$1.composition;
21053
+ vfxItem.type = ItemType.composition;
21810
21054
  vfxItem.composition = this;
21811
21055
  this.rootComposition = vfxItem.addComponent(CompositionComponent);
21812
21056
  this.rootTimeline = vfxItem.getComponent(TimelineComponent);
@@ -21863,7 +21107,7 @@ const tmpScale = new Vector3(1, 1, 1);
21863
21107
  * @returns 重新播放合成标志位
21864
21108
  */ shouldRestart() {
21865
21109
  const { ended, endBehavior } = this.rootItem;
21866
- return ended && endBehavior === END_BEHAVIOR_RESTART$1;
21110
+ return ended && endBehavior === ItemEndBehavior.loop;
21867
21111
  }
21868
21112
  /**
21869
21113
  * 是否合成需要销毁
@@ -21873,7 +21117,9 @@ const tmpScale = new Vector3(1, 1, 1);
21873
21117
  return false;
21874
21118
  }
21875
21119
  const { ended, endBehavior } = this.rootItem;
21876
- return ended && (!endBehavior || endBehavior === END_BEHAVIOR_PAUSE_AND_DESTROY$1);
21120
+ // TODO: 合成结束行为
21121
+ // @ts-expect-error
21122
+ return ended && (!endBehavior || endBehavior === END_BEHAVIOR_PAUSE_AND_DESTROY);
21877
21123
  }
21878
21124
  /**
21879
21125
  * 合成更新,针对所有 item 的更新
@@ -21949,7 +21195,7 @@ const tmpScale = new Vector3(1, 1, 1);
21949
21195
  }
21950
21196
  for (const child of item.children){
21951
21197
  if (VFXItem.isComposition(child)) {
21952
- if (child.ended && child.endBehavior === END_BEHAVIOR_RESTART$1) {
21198
+ if (child.ended && child.endBehavior === ItemEndBehavior.loop) {
21953
21199
  child.getComponent(CompositionComponent).resetStatus();
21954
21200
  // TODO K帧动画在元素重建后需要 tick ,否则会导致元素位置和 k 帧第一帧位置不一致
21955
21201
  this.callUpdate(child, 0);
@@ -22090,7 +21336,7 @@ const tmpScale = new Vector3(1, 1, 1);
22090
21336
  * @param item - 交互元素
22091
21337
  * @param type - 交互类型
22092
21338
  */ addInteractiveItem(item, type) {
22093
- if (type === InteractType$1.MESSAGE) {
21339
+ if (type === InteractType.MESSAGE) {
22094
21340
  this.onMessageItem == null ? void 0 : this.onMessageItem.call(this, {
22095
21341
  name: item.name,
22096
21342
  phrase: MESSAGE_ITEM_PHRASE_BEGIN,
@@ -22106,7 +21352,7 @@ const tmpScale = new Vector3(1, 1, 1);
22106
21352
  * @param type - 交互类型
22107
21353
  */ removeInteractiveItem(item, type) {
22108
21354
  // MESSAGE ITEM的结束行为
22109
- if (type === InteractType$1.MESSAGE) {
21355
+ if (type === InteractType.MESSAGE) {
22110
21356
  this.onMessageItem == null ? void 0 : this.onMessageItem.call(this, {
22111
21357
  name: item.name,
22112
21358
  phrase: MESSAGE_ITEM_PHRASE_END,
@@ -22147,8 +21393,8 @@ const tmpScale = new Vector3(1, 1, 1);
22147
21393
  * @param item - 需要销毁的 item
22148
21394
  */ destroyItem(item) {
22149
21395
  // 预合成元素销毁时销毁其中的item
22150
- if (item.type == ItemType$1.composition) {
22151
- if (item.endBehavior !== END_BEHAVIOR_FREEZE$1) {
21396
+ if (item.type == ItemType.composition) {
21397
+ if (item.endBehavior !== ItemEndBehavior.freeze) {
22152
21398
  const contentItems = item.getComponent(CompositionComponent).items;
22153
21399
  contentItems.forEach((it)=>this.pluginSystem.plugins.forEach((loader)=>loader.onCompositionItemRemoved(this, it)));
22154
21400
  }
@@ -22332,7 +21578,7 @@ const tmpScale = new Vector3(1, 1, 1);
22332
21578
  const vfxItem = new VFXItem(this.getEngine(), sourceContent);
22333
21579
  vfxItem.name = 'rootItem';
22334
21580
  // TODO 编辑器数据传入 composition type 后移除
22335
- vfxItem.type = ItemType$1.composition;
21581
+ vfxItem.type = ItemType.composition;
22336
21582
  vfxItem.composition = this;
22337
21583
  this.rootComposition = vfxItem.addComponent(CompositionComponent);
22338
21584
  this.rootTimeline = vfxItem.getComponent(TimelineComponent);
@@ -22359,7 +21605,7 @@ const tmpScale = new Vector3(1, 1, 1);
22359
21605
  this.reusable = reusable;
22360
21606
  this.speed = speed;
22361
21607
  this.renderLevel = renderLevel;
22362
- this.autoRefTex = !this.keepResource && imageUsage && vfxItem.endBehavior !== END_BEHAVIOR_RESTART$1;
21608
+ this.autoRefTex = !this.keepResource && imageUsage && vfxItem.endBehavior !== ItemEndBehavior.loop;
22363
21609
  this.rootItem = vfxItem;
22364
21610
  this.name = sourceContent.name;
22365
21611
  this.pluginSystem = pluginSystem;
@@ -22399,7 +21645,7 @@ let listOrder = 0;
22399
21645
  id,
22400
21646
  duration,
22401
21647
  name,
22402
- endBehavior: isNaN(endBehavior) ? END_BEHAVIOR_PAUSE$1 : endBehavior,
21648
+ endBehavior: isNaN(endBehavior) ? END_BEHAVIOR_PAUSE : endBehavior,
22403
21649
  // looping,
22404
21650
  items,
22405
21651
  camera,
@@ -22420,7 +21666,7 @@ let listOrder = 0;
22420
21666
  const sourceItemData = this.engine.jsonSceneData[itemDataPath.id];
22421
21667
  const itemProps = sourceItemData;
22422
21668
  if (passRenderLevel(sourceItemData.renderLevel, this.renderLevel)) {
22423
- if (itemProps.type === ItemType$1.sprite || itemProps.type === ItemType$1.particle) {
21669
+ if (itemProps.type === ItemType.sprite || itemProps.type === ItemType.particle) {
22424
21670
  for (const componentPath of itemProps.components){
22425
21671
  const componentData = componentMap[componentPath.id];
22426
21672
  this.preProcessItemContent(componentData);
@@ -22438,7 +21684,7 @@ let listOrder = 0;
22438
21684
  itemProps.pluginName = plugins[pn];
22439
21685
  }
22440
21686
  // 处理预合成的渲染顺序
22441
- if (itemProps.type === ItemType$1.composition) {
21687
+ if (itemProps.type === ItemType.composition) {
22442
21688
  const refId = sourceItemData.content.options.refId;
22443
21689
  if (!this.refCompositions.get(refId)) {
22444
21690
  throw new Error('Invalid Ref Composition id: ' + refId);
@@ -22505,13 +21751,13 @@ let listOrder = 0;
22505
21751
  * 处理蒙版和遮挡关系写入 stencil 的 ref 值
22506
21752
  */ processMask(renderer) {
22507
21753
  const maskMode = renderer.maskMode;
22508
- if (maskMode === MaskMode$1.NONE) {
21754
+ if (maskMode === MaskMode.NONE) {
22509
21755
  return;
22510
21756
  }
22511
21757
  if (!renderer.mask) {
22512
- if (maskMode === MaskMode$1.MASK) {
21758
+ if (maskMode === MaskMode.MASK) {
22513
21759
  renderer.mask = ++this.mask;
22514
- } else if (maskMode === MaskMode$1.OBSCURED || maskMode === MaskMode$1.REVERSE_OBSCURED) {
21760
+ } else if (maskMode === MaskMode.OBSCURED || maskMode === MaskMode.REVERSE_OBSCURED) {
22515
21761
  renderer.mask = this.mask;
22516
21762
  }
22517
21763
  }
@@ -22856,13 +22102,13 @@ class SerializationHelper {
22856
22102
  return undefined;
22857
22103
  }
22858
22104
  switch(effectsObjectData.dataType){
22859
- case DataType$1.Material:
22105
+ case DataType.Material:
22860
22106
  effectsObject = Material.create(this.engine);
22861
22107
  break;
22862
- case DataType$1.Geometry:
22108
+ case DataType.Geometry:
22863
22109
  effectsObject = Geometry.create(this.engine);
22864
22110
  break;
22865
- case DataType$1.Texture:
22111
+ case DataType.Texture:
22866
22112
  // @ts-expect-error
22867
22113
  effectsObject = Texture.create(this.engine, effectsObjectData);
22868
22114
  return effectsObject;
@@ -22906,13 +22152,13 @@ class SerializationHelper {
22906
22152
  return effectsObject;
22907
22153
  }
22908
22154
  switch(effectsObjectData.dataType){
22909
- case DataType$1.Material:
22155
+ case DataType.Material:
22910
22156
  effectsObject = Material.create(_this.engine);
22911
22157
  break;
22912
- case DataType$1.Geometry:
22158
+ case DataType.Geometry:
22913
22159
  effectsObject = Geometry.create(_this.engine);
22914
22160
  break;
22915
- case DataType$1.Texture:
22161
+ case DataType.Texture:
22916
22162
  // @ts-expect-error
22917
22163
  effectsObject = Texture.create(_this.engine, effectsObjectData);
22918
22164
  return effectsObject;
@@ -23014,7 +22260,9 @@ class Database {
23014
22260
  const jsonScene = scene.jsonScene;
23015
22261
  for (const itemData of jsonScene.items){
23016
22262
  const itemType = itemData.type;
23017
- 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)) {
22263
+ if (!// @ts-expect-error
22264
+ (itemType === 'ECS' || // @ts-expect-error
22265
+ 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)) {
23018
22266
  continue;
23019
22267
  }
23020
22268
  if (_this.database) {
@@ -23298,5 +22546,5 @@ registerPlugin('particle', ParticleLoader, VFXItem, true);
23298
22546
  registerPlugin('cal', CalculateLoader, VFXItem, true);
23299
22547
  registerPlugin('interact', InteractLoader, VFXItem, true);
23300
22548
 
23301
- export { AbstractPlugin, ActivationPlayable, AssetLoader, AssetManager, BYTES_TYPE_MAP, Behaviour, BezierCurve, BezierCurvePath, COMPRESSED_TEXTURE, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, Component, Composition, CompositionComponent, CompositionSourceManager, DEFAULT_FONTS, Database, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, EffectComponent, EffectsObject, Engine, EventSystem, FilterMode, Float16ArrayWrapper, FrameBuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractBehavior$1 as InteractBehavior, InteractComponent, InteractLoader, InteractMesh, Item, ItemBehaviour, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, Mesh, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleLoader, ParticleMesh, ParticleSystem, ParticleSystemRenderer, PassTextureCache, PluginSystem, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderBuffer, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderer, RendererComponent, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0, SEMANTIC_PRE_COLOR_ATTACHMENT_0, SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0, SPRITE_VERTEX_STRIDE, SemanticMap, SerializationHelper, Shader, ShaderCompileResultStatus, ShaderType, ShaderVariant, SpriteColorPlayable, SpriteComponent, SpriteLoader, StaticValue, TEMPLATE_USE_OFFSCREEN_CANVAS, TextComponent, TextLoader, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, Ticker, TimelineClip, TimelineComponent, Track, Transform, TransformAnimationPlayable, TransformAnimationPlayableAsset, VFXItem, ValueGetter, addByOrder, addItem, addItemWithOrder, assertExist, asserts, blend, calculateTranslation, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, compatible_frag as compatibleFrag, compatible_vert as compatibleVert, createCopyShader, createGLContext, createKeyFrameMeta, createShaderWithMarcos, createShape, createVFXItem, createValueGetter, decimalEqual, deepClone, defaultGlobalVolume, defaultPlugins, deserializeMipmapTexture, earcut, effectsClass, effectsClassStore, enlargeBuffer, ensureVec3, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateGUID$1 as generateGUID, generateHalfFloatTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTemplateCanvasPool, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getMergedStore, getParticleMeshShader, getPixelRatio, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAndroid, isArray, isFunction, isIOS, isObject, isSceneJSON, isSceneURL, isSceneWithOptions, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isWebGL2, itemFrag, itemFrameFrag, itemVert, loadBinary, loadBlob, loadImage, loadMedia, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, maxSpriteTextureCount, modifyMaxKeyframeShader, nearestPowerOfTwo, noop, numberToFix, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap$1 as particleOriginTranslateMap, particleUniformTypeMap, particleVert, pluginLoaderMap, pointOnLine, random, registerPlugin, removeItem, rotateVec2, screenMeshVert, serialize, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxFragmentTextures, setSpriteMeshMaxItemCountByGPU, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecAssign, vecFill, vecMulCombine, vecNormalize };
22549
+ export { AbstractPlugin, ActivationPlayable, AssetLoader, AssetManager, BYTES_TYPE_MAP, Behaviour, BezierCurve, BezierCurvePath, COMPRESSED_TEXTURE, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, Component, Composition, CompositionComponent, CompositionSourceManager, DEFAULT_FONTS, Database, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, EffectComponent, EffectsObject, Engine, EventSystem, FilterMode, Float16ArrayWrapper, FrameBuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractBehavior, InteractComponent, InteractLoader, InteractMesh, Item, ItemBehaviour, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, Mesh, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleLoader, ParticleMesh, ParticleSystem, ParticleSystemRenderer, PassTextureCache, PluginSystem, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderBuffer, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderer, RendererComponent, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0, SEMANTIC_PRE_COLOR_ATTACHMENT_0, SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0, SPRITE_VERTEX_STRIDE, SemanticMap, SerializationHelper, Shader, ShaderCompileResultStatus, ShaderType, ShaderVariant, SpriteColorPlayable, SpriteComponent, SpriteLoader, StaticValue, TEMPLATE_USE_OFFSCREEN_CANVAS, TextComponent, TextLoader, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, Ticker, TimelineClip, TimelineComponent, Track, Transform, TransformAnimationPlayable, TransformAnimationPlayableAsset, VFXItem, ValueGetter, addByOrder, addItem, addItemWithOrder, assertExist, asserts, blend, calculateTranslation, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, compatible_frag as compatibleFrag, compatible_vert as compatibleVert, createCopyShader, createGLContext, createKeyFrameMeta, createShaderWithMarcos, createShape, createVFXItem, createValueGetter, decimalEqual, deepClone, defaultGlobalVolume, defaultPlugins, deserializeMipmapTexture, earcut, effectsClass, effectsClassStore, enlargeBuffer, ensureFixedNumber, ensureVec3, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateGUID, generateHalfFloatTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTemplateCanvasPool, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getMergedStore, getParticleMeshShader, getPixelRatio, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAndroid, isArray, isFunction, isIOS, isObject, isSceneJSON, isSceneURL, isSceneWithOptions, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isWebGL2, itemFrag, itemFrameFrag, itemVert, loadBinary, loadBlob, loadImage, loadMedia, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, maxSpriteTextureCount, modifyMaxKeyframeShader, nearestPowerOfTwo, noop, normalizeColor, numberToFix, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap$1 as particleOriginTranslateMap, particleUniformTypeMap, particleVert, pluginLoaderMap, pointOnLine, random, registerPlugin, removeItem, rotateVec2, screenMeshVert, serialize, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxFragmentTextures, setSpriteMeshMaxItemCountByGPU, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecAssign, vecFill, vecMulCombine, vecNormalize };
23302
22550
  //# sourceMappingURL=index.mjs.map