@galacean/effects 1.2.3 → 1.2.5

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.3
6
+ * Version: v1.2.5
7
7
  */
8
8
 
9
9
  /******************************************************************************
@@ -9243,10 +9243,10 @@ var VFXItem = /** @class */ (function () {
9243
9243
  };
9244
9244
  VFXItem.prototype.translateByPixel = function (x, y) {
9245
9245
  if (this.composition) {
9246
+ // @ts-expect-error
9247
+ var _a = this.composition.renderer.canvas.getBoundingClientRect(), width = _a.width, height = _a.height;
9246
9248
  var z = this.transform.getWorldPosition().z;
9247
- var _a = this.composition.camera.getInverseVPRatio(z), rx = _a.x, ry = _a.y;
9248
- var width = this.composition.renderer.getWidth() / 2;
9249
- var height = this.composition.renderer.getHeight() / 2;
9249
+ var _b = this.composition.camera.getInverseVPRatio(z), rx = _b.x, ry = _b.y;
9250
9250
  this.transform.translate(2 * x * rx / width, -2 * y * ry / height, 0);
9251
9251
  }
9252
9252
  };
@@ -13142,9 +13142,13 @@ var InteractVFXItem = /** @class */ (function (_super) {
13142
13142
  this.handleDragMove(this.dragEvent, this.bouncingArg);
13143
13143
  }
13144
13144
  };
13145
- InteractVFXItem.prototype.onItemRemoved = function (composition) {
13145
+ InteractVFXItem.prototype.onEnd = function () {
13146
+ if (this.composition) {
13147
+ this.composition.removeInteractiveItem(this, this.ui.options.type);
13148
+ }
13149
+ };
13150
+ InteractVFXItem.prototype.onItemRemoved = function () {
13146
13151
  var _a;
13147
- composition.removeInteractiveItem(this, this.ui.options.type);
13148
13152
  this.clickable = false;
13149
13153
  (_a = this.previewContent) === null || _a === void 0 ? void 0 : _a.mesh.dispose();
13150
13154
  this.endDragTarget();
@@ -21352,8 +21356,9 @@ var Camera = /** @class */ (function () {
21352
21356
  Camera.prototype.getInverseVPRatio = function (z) {
21353
21357
  var pos = new Vector3(0, 0, z);
21354
21358
  var mat = this.getViewProjectionMatrix();
21355
- var nz = pos.applyMatrix(mat).z;
21356
- return new Vector3(1, 1, nz).applyMatrix(mat);
21359
+ var inverseVP = this.getInverseViewProjectionMatrix();
21360
+ var nz = mat.projectPoint(pos).z;
21361
+ return inverseVP.projectPoint(new Vector3(1, 1, nz));
21357
21362
  };
21358
21363
  /**
21359
21364
  * 设置相机的旋转四元数
@@ -21365,7 +21370,6 @@ var Camera = /** @class */ (function () {
21365
21370
  this.dirty = true;
21366
21371
  }
21367
21372
  else {
21368
- this.options.quat;
21369
21373
  if (!this.options.quat.equals(value)) {
21370
21374
  this.options.quat.copyFrom(value);
21371
21375
  this.dirty = true;
@@ -23697,16 +23701,17 @@ var AssetManager = /** @class */ (function () {
23697
23701
  };
23698
23702
  AssetManager.prototype.processBins = function (bins) {
23699
23703
  return __awaiter(this, void 0, void 0, function () {
23700
- var renderLevel, jobs;
23704
+ var renderLevel, baseUrl, jobs;
23701
23705
  var _this = this;
23702
23706
  return __generator(this, function (_a) {
23703
23707
  renderLevel = this.options.renderLevel;
23708
+ baseUrl = this.baseUrl;
23704
23709
  jobs = bins.map(function (bin) {
23705
23710
  if (bin instanceof ArrayBuffer) {
23706
23711
  return bin;
23707
23712
  }
23708
23713
  if (passRenderLevel(bin.renderLevel, renderLevel)) {
23709
- return _this.loadBins(bin.url);
23714
+ return _this.loadBins(new URL(bin.url, baseUrl).href);
23710
23715
  }
23711
23716
  throw new Error("Invalid bins source: ".concat(JSON.stringify(bins)));
23712
23717
  });
@@ -23724,13 +23729,14 @@ var AssetManager = /** @class */ (function () {
23724
23729
  return [2 /*return*/];
23725
23730
  }
23726
23731
  jobs = fonts.map(function (font) { return __awaiter(_this, void 0, void 0, function () {
23727
- var fontFace;
23732
+ var url, fontFace;
23728
23733
  var _a;
23729
23734
  return __generator(this, function (_b) {
23730
23735
  switch (_b.label) {
23731
23736
  case 0:
23732
23737
  if (!(font.fontURL && !AssetManager.fonts.has(font.fontFamily))) return [3 /*break*/, 4];
23733
- fontFace = new FontFace((_a = font.fontFamily) !== null && _a !== void 0 ? _a : '', 'url(' + font.fontURL + ')');
23738
+ url = new URL(font.fontURL, this.baseUrl).href;
23739
+ fontFace = new FontFace((_a = font.fontFamily) !== null && _a !== void 0 ? _a : '', 'url(' + url + ')');
23734
23740
  _b.label = 1;
23735
23741
  case 1:
23736
23742
  _b.trys.push([1, 3, , 4]);
@@ -23743,7 +23749,7 @@ var AssetManager = /** @class */ (function () {
23743
23749
  return [3 /*break*/, 4];
23744
23750
  case 3:
23745
23751
  _b.sent();
23746
- logger.warn("Invalid fonts source: ".concat(JSON.stringify(font.fontURL)));
23752
+ logger.warn("Invalid fonts source: ".concat(JSON.stringify(url)));
23747
23753
  return [3 /*break*/, 4];
23748
23754
  case 4: return [2 /*return*/];
23749
23755
  }
@@ -23975,7 +23981,7 @@ function createTextureOptionsBySource(image, sourceFrom) {
23975
23981
  return image.source;
23976
23982
  }
23977
23983
  else if (image instanceof HTMLImageElement ||
23978
- image instanceof HTMLCanvasElement) {
23984
+ isCanvas(image)) {
23979
23985
  return {
23980
23986
  image: image,
23981
23987
  sourceType: TextureSourceType.image,
@@ -24012,6 +24018,11 @@ function createTextureOptionsBySource(image, sourceFrom) {
24012
24018
  }
24013
24019
  throw new Error('Invalid texture options');
24014
24020
  }
24021
+ function isCanvas(cavnas) {
24022
+ var _a;
24023
+ // 小程序 Canvas 无法使用 instanceof HTMLCanvasElement 判断
24024
+ return typeof cavnas === 'object' && cavnas !== null && ((_a = cavnas.tagName) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === 'CANVAS';
24025
+ }
24015
24026
 
24016
24027
  var CompVFXItem = /** @class */ (function (_super) {
24017
24028
  __extends(CompVFXItem, _super);
@@ -29595,6 +29606,7 @@ var Player = /** @class */ (function () {
29595
29606
  this.displayScale = 1;
29596
29607
  this.resumePending = false;
29597
29608
  this.disposed = false;
29609
+ this.assetManagers = [];
29598
29610
  this.speed = 1;
29599
29611
  this.baseCompositionIndex = 0;
29600
29612
  /**
@@ -29877,7 +29889,7 @@ var Player = /** @class */ (function () {
29877
29889
  Player.prototype.createComposition = function (url, options) {
29878
29890
  if (options === void 0) { options = {}; }
29879
29891
  return __awaiter(this, void 0, void 0, function () {
29880
- var renderer, last, opts, source, scene, composition, firstFrameTime;
29892
+ var renderer, last, opts, source, assetManager, scene, composition, firstFrameTime;
29881
29893
  var _this = this;
29882
29894
  return __generator(this, function (_a) {
29883
29895
  switch (_a.label) {
@@ -29892,13 +29904,9 @@ var Player = /** @class */ (function () {
29892
29904
  else {
29893
29905
  source = url;
29894
29906
  }
29895
- if (this.assetManager) {
29896
- this.assetManager.updateOptions(opts);
29897
- }
29898
- else {
29899
- this.assetManager = new AssetManager(opts);
29900
- }
29901
- return [4 /*yield*/, this.assetManager.loadScene(source, this.renderer, { env: this.env })];
29907
+ assetManager = new AssetManager(opts);
29908
+ this.assetManagers.push(assetManager);
29909
+ return [4 /*yield*/, assetManager.loadScene(source, this.renderer, { env: this.env })];
29902
29910
  case 1:
29903
29911
  scene = _a.sent();
29904
29912
  // 加载期间 player 销毁
@@ -30228,7 +30236,7 @@ var Player = /** @class */ (function () {
30228
30236
  * @param keepCanvas - 是否保留 canvas 画面,默认不保留,canvas 不能再被使用
30229
30237
  */
30230
30238
  Player.prototype.dispose = function (keepCanvas) {
30231
- var _a, _b;
30239
+ var _a;
30232
30240
  logger.info("call player destroy: ".concat(this.name));
30233
30241
  if (this.disposed) {
30234
30242
  return;
@@ -30236,7 +30244,7 @@ var Player = /** @class */ (function () {
30236
30244
  playerMap.delete(this.canvas);
30237
30245
  this.pause();
30238
30246
  (_a = this.ticker) === null || _a === void 0 ? void 0 : _a.stop();
30239
- (_b = this.assetManager) === null || _b === void 0 ? void 0 : _b.dispose();
30247
+ this.assetManagers.forEach(function (assetManager) { return assetManager.dispose(); });
30240
30248
  this.compositions.forEach(function (comp) { return comp.dispose(); });
30241
30249
  this.compositions.length = 0;
30242
30250
  this.renderer.context.removeLostHandler({ lost: this.lost });
@@ -30442,7 +30450,7 @@ Renderer.create = function (canvas, framework, renderOptions) {
30442
30450
  Engine.create = function (gl) {
30443
30451
  return new GLEngine(gl);
30444
30452
  };
30445
- var version = "1.2.3";
30453
+ var version = "1.2.5";
30446
30454
  logger.info('player version: ' + version);
30447
30455
 
30448
30456
  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 };