@galacean/effects-threejs 2.0.0-alpha.25 → 2.0.0-alpha.26

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.0.0-alpha.25
6
+ * Version: v2.0.0-alpha.26
7
7
  */
8
8
 
9
9
  import * as THREE from 'three';
@@ -4491,8 +4491,8 @@ var index$1 = /*#__PURE__*/Object.freeze({
4491
4491
  BuiltinObjectGUID: BuiltinObjectGUID
4492
4492
  });
4493
4493
 
4494
- var decoratorInitialStore = {};
4495
- var mergedStore = {};
4494
+ var decoratorInitialStore = new Map();
4495
+ var mergedStore = new Map();
4496
4496
  var effectsClassStore = {};
4497
4497
  function effectsClass(className) {
4498
4498
  return function(target, context) {
@@ -4507,22 +4507,22 @@ function serialize(type, sourceName) {
4507
4507
  return generateSerializableMember(type, sourceName); // value member
4508
4508
  }
4509
4509
  function getMergedStore(target) {
4510
- var classKey = target.constructor.name;
4511
- if (mergedStore[classKey]) {
4512
- return mergedStore[classKey];
4510
+ var classKey = target.constructor;
4511
+ if (mergedStore.get(classKey)) {
4512
+ return mergedStore.get(classKey);
4513
4513
  }
4514
- mergedStore[classKey] = {};
4515
- var store = mergedStore[classKey];
4514
+ var store = {};
4515
+ mergedStore.set(classKey, store);
4516
4516
  var currentTarget = target;
4517
4517
  var currentKey = classKey;
4518
4518
  while(currentKey){
4519
- var initialStore = decoratorInitialStore[currentKey];
4519
+ var initialStore = decoratorInitialStore.get(currentKey);
4520
4520
  for(var property in initialStore){
4521
4521
  store[property] = initialStore[property];
4522
4522
  }
4523
4523
  var parent = Object.getPrototypeOf(currentTarget);
4524
- currentKey = Object.getPrototypeOf(parent).constructor.name;
4525
- if (currentKey === "Object") {
4524
+ currentKey = Object.getPrototypeOf(parent).constructor;
4525
+ if (currentKey === Object) {
4526
4526
  break;
4527
4527
  }
4528
4528
  currentTarget = parent;
@@ -4532,6 +4532,9 @@ function getMergedStore(target) {
4532
4532
  function generateSerializableMember(type, sourceName) {
4533
4533
  return function(target, propertyKey) {
4534
4534
  var classStore = getDirectStore(target);
4535
+ if (!classStore) {
4536
+ return;
4537
+ }
4535
4538
  if (!classStore[propertyKey]) {
4536
4539
  classStore[propertyKey] = {
4537
4540
  type: type,
@@ -4541,11 +4544,11 @@ function generateSerializableMember(type, sourceName) {
4541
4544
  };
4542
4545
  }
4543
4546
  function getDirectStore(target) {
4544
- var classKey = target.constructor.name;
4545
- if (!decoratorInitialStore[classKey]) {
4546
- decoratorInitialStore[classKey] = {};
4547
+ var classKey = target.constructor;
4548
+ if (!decoratorInitialStore.get(classKey)) {
4549
+ decoratorInitialStore.set(classKey, {});
4547
4550
  }
4548
- return decoratorInitialStore[classKey];
4551
+ return decoratorInitialStore.get(classKey);
4549
4552
  }
4550
4553
 
4551
4554
  /**
@@ -19667,7 +19670,7 @@ var TextComponentBase = /*#__PURE__*/ function() {
19667
19670
  _proto.updateWithOptions = function updateWithOptions(options) {
19668
19671
  this.textStyle = new TextStyle(options);
19669
19672
  this.textLayout = new TextLayout(options);
19670
- this.text = options.text;
19673
+ this.text = options.text.toString();
19671
19674
  this.lineCount = this.getLineCount(options.text, true);
19672
19675
  };
19673
19676
  _proto.getLineCount = function getLineCount(text, init) {
@@ -19738,7 +19741,7 @@ var TextComponentBase = /*#__PURE__*/ function() {
19738
19741
  if (this.text === value) {
19739
19742
  return;
19740
19743
  }
19741
- this.text = value;
19744
+ this.text = value.toString();
19742
19745
  this.lineCount = this.getLineCount(value, false);
19743
19746
  this.isDirty = true;
19744
19747
  };
@@ -20847,29 +20850,31 @@ var SerializationHelper = /*#__PURE__*/ function() {
20847
20850
  effectsObject.toData();
20848
20851
  res[effectsObject.getInstanceId()] = effectsObject;
20849
20852
  var serializedProperties = getMergedStore(effectsObject);
20850
- for(var _iterator = _create_for_of_iterator_helper_loose(Object.keys(serializedProperties)), _step; !(_step = _iterator()).done;){
20851
- var key = _step.value;
20852
- // TODO 待移除,序列化属性通过 effectsObject 对象直接获取
20853
- var value = effectsObject.taggedProperties[key];
20854
- if (value === undefined) {
20855
- value = effectsObject[key];
20856
- }
20857
- if (EffectsObject.is(value)) {
20858
- SerializationHelper.collectSerializableObject(value, res);
20859
- } else if (isArray(value)) {
20860
- for(var _iterator1 = _create_for_of_iterator_helper_loose(value), _step1; !(_step1 = _iterator1()).done;){
20861
- var arrayValue = _step1.value;
20862
- if (EffectsObject.is(arrayValue)) {
20863
- SerializationHelper.collectSerializableObject(arrayValue, res);
20864
- }
20853
+ if (serializedProperties) {
20854
+ for(var _iterator = _create_for_of_iterator_helper_loose(Object.keys(serializedProperties)), _step; !(_step = _iterator()).done;){
20855
+ var key = _step.value;
20856
+ // TODO 待移除,序列化属性通过 effectsObject 对象直接获取
20857
+ var value = effectsObject.taggedProperties[key];
20858
+ if (value === undefined) {
20859
+ value = effectsObject[key];
20865
20860
  }
20866
- } else if (isObject(value)) {
20867
- // 非 EffectsObject 对象只递归一层
20868
- for(var _iterator2 = _create_for_of_iterator_helper_loose(Object.keys(value)), _step2; !(_step2 = _iterator2()).done;){
20869
- var objectKey = _step2.value;
20870
- var objectValue = value[objectKey];
20871
- if (EffectsObject.is(objectValue)) {
20872
- SerializationHelper.collectSerializableObject(objectValue, res);
20861
+ if (EffectsObject.is(value)) {
20862
+ SerializationHelper.collectSerializableObject(value, res);
20863
+ } else if (isArray(value)) {
20864
+ for(var _iterator1 = _create_for_of_iterator_helper_loose(value), _step1; !(_step1 = _iterator1()).done;){
20865
+ var arrayValue = _step1.value;
20866
+ if (EffectsObject.is(arrayValue)) {
20867
+ SerializationHelper.collectSerializableObject(arrayValue, res);
20868
+ }
20869
+ }
20870
+ } else if (isObject(value)) {
20871
+ // 非 EffectsObject 对象只递归一层
20872
+ for(var _iterator2 = _create_for_of_iterator_helper_loose(Object.keys(value)), _step2; !(_step2 = _iterator2()).done;){
20873
+ var objectKey = _step2.value;
20874
+ var objectValue = value[objectKey];
20875
+ if (EffectsObject.is(objectValue)) {
20876
+ SerializationHelper.collectSerializableObject(objectValue, res);
20877
+ }
20873
20878
  }
20874
20879
  }
20875
20880
  }
@@ -20900,27 +20905,29 @@ var SerializationHelper = /*#__PURE__*/ function() {
20900
20905
  serializedData = {};
20901
20906
  }
20902
20907
  var serializedProperties = getMergedStore(effectsObject);
20903
- for(var _iterator = _create_for_of_iterator_helper_loose(Object.keys(serializedProperties)), _step; !(_step = _iterator()).done;){
20904
- var key = _step.value;
20905
- var value = effectsObject[key];
20906
- if (typeof value === "number" || typeof value === "string" || typeof value === "boolean" || SerializationHelper.checkTypedArray(value)) {
20907
- // TODO json 数据避免传 typedArray
20908
- serializedData[key] = value;
20909
- } else if (isArray(value)) {
20910
- if (!serializedData[key]) {
20911
- serializedData[key] = [];
20912
- }
20913
- SerializationHelper.serializeArrayProperty(value, serializedData[key], 0);
20914
- } else if (EffectsObject.is(value)) {
20915
- // TODO 处理 EffectsObject 递归序列化
20916
- serializedData[key] = {
20917
- id: value.getInstanceId()
20918
- };
20919
- } else if (isObject(value)) {
20920
- if (!serializedData[key]) {
20921
- serializedData[key] = {};
20908
+ if (serializedProperties) {
20909
+ for(var _iterator = _create_for_of_iterator_helper_loose(Object.keys(serializedProperties)), _step; !(_step = _iterator()).done;){
20910
+ var key = _step.value;
20911
+ var value = effectsObject[key];
20912
+ if (typeof value === "number" || typeof value === "string" || typeof value === "boolean" || SerializationHelper.checkTypedArray(value)) {
20913
+ // TODO json 数据避免传 typedArray
20914
+ serializedData[key] = value;
20915
+ } else if (isArray(value)) {
20916
+ if (!serializedData[key]) {
20917
+ serializedData[key] = [];
20918
+ }
20919
+ SerializationHelper.serializeArrayProperty(value, serializedData[key], 0);
20920
+ } else if (EffectsObject.is(value)) {
20921
+ // TODO 处理 EffectsObject 递归序列化
20922
+ serializedData[key] = {
20923
+ id: value.getInstanceId()
20924
+ };
20925
+ } else if (isObject(value)) {
20926
+ if (!serializedData[key]) {
20927
+ serializedData[key] = {};
20928
+ }
20929
+ SerializationHelper.serializeObjectProperty(value, serializedData[key], 0);
20922
20930
  }
20923
- SerializationHelper.serializeObjectProperty(value, serializedData[key], 0);
20924
20931
  }
20925
20932
  }
20926
20933
  // TODO 待移除 tagggedProperties 为没有装饰器的临时方案
@@ -20955,22 +20962,24 @@ var SerializationHelper = /*#__PURE__*/ function() {
20955
20962
  var engine = effectsObject.engine;
20956
20963
  for(var _iterator = _create_for_of_iterator_helper_loose(Object.keys(serializedData)), _step; !(_step = _iterator()).done;){
20957
20964
  var key = _step.value;
20958
- if (serializedProperties[key]) {
20965
+ if (serializedProperties && serializedProperties[key]) {
20959
20966
  continue;
20960
20967
  }
20961
20968
  var value = serializedData[key];
20962
20969
  taggedProperties[key] = SerializationHelper.deserializeProperty(value, engine, 0);
20963
20970
  }
20964
- for(var _iterator1 = _create_for_of_iterator_helper_loose(Object.keys(serializedProperties)), _step1; !(_step1 = _iterator1()).done;){
20965
- var key1 = _step1.value;
20966
- var value1 = serializedData[key1];
20967
- if (value1 === undefined) {
20968
- continue;
20971
+ if (serializedProperties) {
20972
+ for(var _iterator1 = _create_for_of_iterator_helper_loose(Object.keys(serializedProperties)), _step1; !(_step1 = _iterator1()).done;){
20973
+ var key1 = _step1.value;
20974
+ var value1 = serializedData[key1];
20975
+ if (value1 === undefined) {
20976
+ continue;
20977
+ }
20978
+ var propertyType = serializedProperties[key1].type;
20979
+ // FIXME: taggedProperties 为 readonly,这里存在强制赋值
20980
+ // @ts-expect-error
20981
+ effectsObject[key1] = SerializationHelper.deserializeProperty(value1, engine, 0, propertyType);
20969
20982
  }
20970
- var propertyType = serializedProperties[key1].type;
20971
- // FIXME: taggedProperties 为 readonly,这里存在强制赋值
20972
- // @ts-expect-error
20973
- effectsObject[key1] = SerializationHelper.deserializeProperty(value1, engine, 0, propertyType);
20974
20983
  }
20975
20984
  effectsObject.fromData(taggedProperties);
20976
20985
  };
@@ -20991,7 +21000,7 @@ var SerializationHelper = /*#__PURE__*/ function() {
20991
21000
  4
20992
21001
  ];
20993
21002
  key = _step.value;
20994
- if (serializedProperties[key]) {
21003
+ if (serializedProperties && serializedProperties[key]) {
20995
21004
  return [
20996
21005
  3,
20997
21006
  3
@@ -21011,6 +21020,10 @@ var SerializationHelper = /*#__PURE__*/ function() {
21011
21020
  1
21012
21021
  ];
21013
21022
  case 4:
21023
+ if (!serializedProperties) return [
21024
+ 3,
21025
+ 8
21026
+ ];
21014
21027
  _iterator1 = _create_for_of_iterator_helper_loose(Object.keys(serializedProperties));
21015
21028
  _state.label = 5;
21016
21029
  case 5:
@@ -24130,11 +24143,13 @@ var tmpScale = new Vector3(1, 1, 1);
24130
24143
  * 获取归一化坐标和 3D 世界坐标的换算比例
24131
24144
  * @param z - 当前的位置 z
24132
24145
  */ _proto.getInverseVPRatio = function getInverseVPRatio(z) {
24133
- var pos = new Vector3(0, 0, z);
24146
+ var pos = new Vector3(this.position.x, this.position.y, z);
24134
24147
  var mat = this.getViewProjectionMatrix();
24135
24148
  var inverseVP = this.getInverseViewProjectionMatrix();
24136
24149
  var _mat_projectPoint = mat.projectPoint(pos), nz = _mat_projectPoint.z;
24137
- return inverseVP.projectPoint(new Vector3(1, 1, nz));
24150
+ var _inverseVP_projectPoint = inverseVP.projectPoint(new Vector3(1, 1, nz)), xMax = _inverseVP_projectPoint.x, yMax = _inverseVP_projectPoint.y;
24151
+ var _inverseVP_projectPoint1 = inverseVP.projectPoint(new Vector3(-1, -1, nz)), xMin = _inverseVP_projectPoint1.x, yMin = _inverseVP_projectPoint1.y;
24152
+ return new Vector3((xMax - xMin) / 2, (yMax - yMin) / 2, 0);
24138
24153
  };
24139
24154
  /**
24140
24155
  * 设置相机的旋转四元数
@@ -24787,6 +24802,7 @@ var listOrder = 0;
24787
24802
  // this.extraCamera?.getComponent(TimelineComponent)?.update(deltaTime);
24788
24803
  this.updateCamera();
24789
24804
  if (this.shouldDispose()) {
24805
+ this.onEnd == null ? void 0 : this.onEnd.call(this, this);
24790
24806
  this.dispose();
24791
24807
  } else {
24792
24808
  if (!skipRender) {
@@ -25713,7 +25729,7 @@ registerPlugin("sprite", SpriteLoader, VFXItem, true);
25713
25729
  registerPlugin("particle", ParticleLoader, VFXItem, true);
25714
25730
  registerPlugin("cal", CalculateLoader, VFXItem, true);
25715
25731
  registerPlugin("interact", InteractLoader, VFXItem, true);
25716
- var version$1 = "2.0.0-alpha.25";
25732
+ var version$1 = "2.0.0-alpha.26";
25717
25733
  logger.info("Core version: " + version$1 + ".");
25718
25734
 
25719
25735
  var _obj;
@@ -27346,7 +27362,7 @@ setMaxSpriteMeshItemCount(8);
27346
27362
  */ Mesh.create = function(engine, props) {
27347
27363
  return new ThreeMesh(engine, props);
27348
27364
  };
27349
- var version = "2.0.0-alpha.25";
27365
+ var version = "2.0.0-alpha.26";
27350
27366
  logger.info("THREEJS plugin version: " + version + ".");
27351
27367
 
27352
27368
  export { AbstractPlugin, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AnimationClip, AnimationClipPlayable, AssetLoader, AssetManager, BYTES_TYPE_MAP, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, COMPRESSED_TEXTURE, CONSTANT_MAP_BLEND, CONSTANT_MAP_DEPTH, CONSTANT_MAP_STENCIL_FUNC, CONSTANT_MAP_STENCIL_OP, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, Component, Composition, CompositionComponent, CompositionSourceManager, DEFAULT_FONTS, Database, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, EffectComponent, EffectsObject, Engine, EventSystem, FilterMode, Float16ArrayWrapper, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, Item, ItemBehaviour, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, Mesh, ObjectBindingTrack, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleBehaviourPlayableAsset, ParticleLoader, ParticleMesh, ParticleSystem, ParticleSystemRenderer, PassTextureCache, PathSegments, PluginSystem, 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, SemanticMap, SerializationHelper, Shader, ShaderCompileResultStatus, ShaderType, ShaderVariant, SpriteColorPlayable, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteLoader, StaticValue, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TEXTURE_UNIFORM_MAP, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeEngine, ThreeMaterial, ThreeSpriteComponent, ThreeTextComponent, ThreeTexture, Ticker, TimelineAsset, TimelineClip, TimelinePlayable, TrackAsset, TrackSortWrapper, TrackType, Transform, TransformAnimationPlayable, TransformPlayableAsset, TransformTrack, VFXItem, ValueGetter, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, blend, calculateTranslation, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, compatible_frag as compatibleFrag, compatible_vert as compatibleVert, createCopyShader, createGLContext, createKeyFrameMeta, createShaderWithMacros, createShape, createVFXItem, createValueGetter, decimalEqual, defaultGlobalVolume, defaultPlugins, deserializeMipmapTexture, earcut, effectsClass, effectsClassStore, enlargeBuffer, ensureFixedNumber, ensureVec3, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateGUID, generateHalfFloatTexture, generateTransparentTexture, generateWhiteTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTemplateCanvasPool, 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, isObject, isSceneJSON, isSceneURL, isSceneWithOptions, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, itemFrag, itemFrameFrag, itemVert, 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, pluginLoaderMap, pointOnLine, randomInRange, registerPlugin, removeItem, rotateVec2, screenMeshVert, serialize, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxItemCountByGPU, setUniformValue, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecAssign, vecFill, vecMulCombine, vecNormalize, version, vertexFormatType2GLType };