@galacean/effects-core 2.7.4 → 2.7.5

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.7.4
6
+ * Version: v2.7.5
7
7
  */
8
8
 
9
9
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
@@ -20315,7 +20315,9 @@ function calculateDirection(prePoint, point, nextPoint) {
20315
20315
  if (this.time >= 0 && this.time < particleSystem.item.duration && particleSystem.isEnded()) {
20316
20316
  particleSystem.reset();
20317
20317
  }
20318
- particleSystem.simulate(this.time - particleSystem.time);
20318
+ // TODO: There is one less conversion from second to millisecond here,
20319
+ // which is retained for frame test.
20320
+ particleSystem.update(this.time - particleSystem.time);
20319
20321
  }
20320
20322
  this.lastTime = this.time;
20321
20323
  };
@@ -21767,133 +21769,126 @@ var ParticleSystem = /*#__PURE__*/ function(Component) {
21767
21769
  this.initEmitterTransform();
21768
21770
  };
21769
21771
  _proto.onUpdate = function onUpdate(dt) {
21770
- if (!this.frozen) {
21771
- this.update(dt);
21772
- }
21773
- };
21774
- _proto.simulate = function simulate(time) {
21775
- this.update(time * 1000);
21776
- this.frozen = true;
21772
+ this.update(dt);
21777
21773
  };
21778
21774
  _proto.update = function update(delta) {
21779
21775
  var _this = this;
21780
- if (!this.started) {
21781
- return;
21782
- }
21783
- var now = this.time + delta / 1000;
21784
- var options = this.options;
21785
- var loopStartTime = this.loopStartTime;
21786
- var emission = this.emission;
21787
- this.time = now;
21788
- this.upDirectionWorld = null;
21789
- this.renderer.updateTime(now, delta);
21790
- var link = this.particleLink;
21791
- var emitterLifetime = (now - loopStartTime) / this.item.duration;
21792
- var timePassed = this.timePassed;
21793
- var trailUpdated = false;
21794
- var updateTrail = function() {
21795
- if (_this.trails && !trailUpdated) {
21796
- trailUpdated = true;
21797
- link.forEach(function(param) {
21798
- var time = param[0], pointIndex = param[1], delay = param[2], point = param[3];
21799
- if (time < timePassed) {
21800
- _this.clearPointTrail(pointIndex);
21801
- } else if (timePassed > delay) {
21802
- _this.updatePointTrail(pointIndex, emitterLifetime, point, delay);
21803
- }
21804
- });
21805
- }
21806
- };
21807
- if (!this.ended) {
21808
- var duration = this.item.duration;
21809
- var lifetime = this.lifetime;
21810
- if (timePassed < duration) {
21811
- var interval = 1 / emission.rateOverTime.getValue(lifetime);
21812
- var pointCount = Math.floor((timePassed - this.lastEmitTime) / interval);
21813
- var maxEmissionCount = pointCount;
21814
- var timeDelta = interval / pointCount;
21815
- var meshTime = now;
21816
- var maxCount = options.maxCount;
21817
- this.updateEmitterTransform(timePassed);
21818
- var shouldSkipGenerate = function() {
21819
- var first = link.first;
21820
- return _this.emissionStopped || link.length === maxCount && first && first.content[0] - loopStartTime > timePassed;
21821
- };
21822
- for(var i = 0; i < maxEmissionCount && i < maxCount; i++){
21823
- if (shouldSkipGenerate()) {
21824
- break;
21825
- }
21826
- var p = this.createPoint(lifetime);
21827
- p.delay += meshTime + i * timeDelta;
21828
- this.addParticle(p, maxCount);
21829
- this.lastEmitTime = timePassed;
21776
+ if (this.started && !this.frozen) {
21777
+ var now = this.time + delta / 1000;
21778
+ var options = this.options;
21779
+ var loopStartTime = this.loopStartTime;
21780
+ var emission = this.emission;
21781
+ this.time = now;
21782
+ this.upDirectionWorld = null;
21783
+ this.renderer.updateTime(now, delta);
21784
+ var link = this.particleLink;
21785
+ var emitterLifetime = (now - loopStartTime) / this.item.duration;
21786
+ var timePassed = this.timePassed;
21787
+ var trailUpdated = false;
21788
+ var updateTrail = function() {
21789
+ if (_this.trails && !trailUpdated) {
21790
+ trailUpdated = true;
21791
+ link.forEach(function(param) {
21792
+ var time = param[0], pointIndex = param[1], delay = param[2], point = param[3];
21793
+ if (time < timePassed) {
21794
+ _this.clearPointTrail(pointIndex);
21795
+ } else if (timePassed > delay) {
21796
+ _this.updatePointTrail(pointIndex, emitterLifetime, point, delay);
21797
+ }
21798
+ });
21830
21799
  }
21831
- var bursts = emission.bursts;
21832
- for(var j = (bursts == null ? void 0 : bursts.length) - 1, cursor = 0; j >= 0 && cursor < maxCount; j--){
21833
- if (shouldSkipGenerate()) {
21834
- break;
21800
+ };
21801
+ if (!this.ended) {
21802
+ var duration = this.item.duration;
21803
+ var lifetime = this.lifetime;
21804
+ if (timePassed < duration) {
21805
+ var interval = 1 / emission.rateOverTime.getValue(lifetime);
21806
+ var pointCount = Math.floor((timePassed - this.lastEmitTime) / interval);
21807
+ var maxEmissionCount = pointCount;
21808
+ var timeDelta = interval / pointCount;
21809
+ var meshTime = now;
21810
+ var maxCount = options.maxCount;
21811
+ this.updateEmitterTransform(timePassed);
21812
+ var shouldSkipGenerate = function() {
21813
+ var first = link.first;
21814
+ return _this.emissionStopped || link.length === maxCount && first && first.content[0] - loopStartTime > timePassed;
21815
+ };
21816
+ for(var i = 0; i < maxEmissionCount && i < maxCount; i++){
21817
+ if (shouldSkipGenerate()) {
21818
+ break;
21819
+ }
21820
+ var p = this.createPoint(lifetime);
21821
+ p.delay += meshTime + i * timeDelta;
21822
+ this.addParticle(p, maxCount);
21823
+ this.lastEmitTime = timePassed;
21835
21824
  }
21836
- var burst = bursts[j];
21837
- var opts = !burst.disabled && burst.getGeneratorOptions(timePassed, lifetime);
21838
- if (opts) {
21839
- var originVec = [
21840
- 0,
21841
- 0,
21842
- 0
21843
- ];
21844
- var offsets = emission.burstOffsets[j];
21845
- var burstOffset = offsets && offsets[opts.cycleIndex] || originVec;
21846
- if (burst.once) {
21847
- this.removeBurst(j);
21825
+ var bursts = emission.bursts;
21826
+ for(var j = (bursts == null ? void 0 : bursts.length) - 1, cursor = 0; j >= 0 && cursor < maxCount; j--){
21827
+ if (shouldSkipGenerate()) {
21828
+ break;
21848
21829
  }
21849
- for(var i1 = 0; i1 < opts.count && cursor < maxCount; i1++){
21850
- var _p_transform;
21851
- if (shouldSkipGenerate()) {
21852
- break;
21830
+ var burst = bursts[j];
21831
+ var opts = !burst.disabled && burst.getGeneratorOptions(timePassed, lifetime);
21832
+ if (opts) {
21833
+ var originVec = [
21834
+ 0,
21835
+ 0,
21836
+ 0
21837
+ ];
21838
+ var offsets = emission.burstOffsets[j];
21839
+ var burstOffset = offsets && offsets[opts.cycleIndex] || originVec;
21840
+ if (burst.once) {
21841
+ this.removeBurst(j);
21842
+ }
21843
+ for(var i1 = 0; i1 < opts.count && cursor < maxCount; i1++){
21844
+ var _p_transform;
21845
+ if (shouldSkipGenerate()) {
21846
+ break;
21847
+ }
21848
+ var p1 = this.initPoint(this.shape.generate({
21849
+ total: opts.total,
21850
+ index: opts.index,
21851
+ burstIndex: i1,
21852
+ burstCount: opts.count
21853
+ }));
21854
+ p1.delay += meshTime;
21855
+ cursor++;
21856
+ (_p_transform = p1.transform).translate.apply(_p_transform, [].concat(burstOffset));
21857
+ this.addParticle(p1, maxCount);
21853
21858
  }
21854
- var p1 = this.initPoint(this.shape.generate({
21855
- total: opts.total,
21856
- index: opts.index,
21857
- burstIndex: i1,
21858
- burstCount: opts.count
21859
- }));
21860
- p1.delay += meshTime;
21861
- cursor++;
21862
- (_p_transform = p1.transform).translate.apply(_p_transform, [].concat(burstOffset));
21863
- this.addParticle(p1, maxCount);
21864
21859
  }
21865
21860
  }
21861
+ } else if (this.item.endBehavior === EndBehavior.restart) {
21862
+ updateTrail();
21863
+ this.loopStartTime = now - duration;
21864
+ this.lastEmitTime -= duration;
21865
+ this.time -= duration;
21866
+ emission.bursts.forEach(function(b) {
21867
+ return b.reset();
21868
+ });
21869
+ this.particleLink.forEach(function(content) {
21870
+ content[0] -= duration;
21871
+ content[2] -= duration;
21872
+ content[3].delay -= duration;
21873
+ });
21874
+ this.renderer.minusTimeForLoop(duration);
21875
+ } else {
21876
+ this.ended = true;
21877
+ var endBehavior = this.item.endBehavior;
21878
+ if (endBehavior === EndBehavior.freeze) {
21879
+ this.frozen = true;
21880
+ }
21866
21881
  }
21867
- } else if (this.item.endBehavior === EndBehavior.restart) {
21868
- updateTrail();
21869
- this.loopStartTime = now - duration;
21870
- this.lastEmitTime -= duration;
21871
- this.time -= duration;
21872
- emission.bursts.forEach(function(b) {
21873
- return b.reset();
21874
- });
21875
- this.particleLink.forEach(function(content) {
21876
- content[0] -= duration;
21877
- content[2] -= duration;
21878
- content[3].delay -= duration;
21879
- });
21880
- this.renderer.minusTimeForLoop(duration);
21881
- } else {
21882
- this.ended = true;
21883
- var endBehavior = this.item.endBehavior;
21884
- if (endBehavior === EndBehavior.freeze) {
21885
- this.frozen = true;
21886
- }
21887
- }
21888
- } else if (this.item.endBehavior !== EndBehavior.restart) {
21889
- if (EndBehavior.destroy === this.item.endBehavior) {
21890
- var node = link.last;
21891
- if (node && node.content[0] < this.time) {
21892
- this.destroyed = true;
21882
+ } else if (this.item.endBehavior !== EndBehavior.restart) {
21883
+ if (EndBehavior.destroy === this.item.endBehavior) {
21884
+ var node = link.last;
21885
+ if (node && node.content[0] < this.time) {
21886
+ this.destroyed = true;
21887
+ }
21893
21888
  }
21894
21889
  }
21890
+ updateTrail();
21895
21891
  }
21896
- updateTrail();
21897
21892
  };
21898
21893
  _proto.drawStencilMask = function drawStencilMask(renderer) {
21899
21894
  if (!this.isActiveAndEnabled) {
@@ -31616,7 +31611,7 @@ function getStandardSpriteContent(sprite, transform) {
31616
31611
  return ret;
31617
31612
  }
31618
31613
 
31619
- var version$1 = "2.7.4";
31614
+ var version$1 = "2.7.5";
31620
31615
  var v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
31621
31616
  var standardVersion = /^(\d+)\.(\d+)$/;
31622
31617
  var reverseParticle = false;
@@ -34892,7 +34887,7 @@ registerPlugin("sprite", SpriteLoader, VFXItem);
34892
34887
  registerPlugin("particle", ParticleLoader, VFXItem);
34893
34888
  registerPlugin("cal", CalculateLoader, VFXItem);
34894
34889
  registerPlugin("interact", InteractLoader, VFXItem);
34895
- var version = "2.7.4";
34890
+ var version = "2.7.5";
34896
34891
  logger.info("Core version: " + version + ".");
34897
34892
 
34898
34893
  export { AbstractPlugin, ActivationMixerPlayable, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AndNode, AndNodeData, Animatable, AnimationClip, AnimationClipNode, AnimationClipNodeData, AnimationGraphAsset, Animator, ApplyAdditiveNode, ApplyAdditiveNodeData, Asset, AssetLoader, AssetManager, AssetService, BYTES_TYPE_MAP, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, BlendNode, BlendNodeData, BoolValueNode, COMPRESSED_TEXTURE, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, ColorCurve, ColorPlayable, ColorPropertyMixerPlayable, ColorPropertyPlayableAsset, ColorPropertyTrack, Component, ComponentTimePlayable, ComponentTimePlayableAsset, ComponentTimeTrack, Composition, CompositionComponent, ConstBoolNode, ConstBoolNodeData, ConstFloatNode, ConstFloatNodeData, ControlParameterBoolNode, ControlParameterBoolNodeData, ControlParameterFloatNode, ControlParameterFloatNodeData, ControlParameterTriggerNode, ControlParameterTriggerNodeData, 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, EffectComponentTimeTrack, EffectsObject, EffectsPackage, Ellipse, Engine, EqualNodeData, EventEmitter, EventSystem, Fake3DAnimationMode, Fake3DComponent, FilterMode, Float16ArrayWrapper, FloatComparisonNode, FloatComparisonNodeData, FloatPropertyMixerPlayable, FloatPropertyPlayableAsset, FloatPropertyTrack, FloatValueNode, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, GraphInstance, GraphNode, GraphNodeData, GraphicsPath, GreaterNodeData, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, InvalidIndex, Item, KTXTexture, LayerBlendNode, LayerBlendNodeData, LessNodeData, LineSegments, LinearValue, MaskMode, MaskProcessor, MaskableGraphic, Material, MaterialDataBlock, MaterialRenderType, MaterialTrack, Mesh, MeshCollider, NodeTransform, NotNode, NotNodeData, ObjectBindingTrack, OrNode, OrNodeData, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleBehaviourPlayableAsset, ParticleLoader, ParticleMesh, ParticleMixerPlayable, ParticleSystem, ParticleSystemRenderer, ParticleTrack, PassTextureCache, PathSegments, PlayState, Playable, PlayableAsset, PlayableOutput, PluginSystem, PolyStar, Polygon, Pose, PoseNode, PostProcessVolume, PropertyClipPlayable, 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, SourceType, SpriteColorMixerPlayable, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteComponentTimeTrack, SpriteLoader, StarType, StateMachineNode, StateMachineNodeData, StateNode, StateNodeData, StaticValue, SubCompositionClipPlayable, SubCompositionMixerPlayable, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TangentMode, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TexturePaintScaleMode, TextureSourceType, TextureStoreAction, Ticker, TimelineAsset, TimelineClip, TimelineInstance, TrackAsset, TrackMixerPlayable, TrackType, Transform, TransformMixerPlayable, TransformPlayable, TransformPlayableAsset, TransformTrack, TransitionNode, TransitionNodeData, TransitionState, VFXItem, ValueGetter, ValueNode, Vector2Curve, Vector2PropertyMixerPlayable, Vector2PropertyPlayableAsset, Vector2PropertyTrack, Vector3Curve, Vector3PropertyMixerPlayable, Vector3PropertyTrack, Vector3ropertyPlayableAsset, Vector4Curve, Vector4PropertyMixerPlayable, Vector4PropertyPlayableAsset, Vector4PropertyTrack, WeightedMode, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, buildLine, calculateTranslation, canUseBOM, 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, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateGUID, generateHalfFloatTexture, generateTransparentTexture, generateWhiteTexture, getBackgroundImage, getClass, getColorFromGradientStops, getConfig, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getKTXTextureOptions, getKeyFrameMetaByRawValue, getMergedStore, getNodeDataClass, 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, isPlainObject, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, isWechatMiniApp, itemFrag, itemVert, loadAVIFOptional, loadBinary, loadBlob, loadImage, loadMedia, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, modifyMaxKeyframeShader, nearestPowerOfTwo, nodeDataClass, noop, normalizeColor, numberToFix, oldBezierKeyFramesToNew, 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, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecFill, vecMulCombine, version, vertexFormatType2GLType };