@roomle/web-sdk 3.10.0-alpha.2 → 3.10.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 (119) hide show
  1. package/lib/{BufferGeometry-Dxcf7n9V.mjs → BufferGeometry-Dj5loCTL.mjs} +2 -2
  2. package/lib/{BufferGeometry-Dxcf7n9V.mjs.map → BufferGeometry-Dj5loCTL.mjs.map} +1 -1
  3. package/lib/ConfiguratorKernel.wasm +0 -0
  4. package/lib/{GLTFExporter-kpv1e-Ks.mjs → GLTFExporter-CquK-kkI.mjs} +1 -1
  5. package/lib/{GLTFExporter-kpv1e-Ks.mjs.map → GLTFExporter-CquK-kkI.mjs.map} +1 -1
  6. package/lib/{GaussianBlurNode-CMVlBe39.mjs → GaussianBlurNode-CDYPio-x.mjs} +3 -3
  7. package/lib/{GaussianBlurNode-CMVlBe39.mjs.map → GaussianBlurNode-CDYPio-x.mjs.map} +1 -1
  8. package/lib/{Object3D-BZaiqQIE.mjs → Object3D-YXSPdGeJ.mjs} +1 -1
  9. package/lib/{Object3D-BZaiqQIE.mjs.map → Object3D-YXSPdGeJ.mjs.map} +1 -1
  10. package/lib/{PointLightHelper-fzRB58rC.mjs → PointLightHelper-g98giMRd.mjs} +4 -4
  11. package/lib/{PointLightHelper-fzRB58rC.mjs.map → PointLightHelper-g98giMRd.mjs.map} +1 -1
  12. package/lib/RoomleCore.wasm +0 -0
  13. package/lib/RoomleToolsCore.wasm +0 -0
  14. package/lib/{SpotLightHelper-D5UFwRPb.mjs → SpotLightHelper-xR8lCZau.mjs} +3 -3
  15. package/lib/{SpotLightHelper-D5UFwRPb.mjs.map → SpotLightHelper-xR8lCZau.mjs.map} +1 -1
  16. package/lib/{USDZExporter-Y0SSGr5_.mjs → USDZExporter-BMqBymZI.mjs} +2 -2
  17. package/lib/{USDZExporter-Y0SSGr5_.mjs.map → USDZExporter-BMqBymZI.mjs.map} +1 -1
  18. package/lib/{Vector4-BfZH1ecw.mjs → Vector4-CqzXUndP.mjs} +2 -2
  19. package/lib/{Vector4-BfZH1ecw.mjs.map → Vector4-CqzXUndP.mjs.map} +1 -1
  20. package/lib/{api-BXU3pZnX.mjs → api-BlFJIGaV.mjs} +2 -2
  21. package/lib/{api-BXU3pZnX.mjs.map → api-BlFJIGaV.mjs.map} +1 -1
  22. package/lib/{asset-loader.worker-C911tbNL.mjs → asset-loader.worker-CHyN7JB1.mjs} +1 -1
  23. package/lib/{asset-loader.worker-C911tbNL.mjs.map → asset-loader.worker-CHyN7JB1.mjs.map} +1 -1
  24. package/lib/{banana-for-scale-B_LIHI9q.mjs → banana-for-scale-Cs2s9dNp.mjs} +3 -3
  25. package/lib/{banana-for-scale-B_LIHI9q.mjs.map → banana-for-scale-Cs2s9dNp.mjs.map} +1 -1
  26. package/lib/{budgeteer.sw-D3VxiASa.mjs → budgeteer.sw-BCLEIWCW.mjs} +1 -1
  27. package/lib/budgeteer.sw-BCLEIWCW.mjs.map +1 -0
  28. package/lib/{common-utils-B9PC_rvS.mjs → common-utils-DMk5jc_R.mjs} +1 -1
  29. package/lib/{common-utils-B9PC_rvS.mjs.map → common-utils-DMk5jc_R.mjs.map} +1 -1
  30. package/lib/{component-dimensioning-5iIw1f_3.mjs → component-dimensioning-DcmDM6gV.mjs} +6 -6
  31. package/lib/{component-dimensioning-5iIw1f_3.mjs.map → component-dimensioning-DcmDM6gV.mjs.map} +1 -1
  32. package/lib/{component-raycast-helper-O27_buEg.mjs → component-raycast-helper-CXN2MHtG.mjs} +4 -4
  33. package/lib/{component-raycast-helper-O27_buEg.mjs.map → component-raycast-helper-CXN2MHtG.mjs.map} +1 -1
  34. package/lib/configurator-B8jcqVX9.mjs +2 -0
  35. package/lib/{configurator-BwxEIDv7.mjs → configurator-BkQ6h239.mjs} +4 -4
  36. package/lib/{configurator-BwxEIDv7.mjs.map → configurator-BkQ6h239.mjs.map} +1 -1
  37. package/lib/{continuous-drawing-helper-D25YPUle.mjs → continuous-drawing-helper-BlGATN0C.mjs} +2 -2
  38. package/lib/{continuous-drawing-helper-D25YPUle.mjs.map → continuous-drawing-helper-BlGATN0C.mjs.map} +1 -1
  39. package/lib/{dat.gui.module-CZ-DIWHM.mjs → dat.gui.module-BLjoST8r.mjs} +1 -1
  40. package/lib/{dat.gui.module-CZ-DIWHM.mjs.map → dat.gui.module-BLjoST8r.mjs.map} +1 -1
  41. package/lib/{decorate-C9r0zXzz.mjs → decorate-CTUwswpM.mjs} +1 -1
  42. package/lib/{decorate-C9r0zXzz.mjs.map → decorate-CTUwswpM.mjs.map} +1 -1
  43. package/lib/dimensioning-helper-BwBj5QDM.mjs +2 -0
  44. package/lib/{dimensioning-helper-d6JA4UMr.mjs → dimensioning-helper-DMop5qcu.mjs} +4 -4
  45. package/lib/{dimensioning-helper-d6JA4UMr.mjs.map → dimensioning-helper-DMop5qcu.mjs.map} +1 -1
  46. package/lib/dist-DGov-RNo.mjs +438 -0
  47. package/lib/dist-DGov-RNo.mjs.map +1 -0
  48. package/lib/{fflate.module-CBz7CLOg.mjs → fflate.module-n0Jozp8Z.mjs} +1 -1
  49. package/lib/{fflate.module-CBz7CLOg.mjs.map → fflate.module-n0Jozp8Z.mjs.map} +1 -1
  50. package/lib/{glb-viewer-C0Et5SO6.mjs → glb-viewer-D58flqDh.mjs} +6 -6
  51. package/lib/{glb-viewer-C0Et5SO6.mjs.map → glb-viewer-D58flqDh.mjs.map} +1 -1
  52. package/lib/glb-viewer-Dg3F2Tz1.mjs +2 -0
  53. package/lib/{highlight-coordinator-DdQ8yNjO.mjs → highlight-coordinator-CTZ_qcde.mjs} +2 -2
  54. package/lib/{highlight-coordinator-DdQ8yNjO.mjs.map → highlight-coordinator-CTZ_qcde.mjs.map} +1 -1
  55. package/lib/{homag-intelligence-DrKayEjK.mjs → homag-intelligence-D7L2SS4z.mjs} +3 -3
  56. package/lib/{homag-intelligence-DrKayEjK.mjs.map → homag-intelligence-D7L2SS4z.mjs.map} +1 -1
  57. package/lib/{imos-ix-poc-export-helper-DU0ag-Lw.mjs → imos-ix-poc-export-helper-D2KaQu_v.mjs} +3 -3
  58. package/lib/{imos-ix-poc-export-helper-DU0ag-Lw.mjs.map → imos-ix-poc-export-helper-D2KaQu_v.mjs.map} +1 -1
  59. package/lib/{kernel-utils-Cj5B4fDD.mjs → kernel-utils-042AuCQh.mjs} +1 -1
  60. package/lib/{kernel-utils-Cj5B4fDD.mjs.map → kernel-utils-042AuCQh.mjs.map} +1 -1
  61. package/lib/{layer-C_JtkhdO.mjs → layer-CFAr2mK_.mjs} +1 -1
  62. package/lib/{layer-C_JtkhdO.mjs.map → layer-CFAr2mK_.mjs.map} +1 -1
  63. package/lib/{main-D2BulNeN.mjs → main-C2m_IBXL.mjs} +2901 -2907
  64. package/lib/main-C2m_IBXL.mjs.map +1 -0
  65. package/lib/{material-viewer-CZQwo8Nc.mjs → material-viewer-BJs0W2Gk.mjs} +6 -6
  66. package/lib/{material-viewer-CZQwo8Nc.mjs.map → material-viewer-BJs0W2Gk.mjs.map} +1 -1
  67. package/lib/packages-D6zM0aDK.mjs +4 -0
  68. package/lib/{planner-OgIPgZ1m.mjs → planner-B9YA9cmz.mjs} +3 -3
  69. package/lib/{planner-OgIPgZ1m.mjs.map → planner-B9YA9cmz.mjs.map} +1 -1
  70. package/lib/planner-DJnqYqvP.mjs +2 -0
  71. package/lib/{plugin-system-DlME_5b_.mjs → plugin-system-DRpL0Rer.mjs} +3 -3
  72. package/lib/{plugin-system-DlME_5b_.mjs.map → plugin-system-DRpL0Rer.mjs.map} +1 -1
  73. package/lib/{roomle-headless-setup-CMK-quZI.mjs → roomle-headless-setup-Cc8EAnVe.mjs} +1 -1
  74. package/lib/{roomle-headless-setup-CMK-quZI.mjs.map → roomle-headless-setup-Cc8EAnVe.mjs.map} +1 -1
  75. package/lib/roomle-headless.d.ts +69 -29
  76. package/lib/roomle-headless.js +9 -9
  77. package/lib/{roomle-renderer-DYQvV88j.mjs → roomle-renderer-BD3ZmpLS.mjs} +23 -5
  78. package/lib/roomle-renderer-BD3ZmpLS.mjs.map +1 -0
  79. package/lib/roomle-sdk.d.ts +69 -29
  80. package/lib/roomle-sdk.js +7 -7
  81. package/lib/{roomle-webgpu-renderer-5-aG3CMs.mjs → roomle-webgpu-renderer-NhCn2iM-.mjs} +386 -240
  82. package/lib/roomle-webgpu-renderer-NhCn2iM-.mjs.map +1 -0
  83. package/lib/{scene-renderer-DvXjoKHZ.mjs → scene-renderer-DbHi1plp.mjs} +367 -1467
  84. package/lib/scene-renderer-DbHi1plp.mjs.map +1 -0
  85. package/lib/{script-loader-CScqyQhc.mjs → script-loader-CXa3RiUa.mjs} +3 -3
  86. package/lib/{script-loader-CScqyQhc.mjs.map → script-loader-CXa3RiUa.mjs.map} +1 -1
  87. package/lib/shading-settings-BWeccIZv.mjs +1108 -0
  88. package/lib/shading-settings-BWeccIZv.mjs.map +1 -0
  89. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
  90. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  91. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  92. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  93. package/lib/{stats-helper-BYi5TI_H.mjs → stats-helper-CPeojJW2.mjs} +3 -3
  94. package/lib/{stats-helper-BYi5TI_H.mjs.map → stats-helper-CPeojJW2.mjs.map} +1 -1
  95. package/lib/{three.tsl-S0OKwamA.mjs → three.tsl-Bb8l7rD7.mjs} +1 -1
  96. package/lib/{three.tsl-CAEdYyg3.mjs → three.tsl-Caqi2VRr.mjs} +2 -2
  97. package/lib/{three.tsl-CAEdYyg3.mjs.map → three.tsl-Caqi2VRr.mjs.map} +1 -1
  98. package/lib/{three.webgpu-CkP2nkXM.mjs → three.webgpu-CT4fuV2X.mjs} +1 -1
  99. package/lib/{three.webgpu-CkP2nkXM.mjs.map → three.webgpu-CT4fuV2X.mjs.map} +1 -1
  100. package/lib/{three.webgpu-qrxDA_v0.mjs → three.webgpu-CxNhl3k-.mjs} +1 -1
  101. package/lib/{threejs-utils-C4J_TZ0o.mjs → threejs-utils-E4yVZATI.mjs} +4 -4
  102. package/lib/threejs-utils-E4yVZATI.mjs.map +1 -0
  103. package/lib/{tools-core-BCkbEbim.mjs → tools-core-GNj0UaiE.mjs} +3 -3
  104. package/lib/{tools-core-BCkbEbim.mjs.map → tools-core-GNj0UaiE.mjs.map} +1 -1
  105. package/lib/workers-Dc-RTL8D.mjs +6 -0
  106. package/lib/{workers-HXGCmmZS.mjs.map → workers-Dc-RTL8D.mjs.map} +1 -1
  107. package/package.json +1 -1
  108. package/lib/budgeteer.sw-D3VxiASa.mjs.map +0 -1
  109. package/lib/configurator-BIyxKNI0.mjs +0 -2
  110. package/lib/dimensioning-helper-pPTkh8pl.mjs +0 -2
  111. package/lib/glb-viewer-DfMzLkqg.mjs +0 -2
  112. package/lib/main-D2BulNeN.mjs.map +0 -1
  113. package/lib/packages-BtLLQZLz.mjs +0 -4
  114. package/lib/planner-BF94NrwH.mjs +0 -2
  115. package/lib/roomle-renderer-DYQvV88j.mjs.map +0 -1
  116. package/lib/roomle-webgpu-renderer-5-aG3CMs.mjs.map +0 -1
  117. package/lib/scene-renderer-DvXjoKHZ.mjs.map +0 -1
  118. package/lib/threejs-utils-C4J_TZ0o.mjs.map +0 -1
  119. package/lib/workers-HXGCmmZS.mjs +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roomle-renderer-BD3ZmpLS.mjs","names":[],"sources":["../../packages/common-core/src/utils/fps-counter.ts","../../packages/common-core/src/roomle-renderer.ts"],"sourcesContent":["const FPS_LIST_SIZE = 10;\nconst FPS_MEASUREMENT_INTERVAL_MS = 20;\n\nexport default class FpsCounter {\n private _index: number = 0;\n private _fpsList: number[];\n private _prevTime: number = 0;\n private _frames: number = 0;\n private _fps: number = -1;\n\n constructor() {\n this._fpsList = Array(FPS_LIST_SIZE).fill(0);\n this._prevTime = (performance || Date).now();\n this.reset();\n }\n\n public update() {\n this._frames++;\n const time = (performance || Date).now();\n\n if (time >= this._prevTime + FPS_MEASUREMENT_INTERVAL_MS) {\n this._fpsList[this._index % FPS_LIST_SIZE] =\n (this._frames * 1000) / (time - this._prevTime);\n\n if (this._index >= FPS_LIST_SIZE) {\n this._fps =\n this._fpsList.reduce((pv, cv) => pv + cv) / this._fpsList.length;\n }\n\n this._prevTime = time;\n this._frames = 0;\n this._index++;\n }\n }\n\n public start() {\n this._prevTime = (performance || Date).now();\n this._frames = 0;\n }\n\n public reset() {\n this._fps = -1;\n this._fpsList = Array(FPS_LIST_SIZE).fill(0);\n this._index = 0;\n }\n\n public getFps() {\n return this._fps;\n }\n}\n","import type { Camera, Object3D, Scene, Vector2, WebGLRenderer } from 'three';\nimport { Box3 } from 'three';\nimport type { Enumify } from '#/common/src/utils/types';\nimport type { CAMERA_TYPE } from './cameracontrol/camera-type';\nimport type { WebGPURenderer } from 'three/webgpu';\nimport type { SceneShadingType } from './webgl/renderer/shading-settings';\nimport type {\n LutImageDefinition,\n OutlineCustomParameters,\n} from './webgl/renderer/scene-renderer';\n\nexport type GenericRoomleRenderer = RoomleRenderer<\n WebGLRenderer | WebGPURenderer\n>;\n\nexport enum PlannerRenderMode {\n Mode3D,\n Mode2D,\n}\n\nexport abstract class RoomleRenderer<\n RendererType extends WebGLRenderer | WebGPURenderer,\n> {\n public _creator_: string;\n public renderer: RendererType;\n protected isConfiguratorMode: boolean = true;\n protected isCameraMoving: boolean = false;\n protected cameraType: Enumify<typeof CAMERA_TYPE>;\n protected shadowNeedsUpdate: boolean = false;\n protected boundingBox: Box3 = new Box3();\n protected boundingBoxNeedsUpdate: boolean = false;\n\n protected constructor(creator: string, renderer: RendererType) {\n this._creator_ = creator;\n this.renderer = renderer;\n }\n\n public get isConfiguring(): boolean {\n return this.isConfiguratorMode;\n }\n\n public dispose(): void {\n this.renderer.dispose();\n }\n\n public setSize(width: number, height: number): void {\n this.renderer.setSize(width, height);\n }\n\n public getSize(target: Vector2): Vector2 {\n return this.renderer.getSize(target);\n }\n\n public setCameraType(cameraType: Enumify<typeof CAMERA_TYPE>) {\n this.cameraType = cameraType;\n }\n\n public movingCameraStarts(): void {\n this.isCameraMoving = true;\n }\n\n public movingCameraStops(): void {\n this.isCameraMoving = false;\n }\n\n public forceShadowUpdates(_updateBakedGroundShadow: boolean): void {\n this.shadowNeedsUpdate = true;\n }\n\n public clear() {\n this.renderer.clear();\n }\n\n public updateBounds(geometryBounds: Box3) {\n this.boundingBox.copy(geometryBounds);\n this.boundingBoxNeedsUpdate = true;\n }\n\n public switchToConfigurator(): void {\n this.isConfiguratorMode = true;\n }\n\n public switchToPlanner(_renderMode: PlannerRenderMode) {\n this.isConfiguratorMode = false;\n }\n\n public abstract setShadingType(shadingType: SceneShadingType): void;\n\n public abstract setCustomOutlineParameters(\n outlineCustomParameters: OutlineCustomParameters,\n ): void;\n\n public abstract loadLutImages(luts: LutImageDefinition[]): void;\n\n public abstract render(scene: Scene, camera: Camera): void;\n\n public abstract showGUI(updateCallback: () => void): void;\n\n public abstract clearCache(): void;\n\n public abstract highlightObjects(selectedMeshes: Object3D[]): void;\n\n public abstract setGroundShadow(enabled: boolean, scene: Scene): void;\n\n public abstract enableUiInteractionMode(): void;\n\n public abstract disableUiInteractionMode(): void;\n}\n"],"mappings":";;AAAA,IAAM,IAAgB,IAChB,IAA8B,IAEf,IAArB,MAAgC;CAO9B,cAAc;AAGZ,gBATuB,oBAEG,kBACF,eACH,IAGrB,KAAK,WAAW,MAAM,EAAc,CAAC,KAAK,EAAE,EAC5C,KAAK,aAAa,eAAe,MAAM,KAAK,EAC5C,KAAK,OAAO;;CAGd,SAAgB;AACd,OAAK;EACL,IAAM,KAAQ,eAAe,MAAM,KAAK;AAExC,EAAI,KAAQ,KAAK,YAAY,MAC3B,KAAK,SAAS,KAAK,SAAS,KACzB,KAAK,UAAU,OAAS,IAAO,KAAK,YAEnC,KAAK,UAAU,MACjB,KAAK,OACH,KAAK,SAAS,QAAQ,GAAI,MAAO,IAAK,EAAG,GAAG,KAAK,SAAS,SAG9D,KAAK,YAAY,GACjB,KAAK,UAAU,GACf,KAAK;;CAIT,QAAe;AAEb,EADA,KAAK,aAAa,eAAe,MAAM,KAAK,EAC5C,KAAK,UAAU;;CAGjB,QAAe;AAGb,EAFA,KAAK,OAAO,IACZ,KAAK,WAAW,MAAM,EAAc,CAAC,KAAK,EAAE,EAC5C,KAAK,SAAS;;CAGhB,SAAgB;AACd,SAAO,KAAK;;GChCJ,IAAL,yBAAA,GAAA;QACL,EAAA,EAAA,SAAA,KAAA,UACA,EAAA,EAAA,SAAA,KAAA;KACD,EAEqB,IAAtB,MAEE;CAUA,YAAsB,GAAiB,GAAwB;AAE7D,4BATsC,0BACJ,6BAEG,uBACT,IAAI,GAAM,gCACI,IAG1C,KAAK,YAAY,GACjB,KAAK,WAAW;;CAGlB,IAAW,gBAAyB;AAClC,SAAO,KAAK;;CAGd,UAAuB;AACrB,OAAK,SAAS,SAAS;;CAGzB,QAAe,GAAe,GAAsB;AAClD,OAAK,SAAS,QAAQ,GAAO,EAAO;;CAGtC,QAAe,GAA0B;AACvC,SAAO,KAAK,SAAS,QAAQ,EAAO;;CAGtC,cAAqB,GAAyC;AAC5D,OAAK,aAAa;;CAGpB,qBAAkC;AAChC,OAAK,iBAAiB;;CAGxB,oBAAiC;AAC/B,OAAK,iBAAiB;;CAGxB,mBAA0B,GAAyC;AACjE,OAAK,oBAAoB;;CAG3B,QAAe;AACb,OAAK,SAAS,OAAO;;CAGvB,aAAoB,GAAsB;AAExC,EADA,KAAK,YAAY,KAAK,EAAe,EACrC,KAAK,yBAAyB;;CAGhC,uBAAoC;AAClC,OAAK,qBAAqB;;CAG5B,gBAAuB,GAAgC;AACrD,OAAK,qBAAqB"}
@@ -642,9 +642,9 @@ export declare class CeilingLight extends PointLight {
642
642
  private _shouldCastShadow;
643
643
  getContainer(): Mesh | null;
644
644
  get shouldCastShadow(): boolean;
645
- constructor(debug: boolean | undefined, maxQualityLevel: QualityLevel);
645
+ constructor(debug?: boolean);
646
646
  recalculatePower(amountOfLights: number): void;
647
- update(qualityLevel: QualityLevel): void;
647
+ update(): void;
648
648
  addDebugUI(ceilingLightsParameters: GenericGUIParamFolder): void;
649
649
  }
650
650
 
@@ -2666,6 +2666,14 @@ export declare interface Element_2 {
2666
2666
  perspectiveImage: AssetUrl;
2667
2667
  }
2668
2668
 
2669
+ export declare interface ElevationPlan {
2670
+ planSvg: string;
2671
+ }
2672
+
2673
+ export declare interface ElevationPlans {
2674
+ plans: ElevationPlan[];
2675
+ }
2676
+
2669
2677
  export declare interface ElevationProfile {
2670
2678
  profileContour: ElevationProfilePoint[];
2671
2679
  }
@@ -2679,7 +2687,7 @@ export declare interface ElevationProfilePoint {
2679
2687
 
2680
2688
  export declare interface ElevationView {
2681
2689
  lineOfSight: KernelVector3f;
2682
- objects: KernelPlanObject[];
2690
+ objects: PlanObject[];
2683
2691
  profile: ElevationProfile;
2684
2692
  }
2685
2693
 
@@ -3328,6 +3336,7 @@ export declare interface FeatureFlags {
3328
3336
  /* Excluded from this release type: interiorLights */
3329
3337
  /* Excluded from this release type: advancedDimensioning */
3330
3338
  /* Excluded from this release type: webGpu */
3339
+ /* Excluded from this release type: webGpuConfig */
3331
3340
  /* Excluded from this release type: advancedHighlighting */
3332
3341
  /* Excluded from this release type: fence */
3333
3342
  }
@@ -6546,7 +6555,7 @@ export declare class PlanViewModel extends ConfiguratorViewModel implements Plan
6546
6555
  private _handleCeilingPlanElementViewModel;
6547
6556
  private _handleNodePlanElementViewModel;
6548
6557
  private _getCeilingLightsDistribution;
6549
- handleInitialCeilingLights(ceilingLightsParameters: GenericGUIParamFolder | undefined, qualityLevel: QualityLevel): void;
6558
+ handleInitialCeilingLights(ceilingLightsParameters: GenericGUIParamFolder | undefined): void;
6550
6559
  handleCeilingLights(): void;
6551
6560
  handleLampLight(lamp: StaticPlanObjectViewModel, options: {
6552
6561
  targetPos: KernelVector3f;
@@ -7054,17 +7063,6 @@ export declare class PromiseQueue<T> {
7054
7063
  get length(): number;
7055
7064
  }
7056
7065
 
7057
- export declare const QUALITY_LEVELS: {
7058
- readonly HIGHEST: "highest";
7059
- readonly HIGH: "high";
7060
- readonly MEDIUM: "medium";
7061
- readonly LOW: "low";
7062
- };
7063
-
7064
- export declare type QualityLevel = Enumify_2<typeof QUALITY_LEVELS>;
7065
-
7066
- export declare type QualityMap = Map<QualityLevel, any>;
7067
-
7068
7066
  export declare class RangeArray extends EmsArray<KernelRange> {
7069
7067
  }
7070
7068
 
@@ -7988,7 +7986,18 @@ export declare class RoomleConfigurator<P extends readonly PluginName[] = readon
7988
7986
  private _checkInitDone;
7989
7987
  private _onInitDone;
7990
7988
  constructor(creator: string, activePlugins?: P);
7991
- create2DElevationPlan(): Promise<void>;
7989
+ /**
7990
+ * Creates a 2D elevation plan of the current configuration, returned as raw
7991
+ * SVG markup (wireframe rendering with measurements).
7992
+ *
7993
+ * @returns the elevation plans, containing one plan with its SVG markup
7994
+ */
7995
+ create2DElevationPlan(): ElevationPlans;
7996
+ /**
7997
+ * Creates the 2D elevation plan of the current configuration (see
7998
+ * {@link create2DElevationPlan}) and downloads it as an SVG file.
7999
+ */
8000
+ download2DElevationPlan(): void;
7992
8001
  private createCameraForElevationPlan;
7993
8002
  exportCanvasScreenshot(quality?: number): Promise<string>;
7994
8003
  initSceneManager(sceneManager?: ConfiguratorSceneManager): void;
@@ -8935,7 +8944,19 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8935
8944
  */
8936
8945
  createPlanFromObject(id: RapiId, position?: Position3, rotation?: number): Promise<number>;
8937
8946
  loadPlanXml(xml: string, options?: InitDataDefinition & GlobalInitDataDefinition): Promise<void>;
8938
- create2DElevationPlan(): Promise<void>;
8947
+ /**
8948
+ * Creates 2D elevation plans of the current plan, one per elevation view.
8949
+ * Each plan is returned as raw SVG markup (wireframe rendering with
8950
+ * dimensionings).
8951
+ *
8952
+ * @returns the elevation plans, each containing its SVG markup
8953
+ */
8954
+ create2DElevationPlan(): ElevationPlans;
8955
+ /**
8956
+ * Creates the 2D elevation plans of the current plan (see
8957
+ * {@link create2DElevationPlan}) and downloads each plan as an SVG file.
8958
+ */
8959
+ download2DElevationPlan(): void;
8939
8960
  loadPlan(id: string, options?: InitDataDefinition & GlobalInitDataDefinition): Promise<RapiPlan | RapiPlanSnapshotGetData>;
8940
8961
  /**
8941
8962
  * Set general configuration parameter
@@ -9631,16 +9652,10 @@ export declare abstract class RoomleRenderer<RendererType extends WebGLRenderer
9631
9652
  switchToConfigurator(): void;
9632
9653
  switchToPlanner(_renderMode: PlannerRenderMode): void;
9633
9654
  abstract setShadingType(shadingType: SceneShadingType): void;
9634
- abstract setAutoQuality(autoQuality: boolean): void;
9635
- abstract setQualityLevel(qualityLevel: QualityLevel): void;
9636
- abstract getQualityLevel(): QualityLevel;
9637
- abstract setQualityMap(qualityMap: QualityMap): void;
9638
- abstract setCustomShadingParameters(customShadingParameters?: CustomShadingParameters, customShadingParametersMoc?: CustomShadingParameters): void;
9639
9655
  abstract setCustomOutlineParameters(outlineCustomParameters: OutlineCustomParameters): void;
9640
9656
  abstract loadLutImages(luts: LutImageDefinition[]): void;
9641
9657
  abstract render(scene: Scene, camera: Camera): void;
9642
9658
  abstract showGUI(updateCallback: () => void): void;
9643
- abstract setOnQualityLevelChangeCallback(callback: (qualityLevel: QualityLevel) => void): void;
9644
9659
  abstract clearCache(): void;
9645
9660
  abstract highlightObjects(selectedMeshes: Object3D[]): void;
9646
9661
  abstract setGroundShadow(enabled: boolean, scene: Scene): void;
@@ -9715,8 +9730,12 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
9715
9730
  private readonly renderPasses;
9716
9731
  private readonly guiParameterGroups;
9717
9732
  private lastRenderCamera;
9733
+ private readonly qualityManager;
9734
+ private freezeFrames;
9735
+ private readonly freezeRenderTarget;
9718
9736
  private _domHelper;
9719
9737
  private _webGpuGroundShadowReflection;
9738
+ private _initData;
9720
9739
  constructor(creator: string, renderer: WebGPURenderer, enableSSGI: boolean, outlineColors?: OutlineColors);
9721
9740
  private enableRenderPasses;
9722
9741
  addGroundShadowLightAndFloor(scene: Scene): Promise<void>;
@@ -9724,26 +9743,23 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
9724
9743
  clearCache(): void;
9725
9744
  disableUiInteractionMode(): void;
9726
9745
  enableUiInteractionMode(): void;
9727
- getQualityLevel(): QualityLevel;
9728
9746
  setCameraType(cameraType: Enumify_3<typeof CAMERA_TYPE>): void;
9729
9747
  switchToConfigurator(): void;
9730
9748
  switchToPlanner(renderMode: PlannerRenderMode): void;
9731
9749
  highlightObjects(selectedMeshes: Object3D[]): void;
9732
9750
  loadLutImages(_luts: LutImageDefinition[]): void;
9733
9751
  render(scene: Scene, camera: Camera): void;
9752
+ private renderToFreezeTarget;
9734
9753
  private updateCameraProjectionMatrix;
9735
9754
  private assembleRenderPasses;
9736
- setAutoQuality(_autoQuality: boolean): void;
9737
- setCustomShadingParameters(_customShadingParameters: CustomShadingParameters | undefined, _customShadingParametersMoc: CustomShadingParameters | undefined): void;
9738
9755
  setCustomOutlineParameters(customOutlineParameters: OutlineCustomParameters): void;
9739
9756
  setGroundShadow(enabled: boolean, _scene: Scene): void;
9740
- setOnQualityLevelChangeCallback(_callback: (qualityLevel: QualityLevel) => void): void;
9741
9757
  private enableOutline;
9742
9758
  private getOutlinePassOrUndefined;
9743
9759
  private enableSsgiPass;
9744
9760
  private enableTraaPass;
9745
- setQualityLevel(_qualityLevel: QualityLevel): void;
9746
- setQualityMap(_qualityMap: QualityMap): void;
9761
+ private applyQualityParameters;
9762
+ private getSsgiPassOrUndefined;
9747
9763
  setShadingType(shadingType: SceneShadingType): void;
9748
9764
  showGUI(updateCallback: () => void): void;
9749
9765
  private addDebugGUI;
@@ -10755,6 +10771,30 @@ export declare interface WallSide {
10755
10771
  value: Enumify<typeof WALL_SIDES>;
10756
10772
  }
10757
10773
 
10774
+ export declare interface WebGpuConfig {
10775
+ /**
10776
+ * @description If true, the initial webgpu quality level is autodetected based on
10777
+ * a benchmark of the graphics hardware. If false, the default quality level is used.
10778
+ * @default true
10779
+ */
10780
+ autoDetectQualityLevel?: boolean;
10781
+ /**
10782
+ * @description This can be used to configure the lower bound of webgpu auto quality
10783
+ * meaning the fps bound which, when hit, will set the quality setting lower
10784
+ * To disable: set to 0
10785
+ * @default 24
10786
+ */
10787
+ autoQualityMinFps?: number;
10788
+ /**
10789
+ * @description This can be used to configure the upper bound of webgpu auto quality
10790
+ * meaning the fps bound which, when hit, will set the quality setting higher
10791
+ * This should be sufficiently larger than the minFps to not cause the quality to go up and down all the time
10792
+ * To disable: set to something very high
10793
+ * @default 59
10794
+ */
10795
+ autoQualityMaxFps?: number;
10796
+ }
10797
+
10758
10798
  export declare class ZoomChangeEvent {
10759
10799
  minZoom: boolean;
10760
10800
  maxZoom: boolean;
package/lib/roomle-sdk.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { i as e, t } from "./kernel-C7YDLxq8.mjs";
2
- import { _t as n, mt as r } from "./threejs-utils-C4J_TZ0o.mjs";
3
- import { B as i, F as a, G as o, H as s, I as c, J as l, K as u, M as d, N as f, P as p, S as m, U as h, W as g, a as _, b as v, c as y, ct as b, dt as x, k as S, l as C, n as w, ot as T, pt as E, st as D, ut as O, v as k, x as A, y as j } from "./main-D2BulNeN.mjs";
4
- import { t as M } from "./configurator-BwxEIDv7.mjs";
5
- import { t as N } from "./planner-OgIPgZ1m.mjs";
6
- import { n as P, t as F } from "./glb-viewer-C0Et5SO6.mjs";
7
- import { t as I } from "./api-BXU3pZnX.mjs";
8
- import "./packages-BtLLQZLz.mjs";
2
+ import { _t as n, mt as r } from "./threejs-utils-E4yVZATI.mjs";
3
+ import { B as i, F as a, G as o, H as s, I as c, J as l, K as u, M as d, N as f, P as p, S as m, U as h, W as g, a as _, b as v, c as y, ct as b, dt as x, k as S, l as C, n as w, ot as T, pt as E, st as D, ut as O, v as k, x as A, y as j } from "./main-C2m_IBXL.mjs";
4
+ import { t as M } from "./configurator-BkQ6h239.mjs";
5
+ import { t as N } from "./planner-B9YA9cmz.mjs";
6
+ import { n as P, t as F } from "./glb-viewer-D58flqDh.mjs";
7
+ import { t as I } from "./api-BlFJIGaV.mjs";
8
+ import "./packages-D6zM0aDK.mjs";
9
9
  export { t as CONFIGURATION_TYPE, r as CORE_EDGE_TYPE, n as CORE_OBJECT_CATEGORY, e as CORE_PERMISSION_TO_DELETE, M as Configurator, _ as ConfiguratorUiCallbacks, d as FloorPlanElementViewModel, F as GlbViewer, l as GlobalCallback, i as HI_CONTEXT_ACTION, O as IdbManager, w as Main, m as MeasurementLinePlanElementViewModel, k as PLAN_ELEMENT_CHANGE_TYPES, c as PlanElementViewModel, a as PlanObjectViewModel, N as Planner, T as RapiAccess, D as RapiInvalidIdError, b as RapiOfflineError, I as RoomDesignerApi, S as RoomleConfigurator, P as RoomleGLBViewer, E as RoomleLightSource, y as RoomlePlanner, j as RoomlePlannerUiCallback, C as RoomleSdk, p as StaticPlanObjectViewModel, f as WallPlanElementViewModel, s as createExtObj, u as createExtObjId, x as getCatalogIdFromConfigurationHash, h as isExtObjId, g as isExternalObject, v as isFirefox, A as isSafari, o as removeExtObjIdPrefix };