@roomle/web-sdk 3.10.1-alpha.3 → 4.0.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 (116) hide show
  1. package/lib/{BufferGeometry-Dj5loCTL.mjs → BufferGeometry-CnbfgBmz.mjs} +2 -2
  2. package/lib/{BufferGeometry-Dj5loCTL.mjs.map → BufferGeometry-CnbfgBmz.mjs.map} +1 -1
  3. package/lib/{GLTFExporter-CquK-kkI.mjs → GLTFExporter-BxcjPMva.mjs} +2 -2
  4. package/lib/{GLTFExporter-CquK-kkI.mjs.map → GLTFExporter-BxcjPMva.mjs.map} +1 -1
  5. package/lib/{GaussianBlurNode-CDYPio-x.mjs → GaussianBlurNode-8gO-I1qG.mjs} +14 -14
  6. package/lib/{GaussianBlurNode-CDYPio-x.mjs.map → GaussianBlurNode-8gO-I1qG.mjs.map} +1 -1
  7. package/lib/{Object3D-YXSPdGeJ.mjs → Object3D-DMaDdv-D.mjs} +1 -1
  8. package/lib/{Object3D-YXSPdGeJ.mjs.map → Object3D-DMaDdv-D.mjs.map} +1 -1
  9. package/lib/{PointLightHelper-g98giMRd.mjs → PointLightHelper-CahXSxiA.mjs} +4 -4
  10. package/lib/{PointLightHelper-g98giMRd.mjs.map → PointLightHelper-CahXSxiA.mjs.map} +1 -1
  11. package/lib/{SpotLightHelper-xR8lCZau.mjs → SpotLightHelper-BEqeYq1p.mjs} +3 -3
  12. package/lib/{SpotLightHelper-xR8lCZau.mjs.map → SpotLightHelper-BEqeYq1p.mjs.map} +1 -1
  13. package/lib/{USDZExporter-BMqBymZI.mjs → USDZExporter-ZZoG1mne.mjs} +3 -3
  14. package/lib/{USDZExporter-BMqBymZI.mjs.map → USDZExporter-ZZoG1mne.mjs.map} +1 -1
  15. package/lib/{Vector4-CqzXUndP.mjs → Vector4-BkA_VGid.mjs} +2 -2
  16. package/lib/{Vector4-CqzXUndP.mjs.map → Vector4-BkA_VGid.mjs.map} +1 -1
  17. package/lib/{api-Cjq6uyhy.mjs → api-CUyBdNba.mjs} +2 -2
  18. package/lib/{api-Cjq6uyhy.mjs.map → api-CUyBdNba.mjs.map} +1 -1
  19. package/lib/{asset-loader.worker-CHyN7JB1.mjs → asset-loader.worker-C_5RQYHp.mjs} +1 -1
  20. package/lib/asset-loader.worker-C_5RQYHp.mjs.map +1 -0
  21. package/lib/{banana-for-scale-Cs2s9dNp.mjs → banana-for-scale-B77S3z9R.mjs} +4 -4
  22. package/lib/{banana-for-scale-Cs2s9dNp.mjs.map → banana-for-scale-B77S3z9R.mjs.map} +1 -1
  23. package/lib/{budgeteer.sw-BCLEIWCW.mjs → budgeteer.sw-DxeAvd0v.mjs} +1 -1
  24. package/lib/budgeteer.sw-DxeAvd0v.mjs.map +1 -0
  25. package/lib/{common-utils-DeAwtH0V.mjs → common-utils-BiOW17Ao.mjs} +2 -2
  26. package/lib/{common-utils-DeAwtH0V.mjs.map → common-utils-BiOW17Ao.mjs.map} +1 -1
  27. package/lib/{component-dimensioning-DINSxpnW.mjs → component-dimensioning-DPyPzSsa.mjs} +7 -7
  28. package/lib/{component-dimensioning-DINSxpnW.mjs.map → component-dimensioning-DPyPzSsa.mjs.map} +1 -1
  29. package/lib/{component-raycast-helper-DiX3LOGg.mjs → component-raycast-helper-RiQIybsX.mjs} +5 -5
  30. package/lib/{component-raycast-helper-DiX3LOGg.mjs.map → component-raycast-helper-RiQIybsX.mjs.map} +1 -1
  31. package/lib/configurator-BBlZVIId.mjs +2 -0
  32. package/lib/{configurator-BC4t2q94.mjs → configurator-C_rsqn9l.mjs} +4 -4
  33. package/lib/{configurator-BC4t2q94.mjs.map → configurator-C_rsqn9l.mjs.map} +1 -1
  34. package/lib/{continuous-drawing-helper-BlGATN0C.mjs → continuous-drawing-helper-C_Yc0uuv.mjs} +3 -3
  35. package/lib/{continuous-drawing-helper-BlGATN0C.mjs.map → continuous-drawing-helper-C_Yc0uuv.mjs.map} +1 -1
  36. package/lib/{decorate-CTUwswpM.mjs → decorate-BAtqSPNS.mjs} +1 -1
  37. package/lib/{decorate-CTUwswpM.mjs.map → decorate-BAtqSPNS.mjs.map} +1 -1
  38. package/lib/dimensioning-helper-Bzf1sbpy.mjs +2 -0
  39. package/lib/{dimensioning-helper-DMop5qcu.mjs → dimensioning-helper-D9oxGkry.mjs} +5 -5
  40. package/lib/{dimensioning-helper-DMop5qcu.mjs.map → dimensioning-helper-D9oxGkry.mjs.map} +1 -1
  41. package/lib/{fflate.module-n0Jozp8Z.mjs → fflate.module-CTnSdWOb.mjs} +1 -1
  42. package/lib/{fflate.module-n0Jozp8Z.mjs.map → fflate.module-CTnSdWOb.mjs.map} +1 -1
  43. package/lib/{glb-viewer-ClwM-_6N.mjs → glb-viewer-A5vSLFZ5.mjs} +8 -8
  44. package/lib/{glb-viewer-ClwM-_6N.mjs.map → glb-viewer-A5vSLFZ5.mjs.map} +1 -1
  45. package/lib/glb-viewer-B4ILlvw0.mjs +2 -0
  46. package/lib/{highlight-coordinator-COSQsFCt.mjs → highlight-coordinator-CZEJGeXA.mjs} +4 -4
  47. package/lib/{highlight-coordinator-COSQsFCt.mjs.map → highlight-coordinator-CZEJGeXA.mjs.map} +1 -1
  48. package/lib/{homag-intelligence-7erRasyd.mjs → homag-intelligence-BdCDX7LF.mjs} +3 -3
  49. package/lib/{homag-intelligence-7erRasyd.mjs.map → homag-intelligence-BdCDX7LF.mjs.map} +1 -1
  50. package/lib/{imos-ix-poc-export-helper-ChN0ot1C.mjs → imos-ix-poc-export-helper-CaXXDNvP.mjs} +4 -4
  51. package/lib/{imos-ix-poc-export-helper-ChN0ot1C.mjs.map → imos-ix-poc-export-helper-CaXXDNvP.mjs.map} +1 -1
  52. package/lib/{kernel-C7YDLxq8.mjs → kernel-BWfRHWkW.mjs} +1 -1
  53. package/lib/{kernel-C7YDLxq8.mjs.map → kernel-BWfRHWkW.mjs.map} +1 -1
  54. package/lib/{kernel-utils-042AuCQh.mjs → kernel-utils-BYEsHVYJ.mjs} +2 -2
  55. package/lib/{kernel-utils-042AuCQh.mjs.map → kernel-utils-BYEsHVYJ.mjs.map} +1 -1
  56. package/lib/{layer-CFAr2mK_.mjs → layer-CIWL5ZW3.mjs} +1 -1
  57. package/lib/{layer-CFAr2mK_.mjs.map → layer-CIWL5ZW3.mjs.map} +1 -1
  58. package/lib/{main-dvJVxkY5.mjs → main-BUl8iCi1.mjs} +3149 -25886
  59. package/lib/main-BUl8iCi1.mjs.map +1 -0
  60. package/lib/{material-viewer-DsjLu7dY.mjs → material-viewer-C4SqVaGG.mjs} +7 -7
  61. package/lib/{material-viewer-DsjLu7dY.mjs.map → material-viewer-C4SqVaGG.mjs.map} +1 -1
  62. package/lib/packages-C9gO5mKk.mjs +10 -0
  63. package/lib/packages-C9gO5mKk.mjs.map +1 -0
  64. package/lib/planner-49YwTdiA.mjs +2 -0
  65. package/lib/{planner-mEOHjdf5.mjs → planner-t4QH26WW.mjs} +3 -3
  66. package/lib/{planner-mEOHjdf5.mjs.map → planner-t4QH26WW.mjs.map} +1 -1
  67. package/lib/{plugin-system-DRpL0Rer.mjs → plugin-system-COZJdJH_.mjs} +3 -3
  68. package/lib/{plugin-system-DRpL0Rer.mjs.map → plugin-system-COZJdJH_.mjs.map} +1 -1
  69. package/lib/roomle-headless.d.ts +142 -98
  70. package/lib/roomle-headless.js +74 -58
  71. package/lib/roomle-headless.js.map +1 -1
  72. package/lib/{roomle-renderer-BD3ZmpLS.mjs → roomle-renderer-DhLUaHJZ.mjs} +23 -10
  73. package/lib/roomle-renderer-DhLUaHJZ.mjs.map +1 -0
  74. package/lib/roomle-sdk.d.ts +123 -95
  75. package/lib/roomle-sdk.js +9 -9
  76. package/lib/{roomle-webgpu-renderer--zQziKoO.mjs → roomle-webgpu-renderer-CRGcdahn.mjs} +293 -240
  77. package/lib/roomle-webgpu-renderer-CRGcdahn.mjs.map +1 -0
  78. package/lib/{scene-renderer-DfFZINZw.mjs → scene-renderer-D5CfxCag.mjs} +7 -7
  79. package/lib/{scene-renderer-DfFZINZw.mjs.map → scene-renderer-D5CfxCag.mjs.map} +1 -1
  80. package/lib/{script-loader-CBi6aL4c.mjs → script-loader-D6IuUFjw.mjs} +3 -3
  81. package/lib/{script-loader-CBi6aL4c.mjs.map → script-loader-D6IuUFjw.mjs.map} +1 -1
  82. package/lib/{shading-settings-BOXM96zx.mjs → shading-settings-BEMqEGzB.mjs} +3 -3
  83. package/lib/{shading-settings-BOXM96zx.mjs.map → shading-settings-BEMqEGzB.mjs.map} +1 -1
  84. package/lib/{stats-helper-BjkO2TkP.mjs → stats-helper-DAfbSToL.mjs} +3 -3
  85. package/lib/{stats-helper-BjkO2TkP.mjs.map → stats-helper-DAfbSToL.mjs.map} +1 -1
  86. package/lib/svgo.browser-DYieWzyw.mjs +21270 -0
  87. package/lib/svgo.browser-DYieWzyw.mjs.map +1 -0
  88. package/lib/{three.core-tV_4n8Wg.mjs → three.core-DjCexDCp.mjs} +1 -1
  89. package/lib/{three.core-tV_4n8Wg.mjs.map → three.core-DjCexDCp.mjs.map} +1 -1
  90. package/lib/{three.module-DC5fF9Zl.mjs → three.module-CuRNgijg.mjs} +2 -2
  91. package/lib/{three.module-DC5fF9Zl.mjs.map → three.module-CuRNgijg.mjs.map} +1 -1
  92. package/lib/{three.tsl-Caqi2VRr.mjs → three.tsl-BIBER8nk.mjs} +49 -47
  93. package/lib/{three.tsl-Caqi2VRr.mjs.map → three.tsl-BIBER8nk.mjs.map} +1 -1
  94. package/lib/three.tsl-Q-21y0pO.mjs +2 -0
  95. package/lib/{three.webgpu-CT4fuV2X.mjs → three.webgpu-Bz4Xtk0X.mjs} +2 -2
  96. package/lib/{three.webgpu-CT4fuV2X.mjs.map → three.webgpu-Bz4Xtk0X.mjs.map} +1 -1
  97. package/lib/{three.webgpu-CxNhl3k-.mjs → three.webgpu-dtN0kDKB.mjs} +2 -2
  98. package/lib/{threejs-utils-CFcj19P1.mjs → threejs-utils-Dpvg3Czz.mjs} +5 -5
  99. package/lib/{threejs-utils-CFcj19P1.mjs.map → threejs-utils-Dpvg3Czz.mjs.map} +1 -1
  100. package/lib/{tools-core-DdgxDXwP.mjs → tools-core-BDOFf9le.mjs} +3 -3
  101. package/lib/{tools-core-DdgxDXwP.mjs.map → tools-core-BDOFf9le.mjs.map} +1 -1
  102. package/lib/workers-DcgrO-z7.mjs +6 -0
  103. package/lib/{workers-Dc-RTL8D.mjs.map → workers-DcgrO-z7.mjs.map} +1 -1
  104. package/package.json +1 -1
  105. package/lib/asset-loader.worker-CHyN7JB1.mjs.map +0 -1
  106. package/lib/budgeteer.sw-BCLEIWCW.mjs.map +0 -1
  107. package/lib/configurator-DrfzsCZi.mjs +0 -2
  108. package/lib/dimensioning-helper-BwBj5QDM.mjs +0 -2
  109. package/lib/glb-viewer-DDQoDXq6.mjs +0 -2
  110. package/lib/main-dvJVxkY5.mjs.map +0 -1
  111. package/lib/packages-DKHZt16c.mjs +0 -4
  112. package/lib/planner-Beg0IuiG.mjs +0 -2
  113. package/lib/roomle-renderer-BD3ZmpLS.mjs.map +0 -1
  114. package/lib/roomle-webgpu-renderer--zQziKoO.mjs.map +0 -1
  115. package/lib/three.tsl-Bb8l7rD7.mjs +0 -2
  116. package/lib/workers-Dc-RTL8D.mjs +0 -6
@@ -19,6 +19,11 @@ 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';
21
21
  import { Intersection } from 'three';
22
+ import { isIdAComponent } from '../../common/src/utils/id-inferrer';
23
+ import { isIdAConfigurationString } from '../../common/src/utils/id-inferrer';
24
+ import { isIdAnItem } from '../../common/src/utils/id-inferrer';
25
+ import { isIdAPlan } from '../../common/src/utils/id-inferrer';
26
+ import { isPlanSnapshotId } from '../../common/src/utils/id-inferrer';
22
27
  import { Layers } from 'three';
23
28
  import { Light } from 'three';
24
29
  import { Material } from 'three';
@@ -718,12 +723,6 @@ export declare interface CommonInitData {
718
723
  * @groups scene-settings
719
724
  */
720
725
  colors?: ColorsIn3dScene;
721
- /**
722
- * @deprecated
723
- * @description Set if the currently loaded id is an item or a configuration.
724
- * In the new configurator UI this is determined automatically based on the id.
725
- */
726
- isItem?: boolean;
727
726
  /**
728
727
  * @description The item id or configuration id of the item which should be loaded.
729
728
  * Examples:
@@ -731,13 +730,6 @@ export declare interface CommonInitData {
731
730
  * Item id: usm:frame
732
731
  */
733
732
  id?: RapiId;
734
- /* Excluded from this release type: preloadId */
735
- /**
736
- * @deprecated
737
- * @description Set if the AR button should be shown.
738
- * In the new configurator UI this is in the configurator settings object called buttons.
739
- */
740
- showArButton?: boolean;
741
733
  /* Excluded from this release type: useRoomlePrice */
742
734
  /**
743
735
  * @description Set how many positions after the decimal point should be shown.
@@ -768,24 +760,6 @@ export declare interface CommonInitData {
768
760
  * - 'short': Short unit string, for example '200 m'
769
761
  */
770
762
  unitStringType?: string;
771
- /**
772
- * @description Add a tag id which is used to show different variations for the current item/configuration
773
- * @deprecated
774
- */
775
- typeChangeTag?: RapiId;
776
- /* Excluded from this release type: preloadHint */
777
- /**
778
- * @deprecated
779
- * @description Change the offset of the camera. For example if you add a margin left (0.1 means 10%) then
780
- * the item moves to the right.
781
- * This value is overridden in the new configurator UI.
782
- * */
783
- offset?: CanvasOffset;
784
- /**
785
- * @deprecated
786
- * @description Add a tag id which is used to show different variations when opening the configurator
787
- */
788
- startTag?: RapiId;
789
763
  /**
790
764
  * @description When mesh selection is enabled, the meshes of the object are used directly for highlighting.
791
765
  * Setting it to false could be useful for square/rectangular (shelf) items.
@@ -795,7 +769,6 @@ export declare interface CommonInitData {
795
769
  * @description if set to true it shows a little overlay with performance stats
796
770
  */
797
771
  stats?: boolean;
798
- /* Excluded from this release type: _measureTraffic */
799
772
  /**
800
773
  * @description This flag enables:
801
774
  * - Scripter debug logs (e.g. which parameter is not assigned to a parameter group)
@@ -817,7 +790,6 @@ export declare interface CommonInitData {
817
790
  * For more information ask your Roomle contact.
818
791
  */
819
792
  usePriceService?: boolean;
820
- /* Excluded from this release type: disableEnvMap */
821
793
  /**
822
794
  * @description Url to an exr or hdr env map
823
795
  * @groups scene-settings
@@ -1106,11 +1078,6 @@ export declare interface ConfiguratorDebugCallbacks {
1106
1078
  }
1107
1079
 
1108
1080
  export declare interface ConfiguratorInitData {
1109
- /**
1110
- * @deprecated
1111
- * @description Download all necessary files to run the configurator in offline mode
1112
- */
1113
- offlineSync?: string;
1114
1081
  /**
1115
1082
  * @description Sets the behavior of the highlighting of a hovered component.
1116
1083
  * usage: highlighting=smart
@@ -1127,11 +1094,6 @@ export declare interface ConfiguratorInitData {
1127
1094
  * @groups scene-settings
1128
1095
  */
1129
1096
  ls?: string;
1130
- /**
1131
- * @deprecated
1132
- * @description define which floors to load
1133
- */
1134
- floorMaterialsTag?: RapiId;
1135
1097
  /**
1136
1098
  * @description Set the distance to which the user can zoom (in centimeters).
1137
1099
  * default: object size divided by 10 or 10 cm
@@ -1208,16 +1170,6 @@ export declare interface ConfiguratorInitData {
1208
1170
  * @groups scene-settings
1209
1171
  */
1210
1172
  transparentBackground?: boolean;
1211
- /**
1212
- * @deprecated
1213
- * @description Shows partlist if there are no prices
1214
- */
1215
- showInfos?: boolean;
1216
- /**
1217
- * @deprecated
1218
- * @description Show price label using prices from configuration script
1219
- */
1220
- showPrice?: boolean;
1221
1173
  /**
1222
1174
  * @description If set to true it will try to apply all current global parameters to the loaded object
1223
1175
  */
@@ -1233,6 +1185,7 @@ export declare interface ConfiguratorInitData {
1233
1185
  cameraSpacing?: number;
1234
1186
  /* Excluded from this release type: ssr */
1235
1187
  /* Excluded from this release type: featureFlags */
1188
+ /* Excluded from this release type: webGpuConfig */
1236
1189
  /**
1237
1190
  * @description if true, the meshes of the component will be used, in addition to the bounding box, for raycasting (selecting)
1238
1191
  * Warning: this will decrease performance when hovering over components with complex meshes
@@ -3347,7 +3300,6 @@ export declare interface FeatureFlags {
3347
3300
  /* Excluded from this release type: interiorLights */
3348
3301
  /* Excluded from this release type: advancedDimensioning */
3349
3302
  /* Excluded from this release type: webGpu */
3350
- /* Excluded from this release type: webGpuConfig */
3351
3303
  /* Excluded from this release type: advancedHighlighting */
3352
3304
  /* Excluded from this release type: fence */
3353
3305
  /* Excluded from this release type: awaitConfigurationSavesBeforeRequestPlan */
@@ -3363,7 +3315,6 @@ export declare class FeatureFlagsImplementation implements FeatureFlags {
3363
3315
  advancedDimensioning: boolean;
3364
3316
  enableSnapping: boolean;
3365
3317
  webGpu: boolean;
3366
- webGpuConfig: WebGpuConfig;
3367
3318
  forceSaveThumbnails: boolean;
3368
3319
  advancedHighlighting: boolean;
3369
3320
  fence: boolean;
@@ -3593,7 +3544,6 @@ export declare class GlobalInitData implements Context, GlobalInitDataDefinition
3593
3544
  overrideCountry: string | null;
3594
3545
  configuratorId?: string;
3595
3546
  overrideRapi?: RapiServerUrlType;
3596
- alwaysUseCache: boolean;
3597
3547
  customApiUrl?: string;
3598
3548
  e2e: boolean;
3599
3549
  e2eRoomleRendererForImages: boolean;
@@ -3620,11 +3570,6 @@ export declare interface GlobalInitDataDefinition {
3620
3570
  * @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.
3621
3571
  */
3622
3572
  configuratorId?: string;
3623
- /**
3624
- * @deprecated
3625
- * @description when set to true and assets were precached by the asset loader they are returned from cache. Otherwise we always return a fresh copy from network usage: alwaysUseCache=true default: not set -> assets fetched from url, set -> assets from cache
3626
- */
3627
- alwaysUseCache?: boolean;
3628
3573
  /**
3629
3574
  * @description Set which RAPI (Roomle API) backend should be used usage: customApiUrl=https://www.roomle.com/api/v2
3630
3575
  */
@@ -3881,11 +3826,18 @@ export declare class HeadlessRoomleSdk {
3881
3826
  */
3882
3827
  prewarmGlbViewer(initData?: Partial<InitDataDefinition>): Promise<void>;
3883
3828
  /**
3884
- * Load a saved configuration via the RAPI `/configurations/` endpoint.
3829
+ * Load a saved configuration by **id**, via the RAPI `/configurations/`
3830
+ * endpoint. For an inline configuration string use
3831
+ * {@link loadConfigurationString} instead.
3885
3832
  * @param configurationId Multi-segment id like `catalog:item:HASH`.
3886
3833
  * @param initData Optional per-module init overrides for prewarm.
3887
3834
  */
3888
3835
  loadConfiguration(configurationId: RapiId, initData?: Partial<InitDataDefinition>): Promise<void>;
3836
+ /**
3837
+ * Load a configuration string directly without querying the RAPI (`{"componentId":"catalog:item",…}`)
3838
+ * To load a configuration by ID, use {@link loadConfiguration}
3839
+ */
3840
+ loadConfigurationString(configuration: string, initData?: Partial<InitDataDefinition>): Promise<void>;
3889
3841
  /**
3890
3842
  * Load a configurable item via the RAPI `/items/` endpoint.
3891
3843
  * @param itemId Single-segment id like `catalog:item`.
@@ -3917,9 +3869,10 @@ export declare class HeadlessRoomleSdk {
3917
3869
  */
3918
3870
  private _suppressGlbSelfShadowing;
3919
3871
  /**
3920
- * Auto-dispatch by id shape using the shared id-inferrer utilities so
3921
- * detection stays in lock-step with the UI's `SdkConnector.loadObject`:
3872
+ * Auto-dispatch by id shape using the shared id-inferrer utilities, closely
3873
+ * following the UI's `SdkConnector.loadObject`:
3922
3874
  * - `component@…` → not supported in headless, throws
3875
+ * - `{…}` (config string) → {@link loadConfigurationString}
3923
3876
  * - 0 colons (plan id) → {@link loadPlan}
3924
3877
  * - 1 colon (item id) → {@link loadStaticItem} if RAPI says the
3925
3878
  * item has no `configuration`, otherwise
@@ -3937,6 +3890,14 @@ export declare class HeadlessRoomleSdk {
3937
3890
  * @param initData Optional per-module init overrides for prewarm.
3938
3891
  */
3939
3892
  loadPlan(planId: string, initData?: Partial<InitDataDefinition>): Promise<void>;
3893
+ /**
3894
+ * Load plan XML string directly in the planner.
3895
+ * @param xml Plan XML (`<plan version="2">…</plan>`).
3896
+ * @param initData Optional per-module init overrides for prewarm.
3897
+ */
3898
+ loadPlanXml(xml: string, initData?: Partial<InitDataDefinition>): Promise<void>;
3899
+ private _loadIntoPlanner;
3900
+ private _inlineSceneId;
3940
3901
  /**
3941
3902
  * Serialises concurrent load operations using a promise-chain queue.
3942
3903
  * Each call chains its task onto the previous queue tail so they run
@@ -4271,30 +4232,21 @@ export declare class InitData implements Context, Omit<InitDataDefinition, 'colo
4271
4232
  _creator_: string;
4272
4233
  autoQuality: boolean;
4273
4234
  colors: ThreeJsColorsIn3dScene;
4274
- isItem: boolean;
4275
4235
  id?: RapiId;
4276
- preloadId?: RapiId;
4277
- showArButton: boolean;
4278
4236
  useRoomlePrice: boolean;
4279
4237
  precisionInch?: number;
4280
4238
  precisionCm?: number;
4281
4239
  unit?: string;
4282
4240
  unitStringType?: string;
4283
- typeChangeTag?: RapiId;
4284
- preloadHint?: RapiId;
4285
- offset?: CanvasOffset;
4286
- startTag?: RapiId;
4287
4241
  measurementSystem?: Enumify_2<typeof MEASUREMENT_SYSTEM_STRING>;
4288
4242
  meshSelection: boolean;
4289
4243
  stats: boolean;
4290
- _measureTraffic: boolean;
4291
4244
  debug: boolean;
4292
4245
  debugGeometry: boolean;
4293
4246
  debugLines: boolean;
4294
4247
  debugBoundingBox: boolean;
4295
4248
  usePriceService: boolean;
4296
4249
  disableDebugGUI: boolean;
4297
- disableEnvMap: boolean;
4298
4250
  envMapUrl: string;
4299
4251
  envMapIntensity: number;
4300
4252
  envMapRotation: number;
@@ -4308,12 +4260,10 @@ export declare class InitData implements Context, Omit<InitDataDefinition, 'colo
4308
4260
  restrictionLevel: number;
4309
4261
  hi?: HomagIntelligenceInitData;
4310
4262
  disableDefaultLabelStyles: boolean;
4311
- offlineSync?: string;
4312
4263
  highlighting: Enumify_2<typeof ROOMLE_HIGHLIGHTNG>;
4313
4264
  initialFloorMaterial?: string;
4314
4265
  dls?: string;
4315
4266
  ls?: string;
4316
- floorMaterialsTag?: RapiId;
4317
4267
  zoomDistance?: number;
4318
4268
  cameraSpacing: number;
4319
4269
  cameraRestriction?: number;
@@ -4328,13 +4278,12 @@ export declare class InitData implements Context, Omit<InitDataDefinition, 'colo
4328
4278
  transparentHighlighting: boolean;
4329
4279
  transparentBackground: boolean;
4330
4280
  snappingEnabled: boolean;
4331
- showInfos: boolean;
4332
- showPrice: boolean;
4333
4281
  applyCurrentGlobalParameters: boolean;
4334
4282
  configureInRoom: boolean;
4335
4283
  dockInRoom: boolean;
4336
4284
  discardExternalObjectsWhenLoadingPlan: boolean;
4337
4285
  featureFlags: FeatureFlagsImplementation;
4286
+ webGpuConfig: WebGpuConfig;
4338
4287
  meshRaycasting: boolean;
4339
4288
  defaultFloorMaterial?: number | string;
4340
4289
  mode: Enumify_2<typeof CAMERA_TYPE>;
@@ -4520,6 +4469,16 @@ export declare const isExtObjId: (id: unknown) => id is ExtObjId_2;
4520
4469
 
4521
4470
  export declare const isFirefox: () => boolean;
4522
4471
 
4472
+ export { isIdAComponent }
4473
+
4474
+ export { isIdAConfigurationString }
4475
+
4476
+ export { isIdAnItem }
4477
+
4478
+ export { isIdAPlan }
4479
+
4480
+ export { isPlanSnapshotId }
4481
+
4523
4482
  export declare const isSafari: () => boolean;
4524
4483
 
4525
4484
  export declare const KERNEL_MESSAGE_TYPE: {
@@ -5167,12 +5126,6 @@ export declare interface LogMessageScope {
5167
5126
  export declare class LongArray extends EmsArray<number> {
5168
5127
  }
5169
5128
 
5170
- export declare interface LutImageDefinition {
5171
- name: string;
5172
- url: string;
5173
- type: string;
5174
- }
5175
-
5176
5129
  export declare const enum MAIL_TYPE {
5177
5130
  STANDARD = 1,
5178
5131
  AUGMENTED_REALITY = 2,
@@ -5466,6 +5419,24 @@ export declare interface MessageObject {
5466
5419
  type: string;
5467
5420
  }
5468
5421
 
5422
+ /**
5423
+ * Options for the model exports (GLB/USDZ).
5424
+ *
5425
+ * Example:
5426
+ * ```
5427
+ * {
5428
+ * filename: 'my-sofa' // downloads as my-sofa.glb / my-sofa.usdz
5429
+ * }
5430
+ * ```
5431
+ */
5432
+ export declare interface ModelExportOptions {
5433
+ /**
5434
+ * Name of the downloaded file. The matching extension is appended if it is
5435
+ * not part of the given name. Defaults to `roomle-export`.
5436
+ */
5437
+ filename?: string;
5438
+ }
5439
+
5469
5440
  export declare abstract class Node_2 extends PlanElement {
5470
5441
  readonly nodeType: NodeType;
5471
5442
  getNumberOfConnectedWalls(): number;
@@ -6462,8 +6433,8 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6462
6433
  private _recycleLights;
6463
6434
  removePlanObjectFromScene(planViewModel: PlanElementViewModel | undefined): void;
6464
6435
  planElementChanged(plan: Plan_2, planElementViewModel: PlanElementViewModel): void;
6465
- exportGLB(): Promise<void>;
6466
- exportUSDZ(): Promise<void>;
6436
+ exportGLB(options?: ModelExportOptions): Promise<void>;
6437
+ exportUSDZ(options?: ModelExportOptions): Promise<void>;
6467
6438
  importGLB(url: string): void;
6468
6439
  clearScene(): void;
6469
6440
  private _addSky;
@@ -8260,12 +8231,12 @@ export declare class RoomleConfigurator<P extends readonly PluginName[] = readon
8260
8231
  *
8261
8232
  * @returns the elevation plans, containing one plan with its SVG markup
8262
8233
  */
8263
- create2DElevationPlan(): ElevationPlans;
8234
+ create2DElevationPlan(): Promise<ElevationPlans>;
8264
8235
  /**
8265
8236
  * Creates the 2D elevation plan of the current configuration (see
8266
8237
  * {@link create2DElevationPlan}) and downloads it as an SVG file.
8267
8238
  */
8268
- download2DElevationPlan(): void;
8239
+ download2DElevationPlan(): Promise<void>;
8269
8240
  private createCameraForElevationPlan;
8270
8241
  exportCanvasScreenshot(quality?: number): Promise<string>;
8271
8242
  initSceneManager(sceneManager?: ConfiguratorSceneManager): void;
@@ -8914,12 +8885,16 @@ export declare class RoomleConfigurator<P extends readonly PluginName[] = readon
8914
8885
  updateComponentParameter(runtimeId: number, parameterKey: string, value: string): void;
8915
8886
  /**
8916
8887
  * Downloads the current configuration model in GLTF .GLB model file.
8888
+ *
8889
+ * @param options Optional export options, e.g. `{ filename: 'my-sofa' }`.
8917
8890
  */
8918
- exportGLB(): Promise<void>;
8891
+ exportGLB(options?: ModelExportOptions): Promise<void>;
8919
8892
  /**
8920
8893
  * Downloads the current configuration model to Universal Scene Descriptor Zip .USDZ model file.
8894
+ *
8895
+ * @param options Optional export options, e.g. `{ filename: 'my-sofa' }`.
8921
8896
  */
8922
- exportUSDZ(): Promise<void>;
8897
+ exportUSDZ(options?: ModelExportOptions): Promise<void>;
8923
8898
  }
8924
8899
 
8925
8900
  export declare type RoomleConfiguratorType = RoomleConfigurator | RoomleConfiguratorWithExtObjs;
@@ -9219,12 +9194,12 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
9219
9194
  *
9220
9195
  * @returns the elevation plans, each containing its SVG markup
9221
9196
  */
9222
- create2DElevationPlan(): ElevationPlans;
9197
+ create2DElevationPlan(): Promise<ElevationPlans>;
9223
9198
  /**
9224
9199
  * Creates the 2D elevation plans of the current plan (see
9225
9200
  * {@link create2DElevationPlan}) and downloads each plan as an SVG file.
9226
9201
  */
9227
- download2DElevationPlan(): void;
9202
+ download2DElevationPlan(): Promise<void>;
9228
9203
  loadPlan(id: string, options?: InitDataDefinition & GlobalInitDataDefinition): Promise<RapiPlan | RapiPlanSnapshotGetData>;
9229
9204
  /**
9230
9205
  * Set general configuration parameter
@@ -9238,12 +9213,16 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
9238
9213
  resetCameraPosition(): void;
9239
9214
  /**
9240
9215
  * Downloads the current plan/scene to a GLTF .GLB model file.
9216
+ *
9217
+ * @param options Optional export options, e.g. `{ filename: 'my-plan' }`.
9241
9218
  */
9242
- exportGLB(): void;
9219
+ exportGLB(options?: ModelExportOptions): void;
9243
9220
  /**
9244
9221
  * Downloads the current plan/scene to a Universal Scene Descriptor Zip .USDZ model file.
9222
+ *
9223
+ * @param options Optional export options, e.g. `{ filename: 'my-plan' }`.
9245
9224
  */
9246
- exportUSDZ(): Promise<void>;
9225
+ exportUSDZ(options?: ModelExportOptions): Promise<void>;
9247
9226
  importGLB(url: string): void;
9248
9227
  private _initPromiseCallback;
9249
9228
  isReady(): void;
@@ -9922,7 +9901,6 @@ export declare abstract class RoomleRenderer<RendererType extends WebGLRenderer
9922
9901
  switchToPlanner(_renderMode: PlannerRenderMode): void;
9923
9902
  abstract setShadingType(shadingType: SceneShadingType): void;
9924
9903
  abstract setCustomOutlineParameters(outlineCustomParameters: OutlineCustomParameters): void;
9925
- abstract loadLutImages(luts: LutImageDefinition[]): void;
9926
9904
  abstract render(scene: Scene, camera: Camera): void;
9927
9905
  abstract showGUI(updateCallback: () => void): void;
9928
9906
  abstract clearCache(): void;
@@ -10006,7 +9984,7 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
10006
9984
  private _webGpuGroundShadowReflection;
10007
9985
  private _initData;
10008
9986
  constructor(creator: string, renderer: WebGPURenderer, enableSSGI: boolean, outlineColors?: OutlineColors);
10009
- private enableRenderPasses;
9987
+ private enableDefaultRenderPasses;
10010
9988
  addGroundShadowLightAndFloor(scene: Scene): Promise<void>;
10011
9989
  private addRenderPass;
10012
9990
  clearCache(): void;
@@ -10016,7 +9994,6 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
10016
9994
  switchToConfigurator(): void;
10017
9995
  switchToPlanner(renderMode: PlannerRenderMode): void;
10018
9996
  highlightObjects(selectedMeshes: Object3D[]): void;
10019
- loadLutImages(_luts: LutImageDefinition[]): void;
10020
9997
  render(scene: Scene, camera: Camera): void;
10021
9998
  private renderToFreezeTarget;
10022
9999
  private updateCameraProjectionMatrix;
@@ -10027,11 +10004,14 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
10027
10004
  private getOutlinePassOrUndefined;
10028
10005
  private enableSsgiPass;
10029
10006
  private enableTraaPass;
10007
+ private enableFogPass;
10008
+ private disableFogPass;
10030
10009
  private applyQualityParameters;
10031
10010
  private getSsgiPassOrUndefined;
10032
10011
  setShadingType(shadingType: SceneShadingType): void;
10033
10012
  showGUI(updateCallback: () => void): void;
10034
10013
  private addDebugGUI;
10014
+ private applyToneMappingConfig;
10035
10015
  private addToneMappingSettings;
10036
10016
  getOrCreateGUIParameters(name: string): ParametersGroup;
10037
10017
  private createAndCacheGUIParameters;
@@ -10276,9 +10256,9 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
10276
10256
  protected _getCameraControl2D(): CameraControl2D;
10277
10257
  protected _getCameraControlFirstPerson(): CameraControlFirstPerson;
10278
10258
  createUSDZExport(): Promise<Uint8Array<ArrayBuffer> | undefined>;
10279
- exportUSDZ(): Promise<void>;
10259
+ exportUSDZ(options?: ModelExportOptions): Promise<void>;
10280
10260
  createExportGLB(objectFilter?: (object: Object3D) => boolean): Promise<ArrayBuffer | null>;
10281
- exportGLB(): Promise<void>;
10261
+ exportGLB(options?: ModelExportOptions): Promise<void>;
10282
10262
  }
10283
10263
 
10284
10264
  export declare interface ScenePlugin extends ScenePluginHooks, Context {
@@ -11072,12 +11052,25 @@ export declare interface WallSide {
11072
11052
  value: Enumify_3<typeof WALL_SIDES>;
11073
11053
  }
11074
11054
 
11055
+ export declare const WEBGPU_TONE_MAPPINGS: {
11056
+ readonly NONE: "none";
11057
+ readonly LINEAR: "linear";
11058
+ readonly REINHARD: "reinhard";
11059
+ readonly CINEON: "cineon";
11060
+ readonly ACES_FILMIC: "acesFilmic";
11061
+ readonly AGX: "agx";
11062
+ readonly NEUTRAL: "neutral";
11063
+ };
11064
+
11075
11065
  export declare class WebGpuConfig implements WebGpuConfigDefinition {
11076
11066
  autoDetectQualityLevel: boolean;
11077
11067
  autoQualityMinFps: number;
11078
11068
  autoQualityMaxFps: number;
11079
11069
  topLight: WebGpuTopLightConfig;
11080
11070
  groundReflection: WebGpuGroundReflectionConfig;
11071
+ fog: WebGpuFogConfig;
11072
+ toneMapping: WebGpuToneMapping;
11073
+ toneMappingExposure: number;
11081
11074
  }
11082
11075
 
11083
11076
  export declare interface WebGpuConfigDefinition {
@@ -11110,6 +11103,55 @@ export declare interface WebGpuConfigDefinition {
11110
11103
  * @description Visual configuration for the WebGPU ground reflection.
11111
11104
  */
11112
11105
  groundReflection?: WebGpuGroundReflectionConfigDefinition;
11106
+ /**
11107
+ * @description Visual configuration for the WebGPU fog.
11108
+ */
11109
+ fog?: WebGpuFogConfigDefinition;
11110
+ /**
11111
+ * @description Tone mapping operator applied by the WebGPU renderer.
11112
+ * @default 'none'
11113
+ */
11114
+ toneMapping?: WebGpuToneMapping;
11115
+ /**
11116
+ * @description Exposure (intensity) of the tone mapping applied by the
11117
+ * WebGPU renderer. Higher values produce a brighter image.
11118
+ * @default 1
11119
+ */
11120
+ toneMappingExposure?: number;
11121
+ }
11122
+
11123
+ export declare class WebGpuFogConfig implements WebGpuFogConfigDefinition {
11124
+ enabled: boolean;
11125
+ nearBlend: number;
11126
+ farBlend: number;
11127
+ }
11128
+
11129
+ export declare interface WebGpuFogConfigDefinition {
11130
+ /**
11131
+ * @description If true, a fog is added to the scene in webGPU mode.
11132
+ * This is mainly so you cant see the outer edge of the
11133
+ * floor (which makes it blends smoothly into the background).
11134
+ * This fog exists in a cylindrical shape around the origin and the
11135
+ * farBlend and nearBlend parameters indirectly control the radius
11136
+ * at which the fog starts and ends.
11137
+ * @default true
11138
+ */
11139
+ enabled?: boolean;
11140
+ /**
11141
+ * @description Radial distance from the start of the fog to the end of the fog.
11142
+ * This creates a smooth transition from full fog to no fog.
11143
+ * Larger values produce a softer, more gradual fog transition.
11144
+ * @default 7
11145
+ */
11146
+ nearBlend?: number;
11147
+ /**
11148
+ * @description Distance from the far end of the camera view/floor boundaries
11149
+ * at which the fully opaque fog should start to appear.
11150
+ * Larger values move the fully opaque(/end of the) fog
11151
+ * closer to the center of the scene.
11152
+ * @default 10
11153
+ */
11154
+ farBlend?: number;
11113
11155
  }
11114
11156
 
11115
11157
  export declare class WebGpuGroundReflectionConfig implements WebGpuGroundReflectionConfigDefinition {
@@ -11145,6 +11187,8 @@ export declare interface WebGpuGroundReflectionConfigDefinition {
11145
11187
  endFadeout?: number;
11146
11188
  }
11147
11189
 
11190
+ export declare type WebGpuToneMapping = Enumify_2<typeof WEBGPU_TONE_MAPPINGS>;
11191
+
11148
11192
  export declare class WebGpuTopLightConfig implements WebGpuTopLightConfigDefinition {
11149
11193
  intensity: number;
11150
11194
  shadowIntensity: number;