@roomle/web-sdk 2.64.0-alpha.3 → 2.64.0-bo-mvp.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 (225) hide show
  1. package/.releaserc.json +5 -0
  2. package/lib/{TextGeometry-737a1860.js → TextGeometry-3a5da107.js} +2 -2
  3. package/lib/{TextGeometry-737a1860.js.map → TextGeometry-3a5da107.js.map} +1 -1
  4. package/lib/{TextGeometry-ac459268.nomodule.js → TextGeometry-fbc2f63d.nomodule.js} +2 -2
  5. package/lib/{TextGeometry-ac459268.nomodule.js.map → TextGeometry-fbc2f63d.nomodule.js.map} +1 -1
  6. package/lib/{banana-for-scale-c988da2f.nomodule.js → banana-for-scale-b45b58b4.nomodule.js} +2 -2
  7. package/lib/{banana-for-scale-c988da2f.nomodule.js.map → banana-for-scale-b45b58b4.nomodule.js.map} +1 -1
  8. package/lib/{banana-for-scale-05f4ac07.js → banana-for-scale-fc95b478.js} +2 -2
  9. package/lib/{banana-for-scale-05f4ac07.js.map → banana-for-scale-fc95b478.js.map} +1 -1
  10. package/lib/{budgeteer-measure-a29f3a1a.js → budgeteer-measure-1e5b0989.js} +2 -2
  11. package/lib/{budgeteer-measure-a29f3a1a.js.map → budgeteer-measure-1e5b0989.js.map} +1 -1
  12. package/lib/budgeteer-measure.nomodule.js +1 -1
  13. package/lib/{component-dimensioning-6bd9b67c.nomodule.js → component-dimensioning-3b0064d2.nomodule.js} +2 -2
  14. package/lib/component-dimensioning-3b0064d2.nomodule.js.map +1 -0
  15. package/lib/{component-dimensioning-423fd9bf.js → component-dimensioning-69974680.js} +2 -2
  16. package/lib/component-dimensioning-69974680.js.map +1 -0
  17. package/lib/{component-raycast-helper-e3ef6037.js → component-raycast-helper-782ffffd.js} +2 -2
  18. package/lib/component-raycast-helper-782ffffd.js.map +1 -0
  19. package/lib/{component-raycast-helper-20ea0117.nomodule.js → component-raycast-helper-bf25a952.nomodule.js} +2 -2
  20. package/lib/component-raycast-helper-bf25a952.nomodule.js.map +1 -0
  21. package/lib/configurator-7a7ec780.nomodule.js +2 -0
  22. package/lib/configurator-7a7ec780.nomodule.js.map +1 -0
  23. package/lib/configurator-e3741b39.js +2 -0
  24. package/lib/configurator-e3741b39.js.map +1 -0
  25. package/lib/configurator-main-18d1b34a.js +2 -0
  26. package/lib/configurator-main-18d1b34a.js.map +1 -0
  27. package/lib/configurator-main.nomodule.js +1 -1
  28. package/lib/{continuous-drawing-helper-5faa18d9.js → continuous-drawing-helper-1eabdf3e.js} +2 -2
  29. package/lib/continuous-drawing-helper-1eabdf3e.js.map +1 -0
  30. package/lib/{continuous-drawing-helper-80ff32e3.nomodule.js → continuous-drawing-helper-2b7d9d85.nomodule.js} +2 -2
  31. package/lib/continuous-drawing-helper-2b7d9d85.nomodule.js.map +1 -0
  32. package/lib/definitions/common-core/src/static-files/environment-maps.d.ts +1 -0
  33. package/lib/definitions/common-core/src/utils/init-data.d.ts +1 -0
  34. package/lib/definitions/common-core/src/utils/shims.d.ts +4 -0
  35. package/lib/definitions/common-core/src/utils/threejs-utils.d.ts +46 -1
  36. package/lib/definitions/common-core/src/view-model/plan-element-view-model.d.ts +8 -6
  37. package/lib/definitions/common-core/src/webgl/baked-shadow-plane.d.ts +3 -3
  38. package/lib/definitions/common-core/src/webgl/mesh-generator.d.ts +1 -1
  39. package/lib/definitions/common-core/src/webgl/renderer/environment-definition.d.ts +4 -0
  40. package/lib/definitions/common-core/src/webgl/renderer/render-utility.d.ts +2 -0
  41. package/lib/definitions/common-core/src/webgl/roomle-component-factory.d.ts +6 -5
  42. package/lib/definitions/common-core/src/webgl/static-item-loader.d.ts +2 -2
  43. package/lib/definitions/configurator-core/src/export/production-manager-export.d.ts +35 -0
  44. package/lib/definitions/configurator-core/src/roomle-configurator.d.ts +5 -0
  45. package/lib/definitions/configurator-core/src/utils/raycast-helper.d.ts +3 -2
  46. package/lib/definitions/configurator-core/src/webgl/configurator-scene-event-handler.d.ts +2 -1
  47. package/lib/definitions/planner-core/src/view-model/construction-plan-object-view-model.d.ts +4 -3
  48. package/lib/definitions/planner-core/src/view-model/node-plan-element-view-model.d.ts +2 -1
  49. package/lib/definitions/planner-core/src/webgl/paper-background.d.ts +4 -0
  50. package/lib/definitions/planner-core/src/webgl/planner-mesh-generator.d.ts +1 -1
  51. package/lib/definitions/planner-core/src/webgl/planner-scene-event-handler.d.ts +3 -2
  52. package/lib/definitions/planner-core/src/webgl/planner-scene-manager.d.ts +2 -0
  53. package/lib/{dimensioning-helper-544dae8e.js → dimensioning-helper-15ec6acc.js} +2 -2
  54. package/lib/{dimensioning-helper-544dae8e.js.map → dimensioning-helper-15ec6acc.js.map} +1 -1
  55. package/lib/{dimensioning-helper-cfea4405.nomodule.js → dimensioning-helper-6d48f8d1.nomodule.js} +2 -2
  56. package/lib/{dimensioning-helper-cfea4405.nomodule.js.map → dimensioning-helper-6d48f8d1.nomodule.js.map} +1 -1
  57. package/lib/glb-viewer-d27beb78.nomodule.js +2 -0
  58. package/lib/glb-viewer-d27beb78.nomodule.js.map +1 -0
  59. package/lib/glb-viewer-ecc4345d.js +2 -0
  60. package/lib/glb-viewer-ecc4345d.js.map +1 -0
  61. package/lib/glb-viewer-main-97c9d8a7.js +2 -0
  62. package/lib/glb-viewer-main-97c9d8a7.js.map +1 -0
  63. package/lib/glb-viewer-main.nomodule.js +1 -1
  64. package/lib/{default-light-setting-5021d21d.nomodule.js → jszip.min-890780cd.nomodule.js} +2 -2
  65. package/lib/jszip.min-890780cd.nomodule.js.map +1 -0
  66. package/lib/{default-light-setting-199fd349.js → jszip.min-e038d3dc.js} +2 -2
  67. package/lib/jszip.min-e038d3dc.js.map +1 -0
  68. package/lib/legacy/TextGeometry-ab75a71a.legacy.js +2 -0
  69. package/lib/legacy/{TextGeometry-3d23a51d.legacy.js.map → TextGeometry-ab75a71a.legacy.js.map} +1 -1
  70. package/lib/legacy/{banana-for-scale-1d2e5001.legacy.js → banana-for-scale-9e61173e.legacy.js} +2 -2
  71. package/lib/legacy/{banana-for-scale-1d2e5001.legacy.js.map → banana-for-scale-9e61173e.legacy.js.map} +1 -1
  72. package/lib/legacy/budgeteer-measure.legacy.js +1 -1
  73. package/lib/legacy/{component-dimensioning-1ca6865b.legacy.js → component-dimensioning-613fefcd.legacy.js} +2 -2
  74. package/lib/legacy/component-dimensioning-613fefcd.legacy.js.map +1 -0
  75. package/lib/legacy/{component-raycast-helper-1bd67343.legacy.js → component-raycast-helper-a4036c82.legacy.js} +2 -2
  76. package/lib/legacy/component-raycast-helper-a4036c82.legacy.js.map +1 -0
  77. package/lib/legacy/configurator-a261cc99.legacy.js +2 -0
  78. package/lib/legacy/configurator-a261cc99.legacy.js.map +1 -0
  79. package/lib/legacy/configurator-main.legacy.js +1 -1
  80. package/lib/legacy/{continuous-drawing-helper-120c4646.legacy.js → continuous-drawing-helper-0e70e9a7.legacy.js} +2 -2
  81. package/lib/legacy/continuous-drawing-helper-0e70e9a7.legacy.js.map +1 -0
  82. package/lib/legacy/{dimensioning-helper-bc32f4c1.legacy.js → dimensioning-helper-f1857d08.legacy.js} +2 -2
  83. package/lib/legacy/{dimensioning-helper-bc32f4c1.legacy.js.map → dimensioning-helper-f1857d08.legacy.js.map} +1 -1
  84. package/lib/legacy/glb-viewer-57c20935.legacy.js +2 -0
  85. package/lib/legacy/glb-viewer-57c20935.legacy.js.map +1 -0
  86. package/lib/legacy/glb-viewer-main.legacy.js +1 -1
  87. package/lib/legacy/{default-light-setting-9df1240f.legacy.js → jszip.min-d4fdcc61.legacy.js} +2 -2
  88. package/lib/legacy/jszip.min-d4fdcc61.legacy.js.map +1 -0
  89. package/lib/legacy/main-thread-to-worker-5b54d122.legacy.js +7 -0
  90. package/lib/legacy/main-thread-to-worker-5b54d122.legacy.js.map +1 -0
  91. package/lib/legacy/{material-viewer-3d0019f8.legacy.js → material-viewer-70e480fe.legacy.js} +2 -2
  92. package/lib/legacy/material-viewer-70e480fe.legacy.js.map +1 -0
  93. package/lib/legacy/material-viewer-main.legacy.js +1 -1
  94. package/lib/legacy/planner-e05db63a.legacy.js +2 -0
  95. package/lib/legacy/planner-e05db63a.legacy.js.map +1 -0
  96. package/lib/legacy/planner-main.legacy.js +1 -1
  97. package/lib/legacy/roomle-configurator-e60983ff.legacy.js +2 -0
  98. package/lib/legacy/roomle-configurator-e60983ff.legacy.js.map +1 -0
  99. package/lib/legacy/roomle-dependency-injection-44141f99.legacy.js +9 -0
  100. package/lib/legacy/roomle-dependency-injection-44141f99.legacy.js.map +1 -0
  101. package/lib/legacy/roomle-sdk.legacy.js +1 -1
  102. package/lib/legacy/{scene-manager-524c51aa.legacy.js → scene-manager-8d04ea0a.legacy.js} +2 -2
  103. package/lib/legacy/{scene-manager-524c51aa.legacy.js.map → scene-manager-8d04ea0a.legacy.js.map} +1 -1
  104. package/lib/legacy/{script-loader-63718317.legacy.js → script-loader-6fac3fe0.legacy.js} +2 -2
  105. package/lib/legacy/script-loader-6fac3fe0.legacy.js.map +1 -0
  106. package/lib/legacy/{stats-helper-76fef4ce.legacy.js → stats-helper-31757538.legacy.js} +2 -2
  107. package/lib/legacy/stats-helper-31757538.legacy.js.map +1 -0
  108. package/lib/legacy/{tools-core-cb6c6683.legacy.js → tools-core-51621378.legacy.js} +2 -2
  109. package/lib/legacy/tools-core-51621378.legacy.js.map +1 -0
  110. package/lib/main-thread-to-worker-51e86b2d.nomodule.js +8 -0
  111. package/lib/main-thread-to-worker-51e86b2d.nomodule.js.map +1 -0
  112. package/lib/main-thread-to-worker-84db8f63.js +7 -0
  113. package/lib/main-thread-to-worker-84db8f63.js.map +1 -0
  114. package/lib/{material-viewer-da27bdf1.js → material-viewer-545181e9.js} +2 -2
  115. package/lib/material-viewer-545181e9.js.map +1 -0
  116. package/lib/{material-viewer-6bdf24a6.nomodule.js → material-viewer-c38dd8f2.nomodule.js} +2 -2
  117. package/lib/material-viewer-c38dd8f2.nomodule.js.map +1 -0
  118. package/lib/material-viewer-main-7a72ea77.js +2 -0
  119. package/lib/material-viewer-main-7a72ea77.js.map +1 -0
  120. package/lib/material-viewer-main.nomodule.js +1 -1
  121. package/lib/planner-a7d83bc4.nomodule.js +2 -0
  122. package/lib/planner-a7d83bc4.nomodule.js.map +1 -0
  123. package/lib/planner-cd35c88e.js +2 -0
  124. package/lib/planner-cd35c88e.js.map +1 -0
  125. package/lib/planner-main-334b7730.js +2 -0
  126. package/lib/planner-main-334b7730.js.map +1 -0
  127. package/lib/planner-main.nomodule.js +1 -1
  128. package/lib/roomle-configurator-c6c07655.js +2 -0
  129. package/lib/roomle-configurator-c6c07655.js.map +1 -0
  130. package/lib/roomle-configurator-e99f3ddb.nomodule.js +2 -0
  131. package/lib/roomle-configurator-e99f3ddb.nomodule.js.map +1 -0
  132. package/lib/roomle-dependency-injection-ce22df95.js +9 -0
  133. package/lib/roomle-dependency-injection-ce22df95.js.map +1 -0
  134. package/lib/roomle-dependency-injection-ddec338a.nomodule.js +9 -0
  135. package/lib/roomle-dependency-injection-ddec338a.nomodule.js.map +1 -0
  136. package/lib/{roomle-sdk-65cd7676.js → roomle-sdk-9e0bd8df.js} +2 -2
  137. package/lib/roomle-sdk-9e0bd8df.js.map +1 -0
  138. package/lib/roomle-sdk.nomodule.js +1 -1
  139. package/lib/{scene-manager-04d52be9.nomodule.js → scene-manager-44be1117.nomodule.js} +2 -2
  140. package/lib/{scene-manager-04d52be9.nomodule.js.map → scene-manager-44be1117.nomodule.js.map} +1 -1
  141. package/lib/{scene-manager-d09c0081.js → scene-manager-5f342aff.js} +2 -2
  142. package/lib/{scene-manager-d09c0081.js.map → scene-manager-5f342aff.js.map} +1 -1
  143. package/lib/{script-loader-e5da3e76.nomodule.js → script-loader-0077c549.nomodule.js} +2 -2
  144. package/lib/script-loader-0077c549.nomodule.js.map +1 -0
  145. package/lib/{script-loader-df87f221.js → script-loader-35590426.js} +2 -2
  146. package/lib/script-loader-35590426.js.map +1 -0
  147. package/lib/{stats-helper-9a347f50.js → stats-helper-005d7a0d.js} +2 -2
  148. package/lib/stats-helper-005d7a0d.js.map +1 -0
  149. package/lib/{stats-helper-480da073.nomodule.js → stats-helper-bf7452c2.nomodule.js} +2 -2
  150. package/lib/stats-helper-bf7452c2.nomodule.js.map +1 -0
  151. package/lib/{tools-core-6ff5e2e1.js → tools-core-eed21210.js} +2 -2
  152. package/lib/tools-core-eed21210.js.map +1 -0
  153. package/lib/{tools-core-7c4b21f7.nomodule.js → tools-core-f6ddbeff.nomodule.js} +2 -2
  154. package/lib/tools-core-f6ddbeff.nomodule.js.map +1 -0
  155. package/package.json +3 -3
  156. package/lib/component-dimensioning-423fd9bf.js.map +0 -1
  157. package/lib/component-dimensioning-6bd9b67c.nomodule.js.map +0 -1
  158. package/lib/component-raycast-helper-20ea0117.nomodule.js.map +0 -1
  159. package/lib/component-raycast-helper-e3ef6037.js.map +0 -1
  160. package/lib/configurator-4a49f00e.nomodule.js +0 -2
  161. package/lib/configurator-4a49f00e.nomodule.js.map +0 -1
  162. package/lib/configurator-55f27168.js +0 -2
  163. package/lib/configurator-55f27168.js.map +0 -1
  164. package/lib/configurator-main-4c27db38.js +0 -2
  165. package/lib/configurator-main-4c27db38.js.map +0 -1
  166. package/lib/continuous-drawing-helper-5faa18d9.js.map +0 -1
  167. package/lib/continuous-drawing-helper-80ff32e3.nomodule.js.map +0 -1
  168. package/lib/default-light-setting-199fd349.js.map +0 -1
  169. package/lib/default-light-setting-5021d21d.nomodule.js.map +0 -1
  170. package/lib/glb-viewer-75f22c34.nomodule.js +0 -2
  171. package/lib/glb-viewer-75f22c34.nomodule.js.map +0 -1
  172. package/lib/glb-viewer-7f49b718.js +0 -2
  173. package/lib/glb-viewer-7f49b718.js.map +0 -1
  174. package/lib/glb-viewer-main-9fed0ba6.js +0 -2
  175. package/lib/glb-viewer-main-9fed0ba6.js.map +0 -1
  176. package/lib/legacy/TextGeometry-3d23a51d.legacy.js +0 -2
  177. package/lib/legacy/component-dimensioning-1ca6865b.legacy.js.map +0 -1
  178. package/lib/legacy/component-raycast-helper-1bd67343.legacy.js.map +0 -1
  179. package/lib/legacy/configurator-a3d524e6.legacy.js +0 -2
  180. package/lib/legacy/configurator-a3d524e6.legacy.js.map +0 -1
  181. package/lib/legacy/continuous-drawing-helper-120c4646.legacy.js.map +0 -1
  182. package/lib/legacy/default-light-setting-9df1240f.legacy.js.map +0 -1
  183. package/lib/legacy/glb-viewer-1b533f8e.legacy.js +0 -2
  184. package/lib/legacy/glb-viewer-1b533f8e.legacy.js.map +0 -1
  185. package/lib/legacy/main-thread-to-worker-ac22ea22.legacy.js +0 -7
  186. package/lib/legacy/main-thread-to-worker-ac22ea22.legacy.js.map +0 -1
  187. package/lib/legacy/material-viewer-3d0019f8.legacy.js.map +0 -1
  188. package/lib/legacy/planner-f278b87b.legacy.js +0 -2
  189. package/lib/legacy/planner-f278b87b.legacy.js.map +0 -1
  190. package/lib/legacy/roomle-configurator-f6fba1f1.legacy.js +0 -2
  191. package/lib/legacy/roomle-configurator-f6fba1f1.legacy.js.map +0 -1
  192. package/lib/legacy/roomle-dependency-injection-5609749c.legacy.js +0 -9
  193. package/lib/legacy/roomle-dependency-injection-5609749c.legacy.js.map +0 -1
  194. package/lib/legacy/script-loader-63718317.legacy.js.map +0 -1
  195. package/lib/legacy/stats-helper-76fef4ce.legacy.js.map +0 -1
  196. package/lib/legacy/tools-core-cb6c6683.legacy.js.map +0 -1
  197. package/lib/main-thread-to-worker-5f05ee32.js +0 -7
  198. package/lib/main-thread-to-worker-5f05ee32.js.map +0 -1
  199. package/lib/main-thread-to-worker-be1b59cc.nomodule.js +0 -8
  200. package/lib/main-thread-to-worker-be1b59cc.nomodule.js.map +0 -1
  201. package/lib/material-viewer-6bdf24a6.nomodule.js.map +0 -1
  202. package/lib/material-viewer-da27bdf1.js.map +0 -1
  203. package/lib/material-viewer-main-ff1064c3.js +0 -2
  204. package/lib/material-viewer-main-ff1064c3.js.map +0 -1
  205. package/lib/planner-5b1ccf0e.js +0 -2
  206. package/lib/planner-5b1ccf0e.js.map +0 -1
  207. package/lib/planner-8dfa1666.nomodule.js +0 -2
  208. package/lib/planner-8dfa1666.nomodule.js.map +0 -1
  209. package/lib/planner-main-91814521.js +0 -2
  210. package/lib/planner-main-91814521.js.map +0 -1
  211. package/lib/roomle-configurator-12b42d48.js +0 -2
  212. package/lib/roomle-configurator-12b42d48.js.map +0 -1
  213. package/lib/roomle-configurator-64fa11a1.nomodule.js +0 -2
  214. package/lib/roomle-configurator-64fa11a1.nomodule.js.map +0 -1
  215. package/lib/roomle-dependency-injection-f7c3fb2f.nomodule.js +0 -9
  216. package/lib/roomle-dependency-injection-f7c3fb2f.nomodule.js.map +0 -1
  217. package/lib/roomle-dependency-injection-fe5efe24.js +0 -9
  218. package/lib/roomle-dependency-injection-fe5efe24.js.map +0 -1
  219. package/lib/roomle-sdk-65cd7676.js.map +0 -1
  220. package/lib/script-loader-df87f221.js.map +0 -1
  221. package/lib/script-loader-e5da3e76.nomodule.js.map +0 -1
  222. package/lib/stats-helper-480da073.nomodule.js.map +0 -1
  223. package/lib/stats-helper-9a347f50.js.map +0 -1
  224. package/lib/tools-core-6ff5e2e1.js.map +0 -1
  225. package/lib/tools-core-7c4b21f7.nomodule.js.map +0 -1
package/.releaserc.json CHANGED
@@ -16,6 +16,11 @@
16
16
  "name": "release/test",
17
17
  "channel": "alpha",
18
18
  "prerelease": "alpha"
19
+ },
20
+ {
21
+ "name": "release/bo-mvp",
22
+ "channel": "bo-mvp",
23
+ "prerelease": "bo-mvp"
19
24
  }
20
25
  ],
21
26
  "plugins": [
@@ -1,2 +1,2 @@
1
- import{bN as ExtrudeGeometry}from"./main-thread-to-worker-5f05ee32.js";class TextGeometry extends ExtrudeGeometry{constructor(e,t={}){const o=t.font;if(void 0===o)super();else{const s=o.generateShapes(e,t.size);t.depth=void 0!==t.height?t.height:50,void 0===t.bevelThickness&&(t.bevelThickness=10),void 0===t.bevelSize&&(t.bevelSize=8),void 0===t.bevelEnabled&&(t.bevelEnabled=!1),super(s,t)}this.type="TextGeometry"}}export{TextGeometry as T};
2
- //# sourceMappingURL=TextGeometry-737a1860.js.map
1
+ import{bP as ExtrudeGeometry}from"./main-thread-to-worker-84db8f63.js";class TextGeometry extends ExtrudeGeometry{constructor(e,t={}){const o=t.font;if(void 0===o)super();else{const s=o.generateShapes(e,t.size);t.depth=void 0!==t.height?t.height:50,void 0===t.bevelThickness&&(t.bevelThickness=10),void 0===t.bevelSize&&(t.bevelSize=8),void 0===t.bevelEnabled&&(t.bevelEnabled=!1),super(s,t)}this.type="TextGeometry"}}export{TextGeometry as T};
2
+ //# sourceMappingURL=TextGeometry-3a5da107.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextGeometry-737a1860.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 * height: <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// translate parameters to ExtrudeGeometry API\n\n\t\t\tparameters.depth = parameters.height !== undefined ? parameters.height : 50;\n\n\t\t\t// defaults\n\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":["TextGeometry","ExtrudeGeometry","[object Object]","text","parameters","font","undefined","super","shapes","generateShapes","size","depth","height","bevelThickness","bevelSize","bevelEnabled","this","type"],"mappings":"uEAqBA,MAAMA,qBAAqBC,gBAE1BC,YAAaC,EAAMC,EAAa,IAE/B,MAAMC,EAAOD,EAAWC,KAExB,QAAcC,IAATD,EAEJE,YAEM,CAEN,MAAMC,EAASH,EAAKI,eAAgBN,EAAMC,EAAWM,MAIrDN,EAAWO,WAA8BL,IAAtBF,EAAWQ,OAAuBR,EAAWQ,OAAS,QAItCN,IAA9BF,EAAWS,iBAA+BT,EAAWS,eAAiB,SAC7CP,IAAzBF,EAAWU,YAA0BV,EAAWU,UAAY,QAChCR,IAA5BF,EAAWW,eAA6BX,EAAWW,cAAe,GAEvER,MAAOC,EAAQJ,GAIhBY,KAAKC,KAAO"}
1
+ {"version":3,"file":"TextGeometry-3a5da107.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 * height: <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// translate parameters to ExtrudeGeometry API\n\n\t\t\tparameters.depth = parameters.height !== undefined ? parameters.height : 50;\n\n\t\t\t// defaults\n\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":["TextGeometry","ExtrudeGeometry","[object Object]","text","parameters","font","undefined","super","shapes","generateShapes","size","depth","height","bevelThickness","bevelSize","bevelEnabled","this","type"],"mappings":"uEAqBA,MAAMA,qBAAqBC,gBAE1BC,YAAaC,EAAMC,EAAa,IAE/B,MAAMC,EAAOD,EAAWC,KAExB,QAAcC,IAATD,EAEJE,YAEM,CAEN,MAAMC,EAASH,EAAKI,eAAgBN,EAAMC,EAAWM,MAIrDN,EAAWO,WAA8BL,IAAtBF,EAAWQ,OAAuBR,EAAWQ,OAAS,QAItCN,IAA9BF,EAAWS,iBAA+BT,EAAWS,eAAiB,SAC7CP,IAAzBF,EAAWU,YAA0BV,EAAWU,UAAY,QAChCR,IAA5BF,EAAWW,eAA6BX,EAAWW,cAAe,GAEvER,MAAOC,EAAQJ,GAIhBY,KAAKC,KAAO"}
@@ -1,2 +1,2 @@
1
- System.register(["./main-thread-to-worker-be1b59cc.nomodule.js"],(function(e){var t;return{setters:[function(e){t=e.bN}],execute:function(){e("T",class extends t{constructor(e,t={}){const s=t.font;if(void 0===s)super();else{const i=s.generateShapes(e,t.size);t.depth=void 0!==t.height?t.height:50,void 0===t.bevelThickness&&(t.bevelThickness=10),void 0===t.bevelSize&&(t.bevelSize=8),void 0===t.bevelEnabled&&(t.bevelEnabled=!1),super(i,t)}this.type="TextGeometry"}})}}}));
2
- //# sourceMappingURL=TextGeometry-ac459268.nomodule.js.map
1
+ System.register(["./main-thread-to-worker-51e86b2d.nomodule.js"],(function(e){var t;return{setters:[function(e){t=e.bP}],execute:function(){e("T",class extends t{constructor(e,t={}){const s=t.font;if(void 0===s)super();else{const i=s.generateShapes(e,t.size);t.depth=void 0!==t.height?t.height:50,void 0===t.bevelThickness&&(t.bevelThickness=10),void 0===t.bevelSize&&(t.bevelSize=8),void 0===t.bevelEnabled&&(t.bevelEnabled=!1),super(i,t)}this.type="TextGeometry"}})}}}));
2
+ //# sourceMappingURL=TextGeometry-fbc2f63d.nomodule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextGeometry-ac459268.nomodule.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 * height: <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// translate parameters to ExtrudeGeometry API\n\n\t\t\tparameters.depth = parameters.height !== undefined ? parameters.height : 50;\n\n\t\t\t// defaults\n\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","[object Object]","text","parameters","font","undefined","super","shapes","generateShapes","size","depth","height","bevelThickness","bevelSize","bevelEnabled","this","type"],"mappings":"4IAqDAA,EAAA,IAhCA,cAA2BC,EAE1BC,YAAaC,EAAMC,EAAa,IAE/B,MAAMC,EAAOD,EAAWC,KAExB,QAAcC,IAATD,EAEJE,YAEM,CAEN,MAAMC,EAASH,EAAKI,eAAgBN,EAAMC,EAAWM,MAIrDN,EAAWO,WAA8BL,IAAtBF,EAAWQ,OAAuBR,EAAWQ,OAAS,QAItCN,IAA9BF,EAAWS,iBAA+BT,EAAWS,eAAiB,SAC7CP,IAAzBF,EAAWU,YAA0BV,EAAWU,UAAY,QAChCR,IAA5BF,EAAWW,eAA6BX,EAAWW,cAAe,GAEvER,MAAOC,EAAQJ,GAIhBY,KAAKC,KAAO"}
1
+ {"version":3,"file":"TextGeometry-fbc2f63d.nomodule.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 * height: <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// translate parameters to ExtrudeGeometry API\n\n\t\t\tparameters.depth = parameters.height !== undefined ? parameters.height : 50;\n\n\t\t\t// defaults\n\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","[object Object]","text","parameters","font","undefined","super","shapes","generateShapes","size","depth","height","bevelThickness","bevelSize","bevelEnabled","this","type"],"mappings":"4IAqDAA,EAAA,IAhCA,cAA2BC,EAE1BC,YAAaC,EAAMC,EAAa,IAE/B,MAAMC,EAAOD,EAAWC,KAExB,QAAcC,IAATD,EAEJE,YAEM,CAEN,MAAMC,EAASH,EAAKI,eAAgBN,EAAMC,EAAWM,MAIrDN,EAAWO,WAA8BL,IAAtBF,EAAWQ,OAAuBR,EAAWQ,OAAS,QAItCN,IAA9BF,EAAWS,iBAA+BT,EAAWS,eAAiB,SAC7CP,IAAzBF,EAAWU,YAA0BV,EAAWU,UAAY,QAChCR,IAA5BF,EAAWW,eAA6BX,EAAWW,cAAe,GAEvER,MAAOC,EAAQJ,GAIhBY,KAAKC,KAAO"}
@@ -1,2 +1,2 @@
1
- System.register(["./roomle-dependency-injection-f7c3fb2f.nomodule.js","./main-thread-to-worker-be1b59cc.nomodule.js"],(function(e){var n,t,a,s,i;return{setters:[function(e){n=e.az,t=e._,a=e.i},function(e){s=e.g,i=e.a}],execute:function(){class o extends n{setScene(e){this._scene=e,this._staticItemLoader.loadGLB(s()+"static/banana_div2-1351c98ec2986be1.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=.03;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",o),t([a],o.prototype,"_staticItemLoader",void 0)}}}));
2
- //# sourceMappingURL=banana-for-scale-c988da2f.nomodule.js.map
1
+ System.register(["./roomle-dependency-injection-ddec338a.nomodule.js","./main-thread-to-worker-51e86b2d.nomodule.js"],(function(e){var n,t,a,s,i;return{setters:[function(e){n=e.az,t=e._,a=e.i},function(e){s=e.g,i=e.a}],execute:function(){class o extends n{setScene(e){this._scene=e,this._staticItemLoader.loadGLB(s()+"static/banana_div2-1351c98ec2986be1.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=.03;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",o),t([a],o.prototype,"_staticItemLoader",void 0)}}}));
2
+ //# sourceMappingURL=banana-for-scale-b45b58b4.nomodule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"banana-for-scale-c988da2f.nomodule.js","sources":["../../packages/configurator-core/public/geometry/banana_div2.glb"],"sourcesContent":["export default \"static/banana_div2-1351c98ec2986be1.glb\""],"names":[],"mappings":"6TAAe"}
1
+ {"version":3,"file":"banana-for-scale-b45b58b4.nomodule.js","sources":["../../packages/configurator-core/public/geometry/banana_div2.glb"],"sourcesContent":["export default \"static/banana_div2-1351c98ec2986be1.glb\""],"names":[],"mappings":"6TAAe"}
@@ -1,2 +1,2 @@
1
- import{az as ScenePluginDefaultImplementation,_ as __decorate,i as inject}from"./roomle-dependency-injection-fe5efe24.js";import{g as getAssetPath,a as Vector3}from"./main-thread-to-worker-5f05ee32.js";class BananaForScale extends ScenePluginDefaultImplementation{setScene(e){this._scene=e,this._staticItemLoader.loadGLB(getAssetPath()+"static/banana_div2-1351c98ec2986be1.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 Vector3),a=this._bounds.getCenter(new Vector3).clone();a.x-=e.x/2+.18,a.z+=e.z/2+.05,a.y=0;let n=.03;this._banana.scale.copy(new Vector3(n,n,n)),this._banana.rotation.y=.6,this._banana.position.copy(a)}this._scene.children.includes(this._banana)||this.addToScene()}}clearScene(e,a){super.clearScene(e,a),this.removeFromScene()}addToScene(){this._scene&&this._banana&&this._scene.add(this._banana)}removeFromScene(){this._scene&&this._banana&&this._scene.remove(this._banana)}}__decorate([inject],BananaForScale.prototype,"_staticItemLoader",void 0);export{BananaForScale as default};
2
- //# sourceMappingURL=banana-for-scale-05f4ac07.js.map
1
+ import{az as ScenePluginDefaultImplementation,_ as __decorate,i as inject}from"./roomle-dependency-injection-ce22df95.js";import{g as getAssetPath,a as Vector3}from"./main-thread-to-worker-84db8f63.js";class BananaForScale extends ScenePluginDefaultImplementation{setScene(e){this._scene=e,this._staticItemLoader.loadGLB(getAssetPath()+"static/banana_div2-1351c98ec2986be1.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 Vector3),a=this._bounds.getCenter(new Vector3).clone();a.x-=e.x/2+.18,a.z+=e.z/2+.05,a.y=0;let n=.03;this._banana.scale.copy(new Vector3(n,n,n)),this._banana.rotation.y=.6,this._banana.position.copy(a)}this._scene.children.includes(this._banana)||this.addToScene()}}clearScene(e,a){super.clearScene(e,a),this.removeFromScene()}addToScene(){this._scene&&this._banana&&this._scene.add(this._banana)}removeFromScene(){this._scene&&this._banana&&this._scene.remove(this._banana)}}__decorate([inject],BananaForScale.prototype,"_staticItemLoader",void 0);export{BananaForScale as default};
2
+ //# sourceMappingURL=banana-for-scale-fc95b478.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"banana-for-scale-05f4ac07.js","sources":["../../packages/configurator-core/public/geometry/banana_div2.glb"],"sourcesContent":["export default \"static/banana_div2-1351c98ec2986be1.glb\""],"names":[],"mappings":"gVAAe"}
1
+ {"version":3,"file":"banana-for-scale-fc95b478.js","sources":["../../packages/configurator-core/public/geometry/banana_div2.glb"],"sourcesContent":["export default \"static/banana_div2-1351c98ec2986be1.glb\""],"names":[],"mappings":"gVAAe"}
@@ -1,2 +1,2 @@
1
- import{M as MainThreadToWorker,g as getAssetPath}from"./main-thread-to-worker-5f05ee32.js";import{g as getAllParameters}from"./query-params-helper-a271f9dc.js";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=getAllParameters();if(!r.checkUrl)return void console.error("CAN NOT MEASURE WITHOUT A URL, add checkUrl queryParam. To encode call BudgeteerMeasure.encodeUrl(url: string)");let t=this.decodeUrl(r.checkUrl);const o=window.location.origin;if(!t.startsWith(o))return void console.error("CAN ONLY MEASURE SAME ORIGIN PLEASE CHECK",{origin:o,src:t});const a=getAllParameters(t),i=Object.keys(a).length?"&":"?";a._measureTraffic||(t+=i+"_measureTraffic=true");const s=document.createElement("iframe");s.id=e,s.src=t,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 MainThreadToWorker(this,navigator.serviceWorker),this._isAlreadyActive()?this._handleActiveSw():navigator.serviceWorker.register(getAssetPath()+"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
- //# sourceMappingURL=budgeteer-measure-a29f3a1a.js.map
1
+ import{M as MainThreadToWorker,g as getAssetPath}from"./main-thread-to-worker-84db8f63.js";import{g as getAllParameters}from"./query-params-helper-a271f9dc.js";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=getAllParameters();if(!r.checkUrl)return void console.error("CAN NOT MEASURE WITHOUT A URL, add checkUrl queryParam. To encode call BudgeteerMeasure.encodeUrl(url: string)");let t=this.decodeUrl(r.checkUrl);const o=window.location.origin;if(!t.startsWith(o))return void console.error("CAN ONLY MEASURE SAME ORIGIN PLEASE CHECK",{origin:o,src:t});const a=getAllParameters(t),i=Object.keys(a).length?"&":"?";a._measureTraffic||(t+=i+"_measureTraffic=true");const s=document.createElement("iframe");s.id=e,s.src=t,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 MainThreadToWorker(this,navigator.serviceWorker),this._isAlreadyActive()?this._handleActiveSw():navigator.serviceWorker.register(getAssetPath()+"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
+ //# sourceMappingURL=budgeteer-measure-1e5b0989.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"budgeteer-measure-a29f3a1a.js","sources":["../../packages/workers/generated/budgeteer.sw.js"],"sourcesContent":["export default \"static/budgeteer.sw-a4a226d2fc19672e.js\""],"names":[],"mappings":"w8CAAe"}
1
+ {"version":3,"file":"budgeteer-measure-1e5b0989.js","sources":["../../packages/workers/generated/budgeteer.sw.js"],"sourcesContent":["export default \"static/budgeteer.sw-a4a226d2fc19672e.js\""],"names":[],"mappings":"w8CAAe"}
@@ -1,2 +1,2 @@
1
- System.register(["./main-thread-to-worker-be1b59cc.nomodule.js","./query-params-helper-c231e1b8.nomodule.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()}}}}}}));
1
+ System.register(["./main-thread-to-worker-51e86b2d.nomodule.js","./query-params-helper-c231e1b8.nomodule.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 d=document.createElement("iframe");d.id=e,d.src=o,document.body.appendChild(d)}_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.nomodule.js.map
@@ -1,2 +1,2 @@
1
- System.register(["./roomle-dependency-injection-f7c3fb2f.nomodule.js","./main-thread-to-worker-be1b59cc.nomodule.js","./TextGeometry-ac459268.nomodule.js"],(function(e){var i,t,n,s,o,a,h,d,_,l,r,g,m,c,w,p;return{setters:[function(e){i=e._,t=e.i},function(e){n=e.O,s=e.a,o=e.s,a=e.f,h=e.u,d=e.bg,_=e.B,l=e.z,r=e.x,g=e.b,m=e.Q,c=e.aI,w=e.b5},function(e){p=e.T}],execute:function(){const x="component_dimensioning_line_material",u="component_dimensioning_plane_material",y="component_dimensioning_text_material";class v extends n{constructor(e,i,t,n){super(),this._center=i.getCenter(new s),this._size=i.getSize(new s),this._origin=this._center.clone().sub(this._size.clone().multiplyScalar(.5)),this._dimensioning=e,this._level=this._dimensioning.maxLevel-this._dimensioning.level,this._font=t,this._cameraPosition=n,this._init()}_initMaterials(){this._cacheHolder.materialCache.has(x)?this._lineMaterial=this._cacheHolder.materialCache.get(x):(this._lineMaterial=new o({color:3618615}),this._cacheHolder.materialCache.set(x,this._lineMaterial)),this._cacheHolder.materialCache.has(u)?this._planeMaterial=this._cacheHolder.materialCache.get(u):(this._planeMaterial=new a({color:16777215,side:h,opacity:.8,transparent:!0}),this._cacheHolder.materialCache.set(u,this._planeMaterial)),this._cacheHolder.materialCache.has(y)?this._textMaterial=this._cacheHolder.materialCache.get(y):(this._textMaterial=new d({color:3618615}),this._cacheHolder.materialCache.set(y,this._textMaterial))}_init(){this._initMaterials();let e=new _;this._line=new l(e,this._lineMaterial),this._line.name="component dimension line "+this._dimensioning.type.value,this._text=new r(e,this._textMaterial),this._text.name="component dimension text "+this._dimensioning.type.value,this._plane=new r(e,this._planeMaterial),this._plane.name="component dimension plane "+this._dimensioning.type.value;let i,t=new _,n=Math.round(Math.max(this._size.y,this._size.x,this._size.z)),o=Math.abs(this._dimensioning.to-this._dimensioning.from),a=.025+(n<4?0:.005*n);o<.3&&(a*=.5+o);let h={font:this._font,size:a,height:.001,curveSegments:2,bevelEnabled:!0,bevelThickness:.001,bevelSize:.001},d=this._dimensioning.label?this._dimensioning.label:this._unitFormatter.formatMMValueToUnitString(1e3*o),c=new p(d,h);c.computeBoundingBox();let w=c.boundingBox.getSize(new s).y;0===this._dimensioning.type.value&&(i=this._getXEdge(w),this._addXEdgeSideLines(w)),1===this._dimensioning.type.value&&(i=this._getYEdge(w),this._addYEdgeSideLines(w)),2===this._dimensioning.type.value&&(i=this._getZEdge(w),this._addZEdgeSideLines(w));let x=[i.start.x,i.start.y,i.start.z,i.end.x,i.end.y,i.end.z];if(t.setAttribute("position",new g(new Float32Array(x),3)),this._line.geometry.dispose(),this._line.geometry=t,this.add(this._line),this._text.geometry=c,0===this._dimensioning.type.value&&this._addText(i,c,new m,new s(0,.04,0)),1===this._dimensioning.type.value){let e=new m,t=this._getXSign()>0?Math.PI/2:Math.PI/2*3;e.setFromAxisAngle(new s(0,0,1),t),this._addText(i,c,e,new s(.04,0,0))}if(2===this._dimensioning.type.value){let e=this._getXSign()>0?Math.PI/2:Math.PI/2*3,t=(new m).setFromAxisAngle(new s(-1,0,0),Math.PI/2),n=(new m).setFromAxisAngle(new s(0,0,1),e);this._addText(i,c,t.multiply(n),new s(.04,0,0))}}_getXEdge(e){let i=this._size.y+.05+(.06+e)*this._level;const t=new s(0,this._origin.y,this._origin.z);let n=t.clone().add(new s(this._dimensioning.from,i,0)),o=t.clone().add(new s(this._dimensioning.to,i,0));return new c(n,o)}_addXEdgeSideLines(e){let i=this._size.y+.05+(.06+e)*(this._level-.5),t=this._size.y+.05+(.06+e)*this._level;const n=new s(0,this._origin.y,this._origin.z);let o=n.clone().add(new s(this._dimensioning.from,i,0)),a=n.clone().add(new s(this._dimensioning.from,t,0)),h=n.clone().add(new s(this._dimensioning.to,i,0)),d=n.clone().add(new s(this._dimensioning.to,t,0));this._addLine(o,a),this._addLine(h,d)}_getZEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new s(this._origin.x,this._origin.y,0);let n=t.clone().add(new s(i,0,this._dimensioning.from)),o=t.clone().add(new s(i,0,this._dimensioning.to));return new c(n,o)}_addZEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const o=new s(this._origin.x,this._origin.y,0);let a=o.clone().add(new s(t,0,this._dimensioning.from)),h=o.clone().add(new s(n,0,this._dimensioning.from)),d=o.clone().add(new s(t,0,this._dimensioning.to)),_=o.clone().add(new s(n,0,this._dimensioning.to));this._addLine(a,h),this._addLine(d,_)}_getYEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new s(this._origin.x,0,this._origin.z);let n=t.clone().add(new s(i,this._dimensioning.from,0)),o=t.clone().add(new s(i,this._dimensioning.to,0));return new c(n,o)}_addYEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const o=new s(this._origin.x,0,this._origin.z);let a=o.clone().add(new s(t,this._dimensioning.from,0)),h=o.clone().add(new s(n,this._dimensioning.from,0)),d=o.clone().add(new s(t,this._dimensioning.to,0)),_=o.clone().add(new s(n,this._dimensioning.to,0));this._addLine(a,h),this._addLine(d,_)}_addLine(e,i){let t=new _,n=[e.x,e.y,e.z,i.x,i.y,i.z];t.setAttribute("position",new g(new Float32Array(n),3)),this.add(new l(t,this._lineMaterial))}_addText(e,i,t,n){let o=e.getCenter(new s);n.x*=this._getXSign(),o.add(n);let a=i.boundingBox.getSize(new s);i.center(),this._text.position.copy(o),this._text.quaternion.copy(t),this.add(this._text);let h=new w(a.x+.02,a.y+.02,32);h.center(),this._plane.geometry=h,this._plane.position.copy(o),this._plane.quaternion.copy(t),this.add(this._plane)}_getXSign(){return this._cameraPosition.x>=0?1:-1}}e("default",v),i([t],v.prototype,"_cacheHolder",void 0),i([t],v.prototype,"_unitFormatter",void 0)}}}));
2
- //# sourceMappingURL=component-dimensioning-6bd9b67c.nomodule.js.map
1
+ System.register(["./roomle-dependency-injection-ddec338a.nomodule.js","./main-thread-to-worker-51e86b2d.nomodule.js","./TextGeometry-fbc2f63d.nomodule.js"],(function(e){var i,t,n,s,o,a,h,d,_,l,r,g,m,c,w,p;return{setters:[function(e){i=e._,t=e.i},function(e){n=e.O,s=e.a,o=e.u,a=e.h,h=e.w,d=e.bi,_=e.B,l=e.G,r=e.z,g=e.b,m=e.Q,c=e.aK,w=e.b7},function(e){p=e.T}],execute:function(){const u="component_dimensioning_line_material",x="component_dimensioning_plane_material",y="component_dimensioning_text_material";class v extends n{constructor(e,i,t,n){super(),this._center=i.getCenter(new s),this._size=i.getSize(new s),this._origin=this._center.clone().sub(this._size.clone().multiplyScalar(.5)),this._dimensioning=e,this._level=this._dimensioning.maxLevel-this._dimensioning.level,this._font=t,this._cameraPosition=n,this._init()}_initMaterials(){this._cacheHolder.materialCache.has(u)?this._lineMaterial=this._cacheHolder.materialCache.get(u):(this._lineMaterial=new o({color:3618615}),this._cacheHolder.materialCache.set(u,this._lineMaterial)),this._cacheHolder.materialCache.has(x)?this._planeMaterial=this._cacheHolder.materialCache.get(x):(this._planeMaterial=new a({color:16777215,side:h,opacity:.8,transparent:!0}),this._cacheHolder.materialCache.set(x,this._planeMaterial)),this._cacheHolder.materialCache.has(y)?this._textMaterial=this._cacheHolder.materialCache.get(y):(this._textMaterial=new d({color:3618615}),this._cacheHolder.materialCache.set(y,this._textMaterial))}_init(){this._initMaterials();let e=new _;this._line=new l(e,this._lineMaterial),this._line.name="component dimension line "+this._dimensioning.type.value,this._text=new r(e,this._textMaterial),this._text.name="component dimension text "+this._dimensioning.type.value,this._plane=new r(e,this._planeMaterial),this._plane.name="component dimension plane "+this._dimensioning.type.value;let i,t=new _,n=Math.round(Math.max(this._size.y,this._size.x,this._size.z)),o=Math.abs(this._dimensioning.to-this._dimensioning.from),a=.025+(n<4?0:.005*n);o<.3&&(a*=.5+o);let h={font:this._font,size:a,height:.001,curveSegments:2,bevelEnabled:!0,bevelThickness:.001,bevelSize:.001},d=this._dimensioning.label?this._dimensioning.label:this._unitFormatter.formatMMValueToUnitString(1e3*o),c=new p(d,h);c.computeBoundingBox();let w=c.boundingBox.getSize(new s).y;0===this._dimensioning.type.value&&(i=this._getXEdge(w),this._addXEdgeSideLines(w)),1===this._dimensioning.type.value&&(i=this._getYEdge(w),this._addYEdgeSideLines(w)),2===this._dimensioning.type.value&&(i=this._getZEdge(w),this._addZEdgeSideLines(w));let u=[i.start.x,i.start.y,i.start.z,i.end.x,i.end.y,i.end.z];if(t.setAttribute("position",new g(new Float32Array(u),3)),this._line.geometry.dispose(),this._line.geometry=t,this.add(this._line),this._text.geometry=c,0===this._dimensioning.type.value&&this._addText(i,c,new m,new s(0,.04,0)),1===this._dimensioning.type.value){let e=new m,t=this._getXSign()>0?Math.PI/2:Math.PI/2*3;e.setFromAxisAngle(new s(0,0,1),t),this._addText(i,c,e,new s(.04,0,0))}if(2===this._dimensioning.type.value){let e=this._getXSign()>0?Math.PI/2:Math.PI/2*3,t=(new m).setFromAxisAngle(new s(-1,0,0),Math.PI/2),n=(new m).setFromAxisAngle(new s(0,0,1),e);this._addText(i,c,t.multiply(n),new s(.04,0,0))}}_getXEdge(e){let i=this._size.y+.05+(.06+e)*this._level;const t=new s(0,this._origin.y,this._origin.z);let n=t.clone().add(new s(this._dimensioning.from,i,0)),o=t.clone().add(new s(this._dimensioning.to,i,0));return new c(n,o)}_addXEdgeSideLines(e){let i=this._size.y+.05+(.06+e)*(this._level-.5),t=this._size.y+.05+(.06+e)*this._level;const n=new s(0,this._origin.y,this._origin.z);let o=n.clone().add(new s(this._dimensioning.from,i,0)),a=n.clone().add(new s(this._dimensioning.from,t,0)),h=n.clone().add(new s(this._dimensioning.to,i,0)),d=n.clone().add(new s(this._dimensioning.to,t,0));this._addLine(o,a),this._addLine(h,d)}_getZEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new s(this._origin.x,this._origin.y,0);let n=t.clone().add(new s(i,0,this._dimensioning.from)),o=t.clone().add(new s(i,0,this._dimensioning.to));return new c(n,o)}_addZEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const o=new s(this._origin.x,this._origin.y,0);let a=o.clone().add(new s(t,0,this._dimensioning.from)),h=o.clone().add(new s(n,0,this._dimensioning.from)),d=o.clone().add(new s(t,0,this._dimensioning.to)),_=o.clone().add(new s(n,0,this._dimensioning.to));this._addLine(a,h),this._addLine(d,_)}_getYEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new s(this._origin.x,0,this._origin.z);let n=t.clone().add(new s(i,this._dimensioning.from,0)),o=t.clone().add(new s(i,this._dimensioning.to,0));return new c(n,o)}_addYEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const o=new s(this._origin.x,0,this._origin.z);let a=o.clone().add(new s(t,this._dimensioning.from,0)),h=o.clone().add(new s(n,this._dimensioning.from,0)),d=o.clone().add(new s(t,this._dimensioning.to,0)),_=o.clone().add(new s(n,this._dimensioning.to,0));this._addLine(a,h),this._addLine(d,_)}_addLine(e,i){let t=new _,n=[e.x,e.y,e.z,i.x,i.y,i.z];t.setAttribute("position",new g(new Float32Array(n),3)),this.add(new l(t,this._lineMaterial))}_addText(e,i,t,n){let o=e.getCenter(new s);n.x*=this._getXSign(),o.add(n);let a=i.boundingBox.getSize(new s);i.center(),this._text.position.copy(o),this._text.quaternion.copy(t),this.add(this._text);let h=new w(a.x+.02,a.y+.02,32);h.center(),this._plane.geometry=h,this._plane.position.copy(o),this._plane.quaternion.copy(t),this.add(this._plane)}_getXSign(){return this._cameraPosition.x>=0?1:-1}}e("default",v),i([t],v.prototype,"_cacheHolder",void 0),i([t],v.prototype,"_unitFormatter",void 0)}}}));
2
+ //# sourceMappingURL=component-dimensioning-3b0064d2.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-dimensioning-3b0064d2.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{_ as __decorate,i as inject}from"./roomle-dependency-injection-fe5efe24.js";import{O as Object3D,a as Vector3,s as LineBasicMaterial,f as MeshBasicMaterial,u as DoubleSide,bg as MeshPhongMaterial,B as BufferGeometry,z as Line,x as Mesh,b as BufferAttribute,Q as Quaternion,aI as Line3,b5 as PlaneGeometry}from"./main-thread-to-worker-5f05ee32.js";import{T as TextGeometry}from"./TextGeometry-737a1860.js";const LINE_MATERIAL="component_dimensioning_line_material",PLANE_MATERIAL="component_dimensioning_plane_material",TEXT_MATERIAL="component_dimensioning_text_material";class ComponentDimensioning extends Object3D{constructor(e,i,t,n){super(),this._center=i.getCenter(new Vector3),this._size=i.getSize(new Vector3),this._origin=this._center.clone().sub(this._size.clone().multiplyScalar(.5)),this._dimensioning=e,this._level=this._dimensioning.maxLevel-this._dimensioning.level,this._font=t,this._cameraPosition=n,this._init()}_initMaterials(){this._cacheHolder.materialCache.has(LINE_MATERIAL)?this._lineMaterial=this._cacheHolder.materialCache.get(LINE_MATERIAL):(this._lineMaterial=new LineBasicMaterial({color:3618615}),this._cacheHolder.materialCache.set(LINE_MATERIAL,this._lineMaterial)),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(){this._initMaterials();let e=new BufferGeometry;this._line=new Line(e,this._lineMaterial),this._line.name="component dimension line "+this._dimensioning.type.value,this._text=new Mesh(e,this._textMaterial),this._text.name="component dimension text "+this._dimensioning.type.value,this._plane=new Mesh(e,this._planeMaterial),this._plane.name="component dimension plane "+this._dimensioning.type.value;let i,t=new BufferGeometry,n=Math.round(Math.max(this._size.y,this._size.x,this._size.z)),s=Math.abs(this._dimensioning.to-this._dimensioning.from),o=.025+(n<4?0:.005*n);s<.3&&(o*=.5+s);let a={font:this._font,size:o,height:.001,curveSegments:2,bevelEnabled:!0,bevelThickness:.001,bevelSize:.001},r=this._dimensioning.label?this._dimensioning.label:this._unitFormatter.formatMMValueToUnitString(1e3*s),h=new TextGeometry(r,a);h.computeBoundingBox();let _=h.boundingBox.getSize(new Vector3).y;0===this._dimensioning.type.value&&(i=this._getXEdge(_),this._addXEdgeSideLines(_)),1===this._dimensioning.type.value&&(i=this._getYEdge(_),this._addYEdgeSideLines(_)),2===this._dimensioning.type.value&&(i=this._getZEdge(_),this._addZEdgeSideLines(_));let l=[i.start.x,i.start.y,i.start.z,i.end.x,i.end.y,i.end.z];if(t.setAttribute("position",new BufferAttribute(new Float32Array(l),3)),this._line.geometry.dispose(),this._line.geometry=t,this.add(this._line),this._text.geometry=h,0===this._dimensioning.type.value&&this._addText(i,h,new Quaternion,new Vector3(0,.04,0)),1===this._dimensioning.type.value){let e=new Quaternion,t=this._getXSign()>0?Math.PI/2:Math.PI/2*3;e.setFromAxisAngle(new Vector3(0,0,1),t),this._addText(i,h,e,new Vector3(.04,0,0))}if(2===this._dimensioning.type.value){let e=this._getXSign()>0?Math.PI/2:Math.PI/2*3,t=(new Quaternion).setFromAxisAngle(new Vector3(-1,0,0),Math.PI/2),n=(new Quaternion).setFromAxisAngle(new Vector3(0,0,1),e);this._addText(i,h,t.multiply(n),new Vector3(.04,0,0))}}_getXEdge(e){let i=this._size.y+.05+(.06+e)*this._level;const t=new Vector3(0,this._origin.y,this._origin.z);let n=t.clone().add(new Vector3(this._dimensioning.from,i,0)),s=t.clone().add(new Vector3(this._dimensioning.to,i,0));return new Line3(n,s)}_addXEdgeSideLines(e){let i=this._size.y+.05+(.06+e)*(this._level-.5),t=this._size.y+.05+(.06+e)*this._level;const n=new Vector3(0,this._origin.y,this._origin.z);let s=n.clone().add(new Vector3(this._dimensioning.from,i,0)),o=n.clone().add(new Vector3(this._dimensioning.from,t,0)),a=n.clone().add(new Vector3(this._dimensioning.to,i,0)),r=n.clone().add(new Vector3(this._dimensioning.to,t,0));this._addLine(s,o),this._addLine(a,r)}_getZEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new Vector3(this._origin.x,this._origin.y,0);let n=t.clone().add(new Vector3(i,0,this._dimensioning.from)),s=t.clone().add(new Vector3(i,0,this._dimensioning.to));return new Line3(n,s)}_addZEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const s=new Vector3(this._origin.x,this._origin.y,0);let o=s.clone().add(new Vector3(t,0,this._dimensioning.from)),a=s.clone().add(new Vector3(n,0,this._dimensioning.from)),r=s.clone().add(new Vector3(t,0,this._dimensioning.to)),h=s.clone().add(new Vector3(n,0,this._dimensioning.to));this._addLine(o,a),this._addLine(r,h)}_getYEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new Vector3(this._origin.x,0,this._origin.z);let n=t.clone().add(new Vector3(i,this._dimensioning.from,0)),s=t.clone().add(new Vector3(i,this._dimensioning.to,0));return new Line3(n,s)}_addYEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const s=new Vector3(this._origin.x,0,this._origin.z);let o=s.clone().add(new Vector3(t,this._dimensioning.from,0)),a=s.clone().add(new Vector3(n,this._dimensioning.from,0)),r=s.clone().add(new Vector3(t,this._dimensioning.to,0)),h=s.clone().add(new Vector3(n,this._dimensioning.to,0));this._addLine(o,a),this._addLine(r,h)}_addLine(e,i){let t=new BufferGeometry,n=[e.x,e.y,e.z,i.x,i.y,i.z];t.setAttribute("position",new BufferAttribute(new Float32Array(n),3)),this.add(new Line(t,this._lineMaterial))}_addText(e,i,t,n){let s=e.getCenter(new Vector3);n.x*=this._getXSign(),s.add(n);let o=i.boundingBox.getSize(new Vector3);i.center(),this._text.position.copy(s),this._text.quaternion.copy(t),this.add(this._text);let a=new PlaneGeometry(o.x+.02,o.y+.02,32);a.center(),this._plane.geometry=a,this._plane.position.copy(s),this._plane.quaternion.copy(t),this.add(this._plane)}_getXSign(){return this._cameraPosition.x>=0?1:-1}}__decorate([inject],ComponentDimensioning.prototype,"_cacheHolder",void 0),__decorate([inject],ComponentDimensioning.prototype,"_unitFormatter",void 0);export{ComponentDimensioning as default};
2
- //# sourceMappingURL=component-dimensioning-423fd9bf.js.map
1
+ import{_ as __decorate,i as inject}from"./roomle-dependency-injection-ce22df95.js";import{O as Object3D,a as Vector3,u as LineBasicMaterial,h as MeshBasicMaterial,w as DoubleSide,bi as MeshPhongMaterial,B as BufferGeometry,G as Line,z as Mesh,b as BufferAttribute,Q as Quaternion,aK as Line3,b7 as PlaneGeometry}from"./main-thread-to-worker-84db8f63.js";import{T as TextGeometry}from"./TextGeometry-3a5da107.js";const LINE_MATERIAL="component_dimensioning_line_material",PLANE_MATERIAL="component_dimensioning_plane_material",TEXT_MATERIAL="component_dimensioning_text_material";class ComponentDimensioning extends Object3D{constructor(e,i,t,n){super(),this._center=i.getCenter(new Vector3),this._size=i.getSize(new Vector3),this._origin=this._center.clone().sub(this._size.clone().multiplyScalar(.5)),this._dimensioning=e,this._level=this._dimensioning.maxLevel-this._dimensioning.level,this._font=t,this._cameraPosition=n,this._init()}_initMaterials(){this._cacheHolder.materialCache.has(LINE_MATERIAL)?this._lineMaterial=this._cacheHolder.materialCache.get(LINE_MATERIAL):(this._lineMaterial=new LineBasicMaterial({color:3618615}),this._cacheHolder.materialCache.set(LINE_MATERIAL,this._lineMaterial)),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(){this._initMaterials();let e=new BufferGeometry;this._line=new Line(e,this._lineMaterial),this._line.name="component dimension line "+this._dimensioning.type.value,this._text=new Mesh(e,this._textMaterial),this._text.name="component dimension text "+this._dimensioning.type.value,this._plane=new Mesh(e,this._planeMaterial),this._plane.name="component dimension plane "+this._dimensioning.type.value;let i,t=new BufferGeometry,n=Math.round(Math.max(this._size.y,this._size.x,this._size.z)),s=Math.abs(this._dimensioning.to-this._dimensioning.from),o=.025+(n<4?0:.005*n);s<.3&&(o*=.5+s);let a={font:this._font,size:o,height:.001,curveSegments:2,bevelEnabled:!0,bevelThickness:.001,bevelSize:.001},h=this._dimensioning.label?this._dimensioning.label:this._unitFormatter.formatMMValueToUnitString(1e3*s),r=new TextGeometry(h,a);r.computeBoundingBox();let _=r.boundingBox.getSize(new Vector3).y;0===this._dimensioning.type.value&&(i=this._getXEdge(_),this._addXEdgeSideLines(_)),1===this._dimensioning.type.value&&(i=this._getYEdge(_),this._addYEdgeSideLines(_)),2===this._dimensioning.type.value&&(i=this._getZEdge(_),this._addZEdgeSideLines(_));let d=[i.start.x,i.start.y,i.start.z,i.end.x,i.end.y,i.end.z];if(t.setAttribute("position",new BufferAttribute(new Float32Array(d),3)),this._line.geometry.dispose(),this._line.geometry=t,this.add(this._line),this._text.geometry=r,0===this._dimensioning.type.value&&this._addText(i,r,new Quaternion,new Vector3(0,.04,0)),1===this._dimensioning.type.value){let e=new Quaternion,t=this._getXSign()>0?Math.PI/2:Math.PI/2*3;e.setFromAxisAngle(new Vector3(0,0,1),t),this._addText(i,r,e,new Vector3(.04,0,0))}if(2===this._dimensioning.type.value){let e=this._getXSign()>0?Math.PI/2:Math.PI/2*3,t=(new Quaternion).setFromAxisAngle(new Vector3(-1,0,0),Math.PI/2),n=(new Quaternion).setFromAxisAngle(new Vector3(0,0,1),e);this._addText(i,r,t.multiply(n),new Vector3(.04,0,0))}}_getXEdge(e){let i=this._size.y+.05+(.06+e)*this._level;const t=new Vector3(0,this._origin.y,this._origin.z);let n=t.clone().add(new Vector3(this._dimensioning.from,i,0)),s=t.clone().add(new Vector3(this._dimensioning.to,i,0));return new Line3(n,s)}_addXEdgeSideLines(e){let i=this._size.y+.05+(.06+e)*(this._level-.5),t=this._size.y+.05+(.06+e)*this._level;const n=new Vector3(0,this._origin.y,this._origin.z);let s=n.clone().add(new Vector3(this._dimensioning.from,i,0)),o=n.clone().add(new Vector3(this._dimensioning.from,t,0)),a=n.clone().add(new Vector3(this._dimensioning.to,i,0)),h=n.clone().add(new Vector3(this._dimensioning.to,t,0));this._addLine(s,o),this._addLine(a,h)}_getZEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new Vector3(this._origin.x,this._origin.y,0);let n=t.clone().add(new Vector3(i,0,this._dimensioning.from)),s=t.clone().add(new Vector3(i,0,this._dimensioning.to));return new Line3(n,s)}_addZEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const s=new Vector3(this._origin.x,this._origin.y,0);let o=s.clone().add(new Vector3(t,0,this._dimensioning.from)),a=s.clone().add(new Vector3(n,0,this._dimensioning.from)),h=s.clone().add(new Vector3(t,0,this._dimensioning.to)),r=s.clone().add(new Vector3(n,0,this._dimensioning.to));this._addLine(o,a),this._addLine(h,r)}_getYEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new Vector3(this._origin.x,0,this._origin.z);let n=t.clone().add(new Vector3(i,this._dimensioning.from,0)),s=t.clone().add(new Vector3(i,this._dimensioning.to,0));return new Line3(n,s)}_addYEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const s=new Vector3(this._origin.x,0,this._origin.z);let o=s.clone().add(new Vector3(t,this._dimensioning.from,0)),a=s.clone().add(new Vector3(n,this._dimensioning.from,0)),h=s.clone().add(new Vector3(t,this._dimensioning.to,0)),r=s.clone().add(new Vector3(n,this._dimensioning.to,0));this._addLine(o,a),this._addLine(h,r)}_addLine(e,i){let t=new BufferGeometry,n=[e.x,e.y,e.z,i.x,i.y,i.z];t.setAttribute("position",new BufferAttribute(new Float32Array(n),3)),this.add(new Line(t,this._lineMaterial))}_addText(e,i,t,n){let s=e.getCenter(new Vector3);n.x*=this._getXSign(),s.add(n);let o=i.boundingBox.getSize(new Vector3);i.center(),this._text.position.copy(s),this._text.quaternion.copy(t),this.add(this._text);let a=new PlaneGeometry(o.x+.02,o.y+.02,32);a.center(),this._plane.geometry=a,this._plane.position.copy(s),this._plane.quaternion.copy(t),this.add(this._plane)}_getXSign(){return this._cameraPosition.x>=0?1:-1}}__decorate([inject],ComponentDimensioning.prototype,"_cacheHolder",void 0),__decorate([inject],ComponentDimensioning.prototype,"_unitFormatter",void 0);export{ComponentDimensioning as default};
2
+ //# sourceMappingURL=component-dimensioning-69974680.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-dimensioning-69974680.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{bu as Raycaster,bJ as throttle,x as Mesh,t as MeshStandardMaterial,aa as Box3,a as Vector3,bK as Frustum,j as Matrix4}from"./main-thread-to-worker-5f05ee32.js";import{a9 as transitionTransparencyOfMaterial}from"./roomle-dependency-injection-fe5efe24.js";class ComponentRaycastHelper{constructor(){this._nonTransparentComponent=null,this._raycaster=new Raycaster,this._raycaster.near=.1,this._raycaster.layers.enable(3)}init(e,t){this._scene=e,this._camera=t,this.checkComponentVisibility=throttle(this.checkComponentVisibility,100).bind(this),this.checkPreviewVisibility=throttle(this.checkPreviewVisibility,100).bind(this)}changeMaterialsOnSelect(e,t,i=!1){t!==this._nonTransparentComponent&&(this._nonTransparentComponent=t,this._changeMaterialsOnSelect(e,t,i))}_changeMaterialsOnSelect(e,t,i=!1){if(e.children.length>0&&e.children.forEach(a=>{const s=t&&e.id===t.id||i,n=!(a instanceof Mesh);this._changeMaterialsOnSelect(a,t,(!s||!n)&&s)}),t)e instanceof Mesh&&e.material instanceof MeshStandardMaterial&&!e.userData.oldMaterial&&(e.userData.oldMaterial=e.material,e.material=e.material.clone(),i||transitionTransparencyOfMaterial(e,{opacity:.2,transparent:!0}));else if(e.userData.oldMaterial&&e instanceof Mesh&&e.material instanceof MeshStandardMaterial){const{opacity:t,transparent:i}=e.userData.oldMaterial;transitionTransparencyOfMaterial(e,{opacity:t,transparent:i}),e.userData.oldMaterial=void 0}}isComponentVisible(e){const t=[];e.traverse(e=>t.push(e.uuid));const i=(new Box3).setFromObject(e).getCenter(new Vector3),a=(new Vector3).subVectors(i,this._camera.position).normalize();this._raycaster.set(this._camera.position,a),this._raycaster.far=this._camera.position.distanceTo(i);const s=[];return this._raycaster.intersectObjects(this._scene.children,!0).forEach(e=>{e.object.material.visible&&(t.includes(e.object.uuid)||e.object.userData.ignoreComponentRaycast||s.push(e))}),0===s.length}checkComponentAndPreviewVisibility(e,t){e.hasSelection()?this.checkComponentVisibility(e,t):t.hasPreviews()?this.checkPreviewVisibility(t):this.changeMaterialsOnSelect(this._scene,null)}checkComponentVisibility(e,t){if(!e.hasSelection())return;const i=t.getComponentsForIds(e.getSelectedRuntimeComponentIds());if(i.length>1)return;const a=i[0];this.isComponentVisible(a)?this.changeMaterialsOnSelect(this._scene,null):this.changeMaterialsOnSelect(this._scene,a)}areAllPreviewsVisible(e){if(!e.hasPreviews())return!0;const t=e.getPreviews();return 0===t.length||t.map(e=>this.isComponentVisible(e)).reduce((e,t)=>e&&t)}areAllComponentsInFrustum(e){if(0===e.length)return!0;const t=new Frustum,i=(new Matrix4).multiplyMatrices(this._camera.projectionMatrix,this._camera.matrixWorldInverse),a=new Box3;return t.setFromProjectionMatrix(i),e.map(e=>(e=>{const i=a.setFromObject(e).getCenter(new Vector3);return t.containsPoint(i)})(e)).reduce((e,t)=>e&&t)}checkPreviewVisibility(e){e.hasPreviewLines()||(this.areAllPreviewsVisible(e)?this.changeMaterialsOnSelect(this._scene,null):this.changeMaterialsOnSelect(this._scene,{id:-1}))}}export{ComponentRaycastHelper as default};
2
- //# sourceMappingURL=component-raycast-helper-e3ef6037.js.map
1
+ import{bw as Raycaster,bL as throttle,z as Mesh,v as MeshStandardMaterial,ad as Box3,a as Vector3,bM as Frustum,k as Matrix4}from"./main-thread-to-worker-84db8f63.js";import{a9 as transitionTransparencyOfMaterial}from"./roomle-dependency-injection-ce22df95.js";class ComponentRaycastHelper{constructor(){this._nonTransparentComponent=null,this._raycaster=new Raycaster,this._raycaster.near=.1,this._raycaster.layers.enable(3)}init(e,t){this._scene=e,this._camera=t,this.checkComponentVisibility=throttle(this.checkComponentVisibility,100).bind(this),this.checkPreviewVisibility=throttle(this.checkPreviewVisibility,100).bind(this)}changeMaterialsOnSelect(e,t,i=!1){t!==this._nonTransparentComponent&&(this._nonTransparentComponent=t,this._changeMaterialsOnSelect(e,t,i))}_changeMaterialsOnSelect(e,t,i=!1){if(e.children.length>0&&e.children.forEach(a=>{const s=t&&e.id===t.id||i,n=!(a instanceof Mesh);this._changeMaterialsOnSelect(a,t,(!s||!n)&&s)}),t)e instanceof Mesh&&e.material instanceof MeshStandardMaterial&&!e.userData.oldMaterial&&(e.userData.oldMaterial=e.material,e.material=e.material.clone(),i||transitionTransparencyOfMaterial(e,{opacity:.2,transparent:!0}));else if(e.userData.oldMaterial&&e instanceof Mesh&&e.material instanceof MeshStandardMaterial){const{opacity:t,transparent:i}=e.userData.oldMaterial;transitionTransparencyOfMaterial(e,{opacity:t,transparent:i}),e.userData.oldMaterial=void 0}}isComponentVisible(e){const t=[];e.traverse(e=>t.push(e.uuid));const i=(new Box3).setFromObject(e).getCenter(new Vector3),a=(new Vector3).subVectors(i,this._camera.position).normalize();this._raycaster.set(this._camera.position,a),this._raycaster.far=this._camera.position.distanceTo(i);const s=[];return this._raycaster.intersectObjects(this._scene.children,!0).forEach(e=>{e.object.material.visible&&(t.includes(e.object.uuid)||e.object.userData.ignoreComponentRaycast||s.push(e))}),0===s.length}checkComponentAndPreviewVisibility(e,t){e.hasSelection()?this.checkComponentVisibility(e,t):t.hasPreviews()?this.checkPreviewVisibility(t):this.changeMaterialsOnSelect(this._scene,null)}checkComponentVisibility(e,t){if(!e.hasSelection())return;const i=t.getComponentsForIds(e.getSelectedRuntimeComponentIds());if(i.length>1)return;const a=i[0];this.isComponentVisible(a)?this.changeMaterialsOnSelect(this._scene,null):this.changeMaterialsOnSelect(this._scene,a)}areAllPreviewsVisible(e){if(!e.hasPreviews())return!0;const t=e.getPreviews();return 0===t.length||t.map(e=>this.isComponentVisible(e)).reduce((e,t)=>e&&t)}areAllComponentsInFrustum(e){if(0===e.length)return!0;const t=new Frustum,i=(new Matrix4).multiplyMatrices(this._camera.projectionMatrix,this._camera.matrixWorldInverse),a=new Box3;return t.setFromProjectionMatrix(i),e.map(e=>(e=>{const i=a.setFromObject(e).getCenter(new Vector3);return t.containsPoint(i)})(e)).reduce((e,t)=>e&&t)}checkPreviewVisibility(e){e.hasPreviewLines()||(this.areAllPreviewsVisible(e)?this.changeMaterialsOnSelect(this._scene,null):this.changeMaterialsOnSelect(this._scene,{id:-1}))}}export{ComponentRaycastHelper as default};
2
+ //# sourceMappingURL=component-raycast-helper-782ffffd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-raycast-helper-782ffffd.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- System.register(["./main-thread-to-worker-be1b59cc.nomodule.js","./roomle-dependency-injection-f7c3fb2f.nomodule.js"],(function(e){var t,i,n,s,a,r,c,o,l;return{setters:[function(e){t=e.bu,i=e.bJ,n=e.x,s=e.t,a=e.aa,r=e.a,c=e.bK,o=e.j},function(e){l=e.a9}],execute:function(){e("default",class{constructor(){this._nonTransparentComponent=null,this._raycaster=new t,this._raycaster.near=.1,this._raycaster.layers.enable(3)}init(e,t){this._scene=e,this._camera=t,this.checkComponentVisibility=i(this.checkComponentVisibility,100).bind(this),this.checkPreviewVisibility=i(this.checkPreviewVisibility,100).bind(this)}changeMaterialsOnSelect(e,t,i=!1){t!==this._nonTransparentComponent&&(this._nonTransparentComponent=t,this._changeMaterialsOnSelect(e,t,i))}_changeMaterialsOnSelect(e,t,i=!1){if(e.children.length>0&&e.children.forEach(s=>{const a=t&&e.id===t.id||i,r=!(s instanceof n);this._changeMaterialsOnSelect(s,t,(!a||!r)&&a)}),t)e instanceof n&&e.material instanceof s&&!e.userData.oldMaterial&&(e.userData.oldMaterial=e.material,e.material=e.material.clone(),i||l(e,{opacity:.2,transparent:!0}));else if(e.userData.oldMaterial&&e instanceof n&&e.material instanceof s){const{opacity:t,transparent:i}=e.userData.oldMaterial;l(e,{opacity:t,transparent:i}),e.userData.oldMaterial=void 0}}isComponentVisible(e){const t=[];e.traverse(e=>t.push(e.uuid));const i=(new a).setFromObject(e).getCenter(new r),n=(new r).subVectors(i,this._camera.position).normalize();this._raycaster.set(this._camera.position,n),this._raycaster.far=this._camera.position.distanceTo(i);const s=[];return this._raycaster.intersectObjects(this._scene.children,!0).forEach(e=>{e.object.material.visible&&(t.includes(e.object.uuid)||e.object.userData.ignoreComponentRaycast||s.push(e))}),0===s.length}checkComponentAndPreviewVisibility(e,t){e.hasSelection()?this.checkComponentVisibility(e,t):t.hasPreviews()?this.checkPreviewVisibility(t):this.changeMaterialsOnSelect(this._scene,null)}checkComponentVisibility(e,t){if(!e.hasSelection())return;const i=t.getComponentsForIds(e.getSelectedRuntimeComponentIds());if(i.length>1)return;const n=i[0];this.isComponentVisible(n)?this.changeMaterialsOnSelect(this._scene,null):this.changeMaterialsOnSelect(this._scene,n)}areAllPreviewsVisible(e){if(!e.hasPreviews())return!0;const t=e.getPreviews();return 0===t.length||t.map(e=>this.isComponentVisible(e)).reduce((e,t)=>e&&t)}areAllComponentsInFrustum(e){if(0===e.length)return!0;const t=new c,i=(new o).multiplyMatrices(this._camera.projectionMatrix,this._camera.matrixWorldInverse),n=new a;return t.setFromProjectionMatrix(i),e.map(e=>(e=>{const i=n.setFromObject(e).getCenter(new r);return t.containsPoint(i)})(e)).reduce((e,t)=>e&&t)}checkPreviewVisibility(e){e.hasPreviewLines()||(this.areAllPreviewsVisible(e)?this.changeMaterialsOnSelect(this._scene,null):this.changeMaterialsOnSelect(this._scene,{id:-1}))}})}}}));
2
- //# sourceMappingURL=component-raycast-helper-20ea0117.nomodule.js.map
1
+ System.register(["./main-thread-to-worker-51e86b2d.nomodule.js","./roomle-dependency-injection-ddec338a.nomodule.js"],(function(e){var t,i,n,s,a,r,c,o,l;return{setters:[function(e){t=e.bw,i=e.bL,n=e.z,s=e.v,a=e.ad,r=e.a,c=e.bM,o=e.k},function(e){l=e.a9}],execute:function(){e("default",class{constructor(){this._nonTransparentComponent=null,this._raycaster=new t,this._raycaster.near=.1,this._raycaster.layers.enable(3)}init(e,t){this._scene=e,this._camera=t,this.checkComponentVisibility=i(this.checkComponentVisibility,100).bind(this),this.checkPreviewVisibility=i(this.checkPreviewVisibility,100).bind(this)}changeMaterialsOnSelect(e,t,i=!1){t!==this._nonTransparentComponent&&(this._nonTransparentComponent=t,this._changeMaterialsOnSelect(e,t,i))}_changeMaterialsOnSelect(e,t,i=!1){if(e.children.length>0&&e.children.forEach(s=>{const a=t&&e.id===t.id||i,r=!(s instanceof n);this._changeMaterialsOnSelect(s,t,(!a||!r)&&a)}),t)e instanceof n&&e.material instanceof s&&!e.userData.oldMaterial&&(e.userData.oldMaterial=e.material,e.material=e.material.clone(),i||l(e,{opacity:.2,transparent:!0}));else if(e.userData.oldMaterial&&e instanceof n&&e.material instanceof s){const{opacity:t,transparent:i}=e.userData.oldMaterial;l(e,{opacity:t,transparent:i}),e.userData.oldMaterial=void 0}}isComponentVisible(e){const t=[];e.traverse(e=>t.push(e.uuid));const i=(new a).setFromObject(e).getCenter(new r),n=(new r).subVectors(i,this._camera.position).normalize();this._raycaster.set(this._camera.position,n),this._raycaster.far=this._camera.position.distanceTo(i);const s=[];return this._raycaster.intersectObjects(this._scene.children,!0).forEach(e=>{e.object.material.visible&&(t.includes(e.object.uuid)||e.object.userData.ignoreComponentRaycast||s.push(e))}),0===s.length}checkComponentAndPreviewVisibility(e,t){e.hasSelection()?this.checkComponentVisibility(e,t):t.hasPreviews()?this.checkPreviewVisibility(t):this.changeMaterialsOnSelect(this._scene,null)}checkComponentVisibility(e,t){if(!e.hasSelection())return;const i=t.getComponentsForIds(e.getSelectedRuntimeComponentIds());if(i.length>1)return;const n=i[0];this.isComponentVisible(n)?this.changeMaterialsOnSelect(this._scene,null):this.changeMaterialsOnSelect(this._scene,n)}areAllPreviewsVisible(e){if(!e.hasPreviews())return!0;const t=e.getPreviews();return 0===t.length||t.map(e=>this.isComponentVisible(e)).reduce((e,t)=>e&&t)}areAllComponentsInFrustum(e){if(0===e.length)return!0;const t=new c,i=(new o).multiplyMatrices(this._camera.projectionMatrix,this._camera.matrixWorldInverse),n=new a;return t.setFromProjectionMatrix(i),e.map(e=>(e=>{const i=n.setFromObject(e).getCenter(new r);return t.containsPoint(i)})(e)).reduce((e,t)=>e&&t)}checkPreviewVisibility(e){e.hasPreviewLines()||(this.areAllPreviewsVisible(e)?this.changeMaterialsOnSelect(this._scene,null):this.changeMaterialsOnSelect(this._scene,{id:-1}))}})}}}));
2
+ //# sourceMappingURL=component-raycast-helper-bf25a952.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-raycast-helper-bf25a952.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ System.register(["./script-loader-0077c549.nomodule.js","./roomle-dependency-injection-ddec338a.nomodule.js","./scene-manager-44be1117.nomodule.js","./component-raycast-helper-bf25a952.nomodule.js","./roomle-configurator-e99f3ddb.nomodule.js","./query-params-helper-c231e1b8.nomodule.js","./main-thread-to-worker-51e86b2d.nomodule.js","./jszip.min-890780cd.nomodule.js"],(function(e){var n,o,t,r,c,i,a,s,l,u,p,d,m,f;return{setters:[function(e){n=e.S,o=e.M},function(e){t=e.D,r=e.L,c=e.R,i=e.a,a=e.C,s=e.b,l=e.A},function(e){u=e.C,p=e.a},function(e){d=e.default},function(e){m=e.C,f=e.R},function(){},function(){},function(){}],execute:function(){const g=[new t("logger",r),new t("rapi-access",c),new t("script-loader",n),new t("camera-control-3d",u),new t("camera-control",p),new t("data-syncer",i),new t("configurator-scene-manager",m,1),new t("configurator-view-model",a,1),new t("component-raycast-helper",d,0)];e("Configurator",class extends o{setupDependencies(){s.setup(g),this.lookup("planner-kernel-access",this._context).init(1),this.lookup("rapi-access",this._context),this.lookup("script-loader",this._context),this.lookup("logger",this._context)}cleanUpGlobals(){delete window.RoomleConfigurator}cleanUpDependencies(){const e=this.lookup("script-loader"),n=this.lookup("rapi-access");this.lookup("dom-helper");const o=this.lookup("configurator-scene-manager");e&&e.cleanUp(),n&&n.cleanUp(),o&&o.cleanUp()}setupGlobals(e){const{kernelInstance:n,kernelContainer:o,planObjectId:t}=e||{};l.init({kernelInstance:n,kernelContainer:o,planObjectId:t})}getApi(){return this._configurator}bootFinished(){this._configurator=new f(this._context),this._configurator.getMain=()=>this,window.RoomleConfigurator||(window.RoomleConfigurator=this._configurator)}getContextName(){return"configurator"}})}}}));
2
+ //# sourceMappingURL=configurator-7a7ec780.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurator-7a7ec780.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{S as ScriptLoader,M as Main}from"./script-loader-35590426.js";import{D as DependencyInjectionAssignment,L as Logger,R as RapiAccess,a as DataSyncer,C as ConfiguratorViewModel,b as RoomleDependencyInjection,A as AppContext}from"./roomle-dependency-injection-ce22df95.js";import{C as CameraControl3D,a as CameraControl}from"./scene-manager-5f342aff.js";import ComponentRaycastHelper from"./component-raycast-helper-782ffffd.js";import{C as ConfiguratorSceneManager,R as RoomleConfigurator}from"./roomle-configurator-c6c07655.js";import"./query-params-helper-a271f9dc.js";import"./main-thread-to-worker-84db8f63.js";import"./jszip.min-e038d3dc.js";const INJECTABLES=[new DependencyInjectionAssignment("logger",Logger),new DependencyInjectionAssignment("rapi-access",RapiAccess),new DependencyInjectionAssignment("script-loader",ScriptLoader),new DependencyInjectionAssignment("camera-control-3d",CameraControl3D),new DependencyInjectionAssignment("camera-control",CameraControl),new DependencyInjectionAssignment("data-syncer",DataSyncer),new DependencyInjectionAssignment("configurator-scene-manager",ConfiguratorSceneManager,1),new DependencyInjectionAssignment("configurator-view-model",ConfiguratorViewModel,1),new DependencyInjectionAssignment("component-raycast-helper",ComponentRaycastHelper,0)];class Configurator extends Main{setupDependencies(){RoomleDependencyInjection.setup(INJECTABLES),this.lookup("planner-kernel-access",this._context).init(1),this.lookup("rapi-access",this._context),this.lookup("script-loader",this._context),this.lookup("logger",this._context)}cleanUpGlobals(){delete window.RoomleConfigurator}cleanUpDependencies(){const e=this.lookup("script-loader"),n=this.lookup("rapi-access");this.lookup("dom-helper");const o=this.lookup("configurator-scene-manager");e&&e.cleanUp(),n&&n.cleanUp(),o&&o.cleanUp()}setupGlobals(e){const{kernelInstance:n,kernelContainer:o,planObjectId:t}=e||{};AppContext.init({kernelInstance:n,kernelContainer:o,planObjectId:t})}getApi(){return this._configurator}bootFinished(){this._configurator=new RoomleConfigurator(this._context),this._configurator.getMain=()=>this,window.RoomleConfigurator||(window.RoomleConfigurator=this._configurator)}getContextName(){return"configurator"}}export{Configurator};
2
+ //# sourceMappingURL=configurator-e3741b39.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurator-e3741b39.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{Configurator}from"./configurator-e3741b39.js";import"./script-loader-35590426.js";import"./query-params-helper-a271f9dc.js";import"./roomle-dependency-injection-ce22df95.js";import"./main-thread-to-worker-84db8f63.js";import"./scene-manager-5f342aff.js";import"./component-raycast-helper-782ffffd.js";import"./roomle-configurator-c6c07655.js";import"./jszip.min-e038d3dc.js";(new Configurator).boot(),window.requestIdleCallback||(window.requestIdleCallback=e=>setTimeout(()=>{let o=Date.now();e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-o))})},1)),window.cancelIdleCallback||(window.cancelIdleCallback=window.cancelIdleCallback||function(e){clearTimeout(e)});
2
+ //# sourceMappingURL=configurator-main-18d1b34a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurator-main-18d1b34a.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- System.register(["./configurator-4a49f00e.nomodule.js","./script-loader-e5da3e76.nomodule.js","./query-params-helper-c231e1b8.nomodule.js","./roomle-dependency-injection-f7c3fb2f.nomodule.js","./main-thread-to-worker-be1b59cc.nomodule.js","./scene-manager-04d52be9.nomodule.js","./component-raycast-helper-20ea0117.nomodule.js","./roomle-configurator-64fa11a1.nomodule.js","./default-light-setting-5021d21d.nomodule.js"],(function(){var e;return{setters:[function(n){e=n.Configurator},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(){}],execute:function(){(new e).boot(),window.requestIdleCallback||(window.requestIdleCallback=e=>setTimeout(()=>{let n=Date.now();e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-n))})},1)),window.cancelIdleCallback||(window.cancelIdleCallback=window.cancelIdleCallback||function(e){clearTimeout(e)})}}}));
1
+ System.register(["./configurator-7a7ec780.nomodule.js","./script-loader-0077c549.nomodule.js","./query-params-helper-c231e1b8.nomodule.js","./roomle-dependency-injection-ddec338a.nomodule.js","./main-thread-to-worker-51e86b2d.nomodule.js","./scene-manager-44be1117.nomodule.js","./component-raycast-helper-bf25a952.nomodule.js","./roomle-configurator-e99f3ddb.nomodule.js","./jszip.min-890780cd.nomodule.js"],(function(){var e;return{setters:[function(n){e=n.Configurator},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(){}],execute:function(){(new e).boot(),window.requestIdleCallback||(window.requestIdleCallback=e=>setTimeout(()=>{let n=Date.now();e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-n))})},1)),window.cancelIdleCallback||(window.cancelIdleCallback=window.cancelIdleCallback||function(e){clearTimeout(e)})}}}));
2
2
  //# sourceMappingURL=configurator-main.nomodule.js.map
@@ -1,2 +1,2 @@
1
- import{ab as convertToTHREE}from"./roomle-dependency-injection-fe5efe24.js";import{aK as RingGeometry,f as MeshBasicMaterial,u as DoubleSide,x as Mesh}from"./main-thread-to-worker-5f05ee32.js";class ContinuousDrawingHelper{constructor(){this._currentInnerRadius=0}init(e,i,r){this._drawingGroup=e,this._continuousDrawingManager=i,this._kernelZoomFactor=r,this.update()}update(){this._initCircle(),this._updateCircle()}_initCircle(){if(this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3,i=new RingGeometry(e,e+e/50,32),r=new MeshBasicMaterial({color:10066329,side:DoubleSide});this._circleMesh=new Mesh(i,r),this._circleMesh.name="Circle",this._circleMesh.rotation.set(Math.PI/2,0,0),this._circleMesh.visible=this._continuousDrawingManager.shouldShowCircle(),this._drawingGroup.add(this._circleMesh)}_updateCircle(){if(!this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3;if(e!==this._currentInnerRadius){const i=e+e/50;this._circleMesh.geometry=new RingGeometry(e,i,32)}const i=convertToTHREE(this._continuousDrawingManager.getStartPoint());i.y=5,this._circleMesh.position.copy(i),this._circleMesh.visible=this._continuousDrawingManager.shouldShowCircle(),this._currentInnerRadius=e}setKernelZoomFactor(e){this._kernelZoomFactor=e}endDrawing(){this._drawingGroup.remove(this._circleMesh),this._circleMesh=null}}export{ContinuousDrawingHelper as default};
2
- //# sourceMappingURL=continuous-drawing-helper-5faa18d9.js.map
1
+ import{ab as convertToTHREE}from"./roomle-dependency-injection-ce22df95.js";import{aM as RingGeometry,h as MeshBasicMaterial,w as DoubleSide,z as Mesh}from"./main-thread-to-worker-84db8f63.js";class ContinuousDrawingHelper{constructor(){this._currentInnerRadius=0}init(e,i,r){this._drawingGroup=e,this._continuousDrawingManager=i,this._kernelZoomFactor=r,this.update()}update(){this._initCircle(),this._updateCircle()}_initCircle(){if(this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3,i=new RingGeometry(e,e+e/50,32),r=new MeshBasicMaterial({color:10066329,side:DoubleSide});this._circleMesh=new Mesh(i,r),this._circleMesh.name="Circle",this._circleMesh.rotation.set(Math.PI/2,0,0),this._circleMesh.visible=this._continuousDrawingManager.shouldShowCircle(),this._drawingGroup.add(this._circleMesh)}_updateCircle(){if(!this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3;if(e!==this._currentInnerRadius){const i=e+e/50;this._circleMesh.geometry=new RingGeometry(e,i,32)}const i=convertToTHREE(this._continuousDrawingManager.getStartPoint());i.y=5,this._circleMesh.position.copy(i),this._circleMesh.visible=this._continuousDrawingManager.shouldShowCircle(),this._currentInnerRadius=e}setKernelZoomFactor(e){this._kernelZoomFactor=e}endDrawing(){this._drawingGroup.remove(this._circleMesh),this._circleMesh=null}}export{ContinuousDrawingHelper as default};
2
+ //# sourceMappingURL=continuous-drawing-helper-1eabdf3e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuous-drawing-helper-1eabdf3e.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- System.register(["./roomle-dependency-injection-f7c3fb2f.nomodule.js","./main-thread-to-worker-be1b59cc.nomodule.js"],(function(e){var i,t,r,n,s;return{setters:[function(e){i=e.ab},function(e){t=e.aK,r=e.f,n=e.u,s=e.x}],execute:function(){e("default",class{constructor(){this._currentInnerRadius=0}init(e,i,t){this._drawingGroup=e,this._continuousDrawingManager=i,this._kernelZoomFactor=t,this.update()}update(){this._initCircle(),this._updateCircle()}_initCircle(){if(this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3,i=new t(e,e+e/50,32),c=new r({color:10066329,side:n});this._circleMesh=new s(i,c),this._circleMesh.name="Circle",this._circleMesh.rotation.set(Math.PI/2,0,0),this._circleMesh.visible=this._continuousDrawingManager.shouldShowCircle(),this._drawingGroup.add(this._circleMesh)}_updateCircle(){if(!this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3;if(e!==this._currentInnerRadius){const i=e+e/50;this._circleMesh.geometry=new t(e,i,32)}const r=i(this._continuousDrawingManager.getStartPoint());r.y=5,this._circleMesh.position.copy(r),this._circleMesh.visible=this._continuousDrawingManager.shouldShowCircle(),this._currentInnerRadius=e}setKernelZoomFactor(e){this._kernelZoomFactor=e}endDrawing(){this._drawingGroup.remove(this._circleMesh),this._circleMesh=null}})}}}));
2
- //# sourceMappingURL=continuous-drawing-helper-80ff32e3.nomodule.js.map
1
+ System.register(["./roomle-dependency-injection-ddec338a.nomodule.js","./main-thread-to-worker-51e86b2d.nomodule.js"],(function(e){var i,t,r,n,s;return{setters:[function(e){i=e.ab},function(e){t=e.aM,r=e.h,n=e.w,s=e.z}],execute:function(){e("default",class{constructor(){this._currentInnerRadius=0}init(e,i,t){this._drawingGroup=e,this._continuousDrawingManager=i,this._kernelZoomFactor=t,this.update()}update(){this._initCircle(),this._updateCircle()}_initCircle(){if(this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3,i=new t(e,e+e/50,32),c=new r({color:10066329,side:n});this._circleMesh=new s(i,c),this._circleMesh.name="Circle",this._circleMesh.rotation.set(Math.PI/2,0,0),this._circleMesh.visible=this._continuousDrawingManager.shouldShowCircle(),this._drawingGroup.add(this._circleMesh)}_updateCircle(){if(!this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3;if(e!==this._currentInnerRadius){const i=e+e/50;this._circleMesh.geometry=new t(e,i,32)}const r=i(this._continuousDrawingManager.getStartPoint());r.y=5,this._circleMesh.position.copy(r),this._circleMesh.visible=this._continuousDrawingManager.shouldShowCircle(),this._currentInnerRadius=e}setKernelZoomFactor(e){this._kernelZoomFactor=e}endDrawing(){this._drawingGroup.remove(this._circleMesh),this._circleMesh=null}})}}}));
2
+ //# sourceMappingURL=continuous-drawing-helper-2b7d9d85.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuous-drawing-helper-2b7d9d85.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -4,3 +4,4 @@ export { default as ENV_64_MAP_FILE_NAME } from '../../public/textures/env/rooml
4
4
  export { default as ENV_HDR_256_FILE_NAME } from '../../public/textures/env/default_256.exr';
5
5
  export { default as ENV_HDR_1K_FILE_NAME } from '../../public/textures/env/default_1k.exr';
6
6
  export { default as ENV_LEGACY } from '../../public/textures/env/legacy_env.exr';
7
+ export { default as PAPER_BACKGROUND_FILE_NAME } from '../../public/textures/paper_background.png';
@@ -37,6 +37,7 @@ export default class InitData implements Context, CommonInitData, ConfiguratorIn
37
37
  envMapRotation?: number;
38
38
  maxLightSources?: number;
39
39
  legacyLight?: boolean;
40
+ sceneLight?: boolean;
40
41
  restrictionLevel?: number;
41
42
  e2e?: boolean;
42
43
  offlineSync?: string;
@@ -205,6 +205,10 @@ export interface CommonInitData {
205
205
  * Use old light setting instead of env maps
206
206
  */
207
207
  legacyLight?: boolean;
208
+ /**
209
+ * Generate environment map from a scene instead of env maps
210
+ */
211
+ sceneLight?: boolean;
208
212
  /**
209
213
  * restrictionLevel defines visibility of parameters and possible children
210
214
  */
@@ -2,10 +2,12 @@ import type { Dimensioning, KernelCube, KernelEnum } from '../../../typings/kern
2
2
  import type { AssetUrl, RapiMaterial, RapiMaterialShading, RapiTexture } from '../../../typings/rapi-types';
3
3
  import type { Position2, Position3 } from '../common-interfaces';
4
4
  import type WallPlanElementViewModel from '../../../planner-core/src/view-model/wall-plan-element-view-model';
5
- import type { Camera, Material, MeshPhysicalMaterial, MeshStandardMaterial, Object3D, Quaternion, Texture, Vector2 } from 'three';
5
+ import type { Camera, Intersection, Material, MeshPhysicalMaterial, MeshStandardMaterial, NormalBufferAttributes, Object3D, Object3DEventMap, Quaternion, Texture, Vector2 } from 'three';
6
6
  import { Scene } from 'three';
7
7
  import { Box3, BufferGeometry, Color, CubeTexture, DataTexture, Layers, Mesh, MeshBasicMaterial, Vector3 } from 'three';
8
8
  import { GUI } from 'dat.gui';
9
+ import type { OBJECT_EVENT } from '../../../configurator-core/src/utils/raycast-helper';
10
+ import type { INPUT_EVENT_TYPE } from '../input/input-manager';
9
11
  export declare const PREVIEW_LINE_MATERIAL_OPACITY = 0.4;
10
12
  export declare const PREVIEW_MATERIAL_COLOR = "#DDDDDD";
11
13
  export declare const PREVIEW_MATERIAL_ROUGHNESS = 1;
@@ -68,3 +70,46 @@ export declare const getActiveLayers: (layers: Layers) => string[];
68
70
  export declare const viewSpacePositionFromAltitudeAndAzimuth: (distance: number, altitudeDeg: number, azimuthDeg: number) => Vector3;
69
71
  export declare const viewSpacePositionFromUV: (distance: number, u: number, v: number) => Vector3;
70
72
  export declare const createEmptySceneFromCurrent: (currentScene: Scene) => Scene;
73
+ export type RoomleEventedMesh = Mesh<BufferGeometry<NormalBufferAttributes>, Material | Material[], Object3DRoomleEventMap>;
74
+ export type RoomleEventedObject3D = Object3D<Object3DRoomleEventMap>;
75
+ export type RoomleEventedIntersection = Intersection<RoomleEventedObject3D>;
76
+ interface InputEventAttatchment {
77
+ intersection: RoomleEventedIntersection;
78
+ type: INPUT_EVENT_TYPE;
79
+ }
80
+ export interface Object3DRoomleEventMap extends Object3DEventMap {
81
+ [OBJECT_EVENT.CLICK]: {
82
+ attachment: InputEventAttatchment;
83
+ };
84
+ [OBJECT_EVENT.DOUBLE_CLICK]: {
85
+ attachment: InputEventAttatchment;
86
+ };
87
+ [OBJECT_EVENT.DRAG]: {
88
+ attachment: {
89
+ position: Vector3;
90
+ };
91
+ };
92
+ [OBJECT_EVENT.DRAG_END]: {
93
+ attachment: {
94
+ position: Position2;
95
+ };
96
+ };
97
+ [OBJECT_EVENT.DRAG_START]: object;
98
+ [OBJECT_EVENT.HOVER_MOVE]: {
99
+ attachment: InputEventAttatchment;
100
+ };
101
+ [OBJECT_EVENT.HOVER_OFF]: {
102
+ attachment: {
103
+ type: INPUT_EVENT_TYPE;
104
+ };
105
+ };
106
+ [OBJECT_EVENT.HOVER_ON]: {
107
+ attachment: InputEventAttatchment;
108
+ };
109
+ [OBJECT_EVENT.ROTATE]: {
110
+ attachment: {
111
+ rotation: number;
112
+ };
113
+ };
114
+ }
115
+ export {};
@@ -1,10 +1,12 @@
1
1
  import KernelViewModel from './kernel-view-model';
2
2
  import type { PlanObject } from '../../../typings/planner';
3
+ import type { RoomleEventedObject3D } from '../utils/threejs-utils';
4
+ import { type RoomleEventedMesh } from '../utils/threejs-utils';
3
5
  import { Box3, Mesh, Object3D, Vector3 } from 'three';
4
6
  export declare const WALL_SELECTION_COLOR = 10526880;
5
7
  export default class PlanElementViewModel extends KernelViewModel {
6
8
  protected _container: Object3D;
7
- protected _boundingBox: Mesh;
9
+ protected _boundingBox: RoomleEventedMesh;
8
10
  private _object;
9
11
  private _selectionMesh;
10
12
  protected _isSelected: boolean;
@@ -17,11 +19,11 @@ export default class PlanElementViewModel extends KernelViewModel {
17
19
  getPosition(): Vector3;
18
20
  getRotation(): number;
19
21
  getBounds(): Box3;
20
- getBoundingBox(): Mesh;
22
+ getBoundingBox(): RoomleEventedMesh;
21
23
  getPlanElement(): PlanObject;
22
- setObject(object: Object3D): void;
23
- getObject(): Object3D<import("three").Event>;
24
- getObjectAsync(): Promise<Object3D<import("three").Event>>;
24
+ setObject(object: RoomleEventedObject3D): void;
25
+ getObject(): RoomleEventedObject3D;
26
+ getObjectAsync(): Promise<Object3D<import("three").Object3DEventMap>>;
25
27
  addMesh(mesh: Object3D): void;
26
28
  getMesh(material: any): Mesh;
27
29
  getContainer(): Object3D;
@@ -29,7 +31,7 @@ export default class PlanElementViewModel extends KernelViewModel {
29
31
  clear(): void;
30
32
  remove(): void;
31
33
  hidePreviewBox(): void;
32
- protected _generateBoundingBox(): Mesh;
34
+ protected _generateBoundingBox(): RoomleEventedMesh;
33
35
  select(): void;
34
36
  deselect(): void;
35
37
  hoverOn(): void;
@@ -6,9 +6,9 @@ export default class BakedShadowPlane {
6
6
  private _innerSize;
7
7
  private _outerSize;
8
8
  constructor(size: number);
9
- getRootNode(): Object3D<import("three").Event>;
10
- getInnerPlane(): Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[]>;
11
- getOuterPlane(): Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[]>;
9
+ getRootNode(): Object3D<import("three").Object3DEventMap>;
10
+ getInnerPlane(): Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>;
11
+ getOuterPlane(): Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>;
12
12
  updateSize(innerSize: number): void;
13
13
  private _updatePlane;
14
14
  }
@@ -42,6 +42,6 @@ export default class MeshGenerator implements Context {
42
42
  protected _assignItem(mesh: Mesh, catalogItemId: string): Promise<void>;
43
43
  setMaterialLoadedListener(fun: () => void): void;
44
44
  removeMaterialLoadedListener(): void;
45
- protected _createMesh(runtimeComponentId: number, geometryId: string, geometry: BufferGeometry): Mesh<BufferGeometry<import("three").NormalBufferAttributes>, Material> | Mesh<BufferGeometry<import("three").NormalBufferAttributes>, MeshStandardMaterial>;
45
+ protected _createMesh(runtimeComponentId: number, geometryId: string, geometry: BufferGeometry): Mesh<BufferGeometry<import("three").NormalBufferAttributes>, Material, import("three").Object3DEventMap>;
46
46
  protected _getComponentMeshId(runtimeComponentId: number, geometryId: string): string;
47
47
  }
@@ -10,6 +10,7 @@ interface EnvironmentDefinitionParameters {
10
10
  textureData?: EnvironmentDefinitionTextureData;
11
11
  rotation?: number;
12
12
  intensity?: number;
13
+ maxNoOfLightSources?: number;
13
14
  }
14
15
  export declare abstract class EnvironmentSceneGenerator {
15
16
  abstract generateScene(intensity: number, rotation: number): Scene;
@@ -22,6 +23,7 @@ export declare class EnvironmentDefinition {
22
23
  readonly textureData?: EnvironmentDefinitionTextureData;
23
24
  private _rotation;
24
25
  private _intensity;
26
+ private _maxNoOfLightSources?;
25
27
  private _lightSources;
26
28
  private _debugScene?;
27
29
  private _parameters?;
@@ -29,6 +31,8 @@ export declare class EnvironmentDefinition {
29
31
  get lightSources(): LightSource[];
30
32
  set rotation(rotation: number);
31
33
  set intensity(intensity: number);
34
+ set maxNoOfLightSources(maxNoOfLightSources: number);
35
+ get maxNoOfLightSources(): number | undefined;
32
36
  constructor(environment: EnvironmentSceneGenerator | CubeTexture | Texture, parameters?: EnvironmentDefinitionParameters);
33
37
  clone(): EnvironmentDefinition;
34
38
  createNewEnvironment(renderer: WebGLRenderer): Texture | null;
@@ -45,6 +45,8 @@ export declare const viewSpacePositionFromAltitudeAndAzimuth: (distance: number,
45
45
  export declare const viewSpacePositionFromUV: (distance: number, u: number, v: number) => Vector3;
46
46
  export declare const spiralQuadraticSampleKernel: (kernelSize: number) => Vector3[];
47
47
  export declare const generateUniformKernelRotations: () => DataTexture;
48
+ export declare const generateMagicSquare: (size: number) => number[];
49
+ export declare const generateMagicSquareDistributedKernelRotations: (size: number) => DataTexture;
48
50
  export declare class RenderPass {
49
51
  private _originalClearColor;
50
52
  private _originalClearAlpha;
@@ -1,15 +1,16 @@
1
+ import type { RoomleEventedMesh, RoomleEventedObject3D } from '../utils/threejs-utils';
1
2
  import type { CanvasOffset } from '../common-interfaces';
2
3
  import type { KernelCube, KernelVector3 } from '../../../typings/kernel';
3
4
  import type { Euler } from 'three';
4
- import { Box3, Mesh, Object3D, OrthographicCamera, PerspectiveCamera, Vector3 } from 'three';
5
+ import { Box3, Mesh, OrthographicCamera, PerspectiveCamera, Vector3 } from 'three';
5
6
  export declare const PULSE_DURATION = 1500;
6
7
  export declare const PULSE_LOOPS = 5;
7
- export interface RoomleComponent extends Object3D {
8
+ export interface RoomleComponent extends RoomleEventedObject3D {
8
9
  runtimeId: number;
9
10
  parentObjectId: number;
10
- meshes: Mesh[];
11
+ meshes: RoomleEventedMesh[];
11
12
  boundingBox: Box3;
12
- boundingBoxMesh: Mesh;
13
+ boundingBoxMesh: RoomleEventedMesh;
13
14
  loadingMesh: Mesh;
14
15
  roomlePosition: KernelVector3;
15
16
  roomleRotation: KernelVector3;
@@ -58,7 +59,7 @@ export interface PreviewLineComponent extends PreviewComponent {
58
59
  roomlePositionTo: KernelVector3;
59
60
  docklineRotation: Euler;
60
61
  lineMesh: Mesh;
61
- boundingLineMesh: Mesh;
62
+ boundingLineMesh: RoomleEventedMesh;
62
63
  clonePreviewLine(numberOfDuplication: number): PreviewLineComponent;
63
64
  getPositionForIntersectionPoint(intersectionPoint: Vector3): Vector3;
64
65
  updatePreviewPosition(intersectionPoint: Vector3): void;
@@ -1,12 +1,12 @@
1
1
  import type { Context } from '../di/context';
2
- import type { Object3D } from 'three';
3
2
  import { Box3, Vector3 } from 'three';
3
+ import type { RoomleEventedObject3D } from '../utils/threejs-utils';
4
4
  export declare const enum STATIC_ITEM_TYPE {
5
5
  GLB = "GLB",
6
6
  GLTF = "GLTF"
7
7
  }
8
8
  export interface GLTFScene {
9
- scene: Object3D;
9
+ scene: RoomleEventedObject3D;
10
10
  boundingBox: Box3;
11
11
  }
12
12
  export default abstract class StaticItemLoader implements Context {