@galacean/effects-threejs 2.5.0-alpha.0 → 2.5.0-alpha.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 threejs plugin for the web
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
6
- * Version: v2.5.0-alpha.0
6
+ * Version: v2.5.0-alpha.2
7
7
  */
8
8
 
9
9
  import * as THREE from 'three';
@@ -678,6 +678,17 @@ function asserts(condition, msg) {
678
678
  return /^[^\d.][\w-]*$/.test(fontFamily);
679
679
  }
680
680
 
681
+ /**
682
+ * Simple implementation of the deferred pattern.
683
+ * An object that exposes a promise and functions to resolve and reject it.
684
+ */ var Deferred = function Deferred() {
685
+ var _this = this;
686
+ this.promise = new Promise(function(resolve, reject) {
687
+ _this.resolve = resolve;
688
+ _this.reject = reject;
689
+ });
690
+ };
691
+
681
692
  var prefix = "[Galacean Effects]";
682
693
  var localLogger;
683
694
  function format(message) {
@@ -7623,6 +7634,8 @@ var MaterialRenderType;
7623
7634
  var MaskProcessor = /*#__PURE__*/ function() {
7624
7635
  function MaskProcessor(engine) {
7625
7636
  this.engine = engine;
7637
+ this.alphaMaskEnabled = false;
7638
+ this.maskMode = MaskMode.NONE;
7626
7639
  this.maskable = null;
7627
7640
  this.stencilClearAction = {
7628
7641
  stencilAction: TextureLoadAction.clear
@@ -7633,19 +7646,17 @@ var MaskProcessor = /*#__PURE__*/ function() {
7633
7646
  return 1;
7634
7647
  };
7635
7648
  _proto.getMaskMode = function getMaskMode(data) {
7636
- var maskMode = MaskMode.NONE;
7637
- if (data.mask) {
7638
- var _data_mask = data.mask, _data_mask_mask = _data_mask.mask, mask = _data_mask_mask === void 0 ? false : _data_mask_mask, _data_mask_mode = _data_mask.mode, mode = _data_mask_mode === void 0 ? MaskMode.NONE : _data_mask_mode, ref = _data_mask.ref;
7639
- if (mask) {
7640
- maskMode = MaskMode.MASK;
7641
- } else if (mode === ObscuredMode.OBSCURED || mode === ObscuredMode.REVERSE_OBSCURED) {
7642
- maskMode = mode === ObscuredMode.OBSCURED ? MaskMode.OBSCURED : MaskMode.REVERSE_OBSCURED;
7643
- if (ref) {
7644
- this.maskable = ref;
7645
- }
7649
+ var _data_isMask = data.isMask, isMask = _data_isMask === void 0 ? false : _data_isMask, _data_inverted = data.inverted, inverted = _data_inverted === void 0 ? false : _data_inverted, reference = data.reference, _data_alphaMaskEnabled = data.alphaMaskEnabled, alphaMaskEnabled = _data_alphaMaskEnabled === void 0 ? false : _data_alphaMaskEnabled;
7650
+ this.alphaMaskEnabled = alphaMaskEnabled;
7651
+ if (isMask) {
7652
+ this.maskMode = MaskMode.MASK;
7653
+ } else {
7654
+ this.maskMode = inverted ? MaskMode.REVERSE_OBSCURED : MaskMode.OBSCURED;
7655
+ if (reference) {
7656
+ this.maskable = this.engine.findObject(reference);
7646
7657
  }
7647
7658
  }
7648
- return maskMode;
7659
+ return this.maskMode;
7649
7660
  };
7650
7661
  _proto.drawStencilMask = function drawStencilMask(renderer) {
7651
7662
  if (this.maskable) {
@@ -12489,9 +12500,7 @@ var singleSplits = [
12489
12500
  occlusion: false,
12490
12501
  transparentOcclusion: false,
12491
12502
  side: SideMode.DOUBLE,
12492
- maskMode: MaskMode.NONE,
12493
- mask: 0,
12494
- alphaMask: false
12503
+ mask: 0
12495
12504
  };
12496
12505
  _this.defaultGeometry = Geometry.create(_this.engine, {
12497
12506
  attributes: {
@@ -12781,7 +12790,8 @@ var singleSplits = [
12781
12790
  return geometry;
12782
12791
  };
12783
12792
  _proto.configureMaterial = function configureMaterial(renderer) {
12784
- var side = renderer.side, occlusion = renderer.occlusion, blendMode = renderer.blending, maskMode = renderer.maskMode, mask = renderer.mask, texture = renderer.texture;
12793
+ var side = renderer.side, occlusion = renderer.occlusion, blendMode = renderer.blending, mask = renderer.mask, texture = renderer.texture;
12794
+ var maskMode = this.maskManager.maskMode;
12785
12795
  var material = this.material;
12786
12796
  material.blending = true;
12787
12797
  material.depthTest = true;
@@ -12802,9 +12812,9 @@ var singleSplits = [
12802
12812
  texParams.x = renderer.occlusion ? +renderer.transparentOcclusion : 1;
12803
12813
  texParams.y = preMultiAlpha;
12804
12814
  texParams.z = renderer.renderMode;
12805
- texParams.w = renderer.maskMode;
12815
+ texParams.w = maskMode;
12806
12816
  material.setVector4("_TexParams", texParams);
12807
- if (texParams.x === 0 || renderer.alphaMask) {
12817
+ if (texParams.x === 0 || this.maskManager.alphaMaskEnabled) {
12808
12818
  material.enableMacro("ALPHA_CLIP");
12809
12819
  } else {
12810
12820
  material.disableMacro("ALPHA_CLIP");
@@ -12831,11 +12841,10 @@ var singleSplits = [
12831
12841
  var renderer = (_baseRenderComponentData_renderer = baseRenderComponentData.renderer) != null ? _baseRenderComponentData_renderer : {};
12832
12842
  var splits = baseRenderComponentData.splits;
12833
12843
  var textureSheetAnimation = baseRenderComponentData.textureSheetAnimation;
12834
- var maskProps = data.mask;
12835
- if (maskProps && maskProps.ref) {
12836
- maskProps.ref = this.engine.findObject(maskProps.ref);
12844
+ var maskOptions = baseRenderComponentData.mask;
12845
+ if (maskOptions) {
12846
+ this.maskManager.getMaskMode(maskOptions);
12837
12847
  }
12838
- var maskMode = this.maskManager.getMaskMode(data);
12839
12848
  // TODO 新蒙板上线后移除
12840
12849
  //-------------------------------------------------------------------------
12841
12850
  var shapeData = renderer.shape;
@@ -12847,23 +12856,39 @@ var singleSplits = [
12847
12856
  //-------------------------------------------------------------------------
12848
12857
  this.splits = splits || singleSplits;
12849
12858
  this.textureSheetAnimation = textureSheetAnimation;
12850
- var _renderer_renderMode, _renderer_blending, _renderer_side, _renderer_alphaMask;
12859
+ var _renderer_renderMode, _renderer_blending, _renderer_side;
12851
12860
  this.renderer = {
12852
12861
  renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.MESH,
12853
12862
  blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode.ALPHA,
12854
12863
  texture: renderer.texture ? this.engine.findObject(renderer.texture) : this.engine.emptyTexture,
12855
12864
  occlusion: !!renderer.occlusion,
12856
- transparentOcclusion: !!renderer.transparentOcclusion || maskMode === MaskMode.MASK,
12865
+ transparentOcclusion: !!renderer.transparentOcclusion || this.maskManager.maskMode === MaskMode.MASK,
12857
12866
  side: (_renderer_side = renderer.side) != null ? _renderer_side : SideMode.DOUBLE,
12858
12867
  mask: this.maskManager.getRefValue(),
12859
- shape: shapeGeometry,
12860
- maskMode: maskMode,
12861
- //@ts-expect-error TODO 新蒙版兼容老数据需要增加纹理透明度蒙版是否开启参数
12862
- alphaMask: (_renderer_alphaMask = renderer.alphaMask) != null ? _renderer_alphaMask : false
12868
+ shape: shapeGeometry
12863
12869
  };
12864
12870
  this.configureMaterial(this.renderer);
12865
12871
  if (baseRenderComponentData.geometry) {
12866
12872
  this.geometry = this.engine.findObject(baseRenderComponentData.geometry);
12873
+ var uvTransform = baseRenderComponentData.splits && !baseRenderComponentData.textureSheetAnimation ? baseRenderComponentData.splits[0] : singleSplits[0];
12874
+ var x = uvTransform[0];
12875
+ var y = uvTransform[1];
12876
+ var isRotate90 = uvTransform[4];
12877
+ var width = isRotate90 ? uvTransform[3] : uvTransform[2];
12878
+ var height = isRotate90 ? uvTransform[2] : uvTransform[3];
12879
+ var aUV = this.geometry.getAttributeData("aUV");
12880
+ var aPos = this.geometry.getAttributeData("aPos");
12881
+ if (aUV && aPos) {
12882
+ var vertexCount = aUV.length / 2;
12883
+ for(var i = 0; i < vertexCount; i++){
12884
+ var positionOffset = i * 3;
12885
+ var uvOffset = i * 2;
12886
+ var positionX = aPos[positionOffset];
12887
+ var positionY = aPos[positionOffset + 1];
12888
+ aUV[uvOffset] = (positionX + 0.5) * width + x;
12889
+ aUV[uvOffset + 1] = (positionY + 0.5) * height + y;
12890
+ }
12891
+ }
12867
12892
  } else {
12868
12893
  this.geometry = this.defaultGeometry;
12869
12894
  this.configureDefaultGeometry(this.renderer);
@@ -13202,17 +13227,15 @@ var ShapeComponent = /*#__PURE__*/ function(BaseRenderComponent) {
13202
13227
  break;
13203
13228
  }
13204
13229
  }
13205
- var maskProps = data.mask;
13206
- if (maskProps && maskProps.ref) {
13207
- maskProps.ref = this.engine.findObject(maskProps.ref);
13230
+ if (data.mask) {
13231
+ this.maskManager.getMaskMode(data.mask);
13208
13232
  }
13209
- var maskMode = this.maskManager.getMaskMode(data);
13210
13233
  var maskRef = this.maskManager.getRefValue();
13211
13234
  this.material.stencilRef = maskRef !== undefined ? [
13212
13235
  maskRef,
13213
13236
  maskRef
13214
13237
  ] : undefined;
13215
- setMaskMode(this.material, maskMode);
13238
+ setMaskMode(this.material, this.maskManager.maskMode);
13216
13239
  };
13217
13240
  _create_class(ShapeComponent, [
13218
13241
  {
@@ -19687,11 +19710,7 @@ var ParticleSystem = /*#__PURE__*/ function(Component) {
19687
19710
  var maskMode = MaskMode.NONE;
19688
19711
  var maskRef = 0;
19689
19712
  if (data.mask) {
19690
- var maskProps = data.mask;
19691
- if (maskProps && maskProps.ref) {
19692
- maskProps.ref = this.engine.findObject(maskProps.ref);
19693
- }
19694
- maskMode = this.maskManager.getMaskMode(data);
19713
+ maskMode = this.maskManager.getMaskMode(data.mask);
19695
19714
  maskRef = this.maskManager.getRefValue();
19696
19715
  }
19697
19716
  return {
@@ -20232,7 +20251,7 @@ var RuntimeClip = /*#__PURE__*/ function() {
20232
20251
  this.playable.play();
20233
20252
  }
20234
20253
  this.parentMixer.setClipWeight(this.playable, weight);
20235
- var clipTime = parseFloat(clip.toLocalTime(localTime).toFixed(3));
20254
+ var clipTime = clip.toLocalTime(localTime);
20236
20255
  this.playable.setTime(clipTime);
20237
20256
  // 判断动画是否结束
20238
20257
  if (ended) {
@@ -21421,11 +21440,12 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
21421
21440
  * 前进合成到指定时间
21422
21441
  * @param time - 相对0时刻的时间
21423
21442
  */ _proto.forwardTime = function forwardTime(time) {
21424
- var deltaTime = time * 1000 - this.rootComposition.time * 1000;
21443
+ var deltaTime = time * 1000 - this.time * 1000;
21425
21444
  var reverse = deltaTime < 0;
21426
21445
  var step = 15;
21427
21446
  var t = Math.abs(deltaTime);
21428
21447
  var ss = reverse ? -step : step;
21448
+ // FIXME Update 中可能会修改合成时间,这边需要优化更新逻辑
21429
21449
  for(t; t > step; t -= step){
21430
21450
  this.update(ss);
21431
21451
  }
@@ -21465,13 +21485,14 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
21465
21485
  this.callAwake(this.rootItem);
21466
21486
  this.rootItem.beginPlay();
21467
21487
  }
21468
- var dt = parseFloat(this.getUpdateTime(deltaTime * this.speed).toFixed(0));
21469
- this.updateRootComposition(dt / 1000);
21488
+ var previousCompositionTime = this.time;
21489
+ this.updateCompositionTime(deltaTime * this.speed / 1000);
21490
+ var deltaTimeInMs = (this.time - previousCompositionTime) * 1000;
21470
21491
  this.updateVideo();
21471
21492
  // 更新 model-tree-plugin
21472
- this.updatePluginLoaders(deltaTime);
21473
- this.sceneTicking.update.tick(dt);
21474
- this.sceneTicking.lateUpdate.tick(dt);
21493
+ this.updatePluginLoaders(deltaTimeInMs);
21494
+ this.sceneTicking.update.tick(deltaTimeInMs);
21495
+ this.sceneTicking.lateUpdate.tick(deltaTimeInMs);
21475
21496
  this.updateCamera();
21476
21497
  this.prepareRender();
21477
21498
  if (this.isEnded && !this.isEndCalled) {
@@ -21487,14 +21508,6 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
21487
21508
  _proto.shouldDispose = function shouldDispose() {
21488
21509
  return this.isEnded && this.rootItem.endBehavior === EndBehavior.destroy && !this.reusable;
21489
21510
  };
21490
- _proto.getUpdateTime = function getUpdateTime(t) {
21491
- var startTimeInMs = this.startTime * 1000;
21492
- var now = this.rootComposition.time * 1000;
21493
- if (t < 0 && now + t < startTimeInMs) {
21494
- return startTimeInMs - now;
21495
- }
21496
- return t;
21497
- };
21498
21511
  _proto.callAwake = function callAwake(item) {
21499
21512
  for(var _iterator = _create_for_of_iterator_helper_loose(item.components), _step; !(_step = _iterator()).done;){
21500
21513
  var component = _step.value;
@@ -21539,14 +21552,18 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
21539
21552
  };
21540
21553
  /**
21541
21554
  * 更新主合成组件
21542
- */ _proto.updateRootComposition = function updateRootComposition(deltaTime) {
21555
+ */ _proto.updateCompositionTime = function updateCompositionTime(deltaTime) {
21543
21556
  if (this.rootComposition.state === PlayState.Paused || !this.rootComposition.isActiveAndEnabled) {
21544
21557
  return;
21545
21558
  }
21546
- var localTime = parseFloat((this.time + deltaTime - this.rootItem.start).toFixed(3));
21547
- var isEnded = false;
21559
+ // 相对于合成开始时间的时间
21560
+ var localTime = this.time + deltaTime - this.startTime;
21561
+ if (deltaTime < 0 && localTime < 0) {
21562
+ localTime = 0;
21563
+ }
21548
21564
  var duration = this.rootItem.duration;
21549
21565
  var endBehavior = this.rootItem.endBehavior;
21566
+ var isEnded = false;
21550
21567
  if (localTime - duration > 0.001) {
21551
21568
  isEnded = true;
21552
21569
  switch(endBehavior){
@@ -21571,7 +21588,7 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
21571
21588
  }
21572
21589
  }
21573
21590
  }
21574
- this.rootComposition.time = localTime;
21591
+ this.rootComposition.time = localTime + this.startTime;
21575
21592
  // end state changed, handle onEnd flags
21576
21593
  if (this.isEnded !== isEnded) {
21577
21594
  if (isEnded) {
@@ -27544,13 +27561,13 @@ function processMask(renderContent) {
27544
27561
  }
27545
27562
  if (maskMode === MaskMode.MASK) {
27546
27563
  renderContent.mask = {
27547
- mask: true
27564
+ isMask: true
27548
27565
  };
27549
27566
  currentMaskComponent = renderContent.id;
27550
27567
  } else if (maskMode === ObscuredMode.OBSCURED || maskMode === ObscuredMode.REVERSE_OBSCURED) {
27551
27568
  renderContent.mask = {
27552
- mode: maskMode,
27553
- ref: {
27569
+ inverted: maskMode === ObscuredMode.REVERSE_OBSCURED ? true : false,
27570
+ reference: {
27554
27571
  "id": currentMaskComponent
27555
27572
  }
27556
27573
  };
@@ -28374,6 +28391,7 @@ function getStandardSpriteContent(sprite, transform) {
28374
28391
  return ret;
28375
28392
  }
28376
28393
 
28394
+ var version$2 = "2.5.0-alpha.2";
28377
28395
  var v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
28378
28396
  var standardVersion = /^(\d+)\.(\d+)$/;
28379
28397
  var reverseParticle = false;
@@ -28381,6 +28399,11 @@ function getStandardJSON(json) {
28381
28399
  if (!json || typeof json !== "object") {
28382
28400
  throw new Error("Invalid input: Expected a JSON object.");
28383
28401
  }
28402
+ // 如果 JSON 中的 runtime 版本高于当前运行时版本,则发出警告
28403
+ if (checkRuntimeVersion(json)) {
28404
+ var _json_playerVersion;
28405
+ console.warn("The JSON need higher than " + ((_json_playerVersion = json.playerVersion) == null ? void 0 : _json_playerVersion.web) + " runtime version(current: " + version$2 + "). Some features may not work as expected.");
28406
+ }
28384
28407
  // 修正老版本数据中,meshItem 以及 lightItem 结束行为错误问题
28385
28408
  version22Migration(json);
28386
28409
  if (v0.test(json.version)) {
@@ -28696,6 +28719,21 @@ function getStandardItem(item, opt) {
28696
28719
  return {};
28697
28720
  }
28698
28721
  }
28722
+ /**
28723
+ * 检查 json.playerVersion.web 的版本号是否低于当前 runtime 的版本
28724
+ */ function checkRuntimeVersion(json) {
28725
+ var _ref = json.playerVersion || {}, _ref_web = _ref.web, web = _ref_web === void 0 ? "" : _ref_web;
28726
+ if (web) {
28727
+ var _v0_exec;
28728
+ var jsonVersionMatch = (_v0_exec = v0.exec(web)) != null ? _v0_exec : [];
28729
+ var _v0_exec1;
28730
+ var runtimeVersionMatch = (_v0_exec1 = v0.exec(version$2)) != null ? _v0_exec1 : [];
28731
+ var major = jsonVersionMatch[1], minor = jsonVersionMatch[2];
28732
+ var currentMajor = runtimeVersionMatch[1], currentMinor = runtimeVersionMatch[2];
28733
+ return Number(currentMajor) < Number(major) || Number(currentMajor) === Number(major) && Number(currentMinor) < Number(minor);
28734
+ }
28735
+ return false;
28736
+ }
28699
28737
 
28700
28738
  var _obj$1;
28701
28739
  /**
@@ -31603,7 +31641,7 @@ registerPlugin("sprite", SpriteLoader, VFXItem);
31603
31641
  registerPlugin("particle", ParticleLoader, VFXItem);
31604
31642
  registerPlugin("cal", CalculateLoader, VFXItem);
31605
31643
  registerPlugin("interact", InteractLoader, VFXItem);
31606
- var version$1 = "2.5.0-alpha.0";
31644
+ var version$1 = "2.5.0-alpha.2";
31607
31645
  logger.info("Core version: " + version$1 + ".");
31608
31646
 
31609
31647
  var _obj;
@@ -33205,8 +33243,8 @@ setMaxSpriteMeshItemCount(8);
33205
33243
  */ Mesh.create = function(engine, props) {
33206
33244
  return new ThreeMesh(engine, props);
33207
33245
  };
33208
- var version = "2.5.0-alpha.0";
33246
+ var version = "2.5.0-alpha.2";
33209
33247
  logger.info("THREEJS plugin version: " + version + ".");
33210
33248
 
33211
- export { AbstractPlugin, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AnimationClip, AnimationClipPlayable, Asset, AssetLoader, AssetManager, AssetService, BYTES_TYPE_MAP, BaseRenderComponent, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, COMPRESSED_TEXTURE, CONSTANT_MAP_BLEND, CONSTANT_MAP_DEPTH, CONSTANT_MAP_STENCIL_FUNC, CONSTANT_MAP_STENCIL_OP, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, ColorCurve, ColorPropertyPlayableAsset, ColorPropertyTrack, Component, Composition, CompositionComponent, DEFAULT_FONTS, DEFAULT_FPS, 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, Ellipse, Engine, EventEmitter, EventSystem, Fake3DAnimationMode, Fake3DComponent, FilterMode, Float16ArrayWrapper, FloatPropertyPlayableAsset, FloatPropertyTrack, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, GraphicsPath, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, Item, KTXTexture, LineSegments, LinearValue, MaskMode, MaskProcessor, Material, MaterialDataBlock, MaterialRenderType, MaterialTrack, Mesh, MeshCollider, ObjectBindingTrack, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleBehaviourPlayableAsset, ParticleLoader, ParticleMesh, ParticleSystem, ParticleSystemRenderer, ParticleTrack, PassTextureCache, PathSegments, PluginSystem, PolyStar, Polygon, PostProcessVolume, PropertyTrack, 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, Scene, SemanticMap, SerializationHelper, Shader, ShaderCompileResultStatus, ShaderFactory, ShaderType, ShaderVariant, ShapeComponent, ShapePath, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteLoader, StarType, StaticValue, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TEXTURE_UNIFORM_MAP, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeEngine, ThreeMaterial, ThreeSpriteComponent, ThreeTextComponent, ThreeTexture, Ticker, TimelineAsset, TimelineClip, TimelinePlayable, TrackAsset, TrackSortWrapper, TrackType, Transform, TransformAnimationPlayable, TransformPlayableAsset, TransformTrack, VFXItem, ValueGetter, Vector2Curve, Vector2PropertyPlayableAsset, Vector2PropertyTrack, Vector4Curve, Vector4PropertyPlayableAsset, Vector4PropertyTrack, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, blend, buildLine, calculateTranslation, canvasPool, closePointEps, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, createCopyShader, createGLContext, createKeyFrameMeta, createShape, createValueGetter, curveEps, decimalEqual, 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, 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, isOpenHarmony, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, isWechatMiniApp, itemFrag, itemFrame_frag as 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, passRenderLevel, pluginLoaderMap, randomInRange, registerPlugin, removeItem, rotateVec2, screenMeshVert, serialize, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxItemCountByGPU, setUniformValue, sortByOrder, index$1 as spec, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecFill, vecMulCombine, version, vertexFormatType2GLType };
33249
+ export { AbstractPlugin, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AnimationClip, AnimationClipPlayable, Asset, AssetLoader, AssetManager, AssetService, BYTES_TYPE_MAP, BaseRenderComponent, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, COMPRESSED_TEXTURE, CONSTANT_MAP_BLEND, CONSTANT_MAP_DEPTH, CONSTANT_MAP_STENCIL_FUNC, CONSTANT_MAP_STENCIL_OP, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, ColorCurve, ColorPropertyPlayableAsset, ColorPropertyTrack, Component, Composition, CompositionComponent, DEFAULT_FONTS, DEFAULT_FPS, Database, Deferred, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, EffectComponent, EffectsObject, EffectsPackage, Ellipse, Engine, EventEmitter, EventSystem, Fake3DAnimationMode, Fake3DComponent, FilterMode, Float16ArrayWrapper, FloatPropertyPlayableAsset, FloatPropertyTrack, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, GraphicsPath, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, Item, KTXTexture, LineSegments, LinearValue, MaskMode, MaskProcessor, Material, MaterialDataBlock, MaterialRenderType, MaterialTrack, Mesh, MeshCollider, ObjectBindingTrack, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleBehaviourPlayableAsset, ParticleLoader, ParticleMesh, ParticleSystem, ParticleSystemRenderer, ParticleTrack, PassTextureCache, PathSegments, PluginSystem, PolyStar, Polygon, PostProcessVolume, PropertyTrack, 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, Scene, SemanticMap, SerializationHelper, Shader, ShaderCompileResultStatus, ShaderFactory, ShaderType, ShaderVariant, ShapeComponent, ShapePath, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteLoader, StarType, StaticValue, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TEXTURE_UNIFORM_MAP, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeEngine, ThreeMaterial, ThreeSpriteComponent, ThreeTextComponent, ThreeTexture, Ticker, TimelineAsset, TimelineClip, TimelinePlayable, TrackAsset, TrackSortWrapper, TrackType, Transform, TransformAnimationPlayable, TransformPlayableAsset, TransformTrack, VFXItem, ValueGetter, Vector2Curve, Vector2PropertyPlayableAsset, Vector2PropertyTrack, Vector4Curve, Vector4PropertyPlayableAsset, Vector4PropertyTrack, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, blend, buildLine, calculateTranslation, canvasPool, closePointEps, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, createCopyShader, createGLContext, createKeyFrameMeta, createShape, createValueGetter, curveEps, decimalEqual, 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, 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, isOpenHarmony, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, isWechatMiniApp, itemFrag, itemFrame_frag as 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, passRenderLevel, pluginLoaderMap, randomInRange, registerPlugin, removeItem, rotateVec2, screenMeshVert, serialize, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxItemCountByGPU, setUniformValue, sortByOrder, index$1 as spec, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecFill, vecMulCombine, version, vertexFormatType2GLType };
33212
33250
  //# sourceMappingURL=index.mjs.map