@galacean/effects-threejs 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 threejs plugin 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
  import * as THREE from 'three';
@@ -17843,14 +17843,14 @@ var CompositionComponent = /*#__PURE__*/ function(Component) {
17843
17843
  }
17844
17844
  }
17845
17845
  }
17846
- if (VFXItem.isComposition(hitTestItem)) {
17847
- if (hitTestItem.getComponent(CompositionComponent).hitTest(ray, x, y, regions, force, options)) {
17848
- hitTestSuccess = true;
17849
- }
17850
- } else {
17851
- if (_this.hitTestRecursive(hitTestItem, ray, x, y, regions, force, options)) {
17852
- hitTestSuccess = true;
17853
- }
17846
+ }
17847
+ if (VFXItem.isComposition(hitTestItem)) {
17848
+ if (hitTestItem.getComponent(CompositionComponent).hitTest(ray, x, y, regions, force, options)) {
17849
+ hitTestSuccess = true;
17850
+ }
17851
+ } else {
17852
+ if (_this.hitTestRecursive(hitTestItem, ray, x, y, regions, force, options)) {
17853
+ hitTestSuccess = true;
17854
17854
  }
17855
17855
  }
17856
17856
  };
@@ -29377,12 +29377,6 @@ var TextComponent = /*#__PURE__*/ function(MaskableGraphic) {
29377
29377
  } else {
29378
29378
  context.font = style.fontDesc;
29379
29379
  }
29380
- if (style.hasShadow) {
29381
- _this.setupShadow();
29382
- }
29383
- if (style.isOutlined) {
29384
- _this.setupOutline();
29385
- }
29386
29380
  // textColor 统一是 0-1,写入 canvas 时乘 255
29387
29381
  var _style_textColor = style.textColor, r = _style_textColor[0], g = _style_textColor[1], b = _style_textColor[2], a = _style_textColor[3];
29388
29382
  context.fillStyle = "rgba(" + r * 255 + ", " + g * 255 + ", " + b * 255 + ", " + a + ")";
@@ -29423,8 +29417,13 @@ var TextComponent = /*#__PURE__*/ function(MaskableGraphic) {
29423
29417
  chars: charsArray,
29424
29418
  charOffsetX: charOffsetX
29425
29419
  });
29426
- // 先描边
29427
- if (style.isOutlined && style.outlineWidth > 0) {
29420
+ var hasOutline = style.isOutlined && style.outlineWidth > 0;
29421
+ if (hasOutline) {
29422
+ // 有描边:在描边时启用阴影
29423
+ if (style.hasShadow) {
29424
+ _this.setupShadow();
29425
+ }
29426
+ _this.setupOutline();
29428
29427
  charsInfo.forEach(function(charInfo) {
29429
29428
  var ox = layout.getOffsetX(style, charInfo.width);
29430
29429
  for(var i = 0; i < charInfo.chars.length; i++){
@@ -29434,8 +29433,15 @@ var TextComponent = /*#__PURE__*/ function(MaskableGraphic) {
29434
29433
  context.strokeText(str, drawX, drawY);
29435
29434
  }
29436
29435
  });
29436
+ // 描边完成后立即禁用阴影,避免填充时重复绘制阴影
29437
+ if (style.hasShadow) {
29438
+ context.shadowColor = "transparent";
29439
+ }
29440
+ }
29441
+ // 填充阶段:无描边时才启用阴影
29442
+ if (!hasOutline && style.hasShadow) {
29443
+ _this.setupShadow();
29437
29444
  }
29438
- // 再填充
29439
29445
  charsInfo.forEach(function(charInfo) {
29440
29446
  var ox = layout.getOffsetX(style, charInfo.width);
29441
29447
  for(var i = 0; i < charInfo.chars.length; i++){
@@ -29445,6 +29451,7 @@ var TextComponent = /*#__PURE__*/ function(MaskableGraphic) {
29445
29451
  context.fillText(str, drawX, drawY);
29446
29452
  }
29447
29453
  });
29454
+ // 清理阴影状态
29448
29455
  if (style.hasShadow) {
29449
29456
  context.shadowColor = "transparent";
29450
29457
  }
@@ -31628,7 +31635,7 @@ function getStandardSpriteContent(sprite, transform) {
31628
31635
  return ret;
31629
31636
  }
31630
31637
 
31631
- var version$2 = "2.8.8";
31638
+ var version$2 = "2.8.9";
31632
31639
  var v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
31633
31640
  var standardVersion = /^(\d+)\.(\d+)$/;
31634
31641
  var reverseParticle = false;
@@ -35328,7 +35335,7 @@ registerPlugin("text", TextLoader);
35328
35335
  registerPlugin("sprite", SpriteLoader);
35329
35336
  registerPlugin("particle", ParticleLoader);
35330
35337
  registerPlugin("interact", InteractLoader);
35331
- var version$1 = "2.8.8";
35338
+ var version$1 = "2.8.9";
35332
35339
  logger.info("Core version: " + version$1 + ".");
35333
35340
 
35334
35341
  var _obj;
@@ -36905,7 +36912,7 @@ applyMixins(ThreeTextComponent, [
36905
36912
  */ Mesh.create = function(engine, props) {
36906
36913
  return new ThreeMesh(engine, props);
36907
36914
  };
36908
- var version = "2.8.8";
36915
+ var version = "2.8.9";
36909
36916
  logger.info("THREEJS plugin version: " + version + ".");
36910
36917
 
36911
36918
  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, CONSTANT_MAP_BLEND, CONSTANT_MAP_DEPTH, CONSTANT_MAP_STENCIL_FUNC, CONSTANT_MAP_STENCIL_OP, 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, TEXTURE_UNIFORM_MAP, TangentMode, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TexturePaintScaleMode, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeEngine, ThreeMaterial, ThreeSpriteComponent, ThreeTextComponent, ThreeTexture, 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, setUniformValue, sortByOrder, index$1 as spec, textureLoaderRegistry, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecFill, vecMulCombine, version, vertexFormatType2GLType };