@galacean/effects-core 2.0.0-beta.0 → 2.0.0-beta.2

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-beta.0
6
+ * Version: v2.0.0-beta.2
7
7
  */
8
8
 
9
9
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
@@ -4563,97 +4563,15 @@ function getDirectStore(target) {
4563
4563
  return decoratorInitialStore.get(classKey);
4564
4564
  }
4565
4565
 
4566
- function _assert_this_initialized(self) {
4567
- if (self === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
4568
- return self;
4569
- }
4570
-
4571
- var EventEmitter = function EventEmitter() {
4572
- var _this = this;
4573
- var _this1 = this;
4574
- this.listeners = {};
4575
- /**
4576
- * 移除事件监听器
4577
- * @param eventName - 事件名称
4578
- * @param listener - 事件监听器
4579
- * @returns
4580
- */ this.off = function(eventName, listener) {
4581
- if (!_this.listeners[eventName]) {
4582
- return;
4583
- }
4584
- _this.listeners[eventName] = _this.listeners[eventName].filter(function(param) {
4585
- var l = param.listener;
4586
- return l !== listener;
4587
- });
4588
- };
4589
- /**
4590
- * 监听事件
4591
- * @param eventName - 事件名称
4592
- * @param listener - 事件监听器
4593
- * @param options - 事件监听器选项
4594
- * @returns
4595
- */ this.on = function(eventName, listener, options) {
4596
- _this.listeners[eventName] = _this.listeners[eventName] || [];
4597
- _this.listeners[eventName].push({
4598
- listener: listener,
4599
- options: options
4600
- });
4601
- return function() {
4602
- return _this.off(eventName, listener);
4603
- };
4604
- };
4605
- /**
4606
- * 一次性监听事件
4607
- * @param eventName - 事件名称
4608
- * @param listener - 事件监听器
4609
- */ this.once = function(eventName, listener) {
4610
- _this.on(eventName, listener, {
4611
- once: true
4612
- });
4613
- };
4614
- /**
4615
- * 触发事件
4616
- * @param eventName - 事件名称
4617
- * @param args - 事件参数
4618
- */ this.emit = function(eventName) {
4619
- for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
4620
- args[_key - 1] = arguments[_key];
4621
- }
4622
- var _this_listeners_eventName;
4623
- (_this_listeners_eventName = _this1.listeners[eventName]) == null ? void 0 : _this_listeners_eventName.forEach(function(param) {
4624
- var listener = param.listener, options = param.options;
4625
- listener.apply(void 0, [].concat(args));
4626
- if (options == null ? void 0 : options.once) {
4627
- _this1.off(eventName, listener);
4628
- }
4629
- });
4630
- };
4631
- /**
4632
- * 获取事件名称对应的所有监听器
4633
- * @param eventName - 事件名称
4634
- * @returns - 返回事件名称对应的所有监听器
4635
- */ this.getListeners = function(eventName) {
4636
- var _this_listeners_eventName;
4637
- return ((_this_listeners_eventName = _this.listeners[eventName]) == null ? void 0 : _this_listeners_eventName.map(function(param) {
4638
- var listener = param.listener;
4639
- return listener;
4640
- })) || [];
4641
- };
4642
- };
4643
-
4644
4566
  /**
4645
4567
  * @since 2.0.0
4646
4568
  * @internal
4647
- */ var EffectsObject = /*#__PURE__*/ function(EventEmitter) {
4648
- _inherits(EffectsObject, EventEmitter);
4569
+ */ var EffectsObject = /*#__PURE__*/ function() {
4649
4570
  function EffectsObject(engine) {
4650
- var _this;
4651
- _this = EventEmitter.call(this) || this;
4652
- _this.engine = engine;
4653
- _this.guid = generateGUID();
4654
- _this.taggedProperties = {};
4655
- _this.engine.addInstance(_assert_this_initialized(_this));
4656
- return _this;
4571
+ this.engine = engine;
4572
+ this.guid = generateGUID();
4573
+ this.taggedProperties = {};
4574
+ this.engine.addInstance(this);
4657
4575
  }
4658
4576
  var _proto = EffectsObject.prototype;
4659
4577
  _proto.getInstanceId = function getInstanceId() {
@@ -4679,7 +4597,7 @@ var EventEmitter = function EventEmitter() {
4679
4597
  return _instanceof1(obj, EffectsObject) && "guid" in obj;
4680
4598
  };
4681
4599
  return EffectsObject;
4682
- }(EventEmitter);
4600
+ }();
4683
4601
 
4684
4602
  /**
4685
4603
  * @since 2.0.0
@@ -4724,17 +4642,17 @@ var EventEmitter = function EventEmitter() {
4724
4642
  function Behaviour() {
4725
4643
  var _this;
4726
4644
  _this = Component.apply(this, arguments) || this;
4727
- _this._enabled = true;
4645
+ _this.isAwakeCalled = false;
4728
4646
  _this.isStartCalled = false;
4647
+ _this._enabled = true;
4729
4648
  return _this;
4730
4649
  }
4731
4650
  var _proto = Behaviour.prototype;
4732
- // /**
4733
- // * 生命周期函数,初始化后调用,生命周期内只调用一次
4734
- // */
4735
- // awake () {
4736
- // // OVERRIDE
4737
- // }
4651
+ /**
4652
+ * 生命周期函数,初始化后调用,生命周期内只调用一次
4653
+ */ _proto.awake = function awake() {
4654
+ // OVERRIDE
4655
+ };
4738
4656
  /**
4739
4657
  * 在每次设置 enabled 为 true 时触发
4740
4658
  */ _proto.onEnable = function onEnable() {
@@ -4757,6 +4675,10 @@ var EventEmitter = function EventEmitter() {
4757
4675
  };
4758
4676
  _proto.onAttached = function onAttached() {
4759
4677
  this.item.itemBehaviours.push(this);
4678
+ if (!this.isAwakeCalled) {
4679
+ this.awake();
4680
+ this.isAwakeCalled = true;
4681
+ }
4760
4682
  };
4761
4683
  _proto.dispose = function dispose() {
4762
4684
  if (this.item) {
@@ -4781,7 +4703,9 @@ var EventEmitter = function EventEmitter() {
4781
4703
  set: function set(value) {
4782
4704
  this._enabled = value;
4783
4705
  if (value) {
4784
- this.onEnable();
4706
+ if (this.isActiveAndEnabled) {
4707
+ this.onEnable();
4708
+ }
4785
4709
  if (!this.isStartCalled) {
4786
4710
  this.start();
4787
4711
  this.isStartCalled = true;
@@ -13627,6 +13551,11 @@ var SpriteLoader = /*#__PURE__*/ function(AbstractPlugin) {
13627
13551
  return SpriteLoader;
13628
13552
  }(AbstractPlugin);
13629
13553
 
13554
+ function _assert_this_initialized(self) {
13555
+ if (self === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
13556
+ return self;
13557
+ }
13558
+
13630
13559
  /**
13631
13560
  * 动画图,负责更新所有的动画节点
13632
13561
  * @since 2.0.0
@@ -17248,12 +17177,6 @@ var ParticleSystem = /*#__PURE__*/ function(Component) {
17248
17177
  area: area
17249
17178
  };
17250
17179
  };
17251
- _proto.onAttached = function onAttached() {
17252
- Component.prototype.onAttached.call(this);
17253
- this.renderer.item = this.item;
17254
- this.item.components.push(this.renderer);
17255
- this.item.rendererComponents.push(this.renderer);
17256
- };
17257
17180
  _proto.fromData = function fromData(data) {
17258
17181
  Component.prototype.fromData.call(this, data);
17259
17182
  var props = data;
@@ -20488,6 +20411,79 @@ PostProcessVolume = __decorate([
20488
20411
  effectsClass("PostProcessVolume")
20489
20412
  ], PostProcessVolume);
20490
20413
 
20414
+ var EventEmitter = function EventEmitter() {
20415
+ var _this = this;
20416
+ var _this1 = this;
20417
+ this.listeners = {};
20418
+ /**
20419
+ * 移除事件监听器
20420
+ * @param eventName - 事件名称
20421
+ * @param listener - 事件监听器
20422
+ * @returns
20423
+ */ this.off = function(eventName, listener) {
20424
+ if (!_this.listeners[eventName]) {
20425
+ return;
20426
+ }
20427
+ _this.listeners[eventName] = _this.listeners[eventName].filter(function(param) {
20428
+ var l = param.listener;
20429
+ return l !== listener;
20430
+ });
20431
+ };
20432
+ /**
20433
+ * 监听事件
20434
+ * @param eventName - 事件名称
20435
+ * @param listener - 事件监听器
20436
+ * @param options - 事件监听器选项
20437
+ * @returns
20438
+ */ this.on = function(eventName, listener, options) {
20439
+ _this.listeners[eventName] = _this.listeners[eventName] || [];
20440
+ _this.listeners[eventName].push({
20441
+ listener: listener,
20442
+ options: options
20443
+ });
20444
+ return function() {
20445
+ return _this.off(eventName, listener);
20446
+ };
20447
+ };
20448
+ /**
20449
+ * 一次性监听事件
20450
+ * @param eventName - 事件名称
20451
+ * @param listener - 事件监听器
20452
+ */ this.once = function(eventName, listener) {
20453
+ _this.on(eventName, listener, {
20454
+ once: true
20455
+ });
20456
+ };
20457
+ /**
20458
+ * 触发事件
20459
+ * @param eventName - 事件名称
20460
+ * @param args - 事件参数
20461
+ */ this.emit = function(eventName) {
20462
+ for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
20463
+ args[_key - 1] = arguments[_key];
20464
+ }
20465
+ var _this_listeners_eventName;
20466
+ (_this_listeners_eventName = _this1.listeners[eventName]) == null ? void 0 : _this_listeners_eventName.forEach(function(param) {
20467
+ var listener = param.listener, options = param.options;
20468
+ listener.apply(void 0, [].concat(args));
20469
+ if (options == null ? void 0 : options.once) {
20470
+ _this1.off(eventName, listener);
20471
+ }
20472
+ });
20473
+ };
20474
+ /**
20475
+ * 获取事件名称对应的所有监听器
20476
+ * @param eventName - 事件名称
20477
+ * @returns - 返回事件名称对应的所有监听器
20478
+ */ this.getListeners = function(eventName) {
20479
+ var _this_listeners_eventName;
20480
+ return ((_this_listeners_eventName = _this.listeners[eventName]) == null ? void 0 : _this_listeners_eventName.map(function(param) {
20481
+ var listener = param.listener;
20482
+ return listener;
20483
+ })) || [];
20484
+ };
20485
+ };
20486
+
20491
20487
  var VFXItem = /*#__PURE__*/ function(EffectsObject) {
20492
20488
  _inherits(VFXItem, EffectsObject);
20493
20489
  function VFXItem(engine, props) {
@@ -20522,6 +20518,7 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
20522
20518
  * 元素动画的速度
20523
20519
  */ _this.speed = 1;
20524
20520
  _this.listIndex = 0;
20521
+ _this.eventProcessor = new EventEmitter();
20525
20522
  _this.name = "VFXItem";
20526
20523
  _this.transform.name = _this.name;
20527
20524
  _this.transform.engine = engine;
@@ -20532,6 +20529,50 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
20532
20529
  }
20533
20530
  var _proto = VFXItem.prototype;
20534
20531
  /**
20532
+ * 元素监听事件
20533
+ * @param eventName - 事件名称
20534
+ * @param listener - 事件监听器
20535
+ * @param options - 事件监听器选项
20536
+ * @returns
20537
+ */ _proto.on = function on(eventName, listener, options) {
20538
+ this.eventProcessor.on(eventName, listener, options);
20539
+ };
20540
+ /**
20541
+ * 移除事件监听器
20542
+ * @param eventName - 事件名称
20543
+ * @param listener - 事件监听器
20544
+ * @returns
20545
+ */ _proto.off = function off(eventName, listener) {
20546
+ this.eventProcessor.off(eventName, listener);
20547
+ };
20548
+ /**
20549
+ * 一次性监听事件
20550
+ * @param eventName - 事件名称
20551
+ * @param listener - 事件监听器
20552
+ */ _proto.once = function once(eventName, listener) {
20553
+ this.eventProcessor.once(eventName, listener);
20554
+ };
20555
+ /**
20556
+ * 触发事件
20557
+ * @param eventName - 事件名称
20558
+ * @param args - 事件参数
20559
+ */ _proto.emit = function emit(eventName) {
20560
+ for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
20561
+ args[_key - 1] = arguments[_key];
20562
+ }
20563
+ var _this_eventProcessor;
20564
+ (_this_eventProcessor = this.eventProcessor).emit.apply(_this_eventProcessor, [].concat([
20565
+ eventName
20566
+ ], args));
20567
+ };
20568
+ /**
20569
+ * 获取事件名称对应的所有监听器
20570
+ * @param eventName - 事件名称
20571
+ * @returns - 返回事件名称对应的所有监听器
20572
+ */ _proto.getListeners = function getListeners(eventName) {
20573
+ return this.eventProcessor.getListeners(eventName);
20574
+ };
20575
+ /**
20535
20576
  * 设置元素的动画速度
20536
20577
  * @param speed - 速度
20537
20578
  */ _proto.setSpeed = function setSpeed(speed) {
@@ -20801,10 +20842,24 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
20801
20842
  if (duration <= 0) {
20802
20843
  throw new Error("Item duration can't be less than 0, see " + HELP_LINK["Item duration can't be less than 0"] + ".");
20803
20844
  }
20845
+ this.itemBehaviours.length = 0;
20846
+ this.rendererComponents.length = 0;
20804
20847
  for(var _iterator = _create_for_of_iterator_helper_loose(this.components), _step; !(_step = _iterator()).done;){
20805
20848
  var component = _step.value;
20806
20849
  component.item = this;
20807
- component.onAttached();
20850
+ if (_instanceof1(component, Behaviour)) {
20851
+ this.itemBehaviours.push(component);
20852
+ }
20853
+ if (_instanceof1(component, RendererComponent)) {
20854
+ this.rendererComponents.push(component);
20855
+ }
20856
+ // TODO ParticleSystemRenderer 现在是动态生成的,后面需要在 json 中单独表示为一个组件
20857
+ if (_instanceof1(component, ParticleSystem)) {
20858
+ if (!this.components.includes(component.renderer)) {
20859
+ this.components.push(component.renderer);
20860
+ }
20861
+ this.rendererComponents.push(component.renderer);
20862
+ }
20808
20863
  }
20809
20864
  // renderOrder 在 component 初始化后设置。确保能拿到 rendererComponent。
20810
20865
  this.renderOrder = listIndex;
@@ -24442,15 +24497,20 @@ var tmpScale = new Vector3(1, 1, 1);
24442
24497
  return out.multiplyMatrices(this.viewProjectionMatrix, model);
24443
24498
  };
24444
24499
  /**
24445
- * 获取归一化坐标和 3D 世界坐标的换算比例
24500
+ * 获取归一化坐标和 3D 世界坐标的换算比例,使用 ViewProjection 矩阵
24446
24501
  * @param z - 当前的位置 z
24447
24502
  */ _proto.getInverseVPRatio = function getInverseVPRatio(z) {
24448
24503
  var pos = new Vector3(this.position.x, this.position.y, z);
24449
24504
  var mat = this.getViewProjectionMatrix();
24450
- var inverseVP = this.getInverseViewProjectionMatrix();
24505
+ var inverseMat = this.getInverseViewProjectionMatrix();
24506
+ if (!this.viewportMatrix.isIdentity()) {
24507
+ var viewportMatrix = this.viewportMatrix.clone();
24508
+ inverseMat.premultiply(viewportMatrix);
24509
+ mat.multiply(viewportMatrix.invert());
24510
+ }
24451
24511
  var _mat_projectPoint = mat.projectPoint(pos), nz = _mat_projectPoint.z;
24452
- var _inverseVP_projectPoint = inverseVP.projectPoint(new Vector3(1, 1, nz)), xMax = _inverseVP_projectPoint.x, yMax = _inverseVP_projectPoint.y;
24453
- var _inverseVP_projectPoint1 = inverseVP.projectPoint(new Vector3(-1, -1, nz)), xMin = _inverseVP_projectPoint1.x, yMin = _inverseVP_projectPoint1.y;
24512
+ var _inverseMat_projectPoint = inverseMat.projectPoint(new Vector3(1, 1, nz)), xMax = _inverseMat_projectPoint.x, yMax = _inverseMat_projectPoint.y;
24513
+ var _inverseMat_projectPoint1 = inverseMat.projectPoint(new Vector3(-1, -1, nz)), xMin = _inverseMat_projectPoint1.x, yMin = _inverseMat_projectPoint1.y;
24454
24514
  return new Vector3((xMax - xMin) / 2, (yMax - yMin) / 2, 0);
24455
24515
  };
24456
24516
  /**
@@ -24877,6 +24937,7 @@ var listOrder = 0;
24877
24937
  _this.rendererOptions = null;
24878
24938
  _this.rootComposition.createContent();
24879
24939
  _this.buildItemTree(_this.rootItem);
24940
+ _this.callAwake(_this.rootItem);
24880
24941
  _this.rootItem.onEnd = function() {
24881
24942
  window.setTimeout(function() {
24882
24943
  _this.emit("end", {
@@ -25121,6 +25182,19 @@ var listOrder = 0;
25121
25182
  }
25122
25183
  return t;
25123
25184
  };
25185
+ _proto.callAwake = function callAwake(item) {
25186
+ for(var _iterator = _create_for_of_iterator_helper_loose(item.itemBehaviours), _step; !(_step = _iterator()).done;){
25187
+ var itemBehaviour = _step.value;
25188
+ if (!itemBehaviour.isAwakeCalled) {
25189
+ itemBehaviour.awake();
25190
+ itemBehaviour.isAwakeCalled = true;
25191
+ }
25192
+ }
25193
+ for(var _iterator1 = _create_for_of_iterator_helper_loose(item.children), _step1; !(_step1 = _iterator1()).done;){
25194
+ var child = _step1.value;
25195
+ this.callAwake(child);
25196
+ }
25197
+ };
25124
25198
  _proto.callStart = function callStart(item) {
25125
25199
  for(var _iterator = _create_for_of_iterator_helper_loose(item.itemBehaviours), _step; !(_step = _iterator()).done;){
25126
25200
  var itemBehaviour = _step.value;
@@ -27608,7 +27682,7 @@ registerPlugin("sprite", SpriteLoader, VFXItem, true);
27608
27682
  registerPlugin("particle", ParticleLoader, VFXItem, true);
27609
27683
  registerPlugin("cal", CalculateLoader, VFXItem, true);
27610
27684
  registerPlugin("interact", InteractLoader, VFXItem, true);
27611
- var version = "2.0.0-beta.0";
27685
+ var version = "2.0.0-beta.2";
27612
27686
  logger.info("Core version: " + version + ".");
27613
27687
 
27614
27688
  export { AbstractPlugin, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AnimationClip, AnimationClipPlayable, AssetLoader, AssetManager, BYTES_TYPE_MAP, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, 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, EffectsPackage, Engine, EventEmitter, EventSystem, FilterMode, Float16ArrayWrapper, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, Item, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, Mesh, ObjectBindingTrack, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleBehaviourPlayableAsset, ParticleLoader, ParticleMesh, ParticleSystem, ParticleSystemRenderer, PassTextureCache, PathSegments, PluginSystem, PostProcessVolume, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderbuffer, Renderer, RendererComponent, RuntimeClip, 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, ShaderFactory, ShaderType, ShaderVariant, SpriteColorPlayable, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteLoader, StaticValue, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, Ticker, TimelineAsset, TimelineClip, TimelinePlayable, TrackAsset, TrackSortWrapper, TrackType, Transform, TransformAnimationPlayable, TransformPlayableAsset, TransformTrack, VFXItem, ValueGetter, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, blend, calculateTranslation, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, createCopyShader, createGLContext, createKeyFrameMeta, createShape, createValueGetter, decimalEqual, defaultGlobalVolume, defaultPlugins, deserializeMipmapTexture, earcut, effectsClass, effectsClassStore, enlargeBuffer, ensureFixedNumber, ensureVec3, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateGUID, generateHalfFloatTexture, generateTransparentTexture, generateWhiteTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getMergedStore, getParticleMeshShader, getPixelRatio, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, glType2VertexFormatType, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAlipayMiniApp, isAndroid, isArray, isCanvas, isFunction, isIOS, isIOSByUA, isMiniProgram, isObject, isSceneJSON, isSceneURL, isSceneWithOptions, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, isWechatMiniApp, itemFrag, itemFrameFrag, itemVert, loadAVIFOptional, loadBinary, loadBlob, loadImage, loadMedia, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, modifyMaxKeyframeShader, nearestPowerOfTwo, noop, normalizeColor, numberToFix, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap$1 as particleOriginTranslateMap, particleUniformTypeMap, particleVert, pluginLoaderMap, randomInRange, registerPlugin, removeItem, rotateVec2, screenMeshVert, serialize, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxItemCountByGPU, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecFill, vecMulCombine, version, vertexFormatType2GLType };