@galacean/effects 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 player 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
  /******************************************************************************
@@ -19968,9 +19968,10 @@ var TextItem = /** @class */ (function (_super) {
19968
19968
  if (this.textStyle.fontSize === value) {
19969
19969
  return;
19970
19970
  }
19971
+ // 保证字号变化后位置正常
19972
+ var diff = this.textStyle.fontSize - value;
19973
+ this.textLayout.lineHeight += diff;
19971
19974
  this.textStyle.fontSize = value;
19972
- // 1.5175 = 31.43 / 20
19973
- this.textLayout.lineHeight = this.textStyle.fontSize * 1.5175;
19974
19975
  this.isDirty = true;
19975
19976
  };
19976
19977
  /**
@@ -23450,6 +23451,10 @@ var AssetManager = /** @class */ (function () {
23450
23451
  */
23451
23452
  this.assets = {};
23452
23453
  this.id = seed$5++;
23454
+ /**
23455
+ * 场景加载的超时定时器
23456
+ */
23457
+ this.timers = [];
23453
23458
  this.updateOptions(options);
23454
23459
  }
23455
23460
  AssetManager.prototype.updateOptions = function (options) {
@@ -23482,25 +23487,33 @@ var AssetManager = /** @class */ (function () {
23482
23487
  compressedTexture = (_c = gpuInstance === null || gpuInstance === void 0 ? void 0 : gpuInstance.detail.compressedTexture) !== null && _c !== void 0 ? _c : 0;
23483
23488
  cancelLoading = false;
23484
23489
  waitPromise = new Promise(function (resolve, reject) {
23485
- return loadTimer = window.setTimeout(function () {
23490
+ loadTimer = window.setTimeout(function () {
23486
23491
  cancelLoading = true;
23492
+ _this.removeTimer(loadTimer);
23487
23493
  var totalTime = performance.now() - startTime;
23488
23494
  reject("Load time out: totalTime: ".concat(totalTime.toFixed(4), "ms ").concat(timeInfos.join(' '), ", url: ").concat(assetUrl));
23489
23495
  }, _this.timeout * 1000);
23496
+ _this.timers.push(loadTimer);
23490
23497
  });
23491
23498
  hookTimeInfo = function (label, func) { return __awaiter(_this, void 0, void 0, function () {
23492
- var st, result;
23499
+ var st, result, e_1;
23493
23500
  return __generator(this, function (_a) {
23494
23501
  switch (_a.label) {
23495
23502
  case 0:
23496
- if (!!cancelLoading) return [3 /*break*/, 2];
23503
+ if (!!cancelLoading) return [3 /*break*/, 4];
23497
23504
  st = performance.now();
23498
- return [4 /*yield*/, func()];
23505
+ _a.label = 1;
23499
23506
  case 1:
23507
+ _a.trys.push([1, 3, , 4]);
23508
+ return [4 /*yield*/, func()];
23509
+ case 2:
23500
23510
  result = _a.sent();
23501
23511
  timeInfos.push("[".concat(label, ": ").concat((performance.now() - st).toFixed(2), "]"));
23502
23512
  return [2 /*return*/, result];
23503
- case 2: throw new Error('load canceled.');
23513
+ case 3:
23514
+ e_1 = _a.sent();
23515
+ throw new Error("load error in ".concat(label, ", ").concat(e_1));
23516
+ case 4: throw new Error('load canceled.');
23504
23517
  }
23505
23518
  });
23506
23519
  }); };
@@ -23584,6 +23597,7 @@ var AssetManager = /** @class */ (function () {
23584
23597
  totalTime = performance.now() - startTime;
23585
23598
  logger.info("Load asset: totalTime: ".concat(totalTime.toFixed(4), "ms ").concat(timeInfos.join(' '), ", url: ").concat(assetUrl));
23586
23599
  window.clearTimeout(loadTimer);
23600
+ this.removeTimer(loadTimer);
23587
23601
  scene.totalTime = totalTime;
23588
23602
  scene.startTime = startTime;
23589
23603
  return [2 /*return*/, scene];
@@ -23892,16 +23906,26 @@ var AssetManager = /** @class */ (function () {
23892
23906
  });
23893
23907
  });
23894
23908
  };
23909
+ AssetManager.prototype.removeTimer = function (id) {
23910
+ var index = this.timers.indexOf(id);
23911
+ if (index !== -1) {
23912
+ this.timers.splice(index, 1);
23913
+ }
23914
+ };
23895
23915
  /**
23896
23916
  * 销毁方法
23897
23917
  */
23898
23918
  AssetManager.prototype.dispose = function () {
23899
23919
  var _a;
23920
+ if (this.timers.length) {
23921
+ this.timers.map(function (id) { return window.clearTimeout(id); });
23922
+ }
23900
23923
  for (var key in this.assets) {
23901
23924
  var asset = this.assets[key];
23902
23925
  (_a = asset === null || asset === void 0 ? void 0 : asset.dispose) === null || _a === void 0 ? void 0 : _a.call(asset);
23903
23926
  }
23904
23927
  this.assets = {};
23928
+ this.timers = [];
23905
23929
  };
23906
23930
  /**
23907
23931
  * 自定义文本缓存,随页面销毁而销毁
@@ -29855,6 +29879,10 @@ var Player = /** @class */ (function () {
29855
29879
  return [4 /*yield*/, this.assetManager.loadScene(source, this.renderer, { env: this.env })];
29856
29880
  case 1:
29857
29881
  scene = _a.sent();
29882
+ // 加载期间 player 销毁
29883
+ if (this.disposed) {
29884
+ throw new Error('Disposed player can not used to create Composition');
29885
+ }
29858
29886
  composition = new Composition(__assign$1(__assign$1({}, opts), { renderer: renderer, width: renderer.getWidth(), height: renderer.getHeight(), event: this.event, onPlayerPause: this.handlePlayerPause, onMessageItem: this.handleMessageItem }), scene);
29859
29887
  if (this.ticker) {
29860
29888
  if (composition.renderLevel === RenderLevel$1.B) {
@@ -30213,6 +30241,10 @@ var Player = /** @class */ (function () {
30213
30241
  this.resize = throwErrorFunc;
30214
30242
  this.loadScene = throwErrorPromiseFunc;
30215
30243
  this.play = throwErrorPromiseFunc;
30244
+ this.gotoAndPlay = throwErrorPromiseFunc;
30245
+ this.gotoAndStop = throwErrorPromiseFunc;
30246
+ this.playSequence = throwErrorFunc;
30247
+ this.destroyCurrentCompositions = throwErrorFunc;
30216
30248
  this.resume = throwErrorPromiseFunc;
30217
30249
  this.disposed = true;
30218
30250
  };
@@ -30258,7 +30290,7 @@ var Player = /** @class */ (function () {
30258
30290
  }());
30259
30291
  function isSceneWithOptions(scene) {
30260
30292
  // TODO: 判断不太优雅,后期试情况优化
30261
- return isObject(scene) && 'scene' in scene;
30293
+ return isObject(scene) && 'scene' in scene && 'options' in scene;
30262
30294
  }
30263
30295
  /**
30264
30296
  * 禁止/允许创建新的播放器,已创建的不受影响
@@ -30388,7 +30420,7 @@ Renderer.create = function (canvas, framework, renderOptions) {
30388
30420
  Engine.create = function (gl) {
30389
30421
  return new GLEngine(gl);
30390
30422
  };
30391
- var version = "1.2.0";
30423
+ var version = "1.2.2";
30392
30424
  logger.info('player version: ' + version);
30393
30425
 
30394
30426
  export { AbstractPlugin, AssetManager, BYTES_TYPE_MAP, BezierSegments, COMPRESSED_TEXTURE, 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, GLEngine, GLGeometry, GLRenderer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK$1 as 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, Player, 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, TextItem, TextLoader, TextMesh, TextVFXItem, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, 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, disableAllPlayer, distortionFrag, distortionVert, earcut, enlargeBuffer, ensureVec3, filters, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateHalfFloatTexture, getActivePlayers, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTemplateCanvasPool, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getParticleMeshShader, getPixelRatio, getPlayerByCanvas, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAndroid, isArray, isCanvasUsedByPlayer, isFunction, isIOS, isObject, isScene, isSceneWithOptions, 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, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError$1 as throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecAssign, vecFill, vecMulCombine, vecNormalize, version };