@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;
@@ -2990,11 +2967,19 @@ export declare interface ExternalObjectAPI {
2990
2967
  export declare interface ExternalObjectApiConfiguration {
2991
2968
  loadExternalObjectsFromPlan?: boolean;
2992
2969
  enableArrangementCorrection?: boolean;
2970
+ enableVerticalDocking?: boolean;
2993
2971
  providePossibleChildren?: boolean;
2994
2972
  uiConfiguration?: ExternalObjectUiConfiguration;
2995
2973
  materialConfiguration?: ExternalObjectMaterialConfiguration;
2996
2974
  debugConfiguration?: ExternalObjectDebugConfiguration;
2997
2975
  overlayUiDrawer?: boolean;
2976
+ transparentHighlighting?: boolean;
2977
+ maximumCatalogLevel?: number;
2978
+ }
2979
+
2980
+ export declare interface ExternalObjectContextDataItem {
2981
+ contextData: ExternalObjectRootModuleContextData;
2982
+ rootModuleId: string;
2998
2983
  }
2999
2984
 
3000
2985
  export declare interface ExternalObjectContour {
@@ -3006,12 +2991,23 @@ export declare interface ExternalObjectDebugConfiguration {
3006
2991
  createDebugGeometry?: boolean;
3007
2992
  }
3008
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
+
3009
3004
  export declare interface ExternalObjectGroup {
3010
3005
  groupId: string;
3011
3006
  pos: number[];
3012
3007
  rotationY?: number;
3013
3008
  rootModules?: ExternalObjectRootModule[];
3014
3009
  contours?: ExternalObjectContour[];
3010
+ contextData?: ExternalObjectContextDataItem[];
3015
3011
  }
3016
3012
 
3017
3013
  export declare interface ExternalObjectLoadConfiguration {
@@ -3051,6 +3047,10 @@ export declare interface ExternalObjectRootModule {
3051
3047
  rotationY?: number;
3052
3048
  }
3053
3049
 
3050
+ export declare interface ExternalObjectRootModuleContextData {
3051
+ dockedRoots: ExternalObjectDockedContext[];
3052
+ }
3053
+
3054
3054
  export declare interface ExternalObjectSegment {
3055
3055
  cmd: string;
3056
3056
  x: number;
@@ -3165,6 +3165,7 @@ export declare interface FeatureFlags {
3165
3165
  /* Excluded from this release type: interiorLights */
3166
3166
  /* Excluded from this release type: advancedDimensioning */
3167
3167
  /* Excluded from this release type: webGpu */
3168
+ /* Excluded from this release type: advancedHighlighting */
3168
3169
  }
3169
3170
 
3170
3171
  export declare interface FetchOptions {
@@ -3216,6 +3217,20 @@ export declare class FloorPlanElementViewModel extends PlanElementViewModel {
3216
3217
  private calculateTextVisibility;
3217
3218
  }
3218
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
+
3219
3234
  export declare type GenericRoomleRenderer = RoomleRenderer<WebGLRenderer | WebGPURenderer>;
3220
3235
 
3221
3236
  export declare const enum GEOMETRY {
@@ -3392,7 +3407,7 @@ export declare interface GlueLogic {
3392
3407
  updateProperty(rootModuleId?: string, propertyName?: string, propertyValue?: string | number | boolean): void;
3393
3408
  findValidSubArticles(posGroupIds: string[] | string): PosArticle[];
3394
3409
  getValidContainerModulesForSubArticle(posGroupIds: string[] | string, subArticleId: string): ExternalObjectValidContainerModules[];
3395
- addSubArticle(articleId: string, rootModuleId: string, parentModuleId: string): void;
3410
+ addSubArticle(articleId: string, rootModuleId: string, parentModuleId: string, insertPosition?: number[]): void;
3396
3411
  deleteSubArticles(groupId: string, subModuleId: string[] | string): Promise<void>;
3397
3412
  arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): Promise<void>;
3398
3413
  changedGroupPlanningSituation(changedGroup: ExternalObjectGroup, objectPositionChanged: boolean): Promise<void>;
@@ -3514,6 +3529,18 @@ export declare type HiAttributeOptionsResult = CheckDropDownResult | CheckDropDo
3514
3529
 
3515
3530
  export declare type HiContextAction = (typeof HI_CONTEXT_ACTION)[keyof typeof HI_CONTEXT_ACTION];
3516
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
+
3517
3544
  export declare type HiLoadObjectReason = (typeof HI_LOAD_OBJECT_REASON)[keyof typeof HI_LOAD_OBJECT_REASON];
3518
3545
 
3519
3546
  export declare interface HiObjectSelectionApi {
@@ -3532,6 +3559,7 @@ export declare class HiTagCatalogCallbacks implements Context {
3532
3559
  private _externalItems;
3533
3560
  private _externalConfigurations;
3534
3561
  private _tagIds;
3562
+ private _initData;
3535
3563
  private _globalCallback;
3536
3564
  private _configuratorViewModel;
3537
3565
  constructor(creator: string, articles: Promise<any>);
@@ -3707,8 +3735,8 @@ export declare class InitData implements Context, Omit<InitDataDefinition, 'colo
3707
3735
  disableDebugGUI?: boolean;
3708
3736
  disableEnvMap?: boolean;
3709
3737
  envMapUrl?: string;
3710
- envMapIntensity?: number;
3711
- envMapRotation?: number;
3738
+ envMapIntensity: number;
3739
+ envMapRotation: number;
3712
3740
  maxLightSources?: number;
3713
3741
  legacyLight?: boolean;
3714
3742
  sceneLight?: DefaultEnvironmentSceneType;
@@ -3964,6 +3992,11 @@ export declare interface KernelAnimationAction {
3964
3992
  type: string;
3965
3993
  }
3966
3994
 
3995
+ export declare interface KernelAssembledObjectBounds {
3996
+ boundingBox: KernelCube;
3997
+ parts: KernelObjectBounds[];
3998
+ }
3999
+
3967
4000
  export declare interface KernelAttic extends KernelObject {
3968
4001
  getFrom(): NodePlanObject;
3969
4002
  getTo(): NodePlanObject;
@@ -4012,7 +4045,7 @@ export declare interface KernelComponent {
4012
4045
  rotation: KernelVector3;
4013
4046
  globalTransform: KernelMatrix4;
4014
4047
  boxForMeasurement: KernelCube;
4015
- geometryBounds: KernelCube[];
4048
+ geometryBounds: KernelAssembledObjectBounds;
4016
4049
  parameters: KernelParameter[];
4017
4050
  parameterGroups: KernelParameterGroup[];
4018
4051
  possibleChildren: KernelPossibleChild[];
@@ -4080,6 +4113,14 @@ export declare interface KernelEnum {
4080
4113
  value: number;
4081
4114
  }
4082
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
+
4083
4124
  export declare interface KernelFloor extends KernelObject {
4084
4125
  area: number;
4085
4126
  material: KernelFloorMaterial;
@@ -4169,6 +4210,11 @@ export declare interface KernelObject {
4169
4210
  getId(): number;
4170
4211
  }
4171
4212
 
4213
+ export declare interface KernelObjectBounds {
4214
+ boundingBox: KernelCube;
4215
+ rectangleBox: KernelExtrudedRectangle;
4216
+ }
4217
+
4172
4218
  export declare interface KernelObjectConfiguration {
4173
4219
  runtimeId: number;
4174
4220
  serializedDefinition: string;
@@ -4428,7 +4474,7 @@ export declare interface LibraryData {
4428
4474
  solveModuleAttributeConflict(module: PosModuleData, attributeName: string, value: string | number | boolean): PosModuleAttribute[] | undefined;
4429
4475
  getValidSubArticles(calculatedPosGroup: PosGroup, articles: PosArticle[], masterData: MasterData): PosArticle[];
4430
4476
  getValidContainerModulesForSubArticle(calculatedPosGroup: PosGroup, subArticle: PosArticle, masterData: MasterData): ExternalObjectValidContainerModules[];
4431
- addSubArticle(targetPosGroup: PosGroup, article: PosArticle, rootId: string, parentModuleId: string): PosGroup;
4477
+ addSubArticle(targetPosGroup: PosGroup, article: PosArticle, rootId: string, parentModuleId: string, insertPosition?: number[]): PosGroup;
4432
4478
  deleteSubArticle(targetPosGroup: PosGroup, rootId: string, articleModuleId: string): PosGroup;
4433
4479
  }
4434
4480
 
@@ -4483,7 +4529,7 @@ export declare abstract class LightSetting {
4483
4529
  abstract addToScene(): void;
4484
4530
  abstract removeFromScene(): void;
4485
4531
  abstract reload(): void;
4486
- abstract showGUI(): void;
4532
+ abstract showGUI(sceneParameters: GenericGUIParamFolder): void;
4487
4533
  getCameraContainer(): Object3D;
4488
4534
  }
4489
4535
 
@@ -4963,6 +5009,11 @@ export declare interface OffsetCamera {
4963
5009
  export declare interface OrthographicOffsetCamera extends OrthographicCamera, OffsetCamera {
4964
5010
  }
4965
5011
 
5012
+ export declare interface OutlineCustomParameters {
5013
+ outlineVisibleEdgeColor: ColorRepresentation;
5014
+ outlineHiddenEdgeColor: ColorRepresentation;
5015
+ }
5016
+
4966
5017
  export declare const enum PARAMETER_KERNEL_TYPE {
4967
5018
  UNKNOWN = "",
4968
5019
  INTEGER = "Integer",
@@ -5479,7 +5530,7 @@ export declare class PlannerKernelAccess extends ConfiguratorKernelAccess {
5479
5530
  externalObjectComponentSplitOff(plan: Plan_2, planObject: PlanObject, splitGroups: ExternalObjectGroup[]): void;
5480
5531
  externalObjectArrangementChanged(plan: Plan_2, planObject: PlanObject, changedGroup: ExternalObjectGroup): void;
5481
5532
  externalObjectRequestAddOnContainers(plan: Plan_2, planObject: PlanObject, groupId: string, subArticleId: string): void;
5482
- 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;
5483
5534
  externalObjectRemoveSubModule(plan: Plan_2, planObject: PlanObject, groupId: string, subModuleId: string): void;
5484
5535
  planObjectConfigurationLoaded(plan: Plan_2, element: PlanElement_2, success: boolean): Promise<void>;
5485
5536
  planObjectConfigurationChanged(plan: Plan_2, object: PlanObject): void;
@@ -5543,7 +5594,7 @@ export declare interface PlannerKernelCallbackI {
5543
5594
  stoppedDrawing(): void;
5544
5595
  requestCatalogItem(catalogItemId: string): void;
5545
5596
  externalObjectRequestAddOnContainers(groupId: string, subArticleId: string): void;
5546
- externalObjectAddSubArticle(subArticleId: string, rootModuleId: string, parentModuleId: string): void;
5597
+ externalObjectAddSubArticle(subArticleId: string, rootModuleId: string, parentModuleId: string, insertPosition?: number[]): void;
5547
5598
  externalObjectRemoveSubModule(groupId: string, subModuleId: string): void;
5548
5599
  }
5549
5600
 
@@ -5854,6 +5905,7 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
5854
5905
  protected _updateConfigurationFromHistory(configurationString: string): Promise<void>;
5855
5906
  setMode(mode: Enumify_2<typeof CAMERA_TYPE>): void;
5856
5907
  private _clearHighlighting;
5908
+ updateHighlightingOfPlanElements(): void;
5857
5909
  highlightPlanElementsById(runtimeIds: number[] | null): void;
5858
5910
  highlightPlanElementById(runtimeId: number | null): void;
5859
5911
  destroy(): void;
@@ -5968,7 +6020,7 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
5968
6020
  insertRapiObjects(rapiIds: InsertItemIdInfo[]): Promise<InsertItemResult[]>;
5969
6021
  private _saveConfiguration;
5970
6022
  externalObjectRequestAddOnContainers(groupId: string, subArticleId: string): Promise<void>;
5971
- externalObjectAddSubArticle(subArticleId: string, rootModuleId: string, parentModuleId: string): void;
6023
+ externalObjectAddSubArticle(subArticleId: string, rootModuleId: string, parentModuleId: string, insertPosition?: number[]): void;
5972
6024
  externalObjectRemoveSubModule(groupId: string, subModuleId: string): void;
5973
6025
  getExternalSubArticles(id: number): PosArticle[];
5974
6026
  }
@@ -6002,9 +6054,9 @@ export declare interface PlanObject extends PlanElement_2 {
6002
6054
  }
6003
6055
 
6004
6056
  export declare interface PlanObjectKernel {
6005
- bounds: KernelVector3;
6057
+ geometryBounds: KernelCube;
6006
6058
  boxForMeasurement: KernelCube;
6007
- boxOfGeometry: KernelCube;
6059
+ geometryBoundsWithEnvironment: KernelCube;
6008
6060
  id: number;
6009
6061
  rootPlanComponentId: number;
6010
6062
  externalId: string;
@@ -6127,7 +6179,7 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6127
6179
  private _handleCeilingPlanElementViewModel;
6128
6180
  private _handleNodePlanElementViewModel;
6129
6181
  private _getCeilingLightsDistribution;
6130
- handleInitialLights(_maxTextures: number, qualityLevel: QualityLevel): void;
6182
+ handleInitialCeilingLights(ceilingLightsParameters: GenericGUIParamFolder | undefined, qualityLevel: QualityLevel): void;
6131
6183
  handleCeilingLights(): void;
6132
6184
  handleLampLight(lamp: StaticPlanObjectViewModel, options: {
6133
6185
  targetPos: KernelVector3f;
@@ -6136,7 +6188,7 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6136
6188
  decay?: number;
6137
6189
  intensity?: number;
6138
6190
  active?: boolean;
6139
- }): void;
6191
+ }, lampLightsParameters?: ParametersGroup): void;
6140
6192
  handleRectLampLight(lamp: StaticPlanObjectViewModel, options: {
6141
6193
  dimensions: {
6142
6194
  width: number;
@@ -6146,11 +6198,11 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6146
6198
  color?: number;
6147
6199
  rotation?: KernelVector3f;
6148
6200
  active?: boolean;
6149
- }): void;
6201
+ }, rectLightsParameters?: ParametersGroup): void;
6150
6202
  toggleCeilingLights(on: boolean): void;
6151
6203
  private commonHandlerForEditableAndTopView;
6152
6204
  isChildObjectRootComponent(roomleComponent: RoomleComponent): boolean;
6153
- protected dockComponent(componentId: number, isRootComponent: boolean, parentId: number, componentPosition: KernelVector3, componentRotation: KernelVector3): void;
6205
+ protected dockComponent(componentDocking: KernelComponentDocking): void;
6154
6206
  protected _addComponent(component: RoomleComponent): void;
6155
6207
  private _getPlanObjectViewModelForRuntimeId;
6156
6208
  getConfigurablePlanObjectForId(id: number): ConfiguratorPlanObjectViewModel | null;
@@ -6225,7 +6277,7 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6225
6277
  planCleared(): void;
6226
6278
  requestCatalogItem(_catalogItemId: string): void;
6227
6279
  externalObjectRequestAddOnContainers(_groupId: string, _subArticleId: string): void;
6228
- externalObjectAddSubArticle(_subArticleId: string, _rootModuleId: string, _parentModuleId: string): void;
6280
+ externalObjectAddSubArticle(_subArticleId: string, _rootModuleId: string, _parentModuleId: string, _insertPosition?: number[]): void;
6229
6281
  externalObjectRemoveSubModule(_groupId: string, _subModuleId: string): void;
6230
6282
  }
6231
6283
 
@@ -6296,6 +6348,10 @@ export declare interface PosArticleInfo {
6296
6348
  isConfigDummy?: boolean;
6297
6349
  }
6298
6350
 
6351
+ export declare interface PosContextData {
6352
+ dockedRoots?: PosDockedContext[];
6353
+ }
6354
+
6299
6355
  export declare interface PosContour {
6300
6356
  level: number;
6301
6357
  segments: PosContourSegment[];
@@ -6324,6 +6380,16 @@ export declare const enum PosDock {
6324
6380
  RightBackBottom = "RightBackBottom"
6325
6381
  }
6326
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
+
6327
6393
  export declare interface PosDockInfo {
6328
6394
  id: PosDock;
6329
6395
  start: number[];
@@ -6441,6 +6507,7 @@ export declare interface PosModuleRootData extends PosModuleData, PosPositionInf
6441
6507
  dockInfos: PosDockInfo[];
6442
6508
  insertLevelInfos?: PosInsertLevelInfo[];
6443
6509
  insertLevelFixed?: boolean;
6510
+ contextData?: PosContextData;
6444
6511
  }
6445
6512
 
6446
6513
  export declare interface PosPartData {
@@ -6536,9 +6603,11 @@ export declare interface PreviewComponent extends RoomleComponent {
6536
6603
  stringId: string;
6537
6604
  receivedPointAssociation: boolean;
6538
6605
  dockInsertAnimation?: DragInsertAnimation;
6606
+ clickPosition?: Vector3;
6539
6607
  clonePreview(cloneId: string): PreviewComponent;
6540
6608
  preparePreview(): void;
6541
6609
  startPulsating(): void;
6610
+ updateClickPosition(intersectionPoint: Vector3): void;
6542
6611
  }
6543
6612
 
6544
6613
  export declare interface PreviewLineComponent extends PreviewComponent {
@@ -7408,6 +7477,8 @@ export declare const ROOMLE_COLORS: {
7408
7477
  readonly DEFAULT_BACKGROUND: 16250871;
7409
7478
  readonly SELECTION: 16777215;
7410
7479
  readonly PREVIEW_DOCKING_COLOR: 266198493;
7480
+ readonly SNAP_DOCKING: 8454016;
7481
+ readonly SNAP_COLLISION: 16744576;
7411
7482
  };
7412
7483
 
7413
7484
  export declare const ROOMLE_HIGHLIGHTNG: {
@@ -7422,6 +7493,7 @@ export declare interface RoomleComponent extends RoomleEventedObject3D {
7422
7493
  runtimeId: number;
7423
7494
  parentObjectId: number;
7424
7495
  isRootComponent: boolean;
7496
+ componentType: KernelComponentType;
7425
7497
  meshes: RoomleEventedMesh[];
7426
7498
  boundingBox: Box3;
7427
7499
  boundingBoxMesh: RoomleEventedMesh | null;
@@ -7450,7 +7522,7 @@ export declare interface RoomleComponent extends RoomleEventedObject3D {
7450
7522
  hoverOff(): void;
7451
7523
  loading(): void;
7452
7524
  loadingFinished(): void;
7453
- computeBoundingBox(boxForMeasurements?: KernelCube, geometryBounds?: KernelCube[], useMeshes?: boolean): void;
7525
+ computeBoundingBox(boxForMeasurements?: KernelCube, geometryBounds?: KernelAssembledObjectBounds, useMeshes?: boolean): void;
7454
7526
  recursiveMeshes(): Mesh[];
7455
7527
  isChild(componentId: number): boolean;
7456
7528
  getKernelPosition(newParent: RoomleComponent): KernelVector3;
@@ -7458,9 +7530,9 @@ export declare interface RoomleComponent extends RoomleEventedObject3D {
7458
7530
  }
7459
7531
 
7460
7532
  export declare interface RoomleComponentFactory {
7461
- 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;
7462
7534
  createStatic(creator: string, id: number, url: string): StaticComponent;
7463
- createPreview(id: number, parentObjectId: number, creator: string): PreviewComponent;
7535
+ createPreview(id: number, parentObjectId: number, componentType: KernelComponentType, creator: string): PreviewComponent;
7464
7536
  createPreviewLine(id: number, previewComponent: PreviewComponent, creator: string): PreviewLineComponent;
7465
7537
  isPreview(obj: RoomleComponent): boolean;
7466
7538
  isPreviewLine(obj: RoomleComponent): boolean;
@@ -8291,7 +8363,6 @@ export declare class RoomleMaterialViewer implements GlobalAPI, Context, Externa
8291
8363
  get callbacks(): RoomleMaterialViewerUiCallback;
8292
8364
  set callbacks(callback: RoomleMaterialViewerUiCallback);
8293
8365
  loadMaterialShading(materialShading: RapiMaterialShading): Promise<void>;
8294
- resetMaterial(): void;
8295
8366
  loadMaterial(material: RapiMaterial, options?: {
8296
8367
  flushCache?: boolean;
8297
8368
  }): Promise<void>;
@@ -9117,6 +9188,7 @@ export declare abstract class RoomleRenderer<RendererType extends WebGLRenderer
9117
9188
  abstract getQualityLevel(): QualityLevel;
9118
9189
  abstract setQualityMap(qualityMap: QualityMap): void;
9119
9190
  abstract setCustomShadingParameters(customShadingParameters?: CustomShadingParameters, customShadingParametersMoc?: CustomShadingParameters): void;
9191
+ abstract setCustomOutlineParameters(outlineCustomParameters: OutlineCustomParameters): void;
9120
9192
  abstract loadLutImages(luts: LutImageDefinition[]): void;
9121
9193
  abstract render(scene: Scene, camera: Camera): void;
9122
9194
  abstract showGUI(updateCallback: () => void): void;
@@ -9188,6 +9260,42 @@ export declare class RoomleToolsCore implements Context, ExternalEmbeddable<Room
9188
9260
  export declare interface RoomleToolsCoreUICallback {
9189
9261
  }
9190
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
+
9191
9299
  export declare interface RoomLightSourceDistribution {
9192
9300
  ceilingId: number;
9193
9301
  floorId: number;
@@ -9317,6 +9425,7 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9317
9425
  protected _renderListener: (() => void) | null;
9318
9426
  protected _stopRendering: boolean;
9319
9427
  protected _roomleRenderer: GenericRoomleRenderer | null;
9428
+ private _roomleRendererReady;
9320
9429
  private _forceRender;
9321
9430
  private _lastChange;
9322
9431
  private _running;
@@ -9338,6 +9447,7 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9338
9447
  removeEventListener(_listener: LifeCycleCallbacks): void;
9339
9448
  get lightCache(): LightCache | null;
9340
9449
  getRoomleRenderer(): GenericRoomleRenderer | null;
9450
+ getRoomleRendererReady(): Promise<GenericRoomleRenderer | null>;
9341
9451
  getRenderer(): WebGLRenderer | WebGPURenderer | null;
9342
9452
  protected _changeCameraBehaviour(cameraBehaviour: CameraBehaviour): void;
9343
9453
  protected onCameraChanged(): void;
@@ -9373,11 +9483,11 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9373
9483
  enableHD(source?: DynamicLightSettingSource): void;
9374
9484
  protected _loadGLTF(gltfJSON: string, position?: Vector3, rotation?: number, size?: Vector3, scale?: Vector3, color?: number, callback?: (percent: number) => void): Promise<Object3D>;
9375
9485
  protected _loadGLB(url: string, position?: Vector3, rotation?: number, size?: Vector3, scale?: Vector3, color?: number, colorable?: boolean, callback?: (percent: number) => void): Promise<Object3D>;
9376
- showGUI(): void;
9377
- protected _guiLoaded(): void;
9378
- protected _addGUIListener(gui: GUI): void;
9379
- protected _guiParamChanged(): void;
9380
- showStats(): void;
9486
+ showGUI(): Promise<void>;
9487
+ protected initializeWebGLGUI(): void;
9488
+ protected initializeWebGPUGUI(roomleWebGPURenderer: RoomleWebGPURenderer): void;
9489
+ private addEnvironmentMapGUIParameters;
9490
+ showWebGLStats(): void;
9381
9491
  protected _onKeyDown(_event: KeyboardEvent): void;
9382
9492
  protected _onKeyUp(_event: KeyboardEvent, _cleanup?: boolean): void;
9383
9493
  pause(): void;
@@ -9404,6 +9514,7 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9404
9514
  exportImageFromCamera(filename: string, shouldWaitForAssets?: boolean): Promise<void>;
9405
9515
  private getCanvasScreenshotWithDimensions;
9406
9516
  changeEnvironmentMapIntensity(intensity: number): void;
9517
+ changeEnvironmentMapRotation(rotation: number): void;
9407
9518
  lockCamera(): void;
9408
9519
  unlockCamera(): void;
9409
9520
  setEnvironmentMap(url?: string, intensity?: number, rotation?: number, maxLightSources?: number): void;
@@ -9699,6 +9810,17 @@ export declare class UnitFormatter implements Context {
9699
9810
  formatMMValueToUnitString(aValue: number, unitType?: string): string | null;
9700
9811
  formatMMValueWithReqMaxLength(aValue: number, reqMaxSize: number): string | null;
9701
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;
9702
9824
  formatPartListParameter(parameter: KernelPartListParameter): void;
9703
9825
  formatParameter(parameter: UiKernelParameter): void;
9704
9826
  isInch(): boolean;
@@ -9925,7 +10047,7 @@ declare global {
9925
10047
  const WebAssembly: any; // eslint-disable-line
9926
10048
  interface Window {
9927
10049
  KernelCallback?: { isReady: () => void } | null;
9928
- __RML_GUI__: GUI; // eslint-disable-line
10050
+ __RML_WEBGL_GUI__: GUI; // eslint-disable-line
9929
10051
  __RML__DEBUG__?: Debug;
9930
10052
  __RML__ENV__?: ExternalEnv;
9931
10053
  _rsl: { [key: string]: ThreeShader };