@roomle/web-sdk 3.6.0-alpha.2 → 3.6.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/lib/{BufferGeometry-BZdSmtHt.mjs → BufferGeometry-C1o0MiFL.mjs} +2 -2
  2. package/lib/{BufferGeometry-BZdSmtHt.mjs.map → BufferGeometry-C1o0MiFL.mjs.map} +1 -1
  3. package/lib/ConfiguratorKernel.js +2 -2
  4. package/lib/ConfiguratorKernel.wasm +0 -0
  5. package/lib/{GLTFExporter-DiE_HuI6.mjs → GLTFExporter-CXMBueJw.mjs} +510 -473
  6. package/lib/GLTFExporter-CXMBueJw.mjs.map +1 -0
  7. package/lib/{PointLightHelper-BvRpTX7D.mjs → PointLightHelper-ICWLqwjK.mjs} +3 -3
  8. package/lib/{PointLightHelper-BvRpTX7D.mjs.map → PointLightHelper-ICWLqwjK.mjs.map} +1 -1
  9. package/lib/RoomleCore.js +4 -4
  10. package/lib/RoomleCore.wasm +0 -0
  11. package/lib/RoomleToolsCore.wasm +0 -0
  12. package/lib/{SpotLightHelper-Byg39thi.mjs → SpotLightHelper-CW5lDGFp.mjs} +3 -3
  13. package/lib/{SpotLightHelper-Byg39thi.mjs.map → SpotLightHelper-CW5lDGFp.mjs.map} +1 -1
  14. package/lib/{USDZExporter-VBx9xybH.mjs → USDZExporter-CUp3dX08.mjs} +218 -211
  15. package/lib/USDZExporter-CUp3dX08.mjs.map +1 -0
  16. package/lib/asset-loader.worker.js +1 -1
  17. package/lib/{banana-for-scale-C9_AyZkI.mjs → banana-for-scale-CfQ8dnY2.mjs} +2 -2
  18. package/lib/{banana-for-scale-C9_AyZkI.mjs.map → banana-for-scale-CfQ8dnY2.mjs.map} +1 -1
  19. package/lib/component-dimensioning-C9AWhxvj.mjs +237 -0
  20. package/lib/component-dimensioning-C9AWhxvj.mjs.map +1 -0
  21. package/lib/{continuous-drawing-helper-BNHRsd4B.mjs → continuous-drawing-helper-B5BlbPPz.mjs} +2 -2
  22. package/lib/{continuous-drawing-helper-BNHRsd4B.mjs.map → continuous-drawing-helper-B5BlbPPz.mjs.map} +1 -1
  23. package/lib/{homag-intelligence-BraN723F.mjs → homag-intelligence-UFo9Z8FS.mjs} +42 -38
  24. package/lib/homag-intelligence-UFo9Z8FS.mjs.map +1 -0
  25. package/lib/{imos-ix-poc-export-helper-D7ubISCJ.mjs → imos-ix-poc-export-helper-CGSk-8yx.mjs} +2 -2
  26. package/lib/{imos-ix-poc-export-helper-D7ubISCJ.mjs.map → imos-ix-poc-export-helper-CGSk-8yx.mjs.map} +1 -1
  27. package/lib/{index-C-Prfui2.mjs → index-DIyMlQBA.mjs} +46178 -18733
  28. package/lib/index-DIyMlQBA.mjs.map +1 -0
  29. package/lib/{material-viewer-DyVGp6Xm.mjs → material-viewer-QTlidNBs.mjs} +7 -6
  30. package/lib/material-viewer-QTlidNBs.mjs.map +1 -0
  31. package/lib/roomle-sdk.d.ts +287 -132
  32. package/lib/roomle-sdk.js +29 -29
  33. package/lib/static/asset-loader.worker.js +1 -1
  34. package/lib/static/roomle-core-hsc/ConfiguratorKernel.js +2 -2
  35. package/lib/static/roomle-core-hsc/ConfiguratorKernel.wasm +0 -0
  36. package/lib/static/roomle-core-hsc/RoomleCore.js +4 -4
  37. package/lib/static/roomle-core-hsc/RoomleCore.wasm +0 -0
  38. package/lib/static/roomle-core-hsc/RoomleToolsCore.wasm +0 -0
  39. package/lib/static/roomle-core-hsc/configurableObject.d.ts +2 -2
  40. package/lib/static/roomle-core-hsc/configurableObject.js +6 -6
  41. package/lib/static/roomle-core-hsc/configurableObject.js.map +1 -1
  42. package/lib/static/roomle-core-hsc/configurationLoader.js +1 -5
  43. package/lib/static/roomle-core-hsc/configurationLoader.js.map +1 -1
  44. package/lib/static/roomle-core-hsc/configurationManager.d.ts +1 -0
  45. package/lib/static/roomle-core-hsc/configurationManager.js +6 -0
  46. package/lib/static/roomle-core-hsc/configurationManager.js.map +1 -1
  47. package/lib/static/roomle-core-hsc/configuratorCore.d.ts +1 -2
  48. package/lib/static/roomle-core-hsc/configuratorCoreInterface.d.ts +22 -29
  49. package/lib/static/roomle-core-hsc/embind/configuratorCore.d.ts +1 -2
  50. package/lib/static/roomle-core-hsc/embind/configuratorCoreInterface.d.ts +22 -29
  51. package/lib/static/roomle-core-hsc/embind/plannerCore.d.ts +1 -2
  52. package/lib/static/roomle-core-hsc/embind/plannerCoreCallback.d.ts +1 -1
  53. package/lib/static/roomle-core-hsc/embind/plannerCoreCallback.js +1 -1
  54. package/lib/static/roomle-core-hsc/embind/plannerCoreCallback.js.map +1 -1
  55. package/lib/static/roomle-core-hsc/embind/plannerCoreInterface.d.ts +74 -81
  56. package/lib/static/roomle-core-hsc/embind/plannerCoreInterface.js +1 -6
  57. package/lib/static/roomle-core-hsc/embind/plannerCoreInterface.js.map +1 -1
  58. package/lib/static/roomle-core-hsc/loader/configurableObject.d.ts +2 -2
  59. package/lib/static/roomle-core-hsc/loader/configurableObject.js +6 -6
  60. package/lib/static/roomle-core-hsc/loader/configurableObject.js.map +1 -1
  61. package/lib/static/roomle-core-hsc/loader/configurationLoader.js +1 -5
  62. package/lib/static/roomle-core-hsc/loader/configurationLoader.js.map +1 -1
  63. package/lib/static/roomle-core-hsc/loader/configurationManager.d.ts +1 -0
  64. package/lib/static/roomle-core-hsc/loader/configurationManager.js +6 -0
  65. package/lib/static/roomle-core-hsc/loader/configurationManager.js.map +1 -1
  66. package/lib/static/roomle-core-hsc/loader/planElementManager.d.ts +2 -2
  67. package/lib/static/roomle-core-hsc/loader/planElementManager.js.map +1 -1
  68. package/lib/static/roomle-core-hsc/package.json +1 -1
  69. package/lib/static/roomle-core-hsc/planElementManager.d.ts +2 -2
  70. package/lib/static/roomle-core-hsc/planElementManager.js.map +1 -1
  71. package/lib/static/roomle-core-hsc/plannerCore.d.ts +1 -2
  72. package/lib/static/roomle-core-hsc/plannerCoreCallback.d.ts +1 -1
  73. package/lib/static/roomle-core-hsc/plannerCoreCallback.js +1 -1
  74. package/lib/static/roomle-core-hsc/plannerCoreCallback.js.map +1 -1
  75. package/lib/static/roomle-core-hsc/plannerCoreInterface.d.ts +74 -81
  76. package/lib/static/roomle-core-hsc/plannerCoreInterface.js +1 -6
  77. package/lib/static/roomle-core-hsc/plannerCoreInterface.js.map +1 -1
  78. package/lib/static/roomle-core-hsc/src/embind/configuratorCore.d.ts +1 -2
  79. package/lib/static/roomle-core-hsc/src/embind/configuratorCoreInterface.d.ts +22 -29
  80. package/lib/static/roomle-core-hsc/src/embind/plannerCore.d.ts +1 -2
  81. package/lib/static/roomle-core-hsc/src/embind/plannerCoreCallback.d.ts +1 -1
  82. package/lib/static/roomle-core-hsc/src/embind/plannerCoreCallback.js +1 -1
  83. package/lib/static/roomle-core-hsc/src/embind/plannerCoreCallback.js.map +1 -1
  84. package/lib/static/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts +74 -81
  85. package/lib/static/roomle-core-hsc/src/embind/plannerCoreInterface.js +1 -6
  86. package/lib/static/roomle-core-hsc/src/embind/plannerCoreInterface.js.map +1 -1
  87. package/lib/static/roomle-core-hsc/src/loader/configurableObject.d.ts +2 -2
  88. package/lib/static/roomle-core-hsc/src/loader/configurableObject.js +6 -6
  89. package/lib/static/roomle-core-hsc/src/loader/configurableObject.js.map +1 -1
  90. package/lib/static/roomle-core-hsc/src/loader/configurationLoader.js +1 -5
  91. package/lib/static/roomle-core-hsc/src/loader/configurationLoader.js.map +1 -1
  92. package/lib/static/roomle-core-hsc/src/loader/configurationManager.d.ts +1 -0
  93. package/lib/static/roomle-core-hsc/src/loader/configurationManager.js +6 -0
  94. package/lib/static/roomle-core-hsc/src/loader/configurationManager.js.map +1 -1
  95. package/lib/static/roomle-core-hsc/src/loader/planElementManager.d.ts +2 -2
  96. package/lib/static/roomle-core-hsc/src/loader/planElementManager.js.map +1 -1
  97. package/lib/static/roomle-core-hsc/wasm_modern/ConfiguratorKernel.js +2 -2
  98. package/lib/static/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  99. package/lib/static/roomle-core-hsc/wasm_modern/RoomleCore.js +4 -4
  100. package/lib/static/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  101. package/lib/static/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  102. package/lib/{stats-helper-UQlUyOTj.mjs → stats-helper-cTITQsAT.mjs} +2 -2
  103. package/lib/{stats-helper-UQlUyOTj.mjs.map → stats-helper-cTITQsAT.mjs.map} +1 -1
  104. package/lib/{tools-core-wkPFRdnH.mjs → tools-core-CCWbo8fD.mjs} +2 -2
  105. package/lib/{tools-core-wkPFRdnH.mjs.map → tools-core-CCWbo8fD.mjs.map} +1 -1
  106. package/package.json +3 -3
  107. package/lib/GLTFExporter-DiE_HuI6.mjs.map +0 -1
  108. package/lib/USDZExporter-VBx9xybH.mjs.map +0 -1
  109. package/lib/component-dimensioning-DHTSa-If.mjs +0 -229
  110. package/lib/component-dimensioning-DHTSa-If.mjs.map +0 -1
  111. package/lib/homag-intelligence-BraN723F.mjs.map +0 -1
  112. package/lib/index-C-Prfui2.mjs.map +0 -1
  113. package/lib/material-viewer-DyVGp6Xm.mjs.map +0 -1
  114. package/lib/three.webgpu-sHJcp001.mjs +0 -27625
  115. package/lib/three.webgpu-sHJcp001.mjs.map +0 -1
@@ -29,7 +29,6 @@ import { HiOrderHeader } from '../../../../common/src/hi/hi-types';
29
29
  import { Intersection } from 'three';
30
30
  import { Layers } from 'three';
31
31
  import { Light } from 'three';
32
- import { LightShadow } from 'three';
33
32
  import { MagnificationTextureFilter } from 'three';
34
33
  import { Material } from 'three';
35
34
  import { Matrix3 } from 'three';
@@ -46,7 +45,6 @@ import { Object3DEventMap } from 'three';
46
45
  import { OrthographicCamera } from 'three';
47
46
  import { Pass } from 'three/examples/jsm/postprocessing/Pass.js';
48
47
  import { PerspectiveCamera } from 'three';
49
- import { Point } from 'roomle-core-hsc/src/embind/configuratorCoreInterface';
50
48
  import { PointLight } from 'three';
51
49
  import { RectAreaLight } from 'three';
52
50
  import { Scene } from 'three';
@@ -383,7 +381,7 @@ export declare interface Base64Image {
383
381
  image: Base64String;
384
382
  width: number;
385
383
  height: number;
386
- blob: Blob;
384
+ blob: Blob | null;
387
385
  }
388
386
 
389
387
  export declare type Base64String = string;
@@ -450,7 +448,7 @@ export declare class CacheHolder {
450
448
  private _geometryCache;
451
449
  private _materialCache;
452
450
  private _lightCache;
453
- get lightCache(): LightCache;
451
+ get lightCache(): LightCache | null;
454
452
  get componentCache(): Map<string, RoomleComponent>;
455
453
  get geometryCache(): Map<string, BufferGeometry>;
456
454
  get materialCache(): Map<string, Material>;
@@ -462,6 +460,18 @@ export declare type CacheKey = any;
462
460
 
463
461
  export declare type CallbackObjectType = 'static' | 'configuration' | 'wall' | 'measure' | 'attic' | 'door' | 'floor' | 'window' | 'unknown' | 'external-configuration';
464
462
 
463
+ export declare const enum CAMERA_EVENT {
464
+ ORBIT_START = 0,
465
+ ORBIT_MOVE = 1,
466
+ ORBIT_END = 2,
467
+ ZOOM_IN = 3,
468
+ ZOOM_OUT = 4,
469
+ ZOOM_CHANGE = 5,
470
+ KEYBOARD_PRESSED = 6,
471
+ MOVING = 7,// general event when camera moves
472
+ IDLE = 8
473
+ }
474
+
465
475
  export declare const CAMERA_TYPE: {
466
476
  readonly CAMERA_2D: "2D";
467
477
  readonly CAMERA_3D: "3D";
@@ -491,7 +501,7 @@ export declare class CameraBehaviourState implements Context {
491
501
  isWithinPlanBounds(position: Vector3, updatedBounds?: Box3): boolean;
492
502
  }
493
503
 
494
- export declare abstract class CameraControl extends EventDispatcher<any> implements Context {
504
+ export declare abstract class CameraControl extends EventDispatcher<CameraEventMap> implements Context {
495
505
  _creator_: string;
496
506
  protected _domHelper: DomHelper;
497
507
  protected _initData: InitData;
@@ -501,7 +511,7 @@ export declare abstract class CameraControl extends EventDispatcher<any> impleme
501
511
  protected _boundingBox: Box3;
502
512
  protected _cameraPosition: Vector3;
503
513
  protected _targetPosition: Vector3;
504
- protected _tweenEnd: CameraParameter;
514
+ protected _tweenEnd: CameraParameter | null;
505
515
  private _stateSaved;
506
516
  private _cameraStandingStill;
507
517
  protected _pitch: number;
@@ -509,7 +519,7 @@ export declare abstract class CameraControl extends EventDispatcher<any> impleme
509
519
  protected _distance: number;
510
520
  protected _locked: boolean;
511
521
  private _inputManager;
512
- protected _inputListeners: Array<Listener<InputEvent_2>>;
522
+ protected _inputListeners: InputListenerEntry[];
513
523
  protected _lerpEnabled: boolean;
514
524
  constructor(creator: string, inputManager: InputManager, initialCameraParameters?: CameraParameter);
515
525
  getCamera(): PerspectiveOrOrthographicCamera;
@@ -521,7 +531,7 @@ export declare abstract class CameraControl extends EventDispatcher<any> impleme
521
531
  setUp(): void;
522
532
  cleanUp(): void;
523
533
  animateCamera(delta: number): boolean;
524
- protected getDebugCameraPosition(): CameraParameter;
534
+ protected getDebugCameraPosition(): CameraParameter | null;
525
535
  protected saveDebugCameraPosition(): void;
526
536
  protected _dispatchCameraIdle(): void;
527
537
  protected _tweenCameraParameter(start: CameraParameter, end: CameraParameter, ignoreChecks?: boolean): Promise<void>;
@@ -530,7 +540,7 @@ export declare abstract class CameraControl extends EventDispatcher<any> impleme
530
540
  setCurrentCameraParameters(cameraParameters: CameraParameter): void;
531
541
  protected _rotateHorizontal(angle: number): void;
532
542
  protected _rotateVertical(angle: number): void;
533
- saveState(override: boolean): CameraParameter;
543
+ saveState(override: boolean): CameraParameter | null;
534
544
  resetToState(): void;
535
545
  setToState(start: CameraParameter, state: CameraParameter): Promise<void>;
536
546
  hasSavedState(): boolean;
@@ -681,6 +691,18 @@ export declare class CameraControlFirstPerson extends CameraControl {
681
691
  getKernelZoomFactor(): number;
682
692
  }
683
693
 
694
+ export declare interface CameraEventMap {
695
+ [CAMERA_EVENT.ORBIT_START]: INPUT_EVENT_TYPE | void;
696
+ [CAMERA_EVENT.ORBIT_MOVE]: INPUT_EVENT_TYPE | void;
697
+ [CAMERA_EVENT.ORBIT_END]: INPUT_EVENT_TYPE | void;
698
+ [CAMERA_EVENT.ZOOM_IN]: void;
699
+ [CAMERA_EVENT.ZOOM_OUT]: void;
700
+ [CAMERA_EVENT.ZOOM_CHANGE]: ZoomChangeEvent;
701
+ [CAMERA_EVENT.KEYBOARD_PRESSED]: void;
702
+ [CAMERA_EVENT.MOVING]: INPUT_EVENT_TYPE;
703
+ [CAMERA_EVENT.IDLE]: INPUT_EVENT_TYPE;
704
+ }
705
+
684
706
  export declare interface CameraParameter {
685
707
  /**
686
708
  * Yaw of the camera in radians
@@ -815,10 +837,6 @@ export declare interface CheckResult {
815
837
  calcResult: CheckDropDownEntry[];
816
838
  }
817
839
 
818
- export declare interface ChildEntityMode {
819
- value: Enumify<typeof CORE_CHILD_ENTITY_MODE>;
820
- }
821
-
822
840
  export declare interface CleanupOptions {
823
841
  resetCoreCache?: boolean;
824
842
  resetMeshCache?: boolean;
@@ -1022,6 +1040,11 @@ export declare interface CommonInitData {
1022
1040
  */
1023
1041
  restrictionLevel?: number;
1024
1042
  /* Excluded from this release type: hi */
1043
+ /**
1044
+ * @description disable injection of default styles for measurements and component dimension labels
1045
+ * to enable easier customization of these styles (via the assigned classes)
1046
+ */
1047
+ disableDefaultLabelStyles?: boolean;
1025
1048
  }
1026
1049
 
1027
1050
  export declare abstract class CommonKernelAccess implements LifeCycleCallbacks, Context {
@@ -1246,16 +1269,16 @@ export declare class ConfiguratorContext {
1246
1269
  configurationRuntimeId: number;
1247
1270
  planElementId: number;
1248
1271
  rootComponentId: number;
1249
- dockingRootComponentId: number;
1250
- baseContext: BASE_CONTEXT;
1272
+ dockingRootComponentId: number | null;
1273
+ baseContext: BASE_CONTEXT | null;
1251
1274
  lastPossibleChild: UiPossibleChild;
1252
1275
  rootComponentParametersAsGlobal: boolean;
1253
1276
  requestPreviewsIsUserInitiated: boolean;
1254
- lastLoadedRapiId: RapiId;
1255
- lastLoadedPlanId: RapiId;
1277
+ lastLoadedRapiId: RapiId | null;
1278
+ lastLoadedPlanId: RapiId | null;
1256
1279
  selectedRuntimeComponentIds: number[];
1257
1280
  selectionMode: SELECTION_MODE;
1258
- get selectedRuntimeComponentId(): number;
1281
+ get selectedRuntimeComponentId(): number | null;
1259
1282
  }
1260
1283
 
1261
1284
  export declare interface ConfiguratorDebugAPI {
@@ -1445,7 +1468,7 @@ export declare class ConfiguratorKernelAccess extends CommonKernelAccess {
1445
1468
  changeCommonComponentParameter(componentIds: number[], parameterKey: string, type: string, value: string, resolve: () => void, reject: () => void): void;
1446
1469
  changeComponentParameter(componentId: number, parameterKey: string, type: string, value: string, resolve: () => void, reject: () => void): void;
1447
1470
  changePlanObjectParameter(runtimeId: number, parameterKey: string, type: string, value: string, resolve: () => void, reject: () => void): void;
1448
- protected _getAnimationLevelForObject(_runtimeId: number, animation: KernelAnimation): AnimationLevelType;
1471
+ protected _getAnimationLevelForObject(_runtimeId: number, animation: KernelAnimation | undefined): AnimationLevelType;
1449
1472
  updateAnimationParameters(elementId: number | number[], parameters: KernelParameter[]): void;
1450
1473
  changeAnimationValue(elementId: number, parameterKey: string, value: string, level: number, animationLevel: AnimationLevelType, animate: boolean): void;
1451
1474
  private _finishParameterChange;
@@ -1745,8 +1768,7 @@ export declare class ConfiguratorSceneManager extends SceneManager implements Co
1745
1768
  constructor(creator: string, offset: CanvasOffset, mode: Enumify_3<typeof CAMERA_TYPE>);
1746
1769
  /**
1747
1770
  * Single point for deciding whether to push HTML label positions to the UI.
1748
- * In ThreeJS mode this is a no-op labels render in-scene.
1749
- * In HTML mode the scene manager must push screen positions after any change.
1771
+ * the scene manager must push screen positions after any change.
1750
1772
  */
1751
1773
  private _notifyDimensionLabels;
1752
1774
  private _initOptionalModules;
@@ -1776,7 +1798,6 @@ export declare class ConfiguratorSceneManager extends SceneManager implements Co
1776
1798
  display(component: RoomleComponent): void;
1777
1799
  protected setRootComponentId(rootComponentId: number): void;
1778
1800
  debugSceneGraph(id?: number): void;
1779
- debugScene(): Scene<Object3DEventMap>;
1780
1801
  private _printObjectGraph;
1781
1802
  clearScene(): void;
1782
1803
  planObjectConstructionDone(_planObject: PlanObjectKernel): void;
@@ -1825,10 +1846,6 @@ export declare class ConfiguratorSceneManager extends SceneManager implements Co
1825
1846
  private _initDimensions;
1826
1847
  hideDimensions(): void;
1827
1848
  private _updateComponentDimensionLabels;
1828
- /**
1829
- * Resolve label collisions by hiding lower priority overlapping labels
1830
- */
1831
- private _resolveCollisions;
1832
1849
  loadSceneSettings(sceneSetting: SceneSettings): Promise<void>;
1833
1850
  protected onCameraChanged(): void;
1834
1851
  requestDockingsPreview(userInitiated: boolean, possibleChild?: UiPossibleChild, dragEvent?: DragEvent, dragIn?: boolean): void;
@@ -1879,6 +1896,7 @@ export declare class ConfiguratorSceneManager extends SceneManager implements Co
1879
1896
  animateElement(elementId: number, parameterName: string, value: string, animationLevel: AnimationLevelType, animate: boolean): void;
1880
1897
  undo(): Promise<void>;
1881
1898
  redo(): Promise<void>;
1899
+ private reloadConfiguration;
1882
1900
  protected _updateConfigurationFromHistory(configurationString: string): void;
1883
1901
  clearHistory(): void;
1884
1902
  private _callOnPartListUpdate;
@@ -2040,7 +2058,7 @@ export declare class ConfiguratorUiCallbacks extends UiCallback implements Confi
2040
2058
  * @param parentDockId the number of the dock position to which is docked
2041
2059
  * @param position vector where the dock is done can be null
2042
2060
  */
2043
- onUserInitiatedDockDone: (childDbId: RapiId, childDockId: number, parentDbId: RapiId, parentDockId: number, position: KernelVector3) => void;
2061
+ onUserInitiatedDockDone: (childDbId: RapiId, childDockId: number, parentDbId: RapiId, parentDockId: number, position: KernelVector3 | null) => void;
2044
2062
  /**
2045
2063
  * When user hovers over an addon plus symbol
2046
2064
  */
@@ -2109,6 +2127,10 @@ export declare class ConfiguratorUiCallbacks extends UiCallback implements Confi
2109
2127
  * @param rootComponentLabel
2110
2128
  */
2111
2129
  onConfigurationLabelChange: (catalogName: string, rapiItemLabel: string, rootComponentLabel: string) => void;
2130
+ /**
2131
+ * @deprecated Labels are now handled by the SDK directly and therefore this will never be called.
2132
+ * Will be removed at some point in the future
2133
+ */
2112
2134
  onDimensionLabelsUpdated: (labels: DimensionLabelsTransferable | null) => void;
2113
2135
  /**
2114
2136
  * When kernel failed to load a mesh
@@ -2247,10 +2269,10 @@ export declare class ConfiguratorViewModel implements ConfiguratorKernelCallback
2247
2269
  planObjectUpdated(planObject: PlanObjectKernel, pendingDocking: boolean): void;
2248
2270
  sceneCleared(): void;
2249
2271
  setListener(listener: ConfiguratorViewModelCallbackI): void;
2250
- getBoundingBox(excludeEnvironment?: boolean): Box3;
2272
+ getBoundingBox(excludeEnvironment?: boolean): Box3 | null;
2251
2273
  private getBoundingBoxOfComponent;
2252
- getBoundingBoxOfGeometry(): Box3;
2253
- getBoundingBoxWithPreviews(): Box3;
2274
+ getBoundingBoxOfGeometry(): Box3 | null;
2275
+ getBoundingBoxWithPreviews(): Box3 | null;
2254
2276
  hasPreviews(): boolean;
2255
2277
  clearRootComponent(): void;
2256
2278
  debugSceneGraph(id?: number): void;
@@ -2263,7 +2285,7 @@ export declare class ConfiguratorViewModel implements ConfiguratorKernelCallback
2263
2285
  setGeometriesMergedListener(fun: () => void): void;
2264
2286
  removeGeometriesMergedListener(): void;
2265
2287
  setMergeThreshold(threshold: number): void;
2266
- protected _generateMesh(runtimeComponentId: number, geometryId: string, materialId: string, vertices: Float32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array, _type?: KernelEnum, _newGeometryInstance?: boolean, materialAttributes?: Record<string, string>): Mesh;
2288
+ protected _generateMesh(runtimeComponentId: number, geometryId: string | null, materialId: string | null, vertices: Float32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array, _type?: KernelEnum, _newGeometryInstance?: boolean, materialAttributes?: Record<string, string>): Mesh;
2267
2289
  protected _setMaterial(mesh: Mesh, material: any, _type?: KernelEnum): void;
2268
2290
  constructComponents(planObjectId: number): void;
2269
2291
  requestSubPartConstruction(partId: number): Promise<Mesh>;
@@ -2395,12 +2417,6 @@ export declare const CORE_ASSET_TYPE: {
2395
2417
  readonly EXTERNAL_SVG_URL: 6;
2396
2418
  };
2397
2419
 
2398
- export declare const CORE_CHILD_ENTITY_MODE: {
2399
- readonly OFF: 0;
2400
- readonly GROUND_COMPONENTS: 1;
2401
- readonly ALL_COMPONENTS: 2;
2402
- };
2403
-
2404
2420
  export declare const CORE_DOCK_PAIR_TYPE: {
2405
2421
  readonly POINT: 0;
2406
2422
  readonly LINE: 1;
@@ -2437,6 +2453,25 @@ export declare const createExtObj: (data: Record<string, unknown>) => Record<str
2437
2453
 
2438
2454
  export { createExtObjId }
2439
2455
 
2456
+ export declare class CSS2DRendererManager implements Context {
2457
+ _creator_: string;
2458
+ private domHelper;
2459
+ private initData;
2460
+ private componentDimensioningHelper;
2461
+ private css2DRenderer?;
2462
+ private dimensioningHelper?;
2463
+ constructor(_creator: string);
2464
+ initializeRenderer(width: number, height: number): void;
2465
+ setSize(width: number, height: number): void;
2466
+ setDimensioningHelper(dimensioningHelper: DimensioningHelper): void;
2467
+ renderSnapshotToCanvasWithAspectRatio(scene: Scene, camera: Camera, aspectRatio: number): Promise<HTMLCanvasElement>;
2468
+ private getCanvasDimensionsForAspectRatio;
2469
+ renderSnapshotToCanvas(scene: Scene, camera: Camera): Promise<HTMLCanvasElement>;
2470
+ render(scene: Scene, camera: Camera): void;
2471
+ private logNotInitializedWarning;
2472
+ private injectStyles;
2473
+ }
2474
+
2440
2475
  export declare interface CustomShadingParameters {
2441
2476
  aoIntensity?: number;
2442
2477
  aoExtent?: number;
@@ -2466,7 +2501,7 @@ export declare class DataSyncer implements Context, CommunicationInterfaceCallba
2466
2501
  syncFloorTag(tagId: RapiId): Promise<any>;
2467
2502
  syncTypeChangeTag(tagId: RapiId): Promise<any>;
2468
2503
  private _syncFloorTag;
2469
- _syncTypeChangeTag(tagId: RapiId): Promise<any>;
2504
+ _syncTypeChangeTag(tagId: RapiId | undefined): Promise<any>;
2470
2505
  getIsCatalogSynced(catalogId: RapiId): boolean;
2471
2506
  private _startWorker;
2472
2507
  onCommand(command: WORKER_MESSAGE, conversationId: number, data: any): void;
@@ -2480,7 +2515,7 @@ export declare class DataSyncer implements Context, CommunicationInterfaceCallba
2480
2515
  private _preCacheAsset;
2481
2516
  private _assetUrlToBase64;
2482
2517
  private _softReject;
2483
- requestAsset(url: string, urlAsFallback?: boolean): AssetUrl;
2518
+ requestAsset(url: string, urlAsFallback?: boolean): AssetUrl | null;
2484
2519
  setAlwaysUseCache(alwaysUseCache: boolean): void;
2485
2520
  preFillAssetCache(key: string, url: string): void;
2486
2521
  }
@@ -2579,6 +2614,55 @@ export declare interface DimensioningAxis {
2579
2614
  alternativeOrigin?: KernelVector3;
2580
2615
  }
2581
2616
 
2617
+ export declare class DimensioningHelper {
2618
+ _creator_: string;
2619
+ private _unitFormatter;
2620
+ private _object;
2621
+ private _cameraPosition;
2622
+ private _onVisibilityChange;
2623
+ private _initialized;
2624
+ private _origin;
2625
+ private _dimensions;
2626
+ private _lineMaterial;
2627
+ private readonly _mainLineMaterial;
2628
+ private readonly _widthLineGroup;
2629
+ private readonly _heightLineGroup;
2630
+ private readonly _depthLineGroup;
2631
+ private _enabled;
2632
+ private _dimensionsVisible;
2633
+ private _dimensionLineGroup;
2634
+ constructor(creator: string);
2635
+ private _createLineGroup;
2636
+ private _createLineFromConfig;
2637
+ private addLinesToLineGroup;
2638
+ private clearLineGroup;
2639
+ private addLabelToLineGroup;
2640
+ private _getWidthLineConfig;
2641
+ private _getDepthLineConfig;
2642
+ private _getHeightLineConfig;
2643
+ private _getLocalCameraPosition;
2644
+ private _getCameraDistanceInfo;
2645
+ private _visibilityChangedCallback;
2646
+ update(force?: boolean): void;
2647
+ updateSize(boxForMeasurement: KernelCube): void;
2648
+ removeFromObject(object: Object3D): void;
2649
+ onDimensionsVisibilityChanged(handler: (visible: boolean) => void): void;
2650
+ setObject(object: Object3D): void;
2651
+ isInitialized(): Promise<void>;
2652
+ areDimensionsEnabled(): boolean;
2653
+ clearScene(_scene: Scene): void;
2654
+ addToObject(object: Object3D): void;
2655
+ enableDimensions(): void;
2656
+ disableDimensions(): void;
2657
+ enableTopDimensions(): void;
2658
+ disableTopDimensions(): void;
2659
+ getBoundingBox(): Box3;
2660
+ moveCameraStart(position: Vector3): void;
2661
+ moveCameraEnd(position: Vector3): void;
2662
+ private _performUpdate;
2663
+ private _clear;
2664
+ }
2665
+
2582
2666
  export declare interface DimensionLabel {
2583
2667
  id: string;
2584
2668
  value: number;
@@ -2625,7 +2709,7 @@ export declare class DomHelper implements LifeCycleCallbacks, Context {
2625
2709
  private _lifeCycleManager;
2626
2710
  private _element;
2627
2711
  private _container;
2628
- get element(): HTMLElement;
2712
+ get element(): HTMLElement | null;
2629
2713
  constructor(creator: string);
2630
2714
  setDomElement(element: HTMLElement): void;
2631
2715
  getClientDimensions(): Vector2;
@@ -2774,7 +2858,7 @@ export declare class EmsSet<T> {
2774
2858
  }
2775
2859
 
2776
2860
  export declare abstract class Environment {
2777
- protected _scene: Scene;
2861
+ protected _scene: Scene | null;
2778
2862
  protected _bounds: Vector3;
2779
2863
  constructor(scene: Scene, oldEnvironment?: Environment);
2780
2864
  abstract needsBounds(): boolean;
@@ -2894,14 +2978,14 @@ export declare const enum ERROR_CODES {
2894
2978
  CONTENT_PROBLEM = 2
2895
2979
  }
2896
2980
 
2897
- export declare class EventDispatcher<T> {
2981
+ export declare class EventDispatcher<TMap extends object> {
2898
2982
  private _listeners;
2899
2983
  private _disabled;
2900
2984
  private _addEventListener;
2901
- hasEventListener(eventName: number, callback: ListenerFunction<T>, scope: any): boolean;
2902
- addEventListener(eventName: number, callback: ListenerFunction<T>, scope: any): void;
2903
- dispatchEvent(eventName: number, arg?: T): void;
2904
- removeEventListener(eventName: number, fun: ListenerFunction<T>): void;
2985
+ hasEventListener<K extends keyof TMap>(eventName: K, callback: ListenerFunction<TMap[K]>, scope: any): boolean;
2986
+ addEventListener<K extends keyof TMap>(eventName: K, callback: ListenerFunction<TMap[K]>, scope: any): void;
2987
+ dispatchEvent<K extends keyof TMap>(eventName: K, arg?: TMap[K]): void;
2988
+ removeEventListener<K extends keyof TMap>(eventName: K, fun: ListenerFunction<TMap[K]>): void;
2905
2989
  enableEvents(): void;
2906
2990
  disableEvents(): void;
2907
2991
  }
@@ -3288,7 +3372,6 @@ export declare interface FeatureFlags {
3288
3372
  /* Excluded from this release type: interiorLights */
3289
3373
  /* Excluded from this release type: advancedDimensioning */
3290
3374
  /* Excluded from this release type: webGpu */
3291
- /* Excluded from this release type: useHTMLMeasurementLabels */
3292
3375
  }
3293
3376
 
3294
3377
  export declare interface FetchOptions {
@@ -3414,7 +3497,7 @@ export declare interface GeometryHelpLine {
3414
3497
  export declare class GeometryHelpLineArray extends EmsArray<GeometryHelpLine> {
3415
3498
  }
3416
3499
 
3417
- export declare const getCatalogIdFromConfigurationHash: (id: RapiId) => RapiId;
3500
+ export declare const getCatalogIdFromConfigurationHash: (id: RapiId) => RapiId | null;
3418
3501
 
3419
3502
  export declare class GlbViewer extends Main {
3420
3503
  private _viewer;
@@ -3490,14 +3573,14 @@ export declare class GlobalCallback extends UiCallback {
3490
3573
  * is called the scene is ready for rendering it as an image
3491
3574
  */
3492
3575
  onReadyForRender: () => void;
3493
- onFetchExternalData: <T extends keyof ExternalObjectOnFetchDataMap, K extends string | string[]>(_type: T, _ids: K) => Promise<K extends string ? ExternalObjectOnFetchDataMap[T] : K extends string[] ? Array<ExternalObjectOnFetchDataMap[T]> : never | undefined>;
3576
+ onFetchExternalData: <T extends keyof ExternalObjectOnFetchDataMap, K extends string | string[]>(_type: T, _ids: K) => Promise<(K extends string ? ExternalObjectOnFetchDataMap[T] : K extends string[] ? Array<ExternalObjectOnFetchDataMap[T]> : never) | undefined>;
3494
3577
  }
3495
3578
 
3496
3579
  export declare class GlobalInitData implements Context, GlobalInitDataDefinition {
3497
3580
  _creator_: string;
3498
3581
  locale?: string;
3499
3582
  overrideTenant?: number;
3500
- overrideCountry?: string;
3583
+ overrideCountry?: string | null;
3501
3584
  configuratorId?: string;
3502
3585
  overrideRapi?: RapiServerUrlType;
3503
3586
  alwaysUseCache?: boolean;
@@ -3521,7 +3604,7 @@ export declare interface GlobalInitDataDefinition {
3521
3604
  /**
3522
3605
  * @description Set country to use for the Roomle price service. If not used the customer IP address will be used to determine the location. usage: overrideCountry=de
3523
3606
  */
3524
- overrideCountry?: string;
3607
+ overrideCountry?: string | null;
3525
3608
  /* Excluded from this release type: overrideRapi */
3526
3609
  /**
3527
3610
  * @description The id which should be used for this embedding instance. When this id is set all InitData parameter can be set and changed in Rubens Admin. This is the way we recommend to set init data params. Ask your Roomle contact for your configuratorId.
@@ -3554,7 +3637,7 @@ export declare interface GlueLogic {
3554
3637
  addLibrary(libraryData: LibraryData): Promise<void>;
3555
3638
  setPosDataForLoading(posData: PosSaveData | null): Promise<void>;
3556
3639
  loadPosData(articleCatalogJson: any, libraryId: string): void;
3557
- mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): Promise<void>;
3640
+ mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string, mergedWithDragging: boolean): Promise<void>;
3558
3641
  deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): Promise<void>;
3559
3642
  splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): Promise<void>;
3560
3643
  duplicateGroup(duplicatedGroup: ExternalObjectGroup): Promise<void>;
@@ -3678,11 +3761,13 @@ export declare const HI_LOAD_OBJECT_REASON: {
3678
3761
  readonly DUPLICATE: "duplicate";
3679
3762
  readonly INSERT_NEW: "insert_new";
3680
3763
  readonly LOAD: "load";
3681
- readonly MERGE: "merge";
3764
+ readonly MERGE_WITH_DRAGGING: "merge_with_dragging";
3765
+ readonly MERGE_WITH_ON_ACTION: "merge_with_on_action";
3682
3766
  readonly PLAN_CHANGED: "plan_changed";
3683
3767
  readonly POSITION_CHANGED: "position_changed";
3684
3768
  readonly SPLIT: "split";
3685
3769
  readonly SWAP_MODULE: "swap_module";
3770
+ readonly SWAP_GROUP: "swap_group";
3686
3771
  readonly UNDO_REDO: "undo_redo";
3687
3772
  };
3688
3773
 
@@ -3834,18 +3919,25 @@ export declare class ImageRenderer {
3834
3919
  private _roomleRenderer;
3835
3920
  private _imageRenderer;
3836
3921
  private _thumbnailCamera;
3837
- protected _globalInitData: GlobalInitData;
3922
+ private _globalInitData;
3923
+ private _css2DRendererManager;
3838
3924
  private _getRenderer;
3839
3925
  switchToPlannerSettings(): void;
3840
3926
  switchToConfiguratorSettings(): void;
3841
3927
  updateBounds(bounds: Box3): void;
3842
3928
  static getCameraTargetForBBox(bbox: Box3, spacing?: number): CameraTarget;
3843
- preparePerspectiveImage(scene: Scene, uiScene: Scene, camera: PerspectiveCamera, cameraTarget: CameraTarget, options?: PrepareImageOptions, onBeforeRender?: (camera: Camera) => void): Promise<Base64Image>;
3844
- renderPerspectiveImage(scene: Scene, camera: PerspectiveCamera, cameraTarget: CameraTarget, size?: number): Promise<Base64Image>;
3929
+ preparePerspectiveImage(scene: Scene, camera: PerspectiveCamera, cameraTarget?: CameraTarget, options?: PrepareImageOptions, onBeforeRender?: (camera: Camera) => void): Promise<Base64Image>;
3845
3930
  static placeCameraForPerspectiveImage(camera: PerspectiveCamera, cameraTarget: CameraTarget, angleX: number, angleY: number): void;
3846
- prepareTopImage(scene: Scene, uiScene: Scene, cameraTarget: CameraTarget, options?: PrepareImageOptions): Promise<Base64Image>;
3931
+ prepareTopImage(scene: Scene, cameraTarget: CameraTarget, options?: PrepareImageOptions): Promise<Base64Image>;
3932
+ /**
3933
+ * Renders a frame with scene.background/fog temporarily nulled.
3934
+ * All scene mutations and restoration happen synchronously — no await
3935
+ * boundaries — so the main render loop never sees the modified state.
3936
+ */
3937
+ private _renderImageFrameWithCleanScene;
3938
+ private _compositeWithDimensions;
3847
3939
  prepareThumbnailImage(scene: Scene, viewModel: PlanViewModel, cameraBehaviour: CameraBehaviour, perspectiveOffsetCamera: PerspectiveCamera, options: PrepareImageOptionsPlanner, onAfterRender: () => void): Promise<Base64Image>;
3848
- private _render;
3940
+ private _renderImageFrame;
3849
3941
  }
3850
3942
 
3851
3943
  export declare class InitData implements Context, Omit<InitDataDefinition, 'colors'> {
@@ -3888,6 +3980,7 @@ export declare class InitData implements Context, Omit<InitDataDefinition, 'colo
3888
3980
  customShadingMoc?: CustomShadingParameters;
3889
3981
  restrictionLevel?: number;
3890
3982
  hi?: HomagIntelligenceInitData;
3983
+ disableDefaultLabelStyles?: boolean;
3891
3984
  offlineSync?: string;
3892
3985
  highlighting?: Enumify_3<typeof ROOMLE_HIGHLIGHTNG>;
3893
3986
  initialFloorMaterial?: string;
@@ -3932,6 +4025,27 @@ export declare class InitData implements Context, Omit<InitDataDefinition, 'colo
3932
4025
  export declare interface InitDataDefinition extends CommonInitData, ConfiguratorInitData, PlannerInitData {
3933
4026
  }
3934
4027
 
4028
+ export declare const enum INPUT_EVENT {
4029
+ DRAG_START = 0,
4030
+ DRAG = 1,
4031
+ DRAG_END = 2,
4032
+ DOWN = 3,
4033
+ UP = 4,
4034
+ CLICK = 5,
4035
+ MOVE = 6,
4036
+ ZOOM_IN = 7,
4037
+ ZOOM_OUT = 8,
4038
+ ROTATE = 9,
4039
+ ROTATE_END = 10,
4040
+ PAN = 11,
4041
+ DOUBLE_CLICK = 12,
4042
+ TOUCH_END = 13,
4043
+ LONG_TOUCH = 14,
4044
+ MOUSE_LEAVE = 15,
4045
+ KEY_DOWN = 16,
4046
+ KEY_UP = 17
4047
+ }
4048
+
3935
4049
  export declare const enum INPUT_EVENT_TYPE {
3936
4050
  UNKNOWN = 0,
3937
4051
  MOUSE = 1,
@@ -3940,21 +4054,40 @@ export declare const enum INPUT_EVENT_TYPE {
3940
4054
  KEYBOARD = 4
3941
4055
  }
3942
4056
 
3943
- export declare class InputEvent_2 {
3944
- position: Position2;
3945
- positionRelative: Position2;
3946
- type: INPUT_EVENT_TYPE;
3947
- rotation: number;
3948
- event: Event;
3949
- constructor(position?: Position2, positionRelative?: Position2, type?: INPUT_EVENT_TYPE, rotation?: number, event?: Event);
3950
- }
3951
-
3952
4057
  export declare interface InputEventAttatchment {
3953
4058
  intersection: RoomleEventedIntersection;
3954
4059
  type: INPUT_EVENT_TYPE;
3955
4060
  }
3956
4061
 
3957
- export declare class InputManager extends EventDispatcher<InputEvent_2> implements Context, EventListenerObject {
4062
+ export declare interface InputEventMap {
4063
+ [INPUT_EVENT.DRAG_START]: PointerInputEvent;
4064
+ [INPUT_EVENT.DRAG]: PointerInputEvent;
4065
+ [INPUT_EVENT.DRAG_END]: PointerInputEvent;
4066
+ [INPUT_EVENT.DOWN]: PointerInputEvent;
4067
+ [INPUT_EVENT.UP]: PointerInputEvent;
4068
+ [INPUT_EVENT.CLICK]: PointerInputEvent;
4069
+ [INPUT_EVENT.MOVE]: PointerInputEvent;
4070
+ [INPUT_EVENT.ZOOM_IN]: PointerInputEvent;
4071
+ [INPUT_EVENT.ZOOM_OUT]: PointerInputEvent;
4072
+ [INPUT_EVENT.ROTATE]: PointerInputEvent;
4073
+ [INPUT_EVENT.ROTATE_END]: PointerInputEvent;
4074
+ [INPUT_EVENT.PAN]: PointerInputEvent;
4075
+ [INPUT_EVENT.DOUBLE_CLICK]: PointerInputEvent;
4076
+ [INPUT_EVENT.TOUCH_END]: PointerInputEvent;
4077
+ [INPUT_EVENT.LONG_TOUCH]: PointerInputEvent;
4078
+ [INPUT_EVENT.MOUSE_LEAVE]: PointerInputEvent;
4079
+ [INPUT_EVENT.KEY_DOWN]: KeyboardInputEvent;
4080
+ [INPUT_EVENT.KEY_UP]: KeyboardInputEvent;
4081
+ }
4082
+
4083
+ export declare type InputListenerEntry = {
4084
+ [K in keyof InputEventMap]: {
4085
+ key: K;
4086
+ fun: (event: InputEventMap[K]) => void;
4087
+ };
4088
+ }[keyof InputEventMap];
4089
+
4090
+ export declare class InputManager extends EventDispatcher<InputEventMap> implements Context, EventListenerObject {
3958
4091
  _creator_: string;
3959
4092
  private _domHelper;
3960
4093
  private _downPosition;
@@ -4313,7 +4446,7 @@ export declare interface KernelParameter {
4313
4446
  sort: number;
4314
4447
  unitType: PARAMETER_UNIT_TYPES;
4315
4448
  validGroups: [RapiId];
4316
- validRange: KernelRange;
4449
+ validRange: KernelRange | null;
4317
4450
  validValues: KernelValue[];
4318
4451
  group: string;
4319
4452
  visibleInPlanner?: boolean;
@@ -4345,12 +4478,12 @@ export declare interface KernelPart {
4345
4478
  componentId: string;
4346
4479
  isModule: boolean;
4347
4480
  count: number;
4348
- currencySymbol: string;
4481
+ currencySymbol: string | null;
4349
4482
  permissionToDelete: KernelPermissionToDelete;
4350
4483
  permissionToDeleteInIsolation: KernelPermissionToDelete;
4351
4484
  label: string;
4352
4485
  parameters: KernelPartListParameter[];
4353
- price: number;
4486
+ price: number | null;
4354
4487
  retailerPrice: number;
4355
4488
  [key: string]: any;
4356
4489
  }
@@ -4404,15 +4537,13 @@ export declare interface KernelPlanObjectBase {
4404
4537
  configuration: string;
4405
4538
  configurationRuntimeId: number;
4406
4539
  componentRuntimeId: number;
4407
- isChildObject: boolean;
4540
+ childObjectLevel: number;
4408
4541
  isAGeneratedModule: boolean;
4409
4542
  }
4410
4543
 
4411
4544
  export declare interface KernelPlanObjectComponent extends KernelPlanObjectBase {
4412
4545
  isExternalObject: boolean;
4413
4546
  type: KernelComponentType;
4414
- isChildObject: boolean;
4415
- objectMode: ChildEntityMode;
4416
4547
  componentId: string;
4417
4548
  parentObjectId: number;
4418
4549
  childObjectIds: EmsArray<number>;
@@ -4456,7 +4587,7 @@ export declare interface KernelUtilityForUi {
4456
4587
  export declare interface KernelValue {
4457
4588
  value: string;
4458
4589
  label: string;
4459
- thumbnail: string;
4590
+ thumbnail: string | null;
4460
4591
  }
4461
4592
 
4462
4593
  export declare interface KernelVariable {
@@ -4487,7 +4618,7 @@ export declare interface KernelVector3f {
4487
4618
  }
4488
4619
 
4489
4620
  export declare class KernelViewModel {
4490
- protected _coreReference: KernelObject;
4621
+ protected _coreReference: KernelObject | null;
4491
4622
  constructor(reference: KernelObject);
4492
4623
  clearReference(): void;
4493
4624
  getKernelObject(): KernelObject;
@@ -4520,6 +4651,11 @@ export declare interface KernelWallMaterial extends KernelObject {
4520
4651
  useCustomColor: boolean;
4521
4652
  }
4522
4653
 
4654
+ export declare interface KeyboardInputEvent {
4655
+ type: INPUT_EVENT_TYPE;
4656
+ event: KeyboardEvent;
4657
+ }
4658
+
4523
4659
  export declare interface LeftOrRightWallSide {
4524
4660
  value: Enumify<Pick<typeof WALL_SIDES, 'LEFT' | 'RIGHT'>>;
4525
4661
  }
@@ -4560,7 +4696,7 @@ export declare class LightCache {
4560
4696
  allowedToSpawnMoreLights(): boolean;
4561
4697
  addActiveLight(light: Light): void;
4562
4698
  cacheLight(light: Light): void;
4563
- getLightFromCache(type: KernelLightSourceType): Light<LightShadow<Camera>>;
4699
+ getLightFromCache(type: KernelLightSourceType): Light;
4564
4700
  clear(): void;
4565
4701
  private _setMaximumLights;
4566
4702
  }
@@ -4620,11 +4756,6 @@ export declare interface LinksCollection {
4620
4756
  [key: string]: string;
4621
4757
  }
4622
4758
 
4623
- export declare interface Listener<T> {
4624
- key: number;
4625
- fun: ListenerFunction<T>;
4626
- }
4627
-
4628
4759
  export declare type ListenerFunction<T> = (arg: T) => void;
4629
4760
 
4630
4761
  export declare interface LoadExternalObjectGroupResult {
@@ -4926,15 +5057,15 @@ export declare class MeshGenerator implements Context {
4926
5057
  protected _singlePromiseFactory: SinglePromiseFactory;
4927
5058
  protected _cacheHolder: CacheHolder;
4928
5059
  private _plannerMeshGenerator;
4929
- protected _materialLoaded: (material: Material) => void;
5060
+ protected _materialLoaded: ((material: Material) => void) | undefined;
4930
5061
  protected _maxAnisotropy: number;
4931
5062
  protected _maxTextures: number;
4932
5063
  protected _textureLoader: TextureLoader;
4933
5064
  protected _previewMaterial: MeshStandardMaterial;
4934
5065
  protected _configuratorPreviewMaterial: MeshStandardMaterial;
4935
5066
  constructor(creator: string);
4936
- getGeometry(meshId: string): BufferGeometry;
4937
- protected _generateGeometry(meshId: string, vertices: Float32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array): BufferGeometry;
5067
+ getGeometry(meshId: string): BufferGeometry | null;
5068
+ protected _generateGeometry(meshId: string | null, vertices: Float32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array): BufferGeometry;
4938
5069
  changeMaterialOfMesh(mesh: Mesh, material: Material, materialAttributes?: Record<string, string>): void;
4939
5070
  private _updateMaterialProperties;
4940
5071
  private _updateStandardMaterialProperties;
@@ -4953,7 +5084,7 @@ export declare class MeshGenerator implements Context {
4953
5084
  protected _assignItem(mesh: Mesh, catalogItemId: string): Promise<void>;
4954
5085
  setMaterialLoadedListener(fun: () => void): void;
4955
5086
  removeMaterialLoadedListener(): void;
4956
- protected _createMesh(runtimeComponentId: number, geometryId: string, geometry: BufferGeometry): Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material, Object3DEventMap>;
5087
+ protected _createMesh(runtimeComponentId: number, geometryId: string | null, geometry: BufferGeometry): Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material, Object3DEventMap>;
4957
5088
  protected _getComponentMeshId(runtimeComponentId: number, geometryId: string): string;
4958
5089
  }
4959
5090
 
@@ -5387,7 +5518,7 @@ export declare class PlanElementViewModel extends KernelViewModel {
5387
5518
  getObject(): RoomleEventedObject3D;
5388
5519
  getObjectAsync(): Promise<Object3D<Object3DEventMap>>;
5389
5520
  addMesh(mesh: Object3D): void;
5390
- getMesh(material: any): Mesh;
5521
+ getMesh(material: any): Mesh | null;
5391
5522
  getContainer(): Object3D;
5392
5523
  getId(): number;
5393
5524
  clear(): void;
@@ -5661,7 +5792,7 @@ export declare class PlannerKernelAccess extends ConfiguratorKernelAccess {
5661
5792
  externalObjectConfigurationDuplicated(plan: Plan_2, planObject: PlanObject, duplicatedGroup: ExternalObjectGroup): void;
5662
5793
  externalObjectPositionChanged(plan: Plan_2, planObject: PlanObject, movedGroup: ExternalObjectGroup): void;
5663
5794
  externalObjectPlanChanged(plan: Plan_2, planObject: PlanObject, movedGroup: ExternalObjectGroup): void;
5664
- externalObjectConfigurationsMerged(plan: Plan_2, planObject: PlanObject, mergedGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], targetRootModuleId: string): void;
5795
+ externalObjectConfigurationsMerged(plan: Plan_2, planObject: PlanObject, mergedGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], targetRootModuleId: string, mergedWithDragging: boolean): void;
5665
5796
  externalObjectComponentSplitOff(plan: Plan_2, planObject: PlanObject, splitGroups: ExternalObjectGroup[]): void;
5666
5797
  externalObjectArrangementChanged(plan: Plan_2, planObject: PlanObject, changedGroup: ExternalObjectGroup): void;
5667
5798
  externalObjectRequestAddOnContainers(plan: Plan_2, planObject: PlanObject, groupId: string, subArticleId: string): void;
@@ -5692,7 +5823,7 @@ export declare class PlannerKernelAccess extends ConfiguratorKernelAccess {
5692
5823
  protected _externalObjectComponentDeleted(remainingGroupOrGroups: ExternalObjectGroup | ExternalObjectGroup[], deletedRootModuleId: string): void;
5693
5824
  _externalObjectConfigurationDuplicated(duplicatedGroup: ExternalObjectGroup): void;
5694
5825
  _externalObjectPlanChanged(movedGroup: ExternalObjectGroup, objectPositionChanged: boolean): Promise<void>;
5695
- _externalObjectConfigurationsMerged(mergedGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], targetRootModuleId: string): Promise<void>;
5826
+ _externalObjectConfigurationsMerged(mergedGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], targetRootModuleId: string, mergedWithDragging: boolean): Promise<void>;
5696
5827
  _externalObjectComponentSplitOff(splitGroups: ExternalObjectGroup[]): void;
5697
5828
  _externalObjectArrangementChanged(changedGroup: ExternalObjectGroup): void;
5698
5829
  planSnapshotCreated(planSnapshot: RapiPlanSnapshotPostData): void;
@@ -5892,11 +6023,12 @@ export declare class PlannerSceneEventHandler extends SceneEventHandler<SceneEve
5892
6023
  stopDrawing(cancelDrawing?: boolean): void;
5893
6024
  startDrawing(): void;
5894
6025
  private _toggleDrawing;
5895
- endWallDrawing(event: InputEvent_2 | null, point?: KernelVector3): void;
6026
+ endWallDrawing(event: PointerInputEvent | null, point?: KernelVector3): void;
5896
6027
  private _startWallDrawing;
5897
6028
  private _initMobileDrawing;
5898
6029
  private _drawWallOnMouseMove;
5899
6030
  private _createNode;
6031
+ getIntersectionAtScreenPosition(positionRelative: Position2): KernelVector3;
5900
6032
  private _getIntersectionPointWithScene;
5901
6033
  private _setStateAndCursor;
5902
6034
  setKernelZoomFactor(kernelZoomFactor: number): void;
@@ -5921,6 +6053,7 @@ export declare interface PlanNode extends KernelObject {
5921
6053
  export declare interface PlanObject extends PlanElement_2 {
5922
6054
  size: KernelVector3;
5923
6055
  rotation: number;
6056
+ customLabel: string;
5924
6057
  rgbColor: number;
5925
6058
  useCustomColor?: boolean;
5926
6059
  flipX: boolean;
@@ -6069,8 +6202,8 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6069
6202
  handleInitialLights(_maxTextures: number, qualityLevel: QualityLevel): void;
6070
6203
  handleCeilingLights(): void;
6071
6204
  handleLampLight(lamp: StaticPlanObjectViewModel, options: {
6072
- targetPos: Point;
6073
- lightPos: Point;
6205
+ targetPos: KernelVector3f;
6206
+ lightPos: KernelVector3f;
6074
6207
  color?: number;
6075
6208
  decay?: number;
6076
6209
  intensity?: number;
@@ -6081,9 +6214,9 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6081
6214
  width: number;
6082
6215
  height: number;
6083
6216
  };
6084
- lightPos: Point;
6217
+ lightPos: KernelVector3f;
6085
6218
  color?: number;
6086
- rotation?: Point;
6219
+ rotation?: KernelVector3f;
6087
6220
  active?: boolean;
6088
6221
  }): void;
6089
6222
  toggleCeilingLights(on: boolean): void;
@@ -6199,6 +6332,14 @@ export declare class PointArray extends EmsArray<KernelVector3f> {
6199
6332
  export declare class PointArray_2 extends EmsArray<KernelVector3f> {
6200
6333
  }
6201
6334
 
6335
+ export declare interface PointerInputEvent {
6336
+ position: Position2;
6337
+ positionRelative: Position2;
6338
+ type: INPUT_EVENT_TYPE;
6339
+ rotation: number;
6340
+ event?: Event;
6341
+ }
6342
+
6202
6343
  export declare interface PoissonDenoiseParameters {
6203
6344
  poissonDenoisePassParameters?: PoissonDenoisePassParameters;
6204
6345
  normalVectorSourceType?: NormalVectorSourceType;
@@ -6710,10 +6851,10 @@ export declare class RapiAccess implements Context {
6710
6851
  */
6711
6852
  getTagConnectionsForTag(parentTagId: RapiId): Promise<Map<string, number>>;
6712
6853
  getMaterial(id: RapiId): Promise<RapiMaterial>;
6713
- peekMaterial(id: RapiId): RapiMaterial;
6714
- peekComponent(id: RapiId): RapiComponent;
6715
- peekItem(id: RapiId): RapiItem;
6716
- peekConfiguration(id: RapiId): RapiConfiguration;
6854
+ peekMaterial(id: RapiId): RapiMaterial | null;
6855
+ peekComponent(id: RapiId): RapiComponent | null;
6856
+ peekItem(id: RapiId): RapiItem | null;
6857
+ peekConfiguration(id: RapiId): RapiConfiguration | null;
6717
6858
  getMaterials(ids: RapiId[]): Promise<RapiMaterial[]>;
6718
6859
  getPlan(id: RapiId): Promise<RapiPlan>;
6719
6860
  getPlanSnapshot(id: RapiPlanSnapshotId): Promise<RapiPlanSnapshotGetData>;
@@ -6873,8 +7014,8 @@ export declare interface RapiConfiguration extends RapiJson {
6873
7014
  configuration: ConfigurationString;
6874
7015
  configurationHash: string;
6875
7016
  parts: string;
6876
- perspectiveImage?: AssetUrl;
6877
- topImage?: AssetUrl;
7017
+ perspectiveImage?: AssetUrl | null;
7018
+ topImage?: AssetUrl | null;
6878
7019
  rootComponentId: RapiId;
6879
7020
  orderable?: boolean;
6880
7021
  requestable?: boolean;
@@ -6883,7 +7024,7 @@ export declare interface RapiConfiguration extends RapiJson {
6883
7024
  depth: number;
6884
7025
  catalog?: RapiId;
6885
7026
  assets?: AssetItem;
6886
- [key: string]: string | number | boolean | AssetUrl | RapiId | LinksCollection | AssetItem | undefined;
7027
+ [key: string]: string | number | boolean | AssetUrl | RapiId | LinksCollection | AssetItem | null | undefined;
6887
7028
  }
6888
7029
 
6889
7030
  export declare interface RapiConfigurationEnhanced extends RapiConfiguration {
@@ -6954,7 +7095,7 @@ export declare interface RapiItem extends RapiElement {
6954
7095
  }
6955
7096
 
6956
7097
  export declare interface RapiJson {
6957
- id?: RapiId | number;
7098
+ id?: RapiId | number | null;
6958
7099
  isLocally?: boolean;
6959
7100
  __rapi_path__?: string;
6960
7101
  links?: LinksCollection;
@@ -6986,12 +7127,12 @@ export declare interface RapiMaterial extends RapiJson {
6986
7127
  }
6987
7128
 
6988
7129
  export declare interface RapiMaterialGroup extends RapiJson {
6989
- id: RapiId;
6990
- label: string;
7130
+ id: RapiId | null;
7131
+ label?: string | null;
6991
7132
  materials: RapiMaterial[];
6992
7133
  legacyId?: RapiId;
6993
7134
  sort?: number;
6994
- [key: string]: string | RapiMaterial[] | RapiId | boolean | LinksCollection | number | undefined;
7135
+ [key: string]: string | RapiMaterial[] | RapiId | boolean | LinksCollection | number | null | undefined;
6995
7136
  }
6996
7137
 
6997
7138
  export declare interface RapiMaterialShading {
@@ -7044,9 +7185,9 @@ export declare interface RapiPlan extends RapiJson {
7044
7185
  description: string;
7045
7186
  changeDate: string;
7046
7187
  created: string;
7047
- draftId: number;
7188
+ draftId: number | null;
7048
7189
  thumbnail: string;
7049
- planObjects: string;
7190
+ planObjects: string | null;
7050
7191
  active: boolean;
7051
7192
  right?: number;
7052
7193
  draft?: number;
@@ -7056,11 +7197,11 @@ export declare interface RapiPlan extends RapiJson {
7056
7197
  version: number;
7057
7198
  floorLevel: number;
7058
7199
  visibility: number;
7059
- user: RapiUser | RapiId;
7060
- tenant: RapiTenant | RapiId;
7200
+ user: RapiUser | RapiId | null;
7201
+ tenant: RapiTenant | RapiId | null;
7061
7202
  assets: RapiPlanAsset[];
7062
- parent: RapiPlan | RapiId;
7063
- setting: RapiPlanSetting;
7203
+ parent: RapiPlan | RapiId | null;
7204
+ setting: RapiPlanSetting | null;
7064
7205
  }
7065
7206
 
7066
7207
  export declare interface RapiPlanAsset extends RapiJson {
@@ -7185,7 +7326,7 @@ export declare interface RapiTagGeneric extends RapiJson {
7185
7326
  catalog: RapiId;
7186
7327
  tags: RapiId[];
7187
7328
  parents: RapiId[];
7188
- [key: string]: string | number | boolean | AssetUrl | RapiId | RapiId[] | RapiElement[] | RapiMaterial[] | LinksCollection | undefined;
7329
+ [key: string]: string | number | boolean | AssetUrl | RapiId | RapiId[] | RapiElement[] | RapiMaterial[] | LinksCollection | null | undefined;
7189
7330
  }
7190
7331
 
7191
7332
  export declare interface RapiTenant extends RapiJson {
@@ -7215,7 +7356,7 @@ export declare interface RapiTexture extends RapiJson {
7215
7356
  mmWidth: number;
7216
7357
  tileable: boolean;
7217
7358
  material: RapiId;
7218
- [key: string]: string | number | boolean | AssetUrl | RapiId | LinksCollection | undefined;
7359
+ [key: string]: string | number | boolean | AssetUrl | RapiId | LinksCollection | null | undefined;
7219
7360
  }
7220
7361
 
7221
7362
  export declare interface RapiUser extends RapiJson {
@@ -7256,9 +7397,13 @@ export declare interface RapiUserSetting extends RapiJson {
7256
7397
  user: RapiUser;
7257
7398
  }
7258
7399
 
7400
+ export declare const enum RAYCAST_EVENT {
7401
+ CLICK_OUTSIDE = 0
7402
+ }
7403
+
7259
7404
  export declare type RayCasterObjectFilter = (object3d: Object3D) => boolean;
7260
7405
 
7261
- export declare class RaycastHelper extends EventDispatcher<SceneEventInfo> {
7406
+ export declare class RaycastHelper extends EventDispatcher<Record<RAYCAST_EVENT, SceneEventInfo>> {
7262
7407
  private _mode;
7263
7408
  private _object;
7264
7409
  private _camera;
@@ -7305,7 +7450,7 @@ export declare class RaycastHelper extends EventDispatcher<SceneEventInfo> {
7305
7450
  setCamera(camera: Camera): void;
7306
7451
  setObject(object: Object3D): void;
7307
7452
  setMode(mode: INTERSECTION_MODE): void;
7308
- intersectMouseOnScene(event: InputEvent_2): KernelVector3;
7453
+ intersectMouseOnScene(event: Pick<PointerInputEvent, 'positionRelative'>): KernelVector3;
7309
7454
  enableOnWallSnapping(): void;
7310
7455
  disableOnWallSnapping(): void;
7311
7456
  }
@@ -7531,8 +7676,8 @@ export declare interface RoomleComponent extends RoomleEventedObject3D {
7531
7676
  isRootComponent: boolean;
7532
7677
  meshes: RoomleEventedMesh[];
7533
7678
  boundingBox: Box3;
7534
- boundingBoxMesh: RoomleEventedMesh;
7535
- loadingMesh: Mesh;
7679
+ boundingBoxMesh: RoomleEventedMesh | null;
7680
+ loadingMesh: Mesh | null;
7536
7681
  roomlePosition: KernelVector3;
7537
7682
  roomleRotation: KernelVector3;
7538
7683
  hash: string;
@@ -7544,12 +7689,12 @@ export declare interface RoomleComponent extends RoomleEventedObject3D {
7544
7689
  addMesh(mesh: Mesh, transform?: Float32Array): void;
7545
7690
  removeMesh(mesh: Mesh): void;
7546
7691
  removeMeshById(meshId: number): void;
7547
- getLightSourceById(lightSourceId: number): RoomleLightSource | null;
7692
+ getLightSourceById(lightSourceId: number): RoomleLightSource | undefined;
7548
7693
  removeLightSourceById(lightSourceId: number): void;
7549
7694
  addExistingLightSource(lightSource: RoomleLightSource): void;
7550
7695
  addLightSource(lightSource: RoomleLightSource): void;
7551
7696
  getAllLightSources(): Map<number, RoomleLightSource>;
7552
- getMeshById(meshId: number): Mesh;
7697
+ getMeshById(meshId: number): Mesh | undefined;
7553
7698
  removeAllMeshes(): void;
7554
7699
  select(): void;
7555
7700
  deselect(): void;
@@ -8366,7 +8511,7 @@ export declare class RoomleLightSource {
8366
8511
  private _lightSourceId;
8367
8512
  private _light;
8368
8513
  private _savedPosition;
8369
- constructor(lightSourceId: number, lightSource?: Light);
8514
+ constructor(lightSourceId: number, lightSource: Light);
8370
8515
  get light(): Light;
8371
8516
  set light(light: Light);
8372
8517
  get lightSourceId(): number;
@@ -8641,7 +8786,7 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8641
8786
  * @param rotation in radians
8642
8787
  */
8643
8788
  insertObject(id: RapiId | ExtObjId, position?: Position3, rotation?: number): Promise<RuntimeId>;
8644
- _insertObject(id: RapiId | ExtObjId, newUndoRedoStep: boolean, position?: Position3, rotation?: number): Promise<RuntimeId>;
8789
+ private _insertObject;
8645
8790
  insertItemList(ids: Array<RapiId | ExtObjId>): Promise<RuntimeId[]>;
8646
8791
  /**
8647
8792
  * Inserts all of the items in the array into current plan
@@ -8789,7 +8934,8 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8789
8934
  createNewSerializedConfiguration(configurationRuntimeId: number): Promise<ConfigurationString>;
8790
8935
  changeInteriorWallsMaterial(material: BatchPaintMaterial): void;
8791
8936
  changeExteriorWallsMaterial(material: BatchPaintMaterial): void;
8792
- changeFloorsMaterial(material: BatchPaintMaterial): void;
8937
+ changeFloorsMaterial(floors: KernelFloor[], material: BatchPaintMaterial): void;
8938
+ changeAllFloorsMaterial(material: BatchPaintMaterial): void;
8793
8939
  /**
8794
8940
  * Returns the wall angle in degrees relative to the camera
8795
8941
  * @param wall a WallPlanElementViewModel instance
@@ -9281,6 +9427,7 @@ export declare class RoomleWebGLRenderer {
9281
9427
  constructor(creator: string, renderer: WebGLRenderer | WebGPURenderer, width: number, height: number, linearAoFilter?: boolean);
9282
9428
  dispose(): void;
9283
9429
  setSize(width: number, height: number): void;
9430
+ getSize(target: Vector2): Vector2;
9284
9431
  setCameraType(cameraType: Enumify_3<typeof CAMERA_TYPE>): void;
9285
9432
  setShadingType(shadingType: SceneShadingType): void;
9286
9433
  setAutoQuality(autoQuality: boolean): void;
@@ -9350,7 +9497,7 @@ export declare const SCENE_SHADING_TYPES: {
9350
9497
  readonly BRIGHT: "bright";
9351
9498
  };
9352
9499
 
9353
- export declare abstract class SceneEventHandler<EventType> extends EventDispatcher<EventType> implements Context {
9500
+ export declare abstract class SceneEventHandler<EventType> extends EventDispatcher<Record<number, EventType>> implements Context {
9354
9501
  _creator_: string;
9355
9502
  protected _inputManager: InputManager;
9356
9503
  protected _raycastHelper: RaycastHelper;
@@ -9410,6 +9557,7 @@ export declare interface SceneEvents {
9410
9557
  export declare abstract class SceneManager implements Context, LifeCycleCallbacks, EventListenerObject {
9411
9558
  _creator_: string;
9412
9559
  protected _domHelper: DomHelper;
9560
+ protected _css2DRendererManager: CSS2DRendererManager;
9413
9561
  protected _scriptLoader: ScriptLoader;
9414
9562
  private _lifeCycleManager;
9415
9563
  private _staticItemLoader;
@@ -9435,18 +9583,18 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9435
9583
  protected _renderer: WebGLRenderer | WebGPURenderer;
9436
9584
  private _clock;
9437
9585
  private _delta;
9438
- protected _renderLoopFunction: () => void;
9439
- protected _renderListener: () => void;
9586
+ protected _renderLoopFunction: (() => void) | null;
9587
+ protected _renderListener: (() => void) | null;
9440
9588
  protected _stopRendering: boolean;
9441
9589
  protected _roomleRenderer: Nullable_2<RoomleWebGLRenderer>;
9442
9590
  private _forceRender;
9443
9591
  private _lastChange;
9444
9592
  private _running;
9445
9593
  private _statsHelper;
9446
- private _canvasID;
9594
+ private readonly _canvasID;
9447
9595
  protected _isInteriorLightActive: boolean;
9448
- protected _perspectiveOffsetCamera: PerspectiveOffsetCamera;
9449
- protected _orthographicOffsetCamera: OrthographicOffsetCamera;
9596
+ protected _perspectiveOffsetCamera: PerspectiveOffsetCamera | null;
9597
+ protected _orthographicOffsetCamera: OrthographicOffsetCamera | null;
9450
9598
  protected abstract createCameraControl(mode: Enumify_3<typeof CAMERA_TYPE>, offset: CanvasOffset): void;
9451
9599
  protected abstract _getInputManager(): InputManager;
9452
9600
  protected get cameraBehaviour(): CameraBehaviour;
@@ -9458,7 +9606,7 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9458
9606
  protected constructor(creator: string, offset: CanvasOffset, canvasID: string, mode: Enumify_3<typeof CAMERA_TYPE>);
9459
9607
  addEventListener(_listener: LifeCycleCallbacks): void;
9460
9608
  removeEventListener(_listener: LifeCycleCallbacks): void;
9461
- get lightCache(): LightCache;
9609
+ get lightCache(): LightCache | null;
9462
9610
  protected _changeCameraBehaviour(cameraBehaviour: CameraBehaviour): void;
9463
9611
  protected onCameraChanged(): void;
9464
9612
  cameraBehaviourChanged(updateDistance?: boolean): void;
@@ -9522,6 +9670,7 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9522
9670
  protected _waitForAssets(): Promise<void>;
9523
9671
  exportCanvasScreenshot(quality?: number): Promise<string>;
9524
9672
  exportImageFromCamera(filename: string, shouldWaitForAssets?: boolean): Promise<void>;
9673
+ private getCanvasScreenshotWithDimensions;
9525
9674
  changeEnvironmentMapIntensity(intensity: number): void;
9526
9675
  lockCamera(): void;
9527
9676
  unlockCamera(): void;
@@ -9595,8 +9744,8 @@ export declare class SceneRenderer {
9595
9744
  setShadingType(shadingType: SceneShadingType): void;
9596
9745
  setQualityLevel(qualityLevel: QualityLevel): void;
9597
9746
  setQualityMap(qualityMap: QualityMap): void;
9598
- setCustomShadingParameters(customShadingParameters: CustomShadingParameters): void;
9599
- setQualityMapAndShadingParameters(qualityMap: QualityMap, customShadingParameters: CustomShadingParameters): void;
9747
+ setCustomShadingParameters(customShadingParameters: CustomShadingParameters | null): void;
9748
+ setQualityMapAndShadingParameters(qualityMap: QualityMap, customShadingParameters: CustomShadingParameters | null): void;
9600
9749
  applyCurrentParameters(): void;
9601
9750
  requestUpdateOfPasses(): void;
9602
9751
  clearCache(): void;
@@ -10314,6 +10463,12 @@ export declare interface WallSide {
10314
10463
  value: Enumify<typeof WALL_SIDES>;
10315
10464
  }
10316
10465
 
10466
+ export declare class ZoomChangeEvent {
10467
+ minZoom: boolean;
10468
+ maxZoom: boolean;
10469
+ constructor(minZoom?: boolean, maxZoom?: boolean);
10470
+ }
10471
+
10317
10472
  export { }
10318
10473
 
10319
10474
  declare global {
@@ -10324,7 +10479,7 @@ declare global {
10324
10479
  // @ts-ignore -- just for testing
10325
10480
  const WebAssembly: any; // eslint-disable-line
10326
10481
  interface Window {
10327
- KernelCallback: { isReady: () => void };
10482
+ KernelCallback?: { isReady: () => void } | null;
10328
10483
  __RML_GUI__: GUI; // eslint-disable-line
10329
10484
  __RML__DEBUG__?: Debug;
10330
10485
  __RML__ENV__?: ExternalEnv;