@galacean/effects-core 2.1.2 → 2.1.3-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: v2.1.2
6
+ * Version: v2.1.3-alpha.0
7
7
  */
8
8
 
9
9
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
@@ -10139,7 +10139,7 @@ var itemFrameFrag = "#version 100\nprecision highp float;vec4 blendColor(vec4 co
10139
10139
 
10140
10140
  var integrate = "float calculateMovement(float t,vec2 p1,vec2 p2,vec2 p3,vec2 p4){float movement=0.0;float h=(t-p1.x)*0.05;for(int i=0;i<=20;i++){float t=float(i)*h;float nt=binarySearchT(t,p1.x,p2.x,p3.x,p4.x);float y=cubicBezier(nt,p1.y,p2.y,p3.y,p4.y);float weight=(i==0||i==20)? 1.0 :(mod(float(i),2.)!=0.)? 4.0 : 2.0;movement+=weight*y;}movement*=h/3.;return movement;}float integrateFromBezierCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i+=2){vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(i==0&&time<k0.x){return ret;}vec2 p1=vec2(k0.x,k0.y);vec2 p2=vec2(k0.z,k0.w);vec2 p3=vec2(k1.z,k1.w);vec2 p4=vec2(k1.x,k1.y);if(time>=k1.x){ret+=calculateMovement(k1.x,p1,p2,p3,p4);}if(time>=k0.x&&time<k1.x){return ret+calculateMovement(time,p1,p2,p3,p4);}}return ret;}float integrateByTimeLineSeg(float t,vec2 p0,vec2 p1){float t0=p0.x;float t1=p1.x;float y0=p0.y;float y1=p1.y;vec4 tSqr=vec4(t,t,t0,t0);tSqr=tSqr*tSqr;vec4 a=vec4(2.*t,3.,-t0,3.)*tSqr;float t1y0=t1*y0;vec4 b=vec4(y0-y1,t0*y1-t1y0,2.*y0+y1,t1y0);float r=dot(a,b);return r/(t0-t1)*0.16666667;}float integrateLineSeg(float time,vec2 p0,vec2 p1){float h=time-p0.x;float y0=p0.y;return(y0+y0+(p1.y-y0)*h/(p1.x-p0.x))*h/2.;}float integrateFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateLineSeg(time,k0,k1);}ret+=integrateLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateLineSeg(time,k1,k2);}ret+=integrateLineSeg(k2.x,k1,k2);}return ret;}float integrateByTimeFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateByTimeLineSeg(time,k0,k1);}ret+=integrateByTimeLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateByTimeLineSeg(time,k1,k2);}ret+=integrateByTimeLineSeg(k2.x,k1,k2);}return ret;}float getIntegrateFromTime0(float t1,vec4 value){float type=value.x;if(type==0.){return value.y*t1;}if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateLineSeg(t1,p0,p1);}if(type==3.){return integrateFromLineSeg(t1,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*t1;}if(type==5.){return integrateFromBezierCurveFrames(t1,value.z,value.w);}return 0.;}float getIntegrateByTimeFromTime(float t0,float t1,vec4 value){float type=value.x;if(type==0.){return value.y*(t1*t1-t0*t0)/2.;}else if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateByTimeLineSeg(t1,p0,p1)-integrateByTimeLineSeg(t0,p0,p1);}if(type==3.){return integrateByTimeFromLineSeg(t1,value.y,value.z)-integrateByTimeFromLineSeg(t0,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*(t1*t1-t0*t0)/2.;}if(type==5.){return integrateFromBezierCurveFrames(t1,value.z,value.w)-integrateFromBezierCurveFrames(t0,value.z,value.w);}return 0.;}";
10141
10141
 
10142
- var itemVert = "precision highp float;attribute vec2 atlasOffset;attribute vec3 aPos;varying vec2 vTexCoord;varying vec3 vParams;varying vec4 vColor;uniform vec2 _Size;uniform vec4 _Color;uniform vec4 _TexParams;uniform vec4 _TexOffset;uniform mat4 effects_MatrixVP;uniform mat4 effects_MatrixInvV;uniform mat4 effects_ObjectToWorld;\n#ifdef ENV_EDITOR\nuniform vec4 uEditorTransform;\n#endif\nvoid main(){vec4 texParams=_TexParams;vTexCoord=vec2(atlasOffset.xy*_TexOffset.zw+_TexOffset.xy);vColor=_Color;vParams=vec3(0.0,texParams.y,texParams.x);vec4 pos=vec4(aPos.xy*_Size,aPos.z,1.0);gl_Position=effects_MatrixVP*effects_ObjectToWorld*pos;\n#ifdef ENV_EDITOR\ngl_Position=vec4(gl_Position.xy*uEditorTransform.xy+uEditorTransform.zw*gl_Position.w,gl_Position.zw);\n#endif\n}";
10142
+ var itemVert = "precision highp float;attribute vec2 atlasOffset;attribute vec3 aPos;varying vec2 vTexCoord;varying vec3 vParams;varying vec4 vColor;uniform vec2 _Size;uniform vec3 _Scale;uniform vec4 _Color;uniform vec4 _TexParams;uniform vec4 _TexOffset;uniform mat4 effects_MatrixVP;uniform mat4 effects_ObjectToWorld;uniform mat4 effects_MatrixV;\n#ifdef ENV_EDITOR\nuniform vec4 uEditorTransform;\n#endif\nvoid main(){vec4 texParams=_TexParams;vTexCoord=vec2(atlasOffset.xy*_TexOffset.zw+_TexOffset.xy);vColor=_Color;vParams=vec3(0.0,texParams.y,texParams.x);if(texParams.z==1.0){vec4 pos=vec4(aPos.xy*_Size,aPos.z,1.0);gl_Position=effects_MatrixVP*effects_ObjectToWorld*pos;}else{mat4 view=effects_MatrixV;vec3 camRight=vec3(view[0][0],view[1][0],view[2][0]);vec3 camUp=vec3(view[0][1],view[1][1],view[2][1]);vec3 worldPosition=vec3(effects_ObjectToWorld*vec4(0.0,0.0,0.0,1.0));vec3 vertexPosition=worldPosition+camRight*aPos.x*_Size.x*_Scale.x+camUp*aPos.y*_Size.y*_Scale.y;gl_Position=effects_MatrixVP*vec4(vertexPosition,1.0);}\n#ifdef ENV_EDITOR\ngl_Position=vec4(gl_Position.xy*uEditorTransform.xy+uEditorTransform.zw*gl_Position.w,gl_Position.zw);\n#endif\n}";
10143
10143
 
10144
10144
  var itemFrag = "precision highp float;varying vec4 vColor;varying vec2 vTexCoord;varying vec3 vParams;uniform sampler2D _MainTex;vec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;float alpha=ret.a;if(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}void main(){vec4 color=vec4(0.);vec4 texColor=texture2D(_MainTex,vTexCoord.xy);color=blendColor(texColor,vColor,floor(0.5+vParams.y));if(vParams.z==0.&&color.a<0.04){discard;}color.a=clamp(color.a,0.0,1.0);gl_FragColor=color;}";
10145
10145
 
@@ -13214,7 +13214,7 @@ var ColorCurve = /*#__PURE__*/ function(ValueGetter) {
13214
13214
  }
13215
13215
  };
13216
13216
  _this.renderer = {
13217
- renderMode: RenderMode.BILLBOARD,
13217
+ renderMode: RenderMode.MESH,
13218
13218
  blending: BlendingMode.ALPHA,
13219
13219
  texture: _this.engine.emptyTexture,
13220
13220
  occlusion: false,
@@ -13288,6 +13288,9 @@ var ColorCurve = /*#__PURE__*/ function(ValueGetter) {
13288
13288
  renderer.setGlobalMatrix("effects_ObjectToWorld", this.transform.getWorldMatrix());
13289
13289
  }
13290
13290
  this.material.setVector2("_Size", this.transform.size);
13291
+ if (this.renderer.renderMode === RenderMode.BILLBOARD || this.renderer.renderMode === RenderMode.VERTICAL_BILLBOARD || this.renderer.renderMode === RenderMode.HORIZONTAL_BILLBOARD) {
13292
+ this.material.setVector3("_Scale", this.transform.scale);
13293
+ }
13291
13294
  renderer.drawGeometry(geo, material);
13292
13295
  };
13293
13296
  _proto.onStart = function onStart() {
@@ -18804,7 +18807,7 @@ var SpriteComponent = /*#__PURE__*/ function(BaseRenderComponent) {
18804
18807
  this.interaction = interaction;
18805
18808
  var _renderer_renderMode, _renderer_blending, _renderer_texture, _renderer_side, _renderer_mask, _renderer_maskMode;
18806
18809
  this.renderer = {
18807
- renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.BILLBOARD,
18810
+ renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.MESH,
18808
18811
  blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode.ALPHA,
18809
18812
  texture: (_renderer_texture = renderer.texture) != null ? _renderer_texture : this.engine.emptyTexture,
18810
18813
  occlusion: !!renderer.occlusion,
@@ -23898,6 +23901,9 @@ var SerializationHelper = /*#__PURE__*/ function() {
23898
23901
  _proto.onUpdate = function onUpdate(dt) {
23899
23902
  var time = this.time;
23900
23903
  this.timelinePlayable.setTime(time);
23904
+ // The properties of the object may change dynamically,
23905
+ // so reset the track binding to avoid invalidation of the previously obtained binding object.
23906
+ this.resolveBindings();
23901
23907
  this.graph.evaluate(dt);
23902
23908
  };
23903
23909
  _proto.createContent = function createContent() {
@@ -24539,8 +24545,6 @@ var TimelinePlayable = /*#__PURE__*/ function(Playable) {
24539
24545
  };
24540
24546
  _proto.evaluate = function evaluate() {
24541
24547
  var time = this.getTime();
24542
- // update all tracks binding
24543
- this.updateTrackAnimatedObject(this.masterTrackInstances);
24544
24548
  // TODO search active clips
24545
24549
  for(var _iterator = _create_for_of_iterator_helper_loose(this.clips), _step; !(_step = _iterator()).done;){
24546
24550
  var clip = _step.value;
@@ -24578,17 +24582,6 @@ var TimelinePlayable = /*#__PURE__*/ function(Playable) {
24578
24582
  }
24579
24583
  }
24580
24584
  };
24581
- _proto.updateTrackAnimatedObject = function updateTrackAnimatedObject(trackInstances) {
24582
- for(var _iterator = _create_for_of_iterator_helper_loose(trackInstances), _step; !(_step = _iterator()).done;){
24583
- var trackInstance = _step.value;
24584
- var trackAsset = trackInstance.trackAsset;
24585
- // update track binding use custom method
24586
- trackAsset.updateAnimatedObject();
24587
- trackInstance.output.setUserData(trackAsset.boundObject);
24588
- // update children tracks
24589
- this.updateTrackAnimatedObject(trackInstance.children);
24590
- }
24591
- };
24592
24585
  return TimelinePlayable;
24593
24586
  }(Playable);
24594
24587
  var TrackSortWrapper = function TrackSortWrapper(track, originalIndex) {
@@ -24904,7 +24897,7 @@ var TextComponent = /*#__PURE__*/ function(BaseRenderComponent) {
24904
24897
  this.interaction = interaction;
24905
24898
  var _renderer_renderMode, _renderer_blending, _renderer_texture, _renderer_side, _renderer_mask, _renderer_maskMode;
24906
24899
  this.renderer = {
24907
- renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.BILLBOARD,
24900
+ renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.MESH,
24908
24901
  blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode.ALPHA,
24909
24902
  texture: (_renderer_texture = renderer.texture) != null ? _renderer_texture : this.engine.emptyTexture,
24910
24903
  occlusion: !!renderer.occlusion,
@@ -27672,7 +27665,7 @@ var seed = 1;
27672
27665
  _this_options = _this.options, useCompressedTexture = _this_options.useCompressedTexture, variables = _this_options.variables;
27673
27666
  baseUrl = _this.baseUrl;
27674
27667
  jobs = images.map(/*#__PURE__*/ _async_to_generator(function(img, idx) {
27675
- var png, webp, avif, imageURL, webpURL, avifURL, template, background, url, isVideo, loadFn, resultImage, e, compressed, src, bufferURL, _ref, url1, image, _tmp;
27668
+ var png, webp, avif, imageURL, webpURL, avifURL, id, template, background, url, isVideo, loadFn, resultImage, e, compressed, src, bufferURL, _ref, url1, image, _tmp;
27676
27669
  return __generator(this, function(_state) {
27677
27670
  switch(_state.label){
27678
27671
  case 0:
@@ -27683,6 +27676,7 @@ var seed = 1;
27683
27676
  webpURL = webp && new URL(webp, baseUrl).href;
27684
27677
  // eslint-disable-next-line compat/compat
27685
27678
  avifURL = avif && new URL(avif, baseUrl).href;
27679
+ id = img.id;
27686
27680
  if (!("template" in img)) return [
27687
27681
  3,
27688
27682
  8
@@ -27717,7 +27711,7 @@ var seed = 1;
27717
27711
  3,
27718
27712
  3
27719
27713
  ];
27720
- _this.sourceFrom[idx] = {
27714
+ _this.sourceFrom[id] = {
27721
27715
  url: resultImage.src,
27722
27716
  type: TextureSourceType.video
27723
27717
  };
@@ -27730,7 +27724,7 @@ var seed = 1;
27730
27724
  if (background && Array.isArray(url) && variables) {
27731
27725
  variables[background.name] = resultImage.src;
27732
27726
  }
27733
- _this.sourceFrom[idx] = {
27727
+ _this.sourceFrom[id] = {
27734
27728
  url: resultImage.src,
27735
27729
  type: TextureSourceType.image
27736
27730
  };
@@ -27767,7 +27761,7 @@ var seed = 1;
27767
27761
  }
27768
27762
  if (src) {
27769
27763
  bufferURL = new URL(src, baseUrl).href;
27770
- _this.sourceFrom[idx] = {
27764
+ _this.sourceFrom[id] = {
27771
27765
  url: bufferURL,
27772
27766
  type: TextureSourceType.compressed
27773
27767
  };
@@ -27808,7 +27802,7 @@ var seed = 1;
27808
27802
  _state.label = 13;
27809
27803
  case 13:
27810
27804
  _ref = _tmp, url1 = _ref.url, image = _ref.image;
27811
- _this.sourceFrom[idx] = {
27805
+ _this.sourceFrom[id] = {
27812
27806
  url: url1,
27813
27807
  type: TextureSourceType.image
27814
27808
  };
@@ -27900,7 +27894,7 @@ var seed = 1;
27900
27894
  };
27901
27895
  });
27902
27896
  jobs = textures.map(/*#__PURE__*/ _async_to_generator(function(textureOptions, idx) {
27903
- var e, source, id, image, texture;
27897
+ var e, source, id, image, imageId, texture;
27904
27898
  return __generator(this, function(_state) {
27905
27899
  switch(_state.label){
27906
27900
  case 0:
@@ -27936,11 +27930,13 @@ var seed = 1;
27936
27930
  throw new Error("Load texture " + idx + " fails, error message: " + e + ".");
27937
27931
  case 4:
27938
27932
  source = textureOptions.source, id = textureOptions.id;
27933
+ imageId = "";
27939
27934
  if (!isObject(source)) return [
27940
27935
  3,
27941
27936
  5
27942
27937
  ];
27943
27938
  image = _this.assets[source.id];
27939
+ imageId = source.id;
27944
27940
  return [
27945
27941
  3,
27946
27942
  7
@@ -27959,7 +27955,7 @@ var seed = 1;
27959
27955
  _state.label = 7;
27960
27956
  case 7:
27961
27957
  if (image) {
27962
- texture = createTextureOptionsBySource(image, _this.sourceFrom[idx], id);
27958
+ texture = createTextureOptionsBySource(image, _this.sourceFrom[imageId], id);
27963
27959
  return [
27964
27960
  2,
27965
27961
  texture.sourceType === TextureSourceType.compressed ? texture : _extends({}, texture, textureOptions)
@@ -31374,7 +31370,7 @@ registerPlugin("sprite", SpriteLoader, VFXItem, true);
31374
31370
  registerPlugin("particle", ParticleLoader, VFXItem, true);
31375
31371
  registerPlugin("cal", CalculateLoader, VFXItem, true);
31376
31372
  registerPlugin("interact", InteractLoader, VFXItem, true);
31377
- var version = "2.1.2";
31373
+ var version = "2.1.3-alpha.0";
31378
31374
  logger.info("Core version: " + version + ".");
31379
31375
 
31380
31376
  export { AbstractPlugin, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AnimationClip, AnimationClipPlayable, Asset, AssetLoader, AssetManager, BYTES_TYPE_MAP, BaseRenderComponent, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, COMPRESSED_TEXTURE, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, ColorCurve, ColorPropertyPlayableAsset, ColorPropertyTrack, Component, Composition, CompositionComponent, CompositionSourceManager, 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, Engine, EventEmitter, EventSystem, Fake3DAnimationMode, Fake3DComponent, FilterMode, Float16ArrayWrapper, FloatPropertyPlayableAsset, FloatPropertyTrack, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, Item, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, MaterialTrack, Mesh, MeshCollider, ObjectBindingTrack, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleBehaviourPlayableAsset, ParticleLoader, ParticleMesh, ParticleSystem, ParticleSystemRenderer, PassTextureCache, PathSegments, PluginSystem, 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, 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, Vector4Curve, Vector4PropertyPlayableAsset, Vector4PropertyTrack, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, blend, calculateTranslation, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, createCopyShader, createGLContext, createKeyFrameMeta, createShape, createValueGetter, 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, 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, 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, passRenderLevel, 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 };