@roomle/web-sdk 3.8.0 → 3.9.0-alpha.2

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-CbHAzwVm.mjs → api-s0Yey2rD.mjs} +12 -12
  10. package/lib/api-s0Yey2rD.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-DmcHgmpq.mjs} +44 -38
  18. package/lib/component-dimensioning-DmcHgmpq.mjs.map +1 -0
  19. package/lib/{component-raycast-helper-Bl0mWPcj.mjs → component-raycast-helper-cJxdYLXm.mjs} +28 -28
  20. package/lib/{component-raycast-helper-Bl0mWPcj.mjs.map → component-raycast-helper-cJxdYLXm.mjs.map} +1 -1
  21. package/lib/configurator-CC0uDa2i.mjs +2 -0
  22. package/lib/configurator-CxsFgHxg.mjs +45 -0
  23. package/lib/{configurator-CP80d0HI.mjs.map → configurator-CxsFgHxg.mjs.map} +1 -1
  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-DyHnMYi0.mjs +2 -0
  32. package/lib/{glb-viewer-B7pA8K_w.mjs → glb-viewer-I86nXb0A.mjs} +69 -69
  33. package/lib/{glb-viewer-B7pA8K_w.mjs.map → glb-viewer-I86nXb0A.mjs.map} +1 -1
  34. package/lib/{highlight-coordinator-DeB46jQq.mjs → highlight-coordinator-DvgAfvb2.mjs} +3 -3
  35. package/lib/{highlight-coordinator-DeB46jQq.mjs.map → highlight-coordinator-DvgAfvb2.mjs.map} +1 -1
  36. package/lib/{homag-intelligence-f1JD0An1.mjs → homag-intelligence-Bt--x6_f.mjs} +23 -9
  37. package/lib/homag-intelligence-Bt--x6_f.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-CuqGqemT.mjs → main-DeOPstVA.mjs} +37244 -3141
  46. package/lib/main-DeOPstVA.mjs.map +1 -0
  47. package/lib/{material-viewer-Cij9aWpI.mjs → material-viewer-D8Qdq6-m.mjs} +55 -55
  48. package/lib/material-viewer-D8Qdq6-m.mjs.map +1 -0
  49. package/lib/packages-eckwotTn.mjs +4 -0
  50. package/lib/{planner-DKbmQVSf.mjs → planner-BWZr-Th2.mjs} +14 -14
  51. package/lib/{planner-DKbmQVSf.mjs.map → planner-BWZr-Th2.mjs.map} +1 -1
  52. package/lib/planner-D3jvWraY.mjs +2 -0
  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 +279 -38
  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 +279 -38
  62. package/lib/roomle-sdk.js +8 -7
  63. package/lib/{roomle-webgpu-renderer-BdCItfH1.mjs → roomle-webgpu-renderer-Cs4eLEwf.mjs} +690 -280
  64. package/lib/roomle-webgpu-renderer-Cs4eLEwf.mjs.map +1 -0
  65. package/lib/{scene-renderer-Bdl7umAf.mjs → scene-renderer-4zk6BXsR.mjs} +228 -228
  66. package/lib/{scene-renderer-Bdl7umAf.mjs.map → scene-renderer-4zk6BXsR.mjs.map} +1 -1
  67. package/lib/{script-loader-BtWHegD-.mjs → script-loader-DSL6zJat.mjs} +9 -9
  68. package/lib/{script-loader-BtWHegD-.mjs.map → script-loader-DSL6zJat.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 +37 -3
  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-DyRFKnMs.mjs} +3 -3
  81. package/lib/{stats-helper-BvDfWWfq.mjs.map → stats-helper-DyRFKnMs.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-fEhH05zP.mjs} +103 -87
  90. package/lib/threejs-utils-fEhH05zP.mjs.map +1 -0
  91. package/lib/{tools-core-BoxckhTR.mjs → tools-core-Bf4_WCg8.mjs} +5 -5
  92. package/lib/{tools-core-BoxckhTR.mjs.map → tools-core-Bf4_WCg8.mjs.map} +1 -1
  93. package/package.json +5 -2
  94. package/lib/api-CbHAzwVm.mjs.map +0 -1
  95. package/lib/component-dimensioning-LUnZnpqG.mjs.map +0 -1
  96. package/lib/configurator-BmJX0gB5.mjs +0 -2
  97. package/lib/configurator-CP80d0HI.mjs +0 -45
  98. package/lib/dimensioning-helper-5xsc6I7Y.mjs +0 -2
  99. package/lib/dimensioning-helper-vPhGfHd-.mjs.map +0 -1
  100. package/lib/glb-viewer-XFEP993c.mjs +0 -2
  101. package/lib/homag-intelligence-f1JD0An1.mjs.map +0 -1
  102. package/lib/kernel-utils-BG1uqfT_.mjs.map +0 -1
  103. package/lib/main-CuqGqemT.mjs.map +0 -1
  104. package/lib/material-viewer-Cij9aWpI.mjs.map +0 -1
  105. package/lib/packages-DALvuVA_.mjs +0 -4
  106. package/lib/planner-CVn2Lls0.mjs +0 -2
  107. package/lib/roomle-webgpu-renderer-BdCItfH1.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;
@@ -2296,6 +2327,7 @@ export declare class CSS2DRendererManager implements Context {
2296
2327
  initializeRenderer(width: number, height: number): void;
2297
2328
  setSize(width: number, height: number): void;
2298
2329
  setDimensioningHelper(dimensioningHelper: DimensioningHelper): void;
2330
+ setCameraMoving(moving: boolean): void;
2299
2331
  renderSnapshotToCanvasWithAspectRatio(scene: Scene, camera: Camera, aspectRatio: number): Promise<HTMLCanvasElement>;
2300
2332
  private getCanvasDimensionsForAspectRatio;
2301
2333
  renderSnapshotToCanvas(scene: Scene, camera: Camera): Promise<HTMLCanvasElement>;
@@ -2304,6 +2336,11 @@ export declare class CSS2DRendererManager implements Context {
2304
2336
  private injectStyles;
2305
2337
  }
2306
2338
 
2339
+ export declare interface CurrentTenantId {
2340
+ tenantId: number | string | null;
2341
+ fallbackTenantId: number | null;
2342
+ }
2343
+
2307
2344
  export declare interface CustomShadingParameters {
2308
2345
  aoIntensity?: number;
2309
2346
  aoExtent?: number;
@@ -2427,6 +2464,9 @@ export declare class DimensioningHelper {
2427
2464
  private readonly _widthLineGroup;
2428
2465
  private readonly _heightLineGroup;
2429
2466
  private readonly _depthLineGroup;
2467
+ private _widthLabel;
2468
+ private _heightLabel;
2469
+ private _depthLabel;
2430
2470
  private _enabled;
2431
2471
  private _dimensionsVisible;
2432
2472
  private _dimensionLineGroup;
@@ -2442,6 +2482,7 @@ export declare class DimensioningHelper {
2442
2482
  private _getLocalCameraPosition;
2443
2483
  private _getCameraDistanceInfo;
2444
2484
  private _visibilityChangedCallback;
2485
+ updateDimensionLabelVisibility(camera: Camera): void;
2445
2486
  update(force?: boolean): void;
2446
2487
  updateSize(boxForMeasurement: KernelCube): void;
2447
2488
  removeFromObject(object: Object3D): void;
@@ -2456,8 +2497,7 @@ export declare class DimensioningHelper {
2456
2497
  enableTopDimensions(): void;
2457
2498
  disableTopDimensions(): void;
2458
2499
  getBoundingBox(): Box3;
2459
- moveCameraStart(position: Vector3): void;
2460
- moveCameraEnd(position: Vector3): void;
2500
+ setCameraPosition(position: Vector3): void;
2461
2501
  private _performUpdate;
2462
2502
  private _clear;
2463
2503
  }
@@ -2614,6 +2654,11 @@ export declare interface Element_2 {
2614
2654
  perspectiveImage: AssetUrl;
2615
2655
  }
2616
2656
 
2657
+ export declare interface ElevationView {
2658
+ lineOfSight: KernelVector3f;
2659
+ objects: KernelPlanObject[];
2660
+ }
2661
+
2617
2662
  export declare class EmsArray<T> {
2618
2663
  get(index: number): T;
2619
2664
  push_back(element: T): void;
@@ -2890,6 +2935,13 @@ export declare interface ExternalObjectAPI {
2890
2935
  * @param options Options for loading the external object groups.
2891
2936
  */
2892
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[]>;
2893
2945
  /**
2894
2946
  * "updateExternalObjectGroupAttribute" modifies an attribute of a root module or sub module.
2895
2947
  * The attribute with the ID "attributeId" of the sub module with the ID "moduleId"
@@ -2982,7 +3034,7 @@ export declare interface ExternalObjectAPI {
2982
3034
  /**
2983
3035
  * "getExternalRoomInformation" returns the room information for currently loaded in the plan.
2984
3036
  */
2985
- getExternalRoomInformation(): Promise<ExternalRoomInformation>;
3037
+ getExternalRoomInformation(mode?: PlanRoomGeometryMode): Promise<ExternalRoomInformation>;
2986
3038
  /**
2987
3039
  * It generates a snapshot of the external object in the plan without saving any data.
2988
3040
  * By default, the snapshot includes order data, room information, the plan XML, GLBs of the complete scene,
@@ -3034,10 +3086,12 @@ export declare interface ExternalObjectDebugConfiguration {
3034
3086
  export declare interface ExternalObjectDockedContext {
3035
3087
  dockedRoots: ExternalObjectDockedRootModule[];
3036
3088
  ownDockingVector: string;
3089
+ ownDockingVectorIndex: number;
3037
3090
  }
3038
3091
 
3039
3092
  export declare interface ExternalObjectDockedRootModule {
3040
3093
  dockingVector: string;
3094
+ dockingVectorIndex: number;
3041
3095
  id: string;
3042
3096
  }
3043
3097
 
@@ -3050,6 +3104,41 @@ export declare interface ExternalObjectGroup {
3050
3104
  contextData?: ExternalObjectContextDataItem[];
3051
3105
  }
3052
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
+
3053
3142
  export declare interface ExternalObjectLoadConfiguration {
3054
3143
  applyGlobalChildMode: boolean;
3055
3144
  correctArrangement: boolean;
@@ -3111,7 +3200,7 @@ export declare interface ExternalObjectSnapshotData {
3111
3200
  }
3112
3201
 
3113
3202
  export declare interface ExternalObjectSnapshotRequest {
3114
- orderData?: boolean;
3203
+ orderData?: boolean | PlanRoomGeometryMode;
3115
3204
  planXML?: boolean;
3116
3205
  objectGlb?: boolean;
3117
3206
  perspectiveImage?: boolean;
@@ -3126,10 +3215,10 @@ export declare interface ExternalObjectSnapshotSaveResult {
3126
3215
  perspectiveImageLink: string;
3127
3216
  topImageLink: string;
3128
3217
  fullPlanGlbLink: string;
3129
- perspectiveObjectImageLink: string;
3130
- topObjectImageLink: string;
3131
- objectGlbLink: string;
3132
- glb: string;
3218
+ perspectiveObjectImageLink?: string;
3219
+ topObjectImageLink?: string;
3220
+ objectGlbLink?: string;
3221
+ glb?: string;
3133
3222
  }
3134
3223
 
3135
3224
  export declare interface ExternalObjectUiCallback {
@@ -3183,7 +3272,7 @@ export declare class ExternalReference {
3183
3272
  export declare type ExternalResponseValidator = (type: 'rapi-access', response: Response) => Promise<boolean>;
3184
3273
 
3185
3274
  export declare interface ExternalRoomInformation {
3186
- rooms: PosContour[];
3275
+ rooms: PosRoom[];
3187
3276
  }
3188
3277
 
3189
3278
  export declare type ExternalTag = Partial<RapiTag> & Pick<RapiTag, 'label'> & {
@@ -3307,6 +3396,11 @@ export declare class GeometryHelpLineArray extends EmsArray<GeometryHelpLine> {
3307
3396
 
3308
3397
  export declare const getCatalogIdFromConfigurationHash: (id: RapiId) => RapiId | null;
3309
3398
 
3399
+ export declare interface GetGroupDataForOrderOptions {
3400
+ roomlePlannerId?: string;
3401
+ mode?: PlanRoomGeometryMode;
3402
+ }
3403
+
3310
3404
  export declare interface GLBRenderWorkerListener {
3311
3405
  onStart(count: number): void;
3312
3406
  onElementFinished(finishedElements: number): void;
@@ -3494,6 +3588,7 @@ export declare interface GlueLogic {
3494
3588
  deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): Promise<void>;
3495
3589
  splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): Promise<void>;
3496
3590
  duplicateGroup(duplicatedGroup: ExternalObjectGroup): Promise<void>;
3591
+ adjustGroup(groupId: string): Promise<void>;
3497
3592
  swapRootModule(groupId: string, rootModuleId: string, articleId: string): Promise<void>;
3498
3593
  modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation_2[], attributeName: string, value: string): Promise<void>;
3499
3594
  updateAttribute(rootModuleId: string, moduleId: string | null, attributeId: string, attributeValue: string | boolean): Promise<void>;
@@ -3514,8 +3609,9 @@ export declare interface GlueLogic {
3514
3609
  getSaveDataGroups(): Promise<PosGroup[] | null>;
3515
3610
  getSubArticleId(id: string): string | undefined;
3516
3611
  newPosDataFromId(id: string): Promise<PosGroup | undefined>;
3612
+ newPosDataFromArticleLayout(articleLayoutJson: ExternalObjectGroupLayout, layoutType: string, posArticles?: PosArticle[]): Promise<PosGroup | undefined>;
3517
3613
  newPosDataFromGroup(posDataJson: PosGroup): Promise<PosGroup>;
3518
- getGroupDataForOrder(roomlePlannerId?: string): Promise<HiOrderData | null>;
3614
+ getGroupDataForOrder(options: GetGroupDataForOrderOptions): Promise<HiOrderData | null>;
3519
3615
  getMaterialUrl(materialId: string, groupOrModuleId?: string): string | null;
3520
3616
  }
3521
3617
 
@@ -3548,6 +3644,7 @@ export declare const HI_CONTEXT_ACTION: {
3548
3644
 
3549
3645
  export declare const HI_LOAD_OBJECT_REASON: {
3550
3646
  readonly ADD_SUBARTICLE: "add_subarticle";
3647
+ readonly ADJUSTED: "adjusted";
3551
3648
  readonly ARRANGED: "arranged";
3552
3649
  readonly CHANGE_ATTRIBUTE: "change_attribute";
3553
3650
  readonly CHANGE_META: "change_meta";
@@ -3827,6 +3924,7 @@ export declare class InitData implements Context, Omit<InitDataDefinition, 'colo
3827
3924
  lockPlan: boolean;
3828
3925
  readonly?: boolean;
3829
3926
  externalObjectSettings?: ExternalObjectApiConfiguration;
3927
+ plannerIsolationConfigurator?: boolean;
3830
3928
  /**
3831
3929
  * If true, the callbacks will only be called if the geometry is ready.
3832
3930
  * Before RML-8368 false was the default. For more info see there
@@ -4310,6 +4408,7 @@ export declare interface KernelParameter {
4310
4408
  viewType: KernelViewType;
4311
4409
  source: 'external' | 'internal';
4312
4410
  level?: number;
4411
+ objectIds: number[];
4313
4412
  }
4314
4413
 
4315
4414
  export declare interface KernelParameterGroup {
@@ -4522,10 +4621,12 @@ export declare interface LibraryData {
4522
4621
  libraryId: string;
4523
4622
  get masterData(): MasterData | null;
4524
4623
  get posGroupVersion(): number;
4624
+ initializePosGroup(posGroup: PosGroup): void;
4525
4625
  calculateGroup(posGroup: PosGroup): PosGroup;
4526
4626
  getOrderData(posGroup: PosGroup[], roomlePlannerId?: string, rooms?: PosContour[]): any;
4527
4627
  getAttributesDropDownValues(module: PosModuleData, attributeIds?: string | string[]): Promise<Record<string, HiAttributeOptionsResult>>;
4528
4628
  solveModuleAttributeConflict(module: PosModuleData, attributeName: string, value: string | number | boolean): PosModuleAttribute[] | undefined;
4629
+ groupAdjust(posGroup: PosGroup, articles: PosArticle[], roomInformation: PosRoom): PosGroup;
4529
4630
  getValidSubArticles(calculatedPosGroup: PosGroup, articles: PosArticle[], masterData: MasterData): PosArticle[];
4530
4631
  getValidContainerModulesForSubArticle(calculatedPosGroup: PosGroup, subArticle: PosArticle, masterData: MasterData): ExternalObjectValidContainerModules[];
4531
4632
  addSubArticle(targetPosGroup: PosGroup, article: PosArticle, rootId: string, parentModuleId: string, insertPosition?: number[]): PosGroup;
@@ -4550,7 +4651,8 @@ export declare class LightCache {
4550
4651
  activeLights: Map<string, Light>;
4551
4652
  maximumLights: number;
4552
4653
  private readonly _inactivePosition;
4553
- constructor(scene: Scene, maxAnisotropy: number);
4654
+ constructor(scene: Scene, renderer: WebGLRenderer | WebGPURenderer, maxAnisotropy: number);
4655
+ private registerWebGPULightNodes;
4554
4656
  allowedToSpawnMoreLights(): boolean;
4555
4657
  addActiveLight(light: Light): void;
4556
4658
  cacheLight(light: Light): void;
@@ -4751,6 +4853,12 @@ export declare interface MDModuleInfo {
4751
4853
  group?: string;
4752
4854
  imageUrl?: string;
4753
4855
  assignedAttributes: string[];
4856
+ allowedChildModules?: string[];
4857
+ isRoot?: boolean;
4858
+ isConfigDummy?: boolean;
4859
+ isDropContainer?: boolean;
4860
+ isGroupOrchestrator?: boolean;
4861
+ moduleType?: 'RootModule' | 'SubModule' | 'DropContainer' | 'GroupOrchestrator';
4754
4862
  }
4755
4863
 
4756
4864
  export declare interface MDNumberMinMaxAttributeSelection {
@@ -4936,6 +5044,12 @@ export declare abstract class Node_2 extends PlanElement {
4936
5044
  getMaxWallHeight(): number;
4937
5045
  }
4938
5046
 
5047
+ export declare interface NodeDimensionTransferable {
5048
+ id: number;
5049
+ position2d: Position2;
5050
+ zCoordinate: number;
5051
+ }
5052
+
4939
5053
  export declare class NodePlanElementViewModel extends PlanElementViewModel {
4940
5054
  private _nodeUiMesh;
4941
5055
  constructor(planObject: PlanObject);
@@ -5007,6 +5121,10 @@ export declare const enum OBJECT_EVENT {
5007
5121
  ROTATE = "rotate"
5008
5122
  }
5009
5123
 
5124
+ export declare interface ObjectCategory {
5125
+ value: Enumify<typeof CORE_OBJECT_CATEGORY>;
5126
+ }
5127
+
5010
5128
  export declare interface ObjectConfigurationType {
5011
5129
  value: Enumify<typeof CONFIGURATION_TYPE>;
5012
5130
  }
@@ -5063,6 +5181,11 @@ export declare interface OffsetCamera {
5063
5181
  export declare interface OrthographicOffsetCamera extends OrthographicCamera, OffsetCamera {
5064
5182
  }
5065
5183
 
5184
+ export declare interface OutlineColors {
5185
+ outlineVisibleEdgeColor: ColorRepresentation;
5186
+ outlineHiddenEdgeColor: ColorRepresentation;
5187
+ }
5188
+
5066
5189
  export declare interface OutlineCustomParameters {
5067
5190
  outlineVisibleEdgeColor: ColorRepresentation;
5068
5191
  outlineHiddenEdgeColor: ColorRepresentation;
@@ -5191,6 +5314,11 @@ export declare const PLAN_ELEMENT_CHANGE_TYPES: {
5191
5314
  readonly REMOVED: "removed";
5192
5315
  };
5193
5316
 
5317
+ export declare const PLAN_ROOM_GEOMETRY_MODE: {
5318
+ readonly FLOOR: "floor";
5319
+ readonly ROOM: "room";
5320
+ };
5321
+
5194
5322
  export declare abstract class PlanElement extends AbstractModelWrapper {
5195
5323
  isLocked: boolean;
5196
5324
  isValid: boolean;
@@ -5234,6 +5362,8 @@ export declare class PlanElementViewModel extends KernelViewModel {
5234
5362
  getPosition(): Vector3;
5235
5363
  getRotation(): number;
5236
5364
  getBounds(): Box3;
5365
+ getMeasurementBounds(): Box3[];
5366
+ hasFixedZ(): boolean;
5237
5367
  getBoundingBox(): RoomleEventedMesh;
5238
5368
  getPlanElement(): PlanObject;
5239
5369
  setObject(object: RoomleEventedObject3D): void;
@@ -5424,9 +5554,11 @@ export declare interface PlanModelViewHelper_2 {
5424
5554
  getExternalObjectComponent(plan: Plan_2, groupId: string, moduleId: string): KernelPlanObjectComponent;
5425
5555
  requestMesh3d(element: PlanElement_2): void;
5426
5556
  getExternalObjectGroups(plan: Plan_2): KernelObjectConfigurationArray;
5427
- getExternalRoomInformation(plan: Plan_2): RoomInformation;
5557
+ getExternalRoomInformation(plan: Plan_2, mode: PlanRoomGeometryMode_2): RoomInformation;
5558
+ getGroupedObjects(anObject: PlanObject): KernelPlanObject[];
5428
5559
  calculateLightSourceDistribution(plan: Plan_2, lightSourceConfiguration: LightSourceConfiguration): RoomLightSourceDistributionArray;
5429
5560
  getObjectSnapInformation(anObject: PlanObject, debugHelpLines: boolean): ObjectSnapInformation;
5561
+ getElevationViews(plan: Plan_2): ElevationView[];
5430
5562
  }
5431
5563
 
5432
5564
  export declare class Planner<P extends readonly PluginName[] = readonly []> extends Main {
@@ -5783,6 +5915,7 @@ export declare class PlannerSceneEventHandler extends SceneEventHandler<SceneEve
5783
5915
  private _selectElement;
5784
5916
  private _handleSingleClick;
5785
5917
  private _isObjectOrSiblingSelected;
5918
+ private _toggleGroupSelection;
5786
5919
  getRootPlanObjectId(id: number): number;
5787
5920
  private _doubleClickElement;
5788
5921
  private _hoverOn;
@@ -5792,7 +5925,7 @@ export declare class PlannerSceneEventHandler extends SceneEventHandler<SceneEve
5792
5925
  private _isHoveredObjectNonDraggable;
5793
5926
  private _setCursor;
5794
5927
  setCamera(camera: Camera): void;
5795
- setObject(object: Object3D): void;
5928
+ setObject(object: Object3D, secondaryObject?: Object3D): void;
5796
5929
  getSelectedIds(): number[];
5797
5930
  setSelectionMode(selectionMode: SELECTION_MODE): void;
5798
5931
  setPlanViewModel(planViewModel: PlanViewModel): void;
@@ -5873,6 +6006,7 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
5873
6006
  private _cameraState;
5874
6007
  private _cameraStateLocked;
5875
6008
  private _planElementHighlighter;
6009
+ private _planner3dDimensionHelper;
5876
6010
  private _debugSpheres;
5877
6011
  constructor(creator: string, offset: CanvasOffset, plannerCallback: RoomlePlannerCallback, mode: Enumify_3<typeof CAMERA_TYPE>);
5878
6012
  isDragging(): boolean;
@@ -5901,6 +6035,7 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
5901
6035
  private _getDragPosition;
5902
6036
  private _hideAllMeasurementsNodeOnElementChange;
5903
6037
  private _onSelectionChange;
6038
+ planObjectDependencyUpdated(planObjectId: number): void;
5904
6039
  private _onSelectionCancel;
5905
6040
  private _handleMeasurementLineDraggablePoints;
5906
6041
  resetConfiguratorContext(reason: CancelSelectionReasons): void;
@@ -5963,6 +6098,7 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
5963
6098
  protected _onKeyUp(event: KeyboardEvent, cleanup?: boolean): void;
5964
6099
  undo(): Promise<void>;
5965
6100
  redo(): Promise<void>;
6101
+ private _reshowDimensionsAfterUndoRedo;
5966
6102
  protected _updateConfigurationFromHistory(configurationString: string): Promise<void>;
5967
6103
  setMode(mode: Enumify_3<typeof CAMERA_TYPE>): void;
5968
6104
  private _clearHighlighting;
@@ -6000,13 +6136,21 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6000
6136
  disableRotation(): void;
6001
6137
  enableSnapping(): void;
6002
6138
  disableSnapping(): void;
6139
+ setSnappingDisabledTooltip(text: string): void;
6140
+ enable3dDimensions(): void;
6141
+ disable3dDimensions(): void;
6003
6142
  enableAdvancedDocking(): void;
6004
6143
  disableAdvancedDocking(): void;
6005
6144
  isEnabledChildObjectMode(planElementViewModel: PlanElementViewModel): boolean;
6006
6145
  enableChildObjects(planElementViewModel: PlanElementViewModel): KernelObject | null;
6007
6146
  disableChildObjects(planElementViewModel: PlanElementViewModel): KernelObject | null;
6008
6147
  dragIn(dragEvent: DragEvent): void;
6009
- getPositionForDragEvent(dragEvent: DragEvent | TouchEvent): Vector3 | null;
6148
+ getPositionForDragEvent(dragEvent: DragEvent | TouchEvent | {
6149
+ clientX: number;
6150
+ clientY: number;
6151
+ }): Vector3 | null;
6152
+ getPositionForLastPointer(): Vector3 | null;
6153
+ isPointerUp(): boolean;
6010
6154
  getPlannerSceneEventHandler(): PlannerSceneEventHandler;
6011
6155
  disablePlannerEvents(): void;
6012
6156
  enablePlannerEvents(): void;
@@ -6021,6 +6165,37 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6021
6165
  private _sendRoomAreaData;
6022
6166
  private _updateMeasurementPositions;
6023
6167
  private _sendElementMeasurements;
6168
+ private _ensure3dDimensionHelperInitialized;
6169
+ /**
6170
+ * Show 3D dimension lines for a selected plan element (only in 3D mode).
6171
+ * In 2D mode, the existing 2D measurement system handles this.
6172
+ */
6173
+ private _show3dDimensions;
6174
+ private _show3dDimensionsMulti;
6175
+ /**
6176
+ * Re-show 3D dimensions for the currently selected objects.
6177
+ * Called when snapping state changes to update editability.
6178
+ */
6179
+ private _refreshDimensionsForCurrentSelection;
6180
+ /**
6181
+ * Update 3D dimension lines during drag (only in 3D mode).
6182
+ */
6183
+ private _update3dDimensions;
6184
+ /**
6185
+ * Handle an edit to a 3D dimension label — move the object to the
6186
+ * new distance from the wall/neighbor along that measurement direction.
6187
+ *
6188
+ * Uses the same approach as setObjectToWallMeasurementLength:
6189
+ * direction = startPoint - endPoint (from wall/neighbor toward object),
6190
+ * delta = (newLength - currentLength) / 1000,
6191
+ * then moveElementToIn2d to stay on the floor plane.
6192
+ */
6193
+ private _handleDimensionEdit3d;
6194
+ /**
6195
+ * Regenerate 3D dimensions if the camera has moved significantly
6196
+ * since the last generation (for better label placement).
6197
+ */
6198
+ private _regenerate3dDimensionsIfNeeded;
6024
6199
  private _sendRoomMeasurements;
6025
6200
  private _sendMeasurementLineDimension;
6026
6201
  private _sendObjectMeasurements;
@@ -6063,13 +6238,15 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6063
6238
  setObjectToWallMeasurementLength(planElementId: number, measurementId: number, length: number): void;
6064
6239
  setWallMeasurementLength(measurementId: number, length: number, wallDirection: EMSConstant): void;
6065
6240
  setMeasurementLineLength(measurementId: number, length: number, wallDirection: string): void;
6066
- protected setEventHandlerObject(object: Object3D): void;
6241
+ setNodeZCoordinate(nodeId: number, z: number): void;
6242
+ protected setEventHandlerObject(object: Object3D, secondaryObject?: Object3D): void;
6067
6243
  protected _readyForRender(): void;
6068
6244
  protected notifyPlannerOnComponentSelectionCancel(isExternalObject: boolean, reason: CancelSelectionReasons): void;
6069
6245
  private _externalPlanObjectSelectionChanged;
6070
6246
  highlightExternalObject(planObjectComponent: KernelPlanObjectComponent): void;
6071
6247
  private _selectExternalObjectComponent;
6072
6248
  getSelectedPlanObjectComponent(): KernelPlanObjectComponent | null;
6249
+ switchConfiguratorObject(clickedComponentId: number): Promise<void>;
6073
6250
  selectObjectComponent(planObjectComponent: KernelPlanObjectComponent, switchToConfigurator: boolean, selectComponent: boolean): Promise<void>;
6074
6251
  _swapObjectInConfigurator(planObjectComponent: KernelPlanObjectComponent): Promise<void>;
6075
6252
  getObjectComponent(id: number, typeOfId: Enumify_3<typeof CORE_TYPE_OF_CORE_ID>): KernelPlanObjectComponent | null;
@@ -6101,13 +6278,16 @@ export declare interface PlanObject extends PlanElement_2 {
6101
6278
  flipY: boolean;
6102
6279
  fixedZ: boolean;
6103
6280
  boxForMeasurement: KernelCube;
6281
+ measurementBounds: KernelAssembledObjectBounds;
6104
6282
  hasConfiguration(): boolean;
6283
+ isAdjustable(): boolean;
6105
6284
  isExternalObject(): boolean;
6106
6285
  retrieveConfigurationId(): ConfigurationUniqueIdAndHash;
6107
6286
  getConfiguration(): string;
6108
6287
  getCatalogItemId(): string;
6109
6288
  getConfigurationRuntimeId(): number;
6110
6289
  getObjectType(): string;
6290
+ getObjectCategory(): ObjectCategory;
6111
6291
  getWallDistances(): ObjectToWallLineArray;
6112
6292
  getRectangle(): Rectangle;
6113
6293
  getRotationToPreferredFront(): ObjectFrontRotation;
@@ -6189,6 +6369,12 @@ export declare interface PlanOverview {
6189
6369
  rooms: PlanElement_2[];
6190
6370
  }
6191
6371
 
6372
+ export declare type PlanRoomGeometryMode = (typeof PLAN_ROOM_GEOMETRY_MODE)[keyof typeof PLAN_ROOM_GEOMETRY_MODE];
6373
+
6374
+ export declare interface PlanRoomGeometryMode_2 {
6375
+ value: Enumify<typeof CORE_PLAN_ROOM_GEOMETRY_MODE>;
6376
+ }
6377
+
6192
6378
  export declare abstract class PlanText extends PlanElement {
6193
6379
  getText(): string;
6194
6380
  }
@@ -6443,12 +6629,14 @@ export declare const enum PosDock {
6443
6629
 
6444
6630
  export declare interface PosDockedContext {
6445
6631
  ownDockingVector: PosDock | string;
6632
+ ownDockingVectorIndex: number;
6446
6633
  dockedRoots: PosDockedContextRoot[];
6447
6634
  }
6448
6635
 
6449
6636
  export declare interface PosDockedContextRoot {
6450
6637
  id: string;
6451
6638
  dockingVector: PosDock | string;
6639
+ dockingVectorIndex: number;
6452
6640
  }
6453
6641
 
6454
6642
  export declare interface PosDockInfo {
@@ -6603,6 +6791,10 @@ export declare interface PosPositionInfo extends PosArticleInfo {
6603
6791
  additionalText?: string;
6604
6792
  }
6605
6793
 
6794
+ export declare interface PosRoom {
6795
+ levels: PosContour[];
6796
+ }
6797
+
6606
6798
  export declare interface PosSaveData {
6607
6799
  groups: PosGroup[];
6608
6800
  roomlePlannerId?: string;
@@ -6812,6 +7004,7 @@ export declare class RapiAccess implements Context {
6812
7004
  constructor(creator: string);
6813
7005
  setConfiguratorSettings(): Promise<void>;
6814
7006
  getTenantId(): Promise<number>;
7007
+ getCurrentTenantId(fallbackTenantId?: number | null): Promise<CurrentTenantId>;
6815
7008
  getPreloadForItem(id: RapiId): Promise<void>;
6816
7009
  getPreloadForConfiguration(id: RapiId): Promise<void>;
6817
7010
  private _getPreload;
@@ -7403,6 +7596,7 @@ export declare type RayCasterObjectFilter = (object3d: Object3D) => boolean;
7403
7596
  export declare class RaycastHelper extends EventDispatcher<Record<RAYCAST_EVENT, SceneEventInfo>> {
7404
7597
  private _mode;
7405
7598
  private _object;
7599
+ private _secondaryObject?;
7406
7600
  private _camera;
7407
7601
  private _inputManager;
7408
7602
  private _raycaster;
@@ -7445,7 +7639,7 @@ export declare class RaycastHelper extends EventDispatcher<Record<RAYCAST_EVENT,
7445
7639
  enableDragIn(mesh: RoomleEventedMesh): void;
7446
7640
  setRootComponentId(rootComponentId: number): void;
7447
7641
  setCamera(camera: Camera): void;
7448
- setObject(object: Object3D): void;
7642
+ setObject(object: Object3D, secondaryObject?: Object3D): void;
7449
7643
  setMode(mode: INTERSECTION_MODE): void;
7450
7644
  intersectMouseOnScene(event: Pick<PointerInputEvent, 'positionRelative'>): KernelVector3 | null;
7451
7645
  enableOnWallSnapping(): void;
@@ -7502,7 +7696,7 @@ export declare class RoomDesignerApi implements RoomDesignerRequests {
7502
7696
  deleteGroup(groupId: string): void;
7503
7697
  deleteRootModule(rootModuleId: string): void;
7504
7698
  getPosDataOfAllGroups(): Promise<PosGroup[]>;
7505
- getRoomInformation(): Promise<ExternalRoomInformation>;
7699
+ getRoomInformation(mode?: PlanRoomGeometryMode): Promise<ExternalRoomInformation>;
7506
7700
  saveExternalObjectSnapshot(): Promise<ExternalObjectSnapshotSaveResult | null>;
7507
7701
  saveCurrentPlanSnapshot(): Promise<RapiPlanSnapshotGetData>;
7508
7702
  renderPosDataImage(posDataJson: object): Promise<void>;
@@ -7519,7 +7713,7 @@ export declare interface RoomDesignerRequests {
7519
7713
  deleteGroup(groupId: string): void;
7520
7714
  deleteRootModule(rootModuleId: string): void;
7521
7715
  getPosDataOfAllGroups(): Promise<PosGroup[]>;
7522
- getRoomInformation(): Promise<ExternalRoomInformation>;
7716
+ getRoomInformation(mode?: PlanRoomGeometryMode): Promise<ExternalRoomInformation>;
7523
7717
  saveExternalObjectSnapshot(): Promise<ExternalObjectSnapshotSaveResult | null>;
7524
7718
  }
7525
7719
 
@@ -7527,9 +7721,16 @@ export declare class RoomGeometryArray extends EmsArray<PosContour> {
7527
7721
  }
7528
7722
 
7529
7723
  export declare interface RoomInformation {
7724
+ rooms: RoomInformationRoomArray;
7725
+ }
7726
+
7727
+ export declare interface RoomInformationRoom {
7530
7728
  rooms: RoomGeometryArray;
7531
7729
  }
7532
7730
 
7731
+ export declare class RoomInformationRoomArray extends EmsArray<RoomInformationRoom> {
7732
+ }
7733
+
7533
7734
  /**
7534
7735
  * Colors can be set as hex value, eg 0x00ff00 or as official HTML color name: https://www.w3schools.com/colors/colors_names.asp
7535
7736
  */
@@ -8688,6 +8889,11 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8688
8889
  * @param itemList Array of PlanObjects
8689
8890
  */
8690
8891
  mergeItems(itemList: PlanObject[]): void;
8892
+ /**
8893
+ * Adjust plan object to planning situation
8894
+ * @param item PlanObject
8895
+ */
8896
+ adjustItem(item: PlanObject): Promise<void>;
8691
8897
  getScene(): Scene;
8692
8898
  getSceneManager(): PlannerSceneManager;
8693
8899
  updateScene(): void;
@@ -8732,7 +8938,10 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8732
8938
  */
8733
8939
  disableMultiselect(): void;
8734
8940
  private _insertExternalObject;
8735
- dragInObject(idOrSerializedConfigString: string, dragEvent: DragEvent, type?: ID_TYPE): Promise<RuntimeId>;
8941
+ dragInObject(idOrSerializedConfigString: string, dragEvent: DragEvent, type?: ID_TYPE, pointerPosition?: {
8942
+ clientX: number;
8943
+ clientY: number;
8944
+ }): Promise<RuntimeId>;
8736
8945
  /**
8737
8946
  * Will remove an element that was dragged into the scene while still dragging it.
8738
8947
  * This is mainly used in the context of pressing ESC while dragging or dragging the element away from the scene again.
@@ -8746,6 +8955,19 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8746
8955
  * disable all types of snapping
8747
8956
  */
8748
8957
  disableSnapping(): void;
8958
+ /**
8959
+ * Enable 3D dimension lines shown on object selection in 3D mode.
8960
+ */
8961
+ enable3dDimensions(): void;
8962
+ /**
8963
+ * Disable 3D dimension lines in 3D mode.
8964
+ */
8965
+ disable3dDimensions(): void;
8966
+ /**
8967
+ * Set the tooltip text shown on disabled vertical dimension labels
8968
+ * when snapping prevents height editing.
8969
+ */
8970
+ setSnappingDisabledTooltip(text: string): void;
8749
8971
  /**
8750
8972
  * enable docking of objects that fit together when objects are snapped in the plan
8751
8973
  */
@@ -8864,6 +9086,7 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8864
9086
  setObjectToWallMeasurementLength(planElementId: number, measurementId: number, length: number): void;
8865
9087
  setWallMeasurementLength(measurementId: number, length: number, wallDirection: EMSConstant): void;
8866
9088
  setMeasurementLineLength(measurementId: number, length: number, wallDirection: string): void;
9089
+ setNodeZCoordinate(nodeId: number, z: number): void;
8867
9090
  escapeDrawing(cancelDrawing: boolean): void;
8868
9091
  isCurrentlyDrawing(): boolean;
8869
9092
  /**
@@ -8883,6 +9106,7 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8883
9106
  getInitialExternalObjectGroup(): Promise<PosGroup | null>;
8884
9107
  loadNewExternalObjectInIsolation(groupObject: object): Promise<LoadExternalObjectGroupResult[]>;
8885
9108
  loadExternalObjectGroups(groupData: ExternalGroupData, options?: LoadExternalObjectOptions): Promise<LoadExternalObjectGroupResult[]>;
9109
+ loadExternalObjectGroupLayout(articleLayoutJson: ExternalObjectGroupLayout, layoutType: string, options?: LoadExternalObjectOptions): Promise<LoadExternalObjectGroupResult[]>;
8886
9110
  private _loadExternalObjectGroup;
8887
9111
  private _loadExternalObjectGroupInConfigurator;
8888
9112
  private _loadExternalObjectGroupInPlanner;
@@ -8908,7 +9132,7 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8908
9132
  openOrCloseGeometryOfExternalObject(groupIdOrRootModuleId: string, _subModuleId: string | null, open: boolean, animate: boolean): void;
8909
9133
  _selectExternalObjectGroup(groupId: string, switchToPlanner: boolean): Promise<void>;
8910
9134
  getExternalObjectGroups(): Promise<object[]>;
8911
- getExternalRoomInformation(): Promise<ExternalRoomInformation>;
9135
+ getExternalRoomInformation(mode?: PlanRoomGeometryMode): Promise<ExternalRoomInformation>;
8912
9136
  /**
8913
9137
  * Highlights a product in the planner.
8914
9138
  * @param planElementId The ID of the plan element to highlight.
@@ -9032,7 +9256,7 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
9032
9256
  * @param orderHeader optional order header information
9033
9257
  */
9034
9258
  fetchPrice(planId?: string, orderHeader?: HiOrderHeader): Promise<any>;
9035
- getOrderManagerGroupData(planId?: string): Promise<HiOrderData | null | undefined>;
9259
+ getOrderManagerGroupData(options?: GetGroupDataForOrderOptions): Promise<HiOrderData | null | undefined>;
9036
9260
  getRapiAccess(): RapiAccess;
9037
9261
  getElementOpenCloseAnimation(planElement: PlanElementViewModel, componentIds?: number[]): AnimationKeyAndValue | null;
9038
9262
  /**
@@ -9126,6 +9350,12 @@ export declare class RoomlePlannerUiCallback extends UiCallback implements Exter
9126
9350
  * @param wallDimensions
9127
9351
  */
9128
9352
  onUpdateWallDimensions: (wallDimensions: WallDimensionTransferable[]) => void;
9353
+ /**
9354
+ * This function gets called when the camera is no longer moving
9355
+ * and the position of node dimensions can be calculated
9356
+ * @param nodeDimensions
9357
+ */
9358
+ onUpdateNodeDimensions: (nodeDimensions: NodeDimensionTransferable[]) => void;
9129
9359
  /**
9130
9360
  * This function gets called when the camera is no longer moving
9131
9361
  * and the position of the measurement line dimensions can be calculated
@@ -9257,7 +9487,7 @@ export declare abstract class RoomleRenderer<RendererType extends WebGLRenderer
9257
9487
  abstract setOnQualityLevelChangeCallback(callback: (qualityLevel: QualityLevel) => void): void;
9258
9488
  abstract clearCache(): void;
9259
9489
  abstract highlightObjects(selectedMeshes: Object3D[]): void;
9260
- abstract setGroundShadow(enabled: boolean): void;
9490
+ abstract setGroundShadow(enabled: boolean, scene: Scene): void;
9261
9491
  abstract enableUiInteractionMode(): void;
9262
9492
  abstract disableUiInteractionMode(): void;
9263
9493
  }
@@ -9328,17 +9558,19 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
9328
9558
  private debugMode;
9329
9559
  private readonly renderPasses;
9330
9560
  private readonly guiParameterGroups;
9561
+ private lastRenderCamera;
9331
9562
  private _domHelper;
9332
- constructor(creator: string, renderer: WebGPURenderer, outlineColors?: {
9333
- outlineVisibleEdgeColor: ColorRepresentation;
9334
- outlineHiddenEdgeColor: ColorRepresentation;
9335
- });
9563
+ private _webGpuGroundShadow;
9564
+ constructor(creator: string, renderer: WebGPURenderer, enableSSGI: boolean, outlineColors?: OutlineColors);
9565
+ private enableRenderPasses;
9566
+ addGroundShadowLightAndFloor(scene: Scene): void;
9336
9567
  private addRenderPass;
9337
9568
  clearCache(): void;
9338
9569
  disableUiInteractionMode(): void;
9339
9570
  enableUiInteractionMode(): void;
9340
9571
  getQualityLevel(): QualityLevel;
9341
9572
  setCameraType(cameraType: Enumify_3<typeof CAMERA_TYPE>): void;
9573
+ switchToConfigurator(): void;
9342
9574
  switchToPlanner(renderMode: PlannerRenderMode): void;
9343
9575
  highlightObjects(selectedMeshes: Object3D[]): void;
9344
9576
  loadLutImages(_luts: LutImageDefinition[]): void;
@@ -9348,15 +9580,18 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
9348
9580
  setAutoQuality(_autoQuality: boolean): void;
9349
9581
  setCustomShadingParameters(_customShadingParameters: CustomShadingParameters | undefined, _customShadingParametersMoc: CustomShadingParameters | undefined): void;
9350
9582
  setCustomOutlineParameters(customOutlineParameters: OutlineCustomParameters): void;
9351
- setGroundShadow(_enabled: boolean): void;
9583
+ setGroundShadow(enabled: boolean, _scene: Scene): void;
9352
9584
  setOnQualityLevelChangeCallback(_callback: (qualityLevel: QualityLevel) => void): void;
9353
9585
  private enableOutline;
9354
9586
  private getOutlinePassOrUndefined;
9587
+ private enableSsgiPass;
9588
+ private enableTraaPass;
9355
9589
  setQualityLevel(_qualityLevel: QualityLevel): void;
9356
9590
  setQualityMap(_qualityMap: QualityMap): void;
9357
- setShadingType(_shadingType: SceneShadingType): void;
9591
+ setShadingType(shadingType: SceneShadingType): void;
9358
9592
  showGUI(updateCallback: () => void): void;
9359
9593
  private addDebugGUI;
9594
+ private addToneMappingSettings;
9360
9595
  getOrCreateGUIParameters(name: string): ParametersGroup;
9361
9596
  private createAndCacheGUIParameters;
9362
9597
  }
@@ -9433,12 +9668,14 @@ export declare class SceneEventInfo {
9433
9668
 
9434
9669
  export declare class SceneEventInfo_2 {
9435
9670
  planElementViewModel?: PlanElementViewModel;
9671
+ planElementViewModels?: PlanElementViewModel[];
9436
9672
  resetCamera: boolean;
9437
9673
  state: PLANNER_SCENE_EVENT_STATE;
9438
9674
  oldState: PLANNER_SCENE_EVENT_STATE;
9439
9675
  reason?: CancelSelectionReasons;
9440
9676
  constructor(data: {
9441
9677
  planElementViewModel?: PlanElementViewModel;
9678
+ planElementViewModels?: PlanElementViewModel[];
9442
9679
  resetCamera?: boolean;
9443
9680
  state?: PLANNER_SCENE_EVENT_STATE;
9444
9681
  oldState?: PLANNER_SCENE_EVENT_STATE;
@@ -9491,6 +9728,7 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9491
9728
  protected _stopRendering: boolean;
9492
9729
  protected _roomleRenderer: GenericRoomleRenderer | null;
9493
9730
  private _roomleRendererReady;
9731
+ private _isDebugGUIInitialized;
9494
9732
  private _forceRender;
9495
9733
  private _lastChange;
9496
9734
  private _running;
@@ -9535,7 +9773,10 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9535
9773
  protected shouldClearShadowsAndAO(): boolean;
9536
9774
  protected _setupScene(_offset?: CanvasOffset, transparent?: boolean): Promise<void>;
9537
9775
  loadEnvMap(url: string): Promise<void>;
9538
- private _getEnvMapIntensityAndRotation;
9776
+ protected _getEnvMapIntensityAndRotation(): {
9777
+ intensity: number;
9778
+ rotation: number;
9779
+ };
9539
9780
  protected _setDefaultEnvironmentScene(): void;
9540
9781
  private _setEnvMap;
9541
9782
  private _tabVisible;