@threepipe/plugin-3d-tiles-renderer 0.2.1 → 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.
@@ -1,4 +1,4 @@
1
- import { AViewerPluginEventMap, AViewerPluginSync, IAssetImporter, ILoader, Importer, IObject3D, Loader, ImportAddOptions, LoadingManager, ThreeViewer } from 'threepipe';
1
+ import { AViewerPluginEventMap, AViewerPluginSync, IAssetImporter, ILoader, ImportAddOptions, Importer, IObject3D, Loader, LoadingManager, ThreeViewer } from 'threepipe';
2
2
  import { TilesGroup, TilesRenderer } from '3d-tiles-renderer';
3
3
  export type TilesRendererGroup = TilesGroup & IObject3D;
4
4
  export interface TilesRendererPluginEventMap extends AViewerPluginEventMap {
@@ -29,7 +29,7 @@ export declare class TilesRendererPlugin extends AViewerPluginSync<TilesRenderer
29
29
  private _preRender;
30
30
  private _resize;
31
31
  private _cachedRefs?;
32
- private _addSceneObject;
32
+ private _objectExt;
33
33
  promptForURL(): Promise<(IObject3D<import('threepipe').IObject3DEventMap> & import('threepipe').ImportResultExtras) | (import('threepipe').ITexture<import('threepipe').TextureEventMap> & import('threepipe').ImportResultExtras) | (import('threepipe').ICamera<import('threepipe').ICameraEventMap> & import('threepipe').ImportResultExtras) | (import('threepipe').ISerializedConfig & import('threepipe').ImportResultExtras) | (import('threepipe').RootSceneImportResult & import('threepipe').ImportResultExtras) | (import('threepipe').IMaterial<import('threepipe').IMaterialEventMap> & import('threepipe').ImportResultExtras) | import('threepipe').ImportResult[] | TilesRendererGroup | undefined>;
34
34
  }
35
35
  export declare class TilesRendererLoader extends Loader implements ILoader<TilesRendererGroup> {
@@ -1 +1 @@
1
- {"version":3,"file":"TilesRendererPlugin.d.ts","sourceRoot":"","sources":["../src/TilesRendererPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,iBAAiB,EAIjB,cAAc,EACd,OAAO,EACP,QAAQ,EACR,SAAS,EAMT,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,WAAW,EAEd,MAAM,WAAW,CAAA;AAClB,OAAO,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAK3D,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,CAAA;AAEvD,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACtE,OAAO,EAAE;QAAC,KAAK,EAAE,kBAAkB,CAAA;KAAC,CAAA;IACpC,UAAU,EAAE;QAAC,KAAK,EAAE,kBAAkB,CAAA;KAAC,CAAA;CAC1C;AAED;;;;GAIG;AACH,qBACa,mBAAoB,SAAQ,iBAAiB,CAAC,2BAA2B,CAAC;IACnF,gBAAuB,UAAU,EAAE,MAAM,CAAwB;IACjE,OAAO,UAAO;IACd,YAAY,UAAK;IAEjB,MAAM,CAAC,QAAQ,CAAC,SAAS,aAAY;IAErC,OAAO,EAAE,kBAAkB,EAAE,CAAK;IAElC,SAAS,CAAC,SAAS,gCAAyH;;IAMtI,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAoB5C,aAAa,CAAC,IAAI,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAW/F,OAAO,CAAC,MAAM,EAAE,WAAW;IAiB3B,QAAQ,CAAC,MAAM,EAAE,WAAW;IAc5B,OAAO,CAAC,UAAU,CAcjB;IAsBD,OAAO,CAAC,OAAO,CAKd;IAED,OAAO,CAAC,WAAW,CAAC,CAA2F;IAE/G,OAAO,CAAC,eAAe,CAwCtB;IAGK,YAAY;CAMrB;AAED,qBAAa,mBAAoB,SAAQ,MAAO,YAAW,OAAO,CAAC,kBAAkB,CAAC;IAClF,qBAAqB,UAAO;IAC5B,EAAE,CAAC,EAAE,cAAc,CAAA;IACnB,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAEhC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,KAAG,MAAM,GAAC,SAAS,CAAC,EAAE,CAKhF;gBAEW,OAAO,EAAE,cAAc;IAInC,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM;IAW1C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI;CA8FrI;AAED,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,eAAe,CAAC,EAAE,OAAO,GAAG;QACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;KACzB,CAAA;IACD,mBAAmB,CAAC,EAAE,OAAO,GAAG;QAC5B,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAC7B,CAAA;IACD,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,KAAG,MAAM,GAAC,SAAS,CAAC,EAAE,CAAA;CACxF;AAED,OAAO,QAAQ,WAAW,CAAA;IACtB,UAAU,gBAAgB;QACtB,KAAK,CAAC,EAAE,kBAAkB,CAAA;KAC7B;CACJ"}
1
+ {"version":3,"file":"TilesRendererPlugin.d.ts","sourceRoot":"","sources":["../src/TilesRendererPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,iBAAiB,EAKjB,cAAc,EACd,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,SAAS,EAIT,MAAM,EACN,cAAc,EAGd,WAAW,EAId,MAAM,WAAW,CAAA;AAClB,OAAO,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAU3D,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,CAAA;AAEvD,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACtE,OAAO,EAAE;QAAC,KAAK,EAAE,kBAAkB,CAAA;KAAC,CAAA;IACpC,UAAU,EAAE;QAAC,KAAK,EAAE,kBAAkB,CAAA;KAAC,CAAA;CAC1C;AAED;;;;GAIG;AACH,qBACa,mBAAoB,SAAQ,iBAAiB,CAAC,2BAA2B,CAAC;IACnF,gBAAuB,UAAU,EAAE,MAAM,CAAwB;IACjE,OAAO,UAAO;IACd,YAAY,UAAK;IAEjB,MAAM,CAAC,QAAQ,CAAC,SAAS,aAAY;IAErC,OAAO,EAAE,kBAAkB,EAAE,CAAK;IAElC,SAAS,CAAC,SAAS,gCAAyH;;IAMtI,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAoB5C,aAAa,CAAC,IAAI,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAW/F,OAAO,CAAC,MAAM,EAAE,WAAW;IAkB3B,QAAQ,CAAC,MAAM,EAAE,WAAW;IAe5B,OAAO,CAAC,UAAU,CAcjB;IAsBD,OAAO,CAAC,OAAO,CAKd;IAED,OAAO,CAAC,WAAW,CAAC,CAA2F;IAE/G,OAAO,CAAC,UAAU,CAyCjB;IAGK,YAAY;CAMrB;AAED,qBAAa,mBAAoB,SAAQ,MAAO,YAAW,OAAO,CAAC,kBAAkB,CAAC;IAClF,qBAAqB,UAAO;IAC5B,EAAE,CAAC,EAAE,cAAc,CAAA;IACnB,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAEhC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,KAAG,MAAM,GAAC,SAAS,CAAC,EAAE,CAKhF;gBAEW,OAAO,EAAE,cAAc;IAInC,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM;IAW1C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI;CA2GrI;AAED,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,eAAe,CAAC,EAAE,OAAO,GAAG;QACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;KACzB,CAAA;IACD,mBAAmB,CAAC,EAAE,OAAO,GAAG;QAC5B,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAC7B,CAAA;IACD,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,KAAG,MAAM,GAAC,SAAS,CAAC,EAAE,CAAA;CACxF;AAED,OAAO,QAAQ,WAAW,CAAA;IACtB,UAAU,gBAAgB;QACtB,KAAK,CAAC,EAAE,kBAAkB,CAAA;KAC7B;CACJ"}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  })(this, function(exports2, THREE) {
4
4
  "use strict";/**
5
5
  * @license
6
- * @threepipe/plugin-3d-tiles-renderer v0.2.1
6
+ * @threepipe/plugin-3d-tiles-renderer v0.3.0
7
7
  * Copyright 2022-2025 repalash <palash@shaders.app>
8
8
  * Apache-2.0 License
9
9
  * See ./dependencies.txt for any bundled third-party dependencies and licenses.
@@ -10164,39 +10164,41 @@
10164
10164
  group.tilesRenderer.setResolutionFromRenderer(this._viewer.scene.mainCamera, this._viewer.renderManager.webglRenderer);
10165
10165
  }
10166
10166
  };
10167
- this._addSceneObject = (e) => {
10168
- const object = e.object;
10169
- const group = object;
10170
- if (!group || !group.tilesRenderer || !this._viewer) return;
10171
- if (!this._cachedRefs) {
10172
- this._cachedRefs = {
10173
- lruCache: group.tilesRenderer.lruCache,
10174
- downloadQueue: group.tilesRenderer.downloadQueue,
10175
- parseQueue: group.tilesRenderer.parseQueue,
10176
- // @ts-expect-error not in ts
10177
- processNodeQueue: group.tilesRenderer.processNodeQueue
10178
- };
10179
- } else {
10180
- group.tilesRenderer.lruCache = this._cachedRefs.lruCache;
10181
- group.tilesRenderer.downloadQueue = this._cachedRefs.downloadQueue;
10182
- group.tilesRenderer.parseQueue = this._cachedRefs.parseQueue;
10183
- group.tilesRenderer.processNodeQueue = this._cachedRefs.processNodeQueue;
10184
- }
10185
- this.objects.push(group);
10186
- group.tilesRenderer.registerPlugin({
10187
- dispose: () => {
10188
- const index = this.objects.indexOf(group);
10189
- if (index !== -1) this.objects.splice(index, 1);
10190
- this.dispatchEvent({ type: "removeTile", group });
10167
+ this._objectExt = {
10168
+ uuid: "TilesRendererPluginObjectExt",
10169
+ isCompatible: (o) => !!o.tilesRenderer,
10170
+ onRegister: (group) => {
10171
+ if (!group || !group.tilesRenderer || !this._viewer) return;
10172
+ if (!this._cachedRefs) {
10173
+ this._cachedRefs = {
10174
+ lruCache: group.tilesRenderer.lruCache,
10175
+ downloadQueue: group.tilesRenderer.downloadQueue,
10176
+ parseQueue: group.tilesRenderer.parseQueue,
10177
+ // @ts-expect-error not in ts
10178
+ processNodeQueue: group.tilesRenderer.processNodeQueue
10179
+ };
10180
+ } else {
10181
+ group.tilesRenderer.lruCache = this._cachedRefs.lruCache;
10182
+ group.tilesRenderer.downloadQueue = this._cachedRefs.downloadQueue;
10183
+ group.tilesRenderer.parseQueue = this._cachedRefs.parseQueue;
10184
+ group.tilesRenderer.processNodeQueue = this._cachedRefs.processNodeQueue;
10191
10185
  }
10192
- });
10193
- group.tilesRenderer.setCamera(this._viewer.scene.mainCamera);
10194
- group.tilesRenderer.setResolutionFromRenderer(this._viewer.scene.mainCamera, this._viewer.renderManager.webglRenderer);
10195
- group.tilesRenderer.update();
10196
- group.addEventListener("dispose", () => {
10197
- group.tilesRenderer.dispose();
10198
- });
10199
- this.dispatchEvent({ type: "addTile", group });
10186
+ this.objects.push(group);
10187
+ group.tilesRenderer.registerPlugin({
10188
+ dispose: () => {
10189
+ const index = this.objects.indexOf(group);
10190
+ if (index !== -1) this.objects.splice(index, 1);
10191
+ this.dispatchEvent({ type: "removeTile", group });
10192
+ }
10193
+ });
10194
+ group.tilesRenderer.setCamera(this._viewer.scene.mainCamera);
10195
+ group.tilesRenderer.setResolutionFromRenderer(this._viewer.scene.mainCamera, this._viewer.renderManager.webglRenderer);
10196
+ group.tilesRenderer.update();
10197
+ group.addEventListener("dispose", () => {
10198
+ group.tilesRenderer.dispose();
10199
+ });
10200
+ this.dispatchEvent({ type: "addTile", group });
10201
+ }
10200
10202
  };
10201
10203
  }
10202
10204
  async load(url, options) {
@@ -10239,7 +10241,7 @@
10239
10241
  viewer.assetManager.registerGltfExtension(gltfStructuralMetadataExtension);
10240
10242
  viewer.assetManager.registerGltfExtension(gltfMeshFeaturesExtension);
10241
10243
  viewer.assetManager.importer.addImporter(this._importer);
10242
- viewer.scene.addEventListener("addSceneObject", this._addSceneObject);
10244
+ viewer.object3dManager.registerObjectExtension(this._objectExt);
10243
10245
  viewer.renderManager.addEventListener("preRender", this._preRender);
10244
10246
  viewer.renderManager.addEventListener("resize", this._resize);
10245
10247
  }
@@ -10248,7 +10250,7 @@
10248
10250
  viewer.assetManager.unregisterGltfExtension(gltfCesiumRTCExtension.name);
10249
10251
  viewer.assetManager.unregisterGltfExtension(gltfStructuralMetadataExtension.name);
10250
10252
  viewer.assetManager.unregisterGltfExtension(gltfMeshFeaturesExtension.name);
10251
- viewer.scene.removeEventListener("addSceneObject", this._addSceneObject);
10253
+ viewer.object3dManager.unregisterObjectExtension(this._objectExt);
10252
10254
  viewer.renderManager.removeEventListener("preRender", this._preRender);
10253
10255
  viewer.renderManager.removeEventListener("resize", this._resize);
10254
10256
  super.onRemove(viewer);
@@ -10326,7 +10328,20 @@
10326
10328
  });
10327
10329
  tiles.addEventListener("load-tile-set", (e) => {
10328
10330
  const isRoot = e.tileSet === tiles.rootTileSet;
10329
- if (isRoot && resolve) resolve();
10331
+ if (isRoot && resolve) {
10332
+ resolve();
10333
+ }
10334
+ });
10335
+ group.userData.rootPathRefresh = true;
10336
+ group._rootPathRefreshed = true;
10337
+ group._sChildren = [];
10338
+ tiles.registerPlugin({
10339
+ processTileModel: (model, tile) => {
10340
+ var _a2;
10341
+ if (tile === ((_a2 = tiles.rootTileSet) == null ? void 0 : _a2.root)) {
10342
+ group._sChildren = [model];
10343
+ }
10344
+ }
10330
10345
  });
10331
10346
  const ai = this.ai;
10332
10347
  if (ai) {