@galacean/effects-threejs 1.2.0 → 1.2.2

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: v1.2.0
6
+ * Version: v1.2.2
7
7
  */
8
8
 
9
9
  import * as THREE from 'three';
@@ -19970,9 +19970,10 @@ var TextItem = /** @class */ (function (_super) {
19970
19970
  if (this.textStyle.fontSize === value) {
19971
19971
  return;
19972
19972
  }
19973
+ // 保证字号变化后位置正常
19974
+ var diff = this.textStyle.fontSize - value;
19975
+ this.textLayout.lineHeight += diff;
19973
19976
  this.textStyle.fontSize = value;
19974
- // 1.5175 = 31.43 / 20
19975
- this.textLayout.lineHeight = this.textStyle.fontSize * 1.5175;
19976
19977
  this.isDirty = true;
19977
19978
  };
19978
19979
  /**
@@ -23452,6 +23453,10 @@ var AssetManager = /** @class */ (function () {
23452
23453
  */
23453
23454
  this.assets = {};
23454
23455
  this.id = seed$2++;
23456
+ /**
23457
+ * 场景加载的超时定时器
23458
+ */
23459
+ this.timers = [];
23455
23460
  this.updateOptions(options);
23456
23461
  }
23457
23462
  AssetManager.prototype.updateOptions = function (options) {
@@ -23484,25 +23489,33 @@ var AssetManager = /** @class */ (function () {
23484
23489
  compressedTexture = (_c = gpuInstance === null || gpuInstance === void 0 ? void 0 : gpuInstance.detail.compressedTexture) !== null && _c !== void 0 ? _c : 0;
23485
23490
  cancelLoading = false;
23486
23491
  waitPromise = new Promise(function (resolve, reject) {
23487
- return loadTimer = window.setTimeout(function () {
23492
+ loadTimer = window.setTimeout(function () {
23488
23493
  cancelLoading = true;
23494
+ _this.removeTimer(loadTimer);
23489
23495
  var totalTime = performance.now() - startTime;
23490
23496
  reject("Load time out: totalTime: ".concat(totalTime.toFixed(4), "ms ").concat(timeInfos.join(' '), ", url: ").concat(assetUrl));
23491
23497
  }, _this.timeout * 1000);
23498
+ _this.timers.push(loadTimer);
23492
23499
  });
23493
23500
  hookTimeInfo = function (label, func) { return __awaiter(_this, void 0, void 0, function () {
23494
- var st, result;
23501
+ var st, result, e_1;
23495
23502
  return __generator(this, function (_a) {
23496
23503
  switch (_a.label) {
23497
23504
  case 0:
23498
- if (!!cancelLoading) return [3 /*break*/, 2];
23505
+ if (!!cancelLoading) return [3 /*break*/, 4];
23499
23506
  st = performance.now();
23500
- return [4 /*yield*/, func()];
23507
+ _a.label = 1;
23501
23508
  case 1:
23509
+ _a.trys.push([1, 3, , 4]);
23510
+ return [4 /*yield*/, func()];
23511
+ case 2:
23502
23512
  result = _a.sent();
23503
23513
  timeInfos.push("[".concat(label, ": ").concat((performance.now() - st).toFixed(2), "]"));
23504
23514
  return [2 /*return*/, result];
23505
- case 2: throw new Error('load canceled.');
23515
+ case 3:
23516
+ e_1 = _a.sent();
23517
+ throw new Error("load error in ".concat(label, ", ").concat(e_1));
23518
+ case 4: throw new Error('load canceled.');
23506
23519
  }
23507
23520
  });
23508
23521
  }); };
@@ -23586,6 +23599,7 @@ var AssetManager = /** @class */ (function () {
23586
23599
  totalTime = performance.now() - startTime;
23587
23600
  logger.info("Load asset: totalTime: ".concat(totalTime.toFixed(4), "ms ").concat(timeInfos.join(' '), ", url: ").concat(assetUrl));
23588
23601
  window.clearTimeout(loadTimer);
23602
+ this.removeTimer(loadTimer);
23589
23603
  scene.totalTime = totalTime;
23590
23604
  scene.startTime = startTime;
23591
23605
  return [2 /*return*/, scene];
@@ -23894,16 +23908,26 @@ var AssetManager = /** @class */ (function () {
23894
23908
  });
23895
23909
  });
23896
23910
  };
23911
+ AssetManager.prototype.removeTimer = function (id) {
23912
+ var index = this.timers.indexOf(id);
23913
+ if (index !== -1) {
23914
+ this.timers.splice(index, 1);
23915
+ }
23916
+ };
23897
23917
  /**
23898
23918
  * 销毁方法
23899
23919
  */
23900
23920
  AssetManager.prototype.dispose = function () {
23901
23921
  var _a;
23922
+ if (this.timers.length) {
23923
+ this.timers.map(function (id) { return window.clearTimeout(id); });
23924
+ }
23902
23925
  for (var key in this.assets) {
23903
23926
  var asset = this.assets[key];
23904
23927
  (_a = asset === null || asset === void 0 ? void 0 : asset.dispose) === null || _a === void 0 ? void 0 : _a.call(asset);
23905
23928
  }
23906
23929
  this.assets = {};
23930
+ this.timers = [];
23907
23931
  };
23908
23932
  /**
23909
23933
  * 自定义文本缓存,随页面销毁而销毁
@@ -26865,7 +26889,7 @@ Geometry.create = function (engine, options) {
26865
26889
  Mesh.create = function (engine, props) {
26866
26890
  return new ThreeMesh(engine, props);
26867
26891
  };
26868
- var version = "1.2.0";
26892
+ var version = "1.2.2";
26869
26893
  logger.info('THREEJS plugin version: ' + version);
26870
26894
 
26871
26895
  export { AbstractPlugin, AssetManager, BYTES_TYPE_MAP, BezierSegments, 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, CalculateItem, CalculateLoader, CalculateVFXItem, Camera, CameraController, CameraVFXItem, CameraVFXItemLoader, Composition, CompositionSourceManager, CurveValue, DEFAULT_FONTS, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, Engine, EventSystem, FILTER_NAME_NONE, FilterMode, FilterSpriteVFXItem, Float16ArrayWrapper, FrameBuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractBehavior$1 as InteractBehavior, InteractItem, InteractLoader, InteractMesh, InteractVFXItem, Item, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, Mesh, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleLoader, ParticleMesh, ParticleSystem, ParticleVFXItem, PassTextureCache, PathSegments, PluginSystem, QCanvasViewer, QText, QTextWrapMode, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderBuffer, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderer, 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, Shader, ShaderCompileResultStatus, ShaderType, SpriteItem, SpriteLoader, SpriteMesh, SpriteVFXItem, StaticValue, TEMPLATE_USE_OFFSCREEN_CANVAS, TEXTURE_UNIFORM_MAP, TextItem, TextLoader, TextMesh, TextVFXItem, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeMaterial, ThreeTexture, Ticker, TimelineComponent, Transform, VFXItem, ValueGetter, addByOrder, addItem, addItemWithOrder, alphaFrameFrag, alphaMaskFrag, assertExist, asserts, blend, bloomMixVert, bloomThresholdVert, calculateTranslation, cameraMove_frag as cameraMoveFrag, cameraMoveVert, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, combineImageTemplate1, combineImageTemplate1Async, combineImageTemplate2, combineImageTemplate2Async, combineImageTemplateAsync, compatible_frag as compatibleFrag, compatible_vert as compatibleVert, convertAnchor, copyFrag, createCopyShader, createFilter, createFilterShaders, createGLContext, createKeyFrameMeta, createShaderWithMarcos, createShape, createVFXItem, createValueGetter, deepClone, defaultGlobalVolume, defaultPlugins, delayFrag, deserializeMipmapTexture, distortionFrag, distortionVert, earcut, enlargeBuffer, ensureVec3, filters, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateHalfFloatTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTemplateCanvasPool, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getParticleMeshShader, getPixelRatio, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAndroid, isArray, isFunction, isIOS, isObject, isScene, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isWebGL2, item_define as itemDefine, itemFrag, itemFrameFrag, itemVert, loadBinary, loadBlob, loadImage, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, maxSpriteTextureCount, modifyMaxKeyframeShader, nearestPowerOfTwo, noop, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap, particleVert, pluginLoaderMap, random, registerFilter, registerFilters, registerPlugin, removeItem, requestAsync, rotateVec2, screenMeshVert, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxFragmentTextures, setSpriteMeshMaxItemCountByGPU, setUniformValue, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecAssign, vecFill, vecMulCombine, vecNormalize, version };