@galacean/effects-core 2.8.8 → 2.8.9

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.8.8
6
+ * Version: v2.8.9
7
7
  */
8
8
 
9
9
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
@@ -17841,14 +17841,14 @@ var CompositionComponent = /*#__PURE__*/ function(Component) {
17841
17841
  }
17842
17842
  }
17843
17843
  }
17844
- if (VFXItem.isComposition(hitTestItem)) {
17845
- if (hitTestItem.getComponent(CompositionComponent).hitTest(ray, x, y, regions, force, options)) {
17846
- hitTestSuccess = true;
17847
- }
17848
- } else {
17849
- if (_this.hitTestRecursive(hitTestItem, ray, x, y, regions, force, options)) {
17850
- hitTestSuccess = true;
17851
- }
17844
+ }
17845
+ if (VFXItem.isComposition(hitTestItem)) {
17846
+ if (hitTestItem.getComponent(CompositionComponent).hitTest(ray, x, y, regions, force, options)) {
17847
+ hitTestSuccess = true;
17848
+ }
17849
+ } else {
17850
+ if (_this.hitTestRecursive(hitTestItem, ray, x, y, regions, force, options)) {
17851
+ hitTestSuccess = true;
17852
17852
  }
17853
17853
  }
17854
17854
  };
@@ -29375,12 +29375,6 @@ var TextComponent = /*#__PURE__*/ function(MaskableGraphic) {
29375
29375
  } else {
29376
29376
  context.font = style.fontDesc;
29377
29377
  }
29378
- if (style.hasShadow) {
29379
- _this.setupShadow();
29380
- }
29381
- if (style.isOutlined) {
29382
- _this.setupOutline();
29383
- }
29384
29378
  // textColor 统一是 0-1,写入 canvas 时乘 255
29385
29379
  var _style_textColor = style.textColor, r = _style_textColor[0], g = _style_textColor[1], b = _style_textColor[2], a = _style_textColor[3];
29386
29380
  context.fillStyle = "rgba(" + r * 255 + ", " + g * 255 + ", " + b * 255 + ", " + a + ")";
@@ -29421,8 +29415,13 @@ var TextComponent = /*#__PURE__*/ function(MaskableGraphic) {
29421
29415
  chars: charsArray,
29422
29416
  charOffsetX: charOffsetX
29423
29417
  });
29424
- // 先描边
29425
- if (style.isOutlined && style.outlineWidth > 0) {
29418
+ var hasOutline = style.isOutlined && style.outlineWidth > 0;
29419
+ if (hasOutline) {
29420
+ // 有描边:在描边时启用阴影
29421
+ if (style.hasShadow) {
29422
+ _this.setupShadow();
29423
+ }
29424
+ _this.setupOutline();
29426
29425
  charsInfo.forEach(function(charInfo) {
29427
29426
  var ox = layout.getOffsetX(style, charInfo.width);
29428
29427
  for(var i = 0; i < charInfo.chars.length; i++){
@@ -29432,8 +29431,15 @@ var TextComponent = /*#__PURE__*/ function(MaskableGraphic) {
29432
29431
  context.strokeText(str, drawX, drawY);
29433
29432
  }
29434
29433
  });
29434
+ // 描边完成后立即禁用阴影,避免填充时重复绘制阴影
29435
+ if (style.hasShadow) {
29436
+ context.shadowColor = "transparent";
29437
+ }
29438
+ }
29439
+ // 填充阶段:无描边时才启用阴影
29440
+ if (!hasOutline && style.hasShadow) {
29441
+ _this.setupShadow();
29435
29442
  }
29436
- // 再填充
29437
29443
  charsInfo.forEach(function(charInfo) {
29438
29444
  var ox = layout.getOffsetX(style, charInfo.width);
29439
29445
  for(var i = 0; i < charInfo.chars.length; i++){
@@ -29443,6 +29449,7 @@ var TextComponent = /*#__PURE__*/ function(MaskableGraphic) {
29443
29449
  context.fillText(str, drawX, drawY);
29444
29450
  }
29445
29451
  });
29452
+ // 清理阴影状态
29446
29453
  if (style.hasShadow) {
29447
29454
  context.shadowColor = "transparent";
29448
29455
  }
@@ -31626,7 +31633,7 @@ function getStandardSpriteContent(sprite, transform) {
31626
31633
  return ret;
31627
31634
  }
31628
31635
 
31629
- var version$1 = "2.8.8";
31636
+ var version$1 = "2.8.9";
31630
31637
  var v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
31631
31638
  var standardVersion = /^(\d+)\.(\d+)$/;
31632
31639
  var reverseParticle = false;
@@ -35326,7 +35333,7 @@ registerPlugin("text", TextLoader);
35326
35333
  registerPlugin("sprite", SpriteLoader);
35327
35334
  registerPlugin("particle", ParticleLoader);
35328
35335
  registerPlugin("interact", InteractLoader);
35329
- var version = "2.8.8";
35336
+ var version = "2.8.9";
35330
35337
  logger.info("Core version: " + version + ".");
35331
35338
 
35332
35339
  export { 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, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, Camera, CameraController, CameraVFXItemLoader, ColorCurve, ColorPlayable, ColorPropertyMixerPlayable, ColorPropertyPlayableAsset, ColorPropertyTrack, Component, ComponentTimePlayable, ComponentTimePlayableAsset, ComponentTimeTrack, Composition, CompositionComponent, CompressTextureCapabilityType, ConstBoolNode, ConstBoolNodeData, ConstFloatNode, ConstFloatNodeData, ConstraintTarget, ControlParameterBoolNode, ControlParameterBoolNodeData, ControlParameterFloatNode, ControlParameterFloatNodeData, ControlParameterTriggerNode, ControlParameterTriggerNodeData, DEFAULT_FONTS, DEFAULT_FPS, Database, Deferred, DestroyOptions, Downloader, DrawObjectPass, 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, 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, Plugin, PluginSystem, PointerEventData, PointerEventType, PolyStar, Polygon, Pose, PoseNode, PositionConstraint, PostProcessVolume, PropertyClipPlayable, PropertyTrack, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RaycastResult, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTargetPool, 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, SceneLoader, 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, createGLContext, createKeyFrameMeta, createShape, createValueGetter, curveEps, decimalEqual, deserializeMipmapTexture, earcut, effectsClass, effectsClassStore, enlargeBuffer, ensureFixedNumber, ensureVec3, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateGUID, generateHalfFloatTexture, generateTransparentTexture, generateWhiteTexture, getBackgroundImage, getClass, getColorFromGradientStops, getConfig, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getKeyFrameMetaByRawValue, getMergedStore, getNodeDataClass, getParticleMeshShader, getPixelRatio, getPluginUsageInfo, 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, isPowerOfTwo, isSafeFontFamily, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, isWechatMiniApp, itemFrag, itemVert, loadAVIFOptional, loadBinary, loadBlob, loadImage, loadMedia, loadVideo, loadWebPOptional, logger, index as math, 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, setRayFromCamera, setSideMode, sortByOrder, index$1 as spec, textureLoaderRegistry, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecFill, vecMulCombine, version, vertexFormatType2GLType };