@threepipe/plugin-3d-tiles-renderer 0.2.0 → 0.3.0

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
@@ -1,13 +1,12 @@
1
1
  /**
2
2
  * @license
3
- * @threepipe/plugin-3d-tiles-renderer v0.2.0
3
+ * @threepipe/plugin-3d-tiles-renderer v0.3.0
4
4
  * Copyright 2022-2025 repalash <palash@shaders.app>
5
5
  * Apache-2.0 License
6
6
  * See ./dependencies.txt for any bundled third-party dependencies and licenses.
7
7
  */
8
- var _a;
9
8
  import * as THREE from "threepipe";
10
- import { DefaultLoadingManager, Matrix4, GLTFLoader, Vector3, Vector2, MathUtils, PointsMaterial, BufferGeometry, BufferAttribute, Color, Points, Spherical, Sphere, Ray, Euler, InstancedMesh, Quaternion, Group, Box3, Plane, Frustum, Matrix3, estimateBytesUsed as estimateBytesUsed$1, LoadingManager, EventDispatcher, Mesh, PlaneGeometry, ShaderMaterial, Raycaster, Clock, Texture, SRGBColorSpace, MeshBasicMaterial, MeshStandardMaterial, DataTexture, RGFormat, UnsignedByteType, LinearMipMapLinearFilter, LinearFilter, Triangle, Matrix2, Vector4, WebGLRenderer, WebGLRenderTarget, FullScreenQuad, OneFactor, ZeroFactor, CustomBlending, Box2, FileLoader, LineSegments, LineBasicMaterial, EdgesGeometry, BoxGeometry, Box3Helper, AViewerPluginSync, Importer, generateUUID, uiButton, Loader, iObjectCommons, Box3B, BaseImporterPlugin, GLTFLoader2, LoaderUtils, ACameraControlsPlugin, uiToggle, serialize, uiInput, uiVector, uiFolderContainer } from "threepipe";
9
+ import { DefaultLoadingManager, Matrix4, GLTFLoader, Vector3, Vector2, MathUtils, PointsMaterial, BufferGeometry, BufferAttribute, Color, Points, Spherical, Sphere, Ray, Euler, InstancedMesh, Quaternion, Group, Box3, Plane, Frustum, Matrix3, estimateBytesUsed as estimateBytesUsed$1, LoadingManager, EventDispatcher, Mesh, PlaneGeometry, ShaderMaterial, Raycaster, Clock, Texture, SRGBColorSpace, MeshBasicMaterial, MeshStandardMaterial, DataTexture, RGFormat, UnsignedByteType, LinearMipMapLinearFilter, LinearFilter, Triangle, Matrix2, Vector4, WebGLRenderer, WebGLRenderTarget, FullScreenQuad, OneFactor, ZeroFactor, CustomBlending, Box2, FileLoader, LineSegments, LineBasicMaterial, EdgesGeometry, BoxGeometry, Box3Helper, uiButton, uiFolderContainer, AViewerPluginSync, Importer, generateUUID, DropzonePlugin, Loader, iObjectCommons, Box3B, BaseImporterPlugin, GLTFLoader2, LoaderUtils, ACameraControlsPlugin, uiToggle, serialize, uiInput, uiVector } from "threepipe";
11
10
  function getUrlExtension(url) {
12
11
  if (!url) {
13
12
  return null;
@@ -881,7 +880,7 @@ class TilesRendererBase {
881
880
  }
882
881
  }
883
882
  preprocessNode(tile, tileSetDir, parentTile = null) {
884
- var _a2;
883
+ var _a;
885
884
  if (tile.content) {
886
885
  if (!("uri" in tile.content) && "url" in tile.content) {
887
886
  tile.content.uri = tile.content.url;
@@ -893,7 +892,7 @@ class TilesRendererBase {
893
892
  }
894
893
  tile.parent = parentTile;
895
894
  tile.children = tile.children || [];
896
- if ((_a2 = tile.content) == null ? void 0 : _a2.uri) {
895
+ if ((_a = tile.content) == null ? void 0 : _a.uri) {
897
896
  const extension = getUrlExtension(tile.content.uri);
898
897
  tile.__hasContent = true;
899
898
  tile.__hasUnrenderableContent = Boolean(extension && /json$/.test(extension));
@@ -7566,8 +7565,8 @@ class StructuralMetadata {
7566
7565
  }
7567
7566
  const EXT_NAME$1 = "EXT_structural_metadata";
7568
7567
  function getRelevantTextures(parser, propertyTextures = []) {
7569
- var _a2;
7570
- const textureCount = ((_a2 = parser.json.textures) == null ? void 0 : _a2.length) || 0;
7568
+ var _a;
7569
+ const textureCount = ((_a = parser.json.textures) == null ? void 0 : _a.length) || 0;
7571
7570
  const result = new Array(textureCount).fill(null);
7572
7571
  propertyTextures.forEach(({ properties }) => {
7573
7572
  for (const key in properties) {
@@ -7580,8 +7579,8 @@ function getRelevantTextures(parser, propertyTextures = []) {
7580
7579
  return Promise.all(result);
7581
7580
  }
7582
7581
  function getRelevantBuffers(parser, propertyTables = []) {
7583
- var _a2;
7584
- const textureCount = ((_a2 = parser.json.bufferViews) == null ? void 0 : _a2.length) || 0;
7582
+ var _a;
7583
+ const textureCount = ((_a = parser.json.bufferViews) == null ? void 0 : _a.length) || 0;
7585
7584
  const result = new Array(textureCount).fill(null);
7586
7585
  propertyTables.forEach(({ properties }) => {
7587
7586
  for (const key in properties) {
@@ -7630,10 +7629,10 @@ class GLTFStructuralMetadataExtension {
7630
7629
  const rootMetadata = new StructuralMetadata(rootExtension, textures, buffers);
7631
7630
  scene.userData.structuralMetadata = rootMetadata;
7632
7631
  scene.traverse((child) => {
7633
- var _a2;
7632
+ var _a;
7634
7633
  if (parser.associations.has(child)) {
7635
7634
  const { meshes, primitives } = parser.associations.get(child);
7636
- const primitive = (_a2 = parser.json.meshes[meshes]) == null ? void 0 : _a2.primitives[primitives];
7635
+ const primitive = (_a = parser.json.meshes[meshes]) == null ? void 0 : _a.primitives[primitives];
7637
7636
  if (primitive && primitive.extensions && primitive.extensions[EXT_NAME$1]) {
7638
7637
  const extension = primitive.extensions[EXT_NAME$1];
7639
7638
  child.userData.structuralMetadata = new StructuralMetadata(rootExtension, textures, buffers, extension, child);
@@ -7768,10 +7767,10 @@ class MeshFeatures {
7768
7767
  const EXT_NAME = "EXT_mesh_features";
7769
7768
  function forEachPrimitiveExtension(scene, parser, callback) {
7770
7769
  scene.traverse((c) => {
7771
- var _a2;
7770
+ var _a;
7772
7771
  if (parser.associations.has(c)) {
7773
7772
  const { meshes, primitives } = parser.associations.get(c);
7774
- const primitive = (_a2 = parser.json.meshes[meshes]) == null ? void 0 : _a2.primitives[primitives];
7773
+ const primitive = (_a = parser.json.meshes[meshes]) == null ? void 0 : _a.primitives[primitives];
7775
7774
  if (primitive && primitive.extensions && primitive.extensions[EXT_NAME]) {
7776
7775
  callback(c, primitive.extensions[EXT_NAME]);
7777
7776
  }
@@ -7784,12 +7783,12 @@ class GLTFMeshFeaturesExtension {
7784
7783
  this.name = EXT_NAME;
7785
7784
  }
7786
7785
  async afterRoot({ scene, parser }) {
7787
- var _a2;
7786
+ var _a;
7788
7787
  const extensionsUsed = parser.json.extensionsUsed;
7789
7788
  if (!extensionsUsed || !extensionsUsed.includes(EXT_NAME)) {
7790
7789
  return;
7791
7790
  }
7792
- const textureCount = ((_a2 = parser.json.textures) == null ? void 0 : _a2.length) || 0;
7791
+ const textureCount = ((_a = parser.json.textures) == null ? void 0 : _a.length) || 0;
7793
7792
  const promises = new Array(textureCount).fill(null);
7794
7793
  forEachPrimitiveExtension(scene, parser, (child, { featureIds }) => {
7795
7794
  featureIds.forEach((info) => {
@@ -8664,8 +8663,8 @@ class TilesFadePlugin {
8664
8663
  }
8665
8664
  // initializes the batched mesh if it needs to be, dispose if it it's no longer needed
8666
8665
  initBatchedMesh() {
8667
- var _a2;
8668
- const otherBatchedMesh = (_a2 = this.tiles.getPluginByName("BATCHED_TILES_PLUGIN")) == null ? void 0 : _a2.batchedMesh;
8666
+ var _a;
8667
+ const otherBatchedMesh = (_a = this.tiles.getPluginByName("BATCHED_TILES_PLUGIN")) == null ? void 0 : _a.batchedMesh;
8669
8668
  if (otherBatchedMesh) {
8670
8669
  if (this.batchedMesh === null) {
8671
8670
  this._onBatchedMeshDispose = () => {
@@ -9378,7 +9377,7 @@ class DebugTilesPlugin {
9378
9377
  }
9379
9378
  }
9380
9379
  dispose() {
9381
- var _a2, _b, _c;
9380
+ var _a, _b, _c;
9382
9381
  const tiles = this.tiles;
9383
9382
  if (tiles) {
9384
9383
  tiles.removeEventListener("load-tile-set", this._onLoadTileSetCB);
@@ -9392,7 +9391,7 @@ class DebugTilesPlugin {
9392
9391
  this._onDisposeModel(tile);
9393
9392
  });
9394
9393
  }
9395
- (_a2 = this.boxGroup) == null ? void 0 : _a2.removeFromParent();
9394
+ (_a = this.boxGroup) == null ? void 0 : _a.removeFromParent();
9396
9395
  (_b = this.sphereGroup) == null ? void 0 : _b.removeFromParent();
9397
9396
  (_c = this.regionGroup) == null ? void 0 : _c.removeFromParent();
9398
9397
  }
@@ -10042,7 +10041,7 @@ class ImplicitTilingPlugin {
10042
10041
  this.tiles = tiles;
10043
10042
  }
10044
10043
  preprocessNode(tile, tileSetDir, parentTile) {
10045
- var _a2;
10044
+ var _a;
10046
10045
  if (tile.implicitTiling) {
10047
10046
  tile.__hasUnrenderableContent = true;
10048
10047
  tile.__hasRenderableContent = false;
@@ -10052,7 +10051,7 @@ class ImplicitTilingPlugin {
10052
10051
  tile.__y = 0;
10053
10052
  tile.__z = 0;
10054
10053
  tile.__level = 0;
10055
- } else if (/.subtree$/i.test((_a2 = tile.content) == null ? void 0 : _a2.uri)) {
10054
+ } else if (/.subtree$/i.test((_a = tile.content) == null ? void 0 : _a.uri)) {
10056
10055
  tile.__hasUnrenderableContent = true;
10057
10056
  tile.__hasRenderableContent = false;
10058
10057
  }
@@ -10073,8 +10072,8 @@ class ImplicitTilingPlugin {
10073
10072
  return url;
10074
10073
  }
10075
10074
  disposeTile(tile) {
10076
- var _a2;
10077
- if (/.subtree$/i.test((_a2 = tile.content) == null ? void 0 : _a2.uri)) {
10075
+ var _a;
10076
+ if (/.subtree$/i.test((_a = tile.content) == null ? void 0 : _a.uri)) {
10078
10077
  tile.children.length = 0;
10079
10078
  tile.__childrenProcessed = 0;
10080
10079
  }
@@ -10113,23 +10112,23 @@ const gltfMeshFeaturesExtension = {
10113
10112
  var __defProp$2 = Object.defineProperty;
10114
10113
  var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
10115
10114
  var __decorateClass$2 = (decorators, target, key, kind) => {
10116
- var result = __getOwnPropDesc$2(target, key);
10115
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
10117
10116
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
10118
10117
  if (decorator = decorators[i])
10119
- result = decorator(target, key, result) || result;
10120
- if (result) __defProp$2(target, key, result);
10118
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
10119
+ if (kind && result) __defProp$2(target, key, result);
10121
10120
  return result;
10122
10121
  };
10123
- const _TilesRendererPlugin = (_a = class extends AViewerPluginSync {
10122
+ let TilesRendererPlugin = class extends AViewerPluginSync {
10124
10123
  constructor() {
10125
10124
  super();
10126
10125
  this.enabled = true;
10127
10126
  this.dependencies = [];
10128
10127
  this.objects = [];
10129
- this._importer = new Importer(TilesRendererLoader, [_a.DUMMY_EXT, _a.DUMMY_EXT + ".json"], [], false);
10128
+ this._importer = new Importer(TilesRendererLoader, [TilesRendererPlugin.DUMMY_EXT, TilesRendererPlugin.DUMMY_EXT + ".json"], [], false);
10130
10129
  this._preRender = () => {
10131
- var _a2;
10132
- const camera = (_a2 = this._viewer) == null ? void 0 : _a2.scene.renderCamera;
10130
+ var _a;
10131
+ const camera = (_a = this._viewer) == null ? void 0 : _a.scene.renderCamera;
10133
10132
  if (!this._viewer || !camera) return;
10134
10133
  if (this._viewer.renderManager.frameCount > 0) return;
10135
10134
  camera.updateProjectionMatrix();
@@ -10146,39 +10145,41 @@ const _TilesRendererPlugin = (_a = class extends AViewerPluginSync {
10146
10145
  group.tilesRenderer.setResolutionFromRenderer(this._viewer.scene.mainCamera, this._viewer.renderManager.webglRenderer);
10147
10146
  }
10148
10147
  };
10149
- this._addSceneObject = (e) => {
10150
- const object = e.object;
10151
- const group = object;
10152
- if (!group || !group.tilesRenderer || !this._viewer) return;
10153
- if (!this._cachedRefs) {
10154
- this._cachedRefs = {
10155
- lruCache: group.tilesRenderer.lruCache,
10156
- downloadQueue: group.tilesRenderer.downloadQueue,
10157
- parseQueue: group.tilesRenderer.parseQueue,
10158
- // @ts-expect-error not in ts
10159
- processNodeQueue: group.tilesRenderer.processNodeQueue
10160
- };
10161
- } else {
10162
- group.tilesRenderer.lruCache = this._cachedRefs.lruCache;
10163
- group.tilesRenderer.downloadQueue = this._cachedRefs.downloadQueue;
10164
- group.tilesRenderer.parseQueue = this._cachedRefs.parseQueue;
10165
- group.tilesRenderer.processNodeQueue = this._cachedRefs.processNodeQueue;
10166
- }
10167
- this.objects.push(group);
10168
- group.tilesRenderer.registerPlugin({
10169
- dispose: () => {
10170
- const index = this.objects.indexOf(group);
10171
- if (index !== -1) this.objects.splice(index, 1);
10172
- this.dispatchEvent({ type: "removeTile", group });
10148
+ this._objectExt = {
10149
+ uuid: "TilesRendererPluginObjectExt",
10150
+ isCompatible: (o) => !!o.tilesRenderer,
10151
+ onRegister: (group) => {
10152
+ if (!group || !group.tilesRenderer || !this._viewer) return;
10153
+ if (!this._cachedRefs) {
10154
+ this._cachedRefs = {
10155
+ lruCache: group.tilesRenderer.lruCache,
10156
+ downloadQueue: group.tilesRenderer.downloadQueue,
10157
+ parseQueue: group.tilesRenderer.parseQueue,
10158
+ // @ts-expect-error not in ts
10159
+ processNodeQueue: group.tilesRenderer.processNodeQueue
10160
+ };
10161
+ } else {
10162
+ group.tilesRenderer.lruCache = this._cachedRefs.lruCache;
10163
+ group.tilesRenderer.downloadQueue = this._cachedRefs.downloadQueue;
10164
+ group.tilesRenderer.parseQueue = this._cachedRefs.parseQueue;
10165
+ group.tilesRenderer.processNodeQueue = this._cachedRefs.processNodeQueue;
10173
10166
  }
10174
- });
10175
- group.tilesRenderer.setCamera(this._viewer.scene.mainCamera);
10176
- group.tilesRenderer.setResolutionFromRenderer(this._viewer.scene.mainCamera, this._viewer.renderManager.webglRenderer);
10177
- group.tilesRenderer.update();
10178
- group.addEventListener("dispose", () => {
10179
- group.tilesRenderer.dispose();
10180
- });
10181
- this.dispatchEvent({ type: "addTile", group });
10167
+ this.objects.push(group);
10168
+ group.tilesRenderer.registerPlugin({
10169
+ dispose: () => {
10170
+ const index = this.objects.indexOf(group);
10171
+ if (index !== -1) this.objects.splice(index, 1);
10172
+ this.dispatchEvent({ type: "removeTile", group });
10173
+ }
10174
+ });
10175
+ group.tilesRenderer.setCamera(this._viewer.scene.mainCamera);
10176
+ group.tilesRenderer.setResolutionFromRenderer(this._viewer.scene.mainCamera, this._viewer.renderManager.webglRenderer);
10177
+ group.tilesRenderer.update();
10178
+ group.addEventListener("dispose", () => {
10179
+ group.tilesRenderer.dispose();
10180
+ });
10181
+ this.dispatchEvent({ type: "addTile", group });
10182
+ }
10182
10183
  };
10183
10184
  }
10184
10185
  async load(url, options) {
@@ -10186,7 +10187,7 @@ const _TilesRendererPlugin = (_a = class extends AViewerPluginSync {
10186
10187
  console.warn("TilesRendererPlugin: viewer not set");
10187
10188
  return;
10188
10189
  }
10189
- const temp = generateUUID() + "." + _a.DUMMY_EXT;
10190
+ const temp = generateUUID() + "." + TilesRendererPlugin.DUMMY_EXT;
10190
10191
  const importer = this._viewer.assetManager.importer.registerFile(temp);
10191
10192
  if (!importer.isTilesRendererLoader) {
10192
10193
  console.warn("TilesRendererPlugin: TilesRendererLoader not registered");
@@ -10194,12 +10195,15 @@ const _TilesRendererPlugin = (_a = class extends AViewerPluginSync {
10194
10195
  }
10195
10196
  return await this._viewer.load(url, {
10196
10197
  ...options,
10197
- fileExtension: _a.DUMMY_EXT,
10198
+ fileExtension: TilesRendererPlugin.DUMMY_EXT,
10198
10199
  fileHandler: importer
10200
+ }).finally(() => {
10201
+ var _a;
10202
+ (_a = this._viewer) == null ? void 0 : _a.assetManager.importer.unregisterFile(temp);
10199
10203
  });
10200
10204
  }
10201
10205
  async loadCesiumIon(info, options) {
10202
- const file = generateUUID() + "." + _a.DUMMY_EXT;
10206
+ const file = generateUUID() + "." + TilesRendererPlugin.DUMMY_EXT;
10203
10207
  return this.load(file, {
10204
10208
  ...options,
10205
10209
  tiles: {
@@ -10218,7 +10222,7 @@ const _TilesRendererPlugin = (_a = class extends AViewerPluginSync {
10218
10222
  viewer.assetManager.registerGltfExtension(gltfStructuralMetadataExtension);
10219
10223
  viewer.assetManager.registerGltfExtension(gltfMeshFeaturesExtension);
10220
10224
  viewer.assetManager.importer.addImporter(this._importer);
10221
- viewer.scene.addEventListener("addSceneObject", this._addSceneObject);
10225
+ viewer.object3dManager.registerObjectExtension(this._objectExt);
10222
10226
  viewer.renderManager.addEventListener("preRender", this._preRender);
10223
10227
  viewer.renderManager.addEventListener("resize", this._resize);
10224
10228
  }
@@ -10227,22 +10231,27 @@ const _TilesRendererPlugin = (_a = class extends AViewerPluginSync {
10227
10231
  viewer.assetManager.unregisterGltfExtension(gltfCesiumRTCExtension.name);
10228
10232
  viewer.assetManager.unregisterGltfExtension(gltfStructuralMetadataExtension.name);
10229
10233
  viewer.assetManager.unregisterGltfExtension(gltfMeshFeaturesExtension.name);
10230
- viewer.scene.removeEventListener("addSceneObject", this._addSceneObject);
10234
+ viewer.object3dManager.unregisterObjectExtension(this._objectExt);
10231
10235
  viewer.renderManager.removeEventListener("preRender", this._preRender);
10232
10236
  viewer.renderManager.removeEventListener("resize", this._resize);
10233
10237
  super.onRemove(viewer);
10234
10238
  }
10235
10239
  async promptForURL() {
10236
- var _a2;
10237
- const url = await ((_a2 = this._viewer) == null ? void 0 : _a2.dialog.prompt("TilesRendererPlugin: Enter URL for the root tileset", "", true));
10240
+ var _a, _b;
10241
+ const url = await ((_a = this._viewer) == null ? void 0 : _a.dialog.prompt("TilesRendererPlugin: Enter URL for the root tileset", "", true));
10238
10242
  if (!url) return;
10239
- return this.load(url);
10243
+ const loader = ((_b = this._viewer) == null ? void 0 : _b.getPlugin(DropzonePlugin)) ?? this._viewer ?? this;
10244
+ return await loader.load(url, { fileExtension: TilesRendererPlugin.DUMMY_EXT });
10240
10245
  }
10241
- }, _a.PluginType = "TilesRendererPlugin", _a.DUMMY_EXT = "tileset", _a);
10246
+ };
10247
+ TilesRendererPlugin.PluginType = "TilesRendererPlugin";
10248
+ TilesRendererPlugin.DUMMY_EXT = "tileset";
10242
10249
  __decorateClass$2([
10243
10250
  uiButton()
10244
- ], _TilesRendererPlugin.prototype, "promptForURL");
10245
- let TilesRendererPlugin = _TilesRendererPlugin;
10251
+ ], TilesRendererPlugin.prototype, "promptForURL", 1);
10252
+ TilesRendererPlugin = __decorateClass$2([
10253
+ uiFolderContainer("3D Tiles")
10254
+ ], TilesRendererPlugin);
10246
10255
  class TilesRendererLoader extends Loader {
10247
10256
  constructor(manager) {
10248
10257
  super(manager);
@@ -10263,11 +10272,11 @@ class TilesRendererLoader extends Loader {
10263
10272
  return tiles;
10264
10273
  }
10265
10274
  load(url, onLoad, _onProgress, _onError) {
10266
- var _a2;
10275
+ var _a;
10267
10276
  const tiles = this._createTilesRenderer(url);
10268
10277
  const group = iObjectCommons.upgradeObject3D.call(tiles.group);
10269
10278
  group.autoUpgradeChildren = false;
10270
- const opts = ((_a2 = this.importOptions) == null ? void 0 : _a2.tiles) ?? {};
10279
+ const opts = ((_a = this.importOptions) == null ? void 0 : _a.tiles) ?? {};
10271
10280
  tiles.errorTarget = opts.errorTarget ?? 1;
10272
10281
  const plugins = [...this.plugins, ...opts.plugins ?? []];
10273
10282
  for (const plugin of plugins) {
@@ -10300,7 +10309,20 @@ class TilesRendererLoader extends Loader {
10300
10309
  });
10301
10310
  tiles.addEventListener("load-tile-set", (e) => {
10302
10311
  const isRoot = e.tileSet === tiles.rootTileSet;
10303
- if (isRoot && resolve) resolve();
10312
+ if (isRoot && resolve) {
10313
+ resolve();
10314
+ }
10315
+ });
10316
+ group.userData.rootPathRefresh = true;
10317
+ group._rootPathRefreshed = true;
10318
+ group._sChildren = [];
10319
+ tiles.registerPlugin({
10320
+ processTileModel: (model, tile) => {
10321
+ var _a2;
10322
+ if (tile === ((_a2 = tiles.rootTileSet) == null ? void 0 : _a2.root)) {
10323
+ group._sChildren = [model];
10324
+ }
10325
+ }
10304
10326
  });
10305
10327
  const ai = this.ai;
10306
10328
  if (ai) {
@@ -10358,16 +10380,16 @@ class B3DMLoader2 extends GLTFLoader2 {
10358
10380
  return super.transform(res, options);
10359
10381
  }
10360
10382
  parse(data, _path, onLoad, onError, _url) {
10361
- var _a2;
10383
+ var _a;
10362
10384
  if (!this.ai) {
10363
10385
  console.error("[B3DMLoader] load failed, IAssetImporter not set");
10364
10386
  }
10365
10387
  const tmpFile = generateUUID() + ".gltf";
10366
- (_a2 = this.ai) == null ? void 0 : _a2.registerFile(tmpFile);
10388
+ (_a = this.ai) == null ? void 0 : _a.registerFile(tmpFile);
10367
10389
  this.loader.workingPath = _path;
10368
10390
  this.loader.parse(data).then(onLoad).catch(onError).finally(() => {
10369
- var _a3;
10370
- if (tmpFile) (_a3 = this.ai) == null ? void 0 : _a3.unregisterFile(tmpFile);
10391
+ var _a2;
10392
+ if (tmpFile) (_a2 = this.ai) == null ? void 0 : _a2.unregisterFile(tmpFile);
10371
10393
  });
10372
10394
  }
10373
10395
  }
@@ -10395,16 +10417,16 @@ class I3DMLoader2 extends GLTFLoader2 {
10395
10417
  return super.transform(res, options);
10396
10418
  }
10397
10419
  parse(data, _path, onLoad, onError, _url) {
10398
- var _a2;
10420
+ var _a;
10399
10421
  if (!this.ai) {
10400
10422
  console.error("[I3DMLoader] load failed, IAssetImporter not set");
10401
10423
  }
10402
10424
  const tmpFile = generateUUID() + ".gltf";
10403
- (_a2 = this.ai) == null ? void 0 : _a2.registerFile(tmpFile);
10425
+ (_a = this.ai) == null ? void 0 : _a.registerFile(tmpFile);
10404
10426
  this.loader.workingPath = _path;
10405
10427
  this.loader.parse(data).then(onLoad).catch(onError).finally(() => {
10406
- var _a3;
10407
- if (tmpFile) (_a3 = this.ai) == null ? void 0 : _a3.unregisterFile(tmpFile);
10428
+ var _a2;
10429
+ if (tmpFile) (_a2 = this.ai) == null ? void 0 : _a2.unregisterFile(tmpFile);
10408
10430
  });
10409
10431
  }
10410
10432
  }
@@ -10468,16 +10490,16 @@ class PNTSLoader2 extends Loader {
10468
10490
  return res.scene;
10469
10491
  }
10470
10492
  parse(data, _path, onLoad, onError, _url) {
10471
- var _a2;
10493
+ var _a;
10472
10494
  if (!this.ai) {
10473
10495
  console.error("[PNTSLoader] load failed, IAssetImporter not set");
10474
10496
  }
10475
10497
  const tmpFile = generateUUID() + ".drc";
10476
- (_a2 = this.ai) == null ? void 0 : _a2.registerFile(tmpFile);
10498
+ (_a = this.ai) == null ? void 0 : _a.registerFile(tmpFile);
10477
10499
  this.loader.workingPath = _path;
10478
10500
  this.loader.parse(data).then(onLoad).catch(onError).finally(() => {
10479
- var _a3;
10480
- if (tmpFile) (_a3 = this.ai) == null ? void 0 : _a3.unregisterFile(tmpFile);
10501
+ var _a2;
10502
+ if (tmpFile) (_a2 = this.ai) == null ? void 0 : _a2.unregisterFile(tmpFile);
10481
10503
  });
10482
10504
  }
10483
10505
  }
@@ -10541,12 +10563,12 @@ class CMPTLoader2 extends Loader {
10541
10563
  return res.scene;
10542
10564
  }
10543
10565
  parse(data, _path, onLoad, onError, _url) {
10544
- var _a2, _b;
10566
+ var _a, _b;
10545
10567
  if (!this.ai) {
10546
10568
  console.error("[CMPTLoader] load failed, IAssetImporter not set");
10547
10569
  }
10548
10570
  const tmpFile = generateUUID();
10549
- (_a2 = this.ai) == null ? void 0 : _a2.registerFile(tmpFile + ".gltf");
10571
+ (_a = this.ai) == null ? void 0 : _a.registerFile(tmpFile + ".gltf");
10550
10572
  (_b = this.ai) == null ? void 0 : _b.registerFile(tmpFile + ".drc");
10551
10573
  this.loader.workingPath = _path;
10552
10574
  this.loader.parse(data).then(onLoad).catch(onError).finally(() => {