@roomle/web-sdk 2.94.0 → 2.95.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 (318) hide show
  1. package/.releaserc.json +7 -5
  2. package/lib/TextGeometry-259292ec.nomodule.js +2 -0
  3. package/lib/TextGeometry-259292ec.nomodule.js.map +1 -0
  4. package/lib/TextGeometry-dc304c0e.js +2 -0
  5. package/lib/TextGeometry-dc304c0e.js.map +1 -0
  6. package/lib/{banana-for-scale-1f451414.nomodule.js → banana-for-scale-71781669.nomodule.js} +2 -2
  7. package/lib/{banana-for-scale-1f451414.nomodule.js.map → banana-for-scale-71781669.nomodule.js.map} +1 -1
  8. package/lib/{banana-for-scale-8479c8a1.js → banana-for-scale-bd7ed014.js} +2 -2
  9. package/lib/{banana-for-scale-8479c8a1.js.map → banana-for-scale-bd7ed014.js.map} +1 -1
  10. package/lib/{budgeteer-measure-f6505461.js → budgeteer-measure-7662ae7e.js} +2 -2
  11. package/lib/{budgeteer-measure-f6505461.js.map → budgeteer-measure-7662ae7e.js.map} +1 -1
  12. package/lib/budgeteer-measure.nomodule.js +1 -1
  13. package/lib/camera-behaviour-24973bc6.js +2 -0
  14. package/lib/camera-behaviour-24973bc6.js.map +1 -0
  15. package/lib/camera-behaviour-38b2e4d9.nomodule.js +2 -0
  16. package/lib/camera-behaviour-38b2e4d9.nomodule.js.map +1 -0
  17. package/lib/component-dimensioning-4e0a7151.nomodule.js +2 -0
  18. package/lib/component-dimensioning-4e0a7151.nomodule.js.map +1 -0
  19. package/lib/component-dimensioning-9829423d.js +2 -0
  20. package/lib/component-dimensioning-9829423d.js.map +1 -0
  21. package/lib/{component-raycast-helper-163d42ba.nomodule.js → component-raycast-helper-15d24684.nomodule.js} +2 -2
  22. package/lib/component-raycast-helper-15d24684.nomodule.js.map +1 -0
  23. package/lib/{component-raycast-helper-479486e8.js → component-raycast-helper-4fdfba05.js} +2 -2
  24. package/lib/component-raycast-helper-4fdfba05.js.map +1 -0
  25. package/lib/{configurator-b5e4a5ee.nomodule.js → configurator-0d7d6a64.nomodule.js} +2 -2
  26. package/lib/configurator-0d7d6a64.nomodule.js.map +1 -0
  27. package/lib/{configurator-9333ac17.js → configurator-d59d9acf.js} +2 -2
  28. package/lib/configurator-d59d9acf.js.map +1 -0
  29. package/lib/configurator-main-23183c5c.js +2 -0
  30. package/lib/configurator-main-23183c5c.js.map +1 -0
  31. package/lib/configurator-main.nomodule.js +1 -1
  32. package/lib/{continuous-drawing-helper-6f2f4c78.nomodule.js → continuous-drawing-helper-0f94d7f7.nomodule.js} +2 -2
  33. package/lib/continuous-drawing-helper-0f94d7f7.nomodule.js.map +1 -0
  34. package/lib/{continuous-drawing-helper-f8a966d9.js → continuous-drawing-helper-a1262a15.js} +2 -2
  35. package/lib/continuous-drawing-helper-a1262a15.js.map +1 -0
  36. package/lib/{default-light-setting-6425c714.js → default-light-setting-20f64f6d.js} +2 -2
  37. package/lib/default-light-setting-20f64f6d.js.map +1 -0
  38. package/lib/{default-light-setting-99036b6f.nomodule.js → default-light-setting-2983998d.nomodule.js} +2 -2
  39. package/lib/default-light-setting-2983998d.nomodule.js.map +1 -0
  40. package/lib/definitions/common-core/src/cameracontrol/camera-control.d.ts +1 -0
  41. package/lib/definitions/common-core/src/configurator-kernel-access.d.ts +0 -1
  42. package/lib/definitions/common-core/src/rapi-access.d.ts +5 -1
  43. package/lib/definitions/common-core/src/utils/init-data.d.ts +2 -0
  44. package/lib/definitions/common-core/src/utils/shims.d.ts +15 -1
  45. package/lib/definitions/common-core/src/view-model/plan-element-view-model.d.ts +1 -1
  46. package/lib/definitions/common-core/src/webgl/renderer/scene-renderer.d.ts +2 -1
  47. package/lib/definitions/common-core/src/webgl/roomle-webgl-renderer.d.ts +1 -1
  48. package/lib/definitions/configurator-core/src/roomle-configurator.d.ts +9 -2
  49. package/lib/definitions/configurator-core/src/services/configurator-ui-callback.d.ts +2 -1
  50. package/lib/definitions/configurator-core/src/utils/imos-ix-poc-export-helper.d.ts +43 -0
  51. package/lib/definitions/configurator-core/src/utils/selection-handler.d.ts +4 -1
  52. package/lib/definitions/configurator-core/src/webgl/configurator-scene-event-handler.d.ts +5 -2
  53. package/lib/definitions/configurator-core/src/webgl/configurator-scene-manager.d.ts +3 -2
  54. package/lib/definitions/packages/common-core/src/cameracontrol/camera-control.d.ts +1 -0
  55. package/lib/definitions/packages/common-core/src/configurator-kernel-access.d.ts +0 -1
  56. package/lib/definitions/packages/common-core/src/rapi-access.d.ts +5 -1
  57. package/lib/definitions/packages/common-core/src/utils/init-data.d.ts +2 -0
  58. package/lib/definitions/packages/common-core/src/utils/shims.d.ts +15 -1
  59. package/lib/definitions/packages/common-core/src/view-model/plan-element-view-model.d.ts +1 -1
  60. package/lib/definitions/packages/common-core/src/webgl/renderer/scene-renderer.d.ts +2 -1
  61. package/lib/definitions/packages/common-core/src/webgl/roomle-webgl-renderer.d.ts +1 -1
  62. package/lib/definitions/packages/configurator-core/src/roomle-configurator.d.ts +9 -2
  63. package/lib/definitions/packages/configurator-core/src/services/configurator-ui-callback.d.ts +2 -1
  64. package/lib/definitions/packages/configurator-core/src/utils/imos-ix-poc-export-helper.d.ts +43 -0
  65. package/lib/definitions/packages/configurator-core/src/utils/selection-handler.d.ts +4 -1
  66. package/lib/definitions/packages/configurator-core/src/webgl/configurator-scene-event-handler.d.ts +5 -2
  67. package/lib/definitions/packages/configurator-core/src/webgl/configurator-scene-manager.d.ts +3 -2
  68. package/lib/definitions/packages/planner-core/src/camera-control/camera-control-first-person.d.ts +1 -0
  69. package/lib/definitions/packages/planner-core/src/external-object-api-callbacks.d.ts +26 -12
  70. package/lib/definitions/packages/planner-core/src/external-object-api.d.ts +10 -3
  71. package/lib/definitions/packages/planner-core/src/roomle-planner-ui-callback.d.ts +10 -5
  72. package/lib/definitions/packages/planner-core/src/roomle-planner.d.ts +63 -7
  73. package/lib/definitions/packages/planner-core/src/services/planner-kernel-access.d.ts +11 -11
  74. package/lib/definitions/packages/planner-core/src/utils/planner-scene-manager.d.ts +1 -1
  75. package/lib/definitions/packages/planner-core/src/view-model/plan-view-model.d.ts +8 -0
  76. package/lib/definitions/packages/planner-core/src/view-model/wall-attic-plan-element-view-model.d.ts +9 -0
  77. package/lib/definitions/packages/planner-core/src/view-model/wall-plan-element-view-model.d.ts +4 -0
  78. package/lib/definitions/packages/planner-core/src/webgl/planner-scene-event-handler.d.ts +1 -0
  79. package/lib/definitions/packages/planner-core/src/webgl/planner-scene-manager.d.ts +6 -0
  80. package/lib/definitions/packages/typings/kernel.d.ts +15 -0
  81. package/lib/definitions/packages/typings/planner.d.ts +39 -4
  82. package/lib/definitions/planner-core/src/camera-control/camera-control-first-person.d.ts +1 -0
  83. package/lib/definitions/planner-core/src/external-object-api-callbacks.d.ts +26 -12
  84. package/lib/definitions/planner-core/src/external-object-api.d.ts +10 -3
  85. package/lib/definitions/planner-core/src/roomle-planner-ui-callback.d.ts +10 -5
  86. package/lib/definitions/planner-core/src/roomle-planner.d.ts +63 -7
  87. package/lib/definitions/planner-core/src/services/planner-kernel-access.d.ts +11 -11
  88. package/lib/definitions/planner-core/src/utils/planner-scene-manager.d.ts +1 -1
  89. package/lib/definitions/planner-core/src/view-model/plan-view-model.d.ts +8 -0
  90. package/lib/definitions/planner-core/src/view-model/wall-attic-plan-element-view-model.d.ts +9 -0
  91. package/lib/definitions/planner-core/src/view-model/wall-plan-element-view-model.d.ts +4 -0
  92. package/lib/definitions/planner-core/src/webgl/planner-scene-event-handler.d.ts +1 -0
  93. package/lib/definitions/planner-core/src/webgl/planner-scene-manager.d.ts +6 -0
  94. package/lib/definitions/typings/kernel.d.ts +15 -0
  95. package/lib/definitions/typings/planner.d.ts +39 -4
  96. package/lib/dimensioning-helper-9d046848.nomodule.js +2 -0
  97. package/lib/dimensioning-helper-9d046848.nomodule.js.map +1 -0
  98. package/lib/dimensioning-helper-c98b39cc.js +2 -0
  99. package/lib/{dimensioning-helper-318b729d.js.map → dimensioning-helper-c98b39cc.js.map} +1 -1
  100. package/lib/{glb-viewer-66869df0.js → glb-viewer-212c78d9.js} +2 -2
  101. package/lib/{glb-viewer-66869df0.js.map → glb-viewer-212c78d9.js.map} +1 -1
  102. package/lib/{glb-viewer-2d94a287.nomodule.js → glb-viewer-a684a4c6.nomodule.js} +2 -2
  103. package/lib/{glb-viewer-2d94a287.nomodule.js.map → glb-viewer-a684a4c6.nomodule.js.map} +1 -1
  104. package/lib/{glb-viewer-camera-behaviour-169bee0e.js → glb-viewer-camera-behaviour-45c2ab16.js} +2 -2
  105. package/lib/glb-viewer-camera-behaviour-45c2ab16.js.map +1 -0
  106. package/lib/{glb-viewer-camera-behaviour-0aba3eb3.nomodule.js → glb-viewer-camera-behaviour-9754b7f1.nomodule.js} +2 -2
  107. package/lib/glb-viewer-camera-behaviour-9754b7f1.nomodule.js.map +1 -0
  108. package/lib/glb-viewer-main-ad9f4fc7.js +2 -0
  109. package/lib/glb-viewer-main-ad9f4fc7.js.map +1 -0
  110. package/lib/glb-viewer-main.nomodule.js +1 -1
  111. package/lib/imos-ix-poc-export-helper-6a36afe0.nomodule.js +2 -0
  112. package/lib/imos-ix-poc-export-helper-6a36afe0.nomodule.js.map +1 -0
  113. package/lib/imos-ix-poc-export-helper-9404ff2e.js +2 -0
  114. package/lib/imos-ix-poc-export-helper-9404ff2e.js.map +1 -0
  115. package/lib/legacy/TextGeometry-7a5a6f22.legacy.js +2 -0
  116. package/lib/legacy/TextGeometry-7a5a6f22.legacy.js.map +1 -0
  117. package/lib/legacy/{banana-for-scale-a28854f7.legacy.js → banana-for-scale-063481d1.legacy.js} +2 -2
  118. package/lib/legacy/{banana-for-scale-a28854f7.legacy.js.map → banana-for-scale-063481d1.legacy.js.map} +1 -1
  119. package/lib/legacy/budgeteer-measure.legacy.js +1 -1
  120. package/lib/legacy/camera-behaviour-c9de2cca.legacy.js +2 -0
  121. package/lib/legacy/camera-behaviour-c9de2cca.legacy.js.map +1 -0
  122. package/lib/legacy/component-dimensioning-bdada177.legacy.js +2 -0
  123. package/lib/legacy/component-dimensioning-bdada177.legacy.js.map +1 -0
  124. package/lib/legacy/{component-raycast-helper-17b7f665.legacy.js → component-raycast-helper-9add4bb8.legacy.js} +2 -2
  125. package/lib/legacy/component-raycast-helper-9add4bb8.legacy.js.map +1 -0
  126. package/lib/legacy/{configurator-c69e87db.legacy.js → configurator-a0fc9e2b.legacy.js} +2 -2
  127. package/lib/legacy/configurator-a0fc9e2b.legacy.js.map +1 -0
  128. package/lib/legacy/configurator-main.legacy.js +1 -1
  129. package/lib/legacy/{continuous-drawing-helper-bb050ff2.legacy.js → continuous-drawing-helper-def6a16b.legacy.js} +2 -2
  130. package/lib/legacy/continuous-drawing-helper-def6a16b.legacy.js.map +1 -0
  131. package/lib/legacy/{default-light-setting-086a7648.legacy.js → default-light-setting-0867c2ad.legacy.js} +2 -2
  132. package/lib/legacy/default-light-setting-0867c2ad.legacy.js.map +1 -0
  133. package/lib/legacy/dimensioning-helper-6a8cddd0.legacy.js +2 -0
  134. package/lib/legacy/dimensioning-helper-6a8cddd0.legacy.js.map +1 -0
  135. package/lib/legacy/{glb-viewer-4a69cf11.legacy.js → glb-viewer-110cb6c4.legacy.js} +2 -2
  136. package/lib/legacy/{glb-viewer-4a69cf11.legacy.js.map → glb-viewer-110cb6c4.legacy.js.map} +1 -1
  137. package/lib/legacy/{glb-viewer-camera-behaviour-a0bd3636.legacy.js → glb-viewer-camera-behaviour-f6168432.legacy.js} +2 -2
  138. package/lib/legacy/glb-viewer-camera-behaviour-f6168432.legacy.js.map +1 -0
  139. package/lib/legacy/glb-viewer-main.legacy.js +1 -1
  140. package/lib/legacy/imos-ix-poc-export-helper-fdfedc90.legacy.js +2 -0
  141. package/lib/legacy/imos-ix-poc-export-helper-fdfedc90.legacy.js.map +1 -0
  142. package/lib/legacy/main-thread-to-worker-6115d235.legacy.js +7 -0
  143. package/lib/legacy/main-thread-to-worker-6115d235.legacy.js.map +1 -0
  144. package/lib/legacy/{material-viewer-aec0f3b7.legacy.js → material-viewer-b67b9c39.legacy.js} +2 -2
  145. package/lib/legacy/material-viewer-b67b9c39.legacy.js.map +1 -0
  146. package/lib/legacy/material-viewer-main.legacy.js +1 -1
  147. package/lib/legacy/planner-9f484212.legacy.js +2 -0
  148. package/lib/legacy/planner-9f484212.legacy.js.map +1 -0
  149. package/lib/legacy/planner-main.legacy.js +1 -1
  150. package/lib/legacy/{query-params-helper-aca6a1b1.legacy.js → query-params-helper-28b451be.legacy.js} +2 -2
  151. package/lib/legacy/query-params-helper-28b451be.legacy.js.map +1 -0
  152. package/lib/legacy/roomle-configurator-de101c34.legacy.js +2 -0
  153. package/lib/legacy/roomle-configurator-de101c34.legacy.js.map +1 -0
  154. package/lib/legacy/roomle-dependency-injection-6f2ea0b0.legacy.js +9 -0
  155. package/lib/legacy/roomle-dependency-injection-6f2ea0b0.legacy.js.map +1 -0
  156. package/lib/legacy/roomle-sdk.legacy.js +1 -1
  157. package/lib/legacy/{script-loader-d6b10e8e.legacy.js → script-loader-813426c5.legacy.js} +2 -2
  158. package/lib/legacy/script-loader-813426c5.legacy.js.map +1 -0
  159. package/lib/legacy/static/ConfiguratorKernel-224f3e49bcca1cee.wasm +0 -0
  160. package/lib/legacy/static/{ConfiguratorKernel-2ddc08f9542fc91f.js → ConfiguratorKernel-f5baba2ad8da5981.js} +3 -3
  161. package/lib/legacy/static/{RoomleCore-f2d7b1b87640ef15.js → RoomleCore-df3ed2b0c7211584.js} +50 -50
  162. package/lib/legacy/static/RoomleCore-f35e0972ad5263e7.wasm +0 -0
  163. package/lib/legacy/static/RoomleToolsCore-c263aadc8e58a52f.wasm +0 -0
  164. package/lib/legacy/static/default-external-object-api-configuration-c4294f96099e0d09.json +70 -0
  165. package/lib/legacy/{stats-helper-4d796606.legacy.js → stats-helper-df7e9281.legacy.js} +2 -2
  166. package/lib/legacy/stats-helper-df7e9281.legacy.js.map +1 -0
  167. package/lib/legacy/{tools-core-15dc1d58.legacy.js → tools-core-0de78af1.legacy.js} +2 -2
  168. package/lib/legacy/tools-core-0de78af1.legacy.js.map +1 -0
  169. package/lib/main-thread-to-worker-352ff4b1.js +8 -0
  170. package/lib/main-thread-to-worker-352ff4b1.js.map +1 -0
  171. package/lib/main-thread-to-worker-7f1cb5ea.nomodule.js +8 -0
  172. package/lib/main-thread-to-worker-7f1cb5ea.nomodule.js.map +1 -0
  173. package/lib/{material-viewer-2c8625ff.nomodule.js → material-viewer-17245c14.nomodule.js} +2 -2
  174. package/lib/material-viewer-17245c14.nomodule.js.map +1 -0
  175. package/lib/{material-viewer-c9197111.js → material-viewer-21b41edc.js} +2 -2
  176. package/lib/material-viewer-21b41edc.js.map +1 -0
  177. package/lib/material-viewer-main-7a85fb66.js +2 -0
  178. package/lib/material-viewer-main-7a85fb66.js.map +1 -0
  179. package/lib/material-viewer-main.nomodule.js +1 -1
  180. package/lib/planner-0f75d071.nomodule.js +2 -0
  181. package/lib/planner-0f75d071.nomodule.js.map +1 -0
  182. package/lib/planner-2a7134a5.js +2 -0
  183. package/lib/planner-2a7134a5.js.map +1 -0
  184. package/lib/planner-main-49e474c0.js +2 -0
  185. package/lib/planner-main-49e474c0.js.map +1 -0
  186. package/lib/planner-main.nomodule.js +1 -1
  187. package/lib/{query-params-helper-c9492f35.js → query-params-helper-28405b8d.js} +2 -2
  188. package/lib/query-params-helper-28405b8d.js.map +1 -0
  189. package/lib/{query-params-helper-51a53f8c.nomodule.js → query-params-helper-4f855064.nomodule.js} +2 -2
  190. package/lib/query-params-helper-4f855064.nomodule.js.map +1 -0
  191. package/lib/roomle-configurator-0efacaed.nomodule.js +2 -0
  192. package/lib/roomle-configurator-0efacaed.nomodule.js.map +1 -0
  193. package/lib/roomle-configurator-c663d225.js +2 -0
  194. package/lib/roomle-configurator-c663d225.js.map +1 -0
  195. package/lib/roomle-dependency-injection-2c9062d2.js +9 -0
  196. package/lib/roomle-dependency-injection-2c9062d2.js.map +1 -0
  197. package/lib/roomle-dependency-injection-7065f121.nomodule.js +9 -0
  198. package/lib/roomle-dependency-injection-7065f121.nomodule.js.map +1 -0
  199. package/lib/{roomle-sdk-6ccf3ded.js → roomle-sdk-05836f4b.js} +2 -2
  200. package/lib/roomle-sdk-05836f4b.js.map +1 -0
  201. package/lib/roomle-sdk.nomodule.js +1 -1
  202. package/lib/{script-loader-8964e022.js → script-loader-7e3054f7.js} +2 -2
  203. package/lib/script-loader-7e3054f7.js.map +1 -0
  204. package/lib/{script-loader-b4e814f2.nomodule.js → script-loader-d022ac10.nomodule.js} +2 -2
  205. package/lib/script-loader-d022ac10.nomodule.js.map +1 -0
  206. package/lib/static/ConfiguratorKernel-224f3e49bcca1cee.wasm +0 -0
  207. package/lib/static/{ConfiguratorKernel-2ddc08f9542fc91f.js → ConfiguratorKernel-f5baba2ad8da5981.js} +1 -1
  208. package/lib/static/{ConfiguratorKernel-2ddc08f9542fc91f.js.map → ConfiguratorKernel-f5baba2ad8da5981.js.map} +1 -1
  209. package/lib/static/RoomleCore-df3ed2b0c7211584.js +1 -0
  210. package/lib/static/RoomleCore-df3ed2b0c7211584.js.map +1 -0
  211. package/lib/static/RoomleCore-f35e0972ad5263e7.wasm +0 -0
  212. package/lib/static/RoomleToolsCore-c263aadc8e58a52f.wasm +0 -0
  213. package/lib/static/default-external-object-api-configuration-c4294f96099e0d09.json +70 -0
  214. package/lib/{stats-helper-510ddd65.js → stats-helper-35f4c9ae.js} +2 -2
  215. package/lib/stats-helper-35f4c9ae.js.map +1 -0
  216. package/lib/{stats-helper-86728f77.nomodule.js → stats-helper-76e1b50a.nomodule.js} +2 -2
  217. package/lib/stats-helper-76e1b50a.nomodule.js.map +1 -0
  218. package/lib/{tools-core-0f3ae134.nomodule.js → tools-core-027637cd.nomodule.js} +2 -2
  219. package/lib/tools-core-027637cd.nomodule.js.map +1 -0
  220. package/lib/{tools-core-bae4492f.js → tools-core-3bdc826b.js} +2 -2
  221. package/lib/tools-core-3bdc826b.js.map +1 -0
  222. package/package.json +3 -3
  223. package/lib/TextGeometry-ab643210.js +0 -2
  224. package/lib/TextGeometry-ab643210.js.map +0 -1
  225. package/lib/TextGeometry-cd81779b.nomodule.js +0 -2
  226. package/lib/TextGeometry-cd81779b.nomodule.js.map +0 -1
  227. package/lib/camera-behaviour-27b6ce79.nomodule.js +0 -2
  228. package/lib/camera-behaviour-27b6ce79.nomodule.js.map +0 -1
  229. package/lib/camera-behaviour-b9a52002.js +0 -2
  230. package/lib/camera-behaviour-b9a52002.js.map +0 -1
  231. package/lib/component-dimensioning-9cc86304.nomodule.js +0 -2
  232. package/lib/component-dimensioning-9cc86304.nomodule.js.map +0 -1
  233. package/lib/component-dimensioning-aa4cd8f4.js +0 -2
  234. package/lib/component-dimensioning-aa4cd8f4.js.map +0 -1
  235. package/lib/component-raycast-helper-163d42ba.nomodule.js.map +0 -1
  236. package/lib/component-raycast-helper-479486e8.js.map +0 -1
  237. package/lib/configurator-9333ac17.js.map +0 -1
  238. package/lib/configurator-b5e4a5ee.nomodule.js.map +0 -1
  239. package/lib/configurator-main-d0382ff8.js +0 -2
  240. package/lib/configurator-main-d0382ff8.js.map +0 -1
  241. package/lib/continuous-drawing-helper-6f2f4c78.nomodule.js.map +0 -1
  242. package/lib/continuous-drawing-helper-f8a966d9.js.map +0 -1
  243. package/lib/default-light-setting-6425c714.js.map +0 -1
  244. package/lib/default-light-setting-99036b6f.nomodule.js.map +0 -1
  245. package/lib/dimensioning-helper-318b729d.js +0 -2
  246. package/lib/dimensioning-helper-49404687.nomodule.js +0 -2
  247. package/lib/dimensioning-helper-49404687.nomodule.js.map +0 -1
  248. package/lib/glb-viewer-camera-behaviour-0aba3eb3.nomodule.js.map +0 -1
  249. package/lib/glb-viewer-camera-behaviour-169bee0e.js.map +0 -1
  250. package/lib/glb-viewer-main-1b2e5764.js +0 -2
  251. package/lib/glb-viewer-main-1b2e5764.js.map +0 -1
  252. package/lib/legacy/TextGeometry-f4299b59.legacy.js +0 -2
  253. package/lib/legacy/TextGeometry-f4299b59.legacy.js.map +0 -1
  254. package/lib/legacy/camera-behaviour-e6ce4b6d.legacy.js +0 -2
  255. package/lib/legacy/camera-behaviour-e6ce4b6d.legacy.js.map +0 -1
  256. package/lib/legacy/component-dimensioning-a3182494.legacy.js +0 -2
  257. package/lib/legacy/component-dimensioning-a3182494.legacy.js.map +0 -1
  258. package/lib/legacy/component-raycast-helper-17b7f665.legacy.js.map +0 -1
  259. package/lib/legacy/configurator-c69e87db.legacy.js.map +0 -1
  260. package/lib/legacy/continuous-drawing-helper-bb050ff2.legacy.js.map +0 -1
  261. package/lib/legacy/default-light-setting-086a7648.legacy.js.map +0 -1
  262. package/lib/legacy/dimensioning-helper-fb07be35.legacy.js +0 -2
  263. package/lib/legacy/dimensioning-helper-fb07be35.legacy.js.map +0 -1
  264. package/lib/legacy/glb-viewer-camera-behaviour-a0bd3636.legacy.js.map +0 -1
  265. package/lib/legacy/main-thread-to-worker-7c2b8bc9.legacy.js +0 -7
  266. package/lib/legacy/main-thread-to-worker-7c2b8bc9.legacy.js.map +0 -1
  267. package/lib/legacy/material-viewer-aec0f3b7.legacy.js.map +0 -1
  268. package/lib/legacy/planner-2bc74cf2.legacy.js +0 -2
  269. package/lib/legacy/planner-2bc74cf2.legacy.js.map +0 -1
  270. package/lib/legacy/query-params-helper-aca6a1b1.legacy.js.map +0 -1
  271. package/lib/legacy/roomle-configurator-d5ea14c2.legacy.js +0 -2
  272. package/lib/legacy/roomle-configurator-d5ea14c2.legacy.js.map +0 -1
  273. package/lib/legacy/roomle-dependency-injection-500dbf0d.legacy.js +0 -9
  274. package/lib/legacy/roomle-dependency-injection-500dbf0d.legacy.js.map +0 -1
  275. package/lib/legacy/script-loader-d6b10e8e.legacy.js.map +0 -1
  276. package/lib/legacy/static/ConfiguratorKernel-793e445c9d64ee4b.wasm +0 -0
  277. package/lib/legacy/static/RoomleCore-7d39e007d6f9b788.wasm +0 -0
  278. package/lib/legacy/static/RoomleToolsCore-9c348432c6d79392.wasm +0 -0
  279. package/lib/legacy/static/default-external-object-api-configuration-1e7103889f664a3f.json +0 -16
  280. package/lib/legacy/stats-helper-4d796606.legacy.js.map +0 -1
  281. package/lib/legacy/tools-core-15dc1d58.legacy.js.map +0 -1
  282. package/lib/main-thread-to-worker-2529fa31.nomodule.js +0 -2
  283. package/lib/main-thread-to-worker-2529fa31.nomodule.js.map +0 -1
  284. package/lib/main-thread-to-worker-ee3036b3.js +0 -2
  285. package/lib/main-thread-to-worker-ee3036b3.js.map +0 -1
  286. package/lib/material-viewer-2c8625ff.nomodule.js.map +0 -1
  287. package/lib/material-viewer-c9197111.js.map +0 -1
  288. package/lib/material-viewer-main-8787208d.js +0 -2
  289. package/lib/material-viewer-main-8787208d.js.map +0 -1
  290. package/lib/planner-5fb6f448.js +0 -2
  291. package/lib/planner-5fb6f448.js.map +0 -1
  292. package/lib/planner-65127889.nomodule.js +0 -2
  293. package/lib/planner-65127889.nomodule.js.map +0 -1
  294. package/lib/planner-main-d8ae156a.js +0 -2
  295. package/lib/planner-main-d8ae156a.js.map +0 -1
  296. package/lib/query-params-helper-51a53f8c.nomodule.js.map +0 -1
  297. package/lib/query-params-helper-c9492f35.js.map +0 -1
  298. package/lib/roomle-configurator-9fe534c7.js +0 -2
  299. package/lib/roomle-configurator-9fe534c7.js.map +0 -1
  300. package/lib/roomle-configurator-ebb94f0f.nomodule.js +0 -2
  301. package/lib/roomle-configurator-ebb94f0f.nomodule.js.map +0 -1
  302. package/lib/roomle-dependency-injection-4e221caa.js +0 -9
  303. package/lib/roomle-dependency-injection-4e221caa.js.map +0 -1
  304. package/lib/roomle-dependency-injection-5fd128b0.nomodule.js +0 -9
  305. package/lib/roomle-dependency-injection-5fd128b0.nomodule.js.map +0 -1
  306. package/lib/roomle-sdk-6ccf3ded.js.map +0 -1
  307. package/lib/script-loader-8964e022.js.map +0 -1
  308. package/lib/script-loader-b4e814f2.nomodule.js.map +0 -1
  309. package/lib/static/ConfiguratorKernel-793e445c9d64ee4b.wasm +0 -0
  310. package/lib/static/RoomleCore-7d39e007d6f9b788.wasm +0 -0
  311. package/lib/static/RoomleCore-f2d7b1b87640ef15.js +0 -1
  312. package/lib/static/RoomleCore-f2d7b1b87640ef15.js.map +0 -1
  313. package/lib/static/RoomleToolsCore-9c348432c6d79392.wasm +0 -0
  314. package/lib/static/default-external-object-api-configuration-1e7103889f664a3f.json +0 -16
  315. package/lib/stats-helper-510ddd65.js.map +0 -1
  316. package/lib/stats-helper-86728f77.nomodule.js.map +0 -1
  317. package/lib/tools-core-0f3ae134.nomodule.js.map +0 -1
  318. package/lib/tools-core-bae4492f.js.map +0 -1
@@ -3,5 +3,5 @@ import type { PlanObjectPosition } from '../../../typings/planner';
3
3
  import type { Camera } from 'three';
4
4
  import type PlanElementViewModel from '../../../common-core/src/view-model/plan-element-view-model';
5
5
  export declare const createTransferableObjectPosition: (planViewModel: PlanObjectViewModel | PlanElementViewModel, camera: Camera, clientWidth: number, clientHeight: number) => PlanObjectPosition;
6
- export type CallbackObjectType = 'static' | 'configuration' | 'wall' | 'measure' | 'door' | 'floor' | 'window' | 'unknown';
6
+ export type CallbackObjectType = 'static' | 'configuration' | 'wall' | 'measure' | 'attic' | 'door' | 'floor' | 'window' | 'unknown' | 'external-configuration';
7
7
  export declare const getCallbackObjectType: (planElementViewModel: PlanElementViewModel) => CallbackObjectType;
@@ -17,10 +17,12 @@ import type { Mesh } from 'three';
17
17
  import { Box3, Group } from 'three';
18
18
  import ConstructionPlanObjectViewModel from './construction-plan-object-view-model';
19
19
  import MeasurementLinePlanElementViewModel from './measurement-line-plan-element-view-model';
20
+ import WallAtticPlanElementViewModel from './wall-attic-plan-element-view-model';
20
21
  export declare const GROUP_CONSTRUCTION = "Construction";
21
22
  export declare const GROUP_CEILING = "Ceiling";
22
23
  export declare const GROUP_FLOOR = "Floor";
23
24
  export declare const GROUP_MEASUREMENT_LINE = "Measurement Line";
25
+ export declare const GROUP_WALL_ATTICS = "Wall Attics";
24
26
  export default class PlanViewModel extends ConfiguratorViewModel implements PlannerKernelCallbackI {
25
27
  private _plannerMeshGenerator;
26
28
  private _roomlePlannerUiCallback;
@@ -31,12 +33,14 @@ export default class PlanViewModel extends ConfiguratorViewModel implements Plan
31
33
  private _constructionPlanObjectViewModels;
32
34
  private _wallPlanObjectViewModels;
33
35
  private _measurementLinePlanObjectViewModels;
36
+ private _wallAtticsPlanObjectViewModels;
34
37
  private _floorPlanObjectViewModels;
35
38
  private _nodePlanObjectViewModels;
36
39
  private _constructionGroup;
37
40
  private _ceilingGroup;
38
41
  private _floorGroup;
39
42
  private _measurementLineGroup;
43
+ private _wallAtticsGroup;
40
44
  private _plannerSceneEventHandler;
41
45
  private _cameraType;
42
46
  private _nodeZoom;
@@ -54,10 +58,12 @@ export default class PlanViewModel extends ConfiguratorViewModel implements Plan
54
58
  addPlanElementViewModel(planElementViewModel: PlanElementViewModel): void;
55
59
  private _handleConfiguratorPlanObjectViewModel;
56
60
  private _linkPlanObjectViewModelAndComponent;
61
+ private _detachPlanObjectViewModelFromComponent;
57
62
  private _handleConfiguratorConstructionPlanObjectViewModel;
58
63
  private _handleConstructionPlanObjectViewModel;
59
64
  private _handleStaticPlanObjectViewModel;
60
65
  private _handleMeasurementLinePlanElementViewModel;
66
+ private _handleWallAtticPlanElementViewModel;
61
67
  private _handleWallPlanElementViewModel;
62
68
  private _handleFloorPlanElementViewModel;
63
69
  private _handleCeilingPlanElementViewModel;
@@ -77,6 +83,7 @@ export default class PlanViewModel extends ConfiguratorViewModel implements Plan
77
83
  getCeilingGroup(): Group;
78
84
  getFloorGroup(): Group;
79
85
  getMeasurementLineGroup(): Group;
86
+ getWallAtticsGroup(): Group;
80
87
  getBoundingBox(): Box3;
81
88
  getBoundingBoxOfGeometry(): Box3;
82
89
  /**
@@ -101,6 +108,7 @@ export default class PlanViewModel extends ConfiguratorViewModel implements Plan
101
108
  getNodePlanObjectViewModels(): NodePlanElementViewModel[];
102
109
  getFloorPlanObjectViewModels(): FloorPlanElementViewModel[];
103
110
  getMeasurementLineObjectViewModels(): MeasurementLinePlanElementViewModel[];
111
+ getWallAtticsObjectViewModels(): WallAtticPlanElementViewModel[];
104
112
  protected _generateMesh(runtimeComponentId: number, geometryId: string, material: any, vertices: Float32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array, type?: KernelEnum, newGeometryInstance?: boolean, materialAttributes?: Record<string, string>): Mesh;
105
113
  protected _setMaterial(mesh: Mesh, material: any, _type?: KernelEnum, materialAttributes?: Record<string, string>): void;
106
114
  Editor3dComponentCreated(id: number, position: KernelVector3, eulerAngles: KernelVector3, isRootComponent: boolean, parentObjectRuntimeId: number): void;
@@ -0,0 +1,9 @@
1
+ import type { Mesh } from 'three';
2
+ import type { KernelAttic, PlanObject } from '../../../typings/planner';
3
+ import PlanElementViewModel from '../../../common-core/src/view-model/plan-element-view-model';
4
+ export default class WallAtticPlanElementViewModel extends PlanElementViewModel {
5
+ constructor(planObject: PlanObject);
6
+ addMesh(mesh: Mesh): void;
7
+ getKernelAttic(): KernelAttic;
8
+ update(): void;
9
+ }
@@ -10,12 +10,16 @@ export declare const wallDimensionToTransferable: (wallDimension: WallDimension)
10
10
  export declare const getTopViewMaterial: () => MeshPhysicalMaterial;
11
11
  export default class WallPlanElementViewModel extends PlanElementViewModel {
12
12
  private _lineForInvisibleWall?;
13
+ private _hasAttachedAttic;
14
+ private _visible;
13
15
  constructor(planObject: PlanObject);
14
16
  get isSelected(): boolean;
17
+ private _checkHasAttachedAttic;
15
18
  getWallDimension(zoomFactor: number, clientWidth: number, clientHeight: number): WallDimension;
16
19
  addMesh(mesh: Mesh): void;
17
20
  show(): void;
18
21
  hide(): void;
22
+ setContainerVisibility(isVisible: boolean): void;
19
23
  private _enableTopView;
20
24
  private _setTopMaterial;
21
25
  private _disableTopView;
@@ -92,6 +92,7 @@ export default class PlannerSceneEventHandler extends SceneEventHandler<SceneEve
92
92
  addConstructionPlanObjectHandlers(planObjectViewModel: PlanObjectViewModel, object?: RoomleEventedObject3D): void;
93
93
  addPlanObjectHandlers(planObjectViewModel: PlanObjectViewModel, object?: RoomleEventedObject3D): void;
94
94
  addWallHandlers(planElementViewModel: PlanElementViewModel): void;
95
+ addWallAtticHandlers(planElementViewModel: PlanElementViewModel): void;
95
96
  addMeasurementLineHandlers(planElementViewModel: MeasurementLinePlanElementViewModel): void;
96
97
  addFloorHandlers(planElementViewModel: PlanElementViewModel): void;
97
98
  addNodeHandlers(planElementViewModel: PlanElementViewModel): void;
@@ -1,6 +1,7 @@
1
1
  import type { Base64Image, CanvasOffset } from '../../../common-core/src/common-interfaces';
2
2
  import type { PlannerKernelCallbackI } from '../services/planner-kernel-access';
3
3
  import type { CancelSelectionReasons, Plan, PlanElement } from '../../../typings/planner';
4
+ import type { KernelPlanObjectComponent } from '../../../typings/kernel';
4
5
  import { type KernelEnum, type KernelPlanObject, type KernelVector3, type RuntimeId } from '../../../typings/kernel';
5
6
  import PlannerSceneEventHandler from './planner-scene-event-handler';
6
7
  import type { BatchPaintMaterial, RoomlePlannerCallback, SceneEvents } from '../roomle-planner';
@@ -56,6 +57,7 @@ export default class PlannerSceneManager extends ConfiguratorSceneManager implem
56
57
  private _debugSpheres;
57
58
  constructor(creator: string, offset: CanvasOffset, plannerCallback: RoomlePlannerCallback, mode: Enumify<typeof CAMERA_TYPE>);
58
59
  get configuratorContext(): import("../../../common-core/src/webgl/configurator-context").default;
60
+ get hasSingleRoom(): boolean;
59
61
  private _activateElement;
60
62
  planCleared(): void;
61
63
  planHistoryStateChanged(): void;
@@ -205,5 +207,9 @@ export default class PlannerSceneManager extends ConfiguratorSceneManager implem
205
207
  protected setEventHandlerObject(object: Object3D): void;
206
208
  protected _readyForRender(): void;
207
209
  protected notifyPlannerOnComponentSelectionCancel(isExternalObject: boolean, reason: CancelSelectionReasons): void;
210
+ private _planObjectSelectionChanged;
211
+ highlightExternalObject(planObjectComponent: KernelPlanObjectComponent): void;
212
+ private _selectExternalObjectModule;
213
+ getObjectComponent(id: number): KernelPlanObjectComponent;
208
214
  }
209
215
  export {};
@@ -90,6 +90,20 @@ export interface KernelPartListPrice {
90
90
  totalSum: number;
91
91
  partMap: Map<PriceId, KernelPart>;
92
92
  }
93
+ export declare const PARAMETER_VIEW_TYPE: {
94
+ readonly EMPTY: 0;
95
+ readonly TOGGLE: 1;
96
+ readonly IMAGELIST: 2;
97
+ readonly IMAGEBIG: 3;
98
+ readonly IMAGESMALL: 4;
99
+ readonly INPUTFIELD: 5;
100
+ readonly DROPDOWN: 6;
101
+ readonly SLIDER: 7;
102
+ readonly BUTTON: 8;
103
+ };
104
+ export interface KernelViewType {
105
+ value: Enumify<typeof PARAMETER_VIEW_TYPE>;
106
+ }
93
107
  export interface KernelParameter {
94
108
  enabled: boolean;
95
109
  key: string;
@@ -103,6 +117,7 @@ export interface KernelParameter {
103
117
  validValues: KernelValue[];
104
118
  group: string;
105
119
  visibleInPlanner?: boolean;
120
+ viewType: KernelViewType;
106
121
  }
107
122
  export interface KernelParameterGroup {
108
123
  key: string;
@@ -26,7 +26,7 @@ export interface Plan extends KernelObject {
26
26
  getTotalFloorArea(): number;
27
27
  getPlanXML(includeRuntimeId: boolean, xmlVersion: number /** current version is 2 */): string;
28
28
  createPlanXmlWithSingleObject(object: PlanObject, includeRuntimeId: boolean, version: number): string;
29
- createPlanXmlWithSingleObjectFromId(objectId: string, includeRuntimeId: boolean, version: number): string;
29
+ createPlanXmlWithObjects(objectId: string | string[], includeRuntimeId: boolean, version: number): string;
30
30
  createObjWithPlanContours(levels: number[]): string;
31
31
  getWallCount(): number;
32
32
  getId(): number;
@@ -111,6 +111,7 @@ export interface WallPlanObject extends PlanObject {
111
111
  getLength(preferredSide: WallSide): number;
112
112
  getFrom(): NodePlanObject;
113
113
  getTo(): NodePlanObject;
114
+ getAttachedAttics(): KernelAtticArray;
114
115
  readonly thickness: number;
115
116
  readonly height: number;
116
117
  }
@@ -148,6 +149,12 @@ export declare const CORE_CHILD_ENTITY_MODE: {
148
149
  export interface ChildEntityMode {
149
150
  value: Enumify<typeof CORE_CHILD_ENTITY_MODE>;
150
151
  }
152
+ export interface ExternalObjectLoadConfiguration {
153
+ applyGlobalChildMode: boolean;
154
+ correctArrangement: boolean;
155
+ findFreeSpaceInPlan: boolean;
156
+ isVisible: boolean;
157
+ }
151
158
  export interface PlanInteractionHandler {
152
159
  init(reference: PlanInteractionHandler, zoomFactor: number, viewSnapDist: number, wallSnapMode: any, objectSnapMode: any, shouldSnap: boolean, drawingType: any): PlanInteractionHandler;
153
160
  getConfiguratorKernel(): ConfiguratorKernelClass;
@@ -164,7 +171,7 @@ export interface PlanInteractionHandler {
164
171
  setObjectRotation(planObject: KernelObject, angleInRad: number): void;
165
172
  addPlanObjects(list: KernelObjectPtrList, findFreeSpaceInPlan: boolean): PlanObject[];
166
173
  addPlanObjectFromItem(object: KernelObject, position: KernelVector3, type: number, findFreeSpaceInPlan: boolean): PlanObject;
167
- addOrUpdateExternalPlanObjects(serialzedConfiguration: string, position: KernelVector3, rotationInRad: number, findFreeSpaceInPlan: boolean, applyGlobalChildMode: boolean, isVisible: boolean, verifyArrangement: boolean): PlanObject[];
174
+ addOrUpdateExternalPlanObjects(serialzedConfiguration: string | string[], position: KernelVector3, rotationInRad: number, updateConfiguration: ExternalObjectLoadConfiguration, mergedGroupIds: string | string[]): PlanObject[];
168
175
  catalogItemLoaded(catalogItem: KernelCatalogItem): void;
169
176
  removeElement(planObject: KernelObject): void;
170
177
  removeObjectWithId(objectId: string): void;
@@ -201,7 +208,7 @@ export interface PlanInteractionHandler {
201
208
  setWallHeight(wall: KernelWall, height: number): void;
202
209
  setLengthOfWall(wall: KernelWall, length: number, preferredSide: WallSide, direction: EMSConstant, moveOrthogonalWalls: boolean): void;
203
210
  setWallThickness(wall: KernelWall, thickness: number): void;
204
- addAttic(wall: KernelWall, side: WallSide, kneeHeight: number, width: number): KernelAttic;
211
+ addAttic(wall: KernelWall, kneeHeight: number, width: number, side: WallSide | null | undefined): KernelAttic;
205
212
  setAtticSide(attic: KernelAttic, side: WallSide): void;
206
213
  setAtticKneeHeight(attic: KernelAttic, kneeHeight: number): void;
207
214
  setAtticWidth(attic: KernelAttic, width: number): void;
@@ -264,6 +271,26 @@ export interface PlanOverview {
264
271
  outsideWalls: PlanElement[];
265
272
  rooms: PlanElement[];
266
273
  }
274
+ export interface KernelObjectConfiguration {
275
+ runtimeId: number;
276
+ serializedDefinition: string;
277
+ uniqueId: string;
278
+ }
279
+ declare class KernelObjectConfigurationArray extends EmsArray<KernelObjectConfiguration> {
280
+ }
281
+ export interface LightSourceConfiguration {
282
+ lightSourceAreaInSquareMeters: number;
283
+ minimumRoomSizeInSquareMeters: number;
284
+ maximumNumberOfLightSources: number;
285
+ }
286
+ export interface RoomLightSourceDistribution {
287
+ ceilingId: number;
288
+ floorId: number;
289
+ positionsInPlan: PointArray;
290
+ positionsRelativeToFloor: PointArray;
291
+ }
292
+ declare class RoomLightSourceDistributionArray extends EmsArray<RoomLightSourceDistribution> {
293
+ }
267
294
  export interface PlanModelViewHelper {
268
295
  getPlanOverview(planObject: KernelObject): PlanOverview;
269
296
  getPlanObject(plan: Plan, aRuntimeId: number): KernelPlanObject;
@@ -272,6 +299,8 @@ export interface PlanModelViewHelper {
272
299
  getExternalObjectComponent(plan: Plan, groupId: string, moduleId: string): KernelPlanObjectComponent;
273
300
  getExternalComponentModuleIdsForSelection(plan: Plan, groupOrRootModuleId: string, subModuleId: string): ExternalModuleInformation;
274
301
  requestMesh3d(element: PlanElement): void;
302
+ getExternalObjectGroups(plan: Plan): KernelObjectConfigurationArray;
303
+ calculateLightSourceDistribution(plan: Plan, lightSourceConfiguration: LightSourceConfiguration): RoomLightSourceDistributionArray;
275
304
  }
276
305
  export interface PlanNode extends KernelObject {
277
306
  getMaxWallHeight(): number;
@@ -295,6 +324,9 @@ export declare const enum KernelWallType {
295
324
  InnerWall = 3
296
325
  }
297
326
  export interface KernelWall extends KernelObject {
327
+ getFrom(): Node;
328
+ getTo(): Node;
329
+ getAttachedAttics(): KernelAtticArray;
298
330
  readonly thickness: number;
299
331
  readonly meshThickness: number;
300
332
  readonly isVectorWall: boolean;
@@ -306,9 +338,12 @@ export interface KernelWall extends KernelObject {
306
338
  readonly rightNormal: KernelVector3;
307
339
  getAngle: () => number;
308
340
  }
341
+ declare class KernelAtticArray extends EmsArray<KernelAttic> {
342
+ }
309
343
  export interface KernelAttic extends KernelObject {
310
344
  getFrom(): Node;
311
345
  getTo(): Node;
346
+ getAssociatedWall(): KernelWall;
312
347
  get2dPolygon(): PointArray;
313
348
  getRidgePoints(): PointArray;
314
349
  getPointsWithHeight(height: number): PointArray;
@@ -327,5 +362,5 @@ export interface PlanObjectPosition {
327
362
  runtimeId: RuntimeId;
328
363
  position2d: Position2;
329
364
  }
330
- export type CancelSelectionReasons = 'swap_object' | 'click_outside' | 'select_other' | 'double_click_wall' | 'unknown' | 'dock_component' | 'delete_object' | 'selection_mode_changed';
365
+ export type CancelSelectionReasons = 'swap_object' | 'dragIn' | 'click_outside' | 'select_other' | 'double_click_wall' | 'unknown' | 'dock_component' | 'delete_object' | 'selection_mode_changed' | 'dock_preview' | 'reset_scene' | 'delete_component' | 'isolation_mode_cancelled' | 'isolation_mode_started' | 'duplicate' | 'undo' | 'redo';
331
366
  export {};
@@ -0,0 +1,2 @@
1
+ System.register(["./roomle-dependency-injection-7065f121.nomodule.js","./main-thread-to-worker-7f1cb5ea.nomodule.js","./TextGeometry-259292ec.nomodule.js"],(function(t){var i,e,s,n,h,o,a,_,d,r,p,m,l,c,x,u,g,w,b,y,T,L,z;return{setters:[function(t){i=t.aZ,e=t.J,s=t._,n=t.i,h=t.j,o=t.a_,a=t.ad},function(t){_=t.O,d=t.a,r=t.h,p=t.w,m=t.bo,l=t.B,c=t.z,x=t.Q,u=t.b9,g=t.K,w=t.u,b=t.G,y=t.b,T=t.bL,L=t.ad},function(t){z=t.T}],execute:function(){const G="component_dimensioning_plane_material",M="component_dimensioning_text_material";class j extends _{constructor(t){super(),this._label="",this._parameters={font:null,size:.1,depth:.001,curveSegments:2,bevelEnabled:!0,bevelThickness:.001,bevelSize:.001},this.topDown=!1,this._parameters.font=t,this._position=new d,this._initMaterials(),this._init(),this._update()}_initMaterials(){this._cacheHolder.materialCache.has(G)?this._planeMaterial=this._cacheHolder.materialCache.get(G):(this._planeMaterial=new r({color:16777215,side:p,opacity:.8,transparent:!0}),this._cacheHolder.materialCache.set(G,this._planeMaterial)),this._cacheHolder.materialCache.has(M)?this._textMaterial=this._cacheHolder.materialCache.get(M):(this._textMaterial=new m({color:3618615}),this._cacheHolder.materialCache.set(M,this._textMaterial))}_init(){let t=new l;this._text=new c(t,this._textMaterial),this._text.userData.ignoreComponentRaycast=!0,this._text.name="text with background text "+this._label,this._plane=new c(t,this._planeMaterial),this._plane.userData.ignoreComponentRaycast=!0,this._plane.name="text with background plane "+this._label,this._textGeometry=new z(this._label,this._parameters),this._textGeometry.computeBoundingBox(),this._text.geometry=this._textGeometry,this.add(this._text),this.add(this._plane)}update(t,i,e){this._position.copy(t),this._cameraPosition=e,this._label=i;const s=this.getWorldPosition(new d),n=this._cameraPosition.distanceTo(s),h=Math.max(.01,n/150),o=Math.max(5e-4,n/5e3);this._parameters.bevelThickness=o,this._parameters.bevelSize=o,this._parameters.size=h,this._textGeometry=new z(this._label,this._parameters),this._textGeometry.computeBoundingBox(),this._text.geometry=this._textGeometry,this._update()}_update(){if(this.topDown){let t=new x;t.setFromAxisAngle(new d(-1,0,0),Math.PI/2),this._updateText(this._textGeometry,t,new d)}else if(this._updateText(this._textGeometry,new x,new d),this._cameraPosition){const t=this.getWorldPosition(new d),e=i(Math.atan2(this._cameraPosition.x-t.x,this._cameraPosition.z-t.z)-this.parent.rotation.y);this._text.rotation.y=e,this._plane.rotation.y=e}}_updateText(t,i,e){let s=new d;s.copy(this._position),e.x*=this._getXSign(),s.add(e);let n=t.boundingBox.getSize(new d);t.center(),this._text.position.copy(s),i&&this._text.quaternion.copy(i);let h=new u(n.x+.02,n.y+.02,32);h.center(),this._plane.geometry=h,this._plane.position.copy(s),i&&this._plane.quaternion.copy(i)}_getXSign(){return!this._cameraPosition||this._cameraPosition.x>=0?1:-1}dispose(){e(this)}}s([n],j.prototype,"_cacheHolder",void 0);class D{constructor(t){this._objectRotation=0,this._cameraPosition=new d,this._topDimensions=!1,this._initialized=new h,this._enabled=!1,this._dimensionsVisible=!1,this._dimensionLineGroup=new g,this._dimensionTextGroup=new _,this._creator_=t,this._lineMaterial=new w({color:3618615,linewidth:2});let i=new l;this._widthLine=new b(i,this._lineMaterial),this._widthLine.userData.ignoreComponentRaycast=!0,this._widthLine.name="dimension width line",this._dimensionLineGroup.add(this._widthLine),this._heightLine=new b(i,this._lineMaterial),this._heightLine.userData.ignoreComponentRaycast=!0,this._heightLine.name="dimension height line",this._dimensionLineGroup.add(this._heightLine),this._depthLine=new b(i,this._lineMaterial),this._depthLine.userData.ignoreComponentRaycast=!0,this._depthLine.name="dimension depth line",this._dimensionLineGroup.add(this._depthLine),this._planeMaterial=new r({color:16777215,side:p,opacity:.8,transparent:!0}),o.loadFont("static/lato_regular_sub-9dd2262895ccc1a9.json").then(t=>{this._font=t,this._loaded()})}_loaded(){this.update(!1),this.addToObject(this._object),this.addToUiScene(this._uiScene),this._initialized.resolve()}_performUpdate(t){this._enabled&&(this._dimensions||t)&&this._font&&(this._updateHeight(),this._updateWidth(),this._updateDepth())}_updateWidth(){let t=new l,i=this._getWidthEdge(),e=[i.start.x,i.start.y,i.start.z,i.end.x,i.end.y,i.end.z];t.setAttribute("position",new y(new Float32Array(e),3)),this._widthLine.geometry.dispose(),this._widthLine.geometry=t;let s=i.getCenter(new d);this._widthText||(this._widthText=new j(this._font),this._dimensionTextGroup.add(this._widthText)),this._widthText.topDown=this._topDimensions;const n=this._unitFormatter.formatMMValueToUnitString(1e3*this._dimensions.x);this._widthText.update(s,n,this._cameraPosition)}_updateHeight(){let t=new l,i=this._getHeightEdge(),e=[i.start.x,i.start.y,i.start.z,i.end.x,i.end.y,i.end.z];t.setAttribute("position",new y(new Float32Array(e),3)),this._heightLine.geometry.dispose(),this._heightLine.geometry=t;let s=i.getCenter(new d);this._heightText||(this._heightText=new j(this._font),this._dimensionTextGroup.add(this._heightText)),this._heightText.topDown=this._topDimensions;const n=this._unitFormatter.formatMMValueToUnitString(1e3*this._dimensions.y);this._heightText.update(s,n,this._cameraPosition)}_updateDepth(){let t=new l,i=this._getDepthEdge(),e=[i.start.x,i.start.y,i.start.z,i.end.x,i.end.y,i.end.z];t.setAttribute("position",new y(new Float32Array(e),3)),this._depthLine.geometry.dispose(),this._depthLine.geometry=t;let s=i.getCenter(new d);this._depthText||(this._depthText=new j(this._font),this._dimensionTextGroup.add(this._depthText)),this._depthText.topDown=this._topDimensions;const n=this._unitFormatter.formatMMValueToUnitString(-1e3*this._dimensions.z);this._depthText.update(s,n,this._cameraPosition)}updateSize(t){this._origin=a(t.origin),this._dimensionLineGroup.position.x=this._origin.x-this._object.position.x,this._dimensionLineGroup.position.y=this._origin.y-this._object.position.y,this._dimensionLineGroup.position.z=this._origin.z-this._object.position.z,this._dimensions=a(t.size);const i=this._dimensionLineGroup.localToWorld(new d);this._dimensionTextGroup.position.copy(i),this.update()}update(t=!1){this._enabled&&!this._dimensionsVisible&&(this._dimensionsVisible=!0,this._visibilityChangedCallback()),this._performUpdate(t)}addToObject(t){this._widthText&&this._widthLine&&this._heightText&&this._heightLine&&this._heightText&&this._heightLine&&t.add(this._dimensionLineGroup)}removeFromObject(t){t.remove(this._dimensionLineGroup),this.update()}addToUiScene(t){if(!(this._widthText&&this._heightText&&this._depthText&&this._object))return;const i=this._dimensionLineGroup.localToWorld(new d);this._dimensionTextGroup.position.copy(i),this._dimensionTextGroup.rotation.y=this._objectRotation,t.add(this._dimensionTextGroup),this.update()}removeFromUiScene(t){t.remove(this._dimensionTextGroup),this.update()}_getWidthEdge(){const t=this._getRotation();return t>Math.PI/2||t<-Math.PI/2?new T(new d(-.05,0,this._dimensions.z-.05),new d(this._dimensions.x+.05,0,this._dimensions.z-.05)):new T(new d(-.05,0,.05),new d(this._dimensions.x+.05,0,.05))}_getDepthEdge(){return this._getRotation()>0?new T(new d(.05+this._dimensions.x,0,.05),new d(.05+this._dimensions.x,0,this._dimensions.z-.05)):new T(new d(-.05,0,.05),new d(-.05,0,this._dimensions.z-.05))}_getHeightEdge(){const t=this._getRotation();return t>0&&t<Math.PI/2?new T(new d(-.05,0,.05),new d(-.05,this._dimensions.y+.05,.05)):t>Math.PI/2?new T(new d(-.05,0,this._dimensions.z-.05),new d(-.05,this._dimensions.y+.05,this._dimensions.z-.05)):t<-Math.PI/2?new T(new d(.05+this._dimensions.x,0,this._dimensions.z-.05),new d(.05+this._dimensions.x,this._dimensions.y+.05,this._dimensions.z-.05)):new T(new d(.05+this._dimensions.x,0,.05),new d(.05+this._dimensions.x,this._dimensions.y+.05,.05))}onDimensionsVisibilityChanged(t){this._onChange=t}enableTopDimensions(){this._topDimensions=!0,this.enableDimensions(),this._heightLine.visible=!1,this._heightText.visible=!1,this.update(!0)}disableTopDimensions(){this._topDimensions=!1,this._heightLine.visible=!0,this._heightText.visible=!0,this.disableDimensions()}enableDimensions(){this._enabled=!0,this.update(!0),this.addToObject(this._object),this.addToUiScene(this._uiScene)}disableDimensions(){this._enabled=!1,this._dimensionsVisible&&(this._dimensionsVisible=!1,this._visibilityChangedCallback()),this.removeFromUiScene(this._uiScene),this.removeFromObject(this._object)}_visibilityChangedCallback(){this._onChange&&this._onChange(this._dimensionsVisible)}_clear(){this._lineMaterial.dispose(),this._planeMaterial.dispose(),this._widthLine.geometry.dispose(),this._heightLine.geometry.dispose(),this._depthLine.geometry.dispose(),this._heightText.dispose(),this._heightText.dispose(),this._depthText.dispose()}getBoundingBox(){const t=new L;return t.expandByObject(this._widthLine),t.expandByObject(this._widthText),t.expandByObject(this._heightLine),t.expandByObject(this._heightText),t.expandByObject(this._depthLine),t.expandByObject(this._depthText),t}setVisibility(t){this._dimensionLineGroup&&this._dimensionTextGroup&&(this._dimensionLineGroup.visible=t,this._dimensionTextGroup.visible=t)}moveCameraStart(t){this.setVisibility(!1),this._cameraPosition=t,this.update()}moveCameraEnd(t){this.setVisibility(!0),this._cameraPosition=t,this.update()}clearScene(t){this._clear()}setObject(t,i=0){this._object=t,this._objectRotation=i}setUiScene(t){this._uiScene=t}isInitialized(){return this._initialized.wait()}areDimensionsEnabled(){return this._enabled}_getRotation(){const t=this._object.getWorldPosition(new d);return i(Math.atan2(this._cameraPosition.x-t.x,this._cameraPosition.z-t.z)-this._objectRotation)}}t("default",D),s([n],D.prototype,"_unitFormatter",void 0)}}}));
2
+ //# sourceMappingURL=dimensioning-helper-9d046848.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dimensioning-helper-9d046848.nomodule.js","sources":["../../packages/configurator-core/public/fonts/lato_regular_sub.json"],"sourcesContent":["export default \"static/lato_regular_sub-9dd2262895ccc1a9.json\""],"names":[],"mappings":"u4HAAe"}
@@ -0,0 +1,2 @@
1
+ import{aZ as normalizeRotation,J as dispose,_ as __decorate,i as inject,j as AsyncGuard,a_ as AsyncDependencyLoader,ad as convertToTHREE}from"./roomle-dependency-injection-2c9062d2.js";import{O as Object3D,a as Vector3,h as MeshBasicMaterial,w as DoubleSide,bo as MeshPhongMaterial,B as BufferGeometry,z as Mesh,Q as Quaternion,b9 as PlaneGeometry,K as Group,u as LineBasicMaterial,G as Line,b as BufferAttribute,bL as Line3,ad as Box3}from"./main-thread-to-worker-352ff4b1.js";import{T as TextGeometry}from"./TextGeometry-dc304c0e.js";const PLANE_MATERIAL="component_dimensioning_plane_material",TEXT_MATERIAL="component_dimensioning_text_material";class TextWithBackground extends Object3D{constructor(e){super(),this._label="",this._parameters={font:null,size:.1,depth:.001,curveSegments:2,bevelEnabled:!0,bevelThickness:.001,bevelSize:.001},this.topDown=!1,this._parameters.font=e,this._position=new Vector3,this._initMaterials(),this._init(),this._update()}_initMaterials(){this._cacheHolder.materialCache.has(PLANE_MATERIAL)?this._planeMaterial=this._cacheHolder.materialCache.get(PLANE_MATERIAL):(this._planeMaterial=new MeshBasicMaterial({color:16777215,side:DoubleSide,opacity:.8,transparent:!0}),this._cacheHolder.materialCache.set(PLANE_MATERIAL,this._planeMaterial)),this._cacheHolder.materialCache.has(TEXT_MATERIAL)?this._textMaterial=this._cacheHolder.materialCache.get(TEXT_MATERIAL):(this._textMaterial=new MeshPhongMaterial({color:3618615}),this._cacheHolder.materialCache.set(TEXT_MATERIAL,this._textMaterial))}_init(){let e=new BufferGeometry;this._text=new Mesh(e,this._textMaterial),this._text.userData.ignoreComponentRaycast=!0,this._text.name="text with background text "+this._label,this._plane=new Mesh(e,this._planeMaterial),this._plane.userData.ignoreComponentRaycast=!0,this._plane.name="text with background plane "+this._label,this._textGeometry=new TextGeometry(this._label,this._parameters),this._textGeometry.computeBoundingBox(),this._text.geometry=this._textGeometry,this.add(this._text),this.add(this._plane)}update(e,t,i){this._position.copy(e),this._cameraPosition=i,this._label=t;const s=this.getWorldPosition(new Vector3),n=this._cameraPosition.distanceTo(s),o=Math.max(.01,n/150),h=Math.max(5e-4,n/5e3);this._parameters.bevelThickness=h,this._parameters.bevelSize=h,this._parameters.size=o,this._textGeometry=new TextGeometry(this._label,this._parameters),this._textGeometry.computeBoundingBox(),this._text.geometry=this._textGeometry,this._update()}_update(){if(this.topDown){let e=new Quaternion;e.setFromAxisAngle(new Vector3(-1,0,0),Math.PI/2),this._updateText(this._textGeometry,e,new Vector3)}else if(this._updateText(this._textGeometry,new Quaternion,new Vector3),this._cameraPosition){const e=this.getWorldPosition(new Vector3),t=normalizeRotation(Math.atan2(this._cameraPosition.x-e.x,this._cameraPosition.z-e.z)-this.parent.rotation.y);this._text.rotation.y=t,this._plane.rotation.y=t}}_updateText(e,t,i){let s=new Vector3;s.copy(this._position),i.x*=this._getXSign(),s.add(i);let n=e.boundingBox.getSize(new Vector3);e.center(),this._text.position.copy(s),t&&this._text.quaternion.copy(t);let o=new PlaneGeometry(n.x+.02,n.y+.02,32);o.center(),this._plane.geometry=o,this._plane.position.copy(s),t&&this._plane.quaternion.copy(t)}_getXSign(){return!this._cameraPosition||this._cameraPosition.x>=0?1:-1}dispose(){dispose(this)}}__decorate([inject],TextWithBackground.prototype,"_cacheHolder",void 0);class DimensioningHelper{constructor(e){this._objectRotation=0,this._cameraPosition=new Vector3,this._topDimensions=!1,this._initialized=new AsyncGuard,this._enabled=!1,this._dimensionsVisible=!1,this._dimensionLineGroup=new Group,this._dimensionTextGroup=new Object3D,this._creator_=e,this._lineMaterial=new LineBasicMaterial({color:3618615,linewidth:2});let t=new BufferGeometry;this._widthLine=new Line(t,this._lineMaterial),this._widthLine.userData.ignoreComponentRaycast=!0,this._widthLine.name="dimension width line",this._dimensionLineGroup.add(this._widthLine),this._heightLine=new Line(t,this._lineMaterial),this._heightLine.userData.ignoreComponentRaycast=!0,this._heightLine.name="dimension height line",this._dimensionLineGroup.add(this._heightLine),this._depthLine=new Line(t,this._lineMaterial),this._depthLine.userData.ignoreComponentRaycast=!0,this._depthLine.name="dimension depth line",this._dimensionLineGroup.add(this._depthLine),this._planeMaterial=new MeshBasicMaterial({color:16777215,side:DoubleSide,opacity:.8,transparent:!0}),AsyncDependencyLoader.loadFont("static/lato_regular_sub-9dd2262895ccc1a9.json").then(e=>{this._font=e,this._loaded()})}_loaded(){this.update(!1),this.addToObject(this._object),this.addToUiScene(this._uiScene),this._initialized.resolve()}_performUpdate(e){this._enabled&&(this._dimensions||e)&&this._font&&(this._updateHeight(),this._updateWidth(),this._updateDepth())}_updateWidth(){let e=new BufferGeometry,t=this._getWidthEdge(),i=[t.start.x,t.start.y,t.start.z,t.end.x,t.end.y,t.end.z];e.setAttribute("position",new BufferAttribute(new Float32Array(i),3)),this._widthLine.geometry.dispose(),this._widthLine.geometry=e;let s=t.getCenter(new Vector3);this._widthText||(this._widthText=new TextWithBackground(this._font),this._dimensionTextGroup.add(this._widthText)),this._widthText.topDown=this._topDimensions;const n=this._unitFormatter.formatMMValueToUnitString(1e3*this._dimensions.x);this._widthText.update(s,n,this._cameraPosition)}_updateHeight(){let e=new BufferGeometry,t=this._getHeightEdge(),i=[t.start.x,t.start.y,t.start.z,t.end.x,t.end.y,t.end.z];e.setAttribute("position",new BufferAttribute(new Float32Array(i),3)),this._heightLine.geometry.dispose(),this._heightLine.geometry=e;let s=t.getCenter(new Vector3);this._heightText||(this._heightText=new TextWithBackground(this._font),this._dimensionTextGroup.add(this._heightText)),this._heightText.topDown=this._topDimensions;const n=this._unitFormatter.formatMMValueToUnitString(1e3*this._dimensions.y);this._heightText.update(s,n,this._cameraPosition)}_updateDepth(){let e=new BufferGeometry,t=this._getDepthEdge(),i=[t.start.x,t.start.y,t.start.z,t.end.x,t.end.y,t.end.z];e.setAttribute("position",new BufferAttribute(new Float32Array(i),3)),this._depthLine.geometry.dispose(),this._depthLine.geometry=e;let s=t.getCenter(new Vector3);this._depthText||(this._depthText=new TextWithBackground(this._font),this._dimensionTextGroup.add(this._depthText)),this._depthText.topDown=this._topDimensions;const n=this._unitFormatter.formatMMValueToUnitString(-1e3*this._dimensions.z);this._depthText.update(s,n,this._cameraPosition)}updateSize(e){this._origin=convertToTHREE(e.origin),this._dimensionLineGroup.position.x=this._origin.x-this._object.position.x,this._dimensionLineGroup.position.y=this._origin.y-this._object.position.y,this._dimensionLineGroup.position.z=this._origin.z-this._object.position.z,this._dimensions=convertToTHREE(e.size);const t=this._dimensionLineGroup.localToWorld(new Vector3);this._dimensionTextGroup.position.copy(t),this.update()}update(e=!1){this._enabled&&!this._dimensionsVisible&&(this._dimensionsVisible=!0,this._visibilityChangedCallback()),this._performUpdate(e)}addToObject(e){this._widthText&&this._widthLine&&this._heightText&&this._heightLine&&this._heightText&&this._heightLine&&e.add(this._dimensionLineGroup)}removeFromObject(e){e.remove(this._dimensionLineGroup),this.update()}addToUiScene(e){if(!(this._widthText&&this._heightText&&this._depthText&&this._object))return;const t=this._dimensionLineGroup.localToWorld(new Vector3);this._dimensionTextGroup.position.copy(t),this._dimensionTextGroup.rotation.y=this._objectRotation,e.add(this._dimensionTextGroup),this.update()}removeFromUiScene(e){e.remove(this._dimensionTextGroup),this.update()}_getWidthEdge(){const e=this._getRotation();return e>Math.PI/2||e<-Math.PI/2?new Line3(new Vector3(-.05,0,this._dimensions.z-.05),new Vector3(this._dimensions.x+.05,0,this._dimensions.z-.05)):new Line3(new Vector3(-.05,0,.05),new Vector3(this._dimensions.x+.05,0,.05))}_getDepthEdge(){return this._getRotation()>0?new Line3(new Vector3(.05+this._dimensions.x,0,.05),new Vector3(.05+this._dimensions.x,0,this._dimensions.z-.05)):new Line3(new Vector3(-.05,0,.05),new Vector3(-.05,0,this._dimensions.z-.05))}_getHeightEdge(){const e=this._getRotation();return e>0&&e<Math.PI/2?new Line3(new Vector3(-.05,0,.05),new Vector3(-.05,this._dimensions.y+.05,.05)):e>Math.PI/2?new Line3(new Vector3(-.05,0,this._dimensions.z-.05),new Vector3(-.05,this._dimensions.y+.05,this._dimensions.z-.05)):e<-Math.PI/2?new Line3(new Vector3(.05+this._dimensions.x,0,this._dimensions.z-.05),new Vector3(.05+this._dimensions.x,this._dimensions.y+.05,this._dimensions.z-.05)):new Line3(new Vector3(.05+this._dimensions.x,0,.05),new Vector3(.05+this._dimensions.x,this._dimensions.y+.05,.05))}onDimensionsVisibilityChanged(e){this._onChange=e}enableTopDimensions(){this._topDimensions=!0,this.enableDimensions(),this._heightLine.visible=!1,this._heightText.visible=!1,this.update(!0)}disableTopDimensions(){this._topDimensions=!1,this._heightLine.visible=!0,this._heightText.visible=!0,this.disableDimensions()}enableDimensions(){this._enabled=!0,this.update(!0),this.addToObject(this._object),this.addToUiScene(this._uiScene)}disableDimensions(){this._enabled=!1,this._dimensionsVisible&&(this._dimensionsVisible=!1,this._visibilityChangedCallback()),this.removeFromUiScene(this._uiScene),this.removeFromObject(this._object)}_visibilityChangedCallback(){this._onChange&&this._onChange(this._dimensionsVisible)}_clear(){this._lineMaterial.dispose(),this._planeMaterial.dispose(),this._widthLine.geometry.dispose(),this._heightLine.geometry.dispose(),this._depthLine.geometry.dispose(),this._heightText.dispose(),this._heightText.dispose(),this._depthText.dispose()}getBoundingBox(){const e=new Box3;return e.expandByObject(this._widthLine),e.expandByObject(this._widthText),e.expandByObject(this._heightLine),e.expandByObject(this._heightText),e.expandByObject(this._depthLine),e.expandByObject(this._depthText),e}setVisibility(e){this._dimensionLineGroup&&this._dimensionTextGroup&&(this._dimensionLineGroup.visible=e,this._dimensionTextGroup.visible=e)}moveCameraStart(e){this.setVisibility(!1),this._cameraPosition=e,this.update()}moveCameraEnd(e){this.setVisibility(!0),this._cameraPosition=e,this.update()}clearScene(e){this._clear()}setObject(e,t=0){this._object=e,this._objectRotation=t}setUiScene(e){this._uiScene=e}isInitialized(){return this._initialized.wait()}areDimensionsEnabled(){return this._enabled}_getRotation(){const e=this._object.getWorldPosition(new Vector3);return normalizeRotation(Math.atan2(this._cameraPosition.x-e.x,this._cameraPosition.z-e.z)-this._objectRotation)}}__decorate([inject],DimensioningHelper.prototype,"_unitFormatter",void 0);export{DimensioningHelper as default};
2
+ //# sourceMappingURL=dimensioning-helper-c98b39cc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dimensioning-helper-318b729d.js","sources":["../../packages/configurator-core/public/fonts/lato_regular_sub.json"],"sourcesContent":["export default \"static/lato_regular_sub-9dd2262895ccc1a9.json\""],"names":[],"mappings":"w7IAAe"}
1
+ {"version":3,"file":"dimensioning-helper-c98b39cc.js","sources":["../../packages/configurator-core/public/fonts/lato_regular_sub.json"],"sourcesContent":["export default \"static/lato_regular_sub-9dd2262895ccc1a9.json\""],"names":[],"mappings":"u7IAAe"}
@@ -1,2 +1,2 @@
1
- import{S as ScriptLoader,M as Main}from"./script-loader-8964e022.js";import{aM as InputManager,D as DependencyInjectionAssignment,L as Logger,R as RapiAccess,ag as getGUI,_ as __decorate,i as inject,u as CANVAS_ID,x as DynamicLightSettingLoader,y as PREDEFINED_LIGHTSETTING,H as dispose,b as RoomleDependencyInjection}from"./roomle-dependency-injection-4e221caa.js";import{C as CameraControl3D,L as LightSetting,S as SceneManager,T as TWEEN_FILE_NAME}from"./camera-behaviour-b9a52002.js";import{a as Vector3,ad as Box3,ag as Euler,Q as Quaternion,A as AmbientLight,C as Color,aE as CAMERA_TYPE,aR as getGlbUrl,bw as WebGLRenderer,i as SRGBColorSpace,bk as BasicShadowMap,N as PerspectiveCamera,bP as download}from"./main-thread-to-worker-ee3036b3.js";import{D as DefaultLightSetting}from"./default-light-setting-6425c714.js";import{G as GlbViewerCameraBehaviour}from"./glb-viewer-camera-behaviour-169bee0e.js";import"./query-params-helper-c9492f35.js";const INJECTABLES=[new DependencyInjectionAssignment("script-loader",ScriptLoader),new DependencyInjectionAssignment("glb-input-manager",class extends InputManager{},1),new DependencyInjectionAssignment("logger",Logger),new DependencyInjectionAssignment("rapi-access",RapiAccess)];class AdjustableCameraControl3D extends CameraControl3D{constructor(){super(...arguments),this.shouldIgnoreStandardBehavior=!1}adjust(e,t,r,a,i){let n=new Vector3(-e.x/2,0,-e.z/2),s=new Vector3(e.x/2,e.y,e.z/2);this._boundingBox=new Box3(n,s);let o=new Euler(-Math.PI/2+a,r,0,"ZYX"),c=(new Quaternion).setFromEuler(o);this._camera.updateProjectionMatrix(),this._camera.quaternion.copy(c),this._camera.position.copy(t)}_update(e){this.shouldIgnoreStandardBehavior?this._saveYawAndPitch():super._update(e)}animateCamera(e){return!!this.shouldIgnoreStandardBehavior||super.animateCamera(e)}}class GLBViewerLightSetting extends LightSetting{constructor(e,t){super(e,t),this._params={ambientLight:{color:"#ffffff"}},this._ambientLight=new AmbientLight(new Color(this._params.ambientLight.color),.5),this.addToScene()}addToScene(){this._scene.add(this._ambientLight)}removeFromScene(){this._scene.remove(this._ambientLight)}reload(){this.removeFromScene(),this.addToScene()}showGUI(){let e=getGUI();if(e&&this._ambientLight){let t=e.addFolder("Ambient Light");t.add(this._ambientLight,"visible"),t.add(this._ambientLight,"intensity").min(0).max(5).step(.1),t.addColor(this._params.ambientLight,"color").onChange(e=>{this._ambientLight.color=new Color(e)})}}}class GLBViewerSceneManager extends SceneManager{constructor(e,t){super(e,t,CANVAS_ID.GLB,CAMERA_TYPE.CAMERA_3D),this._itemsCount=0,this._standardSceneBackgroundColor=this._scene.background,this._initData.legacyLight&&(this._renderer.capabilities.maxTextures>8?this.loadDynamicLightSetting(DynamicLightSettingLoader.createDynamicLightSettingSource(null,PREDEFINED_LIGHTSETTING.CAMERA)):(console.warn("this device has a maximum of 8 texture units thus we are using a simpler light setting"),this._lightSetting=new GLBViewerLightSetting(this._scene)))}createCameraControl(e,t){this._changeCameraBehaviour(new GlbViewerCameraBehaviour(new AdjustableCameraControl3D(this._creator_,this._getInputManager(),null),this._cameraBehaviourState))}_getInputManager(){return this._glbInputManager}async loadStaticItem(e,t){const r=await this._rapiAccess.getItem(e);if(r.configuration)return Promise.reject();const a=getGlbUrl(r);return a?this.loadGLB(a,!0,void 0,t):Promise.reject(new Error("GLB Url not detected"))}loadGLB(e,t=!0,r=new Vector3(1,1,1),a){return this.clearScene(),new Promise((i,n)=>{this._loadGLB(e,new Vector3(0,0,0),0,void 0,r,void 0,void 0,a).then(e=>{this._currentGLB=e,this._scene.add(this._currentGLB);let r=(new Box3).setFromObject(this._currentGLB);t&&this.cameraBehaviour.cameraControl instanceof AdjustableCameraControl3D&&this.glbViewerCameraBehaviour.updateCameraOnItemLoaded(r),this._updateBounds(r,null,!0),this._readyForRender(),i()},n)})}preparePerspectiveImage(e,t,r){return new Promise(a=>{var i,n;t||(t=1e3),r||(r=1e3),e||((e=new WebGLRenderer({antialias:!0})).setSize(t,r),e.outputColorSpace=SRGBColorSpace,e.autoClear=!1,e.shadowMap.enabled=!0,e.shadowMap.type=BasicShadowMap);let s=this.cameraBehaviour.cameraControl.getCamera().clone();s instanceof PerspectiveCamera&&(s.aspect=t/r,s.updateProjectionMatrix()),null===(i=this._lightSetting)||void 0===i||i.removeFromScene();let o=new DefaultLightSetting(this._scene);e.render(this._scene,s);let c=e.domElement.toDataURL();e.domElement.toBlob(e=>{a({image:c,width:t,height:r,blob:e})},"image/png"),o.removeFromScene(),null===(n=this._lightSetting)||void 0===n||n.addToScene()})}adjustCamera(e,t,r,a){if(this.cameraBehaviour.cameraControl instanceof AdjustableCameraControl3D){let i=(new Box3).setFromObject(this._scene).getSize(new Vector3);this.cameraBehaviour.cameraControl.adjust(i,e,t,r,a),this._requestRender()}}onStart(e){this._itemsCount=e,this._scene.background=null,this.cameraBehaviour.cameraControl instanceof AdjustableCameraControl3D&&(this.cameraBehaviour.cameraControl.shouldIgnoreStandardBehavior=!0)}onElementFinished(e){this._itemsCount,Math.round(100/this._itemsCount*e)}onFinished(e){this._scene.background=this._standardSceneBackgroundColor,this.cameraBehaviour.cameraControl instanceof AdjustableCameraControl3D&&(this.cameraBehaviour.cameraControl.shouldIgnoreStandardBehavior=!1)}clearScene(){this._currentGLB&&(this._scene.remove(this._currentGLB),dispose(this._currentGLB),this._currentGLB=null),super.clearScene()}enableHD(){super.enableHD()}sceneChanged(){}getBounds(){return this._currentGLB?(new Box3).setFromObject(this._currentGLB):null}get glbViewerCameraBehaviour(){return this.cameraBehaviour}getGeometryBounds(){return null}cameraBehaviourChanged(){super.cameraBehaviourChanged(),this.cameraBehaviour.cameraControl.addEventListener(3,()=>{this._requestRender()},this),this.cameraBehaviour.cameraControl.addEventListener(4,()=>{this._requestRender()},this)}async moveCamera(e){return this.glbViewerCameraBehaviour.externalApiMoveCamera(e)}_readyForRender(){this._globalCallback.onReadyForRender()}}__decorate([inject],GLBViewerSceneManager.prototype,"_glbInputManager",void 0),__decorate([inject],GLBViewerSceneManager.prototype,"_rapiAccess",void 0);class GLBRenderWorker{constructor(e,t,r){this._prefix="https://furniture.roomle.com/3d/glb/",this._listeners=new Set,this._finishedItems=0,this._sceneManager=e,this._renderer=new WebGLRenderer({antialias:!0,alpha:!0}),this._width=t,this._height=r,this._renderer.setSize(t,r),this._renderer.setClearColor(16777215,0),this._renderer.outputColorSpace=SRGBColorSpace}addListener(e){this._listeners.add(e)}removeListener(e){this._listeners.delete(e)}start(e){return this._entries=[],e.forEach(e=>{this._entries.push(this._transform(e))}),this._finishedItems=0,this._listeners.forEach(e=>e.onStart(this._entries.length)),this._zip=new window.JSZip,this._doNextEntry(),new Promise(e=>{this._resolve=e})}_transform(e){return{name:e.path.replace(".glb",".png"),url:this._prefix+e.path,position:new Vector3(e.camera.position.x,e.camera.position.z,-e.camera.position.y),fov:2*e.camera.fieldOfView,yaw:e.camera.rotation.z,pitch:e.camera.rotation.x}}_doNextEntry(){0===this._entries.length?(this._listeners.forEach(e=>e.onFinished(this._zip)),this._resolve(this._zip)):this._processEntry(this._entries[0])}_processEntry(e){this._sceneManager.loadGLB(e.url,!1,void 0).then(()=>{this._sceneManager.adjustCamera(e.position,e.yaw,e.pitch,e.fov),this._sceneManager.preparePerspectiveImage(this._renderer,this._width,this._height).then(t=>{this._entryFinished(e,t)})})}_entryFinished(e,t){let r=this._entries.indexOf(e);r>-1&&this._entries.splice(r,1),this._finishedItems++,this._listeners.forEach(e=>e.onElementFinished(this._finishedItems)),this._zip.file(e.name,t.blob),this._doNextEntry()}}class RoomleGLBViewer{constructor(e){this._currentIdOrUrl=null,this._creator_=e}setCameraOffset(e){this._sceneManager.setCameraOffset(e)}getCameraOffset(){return this._sceneManager.getCameraOffset()}init(e,t){return this.setOverrides(t),this._domHelper.setDomElement(e),this._sceneManager?(this._lifeCycleManager.resume(),Promise.resolve()):new Promise(this._initPromiseCallback.bind(this))}_initPromiseCallback(e,t){Promise.all([this._scriptLoader.fetch(TWEEN_FILE_NAME,{id:"tween-js"})]).then(()=>{this._sceneManager=new GLBViewerSceneManager(this._creator_,{left:0,top:1,right:1,bottom:0}),this._sceneManager.enableHD(),e()})}clearScene(){this._sceneManager.clearScene()}loadGLB(e,t=1,r){return this._currentIdOrUrl=e,this._rapiAccess.trackView(e),this._sceneManager.loadGLB(e,!0,new Vector3(t,t,t),r)}loadStaticItem(e,t){return this._currentIdOrUrl=e,this._rapiAccess.trackView(e),this._sceneManager.loadStaticItem(e,t)}getCurrentId(){return this._currentIdOrUrl}loadSceneSetting(e){return this._sceneManager.loadSceneSettings(e)}preparePerspectiveImage(){return this._sceneManager.preparePerspectiveImage()}processRenderList(e,t=320,r=320){let a=JSON.parse(e);this._scriptLoader.fetch("static/jszip.min-c96375d50e72b199.js",{id:"jszip-js"}).then(()=>{let e=new GLBRenderWorker(this._sceneManager,t,r);e.addListener(this._sceneManager),e.start(a.items).then(t=>{t.generateAsync({type:"blob"}).then(t=>{download("content.zip",URL.createObjectURL(t)),e.removeListener(this._sceneManager)})})})}setOverrides(e){e&&(this._initData.setOverrides(e),this._globalInitData.setOverrides(e))}updateSize(){this._sceneManager.updateCamera()}getMain(){}resumeTest(e){this._domHelper.setDomElement(e),this._lifeCycleManager.resume()}pauseTest(){this._lifeCycleManager.pause()}showGUI(){this._sceneManager.showGUI()}get callbacks(){return{}}getScene(){return this._sceneManager.getScene()}updateScene(){this._sceneManager.updateScene()}getUnitFormatter(){return this._unitFormatter}getStorage(){return this._idbManager}setEnvironmentMap(e){const{url:t,intensity:r,rotation:a,maxLightSources:i}=e;this._sceneManager.setEnvironmentMap(t,r,a,i)}exportCanvasScreenshot(e){return this._sceneManager.exportCanvasScreenshot(e)}async moveCamera(e){return this._sceneManager.moveCamera(e)}get globalCallbacks(){return this._globalCallback}}__decorate([inject],RoomleGLBViewer.prototype,"_rapiAccess",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_domHelper",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_scriptLoader",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_lifeCycleManager",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_initData",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_globalInitData",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_globalCallback",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_unitFormatter",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_idbManager",void 0);class GlbViewer extends Main{setupGlobals(){}setupDependencies(){RoomleDependencyInjection.setup(INJECTABLES),this.lookup("logger",this._context)}cleanUpGlobals(){throw new Error("Method not implemented.")}cleanUpDependencies(){throw new Error("Method not implemented.")}bootFinished(){this._viewer=new RoomleGLBViewer(this._context),window.RoomleGLBViewer||(window.RoomleGLBViewer=this._viewer)}getApi(){return this._viewer}getContextName(){return"glb-viewer"}}export{GlbViewer};
2
- //# sourceMappingURL=glb-viewer-66869df0.js.map
1
+ import{S as ScriptLoader,M as Main}from"./script-loader-7e3054f7.js";import{aP as InputManager,D as DependencyInjectionAssignment,L as Logger,R as RapiAccess,ah as getGUI,_ as __decorate,i as inject,w as CANVAS_ID,y as DynamicLightSettingLoader,z as PREDEFINED_LIGHTSETTING,J as dispose,b as RoomleDependencyInjection}from"./roomle-dependency-injection-2c9062d2.js";import{C as CameraControl3D,L as LightSetting,S as SceneManager,T as TWEEN_FILE_NAME}from"./camera-behaviour-24973bc6.js";import{a as Vector3,ad as Box3,ag as Euler,Q as Quaternion,A as AmbientLight,C as Color,aE as CAMERA_TYPE,aR as getGlbUrl,by as WebGLRenderer,i as SRGBColorSpace,bk as BasicShadowMap,U as PerspectiveCamera,bF as download}from"./main-thread-to-worker-352ff4b1.js";import{D as DefaultLightSetting}from"./default-light-setting-20f64f6d.js";import{G as GlbViewerCameraBehaviour}from"./glb-viewer-camera-behaviour-45c2ab16.js";import"./query-params-helper-28405b8d.js";const INJECTABLES=[new DependencyInjectionAssignment("script-loader",ScriptLoader),new DependencyInjectionAssignment("glb-input-manager",class extends InputManager{},1),new DependencyInjectionAssignment("logger",Logger),new DependencyInjectionAssignment("rapi-access",RapiAccess)];class AdjustableCameraControl3D extends CameraControl3D{constructor(){super(...arguments),this.shouldIgnoreStandardBehavior=!1}adjust(e,t,r,a,i){let n=new Vector3(-e.x/2,0,-e.z/2),s=new Vector3(e.x/2,e.y,e.z/2);this._boundingBox=new Box3(n,s);let o=new Euler(-Math.PI/2+a,r,0,"ZYX"),c=(new Quaternion).setFromEuler(o);this._camera.updateProjectionMatrix(),this._camera.quaternion.copy(c),this._camera.position.copy(t)}_update(e){this.shouldIgnoreStandardBehavior?this._saveYawAndPitch():super._update(e)}animateCamera(e){return!!this.shouldIgnoreStandardBehavior||super.animateCamera(e)}}class GLBViewerLightSetting extends LightSetting{constructor(e,t){super(e,t),this._params={ambientLight:{color:"#ffffff"}},this._ambientLight=new AmbientLight(new Color(this._params.ambientLight.color),.5),this.addToScene()}addToScene(){this._scene.add(this._ambientLight)}removeFromScene(){this._scene.remove(this._ambientLight)}reload(){this.removeFromScene(),this.addToScene()}showGUI(){let e=getGUI();if(e&&this._ambientLight){let t=e.addFolder("Ambient Light");t.add(this._ambientLight,"visible"),t.add(this._ambientLight,"intensity").min(0).max(5).step(.1),t.addColor(this._params.ambientLight,"color").onChange(e=>{this._ambientLight.color=new Color(e)})}}}class GLBViewerSceneManager extends SceneManager{constructor(e,t){super(e,t,CANVAS_ID.GLB,CAMERA_TYPE.CAMERA_3D),this._itemsCount=0,this._standardSceneBackgroundColor=this._scene.background,this._initData.legacyLight&&(this._renderer.capabilities.maxTextures>8?this.loadDynamicLightSetting(DynamicLightSettingLoader.createDynamicLightSettingSource(null,PREDEFINED_LIGHTSETTING.CAMERA)):(console.warn("this device has a maximum of 8 texture units thus we are using a simpler light setting"),this._lightSetting=new GLBViewerLightSetting(this._scene)))}createCameraControl(e,t){this._changeCameraBehaviour(new GlbViewerCameraBehaviour(new AdjustableCameraControl3D(this._creator_,this._getInputManager(),null),this._cameraBehaviourState))}_getInputManager(){return this._glbInputManager}async loadStaticItem(e,t){const r=await this._rapiAccess.getItem(e);if(r.configuration)return Promise.reject();const a=getGlbUrl(r);return a?this.loadGLB(a,!0,void 0,t):Promise.reject(new Error("GLB Url not detected"))}loadGLB(e,t=!0,r=new Vector3(1,1,1),a){return this.clearScene(),new Promise((i,n)=>{this._loadGLB(e,new Vector3(0,0,0),0,void 0,r,void 0,void 0,a).then(e=>{this._currentGLB=e,this._scene.add(this._currentGLB);let r=(new Box3).setFromObject(this._currentGLB);t&&this.cameraBehaviour.cameraControl instanceof AdjustableCameraControl3D&&this.glbViewerCameraBehaviour.updateCameraOnItemLoaded(r),this._updateBounds(r,null,!0),this._readyForRender(),i()},n)})}preparePerspectiveImage(e,t,r){return new Promise(a=>{var i,n;t||(t=1e3),r||(r=1e3),e||((e=new WebGLRenderer({antialias:!0})).setSize(t,r),e.outputColorSpace=SRGBColorSpace,e.autoClear=!1,e.shadowMap.enabled=!0,e.shadowMap.type=BasicShadowMap);let s=this.cameraBehaviour.cameraControl.getCamera().clone();s instanceof PerspectiveCamera&&(s.aspect=t/r,s.updateProjectionMatrix()),null===(i=this._lightSetting)||void 0===i||i.removeFromScene();let o=new DefaultLightSetting(this._scene);e.render(this._scene,s);let c=e.domElement.toDataURL();e.domElement.toBlob(e=>{a({image:c,width:t,height:r,blob:e})},"image/png"),o.removeFromScene(),null===(n=this._lightSetting)||void 0===n||n.addToScene()})}adjustCamera(e,t,r,a){if(this.cameraBehaviour.cameraControl instanceof AdjustableCameraControl3D){let i=(new Box3).setFromObject(this._scene).getSize(new Vector3);this.cameraBehaviour.cameraControl.adjust(i,e,t,r,a),this._requestRender()}}onStart(e){this._itemsCount=e,this._scene.background=null,this.cameraBehaviour.cameraControl instanceof AdjustableCameraControl3D&&(this.cameraBehaviour.cameraControl.shouldIgnoreStandardBehavior=!0)}onElementFinished(e){this._itemsCount,Math.round(100/this._itemsCount*e)}onFinished(e){this._scene.background=this._standardSceneBackgroundColor,this.cameraBehaviour.cameraControl instanceof AdjustableCameraControl3D&&(this.cameraBehaviour.cameraControl.shouldIgnoreStandardBehavior=!1)}clearScene(){this._currentGLB&&(this._scene.remove(this._currentGLB),dispose(this._currentGLB),this._currentGLB=null),super.clearScene()}enableHD(){super.enableHD()}sceneChanged(){}getBounds(){return this._currentGLB?(new Box3).setFromObject(this._currentGLB):null}get glbViewerCameraBehaviour(){return this.cameraBehaviour}getGeometryBounds(){return null}cameraBehaviourChanged(){super.cameraBehaviourChanged(),this.cameraBehaviour.cameraControl.addEventListener(3,()=>{this._requestRender()},this),this.cameraBehaviour.cameraControl.addEventListener(4,()=>{this._requestRender()},this)}async moveCamera(e){return this.glbViewerCameraBehaviour.externalApiMoveCamera(e)}_readyForRender(){this._globalCallback.onReadyForRender()}}__decorate([inject],GLBViewerSceneManager.prototype,"_glbInputManager",void 0),__decorate([inject],GLBViewerSceneManager.prototype,"_rapiAccess",void 0);class GLBRenderWorker{constructor(e,t,r){this._prefix="https://furniture.roomle.com/3d/glb/",this._listeners=new Set,this._finishedItems=0,this._sceneManager=e,this._renderer=new WebGLRenderer({antialias:!0,alpha:!0}),this._width=t,this._height=r,this._renderer.setSize(t,r),this._renderer.setClearColor(16777215,0),this._renderer.outputColorSpace=SRGBColorSpace}addListener(e){this._listeners.add(e)}removeListener(e){this._listeners.delete(e)}start(e){return this._entries=[],e.forEach(e=>{this._entries.push(this._transform(e))}),this._finishedItems=0,this._listeners.forEach(e=>e.onStart(this._entries.length)),this._zip=new window.JSZip,this._doNextEntry(),new Promise(e=>{this._resolve=e})}_transform(e){return{name:e.path.replace(".glb",".png"),url:this._prefix+e.path,position:new Vector3(e.camera.position.x,e.camera.position.z,-e.camera.position.y),fov:2*e.camera.fieldOfView,yaw:e.camera.rotation.z,pitch:e.camera.rotation.x}}_doNextEntry(){0===this._entries.length?(this._listeners.forEach(e=>e.onFinished(this._zip)),this._resolve(this._zip)):this._processEntry(this._entries[0])}_processEntry(e){this._sceneManager.loadGLB(e.url,!1,void 0).then(()=>{this._sceneManager.adjustCamera(e.position,e.yaw,e.pitch,e.fov),this._sceneManager.preparePerspectiveImage(this._renderer,this._width,this._height).then(t=>{this._entryFinished(e,t)})})}_entryFinished(e,t){let r=this._entries.indexOf(e);r>-1&&this._entries.splice(r,1),this._finishedItems++,this._listeners.forEach(e=>e.onElementFinished(this._finishedItems)),this._zip.file(e.name,t.blob),this._doNextEntry()}}class RoomleGLBViewer{constructor(e){this._currentIdOrUrl=null,this._creator_=e}setCameraOffset(e){this._sceneManager.setCameraOffset(e)}getCameraOffset(){return this._sceneManager.getCameraOffset()}init(e,t){return this.setOverrides(t),this._domHelper.setDomElement(e),this._sceneManager?(this._lifeCycleManager.resume(),Promise.resolve()):new Promise(this._initPromiseCallback.bind(this))}_initPromiseCallback(e,t){Promise.all([this._scriptLoader.fetch(TWEEN_FILE_NAME,{id:"tween-js"})]).then(()=>{this._sceneManager=new GLBViewerSceneManager(this._creator_,{left:0,top:1,right:1,bottom:0}),this._sceneManager.enableHD(),e()})}clearScene(){this._sceneManager.clearScene()}loadGLB(e,t=1,r){return this._currentIdOrUrl=e,this._rapiAccess.trackView(e),this._sceneManager.loadGLB(e,!0,new Vector3(t,t,t),r)}loadStaticItem(e,t){return this._currentIdOrUrl=e,this._rapiAccess.trackView(e),this._sceneManager.loadStaticItem(e,t)}getCurrentId(){return this._currentIdOrUrl}loadSceneSetting(e){return this._sceneManager.loadSceneSettings(e)}preparePerspectiveImage(){return this._sceneManager.preparePerspectiveImage()}processRenderList(e,t=320,r=320){let a=JSON.parse(e);this._scriptLoader.fetch("static/jszip.min-c96375d50e72b199.js",{id:"jszip-js"}).then(()=>{let e=new GLBRenderWorker(this._sceneManager,t,r);e.addListener(this._sceneManager),e.start(a.items).then(t=>{t.generateAsync({type:"blob"}).then(t=>{download("content.zip",URL.createObjectURL(t)),e.removeListener(this._sceneManager)})})})}setOverrides(e){e&&(this._initData.setOverrides(e),this._globalInitData.setOverrides(e))}updateSize(){this._sceneManager.updateCamera()}getMain(){}resumeTest(e){this._domHelper.setDomElement(e),this._lifeCycleManager.resume()}pauseTest(){this._lifeCycleManager.pause()}showGUI(){this._sceneManager.showGUI()}get callbacks(){return{}}getScene(){return this._sceneManager.getScene()}updateScene(){this._sceneManager.updateScene()}getUnitFormatter(){return this._unitFormatter}getStorage(){return this._idbManager}setEnvironmentMap(e){const{url:t,intensity:r,rotation:a,maxLightSources:i}=e;this._sceneManager.setEnvironmentMap(t,r,a,i)}exportCanvasScreenshot(e){return this._sceneManager.exportCanvasScreenshot(e)}async moveCamera(e){return this._sceneManager.moveCamera(e)}get globalCallbacks(){return this._globalCallback}}__decorate([inject],RoomleGLBViewer.prototype,"_rapiAccess",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_domHelper",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_scriptLoader",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_lifeCycleManager",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_initData",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_globalInitData",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_globalCallback",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_unitFormatter",void 0),__decorate([inject],RoomleGLBViewer.prototype,"_idbManager",void 0);class GlbViewer extends Main{setupGlobals(){}setupDependencies(){RoomleDependencyInjection.setup(INJECTABLES),this.lookup("logger",this._context)}cleanUpGlobals(){throw new Error("Method not implemented.")}cleanUpDependencies(){throw new Error("Method not implemented.")}bootFinished(){this._viewer=new RoomleGLBViewer(this._context),window.RoomleGLBViewer||(window.RoomleGLBViewer=this._viewer)}getApi(){return this._viewer}getContextName(){return"glb-viewer"}}export{GlbViewer};
2
+ //# sourceMappingURL=glb-viewer-212c78d9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glb-viewer-66869df0.js","sources":["../../node_modules/jszip/dist/jszip.min.js"],"sourcesContent":["export default \"static/jszip.min-c96375d50e72b199.js\""],"names":[],"mappings":"mzRAAe"}
1
+ {"version":3,"file":"glb-viewer-212c78d9.js","sources":["../../node_modules/jszip/dist/jszip.min.js"],"sourcesContent":["export default \"static/jszip.min-c96375d50e72b199.js\""],"names":[],"mappings":"mzRAAe"}
@@ -1,2 +1,2 @@
1
- System.register(["./script-loader-b4e814f2.nomodule.js","./roomle-dependency-injection-5fd128b0.nomodule.js","./camera-behaviour-27b6ce79.nomodule.js","./main-thread-to-worker-2529fa31.nomodule.js","./default-light-setting-99036b6f.nomodule.js","./glb-viewer-camera-behaviour-0aba3eb3.nomodule.js","./query-params-helper-51a53f8c.nomodule.js"],(function(e){var t,r,i,a,n,s,o,h,c,l,d,u,m,_,g,p,v,w,b,f,C,S,L,M,B,y,I,x,G,E,j,F,O;return{setters:[function(e){t=e.S,r=e.M},function(e){i=e.aM,a=e.D,n=e.L,s=e.R,o=e.ag,h=e._,c=e.i,l=e.u,d=e.x,u=e.y,m=e.H,_=e.b},function(e){g=e.C,p=e.L,v=e.S,w=e.T},function(e){b=e.a,f=e.ad,C=e.ag,S=e.Q,L=e.A,M=e.C,B=e.aE,y=e.aR,I=e.bw,x=e.i,G=e.bk,E=e.N,j=e.bP},function(e){F=e.D},function(e){O=e.G},function(){}],execute:function(){const P=[new a("script-loader",t),new a("glb-input-manager",class extends i{},1),new a("logger",n),new a("rapi-access",s)];class D extends g{constructor(){super(...arguments),this.shouldIgnoreStandardBehavior=!1}adjust(e,t,r,i,a){let n=new b(-e.x/2,0,-e.z/2),s=new b(e.x/2,e.y,e.z/2);this._boundingBox=new f(n,s);let o=new C(-Math.PI/2+i,r,0,"ZYX"),h=(new S).setFromEuler(o);this._camera.updateProjectionMatrix(),this._camera.quaternion.copy(h),this._camera.position.copy(t)}_update(e){this.shouldIgnoreStandardBehavior?this._saveYawAndPitch():super._update(e)}animateCamera(e){return!!this.shouldIgnoreStandardBehavior||super.animateCamera(e)}}class k extends p{constructor(e,t){super(e,t),this._params={ambientLight:{color:"#ffffff"}},this._ambientLight=new L(new M(this._params.ambientLight.color),.5),this.addToScene()}addToScene(){this._scene.add(this._ambientLight)}removeFromScene(){this._scene.remove(this._ambientLight)}reload(){this.removeFromScene(),this.addToScene()}showGUI(){let e=o();if(e&&this._ambientLight){let t=e.addFolder("Ambient Light");t.add(this._ambientLight,"visible"),t.add(this._ambientLight,"intensity").min(0).max(5).step(.1),t.addColor(this._params.ambientLight,"color").onChange(e=>{this._ambientLight.color=new M(e)})}}}class R extends v{constructor(e,t){super(e,t,l.GLB,B.CAMERA_3D),this._itemsCount=0,this._standardSceneBackgroundColor=this._scene.background,this._initData.legacyLight&&(this._renderer.capabilities.maxTextures>8?this.loadDynamicLightSetting(d.createDynamicLightSettingSource(null,u.CAMERA)):(console.warn("this device has a maximum of 8 texture units thus we are using a simpler light setting"),this._lightSetting=new k(this._scene)))}createCameraControl(e,t){this._changeCameraBehaviour(new O(new D(this._creator_,this._getInputManager(),null),this._cameraBehaviourState))}_getInputManager(){return this._glbInputManager}async loadStaticItem(e,t){const r=await this._rapiAccess.getItem(e);if(r.configuration)return Promise.reject();const i=y(r);return i?this.loadGLB(i,!0,void 0,t):Promise.reject(new Error("GLB Url not detected"))}loadGLB(e,t=!0,r=new b(1,1,1),i){return this.clearScene(),new Promise((a,n)=>{this._loadGLB(e,new b(0,0,0),0,void 0,r,void 0,void 0,i).then(e=>{this._currentGLB=e,this._scene.add(this._currentGLB);let r=(new f).setFromObject(this._currentGLB);t&&this.cameraBehaviour.cameraControl instanceof D&&this.glbViewerCameraBehaviour.updateCameraOnItemLoaded(r),this._updateBounds(r,null,!0),this._readyForRender(),a()},n)})}preparePerspectiveImage(e,t,r){return new Promise(i=>{var a,n;t||(t=1e3),r||(r=1e3),e||((e=new I({antialias:!0})).setSize(t,r),e.outputColorSpace=x,e.autoClear=!1,e.shadowMap.enabled=!0,e.shadowMap.type=G);let s=this.cameraBehaviour.cameraControl.getCamera().clone();s instanceof E&&(s.aspect=t/r,s.updateProjectionMatrix()),null===(a=this._lightSetting)||void 0===a||a.removeFromScene();let o=new F(this._scene);e.render(this._scene,s);let h=e.domElement.toDataURL();e.domElement.toBlob(e=>{i({image:h,width:t,height:r,blob:e})},"image/png"),o.removeFromScene(),null===(n=this._lightSetting)||void 0===n||n.addToScene()})}adjustCamera(e,t,r,i){if(this.cameraBehaviour.cameraControl instanceof D){let a=(new f).setFromObject(this._scene).getSize(new b);this.cameraBehaviour.cameraControl.adjust(a,e,t,r,i),this._requestRender()}}onStart(e){this._itemsCount=e,this._scene.background=null,this.cameraBehaviour.cameraControl instanceof D&&(this.cameraBehaviour.cameraControl.shouldIgnoreStandardBehavior=!0)}onElementFinished(e){this._itemsCount,Math.round(100/this._itemsCount*e)}onFinished(e){this._scene.background=this._standardSceneBackgroundColor,this.cameraBehaviour.cameraControl instanceof D&&(this.cameraBehaviour.cameraControl.shouldIgnoreStandardBehavior=!1)}clearScene(){this._currentGLB&&(this._scene.remove(this._currentGLB),m(this._currentGLB),this._currentGLB=null),super.clearScene()}enableHD(){super.enableHD()}sceneChanged(){}getBounds(){return this._currentGLB?(new f).setFromObject(this._currentGLB):null}get glbViewerCameraBehaviour(){return this.cameraBehaviour}getGeometryBounds(){return null}cameraBehaviourChanged(){super.cameraBehaviourChanged(),this.cameraBehaviour.cameraControl.addEventListener(3,()=>{this._requestRender()},this),this.cameraBehaviour.cameraControl.addEventListener(4,()=>{this._requestRender()},this)}async moveCamera(e){return this.glbViewerCameraBehaviour.externalApiMoveCamera(e)}_readyForRender(){this._globalCallback.onReadyForRender()}}h([c],R.prototype,"_glbInputManager",void 0),h([c],R.prototype,"_rapiAccess",void 0);class z{constructor(e,t,r){this._prefix="https://furniture.roomle.com/3d/glb/",this._listeners=new Set,this._finishedItems=0,this._sceneManager=e,this._renderer=new I({antialias:!0,alpha:!0}),this._width=t,this._height=r,this._renderer.setSize(t,r),this._renderer.setClearColor(16777215,0),this._renderer.outputColorSpace=x}addListener(e){this._listeners.add(e)}removeListener(e){this._listeners.delete(e)}start(e){return this._entries=[],e.forEach(e=>{this._entries.push(this._transform(e))}),this._finishedItems=0,this._listeners.forEach(e=>e.onStart(this._entries.length)),this._zip=new window.JSZip,this._doNextEntry(),new Promise(e=>{this._resolve=e})}_transform(e){return{name:e.path.replace(".glb",".png"),url:this._prefix+e.path,position:new b(e.camera.position.x,e.camera.position.z,-e.camera.position.y),fov:2*e.camera.fieldOfView,yaw:e.camera.rotation.z,pitch:e.camera.rotation.x}}_doNextEntry(){0===this._entries.length?(this._listeners.forEach(e=>e.onFinished(this._zip)),this._resolve(this._zip)):this._processEntry(this._entries[0])}_processEntry(e){this._sceneManager.loadGLB(e.url,!1,void 0).then(()=>{this._sceneManager.adjustCamera(e.position,e.yaw,e.pitch,e.fov),this._sceneManager.preparePerspectiveImage(this._renderer,this._width,this._height).then(t=>{this._entryFinished(e,t)})})}_entryFinished(e,t){let r=this._entries.indexOf(e);r>-1&&this._entries.splice(r,1),this._finishedItems++,this._listeners.forEach(e=>e.onElementFinished(this._finishedItems)),this._zip.file(e.name,t.blob),this._doNextEntry()}}class A{constructor(e){this._currentIdOrUrl=null,this._creator_=e}setCameraOffset(e){this._sceneManager.setCameraOffset(e)}getCameraOffset(){return this._sceneManager.getCameraOffset()}init(e,t){return this.setOverrides(t),this._domHelper.setDomElement(e),this._sceneManager?(this._lifeCycleManager.resume(),Promise.resolve()):new Promise(this._initPromiseCallback.bind(this))}_initPromiseCallback(e,t){Promise.all([this._scriptLoader.fetch(w,{id:"tween-js"})]).then(()=>{this._sceneManager=new R(this._creator_,{left:0,top:1,right:1,bottom:0}),this._sceneManager.enableHD(),e()})}clearScene(){this._sceneManager.clearScene()}loadGLB(e,t=1,r){return this._currentIdOrUrl=e,this._rapiAccess.trackView(e),this._sceneManager.loadGLB(e,!0,new b(t,t,t),r)}loadStaticItem(e,t){return this._currentIdOrUrl=e,this._rapiAccess.trackView(e),this._sceneManager.loadStaticItem(e,t)}getCurrentId(){return this._currentIdOrUrl}loadSceneSetting(e){return this._sceneManager.loadSceneSettings(e)}preparePerspectiveImage(){return this._sceneManager.preparePerspectiveImage()}processRenderList(e,t=320,r=320){let i=JSON.parse(e);this._scriptLoader.fetch("static/jszip.min-c96375d50e72b199.js",{id:"jszip-js"}).then(()=>{let e=new z(this._sceneManager,t,r);e.addListener(this._sceneManager),e.start(i.items).then(t=>{t.generateAsync({type:"blob"}).then(t=>{j("content.zip",URL.createObjectURL(t)),e.removeListener(this._sceneManager)})})})}setOverrides(e){e&&(this._initData.setOverrides(e),this._globalInitData.setOverrides(e))}updateSize(){this._sceneManager.updateCamera()}getMain(){}resumeTest(e){this._domHelper.setDomElement(e),this._lifeCycleManager.resume()}pauseTest(){this._lifeCycleManager.pause()}showGUI(){this._sceneManager.showGUI()}get callbacks(){return{}}getScene(){return this._sceneManager.getScene()}updateScene(){this._sceneManager.updateScene()}getUnitFormatter(){return this._unitFormatter}getStorage(){return this._idbManager}setEnvironmentMap(e){const{url:t,intensity:r,rotation:i,maxLightSources:a}=e;this._sceneManager.setEnvironmentMap(t,r,i,a)}exportCanvasScreenshot(e){return this._sceneManager.exportCanvasScreenshot(e)}async moveCamera(e){return this._sceneManager.moveCamera(e)}get globalCallbacks(){return this._globalCallback}}h([c],A.prototype,"_rapiAccess",void 0),h([c],A.prototype,"_domHelper",void 0),h([c],A.prototype,"_scriptLoader",void 0),h([c],A.prototype,"_lifeCycleManager",void 0),h([c],A.prototype,"_initData",void 0),h([c],A.prototype,"_globalInitData",void 0),h([c],A.prototype,"_globalCallback",void 0),h([c],A.prototype,"_unitFormatter",void 0),h([c],A.prototype,"_idbManager",void 0),e("GlbViewer",class extends r{setupGlobals(){}setupDependencies(){_.setup(P),this.lookup("logger",this._context)}cleanUpGlobals(){throw new Error("Method not implemented.")}cleanUpDependencies(){throw new Error("Method not implemented.")}bootFinished(){this._viewer=new A(this._context),window.RoomleGLBViewer||(window.RoomleGLBViewer=this._viewer)}getApi(){return this._viewer}getContextName(){return"glb-viewer"}})}}}));
2
- //# sourceMappingURL=glb-viewer-2d94a287.nomodule.js.map
1
+ System.register(["./script-loader-d022ac10.nomodule.js","./roomle-dependency-injection-7065f121.nomodule.js","./camera-behaviour-38b2e4d9.nomodule.js","./main-thread-to-worker-7f1cb5ea.nomodule.js","./default-light-setting-2983998d.nomodule.js","./glb-viewer-camera-behaviour-9754b7f1.nomodule.js","./query-params-helper-4f855064.nomodule.js"],(function(e){var t,r,i,a,n,s,o,h,c,l,d,m,u,_,g,p,v,w,b,C,f,S,L,B,M,y,I,x,G,E,j,F,O;return{setters:[function(e){t=e.S,r=e.M},function(e){i=e.aP,a=e.D,n=e.L,s=e.R,o=e.ah,h=e._,c=e.i,l=e.w,d=e.y,m=e.z,u=e.J,_=e.b},function(e){g=e.C,p=e.L,v=e.S,w=e.T},function(e){b=e.a,C=e.ad,f=e.ag,S=e.Q,L=e.A,B=e.C,M=e.aE,y=e.aR,I=e.by,x=e.i,G=e.bk,E=e.U,j=e.bF},function(e){F=e.D},function(e){O=e.G},function(){}],execute:function(){const P=[new a("script-loader",t),new a("glb-input-manager",class extends i{},1),new a("logger",n),new a("rapi-access",s)];class D extends g{constructor(){super(...arguments),this.shouldIgnoreStandardBehavior=!1}adjust(e,t,r,i,a){let n=new b(-e.x/2,0,-e.z/2),s=new b(e.x/2,e.y,e.z/2);this._boundingBox=new C(n,s);let o=new f(-Math.PI/2+i,r,0,"ZYX"),h=(new S).setFromEuler(o);this._camera.updateProjectionMatrix(),this._camera.quaternion.copy(h),this._camera.position.copy(t)}_update(e){this.shouldIgnoreStandardBehavior?this._saveYawAndPitch():super._update(e)}animateCamera(e){return!!this.shouldIgnoreStandardBehavior||super.animateCamera(e)}}class k extends p{constructor(e,t){super(e,t),this._params={ambientLight:{color:"#ffffff"}},this._ambientLight=new L(new B(this._params.ambientLight.color),.5),this.addToScene()}addToScene(){this._scene.add(this._ambientLight)}removeFromScene(){this._scene.remove(this._ambientLight)}reload(){this.removeFromScene(),this.addToScene()}showGUI(){let e=o();if(e&&this._ambientLight){let t=e.addFolder("Ambient Light");t.add(this._ambientLight,"visible"),t.add(this._ambientLight,"intensity").min(0).max(5).step(.1),t.addColor(this._params.ambientLight,"color").onChange(e=>{this._ambientLight.color=new B(e)})}}}class R extends v{constructor(e,t){super(e,t,l.GLB,M.CAMERA_3D),this._itemsCount=0,this._standardSceneBackgroundColor=this._scene.background,this._initData.legacyLight&&(this._renderer.capabilities.maxTextures>8?this.loadDynamicLightSetting(d.createDynamicLightSettingSource(null,m.CAMERA)):(console.warn("this device has a maximum of 8 texture units thus we are using a simpler light setting"),this._lightSetting=new k(this._scene)))}createCameraControl(e,t){this._changeCameraBehaviour(new O(new D(this._creator_,this._getInputManager(),null),this._cameraBehaviourState))}_getInputManager(){return this._glbInputManager}async loadStaticItem(e,t){const r=await this._rapiAccess.getItem(e);if(r.configuration)return Promise.reject();const i=y(r);return i?this.loadGLB(i,!0,void 0,t):Promise.reject(new Error("GLB Url not detected"))}loadGLB(e,t=!0,r=new b(1,1,1),i){return this.clearScene(),new Promise((a,n)=>{this._loadGLB(e,new b(0,0,0),0,void 0,r,void 0,void 0,i).then(e=>{this._currentGLB=e,this._scene.add(this._currentGLB);let r=(new C).setFromObject(this._currentGLB);t&&this.cameraBehaviour.cameraControl instanceof D&&this.glbViewerCameraBehaviour.updateCameraOnItemLoaded(r),this._updateBounds(r,null,!0),this._readyForRender(),a()},n)})}preparePerspectiveImage(e,t,r){return new Promise(i=>{var a,n;t||(t=1e3),r||(r=1e3),e||((e=new I({antialias:!0})).setSize(t,r),e.outputColorSpace=x,e.autoClear=!1,e.shadowMap.enabled=!0,e.shadowMap.type=G);let s=this.cameraBehaviour.cameraControl.getCamera().clone();s instanceof E&&(s.aspect=t/r,s.updateProjectionMatrix()),null===(a=this._lightSetting)||void 0===a||a.removeFromScene();let o=new F(this._scene);e.render(this._scene,s);let h=e.domElement.toDataURL();e.domElement.toBlob(e=>{i({image:h,width:t,height:r,blob:e})},"image/png"),o.removeFromScene(),null===(n=this._lightSetting)||void 0===n||n.addToScene()})}adjustCamera(e,t,r,i){if(this.cameraBehaviour.cameraControl instanceof D){let a=(new C).setFromObject(this._scene).getSize(new b);this.cameraBehaviour.cameraControl.adjust(a,e,t,r,i),this._requestRender()}}onStart(e){this._itemsCount=e,this._scene.background=null,this.cameraBehaviour.cameraControl instanceof D&&(this.cameraBehaviour.cameraControl.shouldIgnoreStandardBehavior=!0)}onElementFinished(e){this._itemsCount,Math.round(100/this._itemsCount*e)}onFinished(e){this._scene.background=this._standardSceneBackgroundColor,this.cameraBehaviour.cameraControl instanceof D&&(this.cameraBehaviour.cameraControl.shouldIgnoreStandardBehavior=!1)}clearScene(){this._currentGLB&&(this._scene.remove(this._currentGLB),u(this._currentGLB),this._currentGLB=null),super.clearScene()}enableHD(){super.enableHD()}sceneChanged(){}getBounds(){return this._currentGLB?(new C).setFromObject(this._currentGLB):null}get glbViewerCameraBehaviour(){return this.cameraBehaviour}getGeometryBounds(){return null}cameraBehaviourChanged(){super.cameraBehaviourChanged(),this.cameraBehaviour.cameraControl.addEventListener(3,()=>{this._requestRender()},this),this.cameraBehaviour.cameraControl.addEventListener(4,()=>{this._requestRender()},this)}async moveCamera(e){return this.glbViewerCameraBehaviour.externalApiMoveCamera(e)}_readyForRender(){this._globalCallback.onReadyForRender()}}h([c],R.prototype,"_glbInputManager",void 0),h([c],R.prototype,"_rapiAccess",void 0);class z{constructor(e,t,r){this._prefix="https://furniture.roomle.com/3d/glb/",this._listeners=new Set,this._finishedItems=0,this._sceneManager=e,this._renderer=new I({antialias:!0,alpha:!0}),this._width=t,this._height=r,this._renderer.setSize(t,r),this._renderer.setClearColor(16777215,0),this._renderer.outputColorSpace=x}addListener(e){this._listeners.add(e)}removeListener(e){this._listeners.delete(e)}start(e){return this._entries=[],e.forEach(e=>{this._entries.push(this._transform(e))}),this._finishedItems=0,this._listeners.forEach(e=>e.onStart(this._entries.length)),this._zip=new window.JSZip,this._doNextEntry(),new Promise(e=>{this._resolve=e})}_transform(e){return{name:e.path.replace(".glb",".png"),url:this._prefix+e.path,position:new b(e.camera.position.x,e.camera.position.z,-e.camera.position.y),fov:2*e.camera.fieldOfView,yaw:e.camera.rotation.z,pitch:e.camera.rotation.x}}_doNextEntry(){0===this._entries.length?(this._listeners.forEach(e=>e.onFinished(this._zip)),this._resolve(this._zip)):this._processEntry(this._entries[0])}_processEntry(e){this._sceneManager.loadGLB(e.url,!1,void 0).then(()=>{this._sceneManager.adjustCamera(e.position,e.yaw,e.pitch,e.fov),this._sceneManager.preparePerspectiveImage(this._renderer,this._width,this._height).then(t=>{this._entryFinished(e,t)})})}_entryFinished(e,t){let r=this._entries.indexOf(e);r>-1&&this._entries.splice(r,1),this._finishedItems++,this._listeners.forEach(e=>e.onElementFinished(this._finishedItems)),this._zip.file(e.name,t.blob),this._doNextEntry()}}class A{constructor(e){this._currentIdOrUrl=null,this._creator_=e}setCameraOffset(e){this._sceneManager.setCameraOffset(e)}getCameraOffset(){return this._sceneManager.getCameraOffset()}init(e,t){return this.setOverrides(t),this._domHelper.setDomElement(e),this._sceneManager?(this._lifeCycleManager.resume(),Promise.resolve()):new Promise(this._initPromiseCallback.bind(this))}_initPromiseCallback(e,t){Promise.all([this._scriptLoader.fetch(w,{id:"tween-js"})]).then(()=>{this._sceneManager=new R(this._creator_,{left:0,top:1,right:1,bottom:0}),this._sceneManager.enableHD(),e()})}clearScene(){this._sceneManager.clearScene()}loadGLB(e,t=1,r){return this._currentIdOrUrl=e,this._rapiAccess.trackView(e),this._sceneManager.loadGLB(e,!0,new b(t,t,t),r)}loadStaticItem(e,t){return this._currentIdOrUrl=e,this._rapiAccess.trackView(e),this._sceneManager.loadStaticItem(e,t)}getCurrentId(){return this._currentIdOrUrl}loadSceneSetting(e){return this._sceneManager.loadSceneSettings(e)}preparePerspectiveImage(){return this._sceneManager.preparePerspectiveImage()}processRenderList(e,t=320,r=320){let i=JSON.parse(e);this._scriptLoader.fetch("static/jszip.min-c96375d50e72b199.js",{id:"jszip-js"}).then(()=>{let e=new z(this._sceneManager,t,r);e.addListener(this._sceneManager),e.start(i.items).then(t=>{t.generateAsync({type:"blob"}).then(t=>{j("content.zip",URL.createObjectURL(t)),e.removeListener(this._sceneManager)})})})}setOverrides(e){e&&(this._initData.setOverrides(e),this._globalInitData.setOverrides(e))}updateSize(){this._sceneManager.updateCamera()}getMain(){}resumeTest(e){this._domHelper.setDomElement(e),this._lifeCycleManager.resume()}pauseTest(){this._lifeCycleManager.pause()}showGUI(){this._sceneManager.showGUI()}get callbacks(){return{}}getScene(){return this._sceneManager.getScene()}updateScene(){this._sceneManager.updateScene()}getUnitFormatter(){return this._unitFormatter}getStorage(){return this._idbManager}setEnvironmentMap(e){const{url:t,intensity:r,rotation:i,maxLightSources:a}=e;this._sceneManager.setEnvironmentMap(t,r,i,a)}exportCanvasScreenshot(e){return this._sceneManager.exportCanvasScreenshot(e)}async moveCamera(e){return this._sceneManager.moveCamera(e)}get globalCallbacks(){return this._globalCallback}}h([c],A.prototype,"_rapiAccess",void 0),h([c],A.prototype,"_domHelper",void 0),h([c],A.prototype,"_scriptLoader",void 0),h([c],A.prototype,"_lifeCycleManager",void 0),h([c],A.prototype,"_initData",void 0),h([c],A.prototype,"_globalInitData",void 0),h([c],A.prototype,"_globalCallback",void 0),h([c],A.prototype,"_unitFormatter",void 0),h([c],A.prototype,"_idbManager",void 0),e("GlbViewer",class extends r{setupGlobals(){}setupDependencies(){_.setup(P),this.lookup("logger",this._context)}cleanUpGlobals(){throw new Error("Method not implemented.")}cleanUpDependencies(){throw new Error("Method not implemented.")}bootFinished(){this._viewer=new A(this._context),window.RoomleGLBViewer||(window.RoomleGLBViewer=this._viewer)}getApi(){return this._viewer}getContextName(){return"glb-viewer"}})}}}));
2
+ //# sourceMappingURL=glb-viewer-a684a4c6.nomodule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glb-viewer-2d94a287.nomodule.js","sources":["../../node_modules/jszip/dist/jszip.min.js"],"sourcesContent":["export default \"static/jszip.min-c96375d50e72b199.js\""],"names":[],"mappings":"m0PAAe"}
1
+ {"version":3,"file":"glb-viewer-a684a4c6.nomodule.js","sources":["../../node_modules/jszip/dist/jszip.min.js"],"sourcesContent":["export default \"static/jszip.min-c96375d50e72b199.js\""],"names":[],"mappings":"m0PAAe"}
@@ -1,2 +1,2 @@
1
- import{b as CameraBehaviour}from"./camera-behaviour-b9a52002.js";class GlbViewerCameraBehaviour extends CameraBehaviour{get cameraControl(){return this._cameraControl}async updateCameraOnItemLoaded(a){await this.cameraControl.updateAndReset(a,!0)}async externalApiMoveCamera(a){await this.cameraControl.moveCamera(a),this._onCameraChanged()}}export{GlbViewerCameraBehaviour as G};
2
- //# sourceMappingURL=glb-viewer-camera-behaviour-169bee0e.js.map
1
+ import{b as CameraBehaviour}from"./camera-behaviour-24973bc6.js";class GlbViewerCameraBehaviour extends CameraBehaviour{get cameraControl(){return this._cameraControl}async updateCameraOnItemLoaded(a){await this.cameraControl.updateAndReset(a,!0)}async externalApiMoveCamera(a){await this.cameraControl.moveCamera(a),this._onCameraChanged()}}export{GlbViewerCameraBehaviour as G};
2
+ //# sourceMappingURL=glb-viewer-camera-behaviour-45c2ab16.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glb-viewer-camera-behaviour-45c2ab16.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- System.register(["./camera-behaviour-27b6ce79.nomodule.js"],(function(e){var a;return{setters:[function(e){a=e.b}],execute:function(){e("G",class extends a{get cameraControl(){return this._cameraControl}async updateCameraOnItemLoaded(e){await this.cameraControl.updateAndReset(e,!0)}async externalApiMoveCamera(e){await this.cameraControl.moveCamera(e),this._onCameraChanged()}})}}}));
2
- //# sourceMappingURL=glb-viewer-camera-behaviour-0aba3eb3.nomodule.js.map
1
+ System.register(["./camera-behaviour-38b2e4d9.nomodule.js"],(function(e){var a;return{setters:[function(e){a=e.b}],execute:function(){e("G",class extends a{get cameraControl(){return this._cameraControl}async updateCameraOnItemLoaded(e){await this.cameraControl.updateAndReset(e,!0)}async externalApiMoveCamera(e){await this.cameraControl.moveCamera(e),this._onCameraChanged()}})}}}));
2
+ //# sourceMappingURL=glb-viewer-camera-behaviour-9754b7f1.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glb-viewer-camera-behaviour-9754b7f1.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{GlbViewer}from"./glb-viewer-212c78d9.js";import"./script-loader-7e3054f7.js";import"./query-params-helper-28405b8d.js";import"./main-thread-to-worker-352ff4b1.js";import"./roomle-dependency-injection-2c9062d2.js";import"./camera-behaviour-24973bc6.js";import"./default-light-setting-20f64f6d.js";import"./glb-viewer-camera-behaviour-45c2ab16.js";(new GlbViewer).boot();
2
+ //# sourceMappingURL=glb-viewer-main-ad9f4fc7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glb-viewer-main-ad9f4fc7.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- System.register(["./glb-viewer-2d94a287.nomodule.js","./script-loader-b4e814f2.nomodule.js","./query-params-helper-51a53f8c.nomodule.js","./main-thread-to-worker-2529fa31.nomodule.js","./roomle-dependency-injection-5fd128b0.nomodule.js","./camera-behaviour-27b6ce79.nomodule.js","./default-light-setting-99036b6f.nomodule.js","./glb-viewer-camera-behaviour-0aba3eb3.nomodule.js"],(function(){var e;return{setters:[function(n){e=n.GlbViewer},function(){},function(){},function(){},function(){},function(){},function(){},function(){}],execute:function(){(new e).boot()}}}));
1
+ System.register(["./glb-viewer-a684a4c6.nomodule.js","./script-loader-d022ac10.nomodule.js","./query-params-helper-4f855064.nomodule.js","./main-thread-to-worker-7f1cb5ea.nomodule.js","./roomle-dependency-injection-7065f121.nomodule.js","./camera-behaviour-38b2e4d9.nomodule.js","./default-light-setting-2983998d.nomodule.js","./glb-viewer-camera-behaviour-9754b7f1.nomodule.js"],(function(){var e;return{setters:[function(n){e=n.GlbViewer},function(){},function(){},function(){},function(){},function(){},function(){},function(){}],execute:function(){(new e).boot()}}}));
2
2
  //# sourceMappingURL=glb-viewer-main.nomodule.js.map
@@ -0,0 +1,2 @@
1
+ System.register(["./main-thread-to-worker-7f1cb5ea.nomodule.js","./roomle-dependency-injection-7065f121.nomodule.js"],(function(e){var t,n;return{setters:[function(e){t=e.bF},function(e){n=e.a0}],execute:function(){const r=(e,t)=>`${e.x.toFixed(t)},${e.y.toFixed(t)},${e.z.toFixed(t)}`,o=(e,t)=>{let n="";for(let r=0;r<t.length;r++)n+=`<${e}${r+1}>${t[r]}</${e}${r+1}>\n `;return n},a=e("createHomagIxXml",(e={},t={},n={},a)=>{return`<?xml version="1.0" encoding="UTF-8"?>\n <XML type="ListBuilder">\n <Order No="${e.orderNumber}" DispDate="${e.dispatchDate}" Basket="${e.basketNumber}">\n ${i=t,`<Head>\n <COMM>${i.comm}</COMM>\n <ARTICLENO>${i.articleno}</ARTICLENO>\n <CUSTOMER>${i.customer}</CUSTOMER>\n <RETAILER>${i.retailer}</RETAILER>\n <CLIENT>${i.client}</CLIENT>\n <PROGRAM>${i.program}</PROGRAM>\n <EMPLOYEE>${i.employee}</EMPLOYEE>\n <TEXT_LONG>${i.textLong}</TEXT_LONG>\n <TEXT_SHORT>${i.textShort}</TEXT_SHORT>\n\n ${o("COLOUR",i.colour)}\n ${o("INFO",i.info)}\n ${o("ADDRESS",i.address)}\n ${o("BILLING_ADDRESS",i.billingAddress)}\n ${o("SHIPPING_ADDRESS",i.shippingAddress)}\n ${o("ORDER_PRICE_INFO",i.orderPriceInfo)}\n ${o("CUSTOM_INFO",i.customInfo)}\n </Head>`}\n <BuilderList>\n ${((e={},t)=>{let n="";for(let i=0;i<t.length;i++)n+=`<Set LineNo="${i+1}">${o=e,a=t[i],`\n <Pname>${a.name}</Pname>\n <Count>${a.count}</Count>\n <PVarString>${a.attributes}</PVarString>\n <ARTICLE_TEXT_INFO1>${o.articleTextInfo1||""}</ARTICLE_TEXT_INFO1>\n <ARTICLE_TEXT_INFO2>${o.articleTextInfo2||""}</ARTICLE_TEXT_INFO2>\n <ARTICLE_PRICE_INFO1>${o.articlePriceInfo1||""}</ARTICLE_PRICE_INFO1>\n <ARTICLE_PRICE_INFO2>${o.articlePriceInfo2||""}</ARTICLE_PRICE_INFO2>\n <ARTICLE_PRICE_INFO3>${o.articlePriceInfo3||""}</ARTICLE_PRICE_INFO3>\n <Pinsertion>${r(a.position,2)}</Pinsertion>\n <POrntation>${r(a.rotation,2)}</POrntation>\n <DeliveryPeriod>${o.deliveryPeriod||""}</DeliveryPeriod>\n <LIEFERANT>${o.supplier||""}</LIEFERANT>\n <Mengenrabatt>${o.discount||0}</Mengenrabatt>\n <MengenrabattAbs>${o.discountAbs||""}</MengenrabattAbs>\n `}</Set>\n `;var o,a;return n})(n,a.articles)}\n </BuilderList>\n </Order>\n </XML>\n `;var i}),i=e("getFakeOrderParams",()=>{const e=Math.floor(1e6*Math.random()).toString();return{orderNumber:"Order "+e,dispatchDate:"9/11/1911",basketNumber:e}}),s=e("getFakeHeaderParams",()=>({comm:"Rubens2Rembrand",articleno:"ExampleSIM",customer:"Roomle",retailer:"Retail",client:"Ex ClientName",program:"program",employee:"Homag",textLong:"long long long txt",textShort:"short txt",colour:["colour1","colour2","colour3","colour4","colour5"],info:["1Admin","2Firma_ABC","3Adresse_ABC","4PLZ_ABC","5Stadt_ABC","6","7","8","9","10","11","12"],address:["Admin","Firma_ABC","Adresse_ABC","PLZ_ABC","Stadt_ABC","Kundennummer_ABC","Land_ABC"],billingAddress:["Optional1","Optional2","Optional3","Optional4","Optional5","Optional6"],shippingAddress:["opt","opt","opt","opt","opt","opt"],orderPriceInfo:["000","Price002","Price003","Price004","Price005"],customInfo:["CustInf1","CustInf2","CustInf3","CustInf4","CustInf5","CustInf6","CustInf7","CustInf8","CustInf9","CustInf10"]})),c=e("getFakeArticleParams",()=>({}));e("downloadHomagIxExportPoC",async(e,r,o)=>{const l=n(e.objects);let I=[];for(const e of l){const t=e.configurationRuntimeId;try{const e=JSON.parse(r.generateExport(2,t,o));I=I.concat(e.articles)}catch(e){return console.error(e),Promise.reject("Could not create export JSON 2")}}const u=i(),d=s(),E=c(),C=a(u,d,E,{articles:I});return t("IMOSiX.xml",C),Promise.resolve()}),e("generateExportHomagIxConfiguration",async(e,t,n,r,o="")=>{try{return n.setDefaultExportDataDefinition(o),Promise.resolve(JSON.parse(n.generateExport(t,e,r)))}catch(e){return console.error(e),Promise.reject("Could not create export JSON "+t)}}),e("homagIxMockUpData",(e,t={},n={},r={})=>(t=i(),n=s(),r=c(),a(t,n,r,e)))}}}));
2
+ //# sourceMappingURL=imos-ix-poc-export-helper-6a36afe0.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imos-ix-poc-export-helper-6a36afe0.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{bF as download}from"./main-thread-to-worker-352ff4b1.js";import{a0 as convertCObject}from"./roomle-dependency-injection-2c9062d2.js";const createVector3fString=(e,t)=>`${e.x.toFixed(t)},${e.y.toFixed(t)},${e.z.toFixed(t)}`,createSectionFromArray=(e,t)=>{let r="";for(let o=0;o<t.length;o++)r+=`<${e}${o+1}>${t[o]}</${e}${o+1}>\n `;return r},createHomagIxXml=(e={},t={},r={},o)=>{return`<?xml version="1.0" encoding="UTF-8"?>\n <XML type="ListBuilder">\n <Order No="${e.orderNumber}" DispDate="${e.dispatchDate}" Basket="${e.basketNumber}">\n ${n=t,`<Head>\n <COMM>${n.comm}</COMM>\n <ARTICLENO>${n.articleno}</ARTICLENO>\n <CUSTOMER>${n.customer}</CUSTOMER>\n <RETAILER>${n.retailer}</RETAILER>\n <CLIENT>${n.client}</CLIENT>\n <PROGRAM>${n.program}</PROGRAM>\n <EMPLOYEE>${n.employee}</EMPLOYEE>\n <TEXT_LONG>${n.textLong}</TEXT_LONG>\n <TEXT_SHORT>${n.textShort}</TEXT_SHORT>\n\n ${createSectionFromArray("COLOUR",n.colour)}\n ${createSectionFromArray("INFO",n.info)}\n ${createSectionFromArray("ADDRESS",n.address)}\n ${createSectionFromArray("BILLING_ADDRESS",n.billingAddress)}\n ${createSectionFromArray("SHIPPING_ADDRESS",n.shippingAddress)}\n ${createSectionFromArray("ORDER_PRICE_INFO",n.orderPriceInfo)}\n ${createSectionFromArray("CUSTOM_INFO",n.customInfo)}\n </Head>`}\n <BuilderList>\n ${((e={},t)=>{let r="";for(let a=0;a<t.length;a++)r+=`<Set LineNo="${a+1}">${o=e,n=t[a],`\n <Pname>${n.name}</Pname>\n <Count>${n.count}</Count>\n <PVarString>${n.attributes}</PVarString>\n <ARTICLE_TEXT_INFO1>${o.articleTextInfo1||""}</ARTICLE_TEXT_INFO1>\n <ARTICLE_TEXT_INFO2>${o.articleTextInfo2||""}</ARTICLE_TEXT_INFO2>\n <ARTICLE_PRICE_INFO1>${o.articlePriceInfo1||""}</ARTICLE_PRICE_INFO1>\n <ARTICLE_PRICE_INFO2>${o.articlePriceInfo2||""}</ARTICLE_PRICE_INFO2>\n <ARTICLE_PRICE_INFO3>${o.articlePriceInfo3||""}</ARTICLE_PRICE_INFO3>\n <Pinsertion>${createVector3fString(n.position,2)}</Pinsertion>\n <POrntation>${createVector3fString(n.rotation,2)}</POrntation>\n <DeliveryPeriod>${o.deliveryPeriod||""}</DeliveryPeriod>\n <LIEFERANT>${o.supplier||""}</LIEFERANT>\n <Mengenrabatt>${o.discount||0}</Mengenrabatt>\n <MengenrabattAbs>${o.discountAbs||""}</MengenrabattAbs>\n `}</Set>\n `;var o,n;return r})(r,o.articles)}\n </BuilderList>\n </Order>\n </XML>\n `;var n},getFakeOrderParams=()=>{const e=Math.floor(1e6*Math.random()).toString();return{orderNumber:"Order "+e,dispatchDate:"9/11/1911",basketNumber:e}},getFakeHeaderParams=()=>({comm:"Rubens2Rembrand",articleno:"ExampleSIM",customer:"Roomle",retailer:"Retail",client:"Ex ClientName",program:"program",employee:"Homag",textLong:"long long long txt",textShort:"short txt",colour:["colour1","colour2","colour3","colour4","colour5"],info:["1Admin","2Firma_ABC","3Adresse_ABC","4PLZ_ABC","5Stadt_ABC","6","7","8","9","10","11","12"],address:["Admin","Firma_ABC","Adresse_ABC","PLZ_ABC","Stadt_ABC","Kundennummer_ABC","Land_ABC"],billingAddress:["Optional1","Optional2","Optional3","Optional4","Optional5","Optional6"],shippingAddress:["opt","opt","opt","opt","opt","opt"],orderPriceInfo:["000","Price002","Price003","Price004","Price005"],customInfo:["CustInf1","CustInf2","CustInf3","CustInf4","CustInf5","CustInf6","CustInf7","CustInf8","CustInf9","CustInf10"]}),getFakeArticleParams=()=>({}),downloadHomagIxExportPoC=async(e,t,r)=>{const o=convertCObject(e.objects);let n=[];for(const e of o){const o=e.configurationRuntimeId;try{const e=JSON.parse(t.generateExport(2,o,r));n=n.concat(e.articles)}catch(e){return console.error(e),Promise.reject("Could not create export JSON 2")}}const a=getFakeOrderParams(),i=createHomagIxXml(a,{comm:"Rubens2Rembrand",articleno:"ExampleSIM",customer:"Roomle",retailer:"Retail",client:"Ex ClientName",program:"program",employee:"Homag",textLong:"long long long txt",textShort:"short txt",colour:["colour1","colour2","colour3","colour4","colour5"],info:["1Admin","2Firma_ABC","3Adresse_ABC","4PLZ_ABC","5Stadt_ABC","6","7","8","9","10","11","12"],address:["Admin","Firma_ABC","Adresse_ABC","PLZ_ABC","Stadt_ABC","Kundennummer_ABC","Land_ABC"],billingAddress:["Optional1","Optional2","Optional3","Optional4","Optional5","Optional6"],shippingAddress:["opt","opt","opt","opt","opt","opt"],orderPriceInfo:["000","Price002","Price003","Price004","Price005"],customInfo:["CustInf1","CustInf2","CustInf3","CustInf4","CustInf5","CustInf6","CustInf7","CustInf8","CustInf9","CustInf10"]},{},{articles:n});return download("IMOSiX.xml",i),Promise.resolve()},generateExportHomagIxConfiguration=async(e,t,r,o,n="")=>{try{return r.setDefaultExportDataDefinition(n),Promise.resolve(JSON.parse(r.generateExport(t,e,o)))}catch(e){return console.error(e),Promise.reject("Could not create export JSON "+t)}},homagIxMockUpData=(e,t={},r={},o={})=>(t=getFakeOrderParams(),createHomagIxXml(t,{comm:"Rubens2Rembrand",articleno:"ExampleSIM",customer:"Roomle",retailer:"Retail",client:"Ex ClientName",program:"program",employee:"Homag",textLong:"long long long txt",textShort:"short txt",colour:["colour1","colour2","colour3","colour4","colour5"],info:["1Admin","2Firma_ABC","3Adresse_ABC","4PLZ_ABC","5Stadt_ABC","6","7","8","9","10","11","12"],address:["Admin","Firma_ABC","Adresse_ABC","PLZ_ABC","Stadt_ABC","Kundennummer_ABC","Land_ABC"],billingAddress:["Optional1","Optional2","Optional3","Optional4","Optional5","Optional6"],shippingAddress:["opt","opt","opt","opt","opt","opt"],orderPriceInfo:["000","Price002","Price003","Price004","Price005"],customInfo:["CustInf1","CustInf2","CustInf3","CustInf4","CustInf5","CustInf6","CustInf7","CustInf8","CustInf9","CustInf10"]},{},e));export{createHomagIxXml,downloadHomagIxExportPoC,generateExportHomagIxConfiguration,getFakeArticleParams,getFakeHeaderParams,getFakeOrderParams,homagIxMockUpData};
2
+ //# sourceMappingURL=imos-ix-poc-export-helper-9404ff2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imos-ix-poc-export-helper-9404ff2e.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ System.register(["./main-thread-to-worker-6115d235.legacy.js"],(function(e){var t,i,n,r,v,o;return{setters:[function(e){t=e._,i=e.e,n=e.c3,r=e.k,v=e.a0,o=e.c4}],execute:function(){e("T",function(e){function n(e){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r(this,n);var s=i.font;if(void 0===s)t=v(this,n);else{var a=s.generateShapes(e,i.size);void 0===i.depth&&(i.depth=50),void 0===i.bevelThickness&&(i.bevelThickness=10),void 0===i.bevelSize&&(i.bevelSize=8),void 0===i.bevelEnabled&&(i.bevelEnabled=!1),t=v(this,n,[a,i])}return t.type="TextGeometry",o(t)}return t(n,e),i(n)}(n))}}}));
2
+ //# sourceMappingURL=TextGeometry-7a5a6f22.legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextGeometry-7a5a6f22.legacy.js","sources":["../../../node_modules/three/examples/jsm/geometries/TextGeometry.js"],"sourcesContent":["/**\n * Text = 3D Text\n *\n * parameters = {\n * font: <THREE.Font>, // font\n *\n * size: <float>, // size of the text\n * depth: <float>, // thickness to extrude text\n * curveSegments: <int>, // number of points on the curves\n *\n * bevelEnabled: <bool>, // turn on bevel\n * bevelThickness: <float>, // how deep into text bevel goes\n * bevelSize: <float>, // how far from text outline (including bevelOffset) is bevel\n * bevelOffset: <float> // how far from text outline does bevel start\n * }\n */\n\nimport {\n\tExtrudeGeometry\n} from 'three';\n\nclass TextGeometry extends ExtrudeGeometry {\n\n\tconstructor( text, parameters = {} ) {\n\n\t\tconst font = parameters.font;\n\n\t\tif ( font === undefined ) {\n\n\t\t\tsuper(); // generate default extrude geometry\n\n\t\t} else {\n\n\t\t\tconst shapes = font.generateShapes( text, parameters.size );\n\n\t\t\t// defaults\n\n\t\t\tif ( parameters.depth === undefined ) parameters.depth = 50;\n\t\t\tif ( parameters.bevelThickness === undefined ) parameters.bevelThickness = 10;\n\t\t\tif ( parameters.bevelSize === undefined ) parameters.bevelSize = 8;\n\t\t\tif ( parameters.bevelEnabled === undefined ) parameters.bevelEnabled = false;\n\n\t\t\tsuper( shapes, parameters );\n\n\t\t}\n\n\t\tthis.type = 'TextGeometry';\n\n\t}\n\n}\n\n\nexport { TextGeometry };\n"],"names":["exports","_ExtrudeGeometry","TextGeometry","text","_this","parameters","arguments","length","undefined","_classCallCheck","font","_callSuper","shapes","generateShapes","size","depth","bevelThickness","bevelSize","bevelEnabled","this","type","_assertThisInitialized","_inherits","_createClass","ExtrudeGeometry"],"mappings":"oLAqBkBA,EAAA,aAAAC,GAEjB,SAAAC,EAAaC,GAAwB,IAAAC,EAAlBC,EAAUC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAAEG,OAAAP,GAEjC,IAAMQ,EAAOL,EAAWK,KAExB,QAAcF,IAATE,EAEJN,EAAAO,EAAAT,KAAAA,OAEM,CAEN,IAAMU,EAASF,EAAKG,eAAgBV,EAAME,EAAWS,WAI3BN,IAArBH,EAAWU,QAAsBV,EAAWU,MAAQ,SACtBP,IAA9BH,EAAWW,iBAA+BX,EAAWW,eAAiB,SAC7CR,IAAzBH,EAAWY,YAA0BZ,EAAWY,UAAY,QAChCT,IAA5BH,EAAWa,eAA6Bb,EAAWa,cAAe,GAEvEd,EAAAO,EAAAQ,KAAAjB,EAAOU,CAAAA,EAAQP,IAIW,OAA3BD,EAAKgB,KAAO,eAAeC,EAAAjB,GAE3B,OAAAkB,EAAApB,EAAAD,GAAAsB,EAAArB,IA3ByBsB"}
@@ -1,2 +1,2 @@
1
- System.register(["./roomle-dependency-injection-500dbf0d.legacy.js","./main-thread-to-worker-7c2b8bc9.legacy.js"],(function(e){var n,t,a,s,i;return{setters:[function(e){n=e.aY,t=e._,a=e.i},function(e){s=e.g,i=e.a}],execute:function(){class c extends n{setScene(e){this._scene=e,this._staticItemLoader.loadGLB(s()+"static/banana-bbcc0e46fc0ee694.glb").then(e=>{this._banana=e.scene,this.updateBounds(null)})}updateBounds(e){if(e&&(this._bounds=e),this._bounds){if(this._banana){const e=this._bounds.getSize(new i),n=this._bounds.getCenter(new i).clone();n.x-=e.x/2+.18,n.z+=e.z/2+.05,n.y=0;let t=.1;this._banana.scale.copy(new i(t,t,t)),this._banana.rotation.y=.6,this._banana.position.copy(n)}this._scene.children.includes(this._banana)||this.addToScene()}}clearScene(e,n){super.clearScene(e,n),this.removeFromScene()}addToScene(){this._scene&&this._banana&&this._scene.add(this._banana)}removeFromScene(){this._scene&&this._banana&&this._scene.remove(this._banana)}}e("default",c),t([a],c.prototype,"_staticItemLoader",void 0)}}}));
2
- //# sourceMappingURL=banana-for-scale-a28854f7.legacy.js.map
1
+ System.register(["./roomle-dependency-injection-6f2ea0b0.legacy.js","./main-thread-to-worker-6115d235.legacy.js"],(function(e){var n,t,a,s,i;return{setters:[function(e){n=e.a$,t=e._,a=e.i},function(e){s=e.g,i=e.a}],execute:function(){class c extends n{setScene(e){this._scene=e,this._staticItemLoader.loadGLB(s()+"static/banana-bbcc0e46fc0ee694.glb").then(e=>{this._banana=e.scene,this.updateBounds(null)})}updateBounds(e){if(e&&(this._bounds=e),this._bounds){if(this._banana){const e=this._bounds.getSize(new i),n=this._bounds.getCenter(new i).clone();n.x-=e.x/2+.18,n.z+=e.z/2+.05,n.y=0;let t=.1;this._banana.scale.copy(new i(t,t,t)),this._banana.rotation.y=.6,this._banana.position.copy(n)}this._scene.children.includes(this._banana)||this.addToScene()}}clearScene(e,n){super.clearScene(e,n),this.removeFromScene()}addToScene(){this._scene&&this._banana&&this._scene.add(this._banana)}removeFromScene(){this._scene&&this._banana&&this._scene.remove(this._banana)}}e("default",c),t([a],c.prototype,"_staticItemLoader",void 0)}}}));
2
+ //# sourceMappingURL=banana-for-scale-063481d1.legacy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"banana-for-scale-a28854f7.legacy.js","sources":["../../../packages/configurator-core/public/geometry/banana.glb"],"sourcesContent":["export default \"static/banana-bbcc0e46fc0ee694.glb\""],"names":[],"mappings":"yTAAe"}
1
+ {"version":3,"file":"banana-for-scale-063481d1.legacy.js","sources":["../../../packages/configurator-core/public/geometry/banana.glb"],"sourcesContent":["export default \"static/banana-bbcc0e46fc0ee694.glb\""],"names":[],"mappings":"yTAAe"}
@@ -1,2 +1,2 @@
1
- System.register(["./main-thread-to-worker-7c2b8bc9.legacy.js","./query-params-helper-aca6a1b1.legacy.js"],(function(){var e,r,t;return{setters:[function(t){e=t.M,r=t.g},function(e){t=e.g}],execute:function(){new class{_addIframe(){const e="website-to-measure";if(document.getElementById(e))return void console.error("Iframe already added! Check how this can happen");const r=t();if(!r.checkUrl)return void console.error("CAN NOT MEASURE WITHOUT A URL, add checkUrl queryParam. To encode call BudgeteerMeasure.encodeUrl(url: string)");let o=this.decodeUrl(r.checkUrl);const i=window.location.origin;if(!o.startsWith(i))return void console.error("CAN ONLY MEASURE SAME ORIGIN PLEASE CHECK",{origin:i,src:o});const n=t(o),a=Object.keys(n).length?"&":"?";n._measureTraffic||(o+=a+"_measureTraffic=true");const c=document.createElement("iframe");c.id=e,c.src=o,document.body.appendChild(c)}_isAlreadyActive(){return navigator.serviceWorker.controller&&-1!==navigator.serviceWorker.controller.scriptURL.indexOf("budgeteer.sw")&&"activated"===navigator.serviceWorker.controller.state}_handleActiveSw(){this._mainThreadToWorker.setEventPoster(navigator.serviceWorker.controller),this._addIframe(),this._alreadyAdded=!0}constructor(){this._inLimbo=!1,this._alreadyAdded=!1,window.addEventListener("beforeunload",()=>this._inLimbo=!0),this._mainThreadToWorker=new e(this,navigator.serviceWorker),this._isAlreadyActive()?this._handleActiveSw():navigator.serviceWorker.register(r()+"static/budgeteer.sw-a4a226d2fc19672e.js",{scope:"../../"}).then(e=>{this._isAlreadyActive()&&this._handleActiveSw()},e=>console.error("Budgeteer registration failed: ",e)),navigator.serviceWorker.addEventListener("controllerchange",()=>this._mainThreadToWorker.setEventPoster(navigator.serviceWorker.controller)),window.BudgeteerMeasure={encodeUrl:this.encodeUrl}}encodeUrl(e){return encodeURIComponent(e)}decodeUrl(e){return decodeURIComponent(e)}onCommand(e){if(!this._inLimbo)switch(e){case 6:this._alreadyAdded||this._addIframe()}}}}}}));
1
+ System.register(["./main-thread-to-worker-6115d235.legacy.js","./query-params-helper-28b451be.legacy.js"],(function(){var e,r,t;return{setters:[function(t){e=t.M,r=t.g},function(e){t=e.g}],execute:function(){new class{_addIframe(){const e="website-to-measure";if(document.getElementById(e))return void console.error("Iframe already added! Check how this can happen");const r=t();if(!r.checkUrl)return void console.error("CAN NOT MEASURE WITHOUT A URL, add checkUrl queryParam. To encode call BudgeteerMeasure.encodeUrl(url: string)");let o=this.decodeUrl(r.checkUrl);const i=window.location.origin;if(!o.startsWith(i))return void console.error("CAN ONLY MEASURE SAME ORIGIN PLEASE CHECK",{origin:i,src:o});const n=t(o),a=Object.keys(n).length?"&":"?";n._measureTraffic||(o+=a+"_measureTraffic=true");const s=document.createElement("iframe");s.id=e,s.src=o,document.body.appendChild(s)}_isAlreadyActive(){return navigator.serviceWorker.controller&&-1!==navigator.serviceWorker.controller.scriptURL.indexOf("budgeteer.sw")&&"activated"===navigator.serviceWorker.controller.state}_handleActiveSw(){this._mainThreadToWorker.setEventPoster(navigator.serviceWorker.controller),this._addIframe(),this._alreadyAdded=!0}constructor(){this._inLimbo=!1,this._alreadyAdded=!1,window.addEventListener("beforeunload",()=>this._inLimbo=!0),this._mainThreadToWorker=new e(this,navigator.serviceWorker),this._isAlreadyActive()?this._handleActiveSw():navigator.serviceWorker.register(r()+"static/budgeteer.sw-a4a226d2fc19672e.js",{scope:"../../"}).then(e=>{this._isAlreadyActive()&&this._handleActiveSw()},e=>console.error("Budgeteer registration failed: ",e)),navigator.serviceWorker.addEventListener("controllerchange",()=>this._mainThreadToWorker.setEventPoster(navigator.serviceWorker.controller)),window.BudgeteerMeasure={encodeUrl:this.encodeUrl}}encodeUrl(e){return encodeURIComponent(e)}decodeUrl(e){return decodeURIComponent(e)}onCommand(e){if(!this._inLimbo)switch(e){case 6:this._alreadyAdded||this._addIframe()}}}}}}));
2
2
  //# sourceMappingURL=budgeteer-measure.legacy.js.map