@roomle/web-sdk 3.9.0-alpha.1 → 3.9.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 (109) hide show
  1. package/lib/ConfiguratorKernel.wasm +0 -0
  2. package/lib/{GLTFExporter-BqjC9LhS.mjs → GLTFExporter-yfYOtLdk.mjs} +2 -2
  3. package/lib/{GLTFExporter-BqjC9LhS.mjs.map → GLTFExporter-yfYOtLdk.mjs.map} +1 -1
  4. package/lib/RoomleCore.js +3 -3
  5. package/lib/RoomleCore.wasm +0 -0
  6. package/lib/RoomleToolsCore.wasm +0 -0
  7. package/lib/{USDZExporter-qUD2VgwK.mjs → USDZExporter-DFJQYX8l.mjs} +2 -2
  8. package/lib/{USDZExporter-qUD2VgwK.mjs.map → USDZExporter-DFJQYX8l.mjs.map} +1 -1
  9. package/lib/{api-ByHTYrQ_.mjs → api-Cp8M5v8V.mjs} +12 -12
  10. package/lib/api-Cp8M5v8V.mjs.map +1 -0
  11. package/lib/asset-loader.worker-A7nEeQB4.mjs.map +1 -1
  12. package/lib/{banana-for-scale-DiBCpVNM.mjs → banana-for-scale-CFY_5rk1.mjs} +4 -4
  13. package/lib/{banana-for-scale-DiBCpVNM.mjs.map → banana-for-scale-CFY_5rk1.mjs.map} +1 -1
  14. package/lib/budgeteer.sw-CQWYbQSc.mjs.map +1 -1
  15. package/lib/{common-utils-AB4Lnet3.mjs → common-utils-L3DF6Ey5.mjs} +2 -2
  16. package/lib/{common-utils-AB4Lnet3.mjs.map → common-utils-L3DF6Ey5.mjs.map} +1 -1
  17. package/lib/{component-dimensioning-LUnZnpqG.mjs → component-dimensioning-FjlPqIvQ.mjs} +44 -38
  18. package/lib/component-dimensioning-FjlPqIvQ.mjs.map +1 -0
  19. package/lib/{component-raycast-helper-Bl0mWPcj.mjs → component-raycast-helper-1n4uXeSD.mjs} +28 -28
  20. package/lib/{component-raycast-helper-Bl0mWPcj.mjs.map → component-raycast-helper-1n4uXeSD.mjs.map} +1 -1
  21. package/lib/configurator-B9H-kPm2.mjs +45 -0
  22. package/lib/{configurator-Cf6J4eOF.mjs.map → configurator-B9H-kPm2.mjs.map} +1 -1
  23. package/lib/configurator-CWD62G9Q.mjs +2 -0
  24. package/lib/{continuous-drawing-helper-BlRy7u2t.mjs → continuous-drawing-helper-DEmx54k_.mjs} +3 -3
  25. package/lib/{continuous-drawing-helper-BlRy7u2t.mjs.map → continuous-drawing-helper-DEmx54k_.mjs.map} +1 -1
  26. package/lib/{decorate-Bck1_lG8.mjs → decorate-C9r0zXzz.mjs} +1 -1
  27. package/lib/{decorate-Bck1_lG8.mjs.map → decorate-C9r0zXzz.mjs.map} +1 -1
  28. package/lib/{dimensioning-helper-vPhGfHd-.mjs → dimensioning-helper-BXD6AEqL.mjs} +28 -21
  29. package/lib/dimensioning-helper-BXD6AEqL.mjs.map +1 -0
  30. package/lib/dimensioning-helper-Do9jwg8T.mjs +2 -0
  31. package/lib/glb-viewer-BxbH6fKg.mjs +2 -0
  32. package/lib/{glb-viewer-B95ZWAO-.mjs → glb-viewer-MuC-xMpl.mjs} +69 -69
  33. package/lib/{glb-viewer-B95ZWAO-.mjs.map → glb-viewer-MuC-xMpl.mjs.map} +1 -1
  34. package/lib/{highlight-coordinator-DeB46jQq.mjs → highlight-coordinator-BJJw_RgR.mjs} +3 -3
  35. package/lib/{highlight-coordinator-DeB46jQq.mjs.map → highlight-coordinator-BJJw_RgR.mjs.map} +1 -1
  36. package/lib/{homag-intelligence-ByOCaAFW.mjs → homag-intelligence-Bq-OZ8uy.mjs} +21 -8
  37. package/lib/homag-intelligence-Bq-OZ8uy.mjs.map +1 -0
  38. package/lib/{imos-ix-poc-export-helper-Vyv-uuNs.mjs → imos-ix-poc-export-helper-C9wPB6fl.mjs} +3 -3
  39. package/lib/{imos-ix-poc-export-helper-Vyv-uuNs.mjs.map → imos-ix-poc-export-helper-C9wPB6fl.mjs.map} +1 -1
  40. package/lib/kernel-C7YDLxq8.mjs.map +1 -1
  41. package/lib/{kernel-utils-BG1uqfT_.mjs → kernel-utils-B5QlsCwn.mjs} +15 -7
  42. package/lib/kernel-utils-B5QlsCwn.mjs.map +1 -0
  43. package/lib/{layer-BfckfWZz.mjs → layer-C_JtkhdO.mjs} +1 -1
  44. package/lib/{layer-BfckfWZz.mjs.map → layer-C_JtkhdO.mjs.map} +1 -1
  45. package/lib/{main-TlUQxOeW.mjs → main-BvkSjJpQ.mjs} +36538 -3295
  46. package/lib/main-BvkSjJpQ.mjs.map +1 -0
  47. package/lib/{material-viewer-37JiZSuS.mjs → material-viewer-xyS-wPPD.mjs} +55 -55
  48. package/lib/material-viewer-xyS-wPPD.mjs.map +1 -0
  49. package/lib/packages-C5mL8tCk.mjs +4 -0
  50. package/lib/planner-CMKaBsin.mjs +2 -0
  51. package/lib/{planner-DBhjeG6D.mjs → planner-CfxenPvQ.mjs} +14 -14
  52. package/lib/{planner-DBhjeG6D.mjs.map → planner-CfxenPvQ.mjs.map} +1 -1
  53. package/lib/{plugin-system-BEZnFUyT.mjs → plugin-system-BBgoIai2.mjs} +3 -3
  54. package/lib/{plugin-system-BEZnFUyT.mjs.map → plugin-system-BBgoIai2.mjs.map} +1 -1
  55. package/lib/roomle-headless-setup-CMK-quZI.mjs.map +1 -1
  56. package/lib/roomle-headless.d.ts +222 -36
  57. package/lib/roomle-headless.js +42 -41
  58. package/lib/roomle-headless.js.map +1 -1
  59. package/lib/{roomle-renderer-BgT28pfp.mjs → roomle-renderer-CkSFbpmg.mjs} +2 -2
  60. package/lib/{roomle-renderer-BgT28pfp.mjs.map → roomle-renderer-CkSFbpmg.mjs.map} +1 -1
  61. package/lib/roomle-sdk.d.ts +222 -36
  62. package/lib/roomle-sdk.js +8 -7
  63. package/lib/{roomle-webgpu-renderer-CdD3cYxN.mjs → roomle-webgpu-renderer-DUr1RZL6.mjs} +426 -393
  64. package/lib/roomle-webgpu-renderer-DUr1RZL6.mjs.map +1 -0
  65. package/lib/{scene-renderer-Bdl7umAf.mjs → scene-renderer-BuMnigf2.mjs} +228 -228
  66. package/lib/{scene-renderer-Bdl7umAf.mjs.map → scene-renderer-BuMnigf2.mjs.map} +1 -1
  67. package/lib/{script-loader-D3Cbc5BY.mjs → script-loader-uiPKVdkx.mjs} +9 -9
  68. package/lib/{script-loader-D3Cbc5BY.mjs.map → script-loader-uiPKVdkx.mjs.map} +1 -1
  69. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
  70. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.d.ts +7 -3
  71. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.js +2 -1
  72. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.js.map +1 -1
  73. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts +35 -2
  74. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js +12 -1
  75. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js.map +1 -1
  76. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  77. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.js +3 -3
  78. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  79. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  80. package/lib/{stats-helper-BvDfWWfq.mjs → stats-helper-BZnX3BX3.mjs} +3 -3
  81. package/lib/{stats-helper-BvDfWWfq.mjs.map → stats-helper-BZnX3BX3.mjs.map} +1 -1
  82. package/lib/{three.core-K1JzUaep.mjs → three.core-DNErG1F6.mjs} +1 -1
  83. package/lib/{three.core-K1JzUaep.mjs.map → three.core-DNErG1F6.mjs.map} +1 -1
  84. package/lib/{three.module-Q2K9uyhi.mjs → three.module-BZkESKo3.mjs} +2 -2
  85. package/lib/{three.module-Q2K9uyhi.mjs.map → three.module-BZkESKo3.mjs.map} +1 -1
  86. package/lib/{three.webgpu-7v7o6Pxs.mjs → three.webgpu-C8myBXe1.mjs} +2 -2
  87. package/lib/{three.webgpu-7v7o6Pxs.mjs.map → three.webgpu-C8myBXe1.mjs.map} +1 -1
  88. package/lib/three.webgpu-WIkDzwXU.mjs +3 -0
  89. package/lib/{threejs-utils-BzXU2M3w.mjs → threejs-utils-D7sinreM.mjs} +106 -88
  90. package/lib/threejs-utils-D7sinreM.mjs.map +1 -0
  91. package/lib/{tools-core-CUTTHUku.mjs → tools-core-CCIcHAKj.mjs} +5 -5
  92. package/lib/{tools-core-CUTTHUku.mjs.map → tools-core-CCIcHAKj.mjs.map} +1 -1
  93. package/package.json +5 -2
  94. package/lib/api-ByHTYrQ_.mjs.map +0 -1
  95. package/lib/component-dimensioning-LUnZnpqG.mjs.map +0 -1
  96. package/lib/configurator-Cf6J4eOF.mjs +0 -45
  97. package/lib/configurator-D5FuWg5f.mjs +0 -2
  98. package/lib/dimensioning-helper-5xsc6I7Y.mjs +0 -2
  99. package/lib/dimensioning-helper-vPhGfHd-.mjs.map +0 -1
  100. package/lib/glb-viewer-C-IBj6p6.mjs +0 -2
  101. package/lib/homag-intelligence-ByOCaAFW.mjs.map +0 -1
  102. package/lib/kernel-utils-BG1uqfT_.mjs.map +0 -1
  103. package/lib/main-TlUQxOeW.mjs.map +0 -1
  104. package/lib/material-viewer-37JiZSuS.mjs.map +0 -1
  105. package/lib/packages-BPyzoYeC.mjs +0 -4
  106. package/lib/planner-BBUr8xHt.mjs +0 -2
  107. package/lib/roomle-webgpu-renderer-CdD3cYxN.mjs.map +0 -1
  108. package/lib/three.webgpu-ChguPx4k.mjs +0 -3
  109. package/lib/threejs-utils-BzXU2M3w.mjs.map +0 -1
@@ -289,7 +289,7 @@ export declare class CacheHolder {
289
289
  get geometryCache(): Map<string, BufferGeometry>;
290
290
  get materialCache(): Map<string, Material>;
291
291
  clear(): void;
292
- setupLightCache(scene: Scene, maxAnisotropy: number): void;
292
+ setupLightCache(scene: Scene, renderer: WebGLRenderer | WebGPURenderer, maxAnisotropy: number): void;
293
293
  }
294
294
 
295
295
  export declare type CallbackObjectType = 'static' | 'configuration' | 'wall' | 'measure' | 'attic' | 'door' | 'floor' | 'window' | 'unknown' | 'external-configuration';
@@ -1075,6 +1075,7 @@ export declare class ConfiguratorCameraBehaviour extends CameraBehaviour {
1075
1075
  zoomToComponentOnConsecutiveClick(cameraParameters: CameraParameter): Promise<void>;
1076
1076
  resetCameraToStateOnCancelSelection(): void;
1077
1077
  zoomToFitBoundsAfterUserInitiatedPreviews(boundingBox: Box3): void;
1078
+ zoomToFitBoundsAfterSwitchConfiguratorObject(boundingBox: Box3): void;
1078
1079
  resetCameraOnStartConfiguring(boundingBox: Box3, cameraParameters: CameraParameter, rotation?: number, lookAtSide?: number): Promise<void>;
1079
1080
  }
1080
1081
 
@@ -1246,6 +1247,7 @@ export declare class ConfiguratorKernelAccess extends CommonKernelAccess {
1246
1247
  private _configuratorHistory;
1247
1248
  externalMeshQueue: PromiseQueue<void>;
1248
1249
  muteKernelCallbacks: boolean;
1250
+ private _parameterUpdateIds;
1249
1251
  constructor(creator: string);
1250
1252
  init(kernelType: KERNEL_TYPE): void;
1251
1253
  protected _getScriptLoaderKernelId(_kernelType: KERNEL_TYPE): string;
@@ -1255,9 +1257,12 @@ export declare class ConfiguratorKernelAccess extends CommonKernelAccess {
1255
1257
  uiRequestConfiguration(objectId: number): void;
1256
1258
  getComponentParameters(componentId: number): Promise<KernelParameter[]>;
1257
1259
  getPlanObjectParameters(objectId: number): Promise<KernelParameter[]>;
1260
+ getCommonPlanObjectParameters(objectIds: number[]): Promise<KernelParameter[]>;
1258
1261
  protected _validateExternalComponentParameters(_componentId: number, parameters: KernelParameter[]): Promise<KernelParameter[]>;
1259
1262
  protected _validateExternalPlanObjectParameters(_objectId: number, parameters: KernelParameter[]): Promise<KernelParameter[]>;
1260
1263
  private _addAnimationParameters;
1264
+ private _nextParameterUpdateId;
1265
+ private _isSupersededParameterUpdate;
1261
1266
  private _updateComponentParameters;
1262
1267
  selectionChange(componentId: number, isRoot: boolean): void;
1263
1268
  protected _componentSelectionChanged(_planObject: PlanObjectKernel, _component: KernelComponent): void;
@@ -1267,9 +1272,13 @@ export declare class ConfiguratorKernelAccess extends CommonKernelAccess {
1267
1272
  private _updateComponentChildren;
1268
1273
  private _updateComponentDependencies;
1269
1274
  private _updatePlanObjectParameters;
1275
+ private _updateCommonPlanObjectParameters;
1270
1276
  private _enableRootComponentParametersAsGlobal;
1271
1277
  private _updatePlanObjectChildren;
1272
1278
  updatePlanObjectDependencies(planObjectId: number): void;
1279
+ private _updateSelectedComponentDependencies;
1280
+ private _isComponentOfPlanObject;
1281
+ updateCommonPlanObjectDependencies(planObjectIds: number[]): void;
1273
1282
  private _updateConfigurationHasChildren;
1274
1283
  dockComponent(parentId: number, parentDockId: number, childId: number, childDockId: number, position?: KernelVector3): void;
1275
1284
  changeUseOfHDGeometry(context: ConfiguratorContext, useHDGeometry: boolean): void;
@@ -1298,8 +1307,8 @@ export declare class ConfiguratorKernelAccess extends CommonKernelAccess {
1298
1307
  protected _setupKernel(): void;
1299
1308
  onLoadComponentError(error: Error, id: RapiId): void;
1300
1309
  configurationLoaded(conversationId: number, objectId: number, componentId: number, hash: string, errors: EmscriptenString[], _valid: boolean, isFreeFlying: boolean): void;
1301
- componentDefinitionLoaded(_conversationId: number, componentId: number): void;
1302
- componentDefinitionLoadingError(_conversationId: number, errorMessage: string): void;
1310
+ componentDefinitionLoaded(componentId: number): void;
1311
+ componentDefinitionLoadingError(errorMessage: string): void;
1303
1312
  configurationLoadingError(_runtimeId: number, errors?: EmscriptenString[]): void;
1304
1313
  componentConfigurationUpdated(componentId: number, geometryChanged: boolean): void;
1305
1314
  setActiveGroupInView(group: string): void;
@@ -1308,6 +1317,7 @@ export declare class ConfiguratorKernelAccess extends CommonKernelAccess {
1308
1317
  requestComponentDimensions(): void;
1309
1318
  planObjectCreated(conversationId: number, planObjectId: number): void;
1310
1319
  planObjectUpdated(planObjectId: number, pendingDocking: boolean, automaticCalculationUpdate: boolean): void;
1320
+ planObjectDependencyUpdated(planObjectId: number): void;
1311
1321
  planObjectConfigurationUpdated(planObjectId: number, configuration: ConfigurationString, hash: string, _rootPlanComponentId: number, _valid: boolean, pendingDocking: boolean): Promise<void>;
1312
1322
  private _onBoundsUpdate;
1313
1323
  planObjectDeleted(): void;
@@ -1376,6 +1386,7 @@ export declare interface ConfiguratorKernelAccessCallbackI extends KernelAccessC
1376
1386
  export declare interface ConfiguratorKernelCallbackI extends CommonConfiguratorKernelCallbackI {
1377
1387
  planObjectCreated(conversationId: number, planObjectId: number): void;
1378
1388
  planObjectUpdated(planObject: PlanObjectKernel, pendingDocking: boolean, automaticCalculationUpdate: boolean): void;
1389
+ planObjectDependencyUpdated(planObjectId: number): void;
1379
1390
  planObjectConfigurationUpdated(planObjectId: number, configuration: ConfigurationString, hash: string, pendingDocking: boolean): void;
1380
1391
  configurationLoaded(conversationId: number, objectId: number, componentId: number, hash: string, errors: any, isFreeFlying: boolean): void;
1381
1392
  Editor3dAddDockPreview(componentId: number, previewId: number, componentType: KernelComponentType): void;
@@ -1418,10 +1429,12 @@ export declare interface ConfiguratorKernelClass {
1418
1429
  getComponentParameters(componentId: number): KernelParameter[];
1419
1430
  getPlanComponentAnimations(planComponentId: number): KernelAnimation[];
1420
1431
  setComponentParameter(componentId: number, parameterKey: string, value: string): void;
1421
- setPlanComponentParameters(componentIds: any, parameterKey: string, value: string): void;
1432
+ setPlanComponentsParameter(componentIds: any, parameterKey: string, value: string): void;
1422
1433
  getPlanObjectParameters(planObjectId: number): KernelParameter[];
1434
+ getCommonPlanObjectParameters(planObjectIds: EmsArray<number>): KernelParameter[];
1423
1435
  getPlanObjectAnimations(planObjectId: number): KernelAnimation[];
1424
1436
  setPlanObjectParameter(planObjectId: number, parameterKey: string, value: string): void;
1437
+ setPlanObjectsParameter(planObjectIds: any, parameterKey: string, value: string): void;
1425
1438
  dockComponent(childId: number, childDockId: number, parentId: number, parentDockId: number, position?: KernelVector3): void;
1426
1439
  getComponent(componentId: number): KernelComponent;
1427
1440
  getComponentBounds(componentId: number, animationValues: string[]): KernelComponentBounds;
@@ -1448,7 +1461,7 @@ export declare interface ConfiguratorKernelClass {
1448
1461
  parameterGroups: KernelParameterGroup[];
1449
1462
  animations: KernelAnimation[];
1450
1463
  };
1451
- loadComponentDefinition(conversationId: number, component: string): void;
1464
+ loadComponentDefinition(component: string): void;
1452
1465
  syncPlanObjectToView(conversationId: number, planObjectId: number): void;
1453
1466
  setAssetInvalid(assetType: AssetType, idOrUrl: string, quality: number): void;
1454
1467
  setActiveGroupInView(groupId: string): void;
@@ -1527,14 +1540,14 @@ export declare class ConfiguratorSceneEventHandler extends SceneEventHandler<Sce
1527
1540
  disable(): void;
1528
1541
  enable(): void;
1529
1542
  private _addInputListeners;
1530
- addComponentHandlers(component: RoomleComponent): void;
1543
+ addComponentHandlers(component: RoomleComponent, switchObject?: (componentId: number) => Promise<void>): void;
1531
1544
  addComponentDragInHandler(component: RoomleComponent): void;
1532
1545
  private _addComponentHandlers;
1533
1546
  addPreviewHandlers(component: PreviewComponent): void;
1534
1547
  addPreviewLineHandlers(component: PreviewLineComponent, requestRenderSceneUpdateCallback?: () => void): void;
1535
1548
  private _clickPreview;
1536
1549
  private _clickPreviewLine;
1537
- clickComponent(component: RoomleComponent, componentIsClicked?: boolean): void;
1550
+ clickComponent(component: RoomleComponent, componentIsClicked?: boolean, switchObject?: (componentId: number) => Promise<void>): Promise<void>;
1538
1551
  private _clickOutside;
1539
1552
  private _hoverOn;
1540
1553
  private _hoverOff;
@@ -1562,7 +1575,7 @@ export declare class ConfiguratorSceneEventHandler extends SceneEventHandler<Sce
1562
1575
  getSelectedRuntimeComponentIds(): number[];
1563
1576
  setCameraMoving(cameraMoving: boolean): void;
1564
1577
  setCamera(camera: Camera): void;
1565
- setObject(object: Object3D): void;
1578
+ setObject(object: Object3D, secondaryObject?: Object3D): void;
1566
1579
  private _findComponentToBeSelected;
1567
1580
  private getRootComponent;
1568
1581
  }
@@ -1668,6 +1681,7 @@ export declare class ConfiguratorSceneManager extends SceneManager implements Co
1668
1681
  showDimensions(): Promise<void>;
1669
1682
  private _initDimensions;
1670
1683
  hideDimensions(): void;
1684
+ private _updateDimensionLabels;
1671
1685
  private _updateComponentDimensionLabels;
1672
1686
  loadSceneSettings(sceneSetting: SceneSettings): Promise<void>;
1673
1687
  protected onCameraChanged(): void;
@@ -1688,8 +1702,10 @@ export declare class ConfiguratorSceneManager extends SceneManager implements Co
1688
1702
  planObjectUpdated(planObject: PlanObjectKernel, geometryChanged: boolean, pendingDocking: boolean, automaticCalculationUpdate: boolean): void;
1689
1703
  componentDeleted(component: RoomleComponent): void;
1690
1704
  previewConstructionDone(_component: RoomleComponent, hasPreviews: boolean): void;
1705
+ planObjectDependencyUpdated(planObjectId: number): void;
1691
1706
  configurationLoaded(component: RoomleComponent, isFreeFlying: boolean): void;
1692
1707
  addComponentHandlers(component: RoomleComponent): void;
1708
+ switchConfiguratorObject(_clickedCompoentId: number): Promise<void>;
1693
1709
  addPreviewHandlers(previewComponent: PreviewComponent): void;
1694
1710
  addPreviewLineHandlers(previewLineComponent: PreviewLineComponent): void;
1695
1711
  private _updateComponentPosition;
@@ -1712,7 +1728,7 @@ export declare class ConfiguratorSceneManager extends SceneManager implements Co
1712
1728
  getComponent(componentRuntimeId: number): KernelComponent;
1713
1729
  cameraBehaviourChanged(updateDistance?: boolean): void;
1714
1730
  protected _setCameraControlListeners(): void;
1715
- protected setEventHandlerObject(object: Object3D): void;
1731
+ protected setEventHandlerObject(object: Object3D, secondaryObject?: Object3D): void;
1716
1732
  protected _readyForRender(): void;
1717
1733
  getComponentFromRuntimeId(elementId: number): RoomleComponent | null;
1718
1734
  animateElement(elementId: number, parameterName: string, value: string, animationLevel: AnimationLevelType, animate: boolean): void;
@@ -2087,6 +2103,7 @@ export declare class ConfiguratorViewModel implements ConfiguratorKernelCallback
2087
2103
  private _getRuntimeComponent;
2088
2104
  configurationLoaded(conversationId: number, objectId: number, componentId: number, _hash: string, _errors: any, isFreeFlying: boolean): void;
2089
2105
  finishParameterChange(resolve: () => void, _reject: () => void): void;
2106
+ planObjectDependencyUpdated(planObjectId: number): void;
2090
2107
  planObjectConfigurationUpdated(planObjectId: number, _configuration: ConfigurationString, _hash: string, pendingDocking: boolean): void;
2091
2108
  planObjectCreated(_conversationId: number, configurationRuntimeId: number): void;
2092
2109
  planObjectUpdated(planObject: PlanObjectKernel, pendingDocking: boolean, automaticCalculationUpdate: boolean): void;
@@ -2124,6 +2141,7 @@ export declare interface ConfiguratorViewModelCallbackI {
2124
2141
  planObjectUpdated(planObject: PlanObjectKernel, geometryChanged: boolean, pendingDocking: boolean, automaticCalculationUpdate: boolean): void;
2125
2142
  planObjectConstructionDone(planObject: PlanObjectKernel): void;
2126
2143
  previewConstructionDone(component: RoomleComponent, hasPreviews: boolean): void;
2144
+ planObjectDependencyUpdated(planObjectId: number): void;
2127
2145
  configurationLoaded(component: RoomleComponent, isFreeFlying: boolean): void;
2128
2146
  clearScene(): void;
2129
2147
  display(component: RoomleComponent): void;
@@ -2256,6 +2274,14 @@ export declare const CORE_HELP_LINE_TYPE: {
2256
2274
  readonly OBJECT_CONTOUR: 5;
2257
2275
  };
2258
2276
 
2277
+ export declare const CORE_OBJECT_CATEGORY: {
2278
+ readonly OBJECT: 0;
2279
+ readonly DOOR: 1;
2280
+ readonly WINDOW: 2;
2281
+ readonly CONSTRUCTION: 3;
2282
+ readonly UNKNOWN: 4;
2283
+ };
2284
+
2259
2285
  export declare const CORE_PERMISSION_TO_DELETE: {
2260
2286
  readonly NEVER: 0;
2261
2287
  readonly REDOCK_CHILDREN: 1;
@@ -2270,6 +2296,11 @@ export declare const CORE_PLAN_COMPONENT_TYPE: {
2270
2296
  readonly SUB_ARTICLE: 4;
2271
2297
  };
2272
2298
 
2299
+ export declare const CORE_PLAN_ROOM_GEOMETRY_MODE: {
2300
+ readonly FLOOR: 0;
2301
+ readonly ROOM: 1;
2302
+ };
2303
+
2273
2304
  export declare const CORE_SNAP_STATE: {
2274
2305
  readonly DEFAULT: 0;
2275
2306
  readonly DOCKING: 1;
@@ -2305,6 +2336,11 @@ export declare class CSS2DRendererManager implements Context {
2305
2336
  private injectStyles;
2306
2337
  }
2307
2338
 
2339
+ export declare interface CurrentTenantId {
2340
+ tenantId: number | string | null;
2341
+ fallbackTenantId: number | null;
2342
+ }
2343
+
2308
2344
  export declare interface CustomShadingParameters {
2309
2345
  aoIntensity?: number;
2310
2346
  aoExtent?: number;
@@ -2428,6 +2464,9 @@ export declare class DimensioningHelper {
2428
2464
  private readonly _widthLineGroup;
2429
2465
  private readonly _heightLineGroup;
2430
2466
  private readonly _depthLineGroup;
2467
+ private _widthLabel;
2468
+ private _heightLabel;
2469
+ private _depthLabel;
2431
2470
  private _enabled;
2432
2471
  private _dimensionsVisible;
2433
2472
  private _dimensionLineGroup;
@@ -2443,6 +2482,7 @@ export declare class DimensioningHelper {
2443
2482
  private _getLocalCameraPosition;
2444
2483
  private _getCameraDistanceInfo;
2445
2484
  private _visibilityChangedCallback;
2485
+ updateDimensionLabelVisibility(camera: Camera): void;
2446
2486
  update(force?: boolean): void;
2447
2487
  updateSize(boxForMeasurement: KernelCube): void;
2448
2488
  removeFromObject(object: Object3D): void;
@@ -2457,8 +2497,7 @@ export declare class DimensioningHelper {
2457
2497
  enableTopDimensions(): void;
2458
2498
  disableTopDimensions(): void;
2459
2499
  getBoundingBox(): Box3;
2460
- moveCameraStart(position: Vector3): void;
2461
- moveCameraEnd(position: Vector3): void;
2500
+ setCameraPosition(position: Vector3): void;
2462
2501
  private _performUpdate;
2463
2502
  private _clear;
2464
2503
  }
@@ -2615,6 +2654,11 @@ export declare interface Element_2 {
2615
2654
  perspectiveImage: AssetUrl;
2616
2655
  }
2617
2656
 
2657
+ export declare interface ElevationView {
2658
+ lineOfSight: KernelVector3f;
2659
+ objects: KernelPlanObject[];
2660
+ }
2661
+
2618
2662
  export declare class EmsArray<T> {
2619
2663
  get(index: number): T;
2620
2664
  push_back(element: T): void;
@@ -2891,6 +2935,13 @@ export declare interface ExternalObjectAPI {
2891
2935
  * @param options Options for loading the external object groups.
2892
2936
  */
2893
2937
  loadExternalObjectGroups(groupJson: ExternalGroupData, options: LoadExternalObjectOptions): Promise<LoadExternalObjectGroupResult[]>;
2938
+ /**
2939
+ * "loadExternalObjectGroupLayout" creates and loads a group of modules from an article layout.
2940
+ * @param articleLayoutJson The article layout JSON as object.
2941
+ * @param layoutType The article layout type. Only "nobila" is supported at the moment.
2942
+ * @param options Options for loading the external object group.
2943
+ */
2944
+ loadExternalObjectGroupLayout(articleLayoutJson: ExternalObjectGroupLayout, layoutType: string, options?: LoadExternalObjectOptions): Promise<LoadExternalObjectGroupResult[]>;
2894
2945
  /**
2895
2946
  * "updateExternalObjectGroupAttribute" modifies an attribute of a root module or sub module.
2896
2947
  * The attribute with the ID "attributeId" of the sub module with the ID "moduleId"
@@ -2983,7 +3034,7 @@ export declare interface ExternalObjectAPI {
2983
3034
  /**
2984
3035
  * "getExternalRoomInformation" returns the room information for currently loaded in the plan.
2985
3036
  */
2986
- getExternalRoomInformation(): Promise<ExternalRoomInformation>;
3037
+ getExternalRoomInformation(mode?: PlanRoomGeometryMode): Promise<ExternalRoomInformation>;
2987
3038
  /**
2988
3039
  * It generates a snapshot of the external object in the plan without saving any data.
2989
3040
  * By default, the snapshot includes order data, room information, the plan XML, GLBs of the complete scene,
@@ -3035,10 +3086,12 @@ export declare interface ExternalObjectDebugConfiguration {
3035
3086
  export declare interface ExternalObjectDockedContext {
3036
3087
  dockedRoots: ExternalObjectDockedRootModule[];
3037
3088
  ownDockingVector: string;
3089
+ ownDockingVectorIndex: number;
3038
3090
  }
3039
3091
 
3040
3092
  export declare interface ExternalObjectDockedRootModule {
3041
3093
  dockingVector: string;
3094
+ dockingVectorIndex: number;
3042
3095
  id: string;
3043
3096
  }
3044
3097
 
@@ -3051,6 +3104,41 @@ export declare interface ExternalObjectGroup {
3051
3104
  contextData?: ExternalObjectContextDataItem[];
3052
3105
  }
3053
3106
 
3107
+ export declare interface ExternalObjectGroupLayout {
3108
+ [key: string]: unknown;
3109
+ shapes?: ExternalObjectGroupLayoutShape[];
3110
+ }
3111
+
3112
+ export declare interface ExternalObjectGroupLayoutArticle {
3113
+ [key: string]: unknown;
3114
+ name?: string;
3115
+ position?: Partial<Position3>;
3116
+ rotation?: number | null;
3117
+ dimensions?: ExternalObjectGroupLayoutDimensions;
3118
+ hingeId?: string | null;
3119
+ constructionId?: string | null;
3120
+ }
3121
+
3122
+ export declare type ExternalObjectGroupLayoutAttributeValue = string | number | boolean;
3123
+
3124
+ export declare interface ExternalObjectGroupLayoutDimensions {
3125
+ [key: string]: ExternalObjectGroupLayoutAttributeValue | null | undefined;
3126
+ b?: ExternalObjectGroupLayoutAttributeValue | null;
3127
+ h?: ExternalObjectGroupLayoutAttributeValue | null;
3128
+ t?: ExternalObjectGroupLayoutAttributeValue | null;
3129
+ }
3130
+
3131
+ export declare interface ExternalObjectGroupLayoutShape {
3132
+ [key: string]: unknown;
3133
+ sides?: ExternalObjectGroupLayoutSide[];
3134
+ bespokeArticles?: ExternalObjectGroupLayoutArticle[];
3135
+ }
3136
+
3137
+ export declare interface ExternalObjectGroupLayoutSide {
3138
+ [key: string]: unknown;
3139
+ articles?: ExternalObjectGroupLayoutArticle[];
3140
+ }
3141
+
3054
3142
  export declare interface ExternalObjectLoadConfiguration {
3055
3143
  applyGlobalChildMode: boolean;
3056
3144
  correctArrangement: boolean;
@@ -3112,7 +3200,7 @@ export declare interface ExternalObjectSnapshotData {
3112
3200
  }
3113
3201
 
3114
3202
  export declare interface ExternalObjectSnapshotRequest {
3115
- orderData?: boolean;
3203
+ orderData?: boolean | PlanRoomGeometryMode;
3116
3204
  planXML?: boolean;
3117
3205
  objectGlb?: boolean;
3118
3206
  perspectiveImage?: boolean;
@@ -3184,7 +3272,7 @@ export declare class ExternalReference {
3184
3272
  export declare type ExternalResponseValidator = (type: 'rapi-access', response: Response) => Promise<boolean>;
3185
3273
 
3186
3274
  export declare interface ExternalRoomInformation {
3187
- rooms: PosContour[];
3275
+ rooms: PosRoom[];
3188
3276
  }
3189
3277
 
3190
3278
  export declare type ExternalTag = Partial<RapiTag> & Pick<RapiTag, 'label'> & {
@@ -3206,10 +3294,6 @@ export declare interface FeatureFlags {
3206
3294
  * @description Sets whether the snapping behavior of objects in the planner is initially enabled.
3207
3295
  */
3208
3296
  enableSnapping?: boolean;
3209
- /**
3210
- * @description If set to true we will not hide other items while configuring in the planner
3211
- */
3212
- configureInRoom?: boolean;
3213
3297
  /* Excluded from this release type: advancedDocking */
3214
3298
  /* Excluded from this release type: mergeOnInsert */
3215
3299
  /* Excluded from this release type: drawPreviewMode */
@@ -3308,6 +3392,11 @@ export declare class GeometryHelpLineArray extends EmsArray<GeometryHelpLine> {
3308
3392
 
3309
3393
  export declare const getCatalogIdFromConfigurationHash: (id: RapiId) => RapiId | null;
3310
3394
 
3395
+ export declare interface GetGroupDataForOrderOptions {
3396
+ roomlePlannerId?: string;
3397
+ mode?: PlanRoomGeometryMode;
3398
+ }
3399
+
3311
3400
  export declare interface GLBRenderWorkerListener {
3312
3401
  onStart(count: number): void;
3313
3402
  onElementFinished(finishedElements: number): void;
@@ -3495,6 +3584,7 @@ export declare interface GlueLogic {
3495
3584
  deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): Promise<void>;
3496
3585
  splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): Promise<void>;
3497
3586
  duplicateGroup(duplicatedGroup: ExternalObjectGroup): Promise<void>;
3587
+ adjustGroup(groupId: string): Promise<void>;
3498
3588
  swapRootModule(groupId: string, rootModuleId: string, articleId: string): Promise<void>;
3499
3589
  modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation_2[], attributeName: string, value: string): Promise<void>;
3500
3590
  updateAttribute(rootModuleId: string, moduleId: string | null, attributeId: string, attributeValue: string | boolean): Promise<void>;
@@ -3515,8 +3605,9 @@ export declare interface GlueLogic {
3515
3605
  getSaveDataGroups(): Promise<PosGroup[] | null>;
3516
3606
  getSubArticleId(id: string): string | undefined;
3517
3607
  newPosDataFromId(id: string): Promise<PosGroup | undefined>;
3608
+ newPosDataFromArticleLayout(articleLayoutJson: ExternalObjectGroupLayout, layoutType: string, posArticles?: PosArticle[]): Promise<PosGroup | undefined>;
3518
3609
  newPosDataFromGroup(posDataJson: PosGroup): Promise<PosGroup>;
3519
- getGroupDataForOrder(roomlePlannerId?: string): Promise<HiOrderData | null>;
3610
+ getGroupDataForOrder(options: GetGroupDataForOrderOptions): Promise<HiOrderData | null>;
3520
3611
  getMaterialUrl(materialId: string, groupOrModuleId?: string): string | null;
3521
3612
  }
3522
3613
 
@@ -3549,6 +3640,7 @@ export declare const HI_CONTEXT_ACTION: {
3549
3640
 
3550
3641
  export declare const HI_LOAD_OBJECT_REASON: {
3551
3642
  readonly ADD_SUBARTICLE: "add_subarticle";
3643
+ readonly ADJUSTED: "adjusted";
3552
3644
  readonly ARRANGED: "arranged";
3553
3645
  readonly CHANGE_ATTRIBUTE: "change_attribute";
3554
3646
  readonly CHANGE_META: "change_meta";
@@ -3828,6 +3920,7 @@ export declare class InitData implements Context, Omit<InitDataDefinition, 'colo
3828
3920
  lockPlan: boolean;
3829
3921
  readonly?: boolean;
3830
3922
  externalObjectSettings?: ExternalObjectApiConfiguration;
3923
+ plannerIsolationConfigurator?: boolean;
3831
3924
  /**
3832
3925
  * If true, the callbacks will only be called if the geometry is ready.
3833
3926
  * Before RML-8368 false was the default. For more info see there
@@ -4311,6 +4404,7 @@ export declare interface KernelParameter {
4311
4404
  viewType: KernelViewType;
4312
4405
  source: 'external' | 'internal';
4313
4406
  level?: number;
4407
+ objectIds: number[];
4314
4408
  }
4315
4409
 
4316
4410
  export declare interface KernelParameterGroup {
@@ -4523,10 +4617,12 @@ export declare interface LibraryData {
4523
4617
  libraryId: string;
4524
4618
  get masterData(): MasterData | null;
4525
4619
  get posGroupVersion(): number;
4620
+ initializePosGroup(posGroup: PosGroup): void;
4526
4621
  calculateGroup(posGroup: PosGroup): PosGroup;
4527
4622
  getOrderData(posGroup: PosGroup[], roomlePlannerId?: string, rooms?: PosContour[]): any;
4528
4623
  getAttributesDropDownValues(module: PosModuleData, attributeIds?: string | string[]): Promise<Record<string, HiAttributeOptionsResult>>;
4529
4624
  solveModuleAttributeConflict(module: PosModuleData, attributeName: string, value: string | number | boolean): PosModuleAttribute[] | undefined;
4625
+ groupAdjust(posGroup: PosGroup, articles: PosArticle[], roomInformation: PosRoom): PosGroup;
4530
4626
  getValidSubArticles(calculatedPosGroup: PosGroup, articles: PosArticle[], masterData: MasterData): PosArticle[];
4531
4627
  getValidContainerModulesForSubArticle(calculatedPosGroup: PosGroup, subArticle: PosArticle, masterData: MasterData): ExternalObjectValidContainerModules[];
4532
4628
  addSubArticle(targetPosGroup: PosGroup, article: PosArticle, rootId: string, parentModuleId: string, insertPosition?: number[]): PosGroup;
@@ -4551,7 +4647,8 @@ export declare class LightCache {
4551
4647
  activeLights: Map<string, Light>;
4552
4648
  maximumLights: number;
4553
4649
  private readonly _inactivePosition;
4554
- constructor(scene: Scene, maxAnisotropy: number);
4650
+ constructor(scene: Scene, renderer: WebGLRenderer | WebGPURenderer, maxAnisotropy: number);
4651
+ private registerWebGPULightNodes;
4555
4652
  allowedToSpawnMoreLights(): boolean;
4556
4653
  addActiveLight(light: Light): void;
4557
4654
  cacheLight(light: Light): void;
@@ -4752,6 +4849,12 @@ export declare interface MDModuleInfo {
4752
4849
  group?: string;
4753
4850
  imageUrl?: string;
4754
4851
  assignedAttributes: string[];
4852
+ allowedChildModules?: string[];
4853
+ isRoot?: boolean;
4854
+ isConfigDummy?: boolean;
4855
+ isDropContainer?: boolean;
4856
+ isGroupOrchestrator?: boolean;
4857
+ moduleType?: 'RootModule' | 'SubModule' | 'DropContainer' | 'GroupOrchestrator';
4755
4858
  }
4756
4859
 
4757
4860
  export declare interface MDNumberMinMaxAttributeSelection {
@@ -4937,6 +5040,12 @@ export declare abstract class Node_2 extends PlanElement {
4937
5040
  getMaxWallHeight(): number;
4938
5041
  }
4939
5042
 
5043
+ export declare interface NodeDimensionTransferable {
5044
+ id: number;
5045
+ position2d: Position2;
5046
+ zCoordinate: number;
5047
+ }
5048
+
4940
5049
  export declare class NodePlanElementViewModel extends PlanElementViewModel {
4941
5050
  private _nodeUiMesh;
4942
5051
  constructor(planObject: PlanObject);
@@ -5008,6 +5117,10 @@ export declare const enum OBJECT_EVENT {
5008
5117
  ROTATE = "rotate"
5009
5118
  }
5010
5119
 
5120
+ export declare interface ObjectCategory {
5121
+ value: Enumify<typeof CORE_OBJECT_CATEGORY>;
5122
+ }
5123
+
5011
5124
  export declare interface ObjectConfigurationType {
5012
5125
  value: Enumify<typeof CONFIGURATION_TYPE>;
5013
5126
  }
@@ -5064,6 +5177,11 @@ export declare interface OffsetCamera {
5064
5177
  export declare interface OrthographicOffsetCamera extends OrthographicCamera, OffsetCamera {
5065
5178
  }
5066
5179
 
5180
+ export declare interface OutlineColors {
5181
+ outlineVisibleEdgeColor: ColorRepresentation;
5182
+ outlineHiddenEdgeColor: ColorRepresentation;
5183
+ }
5184
+
5067
5185
  export declare interface OutlineCustomParameters {
5068
5186
  outlineVisibleEdgeColor: ColorRepresentation;
5069
5187
  outlineHiddenEdgeColor: ColorRepresentation;
@@ -5192,6 +5310,11 @@ export declare const PLAN_ELEMENT_CHANGE_TYPES: {
5192
5310
  readonly REMOVED: "removed";
5193
5311
  };
5194
5312
 
5313
+ export declare const PLAN_ROOM_GEOMETRY_MODE: {
5314
+ readonly FLOOR: "floor";
5315
+ readonly ROOM: "room";
5316
+ };
5317
+
5195
5318
  export declare abstract class PlanElement extends AbstractModelWrapper {
5196
5319
  isLocked: boolean;
5197
5320
  isValid: boolean;
@@ -5238,6 +5361,7 @@ export declare class PlanElementViewModel extends KernelViewModel {
5238
5361
  getMeasurementBounds(): Box3[];
5239
5362
  hasFixedZ(): boolean;
5240
5363
  getBoundingBox(): RoomleEventedMesh;
5364
+ recomputeBoundingBox(): void;
5241
5365
  getPlanElement(): PlanObject;
5242
5366
  setObject(object: RoomleEventedObject3D): void;
5243
5367
  getObject(): RoomleEventedObject3D;
@@ -5427,9 +5551,11 @@ export declare interface PlanModelViewHelper_2 {
5427
5551
  getExternalObjectComponent(plan: Plan_2, groupId: string, moduleId: string): KernelPlanObjectComponent;
5428
5552
  requestMesh3d(element: PlanElement_2): void;
5429
5553
  getExternalObjectGroups(plan: Plan_2): KernelObjectConfigurationArray;
5430
- getExternalRoomInformation(plan: Plan_2): RoomInformation;
5554
+ getExternalRoomInformation(plan: Plan_2, mode: PlanRoomGeometryMode_2): RoomInformation;
5555
+ getGroupedObjects(anObject: PlanObject): KernelPlanObject[];
5431
5556
  calculateLightSourceDistribution(plan: Plan_2, lightSourceConfiguration: LightSourceConfiguration): RoomLightSourceDistributionArray;
5432
5557
  getObjectSnapInformation(anObject: PlanObject, debugHelpLines: boolean): ObjectSnapInformation;
5558
+ getElevationViews(plan: Plan_2): ElevationView[];
5433
5559
  }
5434
5560
 
5435
5561
  export declare class Planner<P extends readonly PluginName[] = readonly []> extends Main {
@@ -5531,6 +5657,10 @@ export declare interface PlannerInitData {
5531
5657
  * - reduce initial spacing of camera (higher zoom)
5532
5658
  */
5533
5659
  moc?: boolean;
5660
+ /**
5661
+ * @description If set to true we will not hide other items while configuring in the planner
5662
+ */
5663
+ configureInRoom?: boolean;
5534
5664
  }
5535
5665
 
5536
5666
  export declare class PlannerKernelAccess extends ConfiguratorKernelAccess {
@@ -5786,6 +5916,7 @@ export declare class PlannerSceneEventHandler extends SceneEventHandler<SceneEve
5786
5916
  private _selectElement;
5787
5917
  private _handleSingleClick;
5788
5918
  private _isObjectOrSiblingSelected;
5919
+ private _toggleGroupSelection;
5789
5920
  getRootPlanObjectId(id: number): number;
5790
5921
  private _doubleClickElement;
5791
5922
  private _hoverOn;
@@ -5795,7 +5926,7 @@ export declare class PlannerSceneEventHandler extends SceneEventHandler<SceneEve
5795
5926
  private _isHoveredObjectNonDraggable;
5796
5927
  private _setCursor;
5797
5928
  setCamera(camera: Camera): void;
5798
- setObject(object: Object3D): void;
5929
+ setObject(object: Object3D, secondaryObject?: Object3D): void;
5799
5930
  getSelectedIds(): number[];
5800
5931
  setSelectionMode(selectionMode: SELECTION_MODE): void;
5801
5932
  setPlanViewModel(planViewModel: PlanViewModel): void;
@@ -5905,6 +6036,7 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
5905
6036
  private _getDragPosition;
5906
6037
  private _hideAllMeasurementsNodeOnElementChange;
5907
6038
  private _onSelectionChange;
6039
+ planObjectDependencyUpdated(planObjectId: number): void;
5908
6040
  private _onSelectionCancel;
5909
6041
  private _handleMeasurementLineDraggablePoints;
5910
6042
  resetConfiguratorContext(reason: CancelSelectionReasons): void;
@@ -6014,7 +6146,12 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6014
6146
  enableChildObjects(planElementViewModel: PlanElementViewModel): KernelObject | null;
6015
6147
  disableChildObjects(planElementViewModel: PlanElementViewModel): KernelObject | null;
6016
6148
  dragIn(dragEvent: DragEvent): void;
6017
- getPositionForDragEvent(dragEvent: DragEvent | TouchEvent): Vector3 | null;
6149
+ getPositionForDragEvent(dragEvent: DragEvent | TouchEvent | {
6150
+ clientX: number;
6151
+ clientY: number;
6152
+ }): Vector3 | null;
6153
+ getPositionForLastPointer(): Vector3 | null;
6154
+ isPointerUp(): boolean;
6018
6155
  getPlannerSceneEventHandler(): PlannerSceneEventHandler;
6019
6156
  disablePlannerEvents(): void;
6020
6157
  enablePlannerEvents(): void;
@@ -6102,13 +6239,15 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6102
6239
  setObjectToWallMeasurementLength(planElementId: number, measurementId: number, length: number): void;
6103
6240
  setWallMeasurementLength(measurementId: number, length: number, wallDirection: EMSConstant): void;
6104
6241
  setMeasurementLineLength(measurementId: number, length: number, wallDirection: string): void;
6105
- protected setEventHandlerObject(object: Object3D): void;
6242
+ setNodeZCoordinate(nodeId: number, z: number): void;
6243
+ protected setEventHandlerObject(object: Object3D, secondaryObject?: Object3D): void;
6106
6244
  protected _readyForRender(): void;
6107
6245
  protected notifyPlannerOnComponentSelectionCancel(isExternalObject: boolean, reason: CancelSelectionReasons): void;
6108
6246
  private _externalPlanObjectSelectionChanged;
6109
6247
  highlightExternalObject(planObjectComponent: KernelPlanObjectComponent): void;
6110
6248
  private _selectExternalObjectComponent;
6111
6249
  getSelectedPlanObjectComponent(): KernelPlanObjectComponent | null;
6250
+ switchConfiguratorObject(clickedComponentId: number): Promise<void>;
6112
6251
  selectObjectComponent(planObjectComponent: KernelPlanObjectComponent, switchToConfigurator: boolean, selectComponent: boolean): Promise<void>;
6113
6252
  _swapObjectInConfigurator(planObjectComponent: KernelPlanObjectComponent): Promise<void>;
6114
6253
  getObjectComponent(id: number, typeOfId: Enumify_3<typeof CORE_TYPE_OF_CORE_ID>): KernelPlanObjectComponent | null;
@@ -6142,12 +6281,14 @@ export declare interface PlanObject extends PlanElement_2 {
6142
6281
  boxForMeasurement: KernelCube;
6143
6282
  measurementBounds: KernelAssembledObjectBounds;
6144
6283
  hasConfiguration(): boolean;
6284
+ isAdjustable(): boolean;
6145
6285
  isExternalObject(): boolean;
6146
6286
  retrieveConfigurationId(): ConfigurationUniqueIdAndHash;
6147
6287
  getConfiguration(): string;
6148
6288
  getCatalogItemId(): string;
6149
6289
  getConfigurationRuntimeId(): number;
6150
6290
  getObjectType(): string;
6291
+ getObjectCategory(): ObjectCategory;
6151
6292
  getWallDistances(): ObjectToWallLineArray;
6152
6293
  getRectangle(): Rectangle;
6153
6294
  getRotationToPreferredFront(): ObjectFrontRotation;
@@ -6229,6 +6370,12 @@ export declare interface PlanOverview {
6229
6370
  rooms: PlanElement_2[];
6230
6371
  }
6231
6372
 
6373
+ export declare type PlanRoomGeometryMode = (typeof PLAN_ROOM_GEOMETRY_MODE)[keyof typeof PLAN_ROOM_GEOMETRY_MODE];
6374
+
6375
+ export declare interface PlanRoomGeometryMode_2 {
6376
+ value: Enumify<typeof CORE_PLAN_ROOM_GEOMETRY_MODE>;
6377
+ }
6378
+
6232
6379
  export declare abstract class PlanText extends PlanElement {
6233
6380
  getText(): string;
6234
6381
  }
@@ -6358,6 +6505,7 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6358
6505
  endPlanConstruction(_plan: Plan_2): void;
6359
6506
  planElementChanged(_plan: Plan_2, _planObject: PlanElementViewModel): void;
6360
6507
  planObjectConfigurationLoaded(_plan: Plan_2, planElement: PlanElement_2, success: boolean): void;
6508
+ recomputeConfigurableBoundingBoxes(): void;
6361
6509
  planObjectConfigurationChanged(_plan: Plan_2, _element: PlanElementViewModel): void;
6362
6510
  addMesh(planElement: PlanElement_2, material: any, vertices: Float32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array): void;
6363
6511
  removePlanObjectFromScene(planElementViewModel: PlanElementViewModel | undefined): void;
@@ -6483,12 +6631,14 @@ export declare const enum PosDock {
6483
6631
 
6484
6632
  export declare interface PosDockedContext {
6485
6633
  ownDockingVector: PosDock | string;
6634
+ ownDockingVectorIndex: number;
6486
6635
  dockedRoots: PosDockedContextRoot[];
6487
6636
  }
6488
6637
 
6489
6638
  export declare interface PosDockedContextRoot {
6490
6639
  id: string;
6491
6640
  dockingVector: PosDock | string;
6641
+ dockingVectorIndex: number;
6492
6642
  }
6493
6643
 
6494
6644
  export declare interface PosDockInfo {
@@ -6557,6 +6707,10 @@ export declare interface PosGroup {
6557
6707
  * The version used for this data structure
6558
6708
  */
6559
6709
  ver?: number;
6710
+ /**
6711
+ * Optional the attributes of this group
6712
+ */
6713
+ attributes?: PosModuleAttribute[];
6560
6714
  }
6561
6715
 
6562
6716
  export declare interface PosInsertLevelInfo {
@@ -6643,6 +6797,10 @@ export declare interface PosPositionInfo extends PosArticleInfo {
6643
6797
  additionalText?: string;
6644
6798
  }
6645
6799
 
6800
+ export declare interface PosRoom {
6801
+ levels: PosContour[];
6802
+ }
6803
+
6646
6804
  export declare interface PosSaveData {
6647
6805
  groups: PosGroup[];
6648
6806
  roomlePlannerId?: string;
@@ -6852,6 +7010,7 @@ export declare class RapiAccess implements Context {
6852
7010
  constructor(creator: string);
6853
7011
  setConfiguratorSettings(): Promise<void>;
6854
7012
  getTenantId(): Promise<number>;
7013
+ getCurrentTenantId(fallbackTenantId?: number | null): Promise<CurrentTenantId>;
6855
7014
  getPreloadForItem(id: RapiId): Promise<void>;
6856
7015
  getPreloadForConfiguration(id: RapiId): Promise<void>;
6857
7016
  private _getPreload;
@@ -7443,6 +7602,7 @@ export declare type RayCasterObjectFilter = (object3d: Object3D) => boolean;
7443
7602
  export declare class RaycastHelper extends EventDispatcher<Record<RAYCAST_EVENT, SceneEventInfo>> {
7444
7603
  private _mode;
7445
7604
  private _object;
7605
+ private _secondaryObject?;
7446
7606
  private _camera;
7447
7607
  private _inputManager;
7448
7608
  private _raycaster;
@@ -7485,7 +7645,7 @@ export declare class RaycastHelper extends EventDispatcher<Record<RAYCAST_EVENT,
7485
7645
  enableDragIn(mesh: RoomleEventedMesh): void;
7486
7646
  setRootComponentId(rootComponentId: number): void;
7487
7647
  setCamera(camera: Camera): void;
7488
- setObject(object: Object3D): void;
7648
+ setObject(object: Object3D, secondaryObject?: Object3D): void;
7489
7649
  setMode(mode: INTERSECTION_MODE): void;
7490
7650
  intersectMouseOnScene(event: Pick<PointerInputEvent, 'positionRelative'>): KernelVector3 | null;
7491
7651
  enableOnWallSnapping(): void;
@@ -7542,7 +7702,7 @@ export declare class RoomDesignerApi implements RoomDesignerRequests {
7542
7702
  deleteGroup(groupId: string): void;
7543
7703
  deleteRootModule(rootModuleId: string): void;
7544
7704
  getPosDataOfAllGroups(): Promise<PosGroup[]>;
7545
- getRoomInformation(): Promise<ExternalRoomInformation>;
7705
+ getRoomInformation(mode?: PlanRoomGeometryMode): Promise<ExternalRoomInformation>;
7546
7706
  saveExternalObjectSnapshot(): Promise<ExternalObjectSnapshotSaveResult | null>;
7547
7707
  saveCurrentPlanSnapshot(): Promise<RapiPlanSnapshotGetData>;
7548
7708
  renderPosDataImage(posDataJson: object): Promise<void>;
@@ -7559,7 +7719,7 @@ export declare interface RoomDesignerRequests {
7559
7719
  deleteGroup(groupId: string): void;
7560
7720
  deleteRootModule(rootModuleId: string): void;
7561
7721
  getPosDataOfAllGroups(): Promise<PosGroup[]>;
7562
- getRoomInformation(): Promise<ExternalRoomInformation>;
7722
+ getRoomInformation(mode?: PlanRoomGeometryMode): Promise<ExternalRoomInformation>;
7563
7723
  saveExternalObjectSnapshot(): Promise<ExternalObjectSnapshotSaveResult | null>;
7564
7724
  }
7565
7725
 
@@ -7567,9 +7727,16 @@ export declare class RoomGeometryArray extends EmsArray<PosContour> {
7567
7727
  }
7568
7728
 
7569
7729
  export declare interface RoomInformation {
7730
+ rooms: RoomInformationRoomArray;
7731
+ }
7732
+
7733
+ export declare interface RoomInformationRoom {
7570
7734
  rooms: RoomGeometryArray;
7571
7735
  }
7572
7736
 
7737
+ export declare class RoomInformationRoomArray extends EmsArray<RoomInformationRoom> {
7738
+ }
7739
+
7573
7740
  /**
7574
7741
  * Colors can be set as hex value, eg 0x00ff00 or as official HTML color name: https://www.w3schools.com/colors/colors_names.asp
7575
7742
  */
@@ -8728,6 +8895,11 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8728
8895
  * @param itemList Array of PlanObjects
8729
8896
  */
8730
8897
  mergeItems(itemList: PlanObject[]): void;
8898
+ /**
8899
+ * Adjust plan object to planning situation
8900
+ * @param item PlanObject
8901
+ */
8902
+ adjustItem(item: PlanObject): Promise<void>;
8731
8903
  getScene(): Scene;
8732
8904
  getSceneManager(): PlannerSceneManager;
8733
8905
  updateScene(): void;
@@ -8772,7 +8944,10 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8772
8944
  */
8773
8945
  disableMultiselect(): void;
8774
8946
  private _insertExternalObject;
8775
- dragInObject(idOrSerializedConfigString: string, dragEvent: DragEvent, type?: ID_TYPE): Promise<RuntimeId>;
8947
+ dragInObject(idOrSerializedConfigString: string, dragEvent: DragEvent, type?: ID_TYPE, pointerPosition?: {
8948
+ clientX: number;
8949
+ clientY: number;
8950
+ }): Promise<RuntimeId>;
8776
8951
  /**
8777
8952
  * Will remove an element that was dragged into the scene while still dragging it.
8778
8953
  * This is mainly used in the context of pressing ESC while dragging or dragging the element away from the scene again.
@@ -8917,6 +9092,7 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8917
9092
  setObjectToWallMeasurementLength(planElementId: number, measurementId: number, length: number): void;
8918
9093
  setWallMeasurementLength(measurementId: number, length: number, wallDirection: EMSConstant): void;
8919
9094
  setMeasurementLineLength(measurementId: number, length: number, wallDirection: string): void;
9095
+ setNodeZCoordinate(nodeId: number, z: number): void;
8920
9096
  escapeDrawing(cancelDrawing: boolean): void;
8921
9097
  isCurrentlyDrawing(): boolean;
8922
9098
  /**
@@ -8936,6 +9112,7 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8936
9112
  getInitialExternalObjectGroup(): Promise<PosGroup | null>;
8937
9113
  loadNewExternalObjectInIsolation(groupObject: object): Promise<LoadExternalObjectGroupResult[]>;
8938
9114
  loadExternalObjectGroups(groupData: ExternalGroupData, options?: LoadExternalObjectOptions): Promise<LoadExternalObjectGroupResult[]>;
9115
+ loadExternalObjectGroupLayout(articleLayoutJson: ExternalObjectGroupLayout, layoutType: string, options?: LoadExternalObjectOptions): Promise<LoadExternalObjectGroupResult[]>;
8939
9116
  private _loadExternalObjectGroup;
8940
9117
  private _loadExternalObjectGroupInConfigurator;
8941
9118
  private _loadExternalObjectGroupInPlanner;
@@ -8961,7 +9138,7 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8961
9138
  openOrCloseGeometryOfExternalObject(groupIdOrRootModuleId: string, _subModuleId: string | null, open: boolean, animate: boolean): void;
8962
9139
  _selectExternalObjectGroup(groupId: string, switchToPlanner: boolean): Promise<void>;
8963
9140
  getExternalObjectGroups(): Promise<object[]>;
8964
- getExternalRoomInformation(): Promise<ExternalRoomInformation>;
9141
+ getExternalRoomInformation(mode?: PlanRoomGeometryMode): Promise<ExternalRoomInformation>;
8965
9142
  /**
8966
9143
  * Highlights a product in the planner.
8967
9144
  * @param planElementId The ID of the plan element to highlight.
@@ -9085,7 +9262,7 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
9085
9262
  * @param orderHeader optional order header information
9086
9263
  */
9087
9264
  fetchPrice(planId?: string, orderHeader?: HiOrderHeader): Promise<any>;
9088
- getOrderManagerGroupData(planId?: string): Promise<HiOrderData | null | undefined>;
9265
+ getOrderManagerGroupData(options?: GetGroupDataForOrderOptions): Promise<HiOrderData | null | undefined>;
9089
9266
  getRapiAccess(): RapiAccess;
9090
9267
  getElementOpenCloseAnimation(planElement: PlanElementViewModel, componentIds?: number[]): AnimationKeyAndValue | null;
9091
9268
  /**
@@ -9179,6 +9356,12 @@ export declare class RoomlePlannerUiCallback extends UiCallback implements Exter
9179
9356
  * @param wallDimensions
9180
9357
  */
9181
9358
  onUpdateWallDimensions: (wallDimensions: WallDimensionTransferable[]) => void;
9359
+ /**
9360
+ * This function gets called when the camera is no longer moving
9361
+ * and the position of node dimensions can be calculated
9362
+ * @param nodeDimensions
9363
+ */
9364
+ onUpdateNodeDimensions: (nodeDimensions: NodeDimensionTransferable[]) => void;
9182
9365
  /**
9183
9366
  * This function gets called when the camera is no longer moving
9184
9367
  * and the position of the measurement line dimensions can be calculated
@@ -9383,10 +9566,9 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
9383
9566
  private readonly guiParameterGroups;
9384
9567
  private lastRenderCamera;
9385
9568
  private _domHelper;
9386
- constructor(creator: string, renderer: WebGPURenderer, enableSSGI: boolean, outlineColors?: {
9387
- outlineVisibleEdgeColor: ColorRepresentation;
9388
- outlineHiddenEdgeColor: ColorRepresentation;
9389
- });
9569
+ private _webGpuGroundShadow;
9570
+ constructor(creator: string, renderer: WebGPURenderer, enableSSGI: boolean, outlineColors?: OutlineColors);
9571
+ private enableRenderPasses;
9390
9572
  addGroundShadowLightAndFloor(scene: Scene): void;
9391
9573
  private addRenderPass;
9392
9574
  clearCache(): void;
@@ -9394,6 +9576,7 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
9394
9576
  enableUiInteractionMode(): void;
9395
9577
  getQualityLevel(): QualityLevel;
9396
9578
  setCameraType(cameraType: Enumify_3<typeof CAMERA_TYPE>): void;
9579
+ switchToConfigurator(): void;
9397
9580
  switchToPlanner(renderMode: PlannerRenderMode): void;
9398
9581
  highlightObjects(selectedMeshes: Object3D[]): void;
9399
9582
  loadLutImages(_luts: LutImageDefinition[]): void;
@@ -9403,16 +9586,18 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
9403
9586
  setAutoQuality(_autoQuality: boolean): void;
9404
9587
  setCustomShadingParameters(_customShadingParameters: CustomShadingParameters | undefined, _customShadingParametersMoc: CustomShadingParameters | undefined): void;
9405
9588
  setCustomOutlineParameters(customOutlineParameters: OutlineCustomParameters): void;
9406
- setGroundShadow(enabled: boolean, scene: Scene): void;
9589
+ setGroundShadow(enabled: boolean, _scene: Scene): void;
9407
9590
  setOnQualityLevelChangeCallback(_callback: (qualityLevel: QualityLevel) => void): void;
9408
9591
  private enableOutline;
9409
9592
  private getOutlinePassOrUndefined;
9410
9593
  private enableSsgiPass;
9594
+ private enableTraaPass;
9411
9595
  setQualityLevel(_qualityLevel: QualityLevel): void;
9412
9596
  setQualityMap(_qualityMap: QualityMap): void;
9413
- setShadingType(_shadingType: SceneShadingType): void;
9597
+ setShadingType(shadingType: SceneShadingType): void;
9414
9598
  showGUI(updateCallback: () => void): void;
9415
9599
  private addDebugGUI;
9600
+ private addToneMappingSettings;
9416
9601
  getOrCreateGUIParameters(name: string): ParametersGroup;
9417
9602
  private createAndCacheGUIParameters;
9418
9603
  }
@@ -9549,6 +9734,7 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9549
9734
  protected _stopRendering: boolean;
9550
9735
  protected _roomleRenderer: GenericRoomleRenderer | null;
9551
9736
  private _roomleRendererReady;
9737
+ private _isDebugGUIInitialized;
9552
9738
  private _forceRender;
9553
9739
  private _lastChange;
9554
9740
  private _running;