@roomle/web-sdk 3.5.0-alpha.6 → 3.5.0-alpha.7

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.
Files changed (49) hide show
  1. package/lib/{BufferGeometry-C5PaqnlF.mjs → BufferGeometry-CmPnUXL9.mjs} +2 -2
  2. package/lib/{BufferGeometry-C5PaqnlF.mjs.map → BufferGeometry-CmPnUXL9.mjs.map} +1 -1
  3. package/lib/ConfiguratorKernel.wasm +0 -0
  4. package/lib/{GLTFExporter-Bc1T3Kns.mjs → GLTFExporter-DW7OjxyC.mjs} +2 -2
  5. package/lib/{GLTFExporter-Bc1T3Kns.mjs.map → GLTFExporter-DW7OjxyC.mjs.map} +1 -1
  6. package/lib/{PointLightHelper-DONdIJ4U.mjs → PointLightHelper-ojkpF9YZ.mjs} +3 -3
  7. package/lib/{PointLightHelper-DONdIJ4U.mjs.map → PointLightHelper-ojkpF9YZ.mjs.map} +1 -1
  8. package/lib/RoomleCore.wasm +0 -0
  9. package/lib/RoomleToolsCore.wasm +0 -0
  10. package/lib/{SpotLightHelper-6q1d8uyo.mjs → SpotLightHelper-BTTL0nW2.mjs} +3 -3
  11. package/lib/{SpotLightHelper-6q1d8uyo.mjs.map → SpotLightHelper-BTTL0nW2.mjs.map} +1 -1
  12. package/lib/{USDZExporter-DohhXkEl.mjs → USDZExporter-DIPPFtSB.mjs} +2 -2
  13. package/lib/{USDZExporter-DohhXkEl.mjs.map → USDZExporter-DIPPFtSB.mjs.map} +1 -1
  14. package/lib/{banana-for-scale-oFa02W8M.mjs → banana-for-scale-DAIsMMIn.mjs} +2 -2
  15. package/lib/{banana-for-scale-oFa02W8M.mjs.map → banana-for-scale-DAIsMMIn.mjs.map} +1 -1
  16. package/lib/{component-dimensioning-BfNHUmhv.mjs → component-dimensioning-CNwPg38G.mjs} +2 -2
  17. package/lib/{component-dimensioning-BfNHUmhv.mjs.map → component-dimensioning-CNwPg38G.mjs.map} +1 -1
  18. package/lib/{continuous-drawing-helper-CvrcZdxu.mjs → continuous-drawing-helper-CnFmGKg6.mjs} +2 -2
  19. package/lib/{continuous-drawing-helper-CvrcZdxu.mjs.map → continuous-drawing-helper-CnFmGKg6.mjs.map} +1 -1
  20. package/lib/{homag-intelligence-CHxxEgFU.mjs → homag-intelligence-Crywc1cv.mjs} +2 -2
  21. package/lib/{homag-intelligence-CHxxEgFU.mjs.map → homag-intelligence-Crywc1cv.mjs.map} +1 -1
  22. package/lib/{imos-ix-poc-export-helper-CsvSyio6.mjs → imos-ix-poc-export-helper-MCBCCLPs.mjs} +2 -2
  23. package/lib/{imos-ix-poc-export-helper-CsvSyio6.mjs.map → imos-ix-poc-export-helper-MCBCCLPs.mjs.map} +1 -1
  24. package/lib/{index-CCTJ-3R5.mjs → index-C1huN1fk.mjs} +1611 -1592
  25. package/lib/index-C1huN1fk.mjs.map +1 -0
  26. package/lib/{material-viewer-DLl0eAAq.mjs → material-viewer-_HSYoGPF.mjs} +25 -25
  27. package/lib/material-viewer-_HSYoGPF.mjs.map +1 -0
  28. package/lib/roomle-sdk.d.ts +19 -15
  29. package/lib/roomle-sdk.js +1 -1
  30. package/lib/static/roomle-core-hsc/ConfiguratorKernel.wasm +0 -0
  31. package/lib/static/roomle-core-hsc/RoomleCore.wasm +0 -0
  32. package/lib/static/roomle-core-hsc/RoomleToolsCore.wasm +0 -0
  33. package/lib/static/roomle-core-hsc/embind/plannerCoreInterface.d.ts +2 -0
  34. package/lib/static/roomle-core-hsc/package.json +1 -1
  35. package/lib/static/roomle-core-hsc/plannerCoreInterface.d.ts +2 -0
  36. package/lib/static/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts +2 -0
  37. package/lib/static/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  38. package/lib/static/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  39. package/lib/static/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  40. package/lib/{stats-helper-Br9aehyo.mjs → stats-helper-C-QaGBA3.mjs} +2 -2
  41. package/lib/{stats-helper-Br9aehyo.mjs.map → stats-helper-C-QaGBA3.mjs.map} +1 -1
  42. package/lib/{three.webgpu-D7vLMMos.mjs → three.webgpu-DhynQsZp.mjs} +3 -3
  43. package/lib/{three.webgpu-D7vLMMos.mjs.map → three.webgpu-DhynQsZp.mjs.map} +1 -1
  44. package/lib/{tools-core-BCbuVcR9.mjs → tools-core-D22lSr0f.mjs} +10 -8
  45. package/lib/tools-core-D22lSr0f.mjs.map +1 -0
  46. package/package.json +1 -1
  47. package/lib/index-CCTJ-3R5.mjs.map +0 -1
  48. package/lib/material-viewer-DLl0eAAq.mjs.map +0 -1
  49. package/lib/tools-core-BCbuVcR9.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import { C as I, S as F, a as R, b as T, i as f, D as C, c as A, P as U, B as y, M as B, d as D, e as k, f as w, g as S, h as v, s as L, j as P, k as x, l as V, F as O, m as z, n as b, o as G, T as H, p as j, q as N, R as d, r as s, U as W, t as m, u as q, L as X, I as Y, v as E, w as Z, x as $, y as J, z as K, A as Q } from "./index-CCTJ-3R5.mjs";
1
+ import { C as I, S as F, a as R, b as T, i as f, D as C, c as A, P as U, B as y, M as B, d as D, e as k, f as w, g as S, h as v, s as L, j as P, k as x, l as V, F as O, m as z, n as b, o as G, T as H, p as j, q as N, R as d, r as s, U as W, t as m, u as q, L as X, I as Y, v as E, w as Z, x as $, y as J, z as K, A as Q } from "./index-C1huN1fk.mjs";
2
2
  class ee extends I {
3
3
  get cameraControl() {
4
4
  return this._cameraControl;
@@ -45,7 +45,7 @@ class c extends F {
45
45
  const { initialFloorMaterial: r } = this._initData;
46
46
  if (r ? this.changeFloorMaterialById(r) : this._environment = new k(
47
47
  this._scene,
48
- null,
48
+ void 0,
49
49
  new w(16777215)
50
50
  ), this.cameraBehaviour.cameraControl instanceof S) {
51
51
  const a = new v();
@@ -85,7 +85,7 @@ class c extends F {
85
85
  createCameraControl(e, t) {
86
86
  this._changeCameraBehaviour(
87
87
  new ee(
88
- new S(this._creator_, this._getInputManager(), null),
88
+ new S(this._creator_, this._getInputManager(), void 0),
89
89
  this._cameraBehaviourState
90
90
  )
91
91
  );
@@ -202,12 +202,12 @@ g([
202
202
  g([
203
203
  s
204
204
  ], c.prototype, "_rapiAccess");
205
- var ae = Object.defineProperty, h = (o, e, t, r) => {
205
+ var ae = Object.defineProperty, l = (o, e, t, r) => {
206
206
  for (var a = void 0, n = o.length - 1, _; n >= 0; n--)
207
207
  (_ = o[n]) && (a = _(e, t, a) || a);
208
208
  return a && ae(e, t, a), a;
209
209
  };
210
- class l {
210
+ class h {
211
211
  constructor(e) {
212
212
  this._creator_ = e;
213
213
  }
@@ -370,33 +370,33 @@ class l {
370
370
  return this._globalCallback;
371
371
  }
372
372
  }
373
- h([
373
+ l([
374
374
  s
375
- ], l.prototype, "_domHelper");
376
- h([
375
+ ], h.prototype, "_domHelper");
376
+ l([
377
377
  s
378
- ], l.prototype, "_scriptLoader");
379
- h([
378
+ ], h.prototype, "_scriptLoader");
379
+ l([
380
380
  s
381
- ], l.prototype, "_lifeCycleManager");
382
- h([
381
+ ], h.prototype, "_lifeCycleManager");
382
+ l([
383
383
  s
384
- ], l.prototype, "_roomleMaterialViewerUiCallback");
385
- h([
384
+ ], h.prototype, "_roomleMaterialViewerUiCallback");
385
+ l([
386
386
  s
387
- ], l.prototype, "_initData");
388
- h([
387
+ ], h.prototype, "_initData");
388
+ l([
389
389
  s
390
- ], l.prototype, "_globalCallback");
391
- h([
390
+ ], h.prototype, "_globalCallback");
391
+ l([
392
392
  s
393
- ], l.prototype, "_rapiAccess");
394
- h([
393
+ ], h.prototype, "_rapiAccess");
394
+ l([
395
395
  s
396
- ], l.prototype, "_unitFormatter");
397
- h([
396
+ ], h.prototype, "_unitFormatter");
397
+ l([
398
398
  s
399
- ], l.prototype, "_idbManager");
399
+ ], h.prototype, "_idbManager");
400
400
  class ie extends W {
401
401
  constructor(e) {
402
402
  super(e), this.onMaterialShadingChanged = (t) => {
@@ -435,7 +435,7 @@ class ne extends J {
435
435
  throw new Error("Method not implemented.");
436
436
  }
437
437
  async bootFinished() {
438
- this._viewer = new l(this._context), window.RoomleMaterialViewer || (window.RoomleMaterialViewer = this._viewer);
438
+ this._viewer = new h(this._context), window.RoomleMaterialViewer || (window.RoomleMaterialViewer = this._viewer);
439
439
  }
440
440
  getApi() {
441
441
  return this._viewer;
@@ -447,4 +447,4 @@ class ne extends J {
447
447
  export {
448
448
  ne as MaterialViewer
449
449
  };
450
- //# sourceMappingURL=material-viewer-DLl0eAAq.mjs.map
450
+ //# sourceMappingURL=material-viewer-_HSYoGPF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"material-viewer-_HSYoGPF.mjs","sources":["../../packages/common-core/src/cameracontrol/material-viewer-camera-behaviour.ts","../../packages/material-viewer/src/webgl/material-viewer-scene-manager.ts","../../packages/material-viewer/src/roomle-material-viewer.ts","../../packages/material-viewer/src/roomle-material-viewer-ui-callback.ts","../../packages/material-viewer/src/utils/injectables.ts","../../packages/material-viewer/src/material-viewer.ts"],"sourcesContent":["import CameraBehaviour from './camera-behaviour';\nimport type AdjustableCameraControl3D from '../../../glb-viewer-core/src/camera-control/adjustable-camera-control-3d';\n\nexport default class MaterialViewerCameraBehaviour extends CameraBehaviour {\n public get cameraControl(): AdjustableCameraControl3D {\n return this._cameraControl as AdjustableCameraControl3D;\n }\n}\n","import SceneManager from '../../../common-core/src/webgl/scene-manager';\nimport type { CanvasOffset } from '../../../common-core/src/common-interfaces';\nimport type InputManager from '../../../common-core/src/input/input-manager';\nimport inject from '../../../common-core/src/di/inject';\nimport CameraControl3D from '../../../common-core/src/cameracontrol/camera-control-3d';\nimport type {\n RapiId,\n RapiMaterial,\n RapiMaterialShading,\n RapiTexture,\n} from '../../../typings/rapi-types';\nimport { RAPI_TEXTURE_TYPE } from '../../../typings/rapi-types';\nimport {\n addExistingTexture,\n addTexture,\n getGUI,\n getMaterialShading,\n setMaterial,\n isWebGLRenderer,\n DEFAULT_WEBGPU_MAX_SAMPLES,\n} from '../../../common-core/src/utils/threejs-utils';\nimport { CAMERA_TYPE } from '../../../common-core/src/cameracontrol/camera-type';\nimport type ConfiguratorMeshGenerator from '../../../configurator-core/src/webgl/configurator-mesh-generator';\nimport type RoomleMaterialViewerUiCallback from '../roomle-material-viewer-ui-callback';\nimport BackgroundEnvironment from '../../../common-core/src/environment/background-environment';\nimport FloorEnvironment from '../../../configurator-core/src/webgl/environment/floor-environment';\nimport { type RapiAccess } from '../../../common-core/src/rapi-access';\nimport DynamicLightSettingLoader, {\n PREDEFINED_LIGHTSETTING,\n} from '../../../common-core/src/lightsetting/dynamic-light-setting-loader';\nimport { CANVAS_ID } from '../../../common-core/src/utils/dom-helper';\nimport type { Enumify } from '#/common/src/utils/types';\nimport type { ColorRepresentation, MeshPhysicalMaterial } from 'three';\nimport {\n Box3,\n BoxGeometry,\n Color,\n DoubleSide,\n FrontSide,\n Mesh,\n PlaneGeometry,\n SphereGeometry,\n Texture,\n} from 'three';\nimport MaterialCreator from '../../../common-core/src/utils/material-creator';\nimport MaterialViewerCameraBehaviour from '../../../common-core/src/cameracontrol/material-viewer-camera-behaviour';\n\nexport const enum GEOMETRY {\n CUBE = 'cube',\n SPHERE = 'sphere',\n PLANE_VERTICAL = 'plane_vertical',\n PLANE_HORIZONTAL = 'plane_horizontal',\n}\n\nconst SIZE = { x: 1, y: 1, z: 1 };\nexport default class MaterialViewerSceneManager extends SceneManager {\n @inject\n private _inputManager: InputManager;\n\n @inject\n private _configuratorMeshGenerator: ConfiguratorMeshGenerator;\n\n @inject\n private _roomleMaterialViewerUiCallback: RoomleMaterialViewerUiCallback;\n\n @inject\n private _rapiAccess: RapiAccess;\n\n private _guiGeometryFolder: any;\n private _guiMaterialFolder: any;\n private _mesh: Mesh;\n private _material: MeshPhysicalMaterial;\n private _sceneParams = {\n type: GEOMETRY.CUBE,\n };\n private _materialParams = {\n color: '#ffffff',\n metallic: 0.5,\n alpha: 0,\n alphaCutoff: 0,\n doubleSided: false,\n };\n\n constructor(creator: string, offset: CanvasOffset) {\n super(creator, offset, CANVAS_ID.RMV, CAMERA_TYPE.CAMERA_3D);\n\n // Use lazy initialization for renderer-dependent settings\n this._initializeRendererSettings();\n\n this._initScene();\n }\n\n // If renderer is not ready yet, will retry on next tick.\n // This is necessary for dynamic WebGPU renderer imports.\n private _initializeRendererSettings(): void {\n if (!this._renderer) {\n // Retry on next tick if renderer not ready\n setTimeout(() => this._initializeRendererSettings(), 0);\n return;\n }\n\n const maxTextures = isWebGLRenderer(this._renderer)\n ? this._renderer.capabilities.maxTextures\n : DEFAULT_WEBGPU_MAX_SAMPLES;\n if (maxTextures > 8) {\n this.loadDynamicLightSetting(\n DynamicLightSettingLoader.createDynamicLightSettingSource(\n null,\n PREDEFINED_LIGHTSETTING.CAMERA,\n ),\n );\n }\n }\n\n private _initScene() {\n const geometry = new BoxGeometry(SIZE.x, SIZE.y, SIZE.z, 100, 100, 100);\n const meshPhysicalMaterial = MaterialCreator.createMeshPhysicalMaterial({\n color: this._initData.colors.PRIMARY,\n });\n this._setMaterial(meshPhysicalMaterial);\n this._mesh = new Mesh(geometry, this._material);\n this._mesh.castShadow = true;\n this._mesh.position.setY(SIZE.y / 2);\n this._scene.add(this._mesh);\n\n const { initialFloorMaterial } = this._initData;\n\n if (initialFloorMaterial) {\n this.changeFloorMaterialById(initialFloorMaterial);\n } else {\n this._environment = new BackgroundEnvironment(\n this._scene,\n undefined,\n new Color(0xffffff),\n );\n }\n\n if (this.cameraBehaviour.cameraControl instanceof CameraControl3D) {\n const boundingBox = new Box3();\n boundingBox.setFromObject(this._mesh);\n console.trace('reset camera');\n this.cameraBehaviour.cameraControl.updateAndReset(boundingBox);\n }\n\n this.showGUI();\n }\n\n public loadMaterialId(materialId: RapiId): Promise<void> {\n return new Promise<void>((resolve) => {\n this._configuratorMeshGenerator\n .loadMaterial(materialId, SIZE.x * 1000, SIZE.y * 1000)\n .then((material) => {\n this._setMaterial(material as MeshPhysicalMaterial);\n this._mesh.material = this._material;\n this._updateGUI();\n this._requestRender();\n resolve();\n });\n });\n }\n\n public loadMaterial(material: RapiMaterial): Promise<void> {\n return new Promise<void>((resolve) => {\n // eslint-disable-next-line\n if (!material.__rapi_path__) {\n // eslint-disable-next-line\n material.__rapi_path__ = 'materials';\n }\n this._mesh.material = this._material;\n this._configuratorMeshGenerator\n .loadTextures(material, this._material, SIZE.x * 100, SIZE.y * 100)\n .then(() => {\n this._updateGUI();\n this._requestRender();\n });\n resolve();\n });\n }\n\n public loadMaterialShading(\n materialShading: RapiMaterialShading,\n ): Promise<void> {\n return new Promise<void>((resolve) => {\n let material = { shading: materialShading };\n this._setMaterial(setMaterial(this._material, material as RapiMaterial));\n this._mesh.material = this._material;\n this._updateGUI();\n this._requestRender();\n resolve();\n });\n }\n public resetMaterial(): void {\n this._initScene();\n }\n\n private _setMaterial(material: MeshPhysicalMaterial) {\n this._material = material;\n this._materialParams.alpha = material.opacity;\n this._materialParams.alphaCutoff = material.alphaTest;\n this._materialParams.color = '#' + material.color.getHexString();\n this._materialParams.doubleSided = material.side === DoubleSide;\n this._materialParams.metallic =\n material.metalness === 1 ? 1 : material.reflectivity;\n }\n\n public getMaterialShading(version: number = 1): RapiMaterialShading {\n return getMaterialShading(this._material, version);\n }\n\n protected createCameraControl(\n _mode: Enumify<typeof CAMERA_TYPE>,\n _offset: CanvasOffset,\n ) {\n this._changeCameraBehaviour(\n new MaterialViewerCameraBehaviour(\n new CameraControl3D(this._creator_, this._getInputManager(), undefined),\n this._cameraBehaviourState,\n ),\n );\n }\n\n protected _getInputManager(): InputManager {\n return this._inputManager;\n }\n\n public sceneChanged(): void {\n //override when needed\n }\n\n public getBounds(): Box3 | null {\n if (!this._mesh) {\n return null;\n }\n return new Box3().setFromObject(this._mesh);\n }\n\n getGeometryBounds(): Box3 | null {\n return null;\n }\n\n protected _guiLoaded() {\n this._updateGUI();\n }\n\n private _updateGUI() {\n let gui = getGUI();\n if (!gui) {\n return;\n }\n if (!this._guiGeometryFolder) {\n this._guiGeometryFolder = gui.addFolder('Geometry');\n this._guiGeometryFolder\n .add(this._sceneParams, 'type', {\n Cube: GEOMETRY.CUBE,\n Sphere: GEOMETRY.SPHERE,\n PlaneVertical: GEOMETRY.PLANE_VERTICAL,\n PlaneHorizontal: GEOMETRY.PLANE_HORIZONTAL,\n })\n .onChange((type: number) => {\n console.log(type);\n this._setGeometry();\n });\n }\n if (this._material) {\n if (this._guiMaterialFolder) {\n gui.removeFolder(this._guiMaterialFolder);\n }\n this._guiMaterialFolder = gui.addFolder('Material');\n this._guiMaterialFolder\n .addColor(this._materialParams, 'color')\n .onChange((color: string) => {\n this._material.color = new Color(color as ColorRepresentation);\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'metallic')\n .min(0)\n .max(1)\n .step(0.01)\n .onChange((metallic: number) => {\n this._material.metalness = metallic === 1 ? 1 : 0.5;\n this._material.reflectivity = metallic || 0.5;\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._material, 'roughness')\n .min(0)\n .max(1)\n .step(0.01)\n .onChange((_roughness: number) => {\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._material, 'transmission')\n .min(0)\n .max(1)\n .step(0.01)\n .onChange((transmission: number) => {\n this._material.transmission = transmission;\n if (transmission > 0) {\n this._material.opacity = 1;\n this._material.alphaTest = 0.5;\n this._material.depthWrite = false;\n this._material.transparent = true;\n this._material.metalness = 0;\n }\n this._mesh.castShadow = !this._material.transparent;\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'alpha')\n .min(0)\n .max(1)\n .step(0.01)\n .onChange((alpha: number) => {\n this._material.transparent = alpha < 1;\n this._material.opacity = alpha;\n this._material.depthWrite = alpha >= 1;\n this._mesh.castShadow = !this._material.transparent;\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'alphaCutoff')\n .min(0)\n .max(1)\n .step(0.01)\n .onChange((alphaCutoff: number) => {\n if (alphaCutoff) {\n this._material.alphaTest = alphaCutoff;\n } else {\n this._material.alphaTest = 0;\n }\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'doubleSided')\n .onChange((doubleSided: boolean) => {\n if (doubleSided) {\n this._material.side = DoubleSide;\n } else {\n this._material.side = FrontSide;\n }\n this._shadingChanged();\n });\n }\n this._addGUIListener(gui);\n }\n\n private _shadingChanged() {\n this._roomleMaterialViewerUiCallback.onMaterialShadingChanged(\n getMaterialShading(this._material),\n );\n }\n\n public setGeometry(type: GEOMETRY) {\n this._sceneParams.type = type;\n this._setGeometry();\n }\n\n private _setGeometry() {\n let geometry;\n if (this._sceneParams.type === GEOMETRY.CUBE) {\n geometry = new BoxGeometry(SIZE.x, SIZE.y, SIZE.z, 100, 100, 100);\n }\n if (this._sceneParams.type === GEOMETRY.SPHERE) {\n geometry = new SphereGeometry(0.5, 100, 100);\n }\n if (this._sceneParams.type === GEOMETRY.PLANE_HORIZONTAL) {\n geometry = new PlaneGeometry(SIZE.x, SIZE.z);\n geometry.rotateX(-Math.PI / 2);\n }\n if (this._sceneParams.type === GEOMETRY.PLANE_VERTICAL) {\n geometry = new PlaneGeometry(SIZE.x, SIZE.z);\n }\n this._mesh.geometry = geometry;\n this._renderEverything();\n }\n\n public async changeFloorMaterialById(materialId: string): Promise<void> {\n const material = await this._rapiAccess.getMaterial(materialId);\n if (\n !this._environment ||\n !(this._environment instanceof FloorEnvironment)\n ) {\n this._environment = new FloorEnvironment(\n this._scene,\n this._environment,\n true,\n );\n }\n return new Promise((resolve, reject) => {\n (this._environment as FloorEnvironment)\n .changeFloorMaterial(material, this._maxAnisotropy)\n .then(() => {\n this._requestRender();\n resolve();\n }, reject);\n });\n }\n\n public async addTexture(rapiTexture: RapiTexture, base64Image?: string) {\n const width = SIZE.x * 100;\n const height = SIZE.y * 100;\n const repeatWidth =\n width / (rapiTexture.mmWidth === 0 ? 1 : rapiTexture.mmWidth);\n const repeatHeight =\n height / (rapiTexture.mmHeight === 0 ? 1 : rapiTexture.mmHeight);\n const maxTextures = isWebGLRenderer(this._renderer)\n ? this._renderer.capabilities.maxTextures\n : DEFAULT_WEBGPU_MAX_SAMPLES;\n if (base64Image) {\n const image = new Image();\n image.src = base64Image;\n const texture = new Texture();\n texture.image = image;\n image.onload = function () {\n texture.needsUpdate = true;\n };\n addExistingTexture(\n texture,\n rapiTexture,\n this._material,\n this._maxAnisotropy,\n repeatWidth,\n repeatHeight,\n maxTextures,\n );\n } else {\n await addTexture(\n rapiTexture.image,\n rapiTexture,\n this._material,\n this._maxAnisotropy,\n repeatWidth,\n repeatHeight,\n maxTextures,\n );\n }\n this._requestRender();\n }\n\n public removeTexture(rapiTexture: RapiTexture) {\n if (rapiTexture.mapping === RAPI_TEXTURE_TYPE.ORM) {\n this._material.aoMap = null;\n this._material.roughnessMap = null;\n this._material.metalnessMap = null;\n }\n if (\n rapiTexture.mapping === RAPI_TEXTURE_TYPE.RGB ||\n rapiTexture.mapping === RAPI_TEXTURE_TYPE.RGBA\n ) {\n this._material.map = null;\n }\n if (rapiTexture.mapping === RAPI_TEXTURE_TYPE.XYZ) {\n this._material.normalMap = null;\n }\n this._material.needsUpdate = true;\n this._requestRender();\n }\n\n public clearCache() {\n this._configuratorMeshGenerator.clear();\n }\n}\n","import type ScriptLoader from '../../common-core/src/script-loader';\nimport type DomHelper from '../../common-core/src/utils/dom-helper';\nimport inject from '../../common-core/src/di/inject';\nimport type { ExternalEmbeddable, GlobalAPI } from '../../common-core/src/main';\nimport type { Main } from '../../common-core/src/main';\nimport type { Context } from '../../common-core/src/di/context';\nimport type LifeCycleManager from '../../common-core/src/life-cycle-manager';\nimport type { SceneSettings } from '../../common-core/src/scene-settings-loader';\nimport type { GEOMETRY } from './webgl/material-viewer-scene-manager';\nimport MaterialViewerSceneManager from './webgl/material-viewer-scene-manager';\nimport type {\n RapiId,\n RapiMaterial,\n RapiMaterialShading,\n RapiTexture,\n} from '../../typings/rapi-types';\nimport type RoomleMaterialViewerUiCallback from './roomle-material-viewer-ui-callback';\nimport type { InitDataDefinition } from '../../common-core/src/utils/shims';\nimport type InitData from '../../common-core/src/utils/init-data';\nimport { type RapiAccess } from '../../common-core/src/rapi-access';\nimport type { CanvasOffset } from '../../common-core/src/common-interfaces';\nimport type UnitFormatter from '../../configurator-core/src/services/unit-formatter';\nimport type { Scene } from 'three';\nimport { type IdbManager } from '../../common-core/src/services/idb-manager';\nimport type { GlobalCallback } from '../../common-core/src/services/global-callback';\n\nexport default class RoomleMaterialViewer\n implements\n GlobalAPI,\n Context,\n ExternalEmbeddable<RoomleMaterialViewerUiCallback>\n{\n public _creator_: string;\n\n @inject\n private _domHelper: DomHelper;\n\n @inject\n private _scriptLoader: ScriptLoader;\n\n @inject\n private _lifeCycleManager: LifeCycleManager;\n\n @inject\n private _roomleMaterialViewerUiCallback: RoomleMaterialViewerUiCallback;\n\n @inject\n private _initData: InitData;\n\n @inject\n private _globalCallback: GlobalCallback;\n\n @inject\n private _rapiAccess: RapiAccess;\n\n @inject\n private _unitFormatter: UnitFormatter;\n\n @inject\n protected _idbManager: IdbManager;\n\n private _sceneManager: MaterialViewerSceneManager;\n\n constructor(creator: string) {\n this._creator_ = creator;\n }\n\n public setCameraOffset(offset: CanvasOffset): void {\n this._sceneManager.setCameraOffset(offset);\n }\n\n public getCameraOffset(): CanvasOffset {\n return this._sceneManager.getCameraOffset();\n }\n\n public init(element: HTMLElement): Promise<void> {\n this._domHelper.setDomElement(element);\n\n if (this._sceneManager) {\n this._lifeCycleManager.resume();\n return Promise.resolve();\n }\n\n return new Promise<void>(this._initPromiseCallback.bind(this));\n }\n\n private _initPromiseCallback(resolve: () => void, _reject: () => void) {\n this._sceneManager = new MaterialViewerSceneManager(this._creator_, {\n left: 0,\n top: 1,\n right: 1,\n bottom: 0,\n });\n this._sceneManager.enableHD();\n resolve();\n }\n\n get callbacks(): RoomleMaterialViewerUiCallback {\n return this._roomleMaterialViewerUiCallback;\n }\n\n set callbacks(callback: RoomleMaterialViewerUiCallback) {\n this._roomleMaterialViewerUiCallback = callback;\n }\n\n public loadMaterialShading(\n materialShading: RapiMaterialShading,\n ): Promise<void> {\n return this._sceneManager.loadMaterialShading(materialShading);\n }\n\n public resetMaterial(): void {\n this._sceneManager.resetMaterial();\n }\n\n public loadMaterial(\n material: RapiMaterial,\n options: { flushCache?: boolean } = {},\n ): Promise<void> {\n if (options.flushCache) {\n this._clearCaches();\n }\n return this._sceneManager.loadMaterial(material);\n }\n\n public loadMaterialId(\n materialId: RapiId,\n options: { flushCache?: boolean } = {},\n ): Promise<void> {\n if (options.flushCache) {\n this._clearCaches();\n }\n return this._sceneManager.loadMaterialId(materialId);\n }\n\n public getMaterialShading(version: number = 1): RapiMaterialShading {\n return this._sceneManager.getMaterialShading(version);\n }\n\n /**\n * Loads a SceneSettings object, currently it can can contain a light setting definition\n * (see {@link @roomle/web-sdk/configurator-core/src/roomle-configurator#RoomleConfigurator.loadDynamicLightSetting}) and an environment definition (see {@link @roomle/web-sdk/configurator-core/src/environment/dynamic-environment-setting-loader#EnvironmentSetting}).\n * @param sceneSettings\n */\n public loadSceneSetting(sceneSettings: SceneSettings): Promise<void> {\n return this._sceneManager.loadSceneSettings(sceneSettings);\n }\n\n public setOverrides(initData: InitDataDefinition): void {\n if (!initData) {\n return;\n }\n this._initData.setOverrides(initData);\n }\n\n public updateSize(): void {\n this._sceneManager.updateCamera();\n }\n\n /**\n * Return the main class which has access to lifecycle events and RapiAccess.\n * Hidden because it's only useful for embedding API.\n * Has to be overridden by main class.\n * @hidden\n */\n public getMain(): Main | undefined {\n return undefined;\n }\n\n public resumeTest(element: HTMLElement) {\n this._domHelper.setDomElement(element);\n this._lifeCycleManager.resume();\n }\n\n public pauseTest() {\n this._lifeCycleManager.pause();\n }\n\n public showGUI() {\n this._sceneManager.showGUI();\n }\n\n /**\n * Sets the material of the floor to the given material id.\n * If the current environment is not floor environment it will be changed\n *\n * Example material ids are:\n * roomle_floor:DresdenEiche\n * roomle_floor:Ibiza\n * roomle_floor:Palma\n * roomle_floor:Elba\n * roomle_floor:Manacor\n * roomle_floor:KernEiche\n * roomle_floor:KieferScandic\n * roomle_floor:EicheHabsburg\n * roomle_floor:FuldaKiefer\n * roomle_floor:Ashton\n * roomle_floor:EicheLondon\n *\n * @param materialId\n * @returns promise that resolves when material has been changed\n */\n public async changeFloorMaterialById(materialId: string): Promise<void> {\n return this._sceneManager.changeFloorMaterialById(materialId);\n }\n\n /**\n * Set the geometry of the demo material mesh\n *\n * Possible parameter:\n * 'cube',\n * 'sphere',\n * 'plane_vertical',\n * 'plane_horizontal'\n *\n * @param type\n */\n public setGeometry(type: GEOMETRY) {\n this._sceneManager.setGeometry(type);\n }\n\n /**\n * Set a texture on the demo material, if no base64Image is set, the image field of rapiTexture is used\n * @param rapiTexture\n * @param base64Image for example \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPj/HwADBwIAMCbHYQAAAABJRU5ErkJggg==\"\n */\n public async addTexture(rapiTexture: RapiTexture, base64Image?: string) {\n return this._sceneManager.addTexture(rapiTexture, base64Image);\n }\n\n /**\n * Remove texture from the demo material\n * @param rapiTexture\n */\n public removeTexture(rapiTexture: RapiTexture) {\n return this._sceneManager.removeTexture(rapiTexture);\n }\n\n private _clearCaches() {\n this._rapiAccess.cleanUp();\n this._sceneManager.clearCache();\n }\n\n public getScene(): Scene {\n return this._sceneManager.getScene();\n }\n\n public updateScene(): void {\n this._sceneManager.updateScene();\n }\n\n /**\n * returns unit formatter for formatting input und output values in scene\n */\n public getUnitFormatter(): UnitFormatter {\n return this._unitFormatter;\n }\n\n /**\n * returns manager class to interface with indexedDB storage\n */\n public getStorage(): IdbManager {\n return this._idbManager;\n }\n\n public setEnvironmentMap(params: {\n url?: string;\n intensity?: number;\n rotation?: number;\n maxLightSources?: number;\n }): void {\n const { url, intensity, rotation, maxLightSources } = params;\n this._sceneManager.setEnvironmentMap(\n url,\n intensity,\n rotation,\n maxLightSources,\n );\n }\n\n /**\n * @internal\n * Use this callbacks to hook in your functionality\n */\n public get globalCallbacks(): GlobalCallback {\n return this._globalCallback;\n }\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { UiCallback } from '../../common-core/src/utils/ui-callback';\nimport type { RapiMaterialShading } from '../../typings/rapi-types';\n\nexport default class RoomleMaterialViewerUiCallback extends UiCallback {\n constructor(creator: string) {\n super(creator);\n }\n\n /**\n * Gets called when a material parameter has been changed using the graphical user interface\n * @param materialShading\n */\n public onMaterialShadingChanged = (\n materialShading: RapiMaterialShading,\n ): void => undefined;\n}\n","import Logger from '../../../common-core/src/logger';\nimport ScriptLoader from '../../../common-core/src/script-loader';\nimport {\n DependencyInjectionAssignment,\n DI_TYPE,\n} from '../../../common-core/src/di/container';\nimport InputManager from '../../../common-core/src/input/input-manager';\nimport ConfiguratorMeshGenerator from '../../../configurator-core/src/webgl/configurator-mesh-generator';\nimport { RapiAccess } from '../../../common-core/src/rapi-access';\nimport RoomleMaterialViewerUiCallback from '../roomle-material-viewer-ui-callback';\n\nexport const INJECTABLES: DependencyInjectionAssignment[] = [\n new DependencyInjectionAssignment('script-loader', ScriptLoader),\n new DependencyInjectionAssignment('logger', Logger),\n new DependencyInjectionAssignment(\n 'input-manager',\n InputManager,\n DI_TYPE.CONTEXT,\n ),\n new DependencyInjectionAssignment(\n 'configurator-mesh-generator',\n ConfiguratorMeshGenerator,\n ),\n new DependencyInjectionAssignment('rapi-access', RapiAccess),\n new DependencyInjectionAssignment(\n 'roomle-material-viewer-ui-callback',\n RoomleMaterialViewerUiCallback,\n DI_TYPE.CONTEXT,\n ),\n];\n","import './utils/global-definitions';\nimport { Main, BASE_CONTEXT } from '../../common-core/src/main';\nimport type Logger from '../../common-core/src/logger';\nimport RoomleDependencyInjection from '../../common-core/src/di/roomle-dependency-injection';\nimport RoomleMaterialViewer from './roomle-material-viewer';\nimport { INJECTABLES } from './utils/injectables';\n\nexport class MaterialViewer extends Main {\n private _viewer: RoomleMaterialViewer;\n\n protected setupGlobals(): void {\n //globals are initialized in bootFinished()\n }\n\n protected setupDependencies(): void {\n RoomleDependencyInjection.setup(INJECTABLES);\n this.lookup<Logger>('logger', this._context);\n }\n\n protected cleanUpGlobals(): void {\n throw new Error('Method not implemented.');\n }\n\n protected cleanUpDependencies(): void {\n throw new Error('Method not implemented.');\n }\n\n protected async bootFinished(): Promise<void> {\n this._viewer = new RoomleMaterialViewer(this._context);\n\n if (!window.RoomleMaterialViewer) {\n window.RoomleMaterialViewer = this._viewer;\n }\n }\n\n public getApi(): RoomleMaterialViewer {\n return this._viewer;\n }\n\n protected getContextName(): string {\n return BASE_CONTEXT.MATERIAL_VIEWER;\n }\n}\n"],"names":["MaterialViewerCameraBehaviour","CameraBehaviour","SIZE","MaterialViewerSceneManager","SceneManager","creator","offset","CANVAS_ID","CAMERA_TYPE","isWebGLRenderer","DEFAULT_WEBGPU_MAX_SAMPLES","DynamicLightSettingLoader","PREDEFINED_LIGHTSETTING","geometry","BoxGeometry","meshPhysicalMaterial","MaterialCreator","Mesh","initialFloorMaterial","BackgroundEnvironment","Color","CameraControl3D","boundingBox","Box3","materialId","resolve","material","materialShading","setMaterial","DoubleSide","version","getMaterialShading","_mode","_offset","gui","getGUI","type","color","metallic","_roughness","transmission","alpha","alphaCutoff","doubleSided","FrontSide","SphereGeometry","PlaneGeometry","FloorEnvironment","reject","rapiTexture","base64Image","width","height","repeatWidth","repeatHeight","maxTextures","image","texture","Texture","addExistingTexture","addTexture","RAPI_TEXTURE_TYPE","__decorateClass","inject","RoomleMaterialViewer","element","_reject","callback","options","sceneSettings","initData","params","url","intensity","rotation","maxLightSources","RoomleMaterialViewerUiCallback","UiCallback","INJECTABLES","DependencyInjectionAssignment","ScriptLoader","Logger","InputManager","DI_TYPE","ConfiguratorMeshGenerator","RapiAccess","MaterialViewer","Main","RoomleDependencyInjection","BASE_CONTEXT"],"mappings":";AAGA,MAAqBA,WAAsCC,EAAgB;AAAA,EACzE,IAAW,gBAA2C;AACpD,WAAO,KAAK;AAAA,EACd;AACF;;;;;;AC+CA,MAAMC,IAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAA;AAC9B,MAAqBC,UAAmCC,EAAa;AAAA,EA4BnE,YAAYC,GAAiBC,GAAsB;AACjD,UAAMD,GAASC,GAAQC,EAAU,KAAKC,EAAY,SAAS,GAZ7D,KAAQ,eAAe;AAAA,MACrB,MAAM;AAAA;AAAA,IAAA,GAER,KAAQ,kBAAkB;AAAA,MACxB,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,IAAA,GAOb,KAAK,4BAAA,GAEL,KAAK,WAAA;AAAA,EACP;AAAA;AAAA;AAAA,EAIQ,8BAAoC;AAC1C,QAAI,CAAC,KAAK,WAAW;AAEnB,iBAAW,MAAM,KAAK,4BAAA,GAA+B,CAAC;AACtD;AAAA,IACF;AAKA,KAHoBC,EAAgB,KAAK,SAAS,IAC9C,KAAK,UAAU,aAAa,cAC5BC,KACc,KAChB,KAAK;AAAA,MACHC,EAA0B;AAAA,QACxB;AAAA,QACAC,EAAwB;AAAA,MAAA;AAAA,IAC1B;AAAA,EAGN;AAAA,EAEQ,aAAa;AACnB,UAAMC,IAAW,IAAIC,EAAYZ,EAAK,GAAGA,EAAK,GAAGA,EAAK,GAAG,KAAK,KAAK,GAAG,GAChEa,IAAuBC,EAAgB,2BAA2B;AAAA,MACtE,OAAO,KAAK,UAAU,OAAO;AAAA,IAAA,CAC9B;AACD,SAAK,aAAaD,CAAoB,GACtC,KAAK,QAAQ,IAAIE,EAAKJ,GAAU,KAAK,SAAS,GAC9C,KAAK,MAAM,aAAa,IACxB,KAAK,MAAM,SAAS,KAAKX,EAAK,IAAI,CAAC,GACnC,KAAK,OAAO,IAAI,KAAK,KAAK;AAE1B,UAAM,EAAE,sBAAAgB,MAAyB,KAAK;AAYtC,QAVIA,IACF,KAAK,wBAAwBA,CAAoB,IAEjD,KAAK,eAAe,IAAIC;AAAA,MACtB,KAAK;AAAA,MACL;AAAA,MACA,IAAIC,EAAM,QAAQ;AAAA,IAAA,GAIlB,KAAK,gBAAgB,yBAAyBC,GAAiB;AACjE,YAAMC,IAAc,IAAIC,EAAA;AACxB,MAAAD,EAAY,cAAc,KAAK,KAAK,GACpC,QAAQ,MAAM,cAAc,GAC5B,KAAK,gBAAgB,cAAc,eAAeA,CAAW;AAAA,IAC/D;AAEA,SAAK,QAAA;AAAA,EACP;AAAA,EAEO,eAAeE,GAAmC;AACvD,WAAO,IAAI,QAAc,CAACC,MAAY;AACpC,WAAK,2BACF,aAAaD,GAAYtB,EAAK,IAAI,KAAMA,EAAK,IAAI,GAAI,EACrD,KAAK,CAACwB,MAAa;AAClB,aAAK,aAAaA,CAAgC,GAClD,KAAK,MAAM,WAAW,KAAK,WAC3B,KAAK,WAAA,GACL,KAAK,eAAA,GACLD,EAAA;AAAA,MACF,CAAC;AAAA,IACL,CAAC;AAAA,EACH;AAAA,EAEO,aAAaC,GAAuC;AACzD,WAAO,IAAI,QAAc,CAACD,MAAY;AAEpC,MAAKC,EAAS,kBAEZA,EAAS,gBAAgB,cAE3B,KAAK,MAAM,WAAW,KAAK,WAC3B,KAAK,2BACF,aAAaA,GAAU,KAAK,WAAWxB,EAAK,IAAI,KAAKA,EAAK,IAAI,GAAG,EACjE,KAAK,MAAM;AACV,aAAK,WAAA,GACL,KAAK,eAAA;AAAA,MACP,CAAC,GACHuB,EAAA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEO,oBACLE,GACe;AACf,WAAO,IAAI,QAAc,CAACF,MAAY;AACpC,UAAIC,IAAW,EAAE,SAASC,EAAA;AAC1B,WAAK,aAAaC,EAAY,KAAK,WAAWF,CAAwB,CAAC,GACvE,KAAK,MAAM,WAAW,KAAK,WAC3B,KAAK,WAAA,GACL,KAAK,eAAA,GACLD,EAAA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACO,gBAAsB;AAC3B,SAAK,WAAA;AAAA,EACP;AAAA,EAEQ,aAAaC,GAAgC;AACnD,SAAK,YAAYA,GACjB,KAAK,gBAAgB,QAAQA,EAAS,SACtC,KAAK,gBAAgB,cAAcA,EAAS,WAC5C,KAAK,gBAAgB,QAAQ,MAAMA,EAAS,MAAM,aAAA,GAClD,KAAK,gBAAgB,cAAcA,EAAS,SAASG,GACrD,KAAK,gBAAgB,WACnBH,EAAS,cAAc,IAAI,IAAIA,EAAS;AAAA,EAC5C;AAAA,EAEO,mBAAmBI,IAAkB,GAAwB;AAClE,WAAOC,EAAmB,KAAK,WAAWD,CAAO;AAAA,EACnD;AAAA,EAEU,oBACRE,GACAC,GACA;AACA,SAAK;AAAA,MACH,IAAIjC;AAAA,QACF,IAAIqB,EAAgB,KAAK,WAAW,KAAK,iBAAA,GAAoB,MAAS;AAAA,QACtE,KAAK;AAAA,MAAA;AAAA,IACP;AAAA,EAEJ;AAAA,EAEU,mBAAiC;AACzC,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,eAAqB;AAAA,EAE5B;AAAA,EAEO,YAAyB;AAC9B,WAAK,KAAK,QAGH,IAAIE,EAAA,EAAO,cAAc,KAAK,KAAK,IAFjC;AAAA,EAGX;AAAA,EAEA,oBAAiC;AAC/B,WAAO;AAAA,EACT;AAAA,EAEU,aAAa;AACrB,SAAK,WAAA;AAAA,EACP;AAAA,EAEQ,aAAa;AACnB,QAAIW,IAAMC,EAAA;AACV,IAAKD,MAGA,KAAK,uBACR,KAAK,qBAAqBA,EAAI,UAAU,UAAU,GAClD,KAAK,mBACF,IAAI,KAAK,cAAc,QAAQ;AAAA,MAC9B,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,iBAAiB;AAAA;AAAA,IAAA,CAClB,EACA,SAAS,CAACE,MAAiB;AAC1B,cAAQ,IAAIA,CAAI,GAChB,KAAK,aAAA;AAAA,IACP,CAAC,IAED,KAAK,cACH,KAAK,sBACPF,EAAI,aAAa,KAAK,kBAAkB,GAE1C,KAAK,qBAAqBA,EAAI,UAAU,UAAU,GAClD,KAAK,mBACF,SAAS,KAAK,iBAAiB,OAAO,EACtC,SAAS,CAACG,MAAkB;AAC3B,WAAK,UAAU,QAAQ,IAAIjB,EAAMiB,CAA4B,GAC7D,KAAK,gBAAA;AAAA,IACP,CAAC,GACH,KAAK,mBACF,IAAI,KAAK,iBAAiB,UAAU,EACpC,IAAI,CAAC,EACL,IAAI,CAAC,EACL,KAAK,IAAI,EACT,SAAS,CAACC,MAAqB;AAC9B,WAAK,UAAU,YAAYA,MAAa,IAAI,IAAI,KAChD,KAAK,UAAU,eAAeA,KAAY,KAC1C,KAAK,gBAAA;AAAA,IACP,CAAC,GACH,KAAK,mBACF,IAAI,KAAK,WAAW,WAAW,EAC/B,IAAI,CAAC,EACL,IAAI,CAAC,EACL,KAAK,IAAI,EACT,SAAS,CAACC,MAAuB;AAChC,WAAK,gBAAA;AAAA,IACP,CAAC,GACH,KAAK,mBACF,IAAI,KAAK,WAAW,cAAc,EAClC,IAAI,CAAC,EACL,IAAI,CAAC,EACL,KAAK,IAAI,EACT,SAAS,CAACC,MAAyB;AAClC,WAAK,UAAU,eAAeA,GAC1BA,IAAe,MACjB,KAAK,UAAU,UAAU,GACzB,KAAK,UAAU,YAAY,KAC3B,KAAK,UAAU,aAAa,IAC5B,KAAK,UAAU,cAAc,IAC7B,KAAK,UAAU,YAAY,IAE7B,KAAK,MAAM,aAAa,CAAC,KAAK,UAAU,aACxC,KAAK,gBAAA;AAAA,IACP,CAAC,GACH,KAAK,mBACF,IAAI,KAAK,iBAAiB,OAAO,EACjC,IAAI,CAAC,EACL,IAAI,CAAC,EACL,KAAK,IAAI,EACT,SAAS,CAACC,MAAkB;AAC3B,WAAK,UAAU,cAAcA,IAAQ,GACrC,KAAK,UAAU,UAAUA,GACzB,KAAK,UAAU,aAAaA,KAAS,GACrC,KAAK,MAAM,aAAa,CAAC,KAAK,UAAU,aACxC,KAAK,gBAAA;AAAA,IACP,CAAC,GACH,KAAK,mBACF,IAAI,KAAK,iBAAiB,aAAa,EACvC,IAAI,CAAC,EACL,IAAI,CAAC,EACL,KAAK,IAAI,EACT,SAAS,CAACC,MAAwB;AACjC,MAAIA,IACF,KAAK,UAAU,YAAYA,IAE3B,KAAK,UAAU,YAAY,GAE7B,KAAK,gBAAA;AAAA,IACP,CAAC,GACH,KAAK,mBACF,IAAI,KAAK,iBAAiB,aAAa,EACvC,SAAS,CAACC,MAAyB;AAClC,MAAIA,IACF,KAAK,UAAU,OAAOd,IAEtB,KAAK,UAAU,OAAOe,GAExB,KAAK,gBAAA;AAAA,IACP,CAAC,IAEL,KAAK,gBAAgBV,CAAG;AAAA,EAC1B;AAAA,EAEQ,kBAAkB;AACxB,SAAK,gCAAgC;AAAA,MACnCH,EAAmB,KAAK,SAAS;AAAA,IAAA;AAAA,EAErC;AAAA,EAEO,YAAYK,GAAgB;AACjC,SAAK,aAAa,OAAOA,GACzB,KAAK,aAAA;AAAA,EACP;AAAA,EAEQ,eAAe;AACrB,QAAIvB;AACJ,IAAI,KAAK,aAAa,SAAS,WAC7BA,IAAW,IAAIC,EAAYZ,EAAK,GAAGA,EAAK,GAAGA,EAAK,GAAG,KAAK,KAAK,GAAG,IAE9D,KAAK,aAAa,SAAS,aAC7BW,IAAW,IAAIgC,EAAe,KAAK,KAAK,GAAG,IAEzC,KAAK,aAAa,SAAS,uBAC7BhC,IAAW,IAAIiC,EAAc5C,EAAK,GAAGA,EAAK,CAAC,GAC3CW,EAAS,QAAQ,CAAC,KAAK,KAAK,CAAC,IAE3B,KAAK,aAAa,SAAS,qBAC7BA,IAAW,IAAIiC,EAAc5C,EAAK,GAAGA,EAAK,CAAC,IAE7C,KAAK,MAAM,WAAWW,GACtB,KAAK,kBAAA;AAAA,EACP;AAAA,EAEA,MAAa,wBAAwBW,GAAmC;AACtE,UAAME,IAAW,MAAM,KAAK,YAAY,YAAYF,CAAU;AAC9D,YACE,CAAC,KAAK,gBACN,EAAE,KAAK,wBAAwBuB,QAE/B,KAAK,eAAe,IAAIA;AAAA,MACtB,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,IAAA,IAGG,IAAI,QAAQ,CAACtB,GAASuB,MAAW;AACrC,WAAK,aACH,oBAAoBtB,GAAU,KAAK,cAAc,EACjD,KAAK,MAAM;AACV,aAAK,eAAA,GACLD,EAAA;AAAA,MACF,GAAGuB,CAAM;AAAA,IACb,CAAC;AAAA,EACH;AAAA,EAEA,MAAa,WAAWC,GAA0BC,GAAsB;AACtE,UAAMC,IAAQjD,EAAK,IAAI,KACjBkD,IAASlD,EAAK,IAAI,KAClBmD,IACJF,KAASF,EAAY,YAAY,IAAI,IAAIA,EAAY,UACjDK,IACJF,KAAUH,EAAY,aAAa,IAAI,IAAIA,EAAY,WACnDM,IAAc9C,EAAgB,KAAK,SAAS,IAC9C,KAAK,UAAU,aAAa,cAC5BC;AACJ,QAAIwC,GAAa;AACf,YAAMM,IAAQ,IAAI,MAAA;AAClB,MAAAA,EAAM,MAAMN;AACZ,YAAMO,IAAU,IAAIC,EAAA;AACpB,MAAAD,EAAQ,QAAQD,GAChBA,EAAM,SAAS,WAAY;AACzB,QAAAC,EAAQ,cAAc;AAAA,MACxB,GACAE;AAAA,QACEF;AAAA,QACAR;AAAA,QACA,KAAK;AAAA,QACL,KAAK;AAAA,QACLI;AAAA,QACAC;AAAA,QACAC;AAAA,MAAA;AAAA,IAEJ;AACE,YAAMK;AAAA,QACJX,EAAY;AAAA,QACZA;AAAA,QACA,KAAK;AAAA,QACL,KAAK;AAAA,QACLI;AAAA,QACAC;AAAA,QACAC;AAAA,MAAA;AAGJ,SAAK,eAAA;AAAA,EACP;AAAA,EAEO,cAAcN,GAA0B;AAC7C,IAAIA,EAAY,YAAYY,EAAkB,QAC5C,KAAK,UAAU,QAAQ,MACvB,KAAK,UAAU,eAAe,MAC9B,KAAK,UAAU,eAAe,QAG9BZ,EAAY,YAAYY,EAAkB,OAC1CZ,EAAY,YAAYY,EAAkB,UAE1C,KAAK,UAAU,MAAM,OAEnBZ,EAAY,YAAYY,EAAkB,QAC5C,KAAK,UAAU,YAAY,OAE7B,KAAK,UAAU,cAAc,IAC7B,KAAK,eAAA;AAAA,EACP;AAAA,EAEO,aAAa;AAClB,SAAK,2BAA2B,MAAA;AAAA,EAClC;AACF;AAtZUC,EAAA;AAAA,EADPC;AAAA,GADkB5D,EAEX,WAAA,eAAA;AAGA2D,EAAA;AAAA,EADPC;AAAA,GAJkB5D,EAKX,WAAA,4BAAA;AAGA2D,EAAA;AAAA,EADPC;AAAA,GAPkB5D,EAQX,WAAA,iCAAA;AAGA2D,EAAA;AAAA,EADPC;AAAA,GAVkB5D,EAWX,WAAA,aAAA;;;;;;ACxCV,MAAqB6D,EAKrB;AAAA,EAgCE,YAAY3D,GAAiB;AAC3B,SAAK,YAAYA;AAAA,EACnB;AAAA,EAEO,gBAAgBC,GAA4B;AACjD,SAAK,cAAc,gBAAgBA,CAAM;AAAA,EAC3C;AAAA,EAEO,kBAAgC;AACrC,WAAO,KAAK,cAAc,gBAAA;AAAA,EAC5B;AAAA,EAEO,KAAK2D,GAAqC;AAG/C,WAFA,KAAK,WAAW,cAAcA,CAAO,GAEjC,KAAK,iBACP,KAAK,kBAAkB,OAAA,GAChB,QAAQ,QAAA,KAGV,IAAI,QAAc,KAAK,qBAAqB,KAAK,IAAI,CAAC;AAAA,EAC/D;AAAA,EAEQ,qBAAqBxC,GAAqByC,GAAqB;AACrE,SAAK,gBAAgB,IAAI/D,EAA2B,KAAK,WAAW;AAAA,MAClE,MAAM;AAAA,MACN,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,IAAA,CACT,GACD,KAAK,cAAc,SAAA,GACnBsB,EAAA;AAAA,EACF;AAAA,EAEA,IAAI,YAA4C;AAC9C,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,UAAU0C,GAA0C;AACtD,SAAK,kCAAkCA;AAAA,EACzC;AAAA,EAEO,oBACLxC,GACe;AACf,WAAO,KAAK,cAAc,oBAAoBA,CAAe;AAAA,EAC/D;AAAA,EAEO,gBAAsB;AAC3B,SAAK,cAAc,cAAA;AAAA,EACrB;AAAA,EAEO,aACLD,GACA0C,IAAoC,IACrB;AACf,WAAIA,EAAQ,cACV,KAAK,aAAA,GAEA,KAAK,cAAc,aAAa1C,CAAQ;AAAA,EACjD;AAAA,EAEO,eACLF,GACA4C,IAAoC,IACrB;AACf,WAAIA,EAAQ,cACV,KAAK,aAAA,GAEA,KAAK,cAAc,eAAe5C,CAAU;AAAA,EACrD;AAAA,EAEO,mBAAmBM,IAAkB,GAAwB;AAClE,WAAO,KAAK,cAAc,mBAAmBA,CAAO;AAAA,EACtD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,iBAAiBuC,GAA6C;AACnE,WAAO,KAAK,cAAc,kBAAkBA,CAAa;AAAA,EAC3D;AAAA,EAEO,aAAaC,GAAoC;AACtD,IAAKA,KAGL,KAAK,UAAU,aAAaA,CAAQ;AAAA,EACtC;AAAA,EAEO,aAAmB;AACxB,SAAK,cAAc,aAAA;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,UAA4B;AAAA,EAEnC;AAAA,EAEO,WAAWL,GAAsB;AACtC,SAAK,WAAW,cAAcA,CAAO,GACrC,KAAK,kBAAkB,OAAA;AAAA,EACzB;AAAA,EAEO,YAAY;AACjB,SAAK,kBAAkB,MAAA;AAAA,EACzB;AAAA,EAEO,UAAU;AACf,SAAK,cAAc,QAAA;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBA,MAAa,wBAAwBzC,GAAmC;AACtE,WAAO,KAAK,cAAc,wBAAwBA,CAAU;AAAA,EAC9D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaO,YAAYY,GAAgB;AACjC,SAAK,cAAc,YAAYA,CAAI;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAa,WAAWa,GAA0BC,GAAsB;AACtE,WAAO,KAAK,cAAc,WAAWD,GAAaC,CAAW;AAAA,EAC/D;AAAA;AAAA;AAAA;AAAA;AAAA,EAMO,cAAcD,GAA0B;AAC7C,WAAO,KAAK,cAAc,cAAcA,CAAW;AAAA,EACrD;AAAA,EAEQ,eAAe;AACrB,SAAK,YAAY,QAAA,GACjB,KAAK,cAAc,WAAA;AAAA,EACrB;AAAA,EAEO,WAAkB;AACvB,WAAO,KAAK,cAAc,SAAA;AAAA,EAC5B;AAAA,EAEO,cAAoB;AACzB,SAAK,cAAc,YAAA;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAKO,mBAAkC;AACvC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKO,aAAyB;AAC9B,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,kBAAkBsB,GAKhB;AACP,UAAM,EAAE,KAAAC,GAAK,WAAAC,GAAW,UAAAC,GAAU,iBAAAC,MAAoBJ;AACtD,SAAK,cAAc;AAAA,MACjBC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAW,kBAAkC;AAC3C,WAAO,KAAK;AAAA,EACd;AACF;AA5PUb,EAAA;AAAA,EADPC;AAAA,GARkBC,EASX,WAAA,YAAA;AAGAF,EAAA;AAAA,EADPC;AAAA,GAXkBC,EAYX,WAAA,eAAA;AAGAF,EAAA;AAAA,EADPC;AAAA,GAdkBC,EAeX,WAAA,mBAAA;AAGAF,EAAA;AAAA,EADPC;AAAA,GAjBkBC,EAkBX,WAAA,iCAAA;AAGAF,EAAA;AAAA,EADPC;AAAA,GApBkBC,EAqBX,WAAA,WAAA;AAGAF,EAAA;AAAA,EADPC;AAAA,GAvBkBC,EAwBX,WAAA,iBAAA;AAGAF,EAAA;AAAA,EADPC;AAAA,GA1BkBC,EA2BX,WAAA,aAAA;AAGAF,EAAA;AAAA,EADPC;AAAA,GA7BkBC,EA8BX,WAAA,gBAAA;AAGEF,EAAA;AAAA,EADTC;AAAA,GAhCkBC,EAiCT,WAAA,aAAA;ACtDZ,MAAqBY,WAAuCC,EAAW;AAAA,EACrE,YAAYxE,GAAiB;AAC3B,UAAMA,CAAO,GAOf,KAAO,2BAA2B,CAChCsB;;EAPF;AASF;ACNO,MAAMmD,KAA+C;AAAA,EAC1D,IAAIC,EAA8B,iBAAiBC,CAAY;AAAA,EAC/D,IAAID,EAA8B,UAAUE,CAAM;AAAA,EAClD,IAAIF;AAAA,IACF;AAAA,IACAG;AAAA,IACAC,EAAQ;AAAA,EAAA;AAAA,EAEV,IAAIJ;AAAA,IACF;AAAA,IACAK;AAAA,EAAA;AAAA,EAEF,IAAIL,EAA8B,eAAeM,CAAU;AAAA,EAC3D,IAAIN;AAAA,IACF;AAAA,IACAH;AAAA,IACAO,EAAQ;AAAA,EAAA;AAEZ;ACtBO,MAAMG,WAAuBC,EAAK;AAAA,EAG7B,eAAqB;AAAA,EAE/B;AAAA,EAEU,oBAA0B;AAClC,IAAAC,EAA0B,MAAMV,EAAW,GAC3C,KAAK,OAAe,UAAU,KAAK,QAAQ;AAAA,EAC7C;AAAA,EAEU,iBAAuB;AAC/B,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEU,sBAA4B;AACpC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEA,MAAgB,eAA8B;AAC5C,SAAK,UAAU,IAAId,EAAqB,KAAK,QAAQ,GAEhD,OAAO,yBACV,OAAO,uBAAuB,KAAK;AAAA,EAEvC;AAAA,EAEO,SAA+B;AACpC,WAAO,KAAK;AAAA,EACd;AAAA,EAEU,iBAAyB;AACjC,WAAOyB,EAAa;AAAA,EACtB;AACF;"}
@@ -10,6 +10,7 @@ import { Color } from 'three';
10
10
  import { ColorRepresentation } from 'three';
11
11
  import { CommunicationInterfaceCallback } from '../../../workers/src/communication-interface';
12
12
  import { ConstructionObjectDoorArchArray } from 'roomle-core-hsc/src/embind/plannerCoreInterface';
13
+ import { createExtObjId } from '../../../../../common/src/utils/external-objects';
13
14
  import { EffectComposer } from 'three/examples/jsm/postprocessing/EffectComposer.js';
14
15
  import { Enumify } from '../../../common/src/utils/types';
15
16
  import { Enumify as Enumify_2 } from '../../../../../../common/src/utils/types';
@@ -17,6 +18,8 @@ import { Enumify as Enumify_3 } from '../../../../../common/src/utils/types';
17
18
  import { Enumify as Enumify_4 } from '../../../../common/src/utils/types';
18
19
  import { Enumify as Enumify_5 } from '../../../../../../../common/src/utils/types';
19
20
  import { Euler } from 'three';
21
+ import { ExtObjId } from '../../../common/src/utils/external-objects';
22
+ import { ExtObjId as ExtObjId_2 } from '../../../../../common/src/utils/external-objects';
20
23
  import { FullScreenQuad } from 'three/examples/jsm/postprocessing/Pass.js';
21
24
  import { Group } from 'three';
22
25
  import { GUI } from 'dat.gui';
@@ -1842,7 +1845,7 @@ export declare class ConfiguratorSceneManager extends SceneManager implements Co
1842
1845
  addPreviewHandlers(previewComponent: PreviewComponent): void;
1843
1846
  addPreviewLineHandlers(previewLineComponent: PreviewLineComponent): void;
1844
1847
  private _updateComponentPosition;
1845
- protected _updateBounds(box: Box3, geometryBox?: Box3, geometryChanged?: boolean): void;
1848
+ protected _updateBounds(box: Box3 | null, geometryBox?: Box3 | null, geometryChanged?: boolean): void;
1846
1849
  moveCamera(cameraParameter: CameraParameter): Promise<void>;
1847
1850
  getSelectedRuntimeComponentIds(): number[];
1848
1851
  selectComponent(runtimeId: number, triggerClickCallback?: boolean): void;
@@ -2424,7 +2427,7 @@ export declare const CORE_TYPE_OF_CORE_ID: {
2424
2427
 
2425
2428
  export declare const createExtObj: (data: Record<string, unknown>) => Record<string, unknown>;
2426
2429
 
2427
- export declare const createExtObjId: (id: string) => ExtObjId;
2430
+ export { createExtObjId }
2428
2431
 
2429
2432
  export declare interface CustomShadingParameters {
2430
2433
  aoIntensity?: number;
@@ -2901,8 +2904,6 @@ export declare const enum ExportType {
2901
2904
  HOMAGiX = 2
2902
2905
  }
2903
2906
 
2904
- export declare const EXTERNAL_ID_PREFIX = "__ext__obj__#";
2905
-
2906
2907
  export declare interface ExternalAttributeInformation {
2907
2908
  groupId: string;
2908
2909
  moduleIds: ExternalModuleInformation[];
@@ -3134,6 +3135,8 @@ export declare interface ExternalObjectLoadConfiguration {
3134
3135
  findFreeSpaceInPlan: boolean;
3135
3136
  isVisible: boolean;
3136
3137
  respondWithPositionInPlan: boolean;
3138
+ lockCallbacks: boolean;
3139
+ tryToMergeNewGroups: boolean;
3137
3140
  moduleIdMap: ExternalObjectLoadingIdMap[];
3138
3141
  }
3139
3142
 
@@ -3257,7 +3260,7 @@ export declare interface ExternalValidContainerModule {
3257
3260
  rootId: string;
3258
3261
  }
3259
3262
 
3260
- export declare type ExtObjId = `${typeof EXTERNAL_ID_PREFIX}${string}`;
3263
+ export { ExtObjId }
3261
3264
 
3262
3265
  export declare interface FeatureFlags {
3263
3266
  pulsePreview?: boolean;
@@ -3271,6 +3274,7 @@ export declare interface FeatureFlags {
3271
3274
  */
3272
3275
  configureInRoom?: boolean;
3273
3276
  /* Excluded from this release type: advancedDocking */
3277
+ /* Excluded from this release type: mergeOnInsert */
3274
3278
  /* Excluded from this release type: drawPreviewMode */
3275
3279
  /* Excluded from this release type: forceSaveThumbnails */
3276
3280
  /* Excluded from this release type: interiorLights */
@@ -3420,7 +3424,7 @@ export declare class GlbViewerUiCallbacks {
3420
3424
 
3421
3425
  export declare interface GlobalAPI {
3422
3426
  updateSize(): void;
3423
- getMain(): Main;
3427
+ getMain(): Main | undefined;
3424
3428
  /**
3425
3429
  * Returns the three.js scene (https://threejs.org/docs/#api/en/scenes/Scene)
3426
3430
  * WARNING: This is the actual scene (reference) and not a copy!
@@ -3998,7 +4002,7 @@ export declare const enum INTERSECTION_MODE {
3998
4002
 
3999
4003
  export declare const isExternalObject: (someThing: unknown) => someThing is ExternalObject;
4000
4004
 
4001
- export declare const isExtObjId: (id: unknown) => id is ExtObjId;
4005
+ export declare const isExtObjId: (id: unknown) => id is ExtObjId_2;
4002
4006
 
4003
4007
  export declare const isSafari: () => boolean;
4004
4008
 
@@ -7305,7 +7309,7 @@ export declare interface RectangleReferencePoints {
7305
7309
  topRight: KernelVector3;
7306
7310
  }
7307
7311
 
7308
- export declare const removeExtObjIdPrefix: (id: ExtObjId) => string;
7312
+ export declare const removeExtObjIdPrefix: (id: ExtObjId_2) => string;
7309
7313
 
7310
7314
  export declare interface RenderCache {
7311
7315
  dispose(): void;
@@ -8298,7 +8302,7 @@ export declare class RoomleGLBViewer implements GlobalAPI, Context, ExternalEmbe
8298
8302
  /**
8299
8303
  * Returns the current item id or url of the loaded object
8300
8304
  */
8301
- getCurrentId(): string;
8305
+ getCurrentId(): string | null;
8302
8306
  /**
8303
8307
  * Loads a SceneSettings object, currently it can can contain a light setting definition
8304
8308
  * (see {@link @roomle/web-sdk/configurator-core/src/roomle-configurator#RoomleConfigurator.loadDynamicLightSetting}) and an environment definition (see {@link @roomle/web-sdk/configurator-core/src/environment/dynamic-environment-setting-loaderEnvironmentSetting}).
@@ -8307,7 +8311,7 @@ export declare class RoomleGLBViewer implements GlobalAPI, Context, ExternalEmbe
8307
8311
  loadSceneSetting(sceneSettings: SceneSettings): Promise<void>;
8308
8312
  preparePerspectiveImage(): Promise<Base64Image>;
8309
8313
  processRenderList(jsonString: string, width?: number, height?: number): void;
8310
- setOverrides(initData: Partial<InitDataDefinition & GlobalInitDataDefinition> | InitData): void;
8314
+ setOverrides(initData: Partial<InitDataDefinition & GlobalInitDataDefinition> | InitData | undefined): void;
8311
8315
  updateSize(): void;
8312
8316
  /**
8313
8317
  * Return the main class which has access to lifecycle events and RapiAccess.
@@ -8315,7 +8319,7 @@ export declare class RoomleGLBViewer implements GlobalAPI, Context, ExternalEmbe
8315
8319
  * Has to be overridden by main class.
8316
8320
  * @hidden
8317
8321
  */
8318
- getMain(): Main;
8322
+ getMain(): Main | undefined;
8319
8323
  resumeTest(element: HTMLElement): void;
8320
8324
  pauseTest(): void;
8321
8325
  showGUI(): void;
@@ -8398,7 +8402,7 @@ export declare class RoomleMaterialViewer implements GlobalAPI, Context, Externa
8398
8402
  * Has to be overridden by main class.
8399
8403
  * @hidden
8400
8404
  */
8401
- getMain(): Main;
8405
+ getMain(): Main | undefined;
8402
8406
  resumeTest(element: HTMLElement): void;
8403
8407
  pauseTest(): void;
8404
8408
  showGUI(): void;
@@ -9423,8 +9427,8 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9423
9427
  protected abstract _getInputManager(): InputManager;
9424
9428
  protected get cameraBehaviour(): CameraBehaviour;
9425
9429
  abstract sceneChanged(): void;
9426
- abstract getBounds(): Box3;
9427
- abstract getGeometryBounds(): Box3;
9430
+ abstract getBounds(): Box3 | null;
9431
+ abstract getGeometryBounds(): Box3 | null;
9428
9432
  protected onBeforeRender(): void;
9429
9433
  protected _onAfterRender: () => void;
9430
9434
  protected constructor(creator: string, offset: CanvasOffset, canvasID: string, mode: Enumify_3<typeof CAMERA_TYPE>);
@@ -9483,7 +9487,7 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9483
9487
  loadDynamicLightSetting(source: DynamicLightSettingSource): Promise<void>;
9484
9488
  getScene(): Scene;
9485
9489
  updateScene(): void;
9486
- protected _updateBounds(bounds: Box3, geometryBounds?: Box3, geometryChanged?: boolean): void;
9490
+ protected _updateBounds(bounds: Box3 | null, geometryBounds?: Box3 | null, geometryChanged?: boolean): void;
9487
9491
  setCameraOffset(offset: CanvasOffset): void;
9488
9492
  getCameraOffset(): CanvasOffset;
9489
9493
  getOrthographicOffsetCamera(): OrthographicOffsetCamera;
package/lib/roomle-sdk.js CHANGED
@@ -1,4 +1,4 @@
1
- import { fN as s, fM as l, f$ as o, g1 as i, g6 as n, gb as r, fX as t, gc as f, fP as g, y as E, g7 as m, g4 as O, fY as P, fZ as b, g2 as c, x as C, J as d, g0 as M, ga as R, fO as I, g5 as T, g3 as _, fR as N, g8 as V, g9 as w, fT as x, fU as S, fQ as j, fW as u, fS as A, f_ as L, fV as G } from "./index-CCTJ-3R5.mjs";
1
+ import { fN as s, fM as l, f$ as o, g1 as i, g6 as n, gb as r, fX as t, gc as f, fP as g, y as E, g7 as m, g4 as O, fY as P, fZ as b, g2 as c, x as C, J as d, g0 as M, ga as R, fO as I, g5 as T, g3 as _, fR as N, g8 as V, g9 as w, fT as x, fU as S, fQ as j, fW as u, fS as A, f_ as L, fV as G } from "./index-C1huN1fk.mjs";
2
2
  export {
3
3
  s as CONFIGURATION_TYPE,
4
4
  l as CORE_PERMISSION_TO_DELETE,
@@ -197,8 +197,10 @@ export interface ExternalObjectLoadConfiguration {
197
197
  correctArrangement: boolean;
198
198
  findFreeSpaceInPlan: boolean;
199
199
  isVisible: boolean;
200
+ lockCallbacks: boolean;
200
201
  moduleIdMap: ModuleGroupModuleIdMapping[];
201
202
  respondWithPositionInPlan: boolean;
203
+ tryToMergeNewGroups: boolean;
202
204
  }
203
205
  export interface ExternalValidContainerModule {
204
206
  containerModuleId: string;
@@ -1 +1 @@
1
- {"name": "roomle-core-hsc", "version": "2.71.0-alpha.11" }
1
+ {"name": "roomle-core-hsc", "version": "2.71.0-alpha.15" }
@@ -197,8 +197,10 @@ export interface ExternalObjectLoadConfiguration {
197
197
  correctArrangement: boolean;
198
198
  findFreeSpaceInPlan: boolean;
199
199
  isVisible: boolean;
200
+ lockCallbacks: boolean;
200
201
  moduleIdMap: ModuleGroupModuleIdMapping[];
201
202
  respondWithPositionInPlan: boolean;
203
+ tryToMergeNewGroups: boolean;
202
204
  }
203
205
  export interface ExternalValidContainerModule {
204
206
  containerModuleId: string;
@@ -197,8 +197,10 @@ export interface ExternalObjectLoadConfiguration {
197
197
  correctArrangement: boolean;
198
198
  findFreeSpaceInPlan: boolean;
199
199
  isVisible: boolean;
200
+ lockCallbacks: boolean;
200
201
  moduleIdMap: ModuleGroupModuleIdMapping[];
201
202
  respondWithPositionInPlan: boolean;
203
+ tryToMergeNewGroups: boolean;
202
204
  }
203
205
  export interface ExternalValidContainerModule {
204
206
  containerModuleId: string;
@@ -1,4 +1,4 @@
1
- import { fJ as C, r as z } from "./index-CCTJ-3R5.mjs";
1
+ import { fJ as C, r as z } from "./index-C1huN1fk.mjs";
2
2
  function T(f) {
3
3
  return f && f.__esModule && Object.prototype.hasOwnProperty.call(f, "default") ? f.default : f;
4
4
  }
@@ -105,4 +105,4 @@ I([
105
105
  export {
106
106
  M as default
107
107
  };
108
- //# sourceMappingURL=stats-helper-Br9aehyo.mjs.map
108
+ //# sourceMappingURL=stats-helper-C-QaGBA3.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"stats-helper-Br9aehyo.mjs","sources":["../../../../node_modules/stats.js/build/stats.min.js","../../packages/common-core/src/utils/stats-helper.ts"],"sourcesContent":["// stats.js - http://github.com/mrdoob/stats.js\n(function(f,e){\"object\"===typeof exports&&\"undefined\"!==typeof module?module.exports=e():\"function\"===typeof define&&define.amd?define(e):f.Stats=e()})(this,function(){var f=function(){function e(a){c.appendChild(a.dom);return a}function u(a){for(var d=0;d<c.children.length;d++)c.children[d].style.display=d===a?\"block\":\"none\";l=a}var l=0,c=document.createElement(\"div\");c.style.cssText=\"position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000\";c.addEventListener(\"click\",function(a){a.preventDefault();\nu(++l%c.children.length)},!1);var k=(performance||Date).now(),g=k,a=0,r=e(new f.Panel(\"FPS\",\"#0ff\",\"#002\")),h=e(new f.Panel(\"MS\",\"#0f0\",\"#020\"));if(self.performance&&self.performance.memory)var t=e(new f.Panel(\"MB\",\"#f08\",\"#201\"));u(0);return{REVISION:16,dom:c,addPanel:e,showPanel:u,begin:function(){k=(performance||Date).now()},end:function(){a++;var c=(performance||Date).now();h.update(c-k,200);if(c>g+1E3&&(r.update(1E3*a/(c-g),100),g=c,a=0,t)){var d=performance.memory;t.update(d.usedJSHeapSize/\n1048576,d.jsHeapSizeLimit/1048576)}return c},update:function(){k=this.end()},domElement:c,setMode:u}};f.Panel=function(e,f,l){var c=Infinity,k=0,g=Math.round,a=g(window.devicePixelRatio||1),r=80*a,h=48*a,t=3*a,v=2*a,d=3*a,m=15*a,n=74*a,p=30*a,q=document.createElement(\"canvas\");q.width=r;q.height=h;q.style.cssText=\"width:80px;height:48px\";var b=q.getContext(\"2d\");b.font=\"bold \"+9*a+\"px Helvetica,Arial,sans-serif\";b.textBaseline=\"top\";b.fillStyle=l;b.fillRect(0,0,r,h);b.fillStyle=f;b.fillText(e,t,v);\nb.fillRect(d,m,n,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d,m,n,p);return{dom:q,update:function(h,w){c=Math.min(c,h);k=Math.max(k,h);b.fillStyle=l;b.globalAlpha=1;b.fillRect(0,0,r,m);b.fillStyle=f;b.fillText(g(h)+\" \"+e+\" (\"+g(c)+\"-\"+g(k)+\")\",t,v);b.drawImage(q,d+a,m,n-a,p,d,m,n-a,p);b.fillRect(d+n-a,m,a,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d+n-a,m,a,g((1-h/w)*p))}}};return f});\n","import inject from '../di/inject';\nimport type { Panel } from '../../../typings/stats';\nimport type CacheHolder from '../services/cache-holder';\nimport type { WebGLInfo } from 'three';\nimport Stats from 'stats.js';\nimport {\n QUALITY_LEVELS,\n type QualityLevel,\n} from '../webgl/renderer/scene-renderer';\n\nexport default class StatsHelper {\n @inject\n protected _cacheHolder: CacheHolder;\n\n private _statPanels: Stats[] = [];\n private _drawPanel: Panel; // eslint-disable-line\n private _trianglesPanel: Panel; // eslint-disable-line\n private _geometryPanel: Panel; // eslint-disable-line\n private _texturePanel: Panel; // eslint-disable-line\n private _materialPanel: Panel; // eslint-disable-line\n private _qualityPanel: Panel; // eslint-disable-line\n\n constructor() {\n this._init();\n }\n\n private _init() {\n let fpsPanel = new Stats();\n fpsPanel.showPanel(0);\n fpsPanel.dom.style.cssText =\n 'position:absolute;top:0px;left:0px;z-index:110;';\n document.body.appendChild(fpsPanel.dom);\n this._statPanels.push(fpsPanel);\n\n let memoryPanel = new Stats();\n memoryPanel.showPanel(2);\n memoryPanel.dom.style.cssText =\n 'position:absolute;top:50px;left:0px;z-index:110;';\n document.body.appendChild(memoryPanel.dom);\n this._statPanels.push(memoryPanel);\n\n let drawPanel = new Stats();\n this._drawPanel = drawPanel.addPanel(\n new Stats.Panel('draw', '#0f0', '#000'),\n );\n drawPanel.showPanel(3);\n drawPanel.dom.style.cssText =\n 'position:absolute;top:100px;left:0px;z-index:110;';\n document.body.appendChild(drawPanel.dom);\n this._statPanels.push(drawPanel);\n\n let trianglesPanel = new Stats();\n this._trianglesPanel = trianglesPanel.addPanel(\n new Stats.Panel('poly', '#0f0', '#000'),\n );\n trianglesPanel.showPanel(3);\n trianglesPanel.dom.style.cssText =\n 'position:absolute;top:150px;left:0px;z-index:110;';\n document.body.appendChild(trianglesPanel.dom);\n this._statPanels.push(trianglesPanel);\n\n let geometryPanel = new Stats();\n this._geometryPanel = geometryPanel.addPanel(\n new Stats.Panel('geo', '#f00', '#000'),\n );\n geometryPanel.showPanel(3);\n geometryPanel.dom.style.cssText =\n 'position:absolute;top:200px;left:0px;z-index:110;';\n document.body.appendChild(geometryPanel.dom);\n this._statPanels.push(geometryPanel);\n\n let texturePanel = new Stats();\n this._texturePanel = texturePanel.addPanel(\n new Stats.Panel('tex', '#f00', '#000'),\n );\n texturePanel.showPanel(3);\n texturePanel.dom.style.cssText =\n 'position:absolute;top:250px;left:0px;z-index:110;';\n document.body.appendChild(texturePanel.dom);\n this._statPanels.push(texturePanel);\n\n let materialPanel = new Stats();\n this._materialPanel = materialPanel.addPanel(\n new Stats.Panel('mat', '#f00', '#000'),\n );\n materialPanel.showPanel(3);\n materialPanel.dom.style.cssText =\n 'position:absolute;top:300px;left:0px;z-index:110;';\n document.body.appendChild(materialPanel.dom);\n this._statPanels.push(materialPanel);\n\n let qualityPanel = new Stats();\n this._qualityPanel = qualityPanel.addPanel(\n new Stats.Panel('quality', '#fff', '#000'),\n );\n qualityPanel.showPanel(3);\n qualityPanel.dom.style.cssText =\n 'position:absolute;top:350px;left:0px;z-index:110;';\n document.body.appendChild(qualityPanel.dom);\n this._statPanels.push(qualityPanel);\n }\n\n public updateRenderInfo(info: WebGLInfo) {\n if (this._drawPanel && info.render.calls > 0) {\n this._drawPanel.update(info.render.calls, 500);\n }\n if (this._trianglesPanel && info.render.triangles > 0) {\n this._trianglesPanel.update(info.render.triangles, 10000);\n }\n if (this._geometryPanel && info.memory.geometries > 0) {\n this._geometryPanel.update(info.memory.geometries, 10000);\n }\n if (this._texturePanel && info.memory.textures > 0) {\n this._texturePanel.update(info.memory.textures, 10000);\n }\n if (this._materialPanel && this._cacheHolder.materialCache.size > 0) {\n this._materialPanel.update(this._cacheHolder.materialCache.size, 1000);\n }\n\n if (this._statPanels.length > 0) {\n this._statPanels.forEach((panel) => panel.update());\n }\n }\n\n public updateQualityInfo(qualityLevel: QualityLevel) {\n if (this._qualityPanel && qualityLevel) {\n const qualityValue = Object.values(QUALITY_LEVELS).indexOf(qualityLevel);\n this._qualityPanel.update(qualityValue, 5);\n }\n }\n}\n"],"names":["f","e","module","this","a","c","u","d","l","k","g","r","h","t","v","m","n","p","q","b","w","StatsHelper","fpsPanel","Stats","memoryPanel","drawPanel","trianglesPanel","geometryPanel","texturePanel","materialPanel","qualityPanel","info","panel","qualityLevel","qualityValue","QUALITY_LEVELS","__decorateClass","inject"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"stats-helper-C-QaGBA3.mjs","sources":["../../../../node_modules/stats.js/build/stats.min.js","../../packages/common-core/src/utils/stats-helper.ts"],"sourcesContent":["// stats.js - http://github.com/mrdoob/stats.js\n(function(f,e){\"object\"===typeof exports&&\"undefined\"!==typeof module?module.exports=e():\"function\"===typeof define&&define.amd?define(e):f.Stats=e()})(this,function(){var f=function(){function e(a){c.appendChild(a.dom);return a}function u(a){for(var d=0;d<c.children.length;d++)c.children[d].style.display=d===a?\"block\":\"none\";l=a}var l=0,c=document.createElement(\"div\");c.style.cssText=\"position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000\";c.addEventListener(\"click\",function(a){a.preventDefault();\nu(++l%c.children.length)},!1);var k=(performance||Date).now(),g=k,a=0,r=e(new f.Panel(\"FPS\",\"#0ff\",\"#002\")),h=e(new f.Panel(\"MS\",\"#0f0\",\"#020\"));if(self.performance&&self.performance.memory)var t=e(new f.Panel(\"MB\",\"#f08\",\"#201\"));u(0);return{REVISION:16,dom:c,addPanel:e,showPanel:u,begin:function(){k=(performance||Date).now()},end:function(){a++;var c=(performance||Date).now();h.update(c-k,200);if(c>g+1E3&&(r.update(1E3*a/(c-g),100),g=c,a=0,t)){var d=performance.memory;t.update(d.usedJSHeapSize/\n1048576,d.jsHeapSizeLimit/1048576)}return c},update:function(){k=this.end()},domElement:c,setMode:u}};f.Panel=function(e,f,l){var c=Infinity,k=0,g=Math.round,a=g(window.devicePixelRatio||1),r=80*a,h=48*a,t=3*a,v=2*a,d=3*a,m=15*a,n=74*a,p=30*a,q=document.createElement(\"canvas\");q.width=r;q.height=h;q.style.cssText=\"width:80px;height:48px\";var b=q.getContext(\"2d\");b.font=\"bold \"+9*a+\"px Helvetica,Arial,sans-serif\";b.textBaseline=\"top\";b.fillStyle=l;b.fillRect(0,0,r,h);b.fillStyle=f;b.fillText(e,t,v);\nb.fillRect(d,m,n,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d,m,n,p);return{dom:q,update:function(h,w){c=Math.min(c,h);k=Math.max(k,h);b.fillStyle=l;b.globalAlpha=1;b.fillRect(0,0,r,m);b.fillStyle=f;b.fillText(g(h)+\" \"+e+\" (\"+g(c)+\"-\"+g(k)+\")\",t,v);b.drawImage(q,d+a,m,n-a,p,d,m,n-a,p);b.fillRect(d+n-a,m,a,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d+n-a,m,a,g((1-h/w)*p))}}};return f});\n","import inject from '../di/inject';\nimport type { Panel } from '../../../typings/stats';\nimport type CacheHolder from '../services/cache-holder';\nimport type { WebGLInfo } from 'three';\nimport Stats from 'stats.js';\nimport {\n QUALITY_LEVELS,\n type QualityLevel,\n} from '../webgl/renderer/scene-renderer';\n\nexport default class StatsHelper {\n @inject\n protected _cacheHolder: CacheHolder;\n\n private _statPanels: Stats[] = [];\n private _drawPanel: Panel; // eslint-disable-line\n private _trianglesPanel: Panel; // eslint-disable-line\n private _geometryPanel: Panel; // eslint-disable-line\n private _texturePanel: Panel; // eslint-disable-line\n private _materialPanel: Panel; // eslint-disable-line\n private _qualityPanel: Panel; // eslint-disable-line\n\n constructor() {\n this._init();\n }\n\n private _init() {\n let fpsPanel = new Stats();\n fpsPanel.showPanel(0);\n fpsPanel.dom.style.cssText =\n 'position:absolute;top:0px;left:0px;z-index:110;';\n document.body.appendChild(fpsPanel.dom);\n this._statPanels.push(fpsPanel);\n\n let memoryPanel = new Stats();\n memoryPanel.showPanel(2);\n memoryPanel.dom.style.cssText =\n 'position:absolute;top:50px;left:0px;z-index:110;';\n document.body.appendChild(memoryPanel.dom);\n this._statPanels.push(memoryPanel);\n\n let drawPanel = new Stats();\n this._drawPanel = drawPanel.addPanel(\n new Stats.Panel('draw', '#0f0', '#000'),\n );\n drawPanel.showPanel(3);\n drawPanel.dom.style.cssText =\n 'position:absolute;top:100px;left:0px;z-index:110;';\n document.body.appendChild(drawPanel.dom);\n this._statPanels.push(drawPanel);\n\n let trianglesPanel = new Stats();\n this._trianglesPanel = trianglesPanel.addPanel(\n new Stats.Panel('poly', '#0f0', '#000'),\n );\n trianglesPanel.showPanel(3);\n trianglesPanel.dom.style.cssText =\n 'position:absolute;top:150px;left:0px;z-index:110;';\n document.body.appendChild(trianglesPanel.dom);\n this._statPanels.push(trianglesPanel);\n\n let geometryPanel = new Stats();\n this._geometryPanel = geometryPanel.addPanel(\n new Stats.Panel('geo', '#f00', '#000'),\n );\n geometryPanel.showPanel(3);\n geometryPanel.dom.style.cssText =\n 'position:absolute;top:200px;left:0px;z-index:110;';\n document.body.appendChild(geometryPanel.dom);\n this._statPanels.push(geometryPanel);\n\n let texturePanel = new Stats();\n this._texturePanel = texturePanel.addPanel(\n new Stats.Panel('tex', '#f00', '#000'),\n );\n texturePanel.showPanel(3);\n texturePanel.dom.style.cssText =\n 'position:absolute;top:250px;left:0px;z-index:110;';\n document.body.appendChild(texturePanel.dom);\n this._statPanels.push(texturePanel);\n\n let materialPanel = new Stats();\n this._materialPanel = materialPanel.addPanel(\n new Stats.Panel('mat', '#f00', '#000'),\n );\n materialPanel.showPanel(3);\n materialPanel.dom.style.cssText =\n 'position:absolute;top:300px;left:0px;z-index:110;';\n document.body.appendChild(materialPanel.dom);\n this._statPanels.push(materialPanel);\n\n let qualityPanel = new Stats();\n this._qualityPanel = qualityPanel.addPanel(\n new Stats.Panel('quality', '#fff', '#000'),\n );\n qualityPanel.showPanel(3);\n qualityPanel.dom.style.cssText =\n 'position:absolute;top:350px;left:0px;z-index:110;';\n document.body.appendChild(qualityPanel.dom);\n this._statPanels.push(qualityPanel);\n }\n\n public updateRenderInfo(info: WebGLInfo) {\n if (this._drawPanel && info.render.calls > 0) {\n this._drawPanel.update(info.render.calls, 500);\n }\n if (this._trianglesPanel && info.render.triangles > 0) {\n this._trianglesPanel.update(info.render.triangles, 10000);\n }\n if (this._geometryPanel && info.memory.geometries > 0) {\n this._geometryPanel.update(info.memory.geometries, 10000);\n }\n if (this._texturePanel && info.memory.textures > 0) {\n this._texturePanel.update(info.memory.textures, 10000);\n }\n if (this._materialPanel && this._cacheHolder.materialCache.size > 0) {\n this._materialPanel.update(this._cacheHolder.materialCache.size, 1000);\n }\n\n if (this._statPanels.length > 0) {\n this._statPanels.forEach((panel) => panel.update());\n }\n }\n\n public updateQualityInfo(qualityLevel: QualityLevel) {\n if (this._qualityPanel && qualityLevel) {\n const qualityValue = Object.values(QUALITY_LEVELS).indexOf(qualityLevel);\n this._qualityPanel.update(qualityValue, 5);\n }\n }\n}\n"],"names":["f","e","module","this","a","c","u","d","l","k","g","r","h","t","v","m","n","p","q","b","w","StatsHelper","fpsPanel","Stats","memoryPanel","drawPanel","trianglesPanel","geometryPanel","texturePanel","materialPanel","qualityPanel","info","panel","qualityLevel","qualityValue","QUALITY_LEVELS","__decorateClass","inject"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
- import { aH as L, aI as Le, aJ as gl, aK as hs, aL as oh, aM as Po, aN as ye, aO as P, aP as _e, aQ as Ve, aR as Zs, aS as ut, aT as ot, aU as xe, aV as St, aW as ah, aX as uh, aY as Xe, F as Rn, j as fs, aZ as vr, a_ as Tt, a$ as lh, b0 as ch, b1 as dh, b2 as Uo, b3 as hh, b4 as ph, b5 as fh, b6 as gh, b7 as mh, b8 as xh, b9 as Th, ba as yh, bb as _h, bc as Lo, bd as ml, be as yt, d as jt, bf as xl, bg as Aa, f as Ut, bh as Cr, bi as bh, n as Nh, bj as qe, bk as Xt, bl as Re, bm as Kt, bn as Yt, aG as os, bo as An, bp as Ct, bq as $t, br as Sh, as as k, bs as Rh, bt as Ah, bu as Io, bv as Go, bw as zi, bx as Oo, T as Vo, by as Is, m as vh, bz as W, bA as Ch, bB as Hn, bC as Tl, bD as ko, bE as Hs, bF as Eh, bG as Er, bH as De, bI as Wr, bJ as Gn, bK as Hr, bL as gs, bM as Wi, bN as On, bO as yl, bP as rt, bQ as _l, bR as bl, bS as Nl, bT as Sl, bU as Rl, bV as qr, bW as Al, bX as vl, bY as va, bZ as qs, b_ as Qe, b$ as wh, c0 as Cl, c1 as El, c2 as wl, c3 as Ml, c4 as Bl, c5 as Fl, c6 as Dl, c7 as Pl, c8 as Ul, c9 as Ll, ca as Il, cb as Gl, cc as Mh, cd as Bh, ce as Fh, cf as Vn, cg as wr, ch as Mr, ci as Br, cj as ms, ck as Ol, cl as Vl, cm as kl, cn as $l, co as zl, cp as Wl, cq as Hl, cr as ql, cs as Dh, ct as Ph, cu as Xl, cv as Kl, cw as vn, cx as Cn, cy as Gs, cz as Uh, cA as $o, cB as zo, cC as Wo, cD as wt, cE as Ho, cF as qo, cG as mr, cH as xr, cI as Tr, cJ as yr, cK as Ca, cL as Ea, cM as wa, cN as Ma, cO as Hi, cP as qi, cQ as Xi, cR as Ki, cS as Yi, cT as Fr, cU as Qi, cV as ji, cW as Zi, cX as Ji, cY as eo, cZ as to, c_ as so, c$ as no, d0 as ro, d1 as io, d2 as oo, d3 as ao, d4 as uo, d5 as lo, d6 as co, d7 as ho, d8 as po, d9 as fo, da as Dr, db as go, dc as Yl, dd as Lh, de as Ih, df as Gh, dg as Oh, dh as Vh, di as kh, dj as $h, aw as zh, dk as Wh, dl as Hh, dm as qh, dn as Xh, az as Xo, dp as Ba, dq as Kh, dr as Yh, ds as Qh, dt as jh, du as Ql, dv as Zh, dw as Jh, dx as ep, dy as tp, dz as sp, dA as np, dB as rp, dC as ip, dD as op, dE as ap, dF as up, dG as lp, dH as cp, dI as dp, dJ as hp, dK as pp, dL as fp, dM as gp, dN as mp, dO as jl, dP as xp, dQ as Tp, dR as yp, dS as _p, dT as bp, dU as Np, dV as Zl, dW as Sp, dX as Jl, dY as Rp, B as ec, dZ as Ap, d_ as _r, d$ as vp, e0 as Pr, e1 as Ur, e2 as ii, e3 as oi, e4 as Cp, e5 as Ep, e6 as wp, e7 as Ko, e8 as Mp, e9 as Bp, ea as Fp, aA as ai, eb as Dp, ec as Pp, ed as Up } from "./index-CCTJ-3R5.mjs";
2
- import { eh as _S, ei as bS, ej as NS, ek as SS, el as RS, em as AS, h as vS, en as CS, eo as ES, ep as wS, eq as MS, er as BS, es as FS, et as DS, eu as PS, ev as US, ew as LS, ex as IS, ey as GS, ez as OS, eA as VS, eB as kS, eC as $S, eD as zS, eE as WS, eF as HS, eG as qS, eH as XS, eI as KS, eJ as YS, eK as QS, eL as jS, eM as ZS, ee as JS, eN as e0, eO as t0, ef as s0, eP as n0, eQ as r0, eR as i0, eS as o0, eT as a0, eU as u0, eV as l0, eW as c0, eX as d0, eY as h0, eZ as p0, aB as f0, aD as g0, e_ as m0, e$ as x0, f0 as T0, f1 as y0, f2 as _0, eg as b0, f3 as N0, f4 as S0, f5 as R0, f6 as A0, f7 as v0, f8 as C0, at as E0, f9 as w0, fa as M0, fb as B0, fc as F0, fd as D0, fe as P0, ff as U0, fg as L0, fh as I0, fi as G0, fj as O0, fk as V0, fl as k0, fm as $0, fn as z0, aF as W0, fo as H0, fp as q0, fq as X0, fr as K0, fs as Y0, ft as Q0, fu as j0, fv as Z0, fw as J0, fx as eR, fy as tR, fz as sR, fA as nR, fB as rR, fC as iR, fD as oR, fE as aR, fF as uR, fG as lR, fH as cR, fI as dR } from "./index-CCTJ-3R5.mjs";
1
+ import { aH as L, aI as Le, aJ as gl, aK as hs, aL as oh, aM as Po, aN as ye, aO as P, aP as _e, aQ as Ve, aR as Zs, aS as ut, aT as ot, aU as xe, aV as St, aW as ah, aX as uh, aY as Xe, F as Rn, j as fs, aZ as vr, a_ as Tt, a$ as lh, b0 as ch, b1 as dh, b2 as Uo, b3 as hh, b4 as ph, b5 as fh, b6 as gh, b7 as mh, b8 as xh, b9 as Th, ba as yh, bb as _h, bc as Lo, bd as ml, be as yt, d as jt, bf as xl, bg as Aa, f as Ut, bh as Cr, bi as bh, n as Nh, bj as qe, bk as Xt, bl as Re, bm as Kt, bn as Yt, aG as os, bo as An, bp as Ct, bq as $t, br as Sh, as as k, bs as Rh, bt as Ah, bu as Io, bv as Go, bw as zi, bx as Oo, T as Vo, by as Is, m as vh, bz as W, bA as Ch, bB as Hn, bC as Tl, bD as ko, bE as Hs, bF as Eh, bG as Er, bH as De, bI as Wr, bJ as Gn, bK as Hr, bL as gs, bM as Wi, bN as On, bO as yl, bP as rt, bQ as _l, bR as bl, bS as Nl, bT as Sl, bU as Rl, bV as qr, bW as Al, bX as vl, bY as va, bZ as qs, b_ as Qe, b$ as wh, c0 as Cl, c1 as El, c2 as wl, c3 as Ml, c4 as Bl, c5 as Fl, c6 as Dl, c7 as Pl, c8 as Ul, c9 as Ll, ca as Il, cb as Gl, cc as Mh, cd as Bh, ce as Fh, cf as Vn, cg as wr, ch as Mr, ci as Br, cj as ms, ck as Ol, cl as Vl, cm as kl, cn as $l, co as zl, cp as Wl, cq as Hl, cr as ql, cs as Dh, ct as Ph, cu as Xl, cv as Kl, cw as vn, cx as Cn, cy as Gs, cz as Uh, cA as $o, cB as zo, cC as Wo, cD as wt, cE as Ho, cF as qo, cG as mr, cH as xr, cI as Tr, cJ as yr, cK as Ca, cL as Ea, cM as wa, cN as Ma, cO as Hi, cP as qi, cQ as Xi, cR as Ki, cS as Yi, cT as Fr, cU as Qi, cV as ji, cW as Zi, cX as Ji, cY as eo, cZ as to, c_ as so, c$ as no, d0 as ro, d1 as io, d2 as oo, d3 as ao, d4 as uo, d5 as lo, d6 as co, d7 as ho, d8 as po, d9 as fo, da as Dr, db as go, dc as Yl, dd as Lh, de as Ih, df as Gh, dg as Oh, dh as Vh, di as kh, dj as $h, aw as zh, dk as Wh, dl as Hh, dm as qh, dn as Xh, az as Xo, dp as Ba, dq as Kh, dr as Yh, ds as Qh, dt as jh, du as Ql, dv as Zh, dw as Jh, dx as ep, dy as tp, dz as sp, dA as np, dB as rp, dC as ip, dD as op, dE as ap, dF as up, dG as lp, dH as cp, dI as dp, dJ as hp, dK as pp, dL as fp, dM as gp, dN as mp, dO as jl, dP as xp, dQ as Tp, dR as yp, dS as _p, dT as bp, dU as Np, dV as Zl, dW as Sp, dX as Jl, dY as Rp, B as ec, dZ as Ap, d_ as _r, d$ as vp, e0 as Pr, e1 as Ur, e2 as ii, e3 as oi, e4 as Cp, e5 as Ep, e6 as wp, e7 as Ko, e8 as Mp, e9 as Bp, ea as Fp, aA as ai, eb as Dp, ec as Pp, ed as Up } from "./index-C1huN1fk.mjs";
2
+ import { eh as _S, ei as bS, ej as NS, ek as SS, el as RS, em as AS, h as vS, en as CS, eo as ES, ep as wS, eq as MS, er as BS, es as FS, et as DS, eu as PS, ev as US, ew as LS, ex as IS, ey as GS, ez as OS, eA as VS, eB as kS, eC as $S, eD as zS, eE as WS, eF as HS, eG as qS, eH as XS, eI as KS, eJ as YS, eK as QS, eL as jS, eM as ZS, ee as JS, eN as e0, eO as t0, ef as s0, eP as n0, eQ as r0, eR as i0, eS as o0, eT as a0, eU as u0, eV as l0, eW as c0, eX as d0, eY as h0, eZ as p0, aB as f0, aD as g0, e_ as m0, e$ as x0, f0 as T0, f1 as y0, f2 as _0, eg as b0, f3 as N0, f4 as S0, f5 as R0, f6 as A0, f7 as v0, f8 as C0, at as E0, f9 as w0, fa as M0, fb as B0, fc as F0, fd as D0, fe as P0, ff as U0, fg as L0, fh as I0, fi as G0, fj as O0, fk as V0, fl as k0, fm as $0, fn as z0, aF as W0, fo as H0, fp as q0, fq as X0, fr as K0, fs as Y0, ft as Q0, fu as j0, fv as Z0, fw as J0, fx as eR, fy as tR, fz as sR, fA as nR, fB as rR, fC as iR, fD as oR, fE as aR, fF as uR, fG as lR, fH as cR, fI as dR } from "./index-C1huN1fk.mjs";
3
3
  /**
4
4
  * @license
5
5
  * Copyright 2010-2025 Three.js Authors
@@ -27622,4 +27622,4 @@ export {
27622
27622
  L as warn,
27623
27623
  ye as warnOnce
27624
27624
  };
27625
- //# sourceMappingURL=three.webgpu-D7vLMMos.mjs.map
27625
+ //# sourceMappingURL=three.webgpu-DhynQsZp.mjs.map