@galacean/effects-core 1.2.3 → 1.3.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.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: v1.2.3
6
+ * Version: v1.3.0-alpha.0
7
7
  */
8
8
 
9
9
  /******************************************************************************
@@ -682,7 +682,7 @@ function asserts(condition, msg) {
682
682
  * Name: @galacean/effects-specification
683
683
  * Description: Galacean Effects JSON Specification
684
684
  * Author: Ant Group CO., Ltd.
685
- * Version: v1.0.1
685
+ * Version: v1.1.0-alpha.0
686
686
  */
687
687
 
688
688
  /*********************************************/
@@ -1063,6 +1063,16 @@ var CompositionEndBehavior$1;
1063
1063
  CompositionEndBehavior[CompositionEndBehavior["pause_destroy"] = END_BEHAVIOR_PAUSE_AND_DESTROY$1] = "pause_destroy";
1064
1064
  })(CompositionEndBehavior$1 || (CompositionEndBehavior$1 = {}));
1065
1065
 
1066
+ /**
1067
+ * 动态换图类型
1068
+ * @since 1.3.0
1069
+ */
1070
+ var BackgroundType$1;
1071
+ (function (BackgroundType) {
1072
+ BackgroundType["video"] = "video";
1073
+ BackgroundType["image"] = "image";
1074
+ })(BackgroundType$1 || (BackgroundType$1 = {}));
1075
+
1066
1076
  /*********************************************/
1067
1077
  /* 基本数值属性参数 */
1068
1078
  /*********************************************/
@@ -1352,6 +1362,7 @@ var FontStyle$1;
1352
1362
 
1353
1363
  var index$1 = /*#__PURE__*/Object.freeze({
1354
1364
  __proto__: null,
1365
+ get BackgroundType () { return BackgroundType$1; },
1355
1366
  get BezierKeyframeType () { return BezierKeyframeType$1; },
1356
1367
  get BlendingMode () { return BlendingMode$1; },
1357
1368
  BloomFilterThresholdAvgColor: BloomFilterThresholdAvgColor,
@@ -10149,10 +10160,8 @@ function loadBlob(url) {
10149
10160
  /**
10150
10161
  * 异步加载一个视频文件
10151
10162
  * @param url - 视频文件的 URL 或 MediaProvider 对象
10152
- * @param options - 加载参数
10153
10163
  */
10154
- function loadVideo(url, options) {
10155
- if (options === void 0) { options = {}; }
10164
+ function loadVideo(url) {
10156
10165
  return __awaiter(this, void 0, void 0, function () {
10157
10166
  var video;
10158
10167
  return __generator(this, function (_a) {
@@ -10165,9 +10174,6 @@ function loadVideo(url, options) {
10165
10174
  }
10166
10175
  video.crossOrigin = 'anonymous';
10167
10176
  video.muted = true;
10168
- if (options.loop) {
10169
- video.addEventListener('ended', function () { return video.play(); });
10170
- }
10171
10177
  if (isAndroid()) {
10172
10178
  video.setAttribute('renderer', 'standard');
10173
10179
  }
@@ -19651,6 +19657,26 @@ function getBackgroundImage(template, variables) {
19651
19657
  }
19652
19658
  return templateBackground;
19653
19659
  }
19660
+ function loadMedia(url, loadFn) {
19661
+ return __awaiter(this, void 0, void 0, function () {
19662
+ return __generator(this, function (_a) {
19663
+ switch (_a.label) {
19664
+ case 0:
19665
+ if (!Array.isArray(url)) return [3 /*break*/, 5];
19666
+ _a.label = 1;
19667
+ case 1:
19668
+ _a.trys.push([1, 3, , 5]);
19669
+ return [4 /*yield*/, loadFn(url[0])];
19670
+ case 2: return [2 /*return*/, _a.sent()];
19671
+ case 3:
19672
+ _a.sent();
19673
+ return [4 /*yield*/, loadFn(url[1])];
19674
+ case 4: return [2 /*return*/, _a.sent()];
19675
+ case 5: return [2 /*return*/, loadFn(url)];
19676
+ }
19677
+ });
19678
+ });
19679
+ }
19654
19680
  function drawImageAndTemplate(viewer, image, template, variables, opt) {
19655
19681
  var _a;
19656
19682
  return __awaiter(this, void 0, void 0, function () {
@@ -21542,7 +21568,7 @@ var filters = {
21542
21568
  * Name: @galacean/effects-specification
21543
21569
  * Description: Galacean Effects JSON Specification
21544
21570
  * Author: Ant Group CO., Ltd.
21545
- * Version: v1.0.1
21571
+ * Version: v1.1.0-alpha.0
21546
21572
  */
21547
21573
 
21548
21574
  /*********************************************/
@@ -21921,6 +21947,16 @@ var CompositionEndBehavior;
21921
21947
  CompositionEndBehavior[CompositionEndBehavior["pause_destroy"] = END_BEHAVIOR_PAUSE_AND_DESTROY] = "pause_destroy";
21922
21948
  })(CompositionEndBehavior || (CompositionEndBehavior = {}));
21923
21949
 
21950
+ /**
21951
+ * 动态换图类型
21952
+ * @since 1.3.0
21953
+ */
21954
+ var BackgroundType;
21955
+ (function (BackgroundType) {
21956
+ BackgroundType["video"] = "video";
21957
+ BackgroundType["image"] = "image";
21958
+ })(BackgroundType || (BackgroundType = {}));
21959
+
21924
21960
  /*********************************************/
21925
21961
  /* 基本数值属性参数 */
21926
21962
  /*********************************************/
@@ -23005,11 +23041,9 @@ function getStandardImage(image, index, imageTags) {
23005
23041
  else if (image.url) {
23006
23042
  return {
23007
23043
  url: image.url,
23008
- type: image.type,
23009
23044
  webp: image.webp,
23010
23045
  renderLevel: renderLevel,
23011
23046
  oriY: oriY,
23012
- loop: image.loop,
23013
23047
  };
23014
23048
  }
23015
23049
  else if (image && image.sourceType) {
@@ -23761,79 +23795,61 @@ var AssetManager = /** @class */ (function () {
23761
23795
  _a = this.options, useCompressedTexture = _a.useCompressedTexture, variables = _a.variables;
23762
23796
  baseUrl = this.baseUrl;
23763
23797
  jobs = images.map(function (img, idx) { return __awaiter(_this, void 0, void 0, function () {
23764
- var png, webp, imageURL, webpURL, template, result, url_1, name_1, templateImage, loop, compressed, src, bufferURL, _a, url, image;
23765
- var _b, _c, _d;
23766
- return __generator(this, function (_e) {
23767
- switch (_e.label) {
23798
+ var png, webp, imageURL, webpURL, template, isTemplateV2, background, url_1, isVideo, loadFn, resultImage, resultImage, compressed, src, bufferURL, _a, url, image;
23799
+ return __generator(this, function (_b) {
23800
+ switch (_b.label) {
23768
23801
  case 0:
23769
- if (!usage[idx]) return [3 /*break*/, 19];
23802
+ if (!usage[idx]) {
23803
+ return [2 /*return*/, undefined];
23804
+ }
23770
23805
  png = img.url, webp = img.webp;
23771
23806
  imageURL = new URL(png, baseUrl).href;
23772
23807
  webpURL = webp && new URL(webp, baseUrl).href;
23773
- if (!('template' in img)) return [3 /*break*/, 16];
23808
+ if (!('template' in img)) return [3 /*break*/, 13];
23774
23809
  template = img.template;
23775
- result = void 0;
23776
- if (!('v' in template && template.v === 2 && template.background)) return [3 /*break*/, 9];
23810
+ isTemplateV2 = 'v' in template && template.v === 2 && template.background;
23811
+ background = isTemplateV2 ? template.background : undefined;
23812
+ if (!(isTemplateV2 && background)) return [3 /*break*/, 8];
23777
23813
  url_1 = getBackgroundImage(template, variables);
23778
- if (!(url_1 instanceof Array)) return [3 /*break*/, 6];
23779
- name_1 = template.background.name;
23780
- _e.label = 1;
23814
+ isVideo = background.type === BackgroundType$1.video;
23815
+ loadFn = background && isVideo ? loadVideo : loadImage;
23816
+ _b.label = 1;
23781
23817
  case 1:
23782
- _e.trys.push([1, 3, , 5]);
23783
- _b = {};
23784
- return [4 /*yield*/, loadImage(url_1[0])];
23818
+ _b.trys.push([1, 6, , 7]);
23819
+ return [4 /*yield*/, loadMedia(url_1, loadFn)];
23785
23820
  case 2:
23786
- result = (_b.image = _e.sent(),
23787
- _b.url = url_1[0],
23788
- _b);
23789
- return [3 /*break*/, 5];
23821
+ resultImage = _b.sent();
23822
+ if (!(resultImage instanceof HTMLVideoElement)) return [3 /*break*/, 3];
23823
+ return [2 /*return*/, resultImage];
23790
23824
  case 3:
23791
- _e.sent();
23792
- _c = {};
23793
- return [4 /*yield*/, loadImage(url_1[1])];
23794
- case 4:
23795
- result = (_c.image = _e.sent(),
23796
- _c.url = url_1[1],
23797
- _c);
23798
- return [3 /*break*/, 5];
23799
- case 5:
23800
- if (variables) {
23801
- variables[name_1] = result.url;
23825
+ // 如果是加载图片且是数组,设置变量,视频情况下不需要
23826
+ if (background && !Array.isArray(url_1) && variables) {
23827
+ variables[background.name] = url_1;
23802
23828
  }
23803
- return [3 /*break*/, 8];
23829
+ return [4 /*yield*/, combineImageTemplate(resultImage, template, variables, this.options, img.oriY === -1)];
23830
+ case 4: return [2 /*return*/, _b.sent()];
23831
+ case 5: return [3 /*break*/, 7];
23804
23832
  case 6:
23805
- if (!(typeof url_1 === 'string')) return [3 /*break*/, 8];
23806
- _d = {};
23807
- return [4 /*yield*/, loadImage(url_1)];
23808
- case 7:
23809
- result = (_d.image = _e.sent(),
23810
- _d.url = url_1,
23811
- _d);
23812
- _e.label = 8;
23813
- case 8: return [3 /*break*/, 11];
23814
- case 9: return [4 /*yield*/, loadWebPOptional(imageURL, webpURL)];
23815
- case 10:
23816
- // 测试场景:'年兽大爆炸——8个彩蛋t1'
23817
- result = _e.sent();
23818
- _e.label = 11;
23833
+ _b.sent();
23834
+ throw new Error("Failed to load. Check the template or if the URL is ".concat(isVideo ? 'video' : 'image', " type, URL: ").concat(url_1, "."));
23835
+ case 7: return [3 /*break*/, 12];
23836
+ case 8:
23837
+ _b.trys.push([8, 11, , 12]);
23838
+ return [4 /*yield*/, loadWebPOptional(imageURL, webpURL)];
23839
+ case 9:
23840
+ resultImage = _b.sent();
23841
+ return [4 /*yield*/, combineImageTemplate(resultImage.image, template, variables, this.options, img.oriY === -1)];
23842
+ case 10: return [2 /*return*/, _b.sent()];
23819
23843
  case 11:
23820
- templateImage = void 0;
23821
- _e.label = 12;
23822
- case 12:
23823
- _e.trys.push([12, 14, , 15]);
23824
- return [4 /*yield*/, combineImageTemplate(result.image, template, variables, this.options, img.oriY === -1)];
23844
+ _b.sent();
23845
+ throw new Error("Failed to load. Check the template, URL: ".concat(imageURL, "."));
23846
+ case 12: return [3 /*break*/, 14];
23825
23847
  case 13:
23826
- templateImage = _e.sent();
23827
- return [3 /*break*/, 15];
23828
- case 14:
23829
- _e.sent();
23830
- throw new Error("image template fail: ".concat(imageURL));
23831
- case 15: return [2 /*return*/, templateImage];
23832
- case 16:
23833
23848
  if ('type' in img && img.type === 'video') {
23834
- loop = img.loop;
23835
23849
  // 视频
23836
- return [2 /*return*/, loadVideo(img.url, { loop: loop })];
23850
+ // TODO: 2024.03.28 后面考虑下掉非推荐的视频元素使用方式
23851
+ console.warn('The video element is deprecated. Use template BackgroundType.video instead.');
23852
+ return [2 /*return*/, loadVideo(img.url)];
23837
23853
  }
23838
23854
  else if ('compressed' in img && useCompressedTexture && compressedTexture) {
23839
23855
  compressed = img.compressed;
@@ -23859,13 +23875,12 @@ var AssetManager = /** @class */ (function () {
23859
23875
  img instanceof Texture) {
23860
23876
  return [2 /*return*/, img];
23861
23877
  }
23862
- _e.label = 17;
23863
- case 17: return [4 /*yield*/, loadWebPOptional(imageURL, webpURL)];
23864
- case 18:
23865
- _a = _e.sent(), url = _a.url, image = _a.image;
23878
+ _b.label = 14;
23879
+ case 14: return [4 /*yield*/, loadWebPOptional(imageURL, webpURL)];
23880
+ case 15:
23881
+ _a = _b.sent(), url = _a.url, image = _a.image;
23866
23882
  this.assets[idx] = { url: url, type: TextureSourceType.image };
23867
23883
  return [2 /*return*/, image];
23868
- case 19: return [2 /*return*/, undefined];
23869
23884
  }
23870
23885
  });
23871
23886
  }); });
@@ -25403,5 +25418,5 @@ registerPlugin('filter', SpriteLoader, FilterSpriteVFXItem, true);
25403
25418
  registerPlugin('text', TextLoader, TextVFXItem, true);
25404
25419
  registerFilters(filters);
25405
25420
 
25406
- export { AbstractPlugin, AssetManager, BYTES_TYPE_MAP, BezierSegments, COMPRESSED_TEXTURE, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateItem, CalculateLoader, CalculateVFXItem, Camera, CameraController, CameraVFXItem, CameraVFXItemLoader, Composition, CompositionSourceManager, CurveValue, DEFAULT_FONTS, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, Engine, EventSystem, FILTER_NAME_NONE, FilterMode, FilterSpriteVFXItem, Float16ArrayWrapper, FrameBuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractBehavior$1 as InteractBehavior, InteractItem, InteractLoader, InteractMesh, InteractVFXItem, Item, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, Mesh, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleLoader, ParticleMesh, ParticleSystem, ParticleVFXItem, PassTextureCache, PathSegments, PluginSystem, QCanvasViewer, QText, QTextWrapMode, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderBuffer, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderer, 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, Shader, ShaderCompileResultStatus, ShaderType, SpriteItem, SpriteLoader, SpriteMesh, SpriteVFXItem, StaticValue, TEMPLATE_USE_OFFSCREEN_CANVAS, TextItem, TextLoader, TextMesh, TextVFXItem, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, Ticker, TimelineComponent, Transform, VFXItem, ValueGetter, addByOrder, addItem, addItemWithOrder, alphaFrameFrag, alphaMaskFrag, assertExist, asserts, blend, bloomMixVert, bloomThresholdVert, calculateTranslation, cameraMove_frag as cameraMoveFrag, cameraMoveVert, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, combineImageTemplate1, combineImageTemplate1Async, combineImageTemplate2, combineImageTemplate2Async, combineImageTemplateAsync, compatible_frag as compatibleFrag, compatible_vert as compatibleVert, convertAnchor, copyFrag, createCopyShader, createFilter, createFilterShaders, createGLContext, createKeyFrameMeta, createShaderWithMarcos, createShape, createVFXItem, createValueGetter, deepClone, defaultGlobalVolume, defaultPlugins, delayFrag, deserializeMipmapTexture, distortionFrag, distortionVert, earcut, enlargeBuffer, ensureVec3, filters, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateHalfFloatTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTemplateCanvasPool, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getParticleMeshShader, getPixelRatio, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAndroid, isArray, isFunction, isIOS, isObject, isScene, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isWebGL2, item_define as itemDefine, itemFrag, itemFrameFrag, itemVert, loadBinary, loadBlob, loadImage, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, maxSpriteTextureCount, modifyMaxKeyframeShader, nearestPowerOfTwo, noop, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap, particleVert, pluginLoaderMap, random, registerFilter, registerFilters, registerPlugin, removeItem, requestAsync, rotateVec2, screenMeshVert, 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 };
25421
+ export { AbstractPlugin, AssetManager, BYTES_TYPE_MAP, BezierSegments, COMPRESSED_TEXTURE, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateItem, CalculateLoader, CalculateVFXItem, Camera, CameraController, CameraVFXItem, CameraVFXItemLoader, Composition, CompositionSourceManager, CurveValue, DEFAULT_FONTS, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, Engine, EventSystem, FILTER_NAME_NONE, FilterMode, FilterSpriteVFXItem, Float16ArrayWrapper, FrameBuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractBehavior$1 as InteractBehavior, InteractItem, InteractLoader, InteractMesh, InteractVFXItem, Item, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, Mesh, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleLoader, ParticleMesh, ParticleSystem, ParticleVFXItem, PassTextureCache, PathSegments, PluginSystem, QCanvasViewer, QText, QTextWrapMode, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderBuffer, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderer, 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, Shader, ShaderCompileResultStatus, ShaderType, SpriteItem, SpriteLoader, SpriteMesh, SpriteVFXItem, StaticValue, TEMPLATE_USE_OFFSCREEN_CANVAS, TextItem, TextLoader, TextMesh, TextVFXItem, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, Ticker, TimelineComponent, Transform, VFXItem, ValueGetter, addByOrder, addItem, addItemWithOrder, alphaFrameFrag, alphaMaskFrag, assertExist, asserts, blend, bloomMixVert, bloomThresholdVert, calculateTranslation, cameraMove_frag as cameraMoveFrag, cameraMoveVert, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, combineImageTemplate1, combineImageTemplate1Async, combineImageTemplate2, combineImageTemplate2Async, combineImageTemplateAsync, compatible_frag as compatibleFrag, compatible_vert as compatibleVert, convertAnchor, copyFrag, createCopyShader, createFilter, createFilterShaders, createGLContext, createKeyFrameMeta, createShaderWithMarcos, createShape, createVFXItem, createValueGetter, deepClone, defaultGlobalVolume, defaultPlugins, delayFrag, deserializeMipmapTexture, distortionFrag, distortionVert, earcut, enlargeBuffer, ensureVec3, filters, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateHalfFloatTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTemplateCanvasPool, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getParticleMeshShader, getPixelRatio, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAndroid, isArray, isFunction, isIOS, isObject, isScene, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isWebGL2, item_define as itemDefine, itemFrag, itemFrameFrag, itemVert, loadBinary, loadBlob, loadImage, loadMedia, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, maxSpriteTextureCount, modifyMaxKeyframeShader, nearestPowerOfTwo, noop, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap, particleVert, pluginLoaderMap, random, registerFilter, registerFilters, registerPlugin, removeItem, requestAsync, rotateVec2, screenMeshVert, 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 };
25407
25422
  //# sourceMappingURL=index.mjs.map