@roomle/web-sdk 4.1.0 → 4.2.0-alpha.2

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 (62) hide show
  1. package/lib/ConfiguratorKernel.wasm +0 -0
  2. package/lib/RoomleCore.wasm +0 -0
  3. package/lib/RoomleToolsCore.wasm +0 -0
  4. package/lib/{api-COog8C3X.mjs → api-VdWgw-jg.mjs} +2 -2
  5. package/lib/{api-COog8C3X.mjs.map → api-VdWgw-jg.mjs.map} +1 -1
  6. package/lib/asset-loader.worker-eqHzNAwa.mjs.map +1 -1
  7. package/lib/{component-dimensioning-pA7fsqsP.mjs → component-dimensioning-DJuokZnv.mjs} +2 -2
  8. package/lib/{component-dimensioning-pA7fsqsP.mjs.map → component-dimensioning-DJuokZnv.mjs.map} +1 -1
  9. package/lib/{component-raycast-helper-CbpkovD8.mjs → component-raycast-helper-SZg14d7A.mjs} +2 -2
  10. package/lib/{component-raycast-helper-CbpkovD8.mjs.map → component-raycast-helper-SZg14d7A.mjs.map} +1 -1
  11. package/lib/{configurator-Ducp-Nxf.mjs → configurator-Bl3B3C63.mjs} +4 -4
  12. package/lib/{configurator-Ducp-Nxf.mjs.map → configurator-Bl3B3C63.mjs.map} +1 -1
  13. package/lib/configurator-CHYss9Ix.mjs +2 -0
  14. package/lib/glb-viewer-Bo6d43Pf.mjs +2 -0
  15. package/lib/{glb-viewer-BvnOSeLd.mjs → glb-viewer-DxwekYzn.mjs} +5 -5
  16. package/lib/glb-viewer-DxwekYzn.mjs.map +1 -0
  17. package/lib/{highlight-coordinator-DCfeXyn-.mjs → highlight-coordinator-Qonmfsu1.mjs} +2 -2
  18. package/lib/{highlight-coordinator-DCfeXyn-.mjs.map → highlight-coordinator-Qonmfsu1.mjs.map} +1 -1
  19. package/lib/{homag-intelligence-DWfY5Rhy.mjs → homag-intelligence-DwBJIGnh.mjs} +3 -3
  20. package/lib/{homag-intelligence-DWfY5Rhy.mjs.map → homag-intelligence-DwBJIGnh.mjs.map} +1 -1
  21. package/lib/{material-viewer-DShIT0xY.mjs → material-viewer-DjGxE0tY.mjs} +5 -5
  22. package/lib/material-viewer-DjGxE0tY.mjs.map +1 -0
  23. package/lib/{packages-6njsPLBJ.mjs → packages-Dz8NmJP4.mjs} +5 -5
  24. package/lib/{packages-6njsPLBJ.mjs.map → packages-Dz8NmJP4.mjs.map} +1 -1
  25. package/lib/{planner-ABiXTXmc.mjs → planner-CWJXj28p.mjs} +3 -3
  26. package/lib/{planner-ABiXTXmc.mjs.map → planner-CWJXj28p.mjs.map} +1 -1
  27. package/lib/planner-CuYso338.mjs +2 -0
  28. package/lib/roomle-headless.d.ts +50 -9
  29. package/lib/roomle-headless.js +15 -17
  30. package/lib/roomle-headless.js.map +1 -1
  31. package/lib/roomle-renderer-FUqNfNIf.mjs.map +1 -1
  32. package/lib/{roomle-sdk-BdEmEYZg.mjs → roomle-sdk-FrWkv2ZJ.mjs} +1523 -1312
  33. package/lib/roomle-sdk-FrWkv2ZJ.mjs.map +1 -0
  34. package/lib/roomle-sdk.d.ts +49 -9
  35. package/lib/roomle-sdk.js +7 -7
  36. package/lib/{roomle-webgpu-renderer-RLBME9mQ.mjs → roomle-webgpu-renderer-CNZiK43x.mjs} +8 -8
  37. package/lib/{roomle-webgpu-renderer-RLBME9mQ.mjs.map → roomle-webgpu-renderer-CNZiK43x.mjs.map} +1 -1
  38. package/lib/{scene-renderer-B4HVqeg3.mjs → scene-renderer-DR7EFd-8.mjs} +2 -2
  39. package/lib/{scene-renderer-B4HVqeg3.mjs.map → scene-renderer-DR7EFd-8.mjs.map} +1 -1
  40. package/lib/{script-loader-BTy3OZVv.mjs → script-loader-YLmjONN5.mjs} +2 -2
  41. package/lib/{script-loader-BTy3OZVv.mjs.map → script-loader-YLmjONN5.mjs.map} +1 -1
  42. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
  43. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts +3 -0
  44. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js +2 -0
  45. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js.map +1 -1
  46. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  47. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  48. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  49. package/lib/{stats-helper-Cae4Gs0E.mjs → stats-helper-vEwFkDIt.mjs} +2 -2
  50. package/lib/{stats-helper-Cae4Gs0E.mjs.map → stats-helper-vEwFkDIt.mjs.map} +1 -1
  51. package/lib/{threejs-utils-mqRHdm-p.mjs → threejs-utils-C9zED_Tu.mjs} +4 -2
  52. package/lib/threejs-utils-C9zED_Tu.mjs.map +1 -0
  53. package/lib/{tools-core-T65Q1eht.mjs → tools-core-CToGr3ow.mjs} +3 -3
  54. package/lib/{tools-core-T65Q1eht.mjs.map → tools-core-CToGr3ow.mjs.map} +1 -1
  55. package/package.json +2 -2
  56. package/lib/configurator-9q_a9B9k.mjs +0 -2
  57. package/lib/glb-viewer-BiRBZWfu.mjs +0 -2
  58. package/lib/glb-viewer-BvnOSeLd.mjs.map +0 -1
  59. package/lib/material-viewer-DShIT0xY.mjs.map +0 -1
  60. package/lib/planner-v3xjVi85.mjs +0 -2
  61. package/lib/roomle-sdk-BdEmEYZg.mjs.map +0 -1
  62. package/lib/threejs-utils-mqRHdm-p.mjs.map +0 -1
@@ -2,8 +2,10 @@ import { Box3 } from 'three';
2
2
  import { BufferGeometry } from 'three';
3
3
  import { BufferGeometryEventMap } from 'three';
4
4
  import { Camera } from 'three';
5
+ import { Camera as Camera_2 } from 'three/webgpu';
5
6
  import { Color } from 'three';
6
7
  import { ColorRepresentation } from 'three';
8
+ import { ColorRepresentation as ColorRepresentation_2 } from 'three/webgpu';
7
9
  import { CommunicationInterfaceCallback } from '../../../workers/src/communication-interface';
8
10
  import { ConstructionObjectDoorArch } from 'roomle-core-hsc/src/embind/plannerCoreInterface';
9
11
  import { createExtObjId } from '../../../../../common/src/utils/external-objects';
@@ -35,6 +37,7 @@ import { NormalBufferAttributes } from 'three';
35
37
  import { Nullable } from '../../common/src/utils/types';
36
38
  import { Nullable as Nullable_2 } from '../../../../../common/src/utils/types';
37
39
  import { Object3D } from 'three';
40
+ import { Object3D as Object3D_2 } from 'three/webgpu';
38
41
  import { Object3DEventMap } from 'three';
39
42
  import { OrthographicCamera } from 'three';
40
43
  import { ParametersGroup } from 'three/examples/jsm/inspector/tabs/Parameters.js';
@@ -43,6 +46,7 @@ import { PerspectiveCamera } from 'three';
43
46
  import { PlanInteractionHandler as PlanInteractionHandler_2 } from 'roomle-core-hsc/src/embind/plannerCoreInterface';
44
47
  import { PointLight } from 'three';
45
48
  import { Scene } from 'three';
49
+ import { Scene as Scene_2 } from 'three/webgpu';
46
50
  import { Texture } from 'three';
47
51
  import { TextureLoader } from 'three';
48
52
  import { Vector2 } from 'three';
@@ -1175,6 +1179,11 @@ export declare interface ConfiguratorInitData {
1175
1179
  * @description If set to true it will try to apply all current global parameters to the loaded object
1176
1180
  */
1177
1181
  applyCurrentGlobalParameters?: boolean;
1182
+ /**
1183
+ * @description If set to true, component dimension labels stay visible even when the distance-based proximity check would normally hide them.
1184
+ * @default false
1185
+ */
1186
+ disableMeasurementCollisionDetection?: boolean;
1178
1187
  /**
1179
1188
  * @description Adds the given spacing (in centimeters) to the loaded object. This is then used to calculate the initial camera distance
1180
1189
  * default: 0
@@ -1186,6 +1195,7 @@ export declare interface ConfiguratorInitData {
1186
1195
  cameraSpacing?: number;
1187
1196
  /* Excluded from this release type: ssr */
1188
1197
  /* Excluded from this release type: featureFlags */
1198
+ /* Excluded from this release type: webGpu */
1189
1199
  /* Excluded from this release type: webGpuConfig */
1190
1200
  /**
1191
1201
  * @description if true, the meshes of the component will be used, in addition to the bounding box, for raycasting (selecting)
@@ -2236,6 +2246,8 @@ export declare const CORE_HELP_LINE_TYPE: {
2236
2246
  readonly WALL_EDGE: 3;
2237
2247
  readonly DOCKING_VECTOR: 4;
2238
2248
  readonly OBJECT_CONTOUR: 5;
2249
+ readonly WALL_ALIGNMENT: 6;
2250
+ readonly WALL_ALIGNMENT_SNAPPED: 7;
2239
2251
  };
2240
2252
 
2241
2253
  export declare const CORE_NODE_TYPE: {
@@ -3817,6 +3829,7 @@ export declare class HeadlessRoomleSdk {
3817
3829
  private _height;
3818
3830
  private _featureFlags?;
3819
3831
  private _webGpuConfig?;
3832
+ private _webGpu;
3820
3833
  private _loaderQueue;
3821
3834
  private _skyboxOriginal;
3822
3835
  /**
@@ -4313,8 +4326,10 @@ export declare class InitData implements Context, Omit<InitDataDefinition, 'colo
4313
4326
  applyCurrentGlobalParameters: boolean;
4314
4327
  configureInRoom: boolean;
4315
4328
  dockInRoom: boolean;
4329
+ disableMeasurementCollisionDetection: boolean;
4316
4330
  discardExternalObjectsWhenLoadingPlan: boolean;
4317
4331
  featureFlags: FeatureFlagsImplementation;
4332
+ webGpu: boolean;
4318
4333
  webGpuConfig: WebGpuConfig;
4319
4334
  meshRaycasting: boolean;
4320
4335
  defaultFloorMaterial?: number | string;
@@ -5321,6 +5336,8 @@ export declare interface MeasurementBase<Vector2Type = Vector3 | Position2, Vect
5321
5336
  textPosition3d: Vector3Type;
5322
5337
  /** 3D direction vector of the text **/
5323
5338
  textDirection: Vector3Type;
5339
+ /** Direction to move the measured object when increasing the distance. */
5340
+ moveDirection?: Vector3Type;
5324
5341
  /** rotation of the text in radians **/
5325
5342
  textRotation: number;
5326
5343
  /** length of the wall in millimeters **/
@@ -5332,6 +5349,7 @@ export declare interface MeasurementBase<Vector2Type = Vector3 | Position2, Vect
5332
5349
  /** 2D position where the length/label should be shown **/
5333
5350
  textPosition2d?: Vector2Type;
5334
5351
  id?: number;
5352
+ dashed?: boolean;
5335
5353
  }
5336
5354
 
5337
5355
  export declare type MeasurementLineDimension = DimensionDefinition<Vector3, Vector3>;
@@ -5471,6 +5489,12 @@ export declare interface ModelExportOptions {
5471
5489
  filename?: string;
5472
5490
  }
5473
5491
 
5492
+ export declare interface NeighboringObjectMeasurementInfo {
5493
+ bounds: Box3;
5494
+ id: number;
5495
+ measurementBounds: Box3[];
5496
+ }
5497
+
5474
5498
  export declare abstract class Node_2 extends PlanElement {
5475
5499
  readonly nodeType: NodeType;
5476
5500
  getNumberOfConnectedWalls(): number;
@@ -5632,8 +5656,8 @@ export declare interface OrthographicOffsetCamera extends OrthographicCamera, Of
5632
5656
  }
5633
5657
 
5634
5658
  export declare interface OutlineColors {
5635
- outlineVisibleEdgeColor: ColorRepresentation;
5636
- outlineHiddenEdgeColor: ColorRepresentation;
5659
+ outlineVisibleEdgeColor: ColorRepresentation_2;
5660
+ outlineHiddenEdgeColor: ColorRepresentation_2;
5637
5661
  }
5638
5662
 
5639
5663
  export declare interface OutlineCustomParameters {
@@ -5813,6 +5837,7 @@ export declare interface PlanElement_2 extends KernelObject {
5813
5837
  getId(): number;
5814
5838
  getCustomDataJson(): string;
5815
5839
  isDuplicable(): boolean;
5840
+ isDeletableInIsolation(): boolean;
5816
5841
  readonly hidden: boolean;
5817
5842
  }
5818
5843
 
@@ -6466,6 +6491,12 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6466
6491
  get viewModel(): PlanViewModel;
6467
6492
  private _getDragPosition;
6468
6493
  private _hideAllMeasurementsNodeOnElementChange;
6494
+ /**
6495
+ * An element that the core reports as not deletable in isolation - a generated
6496
+ * fence post or module - may only be deleted together with its complete contour
6497
+ * group. Fence doors and ordinary plan elements stand on their own.
6498
+ */
6499
+ private _isSelectionDeletable;
6469
6500
  private _onSelectionChange;
6470
6501
  planObjectDependencyUpdated(planObjectId: number): void;
6471
6502
  private _onSelectionCancel;
@@ -6519,6 +6550,8 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6519
6550
  protected _setCameraControlListeners(): void;
6520
6551
  private _onCameraZoomChange;
6521
6552
  private _setKernelZoomFactor;
6553
+ private _getHighestWallHeight;
6554
+ private _shouldShowCeiling;
6522
6555
  private _setCeiling;
6523
6556
  cameraBehaviourChanged(updateDistance?: boolean): void;
6524
6557
  private _updatePaperBackground;
@@ -6643,6 +6676,7 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6643
6676
  private _sendRoomMeasurements;
6644
6677
  private _sendMeasurementLineDimension;
6645
6678
  private _sendObjectMeasurements;
6679
+ private _getOtherPlanObjectsFor2dMeasurements;
6646
6680
  private transformMeasurements;
6647
6681
  private _sendConstructionElementDimensions;
6648
6682
  setConstructionElementDistanceToWall(measurementId: number, distance: number): void;
@@ -6680,6 +6714,8 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6680
6714
  protected enablePanning(): void;
6681
6715
  protected disablePanning(): void;
6682
6716
  setObjectToWallMeasurementLength(planElementId: number, measurementId: number, length: number): void;
6717
+ setObjectMeasurementLength(planElementId: number, measurement: ObjectToWallDimensionTransferable, newLengthMM: number): void;
6718
+ private _setObjectToNeighborMeasurementLength;
6683
6719
  setWallMeasurementLength(measurementId: number, length: number, wallDirection: EMSConstant, measurementKind?: 'edge2d' | 'sloping'): void;
6684
6720
  setMeasurementLineLength(measurementId: number, length: number, wallDirection: string): void;
6685
6721
  setNodeZCoordinate(nodeId: number, z: number): void;
@@ -6808,7 +6844,7 @@ export declare class PlanObjectViewModel extends PlanElementViewModel {
6808
6844
  clear(): void;
6809
6845
  getPlanObject(): PlanObject;
6810
6846
  getSize(): Vector3;
6811
- getObjectMeasurements(zoomFactor: number, clientWidth: number, clientHeight: number): Nullable_2<ObjectMeasurements>;
6847
+ getObjectMeasurements(zoomFactor: number, clientWidth: number, clientHeight: number, otherObjects?: NeighboringObjectMeasurementInfo[]): Nullable_2<ObjectMeasurements>;
6812
6848
  update(): void;
6813
6849
  }
6814
6850
 
@@ -10091,7 +10127,7 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
10091
10127
  private _initData;
10092
10128
  constructor(creator: string, renderer: WebGPURenderer, enableSSGI: boolean, outlineColors?: OutlineColors, enableTraa?: boolean);
10093
10129
  private enableDefaultRenderPasses;
10094
- addGroundShadowLightAndFloor(scene: Scene): Promise<void>;
10130
+ addGroundShadowLightAndFloor(scene: Scene_2): Promise<void>;
10095
10131
  private addRenderPass;
10096
10132
  clearCache(): void;
10097
10133
  disableUiInteractionMode(): void;
@@ -10099,13 +10135,13 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
10099
10135
  setCameraType(cameraType: Enumify_2<typeof CAMERA_TYPE>): void;
10100
10136
  switchToConfigurator(): void;
10101
10137
  switchToPlanner(renderMode: PlannerRenderMode): void;
10102
- highlightObjects(selectedMeshes: Object3D[]): void;
10103
- render(scene: Scene, camera: Camera): void;
10138
+ highlightObjects(selectedMeshes: Object3D_2[]): void;
10139
+ render(scene: Scene_2, camera: Camera_2): void;
10104
10140
  private renderToFreezeTarget;
10105
10141
  private updateCameraProjectionMatrix;
10106
10142
  private assembleRenderPasses;
10107
10143
  setCustomOutlineParameters(customOutlineParameters: OutlineCustomParameters): void;
10108
- setGroundShadow(enabled: boolean, _scene: Scene): void;
10144
+ setGroundShadow(enabled: boolean, _scene: Scene_2): void;
10109
10145
  private enableOutline;
10110
10146
  private getOutlinePassOrUndefined;
10111
10147
  private enableSsgiPass;
@@ -10437,6 +10473,7 @@ export declare interface SelectionPayload {
10437
10473
  externalConfigurationType?: string;
10438
10474
  objectComponent?: KernelPlanObjectComponent;
10439
10475
  permissionToDelete?: number;
10476
+ isSelectionDeletable?: boolean;
10440
10477
  }
10441
10478
 
10442
10479
  export declare const SET_WALL_MATERIAL_TYPE: {
@@ -10662,8 +10699,8 @@ export declare const STEP_GROUPS: {
10662
10699
  readonly methods: ["addMeasure"];
10663
10700
  };
10664
10701
  readonly parameterChange: {
10665
- readonly finalize: "on-signal";
10666
- readonly idleCommitMs: 3000;
10702
+ readonly finalize: "immediate";
10703
+ readonly resumeFromCommitted: true;
10667
10704
  readonly methods: ["applyKernelParameterChange"];
10668
10705
  };
10669
10706
  readonly addOrUpdateExternal: {
@@ -10833,6 +10870,8 @@ export declare class UndoRedoHandler {
10833
10870
  private _disposed;
10834
10871
  protected _handler: PlanInteractionHandler;
10835
10872
  private _state;
10873
+ private _lastCommitted;
10874
+ private _sliderGestureActive;
10836
10875
  private _pendingContinuations;
10837
10876
  private _commitWhenSettled;
10838
10877
  private _idleCommitTimer;
@@ -10843,6 +10882,8 @@ export declare class UndoRedoHandler {
10843
10882
  get isDisposed(): boolean;
10844
10883
  run<T>(methodName: InteractionMethodName, args: unknown[], apply: () => T): T;
10845
10884
  commit(): void;
10885
+ beginSliderGesture(): void;
10886
+ endSliderGesture(): void;
10846
10887
  clearHistory(): void;
10847
10888
  private reset;
10848
10889
  undo(): void;
@@ -1,14 +1,14 @@
1
- import { a as e, i as t, n, r, t as i } from "./packages-6njsPLBJ.mjs";
1
+ import { a as e, i as t, n, r, t as i } from "./packages-Dz8NmJP4.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-mqRHdm-p.mjs";
3
+ import { mt as s, vt as c } from "./threejs-utils-C9zED_Tu.mjs";
4
4
  import { Si as l, m as u, nt as d } from "./three.core-0KaTx8dm.mjs";
5
- import { A as f, F as p, G as m, J as h, K as ee, M as te, N as ne, P as re, S as ie, W as ae, a as oe, at as se, b as ce, ct as le, dt as ue, i as de, j as fe, k as pe, l as g, lt as _, m as v, mt as y, o as b, ot as x, q as S, r as C, s as w, st as T, t as E, u as D, ut as O, x as k, y as A, z as j } from "./roomle-sdk-BdEmEYZg.mjs";
5
+ import { A as f, F as p, G as m, J as h, K as ee, M as te, N as ne, P as re, S as ie, W as ae, a as oe, at as se, b as ce, ct as le, dt as ue, i as de, j as fe, k as pe, l as g, lt as _, m as v, mt as y, o as b, ot as x, q as S, r as C, s as w, st as T, t as E, u as D, ut as O, x as k, y as A, z as j } from "./roomle-sdk-FrWkv2ZJ.mjs";
6
6
  import { n as M } from "./roomle-renderer-FUqNfNIf.mjs";
7
- import { n as N } from "./script-loader-BTy3OZVv.mjs";
8
- import { t as P } from "./configurator-Ducp-Nxf.mjs";
9
- import { t as F } from "./planner-ABiXTXmc.mjs";
10
- import { n as I, t as L } from "./glb-viewer-BvnOSeLd.mjs";
11
- import { t as R } from "./api-COog8C3X.mjs";
7
+ import { n as N } from "./script-loader-YLmjONN5.mjs";
8
+ import { t as P } from "./configurator-Bl3B3C63.mjs";
9
+ import { t as F } from "./planner-CWJXj28p.mjs";
10
+ import { n as I, t as L } from "./glb-viewer-DxwekYzn.mjs";
11
+ import { t as R } from "./api-VdWgw-jg.mjs";
12
12
  import { t as z } from "./roomle-headless-setup-7xnQlZl3.mjs";
13
13
  import { createRequire as B } from "module";
14
14
  //#region packages/headless-core/src/headless-script-loader.ts
@@ -340,7 +340,7 @@ var we = (e) => {
340
340
  super(...e), this._headlessPathTracerRenderer = null;
341
341
  }
342
342
  async _createThreejsImageRenderer() {
343
- if (!this._initData.featureFlags.webGpu) return super._createThreejsImageRenderer();
343
+ if (!this._initData.webGpu) return super._createThreejsImageRenderer();
344
344
  let { WebGPURenderer: e } = await import("./three.webgpu-bR4-ABJu.mjs"), t = new e({
345
345
  antialias: !1,
346
346
  alpha: !0
@@ -349,7 +349,7 @@ var we = (e) => {
349
349
  }
350
350
  async _createRoomleRenderer(e) {
351
351
  if (!e.isWebGPURenderer) return super._createRoomleRenderer(e);
352
- let { RoomleWebGPURenderer: t } = await import("./roomle-webgpu-renderer-RLBME9mQ.mjs");
352
+ let { RoomleWebGPURenderer: t } = await import("./roomle-webgpu-renderer-CNZiK43x.mjs");
353
353
  return new t(this._creator_, e, !0, void 0, !1);
354
354
  }
355
355
  static hasExplicitCameraPlacement(e) {
@@ -378,7 +378,7 @@ var we = (e) => {
378
378
  }
379
379
  async _renderPathTracedFrame(e, t, n, r) {
380
380
  let i = e instanceof M ? e.renderer : e;
381
- if (!i.isWebGPURenderer) throw Error("HeadlessImageRenderer: path tracing requires the WebGPU renderer (enable featureFlags.webGpu)");
381
+ if (!i.isWebGPURenderer) throw Error("HeadlessImageRenderer: path tracing requires the WebGPU renderer (enable webGpu)");
382
382
  this._headlessPathTracerRenderer ||= new Ee(), await this._headlessPathTracerRenderer.render(i, t, n, r.samples, r.settings);
383
383
  let { imageDataUrl: a } = await this._readFrameAndClear(i);
384
384
  return a;
@@ -443,17 +443,14 @@ var we = (e) => {
443
443
  }
444
444
  }, Z = 1024, Ae = "inline-plan-xml#", je = "inline-configuration#", Q = class e {
445
445
  constructor() {
446
- this._initialized = !1, this._configuratorReady = !1, this._plannerReady = !1, this._glbViewerReady = !1, this._loadedConfigurationId = null, this._loadedPlanId = null, this._loadedStaticItemId = null, this._width = 1024, this._height = 768, this._loaderQueue = Promise.resolve(), this._skyboxOriginal = /* @__PURE__ */ new WeakMap(), this._onReadyForRenderArmed = null;
446
+ this._initialized = !1, this._configuratorReady = !1, this._plannerReady = !1, this._glbViewerReady = !1, this._loadedConfigurationId = null, this._loadedPlanId = null, this._loadedStaticItemId = null, this._width = 1024, this._height = 768, this._webGpu = !0, this._loaderQueue = Promise.resolve(), this._skyboxOriginal = /* @__PURE__ */ new WeakMap(), this._onReadyForRenderArmed = null;
447
447
  }
448
448
  static async create(t) {
449
449
  let n = new e();
450
450
  return await n._init(t), n;
451
451
  }
452
452
  async _init(e) {
453
- this._width = e.width ?? 1024, this._height = e.height ?? 768, this._featureFlags = e.featureFlags, e.featureFlags?.webGpu || (console.warn("HeadlessRoomleSdk: WebGPU is required, forcing featureFlags.webGpu on."), this._featureFlags = {
454
- ...e.featureFlags,
455
- webGpu: !0
456
- }), this._webGpuConfig = {
453
+ this._width = e.width ?? 1024, this._height = e.height ?? 768, this._featureFlags = e.featureFlags, !e.webGpu && !e.featureFlags?.webGpu && console.warn("HeadlessRoomleSdk: WebGPU is required, forcing webGpu on."), this._webGpu = !0, this._webGpuConfig = {
457
454
  autoDetectQualityLevel: !1,
458
455
  autoQualityMinFps: 0,
459
456
  autoQualityMaxFps: 2 ** 53 - 1,
@@ -469,10 +466,11 @@ var we = (e) => {
469
466
  }), this._initialized = !0;
470
467
  }
471
468
  _deepMergeHeadlessInitDefaults(e) {
472
- if (!this._featureFlags && !this._webGpuConfig) return e;
469
+ if (!this._featureFlags && !this._webGpuConfig && !this._webGpu) return e;
473
470
  let t = e?.featureFlags;
474
471
  return {
475
472
  ...e,
473
+ webGpu: this._webGpu,
476
474
  featureFlags: {
477
475
  ...this._featureFlags,
478
476
  ...t