@roomle/web-sdk 5.0.0-alpha.1 → 5.0.0-alpha.3

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 (42) hide show
  1. package/lib/ConfiguratorKernel.wasm +0 -0
  2. package/lib/RoomleCore.wasm +0 -0
  3. package/lib/RoomleToolsCore.wasm +0 -0
  4. package/lib/{api-hQ0uOklW.mjs → api-BxmKgu9j.mjs} +2 -2
  5. package/lib/{api-hQ0uOklW.mjs.map → api-BxmKgu9j.mjs.map} +1 -1
  6. package/lib/asset-loader.worker-eqHzNAwa.mjs.map +1 -1
  7. package/lib/budgeteer.sw-BUMElkO1.mjs.map +1 -1
  8. package/lib/configurator-C7xmJwai.mjs +2 -0
  9. package/lib/{configurator-CVg8_f9w.mjs → configurator-C_yEkgLK.mjs} +3 -3
  10. package/lib/{configurator-CVg8_f9w.mjs.map → configurator-C_yEkgLK.mjs.map} +1 -1
  11. package/lib/glb-viewer-BGoRQgDS.mjs +2 -0
  12. package/lib/{glb-viewer-Csx9GwVi.mjs → glb-viewer-eagko6uS.mjs} +3 -3
  13. package/lib/{glb-viewer-Csx9GwVi.mjs.map → glb-viewer-eagko6uS.mjs.map} +1 -1
  14. package/lib/{homag-intelligence-Dh4VWYH6.mjs → homag-intelligence-CoVomYm0.mjs} +3 -3
  15. package/lib/{homag-intelligence-Dh4VWYH6.mjs.map → homag-intelligence-CoVomYm0.mjs.map} +1 -1
  16. package/lib/{material-viewer-DqUJzRXN.mjs → material-viewer-BKdC2g0S.mjs} +3 -3
  17. package/lib/{material-viewer-DqUJzRXN.mjs.map → material-viewer-BKdC2g0S.mjs.map} +1 -1
  18. package/lib/{packages-Bz8iWtUY.mjs → packages-C-_oZzj7.mjs} +5 -5
  19. package/lib/{packages-Bz8iWtUY.mjs.map → packages-C-_oZzj7.mjs.map} +1 -1
  20. package/lib/planner-BXuQBuos.mjs +2 -0
  21. package/lib/{planner-CpcR6z07.mjs → planner-jaBJ_YJc.mjs} +3 -3
  22. package/lib/{planner-CpcR6z07.mjs.map → planner-jaBJ_YJc.mjs.map} +1 -1
  23. package/lib/roomle-headless.d.ts +20 -0
  24. package/lib/roomle-headless.js +7 -7
  25. package/lib/roomle-renderer-FUqNfNIf.mjs.map +1 -1
  26. package/lib/{roomle-sdk-BCmaueGp.mjs → roomle-sdk-BmPd9eaY.mjs} +94 -58
  27. package/lib/roomle-sdk-BmPd9eaY.mjs.map +1 -0
  28. package/lib/roomle-sdk.d.ts +20 -0
  29. package/lib/roomle-sdk.js +6 -6
  30. package/lib/{script-loader-Dmcvx-Qu.mjs → script-loader-BrvaxyRP.mjs} +2 -2
  31. package/lib/{script-loader-Dmcvx-Qu.mjs.map → script-loader-BrvaxyRP.mjs.map} +1 -1
  32. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
  33. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  34. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  35. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  36. package/lib/{tools-core-CRWZtE-S.mjs → tools-core-CMfJ4fmh.mjs} +3 -3
  37. package/lib/{tools-core-CRWZtE-S.mjs.map → tools-core-CMfJ4fmh.mjs.map} +1 -1
  38. package/package.json +2 -2
  39. package/lib/configurator-BM0nny5l.mjs +0 -2
  40. package/lib/glb-viewer-gEdln_PJ.mjs +0 -2
  41. package/lib/planner-g06Phdjc.mjs +0 -2
  42. package/lib/roomle-sdk-BCmaueGp.mjs.map +0 -1
@@ -37069,7 +37069,7 @@ var Us = 16, Ws = 6, Gs = class {
37069
37069
  }
37070
37070
  }, mc = class {
37071
37071
  constructor(e) {
37072
- return this.autoQuality = !1, this.colors = sc(Rr), this.useRoomlePrice = !1, this.unit = void 0, this.unitStringType = void 0, this.meshSelection = !0, this.stats = !1, this.debug = !1, this.debugGeometry = !1, this.debugLines = !1, this.debugBoundingBox = !1, this.usePriceService = !1, this.disableDebugGUI = !1, this.envMapUrl = tc, this.envMapIntensity = ac, this.envMapRotation = 0, this.maxLightSources = -1, this.legacyLight = !1, this.sceneLight = void 0, this.shading = Jn.DEFAULT, this.linearAoFilter = !1, this.restrictionLevel = 0, this.hi = void 0, this.disableDefaultLabelStyles = !1, this.highlighting = Vr.SMART, this.dls = void 0, this.ls = void 0, this.cameraSpacing = 0, this.animateCamera = !0, this.bananaForScale = !1, this.transparentHighlighting = !0, this.transparentBackground = !1, this.snappingEnabled = !1, this.applyCurrentGlobalParameters = !1, this.configureInRoom = !1, this.dockInRoom = !0, this.disableMeasurementCollisionDetection = !1, this.discardExternalObjectsWhenLoadingPlan = !1, this.featureFlags = new pc(), this.webGpu = !1, this.webGpuConfig = new fc(), this.meshRaycasting = !1, this.mode = G.CAMERA_3D, this.edit = !1, this.moc = !1, this.lockPlan = !1, this.readonly = !1, this.externalObjectSettings = {}, this.plannerIsolationConfigurator = !1, this.callbacksOnlyIfGeometryIsReady = !0, this._creator_ = e, new Proxy(this, { get(e, t) {
37072
+ return this.autoQuality = !1, this.colors = sc(Rr), this.useRoomlePrice = !1, this.unit = void 0, this.unitStringType = void 0, this.meshSelection = !0, this.stats = !1, this.debug = !1, this.debugGeometry = !1, this.debugLines = !1, this.debugBoundingBox = !1, this.usePriceService = !1, this.disableDebugGUI = !1, this.envMapUrl = tc, this.envMapIntensity = ac, this.envMapRotation = 0, this.maxLightSources = -1, this.legacyLight = !1, this.sceneLight = void 0, this.shading = Jn.DEFAULT, this.linearAoFilter = !1, this.restrictionLevel = 0, this.hi = void 0, this.disableDefaultLabelStyles = !1, this.highlighting = Vr.SMART, this.dls = void 0, this.ls = void 0, this.cameraSpacing = 0, this.animateCamera = !0, this.bananaForScale = !1, this.transparentHighlighting = !0, this.transparentBackground = !1, this.snappingEnabled = !1, this.applyCurrentGlobalParameters = !1, this.configureInRoom = !1, this.dockInRoom = !0, this.disableMeasurementCollisionDetection = !1, this.discardExternalObjectsWhenLoadingPlan = !1, this.featureFlags = new pc(), this.webGpu = !1, this.webGpuConfig = new fc(), this.meshRaycasting = !1, this.mode = G.CAMERA_3D, this.edit = !1, this.moc = !1, this.lockPlan = !1, this.readonly = !1, this.externalObjectSettings = {}, this.plannerIsolationConfigurator = !1, this.configuratorZoom = !1, this.callbacksOnlyIfGeometryIsReady = !0, this._creator_ = e, new Proxy(this, { get(e, t) {
37073
37073
  return t === "colors" ? e.colors ? new Proxy(e.colors, {
37074
37074
  get(e, t) {
37075
37075
  return Er(e[t]);
@@ -37297,13 +37297,13 @@ var Cc = () => {
37297
37297
  return e.CONFIGURATOR = "configurator", e.PLANNER = "planner", e.GLB_VIEWER = "glb-viewer", e.MATERIAL_VIEWER = "material-viewer", e.TOOLS_CORE = "tools-core", e;
37298
37298
  }({}), Hc = class {
37299
37299
  constructor(e) {
37300
- e ? this._context = e : this._context = sy.getContext(this.getContextName()), window.TWEEN || (window.TWEEN = new We()), Vc.start("loadingTime");
37300
+ e ? this._context = e : this._context = uy.getContext(this.getContextName()), window.TWEEN || (window.TWEEN = new We()), Vc.start("loadingTime");
37301
37301
  }
37302
37302
  _setupCommonGlobals() {
37303
37303
  window.__RML__DEBUG__ || (window.__RML__DEBUG__ = {}), window.__RML__ENV__ || (window.__RML__ENV__ = {}, window.__RML__ENV__.assetPath || (window.__RML__ENV__.assetPath = ""));
37304
37304
  }
37305
37305
  _setupCommonDependencies() {
37306
- sy.setup(oy);
37306
+ uy.setup(ly);
37307
37307
  let e = Fc();
37308
37308
  this.lookup("global-init-data").setOverrides(e), this.lookup("init-data", this._context).setOverrides(e);
37309
37309
  }
@@ -37340,7 +37340,7 @@ var Cc = () => {
37340
37340
  e && this.lookup("dom-helper", this._context).setDomElement(e), this.lookup("life-cycle-manager", this._context).resume();
37341
37341
  }
37342
37342
  destroy() {
37343
- this.pause(), this.lookup("life-cycle-manager", this._context).destroy(), sy.cleanUp(this._context);
37343
+ this.pause(), this.lookup("life-cycle-manager", this._context).destroy(), uy.cleanUp(this._context);
37344
37344
  }
37345
37345
  getRapiAccess() {
37346
37346
  return this.lookup("rapi-access", this._context);
@@ -37982,10 +37982,14 @@ var Cc = () => {
37982
37982
  }
37983
37983
  _adjustGroup(e, t, n) {
37984
37984
  let r = n.rooms?.[0] ?? { levels: [] }, i = this._updatePosData(e, (e, n) => {
37985
+ let i = e.roots.filter((e) => e.isGenerated).map((e) => Lr(e));
37985
37986
  try {
37986
37987
  delete e.repositioningData;
37987
- let i = n.groupAdjust(e, t, r), { group: a, changed: o } = new gl(n.calculateGroup(i)).arrangeRootModules();
37988
- return o ? n.calculateGroup(a) : a;
37988
+ let a = n.groupAdjust(e, t, r), { group: o, changed: s } = new gl(n.calculateGroup(a)).arrangeRootModules(), c = i.filter((e) => !o.roots.some((t) => t.id === e.id));
37989
+ return s || c.length > 0 ? n.calculateGroup({
37990
+ ...o,
37991
+ roots: [...o.roots, ...c]
37992
+ }) : o;
37989
37993
  } catch (e) {
37990
37994
  console.error("Error adjusting group:", e);
37991
37995
  }
@@ -41620,7 +41624,7 @@ var dd = (e, t) => !e.sort && !t.sort ? 0 : e.sort ? t.sort ? e.sort - t.sort :
41620
41624
  initSceneManager(e) {
41621
41625
  if (e) this._sceneManager = e;
41622
41626
  else {
41623
- let e = sy.lookup("configurator-scene-manager", this._creator_);
41627
+ let e = uy.lookup("configurator-scene-manager", this._creator_);
41624
41628
  if (!e) throw Error("Failed to resolve configurator-scene-manager from DI container");
41625
41629
  this._sceneManager = e;
41626
41630
  }
@@ -42352,7 +42356,7 @@ var dd = (e, t) => !e.sort && !t.sort ? 0 : e.sort ? t.sort ? e.sort - t.sort :
42352
42356
  return this._sceneManager.getComponent(e);
42353
42357
  }
42354
42358
  async getTools() {
42355
- let e = sy.lookup("roomle-tools-core", this._creator_);
42359
+ let e = uy.lookup("roomle-tools-core", this._creator_);
42356
42360
  if (!e) throw Error("Failed to resolve roomle-tools-core from DI container");
42357
42361
  return await e.init(), e;
42358
42362
  }
@@ -42662,7 +42666,7 @@ var Fd = /* @__PURE__ */ function(e) {
42662
42666
  return e[e.NONE = 0] = "NONE", e[e.ORBIT = 1] = "ORBIT", e[e.MOVE = 2] = "MOVE", e;
42663
42667
  }({}), Id = 4, Ld = 2, Rd = 3, zd = 2, Bd = .3, Vd = 3, Hd = 2.725, Ud = class extends Pd {
42664
42668
  constructor(e, t, n, r) {
42665
- super(e, t, n), this._bounds = new D(), this._scale = 1, this._state = Fd.NONE, this._zoomSpeed = .95 ** Rd, this.minDistance = 0, this.maxDistance = 5, this.resetDistance = 5, this.minPolarAngle = Ee(0), this.maxPolarAngle = Ee(85), this._objectRotation = 0, this._lookAtSide = 0, this.minAzimuthAngle = -Infinity, this.maxAzimuthAngle = Infinity, this._zoomDistance = .1, this._userInteraction = !1, this._currentZoomHash = "", this._maxZoomedIn = !1, this._maxZoomedOut = !1, this._panningEnabled = !1, this._panningUsingRightMouseButton = !1, this._targetPositionIsPanned = !1, r ? this._camera = r : this._initCamera(), this._camera.fov = 30, this._targetPosition || (this._targetPosition = new D(0, 0, 0), this._targetPositionIsPanned = !1);
42669
+ super(e, t, n), this._bounds = new D(), this._scale = 1, this._state = Fd.NONE, this._zoomSpeed = .95 ** Rd, this.minDistance = 0, this.maxDistance = 5, this.configuratorZoom = !1, this.resetDistance = 5, this.minPolarAngle = Ee(0), this.maxPolarAngle = Ee(85), this._objectRotation = 0, this._lookAtSide = 0, this.minAzimuthAngle = -Infinity, this.maxAzimuthAngle = Infinity, this._zoomDistance = .1, this._userInteraction = !1, this._currentZoomHash = "", this._maxZoomedIn = !1, this._maxZoomedOut = !1, this._panningEnabled = !1, this._panningUsingRightMouseButton = !1, this._targetPositionIsPanned = !1, r ? this._camera = r : this._initCamera(), this._camera.fov = 30, this._targetPosition || (this._targetPosition = new D(0, 0, 0), this._targetPositionIsPanned = !1);
42666
42670
  let { cameraRestriction: i, zoomDistance: a, minVerticalCameraAngle: o, maxVerticalCameraAngle: s, minHorizontalCameraAngle: c, maxHorizontalCameraAngle: l } = this._initData;
42667
42671
  if (a && (this._zoomDistance = a / 100), o !== void 0 && (this.minPolarAngle = Ee(o < 0 ? o : o * -1)), s !== void 0 && (this.maxPolarAngle = Ee(s)), c !== void 0 && (this.minAzimuthAngle = Ee(c < 0 ? c : c * -1)), l !== void 0 && (this.maxAzimuthAngle = Ee(l)), i !== void 0) {
42668
42672
  let e = Math.abs(Ee(i));
@@ -42884,10 +42888,11 @@ var Fd = /* @__PURE__ */ function(e) {
42884
42888
  _update(e, t, n) {
42885
42889
  n || (this._yaw = Hr(this._yaw, this.minAzimuthAngle, this.maxAzimuthAngle), this._pitch = this._initData.debug ? Hr(this._pitch, Ee(-89), Ee(89)) : Hr(this._pitch, this.minPolarAngle, this.maxPolarAngle), this._saveYawAndPitch());
42886
42890
  let r = new Ct().setFromEuler(new wn(-this._pitch, this._yaw, 0, "ZYX")), i = new D(0, 0, -1).applyQuaternion(r);
42887
- n || (this._distance *= this._scale, this._initData.debug || (this._distance = Math.min(this.maxDistance, this._distance))), e && this._targetPosition.copy(e);
42891
+ n || (this._distance *= this._scale, this._initData.debug || (this.configuratorZoom ? this._distance = Math.max(this._zoomDistance, this._distance) : this._distance = Math.min(this.maxDistance, this._distance))), e && this._targetPosition.copy(e);
42888
42892
  let a = this._targetPosition.clone().sub(i.multiplyScalar(this._distance));
42889
42893
  if (this._initData.debug) this._cameraPosition.copy(a), this._zoomChanged(!1, !1);
42890
42894
  else if (t) this._cameraPosition.copy(a);
42895
+ else if (this.configuratorZoom) this._cameraPosition.copy(a), this._zoomChanged(this._distance === this.maxDistance, this._distance === this._zoomDistance);
42891
42896
  else {
42892
42897
  let e = this._getCameraSphere(a);
42893
42898
  this._boundingBox != null && this._boundingBox.intersectsSphere(e) && this._scale >= 1 ? this._distance += .1 : this._boundingBox != null && !this._boundingBox.intersectsSphere(e) ? (this._cameraPosition.copy(a), this._zoomChanged(this._distance === this.maxDistance, !1)) : this._zoomChanged(!1, !0);
@@ -43828,7 +43833,7 @@ var Xd = /* @__PURE__ */ function(e) {
43828
43833
  return this.getMeshGenerator().materialQueue;
43829
43834
  }
43830
43835
  _getKernelAccess() {
43831
- let e = sy.lookup("planner-kernel-access", this._creator_);
43836
+ let e = uy.lookup("planner-kernel-access", this._creator_);
43832
43837
  if (!e) throw Error("PlannerKernelAccess not found in dependency injection");
43833
43838
  return e;
43834
43839
  }
@@ -44099,7 +44104,7 @@ var Xd = /* @__PURE__ */ function(e) {
44099
44104
  configurationLoaded(e, t, n, r, i, a) {
44100
44105
  e === 10 && (this._configuratorContext.dockingRootComponentId = n), t === 0 ? this._getKernelAccess().kernelInstance.requestPlanComponentConstructionRecursive(n) : this.constructComponents(t);
44101
44106
  let o = this._getKernelAccess().kernelInstance.getComponent(n), s = this._components.get(n);
44102
- s && (s.computeBoundingBox(o.boxForMeasurement, ur(o.geometryBounds)), s.hash = o.hash), this._listener && s && this._listener.configurationLoaded(s, a && s.boundingBoxMesh != null);
44107
+ s && (s.computeBoundingBox(o.boxForMeasurement, this._getKernelAccess().getComponentBounds(n, s.animationValueMap).geometryBounds), s.hash = o.hash), this._listener && s && this._listener.configurationLoaded(s, a && s.boundingBoxMesh != null);
44103
44108
  }
44104
44109
  finishParameterChange(e, t) {
44105
44110
  this.materialQueue.registerCallback(e);
@@ -45054,7 +45059,12 @@ var uf = class extends Map {
45054
45059
  }
45055
45060
  }, up = "Construction", dp = "Ceiling", fp = "Floor", pp = "Ceiling Lights", mp = "Measurement Line", hp = "Wall Attics", gp = "Help Lines", _p = class extends lf {
45056
45061
  constructor(e) {
45057
- super(e), this._coreReference = null, this._configurablePlanObjectViewModels = [], this._configurableConstructionPlanObjectViewModels = [], this._staticPlanObjectViewModels = [], this._constructionPlanObjectViewModels = [], this._wallPlanObjectViewModels = [], this._measurementLinePlanObjectViewModels = [], this._wallAtticsPlanObjectViewModels = [], this._floorPlanObjectViewModels = [], this._nodePlanObjectViewModels = [], this._constructionGroup = new xn(), this._constructionGroup.name = up, this._ceilingGroup = new xn(), this._ceilingGroup.name = dp, this._floorGroup = new xn(), this._floorGroup.name = fp, this._ceilingLightsGroup = new cp(), this._ceilingLightsGroup.name = pp, this._measurementLineGroup = new xn(), this._measurementLineGroup.name = mp, this._wallAtticsGroup = new xn(), this._wallAtticsGroup.name = hp, this._helpLineGroup = new xn(), this._helpLineGroup.name = gp, this._getKernelAccess().addPlannerListener(this);
45062
+ super(e), this._coreReference = null, this._configurablePlanObjectViewModels = [], this._configurableConstructionPlanObjectViewModels = [], this._staticPlanObjectViewModels = [], this._constructionPlanObjectViewModels = [], this._wallPlanObjectViewModels = [], this._measurementLinePlanObjectViewModels = [], this._wallAtticsPlanObjectViewModels = [], this._floorPlanObjectViewModels = [], this._nodePlanObjectViewModels = [], this._cameraHideSphere = new Nt(), this._cameraHideViewModelGroups = [
45063
+ this._staticPlanObjectViewModels,
45064
+ this._configurablePlanObjectViewModels,
45065
+ this._configurableConstructionPlanObjectViewModels,
45066
+ this._constructionPlanObjectViewModels
45067
+ ], this._objectsHiddenByCamera = /* @__PURE__ */ new WeakSet(), this._constructionGroup = new xn(), this._constructionGroup.name = up, this._ceilingGroup = new xn(), this._ceilingGroup.name = dp, this._floorGroup = new xn(), this._floorGroup.name = fp, this._ceilingLightsGroup = new cp(), this._ceilingLightsGroup.name = pp, this._measurementLineGroup = new xn(), this._measurementLineGroup.name = mp, this._wallAtticsGroup = new xn(), this._wallAtticsGroup.name = hp, this._helpLineGroup = new xn(), this._helpLineGroup.name = gp, this._getKernelAccess().addPlannerListener(this);
45058
45068
  }
45059
45069
  get latestWallPlanObjectViewModel() {
45060
45070
  return this._latestWallPlanObjectViewModel;
@@ -45440,6 +45450,20 @@ var uf = class extends Map {
45440
45450
  t.getId() !== e && t.setContainerVisibility(!1);
45441
45451
  });
45442
45452
  }
45453
+ hideObjectsCutByCamera(e) {
45454
+ this._cameraHideSphere.center.setFromMatrixPosition(e.matrixWorld), this._cameraHideSphere.radius = e.near;
45455
+ let t = !1;
45456
+ for (let e of this._cameraHideViewModelGroups) for (let n of e) {
45457
+ let e = n.getContainer();
45458
+ n.getBounds().intersectsSphere(this._cameraHideSphere) ? e.visible && (e.visible = !1, this._objectsHiddenByCamera.add(n), t = !0) : this._objectsHiddenByCamera.delete(n) && (e.visible = !n.getPlanElement()?.hidden, t = !0);
45459
+ }
45460
+ return t;
45461
+ }
45462
+ restoreObjectsHiddenByCamera() {
45463
+ let e = !1;
45464
+ for (let t of this._cameraHideViewModelGroups) for (let n of t) this._objectsHiddenByCamera.delete(n) && (n.getContainer().visible = !n.getPlanElement()?.hidden, e = !0);
45465
+ return e;
45466
+ }
45443
45467
  showAll() {
45444
45468
  this._ceilingGroup.visible = this._cameraType === G.CAMERA_FP, this._floorGroup.visible = !0, this._measurementLineGroup.visible = !0, this._wallAtticsGroup.visible = !0, this._constructionGroup.visible = !0, this._helpLineGroup.visible = !0, this._staticPlanObjectViewModels.forEach((e) => e.setContainerVisibility(!0)), this._configurablePlanObjectViewModels.forEach((e) => e.setContainerVisibility(!0)), this._configurableConstructionPlanObjectViewModels.forEach((e) => e.setContainerVisibility(!0)), this._constructionPlanObjectViewModels.forEach((e) => e.setContainerVisibility(!0));
45445
45469
  }
@@ -48816,7 +48840,7 @@ var ah = class {
48816
48840
  }
48817
48841
  get viewModel() {
48818
48842
  if (!this._viewModel) {
48819
- let e = sy.lookup("configurator-view-model", this._creator_);
48843
+ let e = uy.lookup("configurator-view-model", this._creator_);
48820
48844
  if (!e) throw Error("ConfiguratorSceneManager: configurator-view-model not found in DI container");
48821
48845
  this._viewModel = e, this._viewModel.setRequestRenderCallback(() => this._renderEverything()), this._viewModel.setRequestRenderSceneUpdateCallback(() => this._roomleRenderer?.clearCache()), this._viewModel.setInvalidateRenderCallback(() => this._roomleRenderer?.forceShadowUpdates(!0));
48822
48846
  }
@@ -49324,7 +49348,7 @@ var ah = class {
49324
49348
  this._highlightComponent(null, e), this._requestRender();
49325
49349
  }
49326
49350
  _shouldHighlightComponent() {
49327
- return this._configuratorContext.baseContext === K.CONFIGURATOR ? this._initData.highlighting === Vr.ALWAYS ? !0 : this._initData.highlighting === Vr.OFF ? !1 : this._getKernelAccess().kernelInstance.getComponent(this._configuratorContext.rootComponentId).externalComponent ? !0 : (this._plannerKernelAccess.kernelInstance.getChildrenOfPlanComponent(this._configuratorContext.rootComponentId, !0, !1) || []).length > 1 : !1;
49351
+ return this._configuratorContext.baseContext === K.CONFIGURATOR ? this._initData.highlighting === Vr.ALWAYS ? !0 : this._initData.highlighting === Vr.OFF ? !1 : this._getKernelAccess().kernelInstance.getComponent(this._configuratorContext.rootComponentId).externalComponent ? !0 : (this._plannerKernelAccess.kernelInstance.getChildrenOfPlanComponent(this._configuratorContext.rootComponentId, !0, !1) || []).length > 0 : !1;
49328
49352
  }
49329
49353
  saveConfigToIdb() {
49330
49354
  let e, t, { configuratorId: n } = this._globalInitData, { lastLoadedPlanId: r, lastLoadedRapiId: i } = this._configuratorContext;
@@ -52826,6 +52850,10 @@ var l_ = "rml_plans", u_ = {
52826
52850
  lg(this._plannerSceneEventHandler, e, this._roomleRenderer, this._initData);
52827
52851
  }
52828
52852
  }
52853
+ _changeCameraBehaviour(e) {
52854
+ let t = this.cameraBehaviour?.cameraControl;
52855
+ t instanceof Ud && t.configuratorZoom && !(this._initData.configuratorZoom && e instanceof xh) && this.viewModel.restoreObjectsHiddenByCamera(), e.cameraControl instanceof Ud && (e.cameraControl.configuratorZoom = this._initData.configuratorZoom && e instanceof xh), super._changeCameraBehaviour(e);
52856
+ }
52829
52857
  onBeforeRender() {
52830
52858
  if (this._keepWallsAndCeilingVisible) {
52831
52859
  this._forceWallsAndCeiling();
@@ -53367,12 +53395,12 @@ var l_ = "rml_plans", u_ = {
53367
53395
  for (let e of this.viewModel.getWallPlanObjectViewModels()) e.isVisible() || r.push(e), e.show();
53368
53396
  this._resetCameraFacingVisibility();
53369
53397
  }
53370
- e.runtimeIds && this.viewModel.hideAllExceptRuntimeIds(e.runtimeIds);
53398
+ e.runtimeIds && this.viewModel.hideAllExceptRuntimeIds(e.runtimeIds), this.viewModel.getCeilingGroup().visible = !1;
53371
53399
  try {
53372
53400
  return await this._imageRenderer.prepareTopImage(this._scene, n, e);
53373
53401
  } finally {
53374
53402
  if (e.runtimeIds && this.viewModel.showAll(), this.cameraBehaviour.cameraControl instanceof Ud && await this.viewModel.setCameraType(G.CAMERA_3D), r.length) for (let e of r) e.hide();
53375
- this._lightSetting?.addToScene(), this._roomleRenderer?.clearCache(), this._requestRender();
53403
+ this._setCeiling(), this._lightSetting?.addToScene(), this._roomleRenderer?.clearCache(), this._requestRender();
53376
53404
  }
53377
53405
  }
53378
53406
  preparePerspectiveImageOf(e, t = {}) {
@@ -53834,7 +53862,9 @@ var l_ = "rml_plans", u_ = {
53834
53862
  }
53835
53863
  }
53836
53864
  _updateCameraFacingVisibility() {
53837
- return this.cameraBehaviour.cameraControl instanceof Ud ? _(this.cameraBehaviour.cameraControl.getCamera(), this.viewModel.getWallPlanObjectViewModels(), this.viewModel.getAllConstructionPlanObjectViewModels(), this._draggedConstructionPlanElementViewModel) : !1;
53865
+ if (!(this.cameraBehaviour.cameraControl instanceof Ud)) return !1;
53866
+ let e = this.cameraBehaviour.cameraControl.getCamera(), t = _(e, this.viewModel.getWallPlanObjectViewModels(), this.viewModel.getAllConstructionPlanObjectViewModels(), this._draggedConstructionPlanElementViewModel);
53867
+ return this.cameraBehaviour.cameraControl.configuratorZoom && (t = this.viewModel.hideObjectsCutByCamera(e) || t), t;
53838
53868
  }
53839
53869
  _syncSelectionForDroppedConstructionVisibility(e) {
53840
53870
  return !p_(e) || !e.isHiddenByCameraFacing() ? !0 : (this._plannerSceneEventHandler.cancelSelection("click_outside"), !1);
@@ -54813,7 +54843,7 @@ var K_ = "<plan version=\"2\"><walls><nodes/><edges/></walls><planobjects/><text
54813
54843
  async switchToConfigurator() {
54814
54844
  let e = await this._singlePromiseFactory.create(Ba.START_HSC, "startHSC", (e) => {
54815
54845
  if (this._hscInstance) return e(this._hscInstance);
54816
- import("./configurator-BM0nny5l.mjs").then(({ Configurator: t }) => {
54846
+ import("./configurator-C7xmJwai.mjs").then(({ Configurator: t }) => {
54817
54847
  let n = new t(this._creator_);
54818
54848
  n.boot({
54819
54849
  kernelInstance: this._planInteractionManager.getConfiguratorKernel(),
@@ -54831,7 +54861,7 @@ var K_ = "<plan version=\"2\"><walls><nodes/><edges/></walls><planobjects/><text
54831
54861
  async switchToViewer() {
54832
54862
  let e = await this._singlePromiseFactory.create(Ba.START_GLB, "startGLB", (e) => {
54833
54863
  if (this._glbInstance) return e(this._glbInstance);
54834
- import("./glb-viewer-gEdln_PJ.mjs").then((t) => {
54864
+ import("./glb-viewer-BGoRQgDS.mjs").then((t) => {
54835
54865
  let n = new t.GlbViewer(this._creator_);
54836
54866
  n.boot(), n.getApi().setOverrides(this._initData);
54837
54867
  let r = this._domHelper.element;
@@ -55750,7 +55780,7 @@ var K_ = "<plan version=\"2\"><walls><nodes/><edges/></walls><planobjects/><text
55750
55780
  globalInitData: JSON.parse(JSON.stringify(this._globalInitData))
55751
55781
  }, "*", [t.port2]);
55752
55782
  let n = D_(t.port1), r = null;
55753
- this._initData.hi?.libraryId && (r = n.onLoadArticleCatalog(this._initData.hi.libraryId), this._earlyHiTagCatalogCallbacks = new G_(this._creator_, r)), await new (await (import("./homag-intelligence-Dh4VWYH6.mjs"))).HomagIntelligence(this, e, n).loadSavedPosData(), this._initData.hi?.libraryId && await this.loadExternalObjectLibrary(this._initData.hi.libraryId, r ?? void 0);
55783
+ this._initData.hi?.libraryId && (r = n.onLoadArticleCatalog(this._initData.hi.libraryId), this._earlyHiTagCatalogCallbacks = new G_(this._creator_, r)), await new (await (import("./homag-intelligence-CoVomYm0.mjs"))).HomagIntelligence(this, e, n).loadSavedPosData(), this._initData.hi?.libraryId && await this.loadExternalObjectLibrary(this._initData.hi.libraryId, r ?? void 0);
55754
55784
  }
55755
55785
  async _loadHomagIntelligenceArticles(e, t) {
55756
55786
  let n = this._homagIntelligence;
@@ -59128,7 +59158,11 @@ var Gv = class {
59128
59158
  floatPrecision: 0
59129
59159
  });
59130
59160
  return r || t;
59131
- }, ry = 13, iy = class e {
59161
+ }, ry = 13, iy = Math.cos(fn.degToRad(5)), ay = "y", oy = (e, t, n, r) => {
59162
+ if (e !== ay) return;
59163
+ let i = L(t.origin).y + sr(t.size).y;
59164
+ n.setY(i), r.setY(i);
59165
+ }, sy = class e {
59132
59166
  static {
59133
59167
  this.SVG_BASE_SIZE = 512;
59134
59168
  }
@@ -59166,18 +59200,20 @@ var Gv = class {
59166
59200
  let i = this._plannerKernelAccess.kernelInstance.getComponent(n.runtimeId), a = i.dimensionings || [], { width: o, height: s } = this.svgRenderer.getSize(), c = (e) => {
59167
59201
  let n = e.clone().project(t);
59168
59202
  return new D(n.x * o / 2, -n.y * s / 2, 0);
59169
- }, l = o / 2 / ((t.right - t.left) / 2 * 1e3), u = this.svgRenderer.domElement, d = i.dimensioningAxes || [];
59203
+ }, l = o / 2 / ((t.right - t.left) / 2 * 1e3), u = this.svgRenderer.domElement, d = i.dimensioningAxes || [], f = t.getWorldDirection(new D());
59170
59204
  n.updateMatrixWorld(!0), a.forEach((t) => {
59171
- let a = t.from / 1e3, o = t.to / 1e3, s, f, p = d.find((e) => e.key === t.axis);
59172
- if (p) {
59173
- let e = L(p.origin), t = L(p.direction).normalize();
59174
- s = e.clone().addScaledVector(t, a), f = e.clone().addScaledVector(t, o);
59205
+ let a = t.from / 1e3, o = t.to / 1e3, s, p, m = d.find((e) => e.key === t.axis);
59206
+ if (m) {
59207
+ let e = L(m.origin), t = L(m.direction).normalize();
59208
+ s = e.clone().addScaledVector(t, a), p = e.clone().addScaledVector(t, o), oy(m.key, i.boxForMeasurement, s, p);
59175
59209
  } else {
59176
59210
  let e = xd(r, t.axis, i.boxForMeasurement, a, o);
59177
59211
  if (!e) return;
59178
- s = e.fromPoint, f = e.toPoint;
59212
+ s = e.fromPoint, p = e.toPoint;
59179
59213
  }
59180
- s.applyMatrix4(n.matrixWorld), f.applyMatrix4(n.matrixWorld), wd(u, c(s), c(f), e.SVG_PADDING, ry, "mm", l);
59214
+ s.applyMatrix4(n.matrixWorld), p.applyMatrix4(n.matrixWorld);
59215
+ let h = new D().subVectors(p, s).normalize();
59216
+ Math.abs(h.dot(f)) > iy || wd(u, c(s), c(p), e.SVG_PADDING, ry, "mm", l);
59181
59217
  });
59182
59218
  }
59183
59219
  render(e, t) {
@@ -59202,10 +59238,10 @@ var Gv = class {
59202
59238
  return wd(h, s(f), s(p), -e.SVG_PADDING, ry, "mm", c), wd(h, s(p), s(m), -e.SVG_PADDING, ry, "mm", c), this.exportSvgAsString();
59203
59239
  }
59204
59240
  };
59205
- I([F, P("design:type", Object)], iy.prototype, "_plannerKernelAccess", void 0);
59241
+ I([F, P("design:type", Object)], sy.prototype, "_plannerKernelAccess", void 0);
59206
59242
  //#endregion
59207
59243
  //#region packages/configurator-core/src/elevation-plan/elevation-plan-2d-generator.ts
59208
- var ay = class {
59244
+ var cy = class {
59209
59245
  constructor(e) {
59210
59246
  this.createCameraForPlanView = (e, t) => {
59211
59247
  let n = new A();
@@ -59254,10 +59290,10 @@ var ay = class {
59254
59290
  return { plans: n };
59255
59291
  }
59256
59292
  };
59257
- I([F, P("design:type", Object)], ay.prototype, "_roomleSvgRenderer", void 0);
59293
+ I([F, P("design:type", Object)], cy.prototype, "_roomleSvgRenderer", void 0);
59258
59294
  //#endregion
59259
59295
  //#region packages/common-core/src/di/injectables.ts
59260
- var oy = [
59296
+ var ly = [
59261
59297
  new H("error-handler", Hi),
59262
59298
  new H("form-data-util", Bi),
59263
59299
  new H("hdr-environment-loader", jv),
@@ -59303,11 +59339,11 @@ var oy = [
59303
59339
  new H("css2-d-renderer-manager", Hv, V.GLOBAL),
59304
59340
  new H("kernel-callback-guard", Uv, V.GLOBAL),
59305
59341
  new H("web-gpu-ground-shadow-reflection", Wv, V.CONTEXT),
59306
- new H("roomle-svg-renderer", iy, V.CONTEXT),
59307
- new H("elevation-plan2d-generator", ay, V.CONTEXT)
59308
- ], sy = class e {
59342
+ new H("roomle-svg-renderer", sy, V.CONTEXT),
59343
+ new H("elevation-plan2d-generator", cy, V.CONTEXT)
59344
+ ], uy = class e {
59309
59345
  static _ensureContainer() {
59310
- return (!window.__RML__DI__ || !window.__RML__DI__.lookup) && (window.__RML__DI__ = new za(), window.__RML__DI__.addDependencyInjectionAssignments(oy)), window.__RML__DI__;
59346
+ return (!window.__RML__DI__ || !window.__RML__DI__.lookup) && (window.__RML__DI__ = new za(), window.__RML__DI__.addDependencyInjectionAssignments(ly)), window.__RML__DI__;
59311
59347
  }
59312
59348
  static setup(t) {
59313
59349
  e.addToContainer(t);
@@ -59324,11 +59360,11 @@ var oy = [
59324
59360
  static addToContainer(t) {
59325
59361
  e._ensureContainer().addDependencyInjectionAssignments(t);
59326
59362
  }
59327
- }, cy = class {
59363
+ }, dy = class {
59328
59364
  static getConfigurator(e, t) {
59329
59365
  t = this._setupDI(K.CONFIGURATOR, e, t);
59330
- let n = sy.lookup("global-init-data");
59331
- return n === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : n.configuratorId ? new Promise((e, n) => import("./configurator-BM0nny5l.mjs").then(({ Configurator: n }) => e(new n(t)), n)) : Promise.reject(/* @__PURE__ */ Error("configuratorId is not set"));
59366
+ let n = uy.lookup("global-init-data");
59367
+ return n === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : n.configuratorId ? new Promise((e, n) => import("./configurator-C7xmJwai.mjs").then(({ Configurator: n }) => e(new n(t)), n)) : Promise.reject(/* @__PURE__ */ Error("configuratorId is not set"));
59332
59368
  }
59333
59369
  static getPlanner(e, t) {
59334
59370
  return this._getPlanner(e, t);
@@ -59338,51 +59374,51 @@ var oy = [
59338
59374
  }
59339
59375
  static async getGlbViewer(e, t) {
59340
59376
  t = this._setupDI(K.GLB_VIEWER, e, t);
59341
- let n = sy.lookup("global-init-data");
59342
- return n === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : n.configuratorId ? new Promise((e, n) => import("./glb-viewer-gEdln_PJ.mjs").then(({ GlbViewer: n }) => e(new n(t)), n)) : Promise.reject(/* @__PURE__ */ Error("configuratorId is not set"));
59377
+ let n = uy.lookup("global-init-data");
59378
+ return n === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : n.configuratorId ? new Promise((e, n) => import("./glb-viewer-BGoRQgDS.mjs").then(({ GlbViewer: n }) => e(new n(t)), n)) : Promise.reject(/* @__PURE__ */ Error("configuratorId is not set"));
59343
59379
  }
59344
59380
  static getMaterialViewer(e, t) {
59345
59381
  t = this._setupDI(K.CONFIGURATOR, e, t);
59346
- let n = sy.lookup("global-init-data");
59347
- return n === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : n.configuratorId ? new Promise((e, n) => import("./material-viewer-DqUJzRXN.mjs").then(({ MaterialViewer: n }) => e(new n(t)), n)) : Promise.reject(/* @__PURE__ */ Error("configuratorId is not set"));
59382
+ let n = uy.lookup("global-init-data");
59383
+ return n === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : n.configuratorId ? new Promise((e, n) => import("./material-viewer-BKdC2g0S.mjs").then(({ MaterialViewer: n }) => e(new n(t)), n)) : Promise.reject(/* @__PURE__ */ Error("configuratorId is not set"));
59348
59384
  }
59349
59385
  static getCoreTools(e, t) {
59350
- return t = this._setupDI(K.TOOLS_CORE, e, t), new Promise((e, n) => import("./tools-core-CRWZtE-S.mjs").then(({ ToolsCore: n }) => {
59386
+ return t = this._setupDI(K.TOOLS_CORE, e, t), new Promise((e, n) => import("./tools-core-CMfJ4fmh.mjs").then(({ ToolsCore: n }) => {
59351
59387
  let r = new n(t);
59352
59388
  r.boot(), e(r);
59353
59389
  }, n));
59354
59390
  }
59355
59391
  static getRapiAccess() {
59356
- sy.addToContainer([new H("rapi-access", Ra, V.GLOBAL), new H("global-callback", yc, V.GLOBAL)]);
59357
- let e = sy.lookup("rapi-access");
59392
+ uy.addToContainer([new H("rapi-access", Ra, V.GLOBAL), new H("global-callback", yc, V.GLOBAL)]);
59393
+ let e = uy.lookup("rapi-access");
59358
59394
  return e === null ? Promise.reject(/* @__PURE__ */ Error("rapi-access is not available")) : Promise.resolve(e);
59359
59395
  }
59360
59396
  static get callbacks() {
59361
- sy.addToContainer([new H("global-callback", yc, V.GLOBAL)]);
59362
- let e = sy.lookup("global-callback");
59397
+ uy.addToContainer([new H("global-callback", yc, V.GLOBAL)]);
59398
+ let e = uy.lookup("global-callback");
59363
59399
  return e === null ? Promise.reject(/* @__PURE__ */ Error("global-callback is not available")) : Promise.resolve(e);
59364
59400
  }
59365
59401
  static async setGlobalInitData(e) {
59366
59402
  if (e) {
59367
- sy.addToContainer([new H("global-init-data", hc, V.GLOBAL)]);
59368
- let t = sy.lookup("global-init-data");
59403
+ uy.addToContainer([new H("global-init-data", hc, V.GLOBAL)]);
59404
+ let t = uy.lookup("global-init-data");
59369
59405
  if (t === null) throw Error("global-init-data is not available");
59370
59406
  t.setOverrides(e), (await this.getRapiAccess()).setConfiguratorSettings();
59371
59407
  }
59372
59408
  }
59373
59409
  static getContext(e) {
59374
- return sy.getContext(e);
59410
+ return uy.getContext(e);
59375
59411
  }
59376
59412
  static _getPlanner(e, t, n) {
59377
- let r = this._setupDI(K.PLANNER, e, t), i = sy.lookup("global-init-data");
59378
- return i === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : i.configuratorId ? new Promise((e, t) => import("./planner-g06Phdjc.mjs").then(({ Planner: t }) => {
59413
+ let r = this._setupDI(K.PLANNER, e, t), i = uy.lookup("global-init-data");
59414
+ return i === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : i.configuratorId ? new Promise((e, t) => import("./planner-BXuQBuos.mjs").then(({ Planner: t }) => {
59379
59415
  e(n ? new t(r, n) : new t(r));
59380
59416
  }, t)) : Promise.reject(/* @__PURE__ */ Error("configuratorId is not set"));
59381
59417
  }
59382
59418
  static _setupDI(e, t, n) {
59383
59419
  if (t) {
59384
- sy.addToContainer([new H("init-data", mc, V.CONTEXT)]), n ||= sy.getContext(e);
59385
- let r = sy.lookup("init-data", n);
59420
+ uy.addToContainer([new H("init-data", mc, V.CONTEXT)]), n ||= uy.getContext(e);
59421
+ let r = uy.lookup("init-data", n);
59386
59422
  if (r === null) throw Error("init-data is not available");
59387
59423
  r.setOverrides(t);
59388
59424
  }
@@ -59390,6 +59426,6 @@ var oy = [
59390
59426
  }
59391
59427
  };
59392
59428
  //#endregion
59393
- export { G as $, rd as A, qc as B, lf as C, Pd as D, X as E, pu as F, kc as G, Hc as H, Al as I, Dc as J, Ac as K, bl as L, Lu as M, Cu as N, Ad as O, bu as P, tc as Q, vl as R, Cf as S, Ud as T, Vc as U, K as V, jc as W, vc as X, bc as Y, hc as Z, Xp as _, jv as a, za as at, wp as b, _v as c, Ra as ct, Ch as d, Yi as dt, xo as et, sh as f, Ui as ft, eh as g, th as h, Wv as i, Ba as it, zu as j, kd as k, mv as l, Pa as lt, ih as m, Li as mt, sy as n, ro as nt, Av as o, V as ot, ah as p, Ri as pt, Oc as q, oy as r, to as rt, kv as s, H as st, cy as t, oo as tt, ev as u, Na as ut, Vp as v, of as w, Tp as x, Lp as y, Jc as z };
59429
+ export { G as $, rd as A, qc as B, lf as C, Pd as D, X as E, pu as F, kc as G, Hc as H, Al as I, Dc as J, Ac as K, bl as L, Lu as M, Cu as N, Ad as O, bu as P, tc as Q, vl as R, Cf as S, Ud as T, Vc as U, K as V, jc as W, vc as X, bc as Y, hc as Z, Xp as _, jv as a, za as at, wp as b, _v as c, Ra as ct, Ch as d, Yi as dt, xo as et, sh as f, Ui as ft, eh as g, th as h, Wv as i, Ba as it, zu as j, kd as k, mv as l, Pa as lt, ih as m, Li as mt, uy as n, ro as nt, Av as o, V as ot, ah as p, Ri as pt, Oc as q, ly as r, to as rt, kv as s, H as st, dy as t, oo as tt, ev as u, Na as ut, Vp as v, of as w, Tp as x, Lp as y, Jc as z };
59394
59430
 
59395
- //# sourceMappingURL=roomle-sdk-BCmaueGp.mjs.map
59431
+ //# sourceMappingURL=roomle-sdk-BmPd9eaY.mjs.map