@roomle/web-sdk 4.2.0-alpha.7 → 4.3.0-alpha.1

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 (87) hide show
  1. package/lib/ConfiguratorKernel.wasm +0 -0
  2. package/lib/{GaussianBlurNode-DEczNsyD.mjs → GaussianBlurNode-Bjszve7N.mjs} +15 -15
  3. package/lib/{GaussianBlurNode-DEczNsyD.mjs.map → GaussianBlurNode-Bjszve7N.mjs.map} +1 -1
  4. package/lib/RoomleCore.wasm +0 -0
  5. package/lib/RoomleToolsCore.wasm +0 -0
  6. package/lib/{api-B6sLiuiL.mjs → api-C0UElaCW.mjs} +2 -2
  7. package/lib/{api-B6sLiuiL.mjs.map → api-C0UElaCW.mjs.map} +1 -1
  8. package/lib/asset-loader.worker-eqHzNAwa.mjs.map +1 -1
  9. package/lib/{banana-for-scale-C-grIlTK.mjs → banana-for-scale-DGYmxeBG.mjs} +3 -3
  10. package/lib/{banana-for-scale-C-grIlTK.mjs.map → banana-for-scale-DGYmxeBG.mjs.map} +1 -1
  11. package/lib/budgeteer.sw-BUMElkO1.mjs.map +1 -1
  12. package/lib/{common-utils-6T8eGlhX.mjs → common-utils-CyQUubmw.mjs} +29 -15
  13. package/lib/{common-utils-6T8eGlhX.mjs.map → common-utils-CyQUubmw.mjs.map} +1 -1
  14. package/lib/{component-dimensioning-DJuokZnv.mjs → component-dimensioning--4sX2AgY.mjs} +4 -4
  15. package/lib/{component-dimensioning-DJuokZnv.mjs.map → component-dimensioning--4sX2AgY.mjs.map} +1 -1
  16. package/lib/{component-raycast-helper-SZg14d7A.mjs → component-raycast-helper-CskJedpv.mjs} +3 -3
  17. package/lib/{component-raycast-helper-SZg14d7A.mjs.map → component-raycast-helper-CskJedpv.mjs.map} +1 -1
  18. package/lib/configurator-CjFo24FH.mjs +2 -0
  19. package/lib/{configurator-Cbof6AET.mjs → configurator-vxRFxJ-B.mjs} +4 -4
  20. package/lib/{configurator-Cbof6AET.mjs.map → configurator-vxRFxJ-B.mjs.map} +1 -1
  21. package/lib/{decorate-CX1ZGuFY.mjs → decorate-CjaqqbUP.mjs} +12 -9
  22. package/lib/decorate-CjaqqbUP.mjs.map +1 -0
  23. package/lib/dimensioning-helper-0s61LK9R.mjs +2 -0
  24. package/lib/{dimensioning-helper-BwvR76_I.mjs → dimensioning-helper-Cgao7A18.mjs} +2 -2
  25. package/lib/{dimensioning-helper-BwvR76_I.mjs.map → dimensioning-helper-Cgao7A18.mjs.map} +1 -1
  26. package/lib/{glb-viewer-DmVh1uJg.mjs → glb-viewer-B-r0E1aa.mjs} +6 -6
  27. package/lib/{glb-viewer-DmVh1uJg.mjs.map → glb-viewer-B-r0E1aa.mjs.map} +1 -1
  28. package/lib/glb-viewer-BnJkmakv.mjs +2 -0
  29. package/lib/{highlight-coordinator-Qonmfsu1.mjs → highlight-coordinator-CR5rcFh_.mjs} +2 -2
  30. package/lib/{highlight-coordinator-Qonmfsu1.mjs.map → highlight-coordinator-CR5rcFh_.mjs.map} +1 -1
  31. package/lib/{homag-intelligence-CzD_RMQo.mjs → homag-intelligence-DHTCBB64.mjs} +8 -5
  32. package/lib/{homag-intelligence-CzD_RMQo.mjs.map → homag-intelligence-DHTCBB64.mjs.map} +1 -1
  33. package/lib/{imos-ix-poc-export-helper-Q6-OXziY.mjs → imos-ix-poc-export-helper-DRQK_p2h.mjs} +2 -2
  34. package/lib/{imos-ix-poc-export-helper-Q6-OXziY.mjs.map → imos-ix-poc-export-helper-DRQK_p2h.mjs.map} +1 -1
  35. package/lib/{material-viewer-BkSh-aG7.mjs → material-viewer-ZlNDhA8D.mjs} +6 -6
  36. package/lib/{material-viewer-BkSh-aG7.mjs.map → material-viewer-ZlNDhA8D.mjs.map} +1 -1
  37. package/lib/{packages-BGVMQMZK.mjs → packages-C9J0u-cc.mjs} +5 -5
  38. package/lib/{packages-BGVMQMZK.mjs.map → packages-C9J0u-cc.mjs.map} +1 -1
  39. package/lib/planner-C-5Mg-Lv.mjs +2 -0
  40. package/lib/{planner-DFa8uJOF.mjs → planner-ClY-VUWt.mjs} +3 -3
  41. package/lib/{planner-DFa8uJOF.mjs.map → planner-ClY-VUWt.mjs.map} +1 -1
  42. package/lib/{plugin-system-CqXT37-v.mjs → plugin-system-vlnG8j2T.mjs} +3 -3
  43. package/lib/{plugin-system-CqXT37-v.mjs.map → plugin-system-vlnG8j2T.mjs.map} +1 -1
  44. package/lib/{roomle-headless-setup-7xnQlZl3.mjs → roomle-headless-setup-DbO_rLjK.mjs} +54 -40
  45. package/lib/roomle-headless-setup-DbO_rLjK.mjs.map +1 -0
  46. package/lib/roomle-headless.d.ts +125 -115
  47. package/lib/roomle-headless.js +289 -358
  48. package/lib/roomle-headless.js.map +1 -1
  49. package/lib/roomle-renderer-FUqNfNIf.mjs.map +1 -1
  50. package/lib/{roomle-sdk-B73VmWod.mjs → roomle-sdk-BpCPIwDm.mjs} +2447 -2306
  51. package/lib/roomle-sdk-BpCPIwDm.mjs.map +1 -0
  52. package/lib/roomle-sdk.d.ts +79 -4
  53. package/lib/roomle-sdk.js +7 -7
  54. package/lib/{roomle-webgpu-renderer-Dzuy_Y39.mjs → roomle-webgpu-renderer-Lt55gNj5.mjs} +370 -303
  55. package/lib/roomle-webgpu-renderer-Lt55gNj5.mjs.map +1 -0
  56. package/lib/{scene-renderer-DR7EFd-8.mjs → scene-renderer-CLkhNnnv.mjs} +5 -5
  57. package/lib/{scene-renderer-DR7EFd-8.mjs.map → scene-renderer-CLkhNnnv.mjs.map} +1 -1
  58. package/lib/{script-loader-BlsGBrYo.mjs → script-loader-9GrUxzSB.mjs} +3 -3
  59. package/lib/{script-loader-BlsGBrYo.mjs.map → script-loader-9GrUxzSB.mjs.map} +1 -1
  60. package/lib/{shading-settings-Bnt9v9xJ.mjs → shading-settings-CRNmMpcn.mjs} +2 -2
  61. package/lib/{shading-settings-Bnt9v9xJ.mjs.map → shading-settings-CRNmMpcn.mjs.map} +1 -1
  62. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
  63. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  64. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  65. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  66. package/lib/{stats-helper-vEwFkDIt.mjs → stats-helper-D9l8soWd.mjs} +3 -3
  67. package/lib/{stats-helper-vEwFkDIt.mjs.map → stats-helper-D9l8soWd.mjs.map} +1 -1
  68. package/lib/three.tsl-BnL9nfJa.mjs +2 -0
  69. package/lib/{three.tsl-BElp7_oF.mjs → three.tsl-Dew9p5yF.mjs} +46 -48
  70. package/lib/{three.tsl-BElp7_oF.mjs.map → three.tsl-Dew9p5yF.mjs.map} +1 -1
  71. package/lib/{threejs-utils-C9zED_Tu.mjs → threejs-utils-CKV1QNU9.mjs} +4 -3
  72. package/lib/threejs-utils-CKV1QNU9.mjs.map +1 -0
  73. package/lib/{tools-core-DKYMilYC.mjs → tools-core-CKaB3WsP.mjs} +3 -3
  74. package/lib/{tools-core-DKYMilYC.mjs.map → tools-core-CKaB3WsP.mjs.map} +1 -1
  75. package/lib/{webgpu-BMwlJflc.mjs → webgpu-B0rxiqW-.mjs} +313 -313
  76. package/lib/{webgpu-BMwlJflc.mjs.map → webgpu-B0rxiqW-.mjs.map} +1 -1
  77. package/package.json +2 -2
  78. package/lib/configurator-BFd5022u.mjs +0 -2
  79. package/lib/decorate-CX1ZGuFY.mjs.map +0 -1
  80. package/lib/dimensioning-helper-yMfkA1IY.mjs +0 -2
  81. package/lib/glb-viewer-DlH5_aTU.mjs +0 -2
  82. package/lib/planner-CSKuhBke.mjs +0 -2
  83. package/lib/roomle-headless-setup-7xnQlZl3.mjs.map +0 -1
  84. package/lib/roomle-sdk-B73VmWod.mjs.map +0 -1
  85. package/lib/roomle-webgpu-renderer-Dzuy_Y39.mjs.map +0 -1
  86. package/lib/three.tsl-BtDRDR0q.mjs +0 -2
  87. package/lib/threejs-utils-C9zED_Tu.mjs.map +0 -1
@@ -2016,6 +2016,7 @@ export declare class ConfiguratorViewModel implements ConfiguratorKernelCallback
2016
2016
  private _subPartObject;
2017
2017
  private _subPartGuard;
2018
2018
  protected _components: Map<number, RoomleComponent>;
2019
+ private _componentsWithOutdatedGeometry;
2019
2020
  private _previews;
2020
2021
  protected _componentNumberOfPossibleChildren: Map<number, number>;
2021
2022
  protected _componentFactory: RoomleComponentFactory;
@@ -2064,6 +2065,7 @@ export declare class ConfiguratorViewModel implements ConfiguratorKernelCallback
2064
2065
  Editor3dGeometryReady(id: number): void;
2065
2066
  Editor3dGeometryNotReady(id: number): void;
2066
2067
  Editor3dPlanObjectConstructionDone(planObjectId: number): void;
2068
+ private _finishPendingPlanObjectConstruction;
2067
2069
  Editor3dPreviewConstructionDone(componentId: number, _objectId: number): void;
2068
2070
  Editor3dSetPreviewAssociations(dockPairs: KernelDockPairPreview[], previewId: number): void;
2069
2071
  componentDeleted(componentId: number): void;
@@ -2097,6 +2099,7 @@ export declare class ConfiguratorViewModel implements ConfiguratorKernelCallback
2097
2099
  protected _generateMesh(runtimeComponentId: number | undefined, geometryId: string | null | undefined, materialId: string | null, vertices: Float32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array, _type?: KernelEnum, _newGeometryInstance?: boolean, materialAttributes?: Record<string, string>): Mesh;
2098
2100
  protected _setMaterial(mesh: Mesh, material: any, _type?: KernelEnum): void;
2099
2101
  constructComponents(planObjectId: number): void;
2102
+ private _takeOutdatedGeometryOf;
2100
2103
  requestSubPartConstruction(partId: number): Promise<Mesh>;
2101
2104
  protected getMeshGenerator(): MeshGenerator;
2102
2105
  setRequestRenderCallback(requestRenderCallback: () => void): void;
@@ -2280,6 +2283,7 @@ export declare const CORE_PLAN_COMPONENT_TYPE: {
2280
2283
  export declare const CORE_PLAN_ROOM_GEOMETRY_MODE: {
2281
2284
  readonly FLOOR: 0;
2282
2285
  readonly ROOM: 1;
2286
+ readonly PLAN: 2;
2283
2287
  };
2284
2288
 
2285
2289
  export declare const CORE_SNAP_STATE: {
@@ -2948,9 +2952,13 @@ export declare interface ExternalObjectAPI {
2948
2952
  */
2949
2953
  loadExternalObjectGroups(groupJson: ExternalGroupData, options: LoadExternalObjectOptions): Promise<LoadExternalObjectGroupResult[]>;
2950
2954
  /**
2951
- * "loadExternalObjectGroupLayout" creates and loads a group of modules from an article layout.
2952
- * @param articleLayoutJson The article layout JSON as object.
2953
- * @param layoutType The article layout type. Only "nobila" is supported at the moment.
2955
+ * "loadExternalObjectGroupLayout" creates and loads groups of modules from an article layout.
2956
+ * @param articleLayoutJson The article layout JSON as object. The layout type "nobila" evaluates
2957
+ * the "shapes" property, the layout type "posGroups" evaluates the "posGroups" property.
2958
+ * For the layout type "posGroups" a group whose id matches a group already loaded in the plan
2959
+ * completely replaces that group; root modules keep their ids when they already exist in the
2960
+ * replaced group, all other ids are regenerated.
2961
+ * @param layoutType The article layout type. "nobila" and "posGroups" are supported.
2954
2962
  * @param options Options for loading the external object group.
2955
2963
  */
2956
2964
  loadExternalObjectGroupLayout(articleLayoutJson: ExternalObjectGroupLayout, layoutType: string, options?: LoadExternalObjectOptions): Promise<LoadExternalObjectGroupResult[]>;
@@ -3047,6 +3055,13 @@ export declare interface ExternalObjectAPI {
3047
3055
  * "getExternalRoomInformation" returns the room information for currently loaded in the plan.
3048
3056
  */
3049
3057
  getExternalRoomInformation(mode?: PlanRoomGeometryMode): Promise<ExternalRoomInformation>;
3058
+ /**
3059
+ * "getExternalObjectPlanContext" returns a consistent snapshot of the external object state:
3060
+ * the master data per library, the room information of all rooms, the articles that can be
3061
+ * used, and all groups currently loaded in the plan.
3062
+ * @param include The sections to include. All sections are returned when omitted or empty.
3063
+ */
3064
+ getExternalObjectPlanContext(include?: HiPlanContextSection[]): Promise<HiPlanContext>;
3050
3065
  /**
3051
3066
  * It generates a snapshot of the external object in the plan without saving any data.
3052
3067
  * By default, the snapshot includes order data, room information, the plan XML, GLBs of the complete scene,
@@ -3121,6 +3136,7 @@ export declare interface ExternalObjectGroup {
3121
3136
  export declare interface ExternalObjectGroupLayout {
3122
3137
  [key: string]: unknown;
3123
3138
  shapes?: ExternalObjectGroupLayoutShape[];
3139
+ posGroups?: PosGroup[];
3124
3140
  }
3125
3141
 
3126
3142
  export declare interface ExternalObjectGroupLayoutArticle {
@@ -3640,8 +3656,9 @@ export declare interface GlueLogic {
3640
3656
  getSaveDataGroups(): Promise<PosGroup[] | null>;
3641
3657
  getSubArticleId(id: string): string | undefined;
3642
3658
  newPosDataFromId(id: string): Promise<PosGroup | undefined>;
3643
- newPosDataFromArticleLayout(articleLayoutJson: ExternalObjectGroupLayout, layoutType: string, posArticles?: PosArticle[]): Promise<PosGroup | undefined>;
3659
+ createOrReplacePosDataFromArticleLayout(articleLayoutJson: ExternalObjectGroupLayout, layoutType: string, posArticles?: PosArticle[]): Promise<PosGroup | PosGroup[] | undefined>;
3644
3660
  newPosDataFromGroup(posDataJson: PosGroup): Promise<PosGroup>;
3661
+ getPlanContext(include?: HiPlanContextSection[]): Promise<HiPlanContext>;
3645
3662
  getGroupDataForOrder(options: GetGroupDataForOrderOptions): Promise<HiOrderData | null>;
3646
3663
  getMaterialUrl(materialId: string, groupOrModuleId?: string): string | null;
3647
3664
  }
@@ -3873,6 +3890,15 @@ export declare interface HiObjectSelectionApi {
3873
3890
  selectionChanged(selectionMode: SELECTION_MODE, objectType: CallbackObjectType, payload: SelectionPayload, _payloadPromise: Promise<SelectionPayload>, _planElementViewModel: PlanElementViewModel): void;
3874
3891
  }
3875
3892
 
3893
+ export declare interface HiPlanContext {
3894
+ masterData?: Record<string, MasterData>;
3895
+ rooms?: ExternalRoomInformation;
3896
+ articles?: PosArticle[];
3897
+ groups?: PosGroup[];
3898
+ }
3899
+
3900
+ export declare type HiPlanContextSection = 'masterData' | 'rooms' | 'articles' | 'groups';
3901
+
3876
3902
  export declare class HiTagCatalogCallbacks implements Context {
3877
3903
  _creator_: string;
3878
3904
  private _glueLogic;
@@ -4902,6 +4928,7 @@ export declare interface LoadExternalObjectGroupResult {
4902
4928
 
4903
4929
  export declare interface LoadExternalObjectOptions {
4904
4930
  reason?: HiLoadObjectReason;
4931
+ applyGroupPosition?: boolean;
4905
4932
  findFreeSpaceInPlan?: boolean;
4906
4933
  moduleIdMap?: Array<{
4907
4934
  originalModuleId: string;
@@ -5551,6 +5578,7 @@ export declare const PLAN_ELEMENT_CHANGE_TYPES: {
5551
5578
  export declare const PLAN_ROOM_GEOMETRY_MODE: {
5552
5579
  readonly FLOOR: "floor";
5553
5580
  readonly ROOM: "room";
5581
+ readonly PLAN: "plan";
5554
5582
  };
5555
5583
 
5556
5584
  export declare abstract class PlanElement extends AbstractModelWrapper {
@@ -6111,6 +6139,7 @@ export declare class PlannerSceneEventHandler extends SceneEventHandler<SceneEve
6111
6139
  private _move;
6112
6140
  hasSelection(): boolean;
6113
6141
  selectPlanElement(planElement: PlanElementViewModel): Promise<void>;
6142
+ selectPlanElementAfterObjectModeChange(planElement: PlanElementViewModel): void;
6114
6143
  protected _interaction(_forceRender?: boolean): void;
6115
6144
  addComponentDragInHandler(planViewModel: PlanElementViewModel): void;
6116
6145
  enableSnapping(): void;
@@ -6245,6 +6274,7 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6245
6274
  private _setCameraPosition;
6246
6275
  private _resetCameraPosition;
6247
6276
  selectPlanObject(runtimeId: number): Promise<void>;
6277
+ selectPlanObjectAfterObjectModeChange(runtimeId: number): void;
6248
6278
  backToPlanner(): void;
6249
6279
  private _getYRotationOfObject;
6250
6280
  loadStaticPlanObjects(): void;
@@ -8023,6 +8053,7 @@ export declare interface RoomleComponent extends RoomleEventedObject3D {
8023
8053
  animationValueMap?: AnimationValueMap;
8024
8054
  get childComponents(): RoomleComponent[];
8025
8055
  get parentComponent(): RoomleComponent | null;
8056
+ get rootComponent(): RoomleComponent;
8026
8057
  replaceMeshes(meshes: Mesh[]): void;
8027
8058
  addMesh(mesh: Mesh, transform?: Float32Array): void;
8028
8059
  removeMesh(mesh: Mesh): void;
@@ -9052,6 +9083,14 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
9052
9083
  * return the object runtime id
9053
9084
  */
9054
9085
  createPlanFromObject(id: RapiId, position?: Position3, rotation?: number): Promise<number>;
9086
+ /**
9087
+ * Creates a plan holding a single object built from a configuration string
9088
+ * @param configuration configuration string (`{"componentId":"catalog:item",…}`).
9089
+ * @param position XYZ
9090
+ * @param rotation deg
9091
+ */
9092
+ createPlanFromConfigurationString(configuration: string, position?: Position3, rotation?: number): Promise<number>;
9093
+ private _createPlanFromElement;
9055
9094
  loadPlanXml(xml: string, options?: InitDataDefinition & GlobalInitDataDefinition): Promise<void>;
9056
9095
  /**
9057
9096
  * Creates 2D elevation plans of the current plan, one per elevation view.
@@ -9409,6 +9448,7 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
9409
9448
  private _loadExternalObjectGroupInConfigurator;
9410
9449
  private _loadExternalObjectGroupInPlanner;
9411
9450
  private _updateExternalObjectRootModuleSelection;
9451
+ private _mergeAndSelectExternalObjectGroup;
9412
9452
  private _loadOrUpdateExternalObjectGroup;
9413
9453
  private _interactionBeforeLoadingExternalObjectGroups;
9414
9454
  private _interactionAfterLoadingExternalObjectGroups;
@@ -9430,6 +9470,7 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
9430
9470
  openOrCloseGeometryOfExternalObject(groupIdOrRootModuleId: string, _subModuleId: string | null, open: boolean, animate: boolean): void;
9431
9471
  _selectExternalObjectGroup(groupId: string, switchToPlanner: boolean): Promise<void>;
9432
9472
  getExternalObjectGroups(): Promise<object[]>;
9473
+ getExternalObjectPlanContext(include?: HiPlanContextSection[]): Promise<HiPlanContext>;
9433
9474
  getExternalRoomInformation(mode?: PlanRoomGeometryMode): Promise<ExternalRoomInformation>;
9434
9475
  /**
9435
9476
  * Highlights a product in the planner.
@@ -10022,6 +10063,7 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
10022
10063
  private _clock;
10023
10064
  private _delta;
10024
10065
  protected _renderLoopFunction: (() => void) | null;
10066
+ private _renderLoopFunctionApplied;
10025
10067
  protected _renderListener: (() => void) | null;
10026
10068
  protected _stopRendering: boolean;
10027
10069
  protected _roomleRenderer: GenericRoomleRenderer | null;
@@ -10038,6 +10080,12 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
10038
10080
  protected abstract createCameraControl(mode: Enumify_3<typeof CAMERA_TYPE>, offset: CanvasOffset): void;
10039
10081
  protected abstract _getInputManager(): InputManager;
10040
10082
  get cameraBehaviour(): CameraBehaviour;
10083
+ protected _scheduleRenderLoopFunction(renderLoopFunction: () => void): void;
10084
+ /**
10085
+ * Resolves the next time the render loop applies a scheduled function, so arm
10086
+ * it **before** triggering the work whose mutation you are waiting for.
10087
+ */
10088
+ whenRenderLoopFunctionApplied(): Promise<void>;
10041
10089
  abstract sceneChanged(): void;
10042
10090
  abstract getBounds(): Box3 | null;
10043
10091
  abstract getGeometryBounds(): Box3 | null;
@@ -10937,6 +10985,7 @@ export declare class WebGpuConfig implements WebGpuConfigDefinition {
10937
10985
  topLight: WebGpuTopLightConfig;
10938
10986
  groundReflection: WebGpuGroundReflectionConfig;
10939
10987
  fog: WebGpuFogConfig;
10988
+ ssgi: WebGpuSSGIConfig;
10940
10989
  toneMapping: WebGpuToneMapping;
10941
10990
  toneMappingExposure: number;
10942
10991
  }
@@ -10975,6 +11024,10 @@ export declare interface WebGpuConfigDefinition {
10975
11024
  * @description Visual configuration for the WebGPU fog.
10976
11025
  */
10977
11026
  fog?: WebGpuFogConfigDefinition;
11027
+ /**
11028
+ * @description Visual configuration for the WebGPU screen space global illumination (SSGI) effect.
11029
+ */
11030
+ ssgi?: WebGpuSSGIConfigDefinition;
10978
11031
  /**
10979
11032
  * @description Tone mapping operator applied by the WebGPU renderer.
10980
11033
  * @default 'none'
@@ -11055,6 +11108,28 @@ export declare interface WebGpuGroundReflectionConfigDefinition {
11055
11108
  endFadeout?: number;
11056
11109
  }
11057
11110
 
11111
+ export declare class WebGpuSSGIConfig implements WebGpuSSGIConfigDefinition {
11112
+ giDenoiseRadius: number;
11113
+ aoDenoiseRadius: number;
11114
+ }
11115
+
11116
+ export declare interface WebGpuSSGIConfigDefinition {
11117
+ /**
11118
+ * @description Radius of the denoising filter applied to the indirect lighting.
11119
+ * Higher values produce a stronger denoising effect, which can help reduce noise
11120
+ * in the indirect lighting but may also blur fine details.
11121
+ * @default 20
11122
+ */
11123
+ giDenoiseRadius?: number;
11124
+ /**
11125
+ * @description Radius of the denoising filter applied to the ambient occlusion (AO) pass.
11126
+ * Higher values produce a stronger denoising effect, which can help reduce noise
11127
+ * in the AO but may also blur fine details.
11128
+ * @default 10
11129
+ */
11130
+ aoDenoiseRadius?: number;
11131
+ }
11132
+
11058
11133
  export declare type WebGpuToneMapping = Enumify_3<typeof WEBGPU_TONE_MAPPINGS>;
11059
11134
 
11060
11135
  export declare class WebGpuTopLightConfig implements WebGpuTopLightConfigDefinition {
package/lib/roomle-sdk.js CHANGED
@@ -1,9 +1,9 @@
1
- import { a as e, i as t, n, r, t as i } from "./packages-BGVMQMZK.mjs";
1
+ import { a as e, i as t, n, r, t as i } from "./packages-C9J0u-cc.mjs";
2
2
  import { i as a, t as o } from "./kernel-BWfRHWkW.mjs";
3
- import { mt as s, vt as c } from "./threejs-utils-C9zED_Tu.mjs";
4
- import { F as l, G as u, J as d, K as f, M as p, N as m, P as h, S as g, W as _, b as v, ct as y, dt as b, j as x, k as S, lt as C, mt as w, q as T, t as E, u as D, ut as O, x as k, y as A, z as j } from "./roomle-sdk-B73VmWod.mjs";
5
- import { t as M } from "./configurator-Cbof6AET.mjs";
6
- import { t as N } from "./planner-DFa8uJOF.mjs";
7
- import { n as P, t as F } from "./glb-viewer-DmVh1uJg.mjs";
8
- import { t as I } from "./api-B6sLiuiL.mjs";
3
+ import { mt as s, vt as c } from "./threejs-utils-CKV1QNU9.mjs";
4
+ import { F as l, G as u, J as d, K as f, M as p, N as m, P as h, S as g, W as _, b as v, ct as y, dt as b, j as x, k as S, lt as C, mt as w, q as T, t as E, u as D, ut as O, x as k, y as A, z as j } from "./roomle-sdk-BpCPIwDm.mjs";
5
+ import { t as M } from "./configurator-vxRFxJ-B.mjs";
6
+ import { t as N } from "./planner-ClY-VUWt.mjs";
7
+ import { n as P, t as F } from "./glb-viewer-B-r0E1aa.mjs";
8
+ import { t as I } from "./api-C0UElaCW.mjs";
9
9
  export { o as CONFIGURATION_TYPE, s as CORE_EDGE_TYPE, c as CORE_OBJECT_CATEGORY, a as CORE_PERMISSION_TO_DELETE, M as Configurator, x as FloorPlanElementViewModel, F as GlbViewer, j as HI_CONTEXT_ACTION, g as MeasurementLinePlanElementViewModel, A as PLAN_ELEMENT_CHANGE_TYPES, l as PlanElementViewModel, h as PlanObjectViewModel, N as Planner, y as RapiAccess, C as RapiInvalidIdError, O as RapiOfflineError, I as RoomDesignerApi, S as RoomleConfigurator, P as RoomleGLBViewer, w as RoomleLightSource, D as RoomlePlanner, E as RoomleSdk, m as StaticPlanObjectViewModel, p as WallPlanElementViewModel, _ as createExtObj, d as createExtObjId, b as getCatalogIdFromConfigurationHash, u as isExtObjId, f as isExternalObject, v as isFirefox, i as isIdAComponent, n as isIdAConfigurationString, r as isIdAPlan, t as isIdAnItem, e as isPlanSnapshotId, k as isSafari, T as removeExtObjIdPrefix };