@roomle/web-sdk 3.7.0-alpha.3 → 3.7.0

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 (126) 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 +2 -2
  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-DgXsyN04.mjs → api-X1dDTDvL.mjs} +2 -2
  16. package/lib/{api-DgXsyN04.mjs.map → api-X1dDTDvL.mjs.map} +1 -1
  17. package/lib/asset-loader.worker-A7nEeQB4.mjs.map +1 -1
  18. package/lib/{banana-for-scale-D8t2dmc7.mjs → banana-for-scale-Bpf8RfLi.mjs} +4 -4
  19. package/lib/{banana-for-scale-D8t2dmc7.mjs.map → banana-for-scale-Bpf8RfLi.mjs.map} +1 -1
  20. package/lib/budgeteer.sw-CQWYbQSc.mjs.map +1 -1
  21. package/lib/budgeteer.sw.js +1 -1
  22. package/lib/{common-utils-qErzZAiR.mjs → common-utils-DMI8Yuhe.mjs} +5 -3
  23. package/lib/common-utils-DMI8Yuhe.mjs.map +1 -0
  24. package/lib/{component-dimensioning-DlB7-9Om.mjs → component-dimensioning-MtS9xiY-.mjs} +15 -15
  25. package/lib/{component-dimensioning-DlB7-9Om.mjs.map → component-dimensioning-MtS9xiY-.mjs.map} +1 -1
  26. package/lib/{component-raycast-helper-C6ptEb0K.mjs → component-raycast-helper-C1qWqpRH.mjs} +13 -9
  27. package/lib/component-raycast-helper-C1qWqpRH.mjs.map +1 -0
  28. package/lib/configurator-C5t3clCx.mjs +2 -0
  29. package/lib/{configurator-CmMBHkyd.mjs → configurator-Cg1a9XSL.mjs} +4 -4
  30. package/lib/{configurator-CmMBHkyd.mjs.map → configurator-Cg1a9XSL.mjs.map} +1 -1
  31. package/lib/{continuous-drawing-helper-BwulJHKj.mjs → continuous-drawing-helper-CQx5Sbns.mjs} +3 -3
  32. package/lib/{continuous-drawing-helper-BwulJHKj.mjs.map → continuous-drawing-helper-CQx5Sbns.mjs.map} +1 -1
  33. package/lib/{dat.gui.module-CZHqOVGq.mjs → dat.gui.module-CZ-DIWHM.mjs} +1 -1
  34. package/lib/{dat.gui.module-CZHqOVGq.mjs.map → dat.gui.module-CZ-DIWHM.mjs.map} +1 -1
  35. package/lib/{decorate-BAtqSPNS.mjs → decorate-Bck1_lG8.mjs} +1 -1
  36. package/lib/{decorate-BAtqSPNS.mjs.map → decorate-Bck1_lG8.mjs.map} +1 -1
  37. package/lib/dimensioning-helper-Bfe0fImX.mjs +2 -0
  38. package/lib/{dimensioning-helper--Y0Y-Wr1.mjs → dimensioning-helper-GPn7Z8GE.mjs} +7 -7
  39. package/lib/{dimensioning-helper--Y0Y-Wr1.mjs.map → dimensioning-helper-GPn7Z8GE.mjs.map} +1 -1
  40. package/lib/glb-viewer-DIEpkrvY.mjs +2 -0
  41. package/lib/{glb-viewer-Cs3i0yb8.mjs → glb-viewer-tgKOPCaI.mjs} +44 -45
  42. package/lib/glb-viewer-tgKOPCaI.mjs.map +1 -0
  43. package/lib/highlight-coordinator-DRHeEU-E.mjs +116 -0
  44. package/lib/highlight-coordinator-DRHeEU-E.mjs.map +1 -0
  45. package/lib/{homag-intelligence-CBZujG1I.mjs → homag-intelligence-D5mCTWgG.mjs} +19 -11
  46. package/lib/homag-intelligence-D5mCTWgG.mjs.map +1 -0
  47. package/lib/{imos-ix-poc-export-helper-CW7QZhhn.mjs → imos-ix-poc-export-helper-BKFs_Yhm.mjs} +5 -5
  48. package/lib/{imos-ix-poc-export-helper-CW7QZhhn.mjs.map → imos-ix-poc-export-helper-BKFs_Yhm.mjs.map} +1 -1
  49. package/lib/kernel-C7YDLxq8.mjs.map +1 -1
  50. package/lib/{kernel-utils-DCnHzW4n.mjs → kernel-utils-B80amC-l.mjs} +2 -2
  51. package/lib/{kernel-utils-DCnHzW4n.mjs.map → kernel-utils-B80amC-l.mjs.map} +1 -1
  52. package/lib/{layer-CFAr2mK_.mjs → layer-BfckfWZz.mjs} +1 -1
  53. package/lib/{layer-CFAr2mK_.mjs.map → layer-BfckfWZz.mjs.map} +1 -1
  54. package/lib/{main-_HtiLIhS.mjs → main-CJ5TNhBt.mjs} +2484 -2533
  55. package/lib/main-CJ5TNhBt.mjs.map +1 -0
  56. package/lib/{material-viewer-BCjg687R.mjs → material-viewer-DCqZzMZN.mjs} +40 -35
  57. package/lib/material-viewer-DCqZzMZN.mjs.map +1 -0
  58. package/lib/packages-DuOz6rk6.mjs +4 -0
  59. package/lib/{planner-OYwMFSWo.mjs → planner-CSboZram.mjs} +3 -3
  60. package/lib/{planner-OYwMFSWo.mjs.map → planner-CSboZram.mjs.map} +1 -1
  61. package/lib/planner-CWPqJktz.mjs +2 -0
  62. package/lib/{plugin-system-DInww4H_.mjs → plugin-system-DD0Z9Jvt.mjs} +3 -3
  63. package/lib/{plugin-system-DInww4H_.mjs.map → plugin-system-DD0Z9Jvt.mjs.map} +1 -1
  64. package/lib/{roomle-headless-setup-LoBO7UJe.mjs → roomle-headless-setup-nsoGENQV.mjs} +1 -1
  65. package/lib/{roomle-headless-setup-LoBO7UJe.mjs.map → roomle-headless-setup-nsoGENQV.mjs.map} +1 -1
  66. package/lib/roomle-headless.d.ts +185 -63
  67. package/lib/roomle-headless.js +9 -9
  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 +185 -63
  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-X4I-gQl2.mjs → script-loader-DqaDm1FG.mjs} +3 -3
  77. package/lib/{script-loader-X4I-gQl2.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 +2 -2
  81. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCallback.js +1 -1
  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 +18 -6
  84. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorUtils.js +15 -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 +21 -12
  90. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/loader/planElementManager.js +1 -1
  91. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/loader/planElementManager.js.map +1 -1
  92. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  93. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.js +2 -2
  94. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  95. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  96. package/lib/{stats-helper-Cv5SoEWT.mjs → stats-helper-D7a7oxnj.mjs} +3 -3
  97. package/lib/{stats-helper-Cv5SoEWT.mjs.map → stats-helper-D7a7oxnj.mjs.map} +1 -1
  98. package/lib/{three.core-mM-jZdgg.mjs → three.core-BmQnspOL.mjs} +819 -816
  99. package/lib/{three.core-mM-jZdgg.mjs.map → three.core-BmQnspOL.mjs.map} +1 -1
  100. package/lib/{three.module-Bmy3sVQ-.mjs → three.module-DkrZwaid.mjs} +455 -455
  101. package/lib/{three.module-Bmy3sVQ-.mjs.map → three.module-DkrZwaid.mjs.map} +1 -1
  102. package/lib/{three.webgpu-BbVYfCDp.mjs → three.webgpu-DLZjhIYv.mjs} +1517 -1517
  103. package/lib/{three.webgpu-BbVYfCDp.mjs.map → three.webgpu-DLZjhIYv.mjs.map} +1 -1
  104. package/lib/three.webgpu-RkQxSIwG.mjs +3 -0
  105. package/lib/{threejs-utils-Bq4pVWBA.mjs → threejs-utils-CrK_gp1x.mjs} +67 -63
  106. package/lib/{threejs-utils-Bq4pVWBA.mjs.map → threejs-utils-CrK_gp1x.mjs.map} +1 -1
  107. package/lib/{tools-core-BRzDdhLJ.mjs → tools-core-CZWgXTFV.mjs} +3 -3
  108. package/lib/{tools-core-BRzDdhLJ.mjs.map → tools-core-CZWgXTFV.mjs.map} +1 -1
  109. package/package.json +1 -1
  110. package/lib/common-utils-qErzZAiR.mjs.map +0 -1
  111. package/lib/component-raycast-helper-C6ptEb0K.mjs.map +0 -1
  112. package/lib/component-raycast-helper-LrhRpeDD.mjs +0 -2
  113. package/lib/configurator-DtvX4JqP.mjs +0 -2
  114. package/lib/dimensioning-helper-BpUreWo2.mjs +0 -2
  115. package/lib/glb-viewer-Cs3i0yb8.mjs.map +0 -1
  116. package/lib/glb-viewer-Dcllu_oG.mjs +0 -2
  117. package/lib/homag-intelligence-CBZujG1I.mjs.map +0 -1
  118. package/lib/main-_HtiLIhS.mjs.map +0 -1
  119. package/lib/material-viewer-BCjg687R.mjs.map +0 -1
  120. package/lib/packages-BhrPUb9k.mjs +0 -4
  121. package/lib/planner-CDJtTG3g.mjs +0 -2
  122. package/lib/roomle-renderer-DVlJsHYn.mjs.map +0 -1
  123. package/lib/roomle-webgpu-renderer-CVxBRv6o.mjs +0 -217
  124. package/lib/roomle-webgpu-renderer-CVxBRv6o.mjs.map +0 -1
  125. package/lib/scene-renderer-BHZrQYAH.mjs.map +0 -1
  126. package/lib/three.webgpu-Bnp8Whu8.mjs +0 -3
@@ -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';
@@ -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 {
@@ -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;
@@ -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;
@@ -1335,7 +1311,7 @@ export declare class ConfiguratorKernelAccess extends CommonKernelAccess {
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,7 +1364,7 @@ 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;
@@ -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;
@@ -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 {
@@ -2067,11 +2044,11 @@ export declare class ConfiguratorViewModel implements ConfiguratorKernelCallback
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;
@@ -2654,7 +2631,7 @@ export declare abstract class Environment {
2654
2631
  updateCamera(_camera: PerspectiveCamera): void;
2655
2632
  abstract addToScene(): void;
2656
2633
  abstract removeFromScene(): void;
2657
- abstract showGUI(updateCallback: () => void): void;
2634
+ abstract showGUI(sceneParameters: GenericGUIParamFolder): void;
2658
2635
  reload(): void;
2659
2636
  updateBounds(bounds: Vector3, _force?: boolean): void;
2660
2637
  cleanUp(): void;
@@ -2986,11 +2963,19 @@ export declare interface ExternalObjectAPI {
2986
2963
  export declare interface ExternalObjectApiConfiguration {
2987
2964
  loadExternalObjectsFromPlan?: boolean;
2988
2965
  enableArrangementCorrection?: boolean;
2966
+ enableVerticalDocking?: boolean;
2989
2967
  providePossibleChildren?: boolean;
2990
2968
  uiConfiguration?: ExternalObjectUiConfiguration;
2991
2969
  materialConfiguration?: ExternalObjectMaterialConfiguration;
2992
2970
  debugConfiguration?: ExternalObjectDebugConfiguration;
2993
2971
  overlayUiDrawer?: boolean;
2972
+ transparentHighlighting?: boolean;
2973
+ maximumCatalogLevel?: number;
2974
+ }
2975
+
2976
+ export declare interface ExternalObjectContextDataItem {
2977
+ contextData: ExternalObjectRootModuleContextData;
2978
+ rootModuleId: string;
2994
2979
  }
2995
2980
 
2996
2981
  export declare interface ExternalObjectContour {
@@ -3002,12 +2987,23 @@ export declare interface ExternalObjectDebugConfiguration {
3002
2987
  createDebugGeometry?: boolean;
3003
2988
  }
3004
2989
 
2990
+ export declare interface ExternalObjectDockedContext {
2991
+ dockedRoots: ExternalObjectDockedRootModule[];
2992
+ ownDockingVector: string;
2993
+ }
2994
+
2995
+ export declare interface ExternalObjectDockedRootModule {
2996
+ dockingVector: string;
2997
+ id: string;
2998
+ }
2999
+
3005
3000
  export declare interface ExternalObjectGroup {
3006
3001
  groupId: string;
3007
3002
  pos: number[];
3008
3003
  rotationY?: number;
3009
3004
  rootModules?: ExternalObjectRootModule[];
3010
3005
  contours?: ExternalObjectContour[];
3006
+ contextData?: ExternalObjectContextDataItem[];
3011
3007
  }
3012
3008
 
3013
3009
  export declare interface ExternalObjectLoadConfiguration {
@@ -3047,6 +3043,10 @@ export declare interface ExternalObjectRootModule {
3047
3043
  rotationY?: number;
3048
3044
  }
3049
3045
 
3046
+ export declare interface ExternalObjectRootModuleContextData {
3047
+ dockedRoots: ExternalObjectDockedContext[];
3048
+ }
3049
+
3050
3050
  export declare interface ExternalObjectSegment {
3051
3051
  cmd: string;
3052
3052
  x: number;
@@ -3161,6 +3161,7 @@ export declare interface FeatureFlags {
3161
3161
  /* Excluded from this release type: interiorLights */
3162
3162
  /* Excluded from this release type: advancedDimensioning */
3163
3163
  /* Excluded from this release type: webGpu */
3164
+ /* Excluded from this release type: advancedHighlighting */
3164
3165
  }
3165
3166
 
3166
3167
  export declare interface FetchOptions {
@@ -3212,6 +3213,20 @@ export declare class FloorPlanElementViewModel extends PlanElementViewModel {
3212
3213
  private calculateTextVisibility;
3213
3214
  }
3214
3215
 
3216
+ /**
3217
+ * Minimal structural type that both dat.gui `GUI` folders (WebGL) and three.js
3218
+ * `ParametersGroup` (WebGPU) satisfy, this allows building
3219
+ * debug GUIs without coupling to a specific backend.
3220
+ *
3221
+ * `any` is intentional here — the two libraries have genuinely incompatible
3222
+ * generic signatures that cannot be unified without it.
3223
+ */
3224
+ export declare interface GenericGUIParamFolder {
3225
+ add(object: any, property: string, ...args: any[]): any;
3226
+ addColor(object: any, property: string): any;
3227
+ addFolder(name: string): GenericGUIParamFolder;
3228
+ }
3229
+
3215
3230
  export declare type GenericRoomleRenderer = RoomleRenderer<WebGLRenderer | WebGPURenderer>;
3216
3231
 
3217
3232
  export declare const enum GEOMETRY {
@@ -3388,7 +3403,7 @@ export declare interface GlueLogic {
3388
3403
  updateProperty(rootModuleId?: string, propertyName?: string, propertyValue?: string | number | boolean): void;
3389
3404
  findValidSubArticles(posGroupIds: string[] | string): PosArticle[];
3390
3405
  getValidContainerModulesForSubArticle(posGroupIds: string[] | string, subArticleId: string): ExternalObjectValidContainerModules[];
3391
- addSubArticle(articleId: string, rootModuleId: string, parentModuleId: string): void;
3406
+ addSubArticle(articleId: string, rootModuleId: string, parentModuleId: string, insertPosition?: number[]): void;
3392
3407
  deleteSubArticles(groupId: string, subModuleId: string[] | string): Promise<void>;
3393
3408
  arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): Promise<void>;
3394
3409
  changedGroupPlanningSituation(changedGroup: ExternalObjectGroup, objectPositionChanged: boolean): Promise<void>;
@@ -3465,6 +3480,18 @@ export declare type HiAttributeOptionsResult = CheckDropDownResult | CheckDropDo
3465
3480
 
3466
3481
  export declare type HiContextAction = (typeof HI_CONTEXT_ACTION)[keyof typeof HI_CONTEXT_ACTION];
3467
3482
 
3483
+ export declare interface HighlightHelper {
3484
+ init(object: Object3D, camera: PerspectiveCamera): void;
3485
+ setCamera(camera: PerspectiveCamera): void;
3486
+ setObject(object: Object3D | null): void;
3487
+ cancelDocking(object: Object3D, callback?: () => void): void;
3488
+ checkComponentAndPreviewVisibility(sceneEventHandler: ConfiguratorSceneEventHandler, configuratorViewModel: ConfiguratorViewModel): void;
3489
+ checkComponentVisibility(sceneEventHandler: ConfiguratorSceneEventHandler, configuratorViewModel: ConfiguratorViewModel): void;
3490
+ checkPreviewVisibility(configuratorViewModel: ConfiguratorViewModel): void;
3491
+ areAllComponentsInFrustum(previews: RoomleComponent[]): boolean;
3492
+ onSelectionChanged(object: Object3D, componentIds: number[], callback?: () => void): void;
3493
+ }
3494
+
3468
3495
  export declare type HiLoadObjectReason = (typeof HI_LOAD_OBJECT_REASON)[keyof typeof HI_LOAD_OBJECT_REASON];
3469
3496
 
3470
3497
  export declare interface HiObjectSelectionApi {
@@ -3483,6 +3510,7 @@ export declare class HiTagCatalogCallbacks implements Context {
3483
3510
  private _externalItems;
3484
3511
  private _externalConfigurations;
3485
3512
  private _tagIds;
3513
+ private _initData;
3486
3514
  private _globalCallback;
3487
3515
  private _configuratorViewModel;
3488
3516
  constructor(creator: string, articles: Promise<any>);
@@ -3653,8 +3681,8 @@ export declare class InitData implements Context, Omit<InitDataDefinition, 'colo
3653
3681
  disableDebugGUI?: boolean;
3654
3682
  disableEnvMap?: boolean;
3655
3683
  envMapUrl?: string;
3656
- envMapIntensity?: number;
3657
- envMapRotation?: number;
3684
+ envMapIntensity: number;
3685
+ envMapRotation: number;
3658
3686
  maxLightSources?: number;
3659
3687
  legacyLight?: boolean;
3660
3688
  sceneLight?: DefaultEnvironmentSceneType;
@@ -3910,6 +3938,11 @@ export declare interface KernelAnimationAction {
3910
3938
  type: string;
3911
3939
  }
3912
3940
 
3941
+ export declare interface KernelAssembledObjectBounds {
3942
+ boundingBox: KernelCube;
3943
+ parts: KernelObjectBounds[];
3944
+ }
3945
+
3913
3946
  export declare interface KernelAttic extends KernelObject {
3914
3947
  getFrom(): NodePlanObject;
3915
3948
  getTo(): NodePlanObject;
@@ -3958,7 +3991,7 @@ export declare interface KernelComponent {
3958
3991
  rotation: KernelVector3;
3959
3992
  globalTransform: KernelMatrix4;
3960
3993
  boxForMeasurement: KernelCube;
3961
- geometryBounds: KernelCube[];
3994
+ geometryBounds: KernelAssembledObjectBounds;
3962
3995
  parameters: KernelParameter[];
3963
3996
  parameterGroups: KernelParameterGroup[];
3964
3997
  possibleChildren: KernelPossibleChild[];
@@ -4026,6 +4059,14 @@ export declare interface KernelEnum {
4026
4059
  value: number;
4027
4060
  }
4028
4061
 
4062
+ export declare interface KernelExtrudedRectangle {
4063
+ angle: number;
4064
+ bottomCenter: KernelVector3;
4065
+ eulerRotation: KernelVector3;
4066
+ size: KernelVector3;
4067
+ readonly cornerPoints: EmsArray<KernelVector3>;
4068
+ }
4069
+
4029
4070
  export declare interface KernelFloor extends KernelObject {
4030
4071
  area: number;
4031
4072
  material: KernelFloorMaterial;
@@ -4115,6 +4156,11 @@ export declare interface KernelObject {
4115
4156
  getId(): number;
4116
4157
  }
4117
4158
 
4159
+ export declare interface KernelObjectBounds {
4160
+ boundingBox: KernelCube;
4161
+ rectangleBox: KernelExtrudedRectangle;
4162
+ }
4163
+
4118
4164
  export declare interface KernelObjectConfiguration {
4119
4165
  runtimeId: number;
4120
4166
  serializedDefinition: string;
@@ -4374,7 +4420,7 @@ export declare interface LibraryData {
4374
4420
  solveModuleAttributeConflict(module: PosModuleData, attributeName: string, value: string | number | boolean): PosModuleAttribute[] | undefined;
4375
4421
  getValidSubArticles(calculatedPosGroup: PosGroup, articles: PosArticle[], masterData: MasterData): PosArticle[];
4376
4422
  getValidContainerModulesForSubArticle(calculatedPosGroup: PosGroup, subArticle: PosArticle, masterData: MasterData): ExternalObjectValidContainerModules[];
4377
- addSubArticle(targetPosGroup: PosGroup, article: PosArticle, rootId: string, parentModuleId: string): PosGroup;
4423
+ addSubArticle(targetPosGroup: PosGroup, article: PosArticle, rootId: string, parentModuleId: string, insertPosition?: number[]): PosGroup;
4378
4424
  deleteSubArticle(targetPosGroup: PosGroup, rootId: string, articleModuleId: string): PosGroup;
4379
4425
  }
4380
4426
 
@@ -4429,7 +4475,7 @@ export declare abstract class LightSetting {
4429
4475
  abstract addToScene(): void;
4430
4476
  abstract removeFromScene(): void;
4431
4477
  abstract reload(): void;
4432
- abstract showGUI(): void;
4478
+ abstract showGUI(sceneParameters: GenericGUIParamFolder): void;
4433
4479
  getCameraContainer(): Object3D;
4434
4480
  }
4435
4481
 
@@ -4909,6 +4955,11 @@ export declare interface OffsetCamera {
4909
4955
  export declare interface OrthographicOffsetCamera extends OrthographicCamera, OffsetCamera {
4910
4956
  }
4911
4957
 
4958
+ export declare interface OutlineCustomParameters {
4959
+ outlineVisibleEdgeColor: ColorRepresentation;
4960
+ outlineHiddenEdgeColor: ColorRepresentation;
4961
+ }
4962
+
4912
4963
  export declare const enum PARAMETER_KERNEL_TYPE {
4913
4964
  UNKNOWN = "",
4914
4965
  INTEGER = "Integer",
@@ -5418,7 +5469,7 @@ export declare class PlannerKernelAccess extends ConfiguratorKernelAccess {
5418
5469
  externalObjectComponentSplitOff(plan: Plan_2, planObject: PlanObject, splitGroups: ExternalObjectGroup[]): void;
5419
5470
  externalObjectArrangementChanged(plan: Plan_2, planObject: PlanObject, changedGroup: ExternalObjectGroup): void;
5420
5471
  externalObjectRequestAddOnContainers(plan: Plan_2, planObject: PlanObject, groupId: string, subArticleId: string): void;
5421
- externalObjectAddSubArticle(plan: Plan_2, planObject: PlanObject, subArticleId: string, rootModuleId: string, parentModuleId: string): void;
5472
+ externalObjectAddSubArticle(plan: Plan_2, planObject: PlanObject, subArticleId: string, rootModuleId: string, parentModuleId: string, insertPosition?: number[]): void;
5422
5473
  externalObjectRemoveSubModule(plan: Plan_2, planObject: PlanObject, groupId: string, subModuleId: string): void;
5423
5474
  planObjectConfigurationLoaded(plan: Plan_2, element: PlanElement_2, success: boolean): Promise<void>;
5424
5475
  planObjectConfigurationChanged(plan: Plan_2, object: PlanObject): void;
@@ -5482,7 +5533,7 @@ export declare interface PlannerKernelCallbackI {
5482
5533
  stoppedDrawing(): void;
5483
5534
  requestCatalogItem(catalogItemId: string): void;
5484
5535
  externalObjectRequestAddOnContainers(groupId: string, subArticleId: string): void;
5485
- externalObjectAddSubArticle(subArticleId: string, rootModuleId: string, parentModuleId: string): void;
5536
+ externalObjectAddSubArticle(subArticleId: string, rootModuleId: string, parentModuleId: string, insertPosition?: number[]): void;
5486
5537
  externalObjectRemoveSubModule(groupId: string, subModuleId: string): void;
5487
5538
  }
5488
5539
 
@@ -5793,6 +5844,7 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
5793
5844
  protected _updateConfigurationFromHistory(configurationString: string): Promise<void>;
5794
5845
  setMode(mode: Enumify_3<typeof CAMERA_TYPE>): void;
5795
5846
  private _clearHighlighting;
5847
+ updateHighlightingOfPlanElements(): void;
5796
5848
  highlightPlanElementsById(runtimeIds: number[] | null): void;
5797
5849
  highlightPlanElementById(runtimeId: number | null): void;
5798
5850
  destroy(): void;
@@ -5907,7 +5959,7 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
5907
5959
  insertRapiObjects(rapiIds: InsertItemIdInfo[]): Promise<InsertItemResult[]>;
5908
5960
  private _saveConfiguration;
5909
5961
  externalObjectRequestAddOnContainers(groupId: string, subArticleId: string): Promise<void>;
5910
- externalObjectAddSubArticle(subArticleId: string, rootModuleId: string, parentModuleId: string): void;
5962
+ externalObjectAddSubArticle(subArticleId: string, rootModuleId: string, parentModuleId: string, insertPosition?: number[]): void;
5911
5963
  externalObjectRemoveSubModule(groupId: string, subModuleId: string): void;
5912
5964
  getExternalSubArticles(id: number): PosArticle[];
5913
5965
  }
@@ -5941,9 +5993,9 @@ export declare interface PlanObject extends PlanElement_2 {
5941
5993
  }
5942
5994
 
5943
5995
  export declare interface PlanObjectKernel {
5944
- bounds: KernelVector3;
5996
+ geometryBounds: KernelCube;
5945
5997
  boxForMeasurement: KernelCube;
5946
- boxOfGeometry: KernelCube;
5998
+ geometryBoundsWithEnvironment: KernelCube;
5947
5999
  id: number;
5948
6000
  rootPlanComponentId: number;
5949
6001
  externalId: string;
@@ -6066,7 +6118,7 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6066
6118
  private _handleCeilingPlanElementViewModel;
6067
6119
  private _handleNodePlanElementViewModel;
6068
6120
  private _getCeilingLightsDistribution;
6069
- handleInitialLights(_maxTextures: number, qualityLevel: QualityLevel): void;
6121
+ handleInitialCeilingLights(ceilingLightsParameters: GenericGUIParamFolder | undefined, qualityLevel: QualityLevel): void;
6070
6122
  handleCeilingLights(): void;
6071
6123
  handleLampLight(lamp: StaticPlanObjectViewModel, options: {
6072
6124
  targetPos: KernelVector3f;
@@ -6075,7 +6127,7 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6075
6127
  decay?: number;
6076
6128
  intensity?: number;
6077
6129
  active?: boolean;
6078
- }): void;
6130
+ }, lampLightsParameters?: ParametersGroup): void;
6079
6131
  handleRectLampLight(lamp: StaticPlanObjectViewModel, options: {
6080
6132
  dimensions: {
6081
6133
  width: number;
@@ -6085,11 +6137,11 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6085
6137
  color?: number;
6086
6138
  rotation?: KernelVector3f;
6087
6139
  active?: boolean;
6088
- }): void;
6140
+ }, rectLightsParameters?: ParametersGroup): void;
6089
6141
  toggleCeilingLights(on: boolean): void;
6090
6142
  private commonHandlerForEditableAndTopView;
6091
6143
  isChildObjectRootComponent(roomleComponent: RoomleComponent): boolean;
6092
- protected dockComponent(componentId: number, isRootComponent: boolean, parentId: number, componentPosition: KernelVector3, componentRotation: KernelVector3): void;
6144
+ protected dockComponent(componentDocking: KernelComponentDocking): void;
6093
6145
  protected _addComponent(component: RoomleComponent): void;
6094
6146
  private _getPlanObjectViewModelForRuntimeId;
6095
6147
  getConfigurablePlanObjectForId(id: number): ConfiguratorPlanObjectViewModel | null;
@@ -6164,7 +6216,7 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6164
6216
  planCleared(): void;
6165
6217
  requestCatalogItem(_catalogItemId: string): void;
6166
6218
  externalObjectRequestAddOnContainers(_groupId: string, _subArticleId: string): void;
6167
- externalObjectAddSubArticle(_subArticleId: string, _rootModuleId: string, _parentModuleId: string): void;
6219
+ externalObjectAddSubArticle(_subArticleId: string, _rootModuleId: string, _parentModuleId: string, _insertPosition?: number[]): void;
6168
6220
  externalObjectRemoveSubModule(_groupId: string, _subModuleId: string): void;
6169
6221
  }
6170
6222
 
@@ -6235,6 +6287,10 @@ export declare interface PosArticleInfo {
6235
6287
  isConfigDummy?: boolean;
6236
6288
  }
6237
6289
 
6290
+ export declare interface PosContextData {
6291
+ dockedRoots?: PosDockedContext[];
6292
+ }
6293
+
6238
6294
  export declare interface PosContour {
6239
6295
  level: number;
6240
6296
  segments: PosContourSegment[];
@@ -6263,6 +6319,16 @@ export declare const enum PosDock {
6263
6319
  RightBackBottom = "RightBackBottom"
6264
6320
  }
6265
6321
 
6322
+ export declare interface PosDockedContext {
6323
+ ownDockingVector: PosDock | string;
6324
+ dockedRoots: PosDockedContextRoot[];
6325
+ }
6326
+
6327
+ export declare interface PosDockedContextRoot {
6328
+ id: string;
6329
+ dockingVector: PosDock | string;
6330
+ }
6331
+
6266
6332
  export declare interface PosDockInfo {
6267
6333
  id: PosDock;
6268
6334
  start: number[];
@@ -6380,6 +6446,7 @@ export declare interface PosModuleRootData extends PosModuleData, PosPositionInf
6380
6446
  dockInfos: PosDockInfo[];
6381
6447
  insertLevelInfos?: PosInsertLevelInfo[];
6382
6448
  insertLevelFixed?: boolean;
6449
+ contextData?: PosContextData;
6383
6450
  }
6384
6451
 
6385
6452
  export declare interface PosPartData {
@@ -6475,9 +6542,11 @@ export declare interface PreviewComponent extends RoomleComponent {
6475
6542
  stringId: string;
6476
6543
  receivedPointAssociation: boolean;
6477
6544
  dockInsertAnimation?: DragInsertAnimation;
6545
+ clickPosition?: Vector3;
6478
6546
  clonePreview(cloneId: string): PreviewComponent;
6479
6547
  preparePreview(): void;
6480
6548
  startPulsating(): void;
6549
+ updateClickPosition(intersectionPoint: Vector3): void;
6481
6550
  }
6482
6551
 
6483
6552
  export declare interface PreviewLineComponent extends PreviewComponent {
@@ -7347,6 +7416,8 @@ export declare const ROOMLE_COLORS: {
7347
7416
  readonly DEFAULT_BACKGROUND: 16250871;
7348
7417
  readonly SELECTION: 16777215;
7349
7418
  readonly PREVIEW_DOCKING_COLOR: 266198493;
7419
+ readonly SNAP_DOCKING: 8454016;
7420
+ readonly SNAP_COLLISION: 16744576;
7350
7421
  };
7351
7422
 
7352
7423
  export declare const ROOMLE_HIGHLIGHTNG: {
@@ -7361,6 +7432,7 @@ export declare interface RoomleComponent extends RoomleEventedObject3D {
7361
7432
  runtimeId: number;
7362
7433
  parentObjectId: number;
7363
7434
  isRootComponent: boolean;
7435
+ componentType: KernelComponentType;
7364
7436
  meshes: RoomleEventedMesh[];
7365
7437
  boundingBox: Box3;
7366
7438
  boundingBoxMesh: RoomleEventedMesh | null;
@@ -7389,7 +7461,7 @@ export declare interface RoomleComponent extends RoomleEventedObject3D {
7389
7461
  hoverOff(): void;
7390
7462
  loading(): void;
7391
7463
  loadingFinished(): void;
7392
- computeBoundingBox(boxForMeasurements?: KernelCube, geometryBounds?: KernelCube[], useMeshes?: boolean): void;
7464
+ computeBoundingBox(boxForMeasurements?: KernelCube, geometryBounds?: KernelAssembledObjectBounds, useMeshes?: boolean): void;
7393
7465
  recursiveMeshes(): Mesh[];
7394
7466
  isChild(componentId: number): boolean;
7395
7467
  getKernelPosition(newParent: RoomleComponent): KernelVector3;
@@ -7397,9 +7469,9 @@ export declare interface RoomleComponent extends RoomleEventedObject3D {
7397
7469
  }
7398
7470
 
7399
7471
  export declare interface RoomleComponentFactory {
7400
- create(creator: string, id: number, position: KernelVector3, eulerAngles: KernelVector3, parentObjectId: number, isRootComponent: boolean): RoomleComponent;
7472
+ create(creator: string, id: number, position: KernelVector3, eulerAngles: KernelVector3, parentObjectId: number, isRootComponent: boolean, componentType: KernelComponentType): RoomleComponent;
7401
7473
  createStatic(creator: string, id: number, url: string): StaticComponent;
7402
- createPreview(id: number, parentObjectId: number, creator: string): PreviewComponent;
7474
+ createPreview(id: number, parentObjectId: number, componentType: KernelComponentType, creator: string): PreviewComponent;
7403
7475
  createPreviewLine(id: number, previewComponent: PreviewComponent, creator: string): PreviewLineComponent;
7404
7476
  isPreview(obj: RoomleComponent): boolean;
7405
7477
  isPreviewLine(obj: RoomleComponent): boolean;
@@ -8230,7 +8302,6 @@ export declare class RoomleMaterialViewer implements GlobalAPI, Context, Externa
8230
8302
  get callbacks(): RoomleMaterialViewerUiCallback;
8231
8303
  set callbacks(callback: RoomleMaterialViewerUiCallback);
8232
8304
  loadMaterialShading(materialShading: RapiMaterialShading): Promise<void>;
8233
- resetMaterial(): void;
8234
8305
  loadMaterial(material: RapiMaterial, options?: {
8235
8306
  flushCache?: boolean;
8236
8307
  }): Promise<void>;
@@ -9056,6 +9127,7 @@ export declare abstract class RoomleRenderer<RendererType extends WebGLRenderer
9056
9127
  abstract getQualityLevel(): QualityLevel;
9057
9128
  abstract setQualityMap(qualityMap: QualityMap): void;
9058
9129
  abstract setCustomShadingParameters(customShadingParameters?: CustomShadingParameters, customShadingParametersMoc?: CustomShadingParameters): void;
9130
+ abstract setCustomOutlineParameters(outlineCustomParameters: OutlineCustomParameters): void;
9059
9131
  abstract loadLutImages(luts: LutImageDefinition[]): void;
9060
9132
  abstract render(scene: Scene, camera: Camera): void;
9061
9133
  abstract showGUI(updateCallback: () => void): void;
@@ -9127,6 +9199,42 @@ export declare class RoomleToolsCore implements Context, ExternalEmbeddable<Room
9127
9199
  export declare interface RoomleToolsCoreUICallback {
9128
9200
  }
9129
9201
 
9202
+ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer> {
9203
+ private readonly renderPipeline;
9204
+ private passNeedsReassembly;
9205
+ private debugMode;
9206
+ private readonly renderPasses;
9207
+ private readonly guiParameterGroups;
9208
+ private _domHelper;
9209
+ constructor(creator: string, renderer: WebGPURenderer, outlineColors?: {
9210
+ outlineVisibleEdgeColor: ColorRepresentation;
9211
+ outlineHiddenEdgeColor: ColorRepresentation;
9212
+ });
9213
+ private addRenderPass;
9214
+ clearCache(): void;
9215
+ disableUiInteractionMode(): void;
9216
+ enableUiInteractionMode(): void;
9217
+ getQualityLevel(): QualityLevel;
9218
+ highlightObjects(selectedMeshes: Object3D[]): void;
9219
+ loadLutImages(_luts: LutImageDefinition[]): void;
9220
+ render(scene: Scene, camera: Camera): void;
9221
+ private assembleRenderPasses;
9222
+ setAutoQuality(_autoQuality: boolean): void;
9223
+ setCustomShadingParameters(_customShadingParameters: CustomShadingParameters | undefined, _customShadingParametersMoc: CustomShadingParameters | undefined): void;
9224
+ setCustomOutlineParameters(customOutlineParameters: OutlineCustomParameters): void;
9225
+ setGroundShadow(_enabled: boolean): void;
9226
+ setOnQualityLevelChangeCallback(_callback: (qualityLevel: QualityLevel) => void): void;
9227
+ private enableOutline;
9228
+ private getOutlinePassOrUndefined;
9229
+ setQualityLevel(_qualityLevel: QualityLevel): void;
9230
+ setQualityMap(_qualityMap: QualityMap): void;
9231
+ setShadingType(_shadingType: SceneShadingType): void;
9232
+ showGUI(updateCallback: () => void): void;
9233
+ private addDebugGUI;
9234
+ getOrCreateGUIParameters(name: string): ParametersGroup;
9235
+ private createAndCacheGUIParameters;
9236
+ }
9237
+
9130
9238
  export declare interface RoomLightSourceDistribution {
9131
9239
  ceilingId: number;
9132
9240
  floorId: number;
@@ -9256,6 +9364,7 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9256
9364
  protected _renderListener: (() => void) | null;
9257
9365
  protected _stopRendering: boolean;
9258
9366
  protected _roomleRenderer: GenericRoomleRenderer | null;
9367
+ private _roomleRendererReady;
9259
9368
  private _forceRender;
9260
9369
  private _lastChange;
9261
9370
  private _running;
@@ -9277,6 +9386,7 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9277
9386
  removeEventListener(_listener: LifeCycleCallbacks): void;
9278
9387
  get lightCache(): LightCache | null;
9279
9388
  getRoomleRenderer(): GenericRoomleRenderer | null;
9389
+ getRoomleRendererReady(): Promise<GenericRoomleRenderer | null>;
9280
9390
  getRenderer(): WebGLRenderer | WebGPURenderer | null;
9281
9391
  protected _changeCameraBehaviour(cameraBehaviour: CameraBehaviour): void;
9282
9392
  protected onCameraChanged(): void;
@@ -9312,11 +9422,11 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9312
9422
  enableHD(source?: DynamicLightSettingSource): void;
9313
9423
  protected _loadGLTF(gltfJSON: string, position?: Vector3, rotation?: number, size?: Vector3, scale?: Vector3, color?: number, callback?: (percent: number) => void): Promise<Object3D>;
9314
9424
  protected _loadGLB(url: string, position?: Vector3, rotation?: number, size?: Vector3, scale?: Vector3, color?: number, colorable?: boolean, callback?: (percent: number) => void): Promise<Object3D>;
9315
- showGUI(): void;
9316
- protected _guiLoaded(): void;
9317
- protected _addGUIListener(gui: GUI): void;
9318
- protected _guiParamChanged(): void;
9319
- showStats(): void;
9425
+ showGUI(): Promise<void>;
9426
+ protected initializeWebGLGUI(): void;
9427
+ protected initializeWebGPUGUI(roomleWebGPURenderer: RoomleWebGPURenderer): void;
9428
+ private addEnvironmentMapGUIParameters;
9429
+ showWebGLStats(): void;
9320
9430
  protected _onKeyDown(_event: KeyboardEvent): void;
9321
9431
  protected _onKeyUp(_event: KeyboardEvent, _cleanup?: boolean): void;
9322
9432
  pause(): void;
@@ -9343,6 +9453,7 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9343
9453
  exportImageFromCamera(filename: string, shouldWaitForAssets?: boolean): Promise<void>;
9344
9454
  private getCanvasScreenshotWithDimensions;
9345
9455
  changeEnvironmentMapIntensity(intensity: number): void;
9456
+ changeEnvironmentMapRotation(rotation: number): void;
9346
9457
  lockCamera(): void;
9347
9458
  unlockCamera(): void;
9348
9459
  setEnvironmentMap(url?: string, intensity?: number, rotation?: number, maxLightSources?: number): void;
@@ -9627,6 +9738,17 @@ export declare class UnitFormatter implements Context {
9627
9738
  formatMMValueToUnitString(aValue: number, unitType?: string): string | null;
9628
9739
  formatMMValueWithReqMaxLength(aValue: number, reqMaxSize: number): string | null;
9629
9740
  private _formatParameterValue;
9741
+ private _getDecimalPlaces;
9742
+ private _snapToNearestStep;
9743
+ /**
9744
+ * Returns the effective snap step (in mm) for a LENGTH parameter in inch mode.
9745
+ *
9746
+ * Prefers validRange.step when it is a positive number. When the kernel omits
9747
+ * an explicit step (step === 0), falls back to precision-derived granularity
9748
+ *
9749
+ * Example: precision=3 → 1/8" → 25.4/8 = 3.175 mm per tick.
9750
+ */
9751
+ private _getInchSnapStep;
9630
9752
  formatPartListParameter(parameter: KernelPartListParameter): void;
9631
9753
  formatParameter(parameter: UiKernelParameter): void;
9632
9754
  isInch(): boolean;
@@ -9853,7 +9975,7 @@ declare global {
9853
9975
  const WebAssembly: any; // eslint-disable-line
9854
9976
  interface Window {
9855
9977
  KernelCallback?: { isReady: () => void } | null;
9856
- __RML_GUI__: GUI; // eslint-disable-line
9978
+ __RML_WEBGL_GUI__: GUI; // eslint-disable-line
9857
9979
  __RML__DEBUG__?: Debug;
9858
9980
  __RML__ENV__?: ExternalEnv;
9859
9981
  _rsl: { [key: string]: ThreeShader };