@roomle/web-sdk 3.7.0-alpha.2 → 3.7.0-alpha.4

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 (130) hide show
  1. package/lib/{BufferGeometry-C696z6r3.mjs → BufferGeometry-BzmfTBQt.mjs} +1 -1
  2. package/lib/{BufferGeometry-C696z6r3.mjs.map → BufferGeometry-BzmfTBQt.mjs.map} +1 -1
  3. package/lib/ConfiguratorKernel.wasm +0 -0
  4. package/lib/{GLTFExporter-AfQIvZAD.mjs → GLTFExporter-CyhgWPq0.mjs} +2 -2
  5. package/lib/{GLTFExporter-AfQIvZAD.mjs.map → GLTFExporter-CyhgWPq0.mjs.map} +1 -1
  6. package/lib/{PointLightHelper-wVSmrAnD.mjs → PointLightHelper-DwIXACyT.mjs} +2 -2
  7. package/lib/{PointLightHelper-wVSmrAnD.mjs.map → PointLightHelper-DwIXACyT.mjs.map} +1 -1
  8. package/lib/RoomleCore.js +4 -4
  9. package/lib/RoomleCore.wasm +0 -0
  10. package/lib/RoomleToolsCore.wasm +0 -0
  11. package/lib/{SpotLightHelper-C7J95t4f.mjs → SpotLightHelper-CfLHM7LU.mjs} +2 -2
  12. package/lib/{SpotLightHelper-C7J95t4f.mjs.map → SpotLightHelper-CfLHM7LU.mjs.map} +1 -1
  13. package/lib/{USDZExporter-BBk0APeK.mjs → USDZExporter-kmxcTvnQ.mjs} +2 -2
  14. package/lib/{USDZExporter-BBk0APeK.mjs.map → USDZExporter-kmxcTvnQ.mjs.map} +1 -1
  15. package/lib/{api-oYzhcs_W.mjs → api-X1dDTDvL.mjs} +2 -2
  16. package/lib/{api-oYzhcs_W.mjs.map → api-X1dDTDvL.mjs.map} +1 -1
  17. package/lib/{banana-for-scale-D8t2dmc7.mjs → banana-for-scale-Bpf8RfLi.mjs} +4 -4
  18. package/lib/{banana-for-scale-D8t2dmc7.mjs.map → banana-for-scale-Bpf8RfLi.mjs.map} +1 -1
  19. package/lib/budgeteer.sw-CQWYbQSc.mjs.map +1 -1
  20. package/lib/budgeteer.sw.js +1 -1
  21. package/lib/{common-utils-qErzZAiR.mjs → common-utils-DMI8Yuhe.mjs} +5 -3
  22. package/lib/common-utils-DMI8Yuhe.mjs.map +1 -0
  23. package/lib/{component-dimensioning-DlB7-9Om.mjs → component-dimensioning-MtS9xiY-.mjs} +15 -15
  24. package/lib/{component-dimensioning-DlB7-9Om.mjs.map → component-dimensioning-MtS9xiY-.mjs.map} +1 -1
  25. package/lib/{component-raycast-helper-C6ptEb0K.mjs → component-raycast-helper-C1qWqpRH.mjs} +13 -9
  26. package/lib/component-raycast-helper-C1qWqpRH.mjs.map +1 -0
  27. package/lib/configurator-C5t3clCx.mjs +2 -0
  28. package/lib/{configurator-CRMunIq7.mjs → configurator-Cg1a9XSL.mjs} +4 -4
  29. package/lib/{configurator-CRMunIq7.mjs.map → configurator-Cg1a9XSL.mjs.map} +1 -1
  30. package/lib/{continuous-drawing-helper-BwulJHKj.mjs → continuous-drawing-helper-CQx5Sbns.mjs} +3 -3
  31. package/lib/{continuous-drawing-helper-BwulJHKj.mjs.map → continuous-drawing-helper-CQx5Sbns.mjs.map} +1 -1
  32. package/lib/{dat.gui.module-CZHqOVGq.mjs → dat.gui.module-CZ-DIWHM.mjs} +1 -1
  33. package/lib/{dat.gui.module-CZHqOVGq.mjs.map → dat.gui.module-CZ-DIWHM.mjs.map} +1 -1
  34. package/lib/{decorate-BAtqSPNS.mjs → decorate-Bck1_lG8.mjs} +1 -1
  35. package/lib/{decorate-BAtqSPNS.mjs.map → decorate-Bck1_lG8.mjs.map} +1 -1
  36. package/lib/dimensioning-helper-Bfe0fImX.mjs +2 -0
  37. package/lib/{dimensioning-helper--Y0Y-Wr1.mjs → dimensioning-helper-GPn7Z8GE.mjs} +7 -7
  38. package/lib/{dimensioning-helper--Y0Y-Wr1.mjs.map → dimensioning-helper-GPn7Z8GE.mjs.map} +1 -1
  39. package/lib/glb-viewer-DIEpkrvY.mjs +2 -0
  40. package/lib/{glb-viewer-CXEoIw1b.mjs → glb-viewer-tgKOPCaI.mjs} +44 -45
  41. package/lib/glb-viewer-tgKOPCaI.mjs.map +1 -0
  42. package/lib/highlight-coordinator-DRHeEU-E.mjs +116 -0
  43. package/lib/highlight-coordinator-DRHeEU-E.mjs.map +1 -0
  44. package/lib/{homag-intelligence-gb9MqBrz.mjs → homag-intelligence-D5mCTWgG.mjs} +19 -11
  45. package/lib/homag-intelligence-D5mCTWgG.mjs.map +1 -0
  46. package/lib/{imos-ix-poc-export-helper-CW7QZhhn.mjs → imos-ix-poc-export-helper-BKFs_Yhm.mjs} +5 -5
  47. package/lib/{imos-ix-poc-export-helper-CW7QZhhn.mjs.map → imos-ix-poc-export-helper-BKFs_Yhm.mjs.map} +1 -1
  48. package/lib/kernel-C7YDLxq8.mjs.map +1 -1
  49. package/lib/{kernel-utils-DCnHzW4n.mjs → kernel-utils-B80amC-l.mjs} +2 -2
  50. package/lib/{kernel-utils-DCnHzW4n.mjs.map → kernel-utils-B80amC-l.mjs.map} +1 -1
  51. package/lib/{layer-CFAr2mK_.mjs → layer-BfckfWZz.mjs} +1 -1
  52. package/lib/{layer-CFAr2mK_.mjs.map → layer-BfckfWZz.mjs.map} +1 -1
  53. package/lib/{main-BJZ9-cDk.mjs → main-CJ5TNhBt.mjs} +2518 -2554
  54. package/lib/main-CJ5TNhBt.mjs.map +1 -0
  55. package/lib/{material-viewer-D8Nmpwg0.mjs → material-viewer-DCqZzMZN.mjs} +40 -35
  56. package/lib/material-viewer-DCqZzMZN.mjs.map +1 -0
  57. package/lib/packages-DuOz6rk6.mjs +4 -0
  58. package/lib/{planner-5VarJrpy.mjs → planner-CSboZram.mjs} +3 -3
  59. package/lib/{planner-5VarJrpy.mjs.map → planner-CSboZram.mjs.map} +1 -1
  60. package/lib/planner-CWPqJktz.mjs +2 -0
  61. package/lib/{plugin-system-DInww4H_.mjs → plugin-system-DD0Z9Jvt.mjs} +3 -3
  62. package/lib/{plugin-system-DInww4H_.mjs.map → plugin-system-DD0Z9Jvt.mjs.map} +1 -1
  63. package/lib/{roomle-headless-setup-LoBO7UJe.mjs → roomle-headless-setup-nsoGENQV.mjs} +1 -1
  64. package/lib/{roomle-headless-setup-LoBO7UJe.mjs.map → roomle-headless-setup-nsoGENQV.mjs.map} +1 -1
  65. package/lib/roomle-headless.d.ts +252 -106
  66. package/lib/roomle-headless.js +20 -17
  67. package/lib/roomle-headless.js.map +1 -1
  68. package/lib/{roomle-renderer-DVlJsHYn.mjs → roomle-renderer-BEJNPCKx.mjs} +2 -2
  69. package/lib/roomle-renderer-BEJNPCKx.mjs.map +1 -0
  70. package/lib/roomle-sdk.d.ts +252 -106
  71. package/lib/roomle-sdk.js +6 -6
  72. package/lib/roomle-webgpu-renderer-D5flithq.mjs +1502 -0
  73. package/lib/roomle-webgpu-renderer-D5flithq.mjs.map +1 -0
  74. package/lib/{scene-renderer-BHZrQYAH.mjs → scene-renderer-Dm1kij1z.mjs} +26 -26
  75. package/lib/scene-renderer-Dm1kij1z.mjs.map +1 -0
  76. package/lib/{script-loader-gpkcl1h-.mjs → script-loader-DqaDm1FG.mjs} +3 -3
  77. package/lib/{script-loader-gpkcl1h-.mjs.map → script-loader-DqaDm1FG.mjs.map} +1 -1
  78. package/lib/static/packages/workers/generated/budgeteer.sw.js +1 -1
  79. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
  80. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCallback.d.ts +4 -4
  81. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCallback.js +7 -7
  82. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCallback.js.map +1 -1
  83. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.d.ts +28 -8
  84. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorUtils.js +27 -11
  85. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorUtils.js.map +1 -1
  86. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreCallback.d.ts +1 -1
  87. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreCallback.js +1 -1
  88. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreCallback.js.map +1 -1
  89. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts +37 -2
  90. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js +6 -1
  91. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js.map +1 -1
  92. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/loader/planElementManager.d.ts +4 -0
  93. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/loader/planElementManager.js +16 -1
  94. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/loader/planElementManager.js.map +1 -1
  95. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  96. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.js +4 -4
  97. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  98. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  99. package/lib/{stats-helper-Cv5SoEWT.mjs → stats-helper-D7a7oxnj.mjs} +3 -3
  100. package/lib/{stats-helper-Cv5SoEWT.mjs.map → stats-helper-D7a7oxnj.mjs.map} +1 -1
  101. package/lib/{three.core-mM-jZdgg.mjs → three.core-BmQnspOL.mjs} +819 -816
  102. package/lib/{three.core-mM-jZdgg.mjs.map → three.core-BmQnspOL.mjs.map} +1 -1
  103. package/lib/{three.module-Bmy3sVQ-.mjs → three.module-DkrZwaid.mjs} +455 -455
  104. package/lib/{three.module-Bmy3sVQ-.mjs.map → three.module-DkrZwaid.mjs.map} +1 -1
  105. package/lib/{three.webgpu-BbVYfCDp.mjs → three.webgpu-DLZjhIYv.mjs} +1517 -1517
  106. package/lib/{three.webgpu-BbVYfCDp.mjs.map → three.webgpu-DLZjhIYv.mjs.map} +1 -1
  107. package/lib/three.webgpu-RkQxSIwG.mjs +3 -0
  108. package/lib/{threejs-utils-Bq4pVWBA.mjs → threejs-utils-CrK_gp1x.mjs} +67 -63
  109. package/lib/threejs-utils-CrK_gp1x.mjs.map +1 -0
  110. package/lib/{tools-core-DqnhFefF.mjs → tools-core-CZWgXTFV.mjs} +3 -3
  111. package/lib/{tools-core-DqnhFefF.mjs.map → tools-core-CZWgXTFV.mjs.map} +1 -1
  112. package/package.json +1 -1
  113. package/lib/common-utils-qErzZAiR.mjs.map +0 -1
  114. package/lib/component-raycast-helper-C6ptEb0K.mjs.map +0 -1
  115. package/lib/component-raycast-helper-LrhRpeDD.mjs +0 -2
  116. package/lib/configurator-DqiW717d.mjs +0 -2
  117. package/lib/dimensioning-helper-BpUreWo2.mjs +0 -2
  118. package/lib/glb-viewer-CXEoIw1b.mjs.map +0 -1
  119. package/lib/glb-viewer-IDXgmONx.mjs +0 -2
  120. package/lib/homag-intelligence-gb9MqBrz.mjs.map +0 -1
  121. package/lib/main-BJZ9-cDk.mjs.map +0 -1
  122. package/lib/material-viewer-D8Nmpwg0.mjs.map +0 -1
  123. package/lib/packages-Uv53SHfb.mjs +0 -4
  124. package/lib/planner-DJcn-iih.mjs +0 -2
  125. package/lib/roomle-renderer-DVlJsHYn.mjs.map +0 -1
  126. package/lib/roomle-webgpu-renderer-CVxBRv6o.mjs +0 -217
  127. package/lib/roomle-webgpu-renderer-CVxBRv6o.mjs.map +0 -1
  128. package/lib/scene-renderer-BHZrQYAH.mjs.map +0 -1
  129. package/lib/three.webgpu-Bnp8Whu8.mjs +0 -3
  130. package/lib/threejs-utils-Bq4pVWBA.mjs.map +0 -1
@@ -3,6 +3,7 @@ import { BufferGeometry } from 'three';
3
3
  import { BufferGeometryEventMap } from 'three';
4
4
  import { Camera } from 'three';
5
5
  import { Color } from 'three';
6
+ import { ColorRepresentation } from 'three';
6
7
  import { CommunicationInterfaceCallback } from '../../../workers/src/communication-interface';
7
8
  import { ConstructionObjectDoorArchArray } from 'roomle-core-hsc/src/embind/plannerCoreInterface';
8
9
  import { createExtObjId } from '../../../../../common/src/utils/external-objects';
@@ -14,7 +15,6 @@ import { Euler } from 'three';
14
15
  import { ExtObjId } from '../../../common/src/utils/external-objects';
15
16
  import { ExtObjId as ExtObjId_2 } from '../../../../../common/src/utils/external-objects';
16
17
  import { Group } from 'three';
17
- import { GUI } from 'dat.gui';
18
18
  import { HiCallbacks } from '../../../../common/src/hi/hi-types';
19
19
  import { HiOrderData } from '../../../../common/src/hi/hi-types';
20
20
  import { HiOrderHeader } from '../../../../common/src/hi/hi-types';
@@ -31,6 +31,7 @@ import { Nullable as Nullable_2 } from '../../../../../common/src/utils/types';
31
31
  import { Object3D } from 'three';
32
32
  import { Object3DEventMap } from 'three';
33
33
  import { OrthographicCamera } from 'three';
34
+ import { ParametersGroup } from 'three/examples/jsm/inspector/tabs/Parameters.js';
34
35
  import { PerspectiveCamera } from 'three';
35
36
  import { PointLight } from 'three';
36
37
  import { Scene } from 'three';
@@ -308,7 +309,7 @@ export declare abstract class CameraBehaviour {
308
309
  private _cameraChangeListener;
309
310
  constructor(cameraControl: CameraControl, state: CameraBehaviourState);
310
311
  abstract get cameraControl(): CameraControl;
311
- protected get state(): CameraBehaviourState;
312
+ protected get state(): CameraBehaviourState | null;
312
313
  setCameraChangeListener(callback: () => void): void;
313
314
  removeCameraChangeListener(): void;
314
315
  protected _onCameraChanged(): void;
@@ -633,7 +634,7 @@ export declare class CeilingLight extends PointLight {
633
634
  constructor(debug: boolean, maxQualityLevel: QualityLevel);
634
635
  recalculatePower(amountOfLights: number): void;
635
636
  update(qualityLevel: QualityLevel): void;
636
- private _addDebugUI;
637
+ addDebugUI(ceilingLightsParameters: GenericGUIParamFolder): void;
637
638
  }
638
639
 
639
640
  export declare interface CheckDropDownEntry {
@@ -671,7 +672,7 @@ export declare interface CleanupOptions {
671
672
  export declare type ColorsIn3dScene = Record<RoomleColors, HexColorString | HexColorNumber>;
672
673
 
673
674
  export declare interface CommonConfiguratorKernelCallbackI {
674
- Editor3dComponentCreated(id: number, position: KernelVector3, eulerAngles: KernelVector3, isRootComponent: boolean, parentObjectRuntimeId: number): void;
675
+ Editor3dComponentCreated(componentDocking: KernelComponentDocking): void;
675
676
  Editor3dAddMesh(runtimeComponentId: number, meshId: number, geometryName: string, environmentGeometry: boolean, meshAttributes: KernelMeshAttributes, meshBuffer: KernelMeshBuffer): void;
676
677
  Editor3ChangedMesh(runtimeComponentId: number, meshId: number, geometryName: string, meshAttributes: KernelMeshAttributes): void;
677
678
  Editor3dRemoveMesh(runtimeComponentId: number, meshId: number): void;
@@ -679,7 +680,7 @@ export declare interface CommonConfiguratorKernelCallbackI {
679
680
  componentConfigurationUpdated(runtimeComponentId: number, geometryChanged: boolean): void;
680
681
  Editor3dBeginConstruction(componentId: number, isDeltaUpdate: boolean): void;
681
682
  Editor3dEndConstruction(id: number): void;
682
- Editor3dComponentDocked(componentId: number, isRootComponent: boolean, parentId: number, componentPosition: KernelVector3, componentRotation: KernelVector3): void;
683
+ Editor3dComponentDocked(componentDocking: KernelComponentDocking): void;
683
684
  Editor3dGeometryReady(id: number): void;
684
685
  Editor3dGeometryNotReady(id: number): void;
685
686
  componentDeleted(componentId: number): void;
@@ -943,7 +944,6 @@ export declare abstract class CommonKernelAccess implements LifeCycleCallbacks,
943
944
  loadComponent(componentIds: string[]): void;
944
945
  loadItemConfigurations(itemIds: string[]): Promise<void>;
945
946
  requestDeleteComponent(componentId: number): void;
946
- dockComponentWithPosition(parentId: number, parentDockId: number, childId: number, childDockId: number, position: KernelVector3): void;
947
947
  Editor3dAddMesh(runtimeComponentId: number, meshId: number, geometryName: string, environmentGeometry: boolean, meshAttributes: KernelMeshAttributes, meshBuffer: KernelMeshBuffer): void;
948
948
  Editor3ChangedMesh(runtimeComponentId: number, meshId: number, geometryName: string, meshAttributes: KernelMeshAttributes): void;
949
949
  Editor3dRemoveMesh(runtimeComponentId: number, meshId: number): void;
@@ -952,8 +952,8 @@ export declare abstract class CommonKernelAccess implements LifeCycleCallbacks,
952
952
  Editor3dChangedLightSource(runtimeComponentId: number, lightSourceId: number, lightSourceAttributes: KernelLightSourceAttributes): void;
953
953
  Editor3dBeginConstruction(id: number, isDeltaUpdate: boolean): void;
954
954
  Editor3dEndConstruction(id: number): void;
955
- Editor3dComponentCreated(id: number, position: KernelVector3, eulerAngles: KernelVector3, isRootComponent: boolean, parentObjectRuntimeId: number): void;
956
- Editor3dComponentDocked(componentId: number, isRootComponent: boolean, parentId: number, componentPosition: KernelVector3, componentRotation: KernelVector3): void;
955
+ Editor3dComponentCreated(componentDocking: KernelComponentDocking): void;
956
+ Editor3dComponentDocked(componentDocking: KernelComponentDocking): void;
957
957
  Editor3dGeometryReady(id: number): void;
958
958
  Editor3dGeometryNotReady(id: number): void;
959
959
  componentDeleted(componentId: number): void;
@@ -998,30 +998,6 @@ export declare class ComponentArray extends EmsArray<KernelComponent> {
998
998
  export declare class ComponentArray_2 extends EmsArray<KernelComponent> {
999
999
  }
1000
1000
 
1001
- export declare class ComponentRaycastHelper {
1002
- private _object;
1003
- private _camera;
1004
- private _raycaster;
1005
- private _nonTransparentComponent;
1006
- constructor();
1007
- init(object: Object3D, camera: PerspectiveCamera): void;
1008
- setCamera(camera: PerspectiveCamera): void;
1009
- setObject(object: Object3D): void;
1010
- changeMaterialsOnSelect(object: Object3D, component: RoomleComponent | null, selected?: boolean, callback?: () => void): void;
1011
- private _changeMaterialsOnSelect;
1012
- isComponentVisible(component: RoomleComponent): boolean;
1013
- checkComponentAndPreviewVisibility(sceneEventHandler: ConfiguratorSceneEventHandler, configuratorViewModel: ConfiguratorViewModel): void;
1014
- checkComponentVisibility(sceneEventHandler: ConfiguratorSceneEventHandler, configuratorViewModel: ConfiguratorViewModel): void;
1015
- areAllPreviewsVisible(configuratorViewModel: ConfiguratorViewModel): boolean;
1016
- areAllComponentsInFrustum(previews: RoomleComponent[]): boolean;
1017
- checkPreviewVisibility(configuratorViewModel: ConfiguratorViewModel): void;
1018
- isComponentMeasurementLabelOccluded(labelWorldPos: Vector3, component: RoomleComponent): boolean;
1019
- checkMultipleLabelOcclusion(labelPositions: Array<{
1020
- id: string;
1021
- worldPos: Vector3;
1022
- }>, component: RoomleComponent): Set<string>;
1023
- }
1024
-
1025
1001
  export declare type ComponentType = 'preview' | 'component';
1026
1002
 
1027
1003
  export declare type ConfigForPlugin<P extends PluginName> = PluginConfigMap[P];
@@ -1284,7 +1260,7 @@ export declare class ConfiguratorKernelAccess extends CommonKernelAccess {
1284
1260
  private _updatePlanObjectChildren;
1285
1261
  updatePlanObjectDependencies(planObjectId: number): void;
1286
1262
  private _updateConfigurationHasChildren;
1287
- dockComponent(parentId: number, parentDockId: number, childId: number, childDockId: number): void;
1263
+ dockComponent(parentId: number, parentDockId: number, childId: number, childDockId: number, position?: KernelVector3): void;
1288
1264
  changeUseOfHDGeometry(context: ConfiguratorContext, useHDGeometry: boolean): void;
1289
1265
  webGlPreviewDockings(context: ConfiguratorContext, dragIn: boolean): void;
1290
1266
  webGlPreviewDockingsForPlanObject(planObjectId: number, possibleChild: PossibleChildPreviewElement, dragIn: boolean): void;
@@ -1329,13 +1305,13 @@ export declare class ConfiguratorKernelAccess extends CommonKernelAccess {
1329
1305
  meshId: string;
1330
1306
  quality: number;
1331
1307
  }>): Promise<void>;
1332
- Editor3dComponentCreated(id: number, position: KernelVector3, eulerAngles: KernelVector3, isRootComponent: boolean, parentId: number): void;
1308
+ Editor3dComponentCreated(componentDocking: KernelComponentDocking): void;
1333
1309
  Editor3dPlanObjectConstructionDone(planObjectId: number): void;
1334
1310
  Editor3dBeginGroup(): void;
1335
1311
  Editor3dEndGroup(): void;
1336
1312
  Editor3dSetMaterial(): void;
1337
1313
  Editor3dLoadMaterial(): void;
1338
- Editor3dAddDockPreview(componentId: number, previewId: number): void;
1314
+ Editor3dAddDockPreview(componentId: number, previewId: number, componentType: KernelComponentType): void;
1339
1315
  Editor3dSetPreviewAssociations(dockPairs: KernelDockPairPreview[], previewId: number): void;
1340
1316
  Editor3dPreviewConstructionDone(componentId: number, objectId: number): void;
1341
1317
  Editor3dTranslateBy(): void;
@@ -1388,11 +1364,11 @@ export declare interface ConfiguratorKernelCallbackI extends CommonConfiguratorK
1388
1364
  planObjectUpdated(planObject: PlanObjectKernel, pendingDocking: boolean): void;
1389
1365
  planObjectConfigurationUpdated(planObjectId: number, configuration: ConfigurationString, hash: string, pendingDocking: boolean): void;
1390
1366
  configurationLoaded(conversationId: number, objectId: number, componentId: number, hash: string, errors: any, isFreeFlying: boolean): void;
1391
- Editor3dAddDockPreview(componentId: number, previewId: number): void;
1367
+ Editor3dAddDockPreview(componentId: number, previewId: number, componentType: KernelComponentType): void;
1392
1368
  Editor3dSetPreviewAssociations(dockPairs: KernelDockPairPreview[], previewId: number): void;
1393
1369
  Editor3dPreviewConstructionDone(componentId: number, objectId: number): void;
1394
1370
  Editor3dPlanObjectConstructionDone(planObjectId: number): void;
1395
- Editor3dComponentDocked(componentId: number, isRootComponent: boolean, parentObjectRuntimeId: number, componentPosition: KernelVector3, componentRotation: KernelVector3): void;
1371
+ Editor3dComponentDocked(componentDocking: KernelComponentDocking): void;
1396
1372
  finishParameterChange(resolve: () => void, reject: () => void): void;
1397
1373
  updateAnimationParameters(elementId: number | number[], parameters: KernelParameter[]): void;
1398
1374
  changeAnimationValue(elementId: number, parameterKey: string, value: string, level: number, animationLevel: AnimationLevelType, animate: boolean): void;
@@ -1411,7 +1387,6 @@ export declare interface ConfiguratorKernelClass {
1411
1387
  updateConfiguration(kernelConversationId: number, objectOrComponentId: number, serializedConfiguration: string): void;
1412
1388
  loadPlainComponent(conversationId: number, componentId: RapiId, configuration: ConfigurationString): void;
1413
1389
  loadFreeFlyingConfiguration(conversationId: number, configuration: ConfigurationString): void;
1414
- loadFreeFlyingExternalObject(conversationId: number, targetObjectId: number, serializedConfiguration: string): void;
1415
1390
  requestComponentDockPreview(targetObjectId: number, componentId: string, serializedComponent: string, dragIn: boolean, allowInsertInBetween: boolean): void;
1416
1391
  requestItemDockPreview(targetObjectId: number, serializedConfiguration: string, dragIn: boolean, allowInsertInBetween: boolean): void;
1417
1392
  requestExternalObjectDockPreview(targetObjectId: number, articleId: string, dragIn: boolean, allowInsertInBetween: boolean): void;
@@ -1433,9 +1408,9 @@ export declare interface ConfiguratorKernelClass {
1433
1408
  getPlanObjectParameters(planObjectId: number): KernelParameter[];
1434
1409
  getPlanObjectAnimations(planObjectId: number): KernelAnimation[];
1435
1410
  setPlanObjectParameter(planObjectId: number, parameterKey: string, value: string): void;
1436
- dockComponent(childId: number, childDockId: number, parentId: number, parentDockId: number): void;
1437
- dockComponentWithPosition(childId: number, childDockId: number, parentId: number, parentDockId: number, position: KernelVector3): void;
1411
+ dockComponent(childId: number, childDockId: number, parentId: number, parentDockId: number, position?: KernelVector3): void;
1438
1412
  getComponent(componentId: number): KernelComponent;
1413
+ getComponentBounds(componentId: number, animationValues: string[]): KernelAssembledObjectBounds;
1439
1414
  getComponentId(componentId: number): RapiId;
1440
1415
  isExternalPlanObject(objectOrPlanComponentId: number): boolean;
1441
1416
  getComponentOrModuleInformation(objectOrPlanComponentId: number): KernelObjectInformation;
@@ -1550,6 +1525,7 @@ export declare class ConfiguratorSceneEventHandler extends SceneEventHandler<Sce
1550
1525
  private _hoverOffPreview;
1551
1526
  private _hoverOnPreviewLine;
1552
1527
  private _hoverMovePreviewLine;
1528
+ private _updatePositionForPreview;
1553
1529
  private _updatePositionForPreviewLine;
1554
1530
  private _hoverOffPreviewLine;
1555
1531
  private _setDragComponentShadow;
@@ -1571,7 +1547,7 @@ export declare class ConfiguratorSceneEventHandler extends SceneEventHandler<Sce
1571
1547
  setCamera(camera: Camera): void;
1572
1548
  setObject(object: Object3D): void;
1573
1549
  private _findComponentToBeSelected;
1574
- private isSiblingSelected;
1550
+ private getRootComponent;
1575
1551
  }
1576
1552
 
1577
1553
  export declare class ConfiguratorSceneManager extends SceneManager implements ConfiguratorViewModelCallbackI {
@@ -1588,7 +1564,7 @@ export declare class ConfiguratorSceneManager extends SceneManager implements Co
1588
1564
  protected _globalInitData: GlobalInitData;
1589
1565
  protected _viewModel: ConfiguratorViewModel;
1590
1566
  private _componentFactory;
1591
- protected _componentRaycastHelper: ComponentRaycastHelper;
1567
+ protected _highlightHelper: HighlightHelper;
1592
1568
  private _dimensionHelper;
1593
1569
  private _uiIntersectionHelper;
1594
1570
  private _sceneEventHandler;
@@ -1733,6 +1709,7 @@ export declare class ConfiguratorSceneManager extends SceneManager implements Co
1733
1709
  private _removeCustomComponentDimensions;
1734
1710
  clearHighlighting(): void;
1735
1711
  getExternalSubArticles(_id: number): PosArticle[];
1712
+ protected _updateHighlightHelper(object?: Object3D | null): void;
1736
1713
  }
1737
1714
 
1738
1715
  export declare class ConfiguratorUiCallbacks extends UiCallback implements ConfiguratorDebugCallbacks {
@@ -2059,19 +2036,19 @@ export declare class ConfiguratorViewModel implements ConfiguratorKernelCallback
2059
2036
  private _removeLightSourceFromComponent;
2060
2037
  private _addLightSourceToComponent;
2061
2038
  private _changeLightSourceOfComponent;
2062
- getComponent(componentId: number): RoomleComponent;
2063
- getNumberOfPossibleChildrenForComponent(componentId: number): number;
2039
+ getComponent(componentId: number): RoomleComponent | null;
2040
+ getNumberOfPossibleChildrenForComponent(componentId: number): number | undefined;
2064
2041
  tryToMergeComponents(): void;
2065
2042
  private _requestMergeComponents;
2066
2043
  private _mergeNextComponent;
2067
2044
  private _mergeComponent;
2068
2045
  protected _addComponent(component: RoomleComponent): void;
2069
2046
  removeDockingComponent(): void;
2070
- protected dockComponent(componentId: number, isRootComponent: boolean, parentId: number, componentPosition: KernelVector3, componentRotation: KernelVector3): void;
2047
+ protected dockComponent(componentDocking: KernelComponentDocking): void;
2071
2048
  dockComponentWithPosition(previewComponent: PreviewLineComponent, component?: RoomleComponent): void;
2072
2049
  removePreviews(): void;
2073
2050
  private _updatePlanObject;
2074
- Editor3dAddDockPreview(componentId: number, previewId: number): void;
2051
+ Editor3dAddDockPreview(componentId: number, previewId: number, componentType: KernelComponentType): void;
2075
2052
  Editor3dAddMesh(runtimeComponentId: number, meshId: number, geometryName: string, environmentGeometry: boolean, meshAttributes: KernelMeshAttributes, meshBuffer: KernelMeshBuffer): void;
2076
2053
  Editor3ChangedMesh(runtimeComponentId: number, meshId: number, geometryName: string, meshAttributes: KernelMeshAttributes): void;
2077
2054
  Editor3dRemoveMesh(runtimeComponentId: number, meshId: number): void;
@@ -2079,8 +2056,8 @@ export declare class ConfiguratorViewModel implements ConfiguratorKernelCallback
2079
2056
  Editor3dAddLightSource(runtimeComponentId: number, lightSourceId: number, lightSourceAttributes: KernelLightSourceAttributes): void;
2080
2057
  Editor3dChangedLightSource(runtimeComponentId: number, lightSourceId: number, lightSourceAttributes: KernelLightSourceAttributes): void;
2081
2058
  Editor3dBeginConstruction(componentId: number, isDeltaUpdate: boolean): void;
2082
- Editor3dComponentCreated(id: number, position: KernelVector3, eulerAngles: KernelVector3, isRootComponent: boolean, parentObjectRuntimeId: number): void;
2083
- Editor3dComponentDocked(componentId: number, isRootComponent: boolean, parentId: number, componentPosition: KernelVector3, componentRotation: KernelVector3): void;
2059
+ Editor3dComponentCreated(componentDocking: KernelComponentDocking): void;
2060
+ Editor3dComponentDocked(componentDocking: KernelComponentDocking): void;
2084
2061
  Editor3dEndConstruction(id: number): void;
2085
2062
  Editor3dGeometryReady(id: number): void;
2086
2063
  Editor3dGeometryNotReady(id: number): void;
@@ -2114,7 +2091,7 @@ export declare class ConfiguratorViewModel implements ConfiguratorKernelCallback
2114
2091
  setGeometriesMergedListener(fun: () => void): void;
2115
2092
  removeGeometriesMergedListener(): void;
2116
2093
  setMergeThreshold(threshold: number): void;
2117
- protected _generateMesh(runtimeComponentId: number, geometryId: string | null, materialId: string | null, vertices: Float32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array, _type?: KernelEnum, _newGeometryInstance?: boolean, materialAttributes?: Record<string, string>): Mesh;
2094
+ protected _generateMesh(runtimeComponentId: number | undefined, geometryId: string | null | undefined, materialId: string | null, vertices: Float32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array, _type?: KernelEnum, _newGeometryInstance?: boolean, materialAttributes?: Record<string, string>): Mesh;
2118
2095
  protected _setMaterial(mesh: Mesh, material: any, _type?: KernelEnum): void;
2119
2096
  constructComponents(planObjectId: number): void;
2120
2097
  requestSubPartConstruction(partId: number): Promise<Mesh>;
@@ -2259,6 +2236,12 @@ export declare const CORE_PLAN_COMPONENT_TYPE: {
2259
2236
  readonly SUB_ARTICLE: 4;
2260
2237
  };
2261
2238
 
2239
+ export declare const CORE_SNAP_STATE: {
2240
+ readonly DEFAULT: 0;
2241
+ readonly DOCKING: 1;
2242
+ readonly COLLISION: 2;
2243
+ };
2244
+
2262
2245
  export declare const CORE_TYPE_OF_CORE_ID: {
2263
2246
  readonly CONFIGURATOR: 0;
2264
2247
  readonly PLANNER: 1;
@@ -2648,7 +2631,7 @@ export declare abstract class Environment {
2648
2631
  updateCamera(_camera: PerspectiveCamera): void;
2649
2632
  abstract addToScene(): void;
2650
2633
  abstract removeFromScene(): void;
2651
- abstract showGUI(updateCallback: () => void): void;
2634
+ abstract showGUI(sceneParameters: GenericGUIParamFolder): void;
2652
2635
  reload(): void;
2653
2636
  updateBounds(bounds: Vector3, _force?: boolean): void;
2654
2637
  cleanUp(): void;
@@ -2984,11 +2967,19 @@ export declare interface ExternalObjectAPI {
2984
2967
  export declare interface ExternalObjectApiConfiguration {
2985
2968
  loadExternalObjectsFromPlan?: boolean;
2986
2969
  enableArrangementCorrection?: boolean;
2970
+ enableVerticalDocking?: boolean;
2987
2971
  providePossibleChildren?: boolean;
2988
2972
  uiConfiguration?: ExternalObjectUiConfiguration;
2989
2973
  materialConfiguration?: ExternalObjectMaterialConfiguration;
2990
2974
  debugConfiguration?: ExternalObjectDebugConfiguration;
2991
2975
  overlayUiDrawer?: boolean;
2976
+ transparentHighlighting?: boolean;
2977
+ maximumCatalogLevel?: number;
2978
+ }
2979
+
2980
+ export declare interface ExternalObjectContextDataItem {
2981
+ contextData: ExternalObjectRootModuleContextData;
2982
+ rootModuleId: string;
2992
2983
  }
2993
2984
 
2994
2985
  export declare interface ExternalObjectContour {
@@ -3000,12 +2991,23 @@ export declare interface ExternalObjectDebugConfiguration {
3000
2991
  createDebugGeometry?: boolean;
3001
2992
  }
3002
2993
 
2994
+ export declare interface ExternalObjectDockedContext {
2995
+ dockedRoots: ExternalObjectDockedRootModule[];
2996
+ ownDockingVector: string;
2997
+ }
2998
+
2999
+ export declare interface ExternalObjectDockedRootModule {
3000
+ dockingVector: string;
3001
+ id: string;
3002
+ }
3003
+
3003
3004
  export declare interface ExternalObjectGroup {
3004
3005
  groupId: string;
3005
3006
  pos: number[];
3006
3007
  rotationY?: number;
3007
3008
  rootModules?: ExternalObjectRootModule[];
3008
3009
  contours?: ExternalObjectContour[];
3010
+ contextData?: ExternalObjectContextDataItem[];
3009
3011
  }
3010
3012
 
3011
3013
  export declare interface ExternalObjectLoadConfiguration {
@@ -3045,6 +3047,10 @@ export declare interface ExternalObjectRootModule {
3045
3047
  rotationY?: number;
3046
3048
  }
3047
3049
 
3050
+ export declare interface ExternalObjectRootModuleContextData {
3051
+ dockedRoots: ExternalObjectDockedContext[];
3052
+ }
3053
+
3048
3054
  export declare interface ExternalObjectSegment {
3049
3055
  cmd: string;
3050
3056
  x: number;
@@ -3159,6 +3165,7 @@ export declare interface FeatureFlags {
3159
3165
  /* Excluded from this release type: interiorLights */
3160
3166
  /* Excluded from this release type: advancedDimensioning */
3161
3167
  /* Excluded from this release type: webGpu */
3168
+ /* Excluded from this release type: advancedHighlighting */
3162
3169
  }
3163
3170
 
3164
3171
  export declare interface FetchOptions {
@@ -3210,6 +3217,20 @@ export declare class FloorPlanElementViewModel extends PlanElementViewModel {
3210
3217
  private calculateTextVisibility;
3211
3218
  }
3212
3219
 
3220
+ /**
3221
+ * Minimal structural type that both dat.gui `GUI` folders (WebGL) and three.js
3222
+ * `ParametersGroup` (WebGPU) satisfy, this allows building
3223
+ * debug GUIs without coupling to a specific backend.
3224
+ *
3225
+ * `any` is intentional here — the two libraries have genuinely incompatible
3226
+ * generic signatures that cannot be unified without it.
3227
+ */
3228
+ export declare interface GenericGUIParamFolder {
3229
+ add(object: any, property: string, ...args: any[]): any;
3230
+ addColor(object: any, property: string): any;
3231
+ addFolder(name: string): GenericGUIParamFolder;
3232
+ }
3233
+
3213
3234
  export declare type GenericRoomleRenderer = RoomleRenderer<WebGLRenderer | WebGPURenderer>;
3214
3235
 
3215
3236
  export declare const enum GEOMETRY {
@@ -3386,7 +3407,7 @@ export declare interface GlueLogic {
3386
3407
  updateProperty(rootModuleId?: string, propertyName?: string, propertyValue?: string | number | boolean): void;
3387
3408
  findValidSubArticles(posGroupIds: string[] | string): PosArticle[];
3388
3409
  getValidContainerModulesForSubArticle(posGroupIds: string[] | string, subArticleId: string): ExternalObjectValidContainerModules[];
3389
- addSubArticle(articleId: string, rootModuleId: string, parentModuleId: string): void;
3410
+ addSubArticle(articleId: string, rootModuleId: string, parentModuleId: string, insertPosition?: number[]): void;
3390
3411
  deleteSubArticles(groupId: string, subModuleId: string[] | string): Promise<void>;
3391
3412
  arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): Promise<void>;
3392
3413
  changedGroupPlanningSituation(changedGroup: ExternalObjectGroup, objectPositionChanged: boolean): Promise<void>;
@@ -3508,6 +3529,18 @@ export declare type HiAttributeOptionsResult = CheckDropDownResult | CheckDropDo
3508
3529
 
3509
3530
  export declare type HiContextAction = (typeof HI_CONTEXT_ACTION)[keyof typeof HI_CONTEXT_ACTION];
3510
3531
 
3532
+ export declare interface HighlightHelper {
3533
+ init(object: Object3D, camera: PerspectiveCamera): void;
3534
+ setCamera(camera: PerspectiveCamera): void;
3535
+ setObject(object: Object3D | null): void;
3536
+ cancelDocking(object: Object3D, callback?: () => void): void;
3537
+ checkComponentAndPreviewVisibility(sceneEventHandler: ConfiguratorSceneEventHandler, configuratorViewModel: ConfiguratorViewModel): void;
3538
+ checkComponentVisibility(sceneEventHandler: ConfiguratorSceneEventHandler, configuratorViewModel: ConfiguratorViewModel): void;
3539
+ checkPreviewVisibility(configuratorViewModel: ConfiguratorViewModel): void;
3540
+ areAllComponentsInFrustum(previews: RoomleComponent[]): boolean;
3541
+ onSelectionChanged(object: Object3D, componentIds: number[], callback?: () => void): void;
3542
+ }
3543
+
3511
3544
  export declare type HiLoadObjectReason = (typeof HI_LOAD_OBJECT_REASON)[keyof typeof HI_LOAD_OBJECT_REASON];
3512
3545
 
3513
3546
  export declare interface HiObjectSelectionApi {
@@ -3526,6 +3559,7 @@ export declare class HiTagCatalogCallbacks implements Context {
3526
3559
  private _externalItems;
3527
3560
  private _externalConfigurations;
3528
3561
  private _tagIds;
3562
+ private _initData;
3529
3563
  private _globalCallback;
3530
3564
  private _configuratorViewModel;
3531
3565
  constructor(creator: string, articles: Promise<any>);
@@ -3668,7 +3702,7 @@ export declare class ImageRenderer implements Context {
3668
3702
  */
3669
3703
  private _renderImageFrameWithCleanScene;
3670
3704
  private _compositeWithDimensions;
3671
- prepareThumbnailImage(scene: Scene, viewModel: PlanViewModel, cameraBehaviour: CameraBehaviour, perspectiveOffsetCamera: PerspectiveCamera, options: PrepareImageOptionsPlanner, onAfterRender: () => void): Promise<Base64Image>;
3705
+ prepareThumbnailImage(scene: Scene, viewModel: PlanViewModel, cameraBehaviour: CameraBehaviour, perspectiveOffsetCamera: PerspectiveCamera, options: PrepareImageOptionsPlanner | undefined, onAfterRender: () => void): Promise<Base64Image>;
3672
3706
  private _renderImageFrame;
3673
3707
  }
3674
3708
 
@@ -3701,8 +3735,8 @@ export declare class InitData implements Context, Omit<InitDataDefinition, 'colo
3701
3735
  disableDebugGUI?: boolean;
3702
3736
  disableEnvMap?: boolean;
3703
3737
  envMapUrl?: string;
3704
- envMapIntensity?: number;
3705
- envMapRotation?: number;
3738
+ envMapIntensity: number;
3739
+ envMapRotation: number;
3706
3740
  maxLightSources?: number;
3707
3741
  legacyLight?: boolean;
3708
3742
  sceneLight?: DefaultEnvironmentSceneType;
@@ -3958,6 +3992,11 @@ export declare interface KernelAnimationAction {
3958
3992
  type: string;
3959
3993
  }
3960
3994
 
3995
+ export declare interface KernelAssembledObjectBounds {
3996
+ boundingBox: KernelCube;
3997
+ parts: KernelObjectBounds[];
3998
+ }
3999
+
3961
4000
  export declare interface KernelAttic extends KernelObject {
3962
4001
  getFrom(): NodePlanObject;
3963
4002
  getTo(): NodePlanObject;
@@ -4006,7 +4045,7 @@ export declare interface KernelComponent {
4006
4045
  rotation: KernelVector3;
4007
4046
  globalTransform: KernelMatrix4;
4008
4047
  boxForMeasurement: KernelCube;
4009
- geometryBounds: KernelCube[];
4048
+ geometryBounds: KernelAssembledObjectBounds;
4010
4049
  parameters: KernelParameter[];
4011
4050
  parameterGroups: KernelParameterGroup[];
4012
4051
  possibleChildren: KernelPossibleChild[];
@@ -4017,6 +4056,15 @@ export declare interface KernelComponent {
4017
4056
  childAnimationTransformations: ComponentAnimationTransformation[];
4018
4057
  }
4019
4058
 
4059
+ export declare interface KernelComponentDocking {
4060
+ componentId: number;
4061
+ isRootComponent: boolean;
4062
+ parentId: number;
4063
+ position: KernelVector3;
4064
+ rotation: KernelVector3;
4065
+ type: KernelComponentType;
4066
+ }
4067
+
4020
4068
  export declare interface KernelComponentType {
4021
4069
  value: Enumify_3<typeof CORE_PLAN_COMPONENT_TYPE>;
4022
4070
  }
@@ -4065,6 +4113,14 @@ export declare interface KernelEnum {
4065
4113
  value: number;
4066
4114
  }
4067
4115
 
4116
+ export declare interface KernelExtrudedRectangle {
4117
+ angle: number;
4118
+ bottomCenter: KernelVector3;
4119
+ eulerRotation: KernelVector3;
4120
+ size: KernelVector3;
4121
+ readonly cornerPoints: EmsArray<KernelVector3>;
4122
+ }
4123
+
4068
4124
  export declare interface KernelFloor extends KernelObject {
4069
4125
  area: number;
4070
4126
  material: KernelFloorMaterial;
@@ -4154,6 +4210,11 @@ export declare interface KernelObject {
4154
4210
  getId(): number;
4155
4211
  }
4156
4212
 
4213
+ export declare interface KernelObjectBounds {
4214
+ boundingBox: KernelCube;
4215
+ rectangleBox: KernelExtrudedRectangle;
4216
+ }
4217
+
4157
4218
  export declare interface KernelObjectConfiguration {
4158
4219
  runtimeId: number;
4159
4220
  serializedDefinition: string;
@@ -4364,7 +4425,7 @@ export declare class KernelViewModel {
4364
4425
  protected _coreReference: KernelObject | null;
4365
4426
  constructor(reference: KernelObject);
4366
4427
  clearReference(): void;
4367
- getKernelObject(): KernelObject;
4428
+ getKernelObject(): KernelObject | null;
4368
4429
  }
4369
4430
 
4370
4431
  export declare interface KernelViewType {
@@ -4413,7 +4474,7 @@ export declare interface LibraryData {
4413
4474
  solveModuleAttributeConflict(module: PosModuleData, attributeName: string, value: string | number | boolean): PosModuleAttribute[] | undefined;
4414
4475
  getValidSubArticles(calculatedPosGroup: PosGroup, articles: PosArticle[], masterData: MasterData): PosArticle[];
4415
4476
  getValidContainerModulesForSubArticle(calculatedPosGroup: PosGroup, subArticle: PosArticle, masterData: MasterData): ExternalObjectValidContainerModules[];
4416
- addSubArticle(targetPosGroup: PosGroup, article: PosArticle, rootId: string, parentModuleId: string): PosGroup;
4477
+ addSubArticle(targetPosGroup: PosGroup, article: PosArticle, rootId: string, parentModuleId: string, insertPosition?: number[]): PosGroup;
4417
4478
  deleteSubArticle(targetPosGroup: PosGroup, rootId: string, articleModuleId: string): PosGroup;
4418
4479
  }
4419
4480
 
@@ -4439,7 +4500,7 @@ export declare class LightCache {
4439
4500
  allowedToSpawnMoreLights(): boolean;
4440
4501
  addActiveLight(light: Light): void;
4441
4502
  cacheLight(light: Light): void;
4442
- getLightFromCache(type: KernelLightSourceType): Light;
4503
+ getLightFromCache(type: KernelLightSourceType): Light | null;
4443
4504
  clear(): void;
4444
4505
  private _setMaximumLights;
4445
4506
  }
@@ -4468,7 +4529,7 @@ export declare abstract class LightSetting {
4468
4529
  abstract addToScene(): void;
4469
4530
  abstract removeFromScene(): void;
4470
4531
  abstract reload(): void;
4471
- abstract showGUI(): void;
4532
+ abstract showGUI(sceneParameters: GenericGUIParamFolder): void;
4472
4533
  getCameraContainer(): Object3D;
4473
4534
  }
4474
4535
 
@@ -4921,6 +4982,11 @@ export declare interface ObjectMeasurementsTransferable {
4921
4982
  objectToWallsMeasurements: ObjectToWallDimensionTransferable[];
4922
4983
  }
4923
4984
 
4985
+ export declare interface ObjectSnapInformation {
4986
+ geometryHelpLines: GeometryHelpLineArray;
4987
+ snapState: SnapState;
4988
+ }
4989
+
4924
4990
  export declare type ObjectToWallDimensionTransferable = DimensionDefinition<Position2, Position3>;
4925
4991
 
4926
4992
  export declare interface ObjectToWallLine {
@@ -4943,6 +5009,11 @@ export declare interface OffsetCamera {
4943
5009
  export declare interface OrthographicOffsetCamera extends OrthographicCamera, OffsetCamera {
4944
5010
  }
4945
5011
 
5012
+ export declare interface OutlineCustomParameters {
5013
+ outlineVisibleEdgeColor: ColorRepresentation;
5014
+ outlineHiddenEdgeColor: ColorRepresentation;
5015
+ }
5016
+
4946
5017
  export declare const enum PARAMETER_KERNEL_TYPE {
4947
5018
  UNKNOWN = "",
4948
5019
  INTEGER = "Integer",
@@ -5304,7 +5375,7 @@ export declare interface PlanModelViewHelper_2 {
5304
5375
  getExternalObjectGroups(plan: Plan_2): KernelObjectConfigurationArray;
5305
5376
  getExternalRoomInformation(plan: Plan_2): RoomInformation;
5306
5377
  calculateLightSourceDistribution(plan: Plan_2, lightSourceConfiguration: LightSourceConfiguration): RoomLightSourceDistributionArray;
5307
- getObjectGeometryHelpLines(anObject: PlanObject, debugHelpLines: boolean): GeometryHelpLineArray;
5378
+ getObjectSnapInformation(anObject: PlanObject, debugHelpLines: boolean): ObjectSnapInformation;
5308
5379
  }
5309
5380
 
5310
5381
  export declare class Planner<P extends readonly PluginName[] = readonly []> extends Main {
@@ -5413,7 +5484,7 @@ export declare class PlannerKernelAccess extends ConfiguratorKernelAccess {
5413
5484
  constructor(creator: string);
5414
5485
  protected _loadSuccess(): void;
5415
5486
  protected _loadError(): void;
5416
- get homagIntelligence(): HomagIntelligence;
5487
+ get homagIntelligence(): HomagIntelligence | null;
5417
5488
  setHomagIntelligence(homagIntelligence: HomagIntelligence | null): void;
5418
5489
  private _createPlanInteractionHandler;
5419
5490
  addPlannerListener(listener: PlannerKernelCallbackI): void;
@@ -5459,7 +5530,7 @@ export declare class PlannerKernelAccess extends ConfiguratorKernelAccess {
5459
5530
  externalObjectComponentSplitOff(plan: Plan_2, planObject: PlanObject, splitGroups: ExternalObjectGroup[]): void;
5460
5531
  externalObjectArrangementChanged(plan: Plan_2, planObject: PlanObject, changedGroup: ExternalObjectGroup): void;
5461
5532
  externalObjectRequestAddOnContainers(plan: Plan_2, planObject: PlanObject, groupId: string, subArticleId: string): void;
5462
- externalObjectAddSubArticle(plan: Plan_2, planObject: PlanObject, subArticleId: string, rootModuleId: string, parentModuleId: string): void;
5533
+ externalObjectAddSubArticle(plan: Plan_2, planObject: PlanObject, subArticleId: string, rootModuleId: string, parentModuleId: string, insertPosition?: number[]): void;
5463
5534
  externalObjectRemoveSubModule(plan: Plan_2, planObject: PlanObject, groupId: string, subModuleId: string): void;
5464
5535
  planObjectConfigurationLoaded(plan: Plan_2, element: PlanElement_2, success: boolean): Promise<void>;
5465
5536
  planObjectConfigurationChanged(plan: Plan_2, object: PlanObject): void;
@@ -5523,7 +5594,7 @@ export declare interface PlannerKernelCallbackI {
5523
5594
  stoppedDrawing(): void;
5524
5595
  requestCatalogItem(catalogItemId: string): void;
5525
5596
  externalObjectRequestAddOnContainers(groupId: string, subArticleId: string): void;
5526
- externalObjectAddSubArticle(subArticleId: string, rootModuleId: string, parentModuleId: string): void;
5597
+ externalObjectAddSubArticle(subArticleId: string, rootModuleId: string, parentModuleId: string, insertPosition?: number[]): void;
5527
5598
  externalObjectRemoveSubModule(groupId: string, subModuleId: string): void;
5528
5599
  }
5529
5600
 
@@ -5624,7 +5695,7 @@ export declare class PlannerSceneEventHandler extends SceneEventHandler<SceneEve
5624
5695
  disable(): void;
5625
5696
  get planInteractionHandler(): PlanInteractionHandler;
5626
5697
  get planModelViewHelper(): PlanModelViewHelper_2;
5627
- get hoveredObjectId(): number;
5698
+ get hoveredObjectId(): number | null;
5628
5699
  get isCurrentlyDrawing(): boolean;
5629
5700
  enable(): void;
5630
5701
  enableConstructionEvents(enable: boolean): void;
@@ -5834,6 +5905,7 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
5834
5905
  protected _updateConfigurationFromHistory(configurationString: string): Promise<void>;
5835
5906
  setMode(mode: Enumify_2<typeof CAMERA_TYPE>): void;
5836
5907
  private _clearHighlighting;
5908
+ updateHighlightingOfPlanElements(): void;
5837
5909
  highlightPlanElementsById(runtimeIds: number[] | null): void;
5838
5910
  highlightPlanElementById(runtimeId: number | null): void;
5839
5911
  destroy(): void;
@@ -5870,8 +5942,8 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
5870
5942
  enableAdvancedDocking(): void;
5871
5943
  disableAdvancedDocking(): void;
5872
5944
  isEnabledChildObjectMode(planElementViewModel: PlanElementViewModel): boolean;
5873
- enableChildObjects(planElementViewModel: PlanElementViewModel): KernelObject;
5874
- disableChildObjects(planElementViewModel: PlanElementViewModel): KernelObject;
5945
+ enableChildObjects(planElementViewModel: PlanElementViewModel): KernelObject | null;
5946
+ disableChildObjects(planElementViewModel: PlanElementViewModel): KernelObject | null;
5875
5947
  dragIn(dragEvent: DragEvent): void;
5876
5948
  getPositionForDragEvent(dragEvent: DragEvent | TouchEvent): Vector3 | null;
5877
5949
  getPlannerSceneEventHandler(): PlannerSceneEventHandler;
@@ -5948,7 +6020,7 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
5948
6020
  insertRapiObjects(rapiIds: InsertItemIdInfo[]): Promise<InsertItemResult[]>;
5949
6021
  private _saveConfiguration;
5950
6022
  externalObjectRequestAddOnContainers(groupId: string, subArticleId: string): Promise<void>;
5951
- externalObjectAddSubArticle(subArticleId: string, rootModuleId: string, parentModuleId: string): void;
6023
+ externalObjectAddSubArticle(subArticleId: string, rootModuleId: string, parentModuleId: string, insertPosition?: number[]): void;
5952
6024
  externalObjectRemoveSubModule(groupId: string, subModuleId: string): void;
5953
6025
  getExternalSubArticles(id: number): PosArticle[];
5954
6026
  }
@@ -5982,9 +6054,9 @@ export declare interface PlanObject extends PlanElement_2 {
5982
6054
  }
5983
6055
 
5984
6056
  export declare interface PlanObjectKernel {
5985
- bounds: KernelVector3;
6057
+ geometryBounds: KernelCube;
5986
6058
  boxForMeasurement: KernelCube;
5987
- boxOfGeometry: KernelCube;
6059
+ geometryBoundsWithEnvironment: KernelCube;
5988
6060
  id: number;
5989
6061
  rootPlanComponentId: number;
5990
6062
  externalId: string;
@@ -6107,7 +6179,7 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6107
6179
  private _handleCeilingPlanElementViewModel;
6108
6180
  private _handleNodePlanElementViewModel;
6109
6181
  private _getCeilingLightsDistribution;
6110
- handleInitialLights(_maxTextures: number, qualityLevel: QualityLevel): void;
6182
+ handleInitialCeilingLights(ceilingLightsParameters: GenericGUIParamFolder | undefined, qualityLevel: QualityLevel): void;
6111
6183
  handleCeilingLights(): void;
6112
6184
  handleLampLight(lamp: StaticPlanObjectViewModel, options: {
6113
6185
  targetPos: KernelVector3f;
@@ -6116,7 +6188,7 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6116
6188
  decay?: number;
6117
6189
  intensity?: number;
6118
6190
  active?: boolean;
6119
- }): void;
6191
+ }, lampLightsParameters?: ParametersGroup): void;
6120
6192
  handleRectLampLight(lamp: StaticPlanObjectViewModel, options: {
6121
6193
  dimensions: {
6122
6194
  width: number;
@@ -6126,11 +6198,11 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6126
6198
  color?: number;
6127
6199
  rotation?: KernelVector3f;
6128
6200
  active?: boolean;
6129
- }): void;
6201
+ }, rectLightsParameters?: ParametersGroup): void;
6130
6202
  toggleCeilingLights(on: boolean): void;
6131
6203
  private commonHandlerForEditableAndTopView;
6132
6204
  isChildObjectRootComponent(roomleComponent: RoomleComponent): boolean;
6133
- protected dockComponent(componentId: number, isRootComponent: boolean, parentId: number, componentPosition: KernelVector3, componentRotation: KernelVector3): void;
6205
+ protected dockComponent(componentDocking: KernelComponentDocking): void;
6134
6206
  protected _addComponent(component: RoomleComponent): void;
6135
6207
  private _getPlanObjectViewModelForRuntimeId;
6136
6208
  getConfigurablePlanObjectForId(id: number): ConfiguratorPlanObjectViewModel | null;
@@ -6174,9 +6246,9 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6174
6246
  getFloorPlanObjectViewModels(): FloorPlanElementViewModel[];
6175
6247
  getMeasurementLineObjectViewModels(): MeasurementLinePlanElementViewModel[];
6176
6248
  getWallAtticsObjectViewModels(): WallAtticPlanElementViewModel[];
6177
- protected _generateMesh(runtimeComponentId: number, geometryId: string | null, material: any, vertices: Float32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array, type?: KernelEnum, newGeometryInstance?: boolean, materialAttributes?: Record<string, string>): Mesh;
6249
+ protected _generateMesh(runtimeComponentId: number | undefined, geometryId: string | null | undefined, material: any, vertices: Float32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array, type?: KernelEnum, newGeometryInstance?: boolean, materialAttributes?: Record<string, string>): Mesh;
6178
6250
  protected _setMaterial(mesh: Mesh, material: any, _type?: KernelEnum, materialAttributes?: Record<string, string>): void;
6179
- Editor3dComponentCreated(id: number, position: KernelVector3, eulerAngles: KernelVector3, isRootComponent: boolean, parentObjectRuntimeId: number): void;
6251
+ Editor3dComponentCreated(componentDocking: KernelComponentDocking): void;
6180
6252
  addPlanObjectToScene(_planViewModel: PlanObjectViewModel | null): void;
6181
6253
  handlerSwitchedPlans(_fromPlan: Plan_2, _toPlan: Plan_2): void;
6182
6254
  planCompletelyLoaded(_plan: Plan_2): void;
@@ -6205,7 +6277,7 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6205
6277
  planCleared(): void;
6206
6278
  requestCatalogItem(_catalogItemId: string): void;
6207
6279
  externalObjectRequestAddOnContainers(_groupId: string, _subArticleId: string): void;
6208
- externalObjectAddSubArticle(_subArticleId: string, _rootModuleId: string, _parentModuleId: string): void;
6280
+ externalObjectAddSubArticle(_subArticleId: string, _rootModuleId: string, _parentModuleId: string, _insertPosition?: number[]): void;
6209
6281
  externalObjectRemoveSubModule(_groupId: string, _subModuleId: string): void;
6210
6282
  }
6211
6283
 
@@ -6276,6 +6348,10 @@ export declare interface PosArticleInfo {
6276
6348
  isConfigDummy?: boolean;
6277
6349
  }
6278
6350
 
6351
+ export declare interface PosContextData {
6352
+ dockedRoots?: PosDockedContext[];
6353
+ }
6354
+
6279
6355
  export declare interface PosContour {
6280
6356
  level: number;
6281
6357
  segments: PosContourSegment[];
@@ -6304,6 +6380,16 @@ export declare const enum PosDock {
6304
6380
  RightBackBottom = "RightBackBottom"
6305
6381
  }
6306
6382
 
6383
+ export declare interface PosDockedContext {
6384
+ ownDockingVector: PosDock | string;
6385
+ dockedRoots: PosDockedContextRoot[];
6386
+ }
6387
+
6388
+ export declare interface PosDockedContextRoot {
6389
+ id: string;
6390
+ dockingVector: PosDock | string;
6391
+ }
6392
+
6307
6393
  export declare interface PosDockInfo {
6308
6394
  id: PosDock;
6309
6395
  start: number[];
@@ -6421,6 +6507,7 @@ export declare interface PosModuleRootData extends PosModuleData, PosPositionInf
6421
6507
  dockInfos: PosDockInfo[];
6422
6508
  insertLevelInfos?: PosInsertLevelInfo[];
6423
6509
  insertLevelFixed?: boolean;
6510
+ contextData?: PosContextData;
6424
6511
  }
6425
6512
 
6426
6513
  export declare interface PosPartData {
@@ -6516,9 +6603,11 @@ export declare interface PreviewComponent extends RoomleComponent {
6516
6603
  stringId: string;
6517
6604
  receivedPointAssociation: boolean;
6518
6605
  dockInsertAnimation?: DragInsertAnimation;
6606
+ clickPosition?: Vector3;
6519
6607
  clonePreview(cloneId: string): PreviewComponent;
6520
6608
  preparePreview(): void;
6521
6609
  startPulsating(): void;
6610
+ updateClickPosition(intersectionPoint: Vector3): void;
6522
6611
  }
6523
6612
 
6524
6613
  export declare interface PreviewLineComponent extends PreviewComponent {
@@ -6786,7 +6875,7 @@ export declare class RapiAccess implements Context {
6786
6875
  updateCache(rapiPath: RAPI_PATHS, data: RapiJson & {
6787
6876
  id: RapiId;
6788
6877
  }): void;
6789
- getExternalObjects(externalObjectIds: Array<`__ext__obj__#${string}`>): Promise<any[]>;
6878
+ getExternalObjects(externalObjectIds: Array<`__ext__obj__#${string}`>): Promise<ExternalDataResponse<ExternalConfiguration>[] | undefined>;
6790
6879
  }
6791
6880
 
6792
6881
  export declare interface RapiAdditionalContent extends RapiJson {
@@ -7296,7 +7385,7 @@ export declare class RaycastHelper extends EventDispatcher<Record<RAYCAST_EVENT,
7296
7385
  setCamera(camera: Camera): void;
7297
7386
  setObject(object: Object3D): void;
7298
7387
  setMode(mode: INTERSECTION_MODE): void;
7299
- intersectMouseOnScene(event: Pick<PointerInputEvent, 'positionRelative'>): KernelVector3;
7388
+ intersectMouseOnScene(event: Pick<PointerInputEvent, 'positionRelative'>): KernelVector3 | null;
7300
7389
  enableOnWallSnapping(): void;
7301
7390
  disableOnWallSnapping(): void;
7302
7391
  getCameraPosition(): Vector3;
@@ -7352,7 +7441,7 @@ export declare class RoomDesignerApi implements RoomDesignerRequests {
7352
7441
  deleteRootModule(rootModuleId: string): void;
7353
7442
  getPosDataOfAllGroups(): Promise<PosGroup[]>;
7354
7443
  getRoomInformation(): Promise<ExternalRoomInformation>;
7355
- saveExternalObjectSnapshot(): Promise<ExternalObjectSnapshotSaveResult>;
7444
+ saveExternalObjectSnapshot(): Promise<ExternalObjectSnapshotSaveResult | null>;
7356
7445
  saveCurrentPlanSnapshot(): Promise<RapiPlanSnapshotGetData>;
7357
7446
  renderPosDataImage(posDataJson: object): Promise<void>;
7358
7447
  }
@@ -7388,6 +7477,8 @@ export declare const ROOMLE_COLORS: {
7388
7477
  readonly DEFAULT_BACKGROUND: 16250871;
7389
7478
  readonly SELECTION: 16777215;
7390
7479
  readonly PREVIEW_DOCKING_COLOR: 266198493;
7480
+ readonly SNAP_DOCKING: 8454016;
7481
+ readonly SNAP_COLLISION: 16744576;
7391
7482
  };
7392
7483
 
7393
7484
  export declare const ROOMLE_HIGHLIGHTNG: {
@@ -7402,6 +7493,7 @@ export declare interface RoomleComponent extends RoomleEventedObject3D {
7402
7493
  runtimeId: number;
7403
7494
  parentObjectId: number;
7404
7495
  isRootComponent: boolean;
7496
+ componentType: KernelComponentType;
7405
7497
  meshes: RoomleEventedMesh[];
7406
7498
  boundingBox: Box3;
7407
7499
  boundingBoxMesh: RoomleEventedMesh | null;
@@ -7430,7 +7522,7 @@ export declare interface RoomleComponent extends RoomleEventedObject3D {
7430
7522
  hoverOff(): void;
7431
7523
  loading(): void;
7432
7524
  loadingFinished(): void;
7433
- computeBoundingBox(boxForMeasurements?: KernelCube, geometryBounds?: KernelCube[], useMeshes?: boolean): void;
7525
+ computeBoundingBox(boxForMeasurements?: KernelCube, geometryBounds?: KernelAssembledObjectBounds, useMeshes?: boolean): void;
7434
7526
  recursiveMeshes(): Mesh[];
7435
7527
  isChild(componentId: number): boolean;
7436
7528
  getKernelPosition(newParent: RoomleComponent): KernelVector3;
@@ -7438,9 +7530,9 @@ export declare interface RoomleComponent extends RoomleEventedObject3D {
7438
7530
  }
7439
7531
 
7440
7532
  export declare interface RoomleComponentFactory {
7441
- create(creator: string, id: number, position: KernelVector3, eulerAngles: KernelVector3, parentObjectId: number, isRootComponent: boolean): RoomleComponent;
7533
+ create(creator: string, id: number, position: KernelVector3, eulerAngles: KernelVector3, parentObjectId: number, isRootComponent: boolean, componentType: KernelComponentType): RoomleComponent;
7442
7534
  createStatic(creator: string, id: number, url: string): StaticComponent;
7443
- createPreview(id: number, parentObjectId: number, creator: string): PreviewComponent;
7535
+ createPreview(id: number, parentObjectId: number, componentType: KernelComponentType, creator: string): PreviewComponent;
7444
7536
  createPreviewLine(id: number, previewComponent: PreviewComponent, creator: string): PreviewLineComponent;
7445
7537
  isPreview(obj: RoomleComponent): boolean;
7446
7538
  isPreviewLine(obj: RoomleComponent): boolean;
@@ -7715,7 +7807,7 @@ export declare class RoomleConfigurator<P extends readonly PluginName[] = readon
7715
7807
  * @param value
7716
7808
  * @param parameter
7717
7809
  */
7718
- formatValueToUnitString(value: number, parameter: KernelParameter): string | number;
7810
+ formatValueToUnitString(value: number, parameter: KernelParameter): string | number | null;
7719
7811
  /**
7720
7812
  * Get tag for a given tag id
7721
7813
  *
@@ -8060,8 +8152,8 @@ export declare class RoomleConfigurator<P extends readonly PluginName[] = readon
8060
8152
  */
8061
8153
  getChildrenOfPlanComponent(componentRuntimeId: number, onlyPossible?: boolean, onlyVisible?: boolean): Promise<{
8062
8154
  tags: UiPossibleChildTag[];
8063
- defaultChild: UiPossibleChild;
8064
- }>;
8155
+ defaultChild: UiPossibleChild | undefined;
8156
+ } | null>;
8065
8157
  /**
8066
8158
  * Returns all possible children and the default child for the plan object
8067
8159
  * @param onlyPossible: boolean true if you only want possibleChildren
@@ -8069,8 +8161,8 @@ export declare class RoomleConfigurator<P extends readonly PluginName[] = readon
8069
8161
  */
8070
8162
  getChildrenOfPlanObject(onlyPossible?: boolean, onlyVisible?: boolean): Promise<{
8071
8163
  tags: UiPossibleChildTag[];
8072
- defaultChild: UiPossibleChild;
8073
- }>;
8164
+ defaultChild: UiPossibleChild | undefined;
8165
+ } | null>;
8074
8166
  private _addAdditionalInfoToPossibleChildren;
8075
8167
  private _getPossibleChildrenForKernelPossibleChildren;
8076
8168
  private _addPossibleChildren;
@@ -8271,7 +8363,6 @@ export declare class RoomleMaterialViewer implements GlobalAPI, Context, Externa
8271
8363
  get callbacks(): RoomleMaterialViewerUiCallback;
8272
8364
  set callbacks(callback: RoomleMaterialViewerUiCallback);
8273
8365
  loadMaterialShading(materialShading: RapiMaterialShading): Promise<void>;
8274
- resetMaterial(): void;
8275
8366
  loadMaterial(material: RapiMaterial, options?: {
8276
8367
  flushCache?: boolean;
8277
8368
  }): Promise<void>;
@@ -8608,11 +8699,11 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8608
8699
  /**
8609
8700
  * enable interaction with child components of configurable objects in the plan
8610
8701
  */
8611
- enableChildObjects(planElementViewModel: PlanElementViewModel): KernelObject;
8702
+ enableChildObjects(planElementViewModel: PlanElementViewModel): KernelObject | null;
8612
8703
  /**
8613
8704
  * disable interaction with child components of configurable objects in the plan
8614
8705
  */
8615
- disableChildObjects(planElementViewModel: PlanElementViewModel): KernelObject;
8706
+ disableChildObjects(planElementViewModel: PlanElementViewModel): KernelObject | null;
8616
8707
  /**
8617
8708
  * get the Partlist of certain runtimeID
8618
8709
  * can be used if partlist of a selected Item is needed
@@ -8626,7 +8717,7 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8626
8717
  * @param value
8627
8718
  * @param parameter
8628
8719
  */
8629
- formatValueToUnitString(value: number, parameter: KernelParameter): string | number;
8720
+ formatValueToUnitString(value: number, parameter: KernelParameter): string | number | null;
8630
8721
  /**
8631
8722
  * Draws walls according to the wall definitions
8632
8723
  * this can be used to create a room on the fly
@@ -8862,24 +8953,24 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8862
8953
  redo(): Promise<void>;
8863
8954
  setHomagIntelligence(homagIntelligence: HomagIntelligence): void;
8864
8955
  private _getSubArticleId;
8865
- newPosDataFromId(id: string): Promise<PosGroup>;
8956
+ newPosDataFromId(id: string): Promise<PosGroup | undefined> | undefined;
8866
8957
  /**
8867
8958
  * deprecated, use placeOrder() instead
8868
8959
  */
8869
- sendToOM(withPrice?: boolean): Promise<void>;
8960
+ sendToOM(withPrice?: boolean): Promise<void> | undefined;
8870
8961
  /**
8871
8962
  * Places an order via Homag Intelligence module
8872
8963
  * @param withPrice whether to include price information in the order
8873
8964
  * @param orderHeader optional order header information
8874
8965
  */
8875
- placeOrder(withPrice?: boolean, orderHeader?: HiOrderHeader): Promise<void>;
8966
+ placeOrder(withPrice?: boolean, orderHeader?: HiOrderHeader): Promise<void> | undefined;
8876
8967
  /**
8877
8968
  * Fetches the price for the current plan via Homag Intelligence module
8878
8969
  * @param planId optional plan ID to fetch the price for
8879
8970
  * @param orderHeader optional order header information
8880
8971
  */
8881
8972
  fetchPrice(planId?: string, orderHeader?: HiOrderHeader): Promise<any>;
8882
- getOrderManagerGroupData(planId?: string): Promise<HiOrderData>;
8973
+ getOrderManagerGroupData(planId?: string): Promise<HiOrderData | null | undefined>;
8883
8974
  getRapiAccess(): RapiAccess;
8884
8975
  getElementOpenCloseAnimation(planElement: PlanElementViewModel, componentIds?: number[]): AnimationKeyAndValue | null;
8885
8976
  /**
@@ -9097,6 +9188,7 @@ export declare abstract class RoomleRenderer<RendererType extends WebGLRenderer
9097
9188
  abstract getQualityLevel(): QualityLevel;
9098
9189
  abstract setQualityMap(qualityMap: QualityMap): void;
9099
9190
  abstract setCustomShadingParameters(customShadingParameters?: CustomShadingParameters, customShadingParametersMoc?: CustomShadingParameters): void;
9191
+ abstract setCustomOutlineParameters(outlineCustomParameters: OutlineCustomParameters): void;
9100
9192
  abstract loadLutImages(luts: LutImageDefinition[]): void;
9101
9193
  abstract render(scene: Scene, camera: Camera): void;
9102
9194
  abstract showGUI(updateCallback: () => void): void;
@@ -9168,6 +9260,42 @@ export declare class RoomleToolsCore implements Context, ExternalEmbeddable<Room
9168
9260
  export declare interface RoomleToolsCoreUICallback {
9169
9261
  }
9170
9262
 
9263
+ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer> {
9264
+ private readonly renderPipeline;
9265
+ private passNeedsReassembly;
9266
+ private debugMode;
9267
+ private readonly renderPasses;
9268
+ private readonly guiParameterGroups;
9269
+ private _domHelper;
9270
+ constructor(creator: string, renderer: WebGPURenderer, outlineColors?: {
9271
+ outlineVisibleEdgeColor: ColorRepresentation;
9272
+ outlineHiddenEdgeColor: ColorRepresentation;
9273
+ });
9274
+ private addRenderPass;
9275
+ clearCache(): void;
9276
+ disableUiInteractionMode(): void;
9277
+ enableUiInteractionMode(): void;
9278
+ getQualityLevel(): QualityLevel;
9279
+ highlightObjects(selectedMeshes: Object3D[]): void;
9280
+ loadLutImages(_luts: LutImageDefinition[]): void;
9281
+ render(scene: Scene, camera: Camera): void;
9282
+ private assembleRenderPasses;
9283
+ setAutoQuality(_autoQuality: boolean): void;
9284
+ setCustomShadingParameters(_customShadingParameters: CustomShadingParameters | undefined, _customShadingParametersMoc: CustomShadingParameters | undefined): void;
9285
+ setCustomOutlineParameters(customOutlineParameters: OutlineCustomParameters): void;
9286
+ setGroundShadow(_enabled: boolean): void;
9287
+ setOnQualityLevelChangeCallback(_callback: (qualityLevel: QualityLevel) => void): void;
9288
+ private enableOutline;
9289
+ private getOutlinePassOrUndefined;
9290
+ setQualityLevel(_qualityLevel: QualityLevel): void;
9291
+ setQualityMap(_qualityMap: QualityMap): void;
9292
+ setShadingType(_shadingType: SceneShadingType): void;
9293
+ showGUI(updateCallback: () => void): void;
9294
+ private addDebugGUI;
9295
+ getOrCreateGUIParameters(name: string): ParametersGroup;
9296
+ private createAndCacheGUIParameters;
9297
+ }
9298
+
9171
9299
  export declare interface RoomLightSourceDistribution {
9172
9300
  ceilingId: number;
9173
9301
  floorId: number;
@@ -9297,6 +9425,7 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9297
9425
  protected _renderListener: (() => void) | null;
9298
9426
  protected _stopRendering: boolean;
9299
9427
  protected _roomleRenderer: GenericRoomleRenderer | null;
9428
+ private _roomleRendererReady;
9300
9429
  private _forceRender;
9301
9430
  private _lastChange;
9302
9431
  private _running;
@@ -9317,7 +9446,8 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9317
9446
  addEventListener(_listener: LifeCycleCallbacks): void;
9318
9447
  removeEventListener(_listener: LifeCycleCallbacks): void;
9319
9448
  get lightCache(): LightCache | null;
9320
- getRoomleRenderer(): GenericRoomleRenderer;
9449
+ getRoomleRenderer(): GenericRoomleRenderer | null;
9450
+ getRoomleRendererReady(): Promise<GenericRoomleRenderer | null>;
9321
9451
  getRenderer(): WebGLRenderer | WebGPURenderer | null;
9322
9452
  protected _changeCameraBehaviour(cameraBehaviour: CameraBehaviour): void;
9323
9453
  protected onCameraChanged(): void;
@@ -9353,11 +9483,11 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9353
9483
  enableHD(source?: DynamicLightSettingSource): void;
9354
9484
  protected _loadGLTF(gltfJSON: string, position?: Vector3, rotation?: number, size?: Vector3, scale?: Vector3, color?: number, callback?: (percent: number) => void): Promise<Object3D>;
9355
9485
  protected _loadGLB(url: string, position?: Vector3, rotation?: number, size?: Vector3, scale?: Vector3, color?: number, colorable?: boolean, callback?: (percent: number) => void): Promise<Object3D>;
9356
- showGUI(): void;
9357
- protected _guiLoaded(): void;
9358
- protected _addGUIListener(gui: GUI): void;
9359
- protected _guiParamChanged(): void;
9360
- showStats(): void;
9486
+ showGUI(): Promise<void>;
9487
+ protected initializeWebGLGUI(): void;
9488
+ protected initializeWebGPUGUI(roomleWebGPURenderer: RoomleWebGPURenderer): void;
9489
+ private addEnvironmentMapGUIParameters;
9490
+ showWebGLStats(): void;
9361
9491
  protected _onKeyDown(_event: KeyboardEvent): void;
9362
9492
  protected _onKeyUp(_event: KeyboardEvent, _cleanup?: boolean): void;
9363
9493
  pause(): void;
@@ -9384,6 +9514,7 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9384
9514
  exportImageFromCamera(filename: string, shouldWaitForAssets?: boolean): Promise<void>;
9385
9515
  private getCanvasScreenshotWithDimensions;
9386
9516
  changeEnvironmentMapIntensity(intensity: number): void;
9517
+ changeEnvironmentMapRotation(rotation: number): void;
9387
9518
  lockCamera(): void;
9388
9519
  unlockCamera(): void;
9389
9520
  setEnvironmentMap(url?: string, intensity?: number, rotation?: number, maxLightSources?: number): void;
@@ -9391,7 +9522,7 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9391
9522
  protected _hasCameraControl2D(): boolean;
9392
9523
  protected _getCameraControl2D(): CameraControl2D;
9393
9524
  protected _getCameraControlFirstPerson(): CameraControlFirstPerson;
9394
- createUSDZExport(): Promise<Uint8Array<ArrayBuffer>>;
9525
+ createUSDZExport(): Promise<Uint8Array<ArrayBuffer> | undefined>;
9395
9526
  exportUSDZ(): Promise<void>;
9396
9527
  createExportGLB(objectFilter?: (object: Object3D) => boolean): Promise<ArrayBuffer | null>;
9397
9528
  exportGLB(): Promise<void>;
@@ -9490,6 +9621,10 @@ export declare const enum SnapMode {
9490
9621
  WITHIN_SNAP_DISTANCE = 3
9491
9622
  }
9492
9623
 
9624
+ export declare interface SnapState {
9625
+ value: Enumify_3<typeof CORE_SNAP_STATE>;
9626
+ }
9627
+
9493
9628
  export declare interface StaticComponent extends RoomleComponent {
9494
9629
  glbUrl: string;
9495
9630
  }
@@ -9502,7 +9637,7 @@ export declare class StaticPlanObjectViewModel extends PlanObjectViewModel {
9502
9637
  constructor(planObject: PlanObject);
9503
9638
  setRapiItem(rapiItem: RapiItem): Promise<void>;
9504
9639
  private _addStaticItem;
9505
- getRapiItem(): RapiItem;
9640
+ getRapiItem(): RapiItem | null;
9506
9641
  needsRapiItem(): boolean;
9507
9642
  getGLBUrl(): string | null;
9508
9643
  update(): void;
@@ -9664,8 +9799,8 @@ export declare class UnitFormatter implements Context {
9664
9799
  private _initActualUnitStringType;
9665
9800
  formatAngleValueToUnitString(value: number, parameter: KernelParameter): string;
9666
9801
  parseAngleValueFromUnitString(rotation: string): string;
9667
- parseValue(value: string, parameter: KernelParameter): string | number;
9668
- formatValueToUnitString(value: number, parameter: KernelParameter): string | number;
9802
+ parseValue(value: string, parameter: KernelParameter): string | number | null;
9803
+ formatValueToUnitString(value: number, parameter: KernelParameter): string | number | null;
9669
9804
  isParseableNumber(aString: string): boolean | null;
9670
9805
  isParseableUnitString(aString: string, parameter: KernelParameter): boolean | null;
9671
9806
  parseMMValueFromUnitString(aString: string, unitType: string): number | null;
@@ -9675,6 +9810,17 @@ export declare class UnitFormatter implements Context {
9675
9810
  formatMMValueToUnitString(aValue: number, unitType?: string): string | null;
9676
9811
  formatMMValueWithReqMaxLength(aValue: number, reqMaxSize: number): string | null;
9677
9812
  private _formatParameterValue;
9813
+ private _getDecimalPlaces;
9814
+ private _snapToNearestStep;
9815
+ /**
9816
+ * Returns the effective snap step (in mm) for a LENGTH parameter in inch mode.
9817
+ *
9818
+ * Prefers validRange.step when it is a positive number. When the kernel omits
9819
+ * an explicit step (step === 0), falls back to precision-derived granularity
9820
+ *
9821
+ * Example: precision=3 → 1/8" → 25.4/8 = 3.175 mm per tick.
9822
+ */
9823
+ private _getInchSnapStep;
9678
9824
  formatPartListParameter(parameter: KernelPartListParameter): void;
9679
9825
  formatParameter(parameter: UiKernelParameter): void;
9680
9826
  isInch(): boolean;
@@ -9901,7 +10047,7 @@ declare global {
9901
10047
  const WebAssembly: any; // eslint-disable-line
9902
10048
  interface Window {
9903
10049
  KernelCallback?: { isReady: () => void } | null;
9904
- __RML_GUI__: GUI; // eslint-disable-line
10050
+ __RML_WEBGL_GUI__: GUI; // eslint-disable-line
9905
10051
  __RML__DEBUG__?: Debug;
9906
10052
  __RML__ENV__?: ExternalEnv;
9907
10053
  _rsl: { [key: string]: ThreeShader };