@roomle/web-sdk 4.1.0 → 4.2.0-alpha.1

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 (56) 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-COog8C3X.mjs → api-DsFkkVBx.mjs} +2 -2
  5. package/lib/{api-COog8C3X.mjs.map → api-DsFkkVBx.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/{component-dimensioning-pA7fsqsP.mjs → component-dimensioning-DJuokZnv.mjs} +2 -2
  9. package/lib/{component-dimensioning-pA7fsqsP.mjs.map → component-dimensioning-DJuokZnv.mjs.map} +1 -1
  10. package/lib/{component-raycast-helper-CbpkovD8.mjs → component-raycast-helper-SZg14d7A.mjs} +2 -2
  11. package/lib/{component-raycast-helper-CbpkovD8.mjs.map → component-raycast-helper-SZg14d7A.mjs.map} +1 -1
  12. package/lib/configurator-7Gud3pOb.mjs +2 -0
  13. package/lib/{configurator-Ducp-Nxf.mjs → configurator-Df0i3C3T.mjs} +4 -4
  14. package/lib/{configurator-Ducp-Nxf.mjs.map → configurator-Df0i3C3T.mjs.map} +1 -1
  15. package/lib/glb-viewer-BSoSqgNt.mjs +2 -0
  16. package/lib/{glb-viewer-BvnOSeLd.mjs → glb-viewer-CMfGHsTk.mjs} +4 -4
  17. package/lib/{glb-viewer-BvnOSeLd.mjs.map → glb-viewer-CMfGHsTk.mjs.map} +1 -1
  18. package/lib/{highlight-coordinator-DCfeXyn-.mjs → highlight-coordinator-Qonmfsu1.mjs} +2 -2
  19. package/lib/{highlight-coordinator-DCfeXyn-.mjs.map → highlight-coordinator-Qonmfsu1.mjs.map} +1 -1
  20. package/lib/{homag-intelligence-DWfY5Rhy.mjs → homag-intelligence-CaCDZrp5.mjs} +3 -3
  21. package/lib/{homag-intelligence-DWfY5Rhy.mjs.map → homag-intelligence-CaCDZrp5.mjs.map} +1 -1
  22. package/lib/{material-viewer-DShIT0xY.mjs → material-viewer-DCr4Cj2J.mjs} +4 -4
  23. package/lib/{material-viewer-DShIT0xY.mjs.map → material-viewer-DCr4Cj2J.mjs.map} +1 -1
  24. package/lib/{packages-6njsPLBJ.mjs → packages-CywjYzrw.mjs} +5 -5
  25. package/lib/{packages-6njsPLBJ.mjs.map → packages-CywjYzrw.mjs.map} +1 -1
  26. package/lib/planner-Bi0azu0C.mjs +2 -0
  27. package/lib/{planner-ABiXTXmc.mjs → planner-d2O03UND.mjs} +3 -3
  28. package/lib/{planner-ABiXTXmc.mjs.map → planner-d2O03UND.mjs.map} +1 -1
  29. package/lib/roomle-headless.d.ts +12 -0
  30. package/lib/roomle-headless.js +8 -8
  31. package/lib/{roomle-sdk-BdEmEYZg.mjs → roomle-sdk-C_KgeRRI.mjs} +47 -18
  32. package/lib/{roomle-sdk-BdEmEYZg.mjs.map → roomle-sdk-C_KgeRRI.mjs.map} +1 -1
  33. package/lib/roomle-sdk.d.ts +12 -0
  34. package/lib/roomle-sdk.js +7 -7
  35. package/lib/{scene-renderer-B4HVqeg3.mjs → scene-renderer-DR7EFd-8.mjs} +2 -2
  36. package/lib/{scene-renderer-B4HVqeg3.mjs.map → scene-renderer-DR7EFd-8.mjs.map} +1 -1
  37. package/lib/{script-loader-BTy3OZVv.mjs → script-loader-CdhwtgMh.mjs} +2 -2
  38. package/lib/{script-loader-BTy3OZVv.mjs.map → script-loader-CdhwtgMh.mjs.map} +1 -1
  39. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
  40. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts +3 -0
  41. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js +2 -0
  42. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js.map +1 -1
  43. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  44. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  45. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  46. package/lib/{stats-helper-Cae4Gs0E.mjs → stats-helper-vEwFkDIt.mjs} +2 -2
  47. package/lib/{stats-helper-Cae4Gs0E.mjs.map → stats-helper-vEwFkDIt.mjs.map} +1 -1
  48. package/lib/{threejs-utils-mqRHdm-p.mjs → threejs-utils-C9zED_Tu.mjs} +4 -2
  49. package/lib/threejs-utils-C9zED_Tu.mjs.map +1 -0
  50. package/lib/{tools-core-T65Q1eht.mjs → tools-core-DW05Ccko.mjs} +3 -3
  51. package/lib/{tools-core-T65Q1eht.mjs.map → tools-core-DW05Ccko.mjs.map} +1 -1
  52. package/package.json +2 -2
  53. package/lib/configurator-9q_a9B9k.mjs +0 -2
  54. package/lib/glb-viewer-BiRBZWfu.mjs +0 -2
  55. package/lib/planner-v3xjVi85.mjs +0 -2
  56. package/lib/threejs-utils-mqRHdm-p.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
- import { A as e, C as t, H as n, I as r, V as i, Z as a, c as o, ct as s, ft as c, n as l, ot as u, st as d, tt as f, u as p, w as m } from "./roomle-sdk-BdEmEYZg.mjs";
2
- import { t as h } from "./script-loader-BTy3OZVv.mjs";
1
+ import { A as e, C as t, H as n, I as r, V as i, Z as a, c as o, ct as s, ft as c, n as l, ot as u, st as d, tt as f, u as p, w as m } from "./roomle-sdk-C_KgeRRI.mjs";
2
+ import { t as h } from "./script-loader-CdhwtgMh.mjs";
3
3
  //#region packages/planner-core/src/input/planner-input-manager.ts
4
4
  var g = class extends r {
5
5
  _canDrag(e) {
@@ -41,4 +41,4 @@ var g = class extends r {
41
41
  //#endregion
42
42
  export { v as t };
43
43
 
44
- //# sourceMappingURL=planner-ABiXTXmc.mjs.map
44
+ //# sourceMappingURL=planner-d2O03UND.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"planner-ABiXTXmc.mjs","names":[],"sources":["../../packages/planner-core/src/input/planner-input-manager.ts","../../packages/planner-core/src/utils/injectables.ts","../../packages/planner-core/src/planner.ts"],"sourcesContent":["import type { INPUT_EVENT_TYPE } from '../../../common-core/src/input/input-manager';\nimport InputManager from '../../../common-core/src/input/input-manager';\n\nexport default class PlannerInputManager extends InputManager {\n protected _canDrag(_type: INPUT_EVENT_TYPE): boolean {\n return true;\n }\n}\n","import ScriptLoader from '../../../common-core/src/script-loader';\nimport {\n DependencyInjectionAssignment,\n DI_TYPE,\n} from '../../../common-core/src/di/container';\nimport Logger from '../../../common-core/src/logger';\nimport { default as PlannerMeshGenerator } from '../webgl/planner-mesh-generator';\nimport { RapiAccess } from '../../../common-core/src/rapi-access';\nimport PlannerInputManager from '../input/planner-input-manager';\nimport PlannerSelectionHandler from './planner-selection-handler';\nimport GlobalInitData from '../../../common-core/src/utils/global-init-data';\nimport ConfiguratorViewModel from '../../../common-core/src/view-model/configurator-view-model';\n\nexport const INJECTABLES: DependencyInjectionAssignment[] = [\n new DependencyInjectionAssignment('script-loader', ScriptLoader),\n new DependencyInjectionAssignment(\n 'planner-input-manager',\n PlannerInputManager,\n DI_TYPE.CONTEXT,\n ),\n new DependencyInjectionAssignment('logger', Logger),\n new DependencyInjectionAssignment(\n 'planner-mesh-generator',\n PlannerMeshGenerator,\n ),\n new DependencyInjectionAssignment(\n 'configurator-view-model',\n ConfiguratorViewModel,\n DI_TYPE.CONTEXT,\n ),\n new DependencyInjectionAssignment('rapi-access', RapiAccess),\n new DependencyInjectionAssignment('global-init-data', GlobalInitData),\n new DependencyInjectionAssignment(\n 'planner-selection-handler',\n PlannerSelectionHandler,\n ),\n];\n","import './utils/global-definitions';\nimport { Main, BASE_CONTEXT } from '../../common-core/src/main';\nimport { RoomlePlanner } from './roomle-planner';\nimport RoomleDependencyInjection from '../../common-core/src/di/roomle-dependency-injection';\nimport { INJECTABLES } from './utils/injectables';\nimport type PlannerKernelAccess from './services/planner-kernel-access';\nimport type Logger from '../../common-core/src/logger';\nimport { KERNEL_TYPE } from '../../common-core/src/services/common-kernel-access';\nimport type { PluginName } from '../../configurator-core/src/utils/plugin-types';\nimport type InitData from '../../common-core/src/utils/init-data';\nimport { isInIframe } from '../../common-core/src/utils/rapi-utils';\n\nexport class Planner<\n P extends readonly PluginName[] = readonly [],\n> extends Main {\n private _planner: RoomlePlanner<P>;\n private _activePlugins: P;\n\n constructor(creator?: string, activePlugins?: P) {\n super(creator);\n this._activePlugins = (activePlugins || []) as P;\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 // instantiate kernel acccess\n // instantiate pka\n // set pka on kernel access\n const plannerKernelAccess = this.lookup<PlannerKernelAccess>(\n 'planner-kernel-access',\n this._context,\n );\n plannerKernelAccess.init(KERNEL_TYPE.PLANNER);\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._planner = new RoomlePlanner<P>(this._context, this._activePlugins);\n\n this._planner.getMain = () => {\n return this;\n };\n\n if (!window.RoomlePlanner) {\n if (this._activePlugins.length === 0) {\n // cast to unknown because we know that the planner is a RoomlePlanner\n window.RoomlePlanner = this._planner as unknown as RoomlePlanner;\n } else {\n window.RoomlePlanner = this._planner as RoomlePlanner<\n readonly PluginName[]\n >;\n }\n }\n\n const initData = this.lookup<InitData>('init-data', this._context);\n\n if (initData?.hi && isInIframe()) {\n await this._planner.setupHomagIntelligence();\n }\n }\n\n public getApi(): RoomlePlanner<P> {\n return this._planner;\n }\n\n protected getContextName(): string {\n return BASE_CONTEXT.PLANNER;\n }\n}\n"],"mappings":";;;AAGA,IAAqB,IAArB,cAAiD,EAAa;CAC5D,SAAmB,GAAkC;AACnD,SAAO;;GCQE,IAA+C;CAC1D,IAAI,EAA8B,iBAAiB,EAAa;CAChE,IAAI,EACF,yBACA,GACA,EAAQ,QACT;CACD,IAAI,EAA8B,UAAU,EAAO;CACnD,IAAI,EACF,0BACA,EACD;CACD,IAAI,EACF,2BACA,GACA,EAAQ,QACT;CACD,IAAI,EAA8B,eAAe,EAAW;CAC5D,IAAI,EAA8B,oBAAoB,EAAe;CACrE,IAAI,EACF,6BACA,EACD;CACF,ECxBY,IAAb,cAEU,EAAK;CAIb,YAAY,GAAkB,GAAmB;AAE/C,EADA,MAAM,EAAQ,EACd,KAAK,iBAAkB,KAAiB,EAAE;;CAE5C,eAA+B;CAI/B,oBAAoC;AAMN,EAL5B,EAA0B,MAAM,EAAY,EAC5C,KAAK,OAAe,UAAU,KAAK,SAAS,EAIhB,KAAK,OAC/B,yBACA,KAAK,SACN,CACmB,KAAK,EAAY,QAAQ;;CAG/C,iBAAiC;AAC/B,QAAU,MAAM,0BAA0B;;CAG5C,sBAAsC;AACpC,QAAU,MAAM,0BAA0B;;CAG5C,MAAgB,eAA8B;AAoB5C,EAnBA,KAAK,WAAW,IAAI,EAAiB,KAAK,UAAU,KAAK,eAAe,EAExE,KAAK,SAAS,gBACL,MAGJ,OAAO,kBACN,KAAK,eAAe,QAEtB,OAAO,gBAAgB,KAAK,WAQf,KAAK,OAAiB,aAAa,KAAK,SAAS,EAEpD,MAAM,GAAY,IAC9B,MAAM,KAAK,SAAS,wBAAwB;;CAIhD,SAAkC;AAChC,SAAO,KAAK;;CAGd,iBAAmC;AACjC,SAAO,EAAa"}
1
+ {"version":3,"file":"planner-d2O03UND.mjs","names":[],"sources":["../../packages/planner-core/src/input/planner-input-manager.ts","../../packages/planner-core/src/utils/injectables.ts","../../packages/planner-core/src/planner.ts"],"sourcesContent":["import type { INPUT_EVENT_TYPE } from '../../../common-core/src/input/input-manager';\nimport InputManager from '../../../common-core/src/input/input-manager';\n\nexport default class PlannerInputManager extends InputManager {\n protected _canDrag(_type: INPUT_EVENT_TYPE): boolean {\n return true;\n }\n}\n","import ScriptLoader from '../../../common-core/src/script-loader';\nimport {\n DependencyInjectionAssignment,\n DI_TYPE,\n} from '../../../common-core/src/di/container';\nimport Logger from '../../../common-core/src/logger';\nimport { default as PlannerMeshGenerator } from '../webgl/planner-mesh-generator';\nimport { RapiAccess } from '../../../common-core/src/rapi-access';\nimport PlannerInputManager from '../input/planner-input-manager';\nimport PlannerSelectionHandler from './planner-selection-handler';\nimport GlobalInitData from '../../../common-core/src/utils/global-init-data';\nimport ConfiguratorViewModel from '../../../common-core/src/view-model/configurator-view-model';\n\nexport const INJECTABLES: DependencyInjectionAssignment[] = [\n new DependencyInjectionAssignment('script-loader', ScriptLoader),\n new DependencyInjectionAssignment(\n 'planner-input-manager',\n PlannerInputManager,\n DI_TYPE.CONTEXT,\n ),\n new DependencyInjectionAssignment('logger', Logger),\n new DependencyInjectionAssignment(\n 'planner-mesh-generator',\n PlannerMeshGenerator,\n ),\n new DependencyInjectionAssignment(\n 'configurator-view-model',\n ConfiguratorViewModel,\n DI_TYPE.CONTEXT,\n ),\n new DependencyInjectionAssignment('rapi-access', RapiAccess),\n new DependencyInjectionAssignment('global-init-data', GlobalInitData),\n new DependencyInjectionAssignment(\n 'planner-selection-handler',\n PlannerSelectionHandler,\n ),\n];\n","import './utils/global-definitions';\nimport { Main, BASE_CONTEXT } from '../../common-core/src/main';\nimport { RoomlePlanner } from './roomle-planner';\nimport RoomleDependencyInjection from '../../common-core/src/di/roomle-dependency-injection';\nimport { INJECTABLES } from './utils/injectables';\nimport type PlannerKernelAccess from './services/planner-kernel-access';\nimport type Logger from '../../common-core/src/logger';\nimport { KERNEL_TYPE } from '../../common-core/src/services/common-kernel-access';\nimport type { PluginName } from '../../configurator-core/src/utils/plugin-types';\nimport type InitData from '../../common-core/src/utils/init-data';\nimport { isInIframe } from '../../common-core/src/utils/rapi-utils';\n\nexport class Planner<\n P extends readonly PluginName[] = readonly [],\n> extends Main {\n private _planner: RoomlePlanner<P>;\n private _activePlugins: P;\n\n constructor(creator?: string, activePlugins?: P) {\n super(creator);\n this._activePlugins = (activePlugins || []) as P;\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 // instantiate kernel acccess\n // instantiate pka\n // set pka on kernel access\n const plannerKernelAccess = this.lookup<PlannerKernelAccess>(\n 'planner-kernel-access',\n this._context,\n );\n plannerKernelAccess.init(KERNEL_TYPE.PLANNER);\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._planner = new RoomlePlanner<P>(this._context, this._activePlugins);\n\n this._planner.getMain = () => {\n return this;\n };\n\n if (!window.RoomlePlanner) {\n if (this._activePlugins.length === 0) {\n // cast to unknown because we know that the planner is a RoomlePlanner\n window.RoomlePlanner = this._planner as unknown as RoomlePlanner;\n } else {\n window.RoomlePlanner = this._planner as RoomlePlanner<\n readonly PluginName[]\n >;\n }\n }\n\n const initData = this.lookup<InitData>('init-data', this._context);\n\n if (initData?.hi && isInIframe()) {\n await this._planner.setupHomagIntelligence();\n }\n }\n\n public getApi(): RoomlePlanner<P> {\n return this._planner;\n }\n\n protected getContextName(): string {\n return BASE_CONTEXT.PLANNER;\n }\n}\n"],"mappings":";;;AAGA,IAAqB,IAArB,cAAiD,EAAa;CAC5D,SAAmB,GAAkC;AACnD,SAAO;;GCQE,IAA+C;CAC1D,IAAI,EAA8B,iBAAiB,EAAa;CAChE,IAAI,EACF,yBACA,GACA,EAAQ,QACT;CACD,IAAI,EAA8B,UAAU,EAAO;CACnD,IAAI,EACF,0BACA,EACD;CACD,IAAI,EACF,2BACA,GACA,EAAQ,QACT;CACD,IAAI,EAA8B,eAAe,EAAW;CAC5D,IAAI,EAA8B,oBAAoB,EAAe;CACrE,IAAI,EACF,6BACA,EACD;CACF,ECxBY,IAAb,cAEU,EAAK;CAIb,YAAY,GAAkB,GAAmB;AAE/C,EADA,MAAM,EAAQ,EACd,KAAK,iBAAkB,KAAiB,EAAE;;CAE5C,eAA+B;CAI/B,oBAAoC;AAMN,EAL5B,EAA0B,MAAM,EAAY,EAC5C,KAAK,OAAe,UAAU,KAAK,SAAS,EAIhB,KAAK,OAC/B,yBACA,KAAK,SACN,CACmB,KAAK,EAAY,QAAQ;;CAG/C,iBAAiC;AAC/B,QAAU,MAAM,0BAA0B;;CAG5C,sBAAsC;AACpC,QAAU,MAAM,0BAA0B;;CAG5C,MAAgB,eAA8B;AAoB5C,EAnBA,KAAK,WAAW,IAAI,EAAiB,KAAK,UAAU,KAAK,eAAe,EAExE,KAAK,SAAS,gBACL,MAGJ,OAAO,kBACN,KAAK,eAAe,QAEtB,OAAO,gBAAgB,KAAK,WAQf,KAAK,OAAiB,aAAa,KAAK,SAAS,EAEpD,MAAM,GAAY,IAC9B,MAAM,KAAK,SAAS,wBAAwB;;CAIhD,SAAkC;AAChC,SAAO,KAAK;;CAGd,iBAAmC;AACjC,SAAO,EAAa"}
@@ -2236,6 +2236,8 @@ export declare const CORE_HELP_LINE_TYPE: {
2236
2236
  readonly WALL_EDGE: 3;
2237
2237
  readonly DOCKING_VECTOR: 4;
2238
2238
  readonly OBJECT_CONTOUR: 5;
2239
+ readonly WALL_ALIGNMENT: 6;
2240
+ readonly WALL_ALIGNMENT_SNAPPED: 7;
2239
2241
  };
2240
2242
 
2241
2243
  export declare const CORE_NODE_TYPE: {
@@ -5813,6 +5815,7 @@ export declare interface PlanElement_2 extends KernelObject {
5813
5815
  getId(): number;
5814
5816
  getCustomDataJson(): string;
5815
5817
  isDuplicable(): boolean;
5818
+ isDeletableInIsolation(): boolean;
5816
5819
  readonly hidden: boolean;
5817
5820
  }
5818
5821
 
@@ -6466,6 +6469,12 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6466
6469
  get viewModel(): PlanViewModel;
6467
6470
  private _getDragPosition;
6468
6471
  private _hideAllMeasurementsNodeOnElementChange;
6472
+ /**
6473
+ * An element that the core reports as not deletable in isolation - a generated
6474
+ * fence post or module - may only be deleted together with its complete contour
6475
+ * group. Fence doors and ordinary plan elements stand on their own.
6476
+ */
6477
+ private _isSelectionDeletable;
6469
6478
  private _onSelectionChange;
6470
6479
  planObjectDependencyUpdated(planObjectId: number): void;
6471
6480
  private _onSelectionCancel;
@@ -6519,6 +6528,8 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6519
6528
  protected _setCameraControlListeners(): void;
6520
6529
  private _onCameraZoomChange;
6521
6530
  private _setKernelZoomFactor;
6531
+ private _getHighestWallHeight;
6532
+ private _shouldShowCeiling;
6522
6533
  private _setCeiling;
6523
6534
  cameraBehaviourChanged(updateDistance?: boolean): void;
6524
6535
  private _updatePaperBackground;
@@ -10437,6 +10448,7 @@ export declare interface SelectionPayload {
10437
10448
  externalConfigurationType?: string;
10438
10449
  objectComponent?: KernelPlanObjectComponent;
10439
10450
  permissionToDelete?: number;
10451
+ isSelectionDeletable?: boolean;
10440
10452
  }
10441
10453
 
10442
10454
  export declare const SET_WALL_MATERIAL_TYPE: {
@@ -1,14 +1,14 @@
1
- import { a as e, i as t, n, r, t as i } from "./packages-6njsPLBJ.mjs";
1
+ import { a as e, i as t, n, r, t as i } from "./packages-CywjYzrw.mjs";
2
2
  import { i as a, t as o } from "./kernel-BWfRHWkW.mjs";
3
- import { mt as s, vt as c } from "./threejs-utils-mqRHdm-p.mjs";
3
+ import { mt as s, vt as c } from "./threejs-utils-C9zED_Tu.mjs";
4
4
  import { Si as l, m as u, nt as d } from "./three.core-0KaTx8dm.mjs";
5
- import { A as f, F as p, G as m, J as h, K as ee, M as te, N as ne, P as re, S as ie, W as ae, a as oe, at as se, b as ce, ct as le, dt as ue, i as de, j as fe, k as pe, l as g, lt as _, m as v, mt as y, o as b, ot as x, q as S, r as C, s as w, st as T, t as E, u as D, ut as O, x as k, y as A, z as j } from "./roomle-sdk-BdEmEYZg.mjs";
5
+ import { A as f, F as p, G as m, J as h, K as ee, M as te, N as ne, P as re, S as ie, W as ae, a as oe, at as se, b as ce, ct as le, dt as ue, i as de, j as fe, k as pe, l as g, lt as _, m as v, mt as y, o as b, ot as x, q as S, r as C, s as w, st as T, t as E, u as D, ut as O, x as k, y as A, z as j } from "./roomle-sdk-C_KgeRRI.mjs";
6
6
  import { n as M } from "./roomle-renderer-FUqNfNIf.mjs";
7
- import { n as N } from "./script-loader-BTy3OZVv.mjs";
8
- import { t as P } from "./configurator-Ducp-Nxf.mjs";
9
- import { t as F } from "./planner-ABiXTXmc.mjs";
10
- import { n as I, t as L } from "./glb-viewer-BvnOSeLd.mjs";
11
- import { t as R } from "./api-COog8C3X.mjs";
7
+ import { n as N } from "./script-loader-CdhwtgMh.mjs";
8
+ import { t as P } from "./configurator-Df0i3C3T.mjs";
9
+ import { t as F } from "./planner-d2O03UND.mjs";
10
+ import { n as I, t as L } from "./glb-viewer-CMfGHsTk.mjs";
11
+ import { t as R } from "./api-DsFkkVBx.mjs";
12
12
  import { t as z } from "./roomle-headless-setup-7xnQlZl3.mjs";
13
13
  import { createRequire as B } from "module";
14
14
  //#region packages/headless-core/src/headless-script-loader.ts
@@ -1,9 +1,9 @@
1
1
  import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./kernel-BWfRHWkW.mjs";
2
- import { $ as c, A as l, B as u, C as d, Ct as f, E as p, F as m, G as h, H as g, I as _, K as v, L as y, M as b, N as x, O as S, P as C, Q as w, S as T, St as ee, T as te, V as ne, W as re, X as ie, Y as ae, Z as oe, _ as se, _t as ce, a as le, at as ue, b as de, bt as fe, ct as pe, d as me, dt as he, et as ge, f as _e, ft as ve, g as ye, gt as be, h as xe, ht as Se, i as Ce, it as we, j as E, l as Te, lt as Ee, m as De, mt as Oe, n as ke, nt as Ae, o as je, ot as Me, p as Ne, pt as D, q as Pe, r as Fe, rt as Ie, s as Le, st as Re, t as ze, tt as Be, u as Ve, ut as He, v as Ue, vt as We, w as Ge, x as Ke, xt as qe, y as Je, yt as Ye, z as Xe } from "./threejs-utils-mqRHdm-p.mjs";
2
+ import { $ as c, A as l, B as u, C as d, Ct as f, E as p, F as m, G as h, H as g, I as _, K as v, L as y, M as b, N as x, O as S, P as C, Q as w, S as T, St as ee, T as te, V as ne, W as re, X as ie, Y as ae, Z as oe, _ as se, _t as ce, a as le, at as ue, b as de, bt as fe, ct as pe, d as me, dt as he, et as ge, f as _e, ft as ve, g as ye, gt as be, h as xe, ht as Se, i as Ce, it as we, j as E, l as Te, lt as Ee, m as De, mt as Oe, n as ke, nt as Ae, o as je, ot as Me, p as Ne, pt as D, q as Pe, r as Fe, rt as Ie, s as Le, st as Re, t as ze, tt as Be, u as Ve, ut as He, v as Ue, vt as We, w as Ge, x as Ke, xt as qe, y as Je, yt as Ye, z as Xe } from "./threejs-utils-C9zED_Tu.mjs";
3
3
  import { $r as Ze, An as Qe, At as $e, Br as et, Bt as tt, C as nt, Ci as O, Cr as rt, Dn as it, Dr as at, Dt as ot, E as st, En as ct, Et as lt, Fr as ut, Gn as dt, Gr as ft, Gt as pt, H as mt, Hr as ht, It as gt, Kr as _t, Kt as vt, Ln as yt, Lt as bt, M as xt, Mn as St, Mr as Ct, Nn as wt, On as Tt, Or as Et, Ot as Dt, Pn as Ot, Qr as kt, Qt as At, R as jt, Rn as Mt, S as Nt, Si as k, Sn as Pt, St as Ft, Ti as It, Tn as Lt, U as Rt, Ur as zt, V as Bt, Vt, Wt as Ht, Xr as Ut, Xt as Wt, Yr as Gt, Z as Kt, Zt as qt, _n as Jt, _t as Yt, at as Xt, bn as Zt, cn as A, ct as Qt, d as $t, dt as en, en as tn, et as nn, f as j, fi as rn, gn as an, h as on, ht as sn, in as cn, jn as ln, jt as un, k as dn, kn as fn, kr as pn, l as mn, ln as hn, lt as gn, m as _n, mt as vn, n as yn, ni as bn, nt as xn, oi as Sn, on as Cn, p as wn, pi as Tn, qt as En, r as Dn, rn as On, si as kn, sn as An, st as jn, tn as Mn, v as Nn, w as M, wi as Pn, wn as Fn, wt as In, x as Ln, xn as Rn, yn as zn, zt as Bn } from "./three.core-0KaTx8dm.mjs";
4
4
  import { n as Vn, r as Hn, t as Un } from "./three.module-dym6j3lO.mjs";
5
5
  import { c as Wn, t as Gn } from "./shading-settings-Bnt9v9xJ.mjs";
6
- import { a as Kn, i as qn, n as Jn, o as Yn, r as Xn, t as N } from "./scene-renderer-B4HVqeg3.mjs";
6
+ import { a as Kn, i as qn, n as Jn, o as Yn, r as Xn, t as N } from "./scene-renderer-DR7EFd-8.mjs";
7
7
  import { n as P, r as F, t as I } from "./decorate-CX1ZGuFY.mjs";
8
8
  import { c as Zn, l as Qn, s as $n, u as er } from "./dimensioning-helper-BwvR76_I.mjs";
9
9
  import { a as L, c as tr, i as R, n as nr, o as rr, r as ir, s as ar, t as or } from "./kernel-utils-voLUOj-0.mjs";
@@ -39132,7 +39132,7 @@ var vl = class extends _l {}, yl = class {
39132
39132
  interactionKey: t.dimensioning.interactionKey
39133
39133
  };
39134
39134
  });
39135
- this._dimensionDataMap.set(e.runtimeId, s), import("./component-dimensioning-pA7fsqsP.mjs").then((r) => {
39135
+ this._dimensionDataMap.set(e.runtimeId, s), import("./component-dimensioning-DJuokZnv.mjs").then((r) => {
39136
39136
  let s = [];
39137
39137
  a.forEach((t, n) => {
39138
39138
  let a = new r.default(t, o, i, this.onDimensionEditingFinished);
@@ -39209,7 +39209,7 @@ var vl = class extends _l {}, yl = class {
39209
39209
  }
39210
39210
  remove(e, t = !0) {
39211
39211
  return new Promise((n) => {
39212
- import("./component-dimensioning-pA7fsqsP.mjs").then((r) => {
39212
+ import("./component-dimensioning-DJuokZnv.mjs").then((r) => {
39213
39213
  let i = [];
39214
39214
  e.children.forEach((e) => {
39215
39215
  e instanceof r.default && i.push(e);
@@ -47624,7 +47624,7 @@ var Up = class {
47624
47624
  });
47625
47625
  }
47626
47626
  showWebGLStats() {
47627
- this._roomleRenderer instanceof Hp && import("./stats-helper-Cae4Gs0E.mjs").then((e) => {
47627
+ this._roomleRenderer instanceof Hp && import("./stats-helper-vEwFkDIt.mjs").then((e) => {
47628
47628
  this._statsHelper = new e.default(), this._roomleRenderer.setOnQualityLevelChangeCallback((e) => {
47629
47629
  this._statsHelper?.updateQualityInfo(e);
47630
47630
  });
@@ -48223,7 +48223,7 @@ var hm = class {
48223
48223
  async _initOptionalModules() {
48224
48224
  let e = this._initData.transparentHighlighting, t = !!this._initData.externalObjectSettings.transparentHighlighting;
48225
48225
  if (e || t) {
48226
- let { default: n } = await import("./highlight-coordinator-DCfeXyn-.mjs");
48226
+ let { default: n } = await import("./highlight-coordinator-Qonmfsu1.mjs");
48227
48227
  this._highlightHelper = new n({
48228
48228
  transparentHighlighting: e,
48229
48229
  externalTransparentHighlighting: t
@@ -49423,6 +49423,14 @@ var Km = (e) => e?.floorType?.value === Se.TERRAIN, qm = (e) => {
49423
49423
  color: 16777088,
49424
49424
  radius: .04
49425
49425
  };
49426
+ case be.WALL_ALIGNMENT: return {
49427
+ color: 32896,
49428
+ radius: .01
49429
+ };
49430
+ case be.WALL_ALIGNMENT_SNAPPED: return {
49431
+ color: 49152,
49432
+ radius: .01
49433
+ };
49426
49434
  default: return {
49427
49435
  color: 8421504,
49428
49436
  radius: .01
@@ -52080,9 +52088,23 @@ var _g = "rml_plans", vg = {
52080
52088
  _hideAllMeasurementsNodeOnElementChange(e) {
52081
52089
  this.viewModel.getMeasurementLineObjectViewModels().forEach((e) => e.hideDraggableNodes()), e instanceof Yd && e.showDraggableNodes();
52082
52090
  }
52091
+ _isSelectionDeletable() {
52092
+ let e = this._plannerSceneEventHandler?.getSelectedIds() ?? [], t = new Set(e), n = /* @__PURE__ */ new Set();
52093
+ for (let r of e) {
52094
+ if (n.has(r)) continue;
52095
+ let e = this.viewModel.getPlanObjectForId(r)?.getPlanElement();
52096
+ if (typeof e?.isDeletableInIsolation != "function" || e.isDeletableInIsolation()) continue;
52097
+ let i = this._plannerKernelAccess?.planModelViewHelper?.getGroupedObjects(e);
52098
+ if (!i) continue;
52099
+ let a = or(i);
52100
+ for (let e of a) n.add(e.getId());
52101
+ if (a.some((e) => !t.has(e.getId()))) return !1;
52102
+ }
52103
+ return !0;
52104
+ }
52083
52105
  _onSelectionChange(e) {
52084
52106
  this._hideAllMeasurementsNodeOnElementChange(e), this._selectedPlanElementViewModel2d = e;
52085
- let t = {};
52107
+ let t = { isSelectionDeletable: this._isSelectionDeletable() };
52086
52108
  if (e instanceof au && (t.item = e.getRapiItem() ?? void 0, t.staticItemRuntimeId = e.getPlanElement().getId(), this._configuratorUiCallbacks.onUpdateParameters([])), e instanceof Xd && (t.staticItemRuntimeId = e.getPlanElement().getId()), e instanceof iu) {
52087
52109
  let n = e.getId(), r = this.getRootPlanObjectId(n);
52088
52110
  t.configurationRuntimeId = this.viewModel.getPlanObjectForId(r).getConfigurationRuntimeId();
@@ -52167,7 +52189,7 @@ var _g = "rml_plans", vg = {
52167
52189
  this._forceWallsAndCeiling();
52168
52190
  return;
52169
52191
  }
52170
- this.cameraBehaviour.cameraControl instanceof _d && C(this.cameraBehaviour.cameraControl.getCamera(), this.viewModel.getWallPlanObjectViewModels()) && this._roomleRenderer?.forceShadowUpdates(!0), this._is2dMeasurementsOverlayDirty && (this._is2dMeasurementsOverlayDirty = !1, this._render2dMeasurementsOverlay());
52192
+ this.cameraBehaviour.cameraControl instanceof _d && C(this.cameraBehaviour.cameraControl.getCamera(), this.viewModel.getWallPlanObjectViewModels()) && this._roomleRenderer?.forceShadowUpdates(!0), this._setCeiling(), this._is2dMeasurementsOverlayDirty && (this._is2dMeasurementsOverlayDirty = !1, this._render2dMeasurementsOverlay());
52171
52193
  }
52172
52194
  _forceWallsAndCeiling() {
52173
52195
  this.viewModel.getWallPlanObjectViewModels().forEach((e) => e.setContainerVisibility(!0)), this.viewModel.getCeilingGroup().visible = !0;
@@ -52465,8 +52487,15 @@ var _g = "rml_plans", vg = {
52465
52487
  let e = this.cameraBehaviour.cameraControl.getKernelZoomFactor();
52466
52488
  e && isFinite(e) && e >= 0 && this._getKernelAccess().planInteractionManager?.setZoomFactor(e), this._plannerSceneEventHandler?.setKernelZoomFactor(e);
52467
52489
  }
52490
+ _getHighestWallHeight() {
52491
+ let e = this.viewModel.getWallPlanObjectViewModels().map((e) => e.getKernelObject().height / 1e3).filter((e) => isFinite(e)), t = this.viewModel.getCorePlan?.()?.defaultWallHeight;
52492
+ return typeof t == "number" && isFinite(t) && e.push(t / 1e3), e.length > 0 ? Math.max(...e) : 0;
52493
+ }
52494
+ _shouldShowCeiling() {
52495
+ return this.cameraBehaviour.cameraControl instanceof Od || this._configuratorContext.baseContext === K.CONFIGURATOR ? !1 : this.cameraBehaviour.cameraControl instanceof Jf ? !0 : this.cameraBehaviour.cameraControl instanceof _d ? this.cameraBehaviour.cameraControl.getCamera().position.y <= this._getHighestWallHeight() : !1;
52496
+ }
52468
52497
  _setCeiling() {
52469
- this.viewModel && (this.viewModel.getCeilingGroup().visible = this.cameraBehaviour.cameraControl instanceof Jf);
52498
+ this.viewModel && (this.viewModel.getCeilingGroup().visible = this._shouldShowCeiling());
52470
52499
  }
52471
52500
  cameraBehaviourChanged(e = !0) {
52472
52501
  super.cameraBehaviourChanged(e), this._plannerSceneEventHandler?.setCamera(this.cameraBehaviour.cameraControl.getCamera()), this._updatePaperBackground();
@@ -54068,7 +54097,7 @@ var $g = "<plan version=\"2\"><walls><nodes/><edges/></walls><planobjects/><text
54068
54097
  async switchToConfigurator() {
54069
54098
  let e = await this._singlePromiseFactory.create(Fa.START_HSC, "startHSC", (e) => {
54070
54099
  if (this._hscInstance) return e(this._hscInstance);
54071
- import("./configurator-9q_a9B9k.mjs").then(({ Configurator: t }) => {
54100
+ import("./configurator-7Gud3pOb.mjs").then(({ Configurator: t }) => {
54072
54101
  let n = new t(this._creator_);
54073
54102
  n.boot({
54074
54103
  kernelInstance: this._planInteractionManager.getConfiguratorKernel(),
@@ -54086,7 +54115,7 @@ var $g = "<plan version=\"2\"><walls><nodes/><edges/></walls><planobjects/><text
54086
54115
  async switchToViewer() {
54087
54116
  let e = await this._singlePromiseFactory.create(Fa.START_GLB, "startGLB", (e) => {
54088
54117
  if (this._glbInstance) return e(this._glbInstance);
54089
- import("./glb-viewer-BiRBZWfu.mjs").then((t) => {
54118
+ import("./glb-viewer-BSoSqgNt.mjs").then((t) => {
54090
54119
  let n = new t.GlbViewer(this._creator_);
54091
54120
  n.boot(), n.getApi().setOverrides(this._initData);
54092
54121
  let r = this._domHelper.element;
@@ -54991,7 +55020,7 @@ var $g = "<plan version=\"2\"><walls><nodes/><edges/></walls><planobjects/><text
54991
55020
  globalInitData: JSON.parse(JSON.stringify(this._globalInitData))
54992
55021
  }, "*", [t.port2]);
54993
55022
  let n = Pg(t.port1), r = null;
54994
- this._initData.hi?.libraryId && (r = n.onLoadArticleCatalog(this._initData.hi.libraryId), this._earlyHiTagCatalogCallbacks = new Qg(this._creator_, r)), await new (await (import("./homag-intelligence-DWfY5Rhy.mjs"))).HomagIntelligence(this, e, n).loadSavedPosData(), this._initData.hi?.libraryId && await this.loadExternalObjectLibrary(this._initData.hi.libraryId, r ?? void 0);
55023
+ this._initData.hi?.libraryId && (r = n.onLoadArticleCatalog(this._initData.hi.libraryId), this._earlyHiTagCatalogCallbacks = new Qg(this._creator_, r)), await new (await (import("./homag-intelligence-CaCDZrp5.mjs"))).HomagIntelligence(this, e, n).loadSavedPosData(), this._initData.hi?.libraryId && await this.loadExternalObjectLibrary(this._initData.hi.libraryId, r ?? void 0);
54995
55024
  }
54996
55025
  async _loadHomagIntelligenceArticles(e, t) {
54997
55026
  let n = this._homagIntelligence;
@@ -58553,7 +58582,7 @@ var sv = [
58553
58582
  static getConfigurator(e, t) {
58554
58583
  t = this._setupDI(K.CONFIGURATOR, e, t);
58555
58584
  let n = cv.lookup("global-init-data");
58556
- return n === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : n.configuratorId ? new Promise((e, n) => import("./configurator-9q_a9B9k.mjs").then(({ Configurator: n }) => e(new n(t)), n)) : Promise.reject(/* @__PURE__ */ Error("configuratorId is not set"));
58585
+ return n === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : n.configuratorId ? new Promise((e, n) => import("./configurator-7Gud3pOb.mjs").then(({ Configurator: n }) => e(new n(t)), n)) : Promise.reject(/* @__PURE__ */ Error("configuratorId is not set"));
58557
58586
  }
58558
58587
  static getPlanner(e, t) {
58559
58588
  return this._getPlanner(e, t);
@@ -58564,15 +58593,15 @@ var sv = [
58564
58593
  static async getGlbViewer(e, t) {
58565
58594
  t = this._setupDI(K.GLB_VIEWER, e, t);
58566
58595
  let n = cv.lookup("global-init-data");
58567
- return n === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : n.configuratorId ? new Promise((e, n) => import("./glb-viewer-BiRBZWfu.mjs").then(({ GlbViewer: n }) => e(new n(t)), n)) : Promise.reject(/* @__PURE__ */ Error("configuratorId is not set"));
58596
+ return n === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : n.configuratorId ? new Promise((e, n) => import("./glb-viewer-BSoSqgNt.mjs").then(({ GlbViewer: n }) => e(new n(t)), n)) : Promise.reject(/* @__PURE__ */ Error("configuratorId is not set"));
58568
58597
  }
58569
58598
  static getMaterialViewer(e, t) {
58570
58599
  t = this._setupDI(K.CONFIGURATOR, e, t);
58571
58600
  let n = cv.lookup("global-init-data");
58572
- return n === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : n.configuratorId ? new Promise((e, n) => import("./material-viewer-DShIT0xY.mjs").then(({ MaterialViewer: n }) => e(new n(t)), n)) : Promise.reject(/* @__PURE__ */ Error("configuratorId is not set"));
58601
+ return n === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : n.configuratorId ? new Promise((e, n) => import("./material-viewer-DCr4Cj2J.mjs").then(({ MaterialViewer: n }) => e(new n(t)), n)) : Promise.reject(/* @__PURE__ */ Error("configuratorId is not set"));
58573
58602
  }
58574
58603
  static getCoreTools(e, t) {
58575
- return t = this._setupDI(K.TOOLS_CORE, e, t), new Promise((e, n) => import("./tools-core-T65Q1eht.mjs").then(({ ToolsCore: n }) => {
58604
+ return t = this._setupDI(K.TOOLS_CORE, e, t), new Promise((e, n) => import("./tools-core-DW05Ccko.mjs").then(({ ToolsCore: n }) => {
58576
58605
  let r = new n(t);
58577
58606
  r.boot(), e(r);
58578
58607
  }, n));
@@ -58600,7 +58629,7 @@ var sv = [
58600
58629
  }
58601
58630
  static _getPlanner(e, t, n) {
58602
58631
  let r = this._setupDI(K.PLANNER, e, t), i = cv.lookup("global-init-data");
58603
- return i === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : i.configuratorId ? new Promise((e, t) => import("./planner-v3xjVi85.mjs").then(({ Planner: t }) => {
58632
+ return i === null ? Promise.reject(/* @__PURE__ */ Error("global-init-data is not available")) : i.configuratorId ? new Promise((e, t) => import("./planner-Bi0azu0C.mjs").then(({ Planner: t }) => {
58604
58633
  e(n ? new t(r, n) : new t(r));
58605
58634
  }, t)) : Promise.reject(/* @__PURE__ */ Error("configuratorId is not set"));
58606
58635
  }
@@ -58617,4 +58646,4 @@ var sv = [
58617
58646
  //#endregion
58618
58647
  export { G as $, Iu as A, Vc as B, Fd as C, cd as D, X as E, eu as F, Cc as G, Ic as H, _l as I, xc as J, wc as K, sl as L, _u as M, au as N, id as O, nu as P, Xs as Q, al as R, Yd as S, _d as T, Fc as U, K as V, Tc as W, fc as X, mc as Y, lc as Z, cp as _, L_ as a, Pa as at, If as b, C_ as c, Na as ct, Nm as d, Wi as dt, go as et, _m as f, Ri as ft, um as g, dm as h, X_ as i, Fa as it, yu as j, rd as k, b_ as l, ka as lt, mm as m, Mi as mt, cv as n, Qa as nt, I_ as o, V as ot, hm as p, Ni as pt, Sc as q, sv as r, Xa as rt, F_ as s, H as st, lv as t, to as tt, o_ as u, Oa as ut, $f as v, Md as w, Lf as x, Yf as y, Hc as z };
58619
58648
 
58620
- //# sourceMappingURL=roomle-sdk-BdEmEYZg.mjs.map
58649
+ //# sourceMappingURL=roomle-sdk-C_KgeRRI.mjs.map