@crystaldesign/real-time-viewer 25.8.0-beta.3 → 25.8.0-beta.30

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 (250) hide show
  1. package/build/esm/index.js +234 -207
  2. package/build/types/real-time-viewer/src/context.d.ts.map +1 -1
  3. package/build/types/real-time-viewer/src/controls/index.d.ts.map +1 -1
  4. package/build/types/real-time-viewer/src/index.d.ts +1 -1
  5. package/build/types/real-time-viewer/src/index.d.ts.map +1 -1
  6. package/build/types/real-time-viewer/src/parser/findAssets/index.d.ts.map +1 -1
  7. package/build/types/real-time-viewer/src/parser/shadow/index.d.ts.map +1 -1
  8. package/build/types/real-time-viewer/src/store/SceneStore.d.ts.map +1 -1
  9. package/build/types/real-time-viewer/src/store/UIStore.d.ts.map +1 -1
  10. package/build/types/real-time-viewer/src/useRealTimeRenderData.d.ts.map +1 -1
  11. package/build/umd/1020.real-time-viewer.umd.min.js +2 -0
  12. package/build/umd/1020.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  13. package/build/umd/1153.real-time-viewer.umd.min.js +2 -0
  14. package/build/umd/1153.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  15. package/build/umd/1309.real-time-viewer.umd.min.js +1 -1
  16. package/build/umd/1447.real-time-viewer.umd.min.js +1 -1
  17. package/build/umd/1459.real-time-viewer.umd.min.js +2 -0
  18. package/build/umd/1459.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  19. package/build/umd/1499.real-time-viewer.umd.min.js +1 -1
  20. package/build/umd/1510.real-time-viewer.umd.min.js +2 -0
  21. package/build/umd/1510.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  22. package/build/umd/1605.real-time-viewer.umd.min.js +2 -0
  23. package/build/umd/1605.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  24. package/build/umd/1781.real-time-viewer.umd.min.js +1 -1
  25. package/build/umd/1887.real-time-viewer.umd.min.js +2 -0
  26. package/build/umd/1887.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  27. package/build/umd/1924.real-time-viewer.umd.min.js +1 -1
  28. package/build/umd/2011.real-time-viewer.umd.min.js +1 -1
  29. package/build/umd/2265.real-time-viewer.umd.min.js +2 -0
  30. package/build/umd/2265.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  31. package/build/umd/2371.real-time-viewer.umd.min.js +2 -0
  32. package/build/umd/2371.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  33. package/build/umd/2439.real-time-viewer.umd.min.js +1 -1
  34. package/build/umd/2517.real-time-viewer.umd.min.js +2 -0
  35. package/build/umd/2517.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  36. package/build/umd/2528.real-time-viewer.umd.min.js +2 -0
  37. package/build/umd/2528.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  38. package/build/umd/2619.real-time-viewer.umd.min.js +2 -0
  39. package/build/umd/2619.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  40. package/build/umd/2668.real-time-viewer.umd.min.js +2 -0
  41. package/build/umd/2668.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  42. package/build/umd/2760.real-time-viewer.umd.min.js +2 -0
  43. package/build/umd/2760.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  44. package/build/umd/2782.real-time-viewer.umd.min.js +2 -0
  45. package/build/umd/2782.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  46. package/build/umd/2795.real-time-viewer.umd.min.js +2 -0
  47. package/build/umd/2795.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  48. package/build/umd/2817.real-time-viewer.umd.min.js +1 -1
  49. package/build/umd/2871.real-time-viewer.umd.min.js +1 -1
  50. package/build/umd/3040.real-time-viewer.umd.min.js +2 -0
  51. package/build/umd/3040.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  52. package/build/umd/3116.real-time-viewer.umd.min.js +1 -1
  53. package/build/umd/3219.real-time-viewer.umd.min.js +2 -0
  54. package/build/umd/3219.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  55. package/build/umd/3242.real-time-viewer.umd.min.js +2 -0
  56. package/build/umd/3242.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  57. package/build/umd/3296.real-time-viewer.umd.min.js +2 -0
  58. package/build/umd/3296.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  59. package/build/umd/3330.real-time-viewer.umd.min.js +2 -0
  60. package/build/umd/3330.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  61. package/build/umd/3351.real-time-viewer.umd.min.js +1 -1
  62. package/build/umd/3420.real-time-viewer.umd.min.js +2 -0
  63. package/build/umd/3420.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  64. package/build/umd/3436.real-time-viewer.umd.min.js +2 -0
  65. package/build/umd/3436.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  66. package/build/umd/3439.real-time-viewer.umd.min.js +2 -0
  67. package/build/umd/3439.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  68. package/build/umd/3456.real-time-viewer.umd.min.js +1 -1
  69. package/build/umd/3652.real-time-viewer.umd.min.js +2 -0
  70. package/build/umd/3652.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  71. package/build/umd/377.real-time-viewer.umd.min.js +2 -0
  72. package/build/umd/377.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  73. package/build/umd/3839.real-time-viewer.umd.min.js +2 -0
  74. package/build/umd/3839.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  75. package/build/umd/3917.real-time-viewer.umd.min.js +2 -0
  76. package/build/umd/3917.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  77. package/build/umd/3945.real-time-viewer.umd.min.js +1 -1
  78. package/build/umd/4049.real-time-viewer.umd.min.js +2 -0
  79. package/build/umd/4049.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  80. package/build/umd/4051.real-time-viewer.umd.min.js +2 -0
  81. package/build/umd/4051.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  82. package/build/umd/4091.real-time-viewer.umd.min.js +1 -1
  83. package/build/umd/410.real-time-viewer.umd.min.js +1 -1
  84. package/build/umd/4141.real-time-viewer.umd.min.js +2 -0
  85. package/build/umd/4141.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  86. package/build/umd/4153.real-time-viewer.umd.min.js +1 -1
  87. package/build/umd/4248.real-time-viewer.umd.min.js +1 -1
  88. package/build/umd/4358.real-time-viewer.umd.min.js +2 -0
  89. package/build/umd/4358.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  90. package/build/umd/4378.real-time-viewer.umd.min.js +1 -1
  91. package/build/umd/4431.real-time-viewer.umd.min.js +1 -1
  92. package/build/umd/4478.real-time-viewer.umd.min.js +2 -0
  93. package/build/umd/4478.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  94. package/build/umd/4486.real-time-viewer.umd.min.js +2 -0
  95. package/build/umd/4486.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  96. package/build/umd/4555.real-time-viewer.umd.min.js +2 -0
  97. package/build/umd/4555.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  98. package/build/umd/4560.real-time-viewer.umd.min.js +2 -0
  99. package/build/umd/4560.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  100. package/build/umd/4602.real-time-viewer.umd.min.js +1 -1
  101. package/build/umd/4661.real-time-viewer.umd.min.js +1 -1
  102. package/build/umd/4667.real-time-viewer.umd.min.js +2 -0
  103. package/build/umd/4667.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  104. package/build/umd/4669.real-time-viewer.umd.min.js +1 -1
  105. package/build/umd/4711.real-time-viewer.umd.min.js +1 -1
  106. package/build/umd/4806.real-time-viewer.umd.min.js +2 -0
  107. package/build/umd/4806.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  108. package/build/umd/4823.real-time-viewer.umd.min.js +1 -1
  109. package/build/umd/4953.real-time-viewer.umd.min.js +2 -0
  110. package/build/umd/4953.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  111. package/build/umd/5197.real-time-viewer.umd.min.js +2 -0
  112. package/build/umd/5197.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  113. package/build/umd/539.real-time-viewer.umd.min.js +2 -0
  114. package/build/umd/539.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  115. package/build/umd/5462.real-time-viewer.umd.min.js +1 -1
  116. package/build/umd/5477.real-time-viewer.umd.min.js +2 -0
  117. package/build/umd/5477.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  118. package/build/umd/5483.real-time-viewer.umd.min.js +1 -1
  119. package/build/umd/5555.real-time-viewer.umd.min.js +1 -1
  120. package/build/umd/5645.real-time-viewer.umd.min.js +2 -0
  121. package/build/umd/5645.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  122. package/build/umd/5650.real-time-viewer.umd.min.js +2 -0
  123. package/build/umd/5650.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  124. package/build/umd/5746.real-time-viewer.umd.min.js +2 -0
  125. package/build/umd/5746.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  126. package/build/umd/5779.real-time-viewer.umd.min.js +2 -0
  127. package/build/umd/5779.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  128. package/build/umd/5846.real-time-viewer.umd.min.js +1 -1
  129. package/build/umd/5860.real-time-viewer.umd.min.js +1 -1
  130. package/build/umd/5880.real-time-viewer.umd.min.js +2 -0
  131. package/build/umd/5880.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  132. package/build/umd/5922.real-time-viewer.umd.min.js +1 -1
  133. package/build/umd/5925.real-time-viewer.umd.min.js +2 -0
  134. package/build/umd/5925.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  135. package/build/umd/6030.real-time-viewer.umd.min.js +2 -0
  136. package/build/umd/6030.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  137. package/build/umd/6095.real-time-viewer.umd.min.js +1 -1
  138. package/build/umd/6126.real-time-viewer.umd.min.js +2 -0
  139. package/build/umd/6126.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  140. package/build/umd/615.real-time-viewer.umd.min.js +1 -1
  141. package/build/umd/6169.real-time-viewer.umd.min.js +2 -0
  142. package/build/umd/6169.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  143. package/build/umd/6182.real-time-viewer.umd.min.js +2 -0
  144. package/build/umd/6182.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  145. package/build/umd/6230.real-time-viewer.umd.min.js +1 -1
  146. package/build/umd/6288.real-time-viewer.umd.min.js +2 -0
  147. package/build/umd/6288.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  148. package/build/umd/6357.real-time-viewer.umd.min.js +1 -1
  149. package/build/umd/653.real-time-viewer.umd.min.js +1 -1
  150. package/build/umd/6656.real-time-viewer.umd.min.js +1 -1
  151. package/build/umd/6728.real-time-viewer.umd.min.js +2 -0
  152. package/build/umd/6728.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  153. package/build/umd/6746.real-time-viewer.umd.min.js +2 -0
  154. package/build/umd/6746.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  155. package/build/umd/6748.real-time-viewer.umd.min.js +2 -0
  156. package/build/umd/6748.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  157. package/build/umd/6761.real-time-viewer.umd.min.js +2 -0
  158. package/build/umd/6761.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  159. package/build/umd/6829.real-time-viewer.umd.min.js +1 -1
  160. package/build/umd/6954.real-time-viewer.umd.min.js +2 -0
  161. package/build/umd/6954.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  162. package/build/umd/7038.real-time-viewer.umd.min.js +2 -0
  163. package/build/umd/7038.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  164. package/build/umd/7042.real-time-viewer.umd.min.js +1 -1
  165. package/build/umd/7069.real-time-viewer.umd.min.js +2 -0
  166. package/build/umd/7069.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  167. package/build/umd/710.real-time-viewer.umd.min.js +1 -1
  168. package/build/umd/7142.real-time-viewer.umd.min.js +1 -1
  169. package/build/umd/7154.real-time-viewer.umd.min.js +2 -0
  170. package/build/umd/7154.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  171. package/build/umd/7229.real-time-viewer.umd.min.js +1 -1
  172. package/build/umd/7352.real-time-viewer.umd.min.js +1 -1
  173. package/build/umd/7501.real-time-viewer.umd.min.js +1 -1
  174. package/build/umd/7540.real-time-viewer.umd.min.js +2 -0
  175. package/build/umd/7540.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  176. package/build/umd/7607.real-time-viewer.umd.min.js +1 -1
  177. package/build/umd/7615.real-time-viewer.umd.min.js +2 -0
  178. package/build/umd/7615.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  179. package/build/umd/7635.real-time-viewer.umd.min.js +2 -0
  180. package/build/umd/7635.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  181. package/build/umd/7647.real-time-viewer.umd.min.js +2 -0
  182. package/build/umd/7647.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  183. package/build/umd/7664.real-time-viewer.umd.min.js +2 -0
  184. package/build/umd/7664.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  185. package/build/umd/7729.real-time-viewer.umd.min.js +1 -1
  186. package/build/umd/7736.real-time-viewer.umd.min.js +2 -0
  187. package/build/umd/7736.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  188. package/build/umd/7751.real-time-viewer.umd.min.js +1 -1
  189. package/build/umd/7754.real-time-viewer.umd.min.js +1 -1
  190. package/build/umd/781.real-time-viewer.umd.min.js +2 -0
  191. package/build/umd/781.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  192. package/build/umd/8078.real-time-viewer.umd.min.js +1 -1
  193. package/build/umd/8105.real-time-viewer.umd.min.js +1 -1
  194. package/build/umd/815.real-time-viewer.umd.min.js +1 -1
  195. package/build/umd/8180.real-time-viewer.umd.min.js +2 -0
  196. package/build/umd/8180.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  197. package/build/umd/8240.real-time-viewer.umd.min.js +1 -1
  198. package/build/umd/8254.real-time-viewer.umd.min.js +2 -0
  199. package/build/umd/8254.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  200. package/build/umd/8333.real-time-viewer.umd.min.js +1 -1
  201. package/build/umd/8588.real-time-viewer.umd.min.js +2 -0
  202. package/build/umd/8588.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  203. package/build/umd/8620.real-time-viewer.umd.min.js +1 -1
  204. package/build/umd/8627.real-time-viewer.umd.min.js +2 -0
  205. package/build/umd/8627.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  206. package/build/umd/8645.real-time-viewer.umd.min.js +2 -0
  207. package/build/umd/8645.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  208. package/build/umd/8728.real-time-viewer.umd.min.js +1 -1
  209. package/build/umd/8729.real-time-viewer.umd.min.js +1 -1
  210. package/build/umd/8954.real-time-viewer.umd.min.js +2 -0
  211. package/build/umd/8954.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  212. package/build/umd/8991.real-time-viewer.umd.min.js +1 -1
  213. package/build/umd/9078.real-time-viewer.umd.min.js +1 -1
  214. package/build/umd/913.real-time-viewer.umd.min.js +1 -1
  215. package/build/umd/930.real-time-viewer.umd.min.js +1 -1
  216. package/build/umd/9383.real-time-viewer.umd.min.js +1 -1
  217. package/build/umd/9449.real-time-viewer.umd.min.js +2 -0
  218. package/build/umd/9449.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  219. package/build/umd/9487.real-time-viewer.umd.min.js +2 -0
  220. package/build/umd/9487.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  221. package/build/umd/9568.real-time-viewer.umd.min.js +1 -1
  222. package/build/umd/957.real-time-viewer.umd.min.js +2 -0
  223. package/build/umd/957.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  224. package/build/umd/9646.real-time-viewer.umd.min.js +2 -0
  225. package/build/umd/9646.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  226. package/build/umd/9712.real-time-viewer.umd.min.js +1 -1
  227. package/build/umd/9883.real-time-viewer.umd.min.js +2 -0
  228. package/build/umd/9883.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  229. package/build/umd/9884.real-time-viewer.umd.min.js +1 -1
  230. package/build/umd/9928.real-time-viewer.umd.min.js +2 -0
  231. package/build/umd/9928.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  232. package/build/umd/9990.real-time-viewer.umd.min.js +2 -0
  233. package/build/umd/9990.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
  234. package/build/umd/real-time-viewer.umd.min.js +1 -1
  235. package/build/umd/report.html +1 -1
  236. package/package.json +13 -12
  237. package/build/umd/1896.real-time-viewer.umd.min.js +0 -2
  238. package/build/umd/1896.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
  239. package/build/umd/3243.real-time-viewer.umd.min.js +0 -2
  240. package/build/umd/3243.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
  241. package/build/umd/4542.real-time-viewer.umd.min.js +0 -2
  242. package/build/umd/4542.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
  243. package/build/umd/5478.real-time-viewer.umd.min.js +0 -2
  244. package/build/umd/5478.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
  245. package/build/umd/7046.real-time-viewer.umd.min.js +0 -2
  246. package/build/umd/7046.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
  247. package/build/umd/7144.real-time-viewer.umd.min.js +0 -2
  248. package/build/umd/7144.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
  249. package/build/umd/7276.real-time-viewer.umd.min.js +0 -2
  250. package/build/umd/7276.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
@@ -20,7 +20,6 @@ import { CubeTexture } from '@babylonjs/core/Materials/Textures/cubeTexture';
20
20
  import { SSAO2RenderingPipeline } from '@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline';
21
21
  import '@babylonjs/core/Rendering/geometryBufferRendererSceneComponent';
22
22
  import '@babylonjs/core/Rendering/prePassRendererSceneComponent';
23
- import { UniversalCamera } from '@babylonjs/core/Cameras/universalCamera';
24
23
  import { PBRMetallicRoughnessMaterial } from '@babylonjs/core/Materials/PBR/pbrMetallicRoughnessMaterial';
25
24
  import { DirectionalLight } from '@babylonjs/core/Lights/directionalLight';
26
25
  import { Tools, Observable, WebRequest } from '@babylonjs/core/Misc';
@@ -47,8 +46,9 @@ import { Matrix as Matrix$1, Vector3 as Vector3$1 } from '@babylonjs/core/Maths/
47
46
  import { EngineFactory } from '@babylonjs/core/Engines/engineFactory';
48
47
  import { Scene } from '@babylonjs/core/scene';
49
48
  import { DracoCompression } from '@babylonjs/core/Meshes/Compression/dracoCompression';
50
- import { SceneLoader } from '@babylonjs/core/Loading/sceneLoader';
49
+ import { LoadAssetContainerAsync } from '@babylonjs/core/Loading/';
51
50
  import '@babylonjs/loaders/glTF/2.0/';
51
+ import { UniversalCamera } from '@babylonjs/core/Cameras/universalCamera';
52
52
  import { jsx } from 'react/jsx-runtime';
53
53
 
54
54
  (function() {
@@ -867,7 +867,7 @@ var lightning = function lightning(diva3durl, scene, cams, sceneStore) {
867
867
  environmentTexture.rotationY = 1.45;
868
868
  scene.environmentTexture = environmentTexture;
869
869
  scene.createDefaultSkybox(environmentTexture);
870
- scene.environmentIntensity = 1;
870
+ scene.environmentIntensity = 1.2;
871
871
  scene.getMaterialByName('skyBox').alpha = 0;
872
872
  var ssao = new SSAO2RenderingPipeline('ssao', scene, {
873
873
  ssaoRatio: 0.5,
@@ -876,7 +876,7 @@ var lightning = function lightning(diva3durl, scene, cams, sceneStore) {
876
876
  }, cams);
877
877
  ssao.radius = 1.25;
878
878
  ssao.epsilon = 0.002;
879
- ssao.totalStrength = 0.7;
879
+ ssao.totalStrength = .7;
880
880
  ssao.bilateralTolerance = 0.1;
881
881
  ssao.base = 0;
882
882
  ssao.expensiveBlur = true;
@@ -890,109 +890,6 @@ var lightning = function lightning(diva3durl, scene, cams, sceneStore) {
890
890
  sceneStore.ssao = ssao;
891
891
  };
892
892
 
893
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
894
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
895
- function createCams(scene, viewpoint) {
896
- var _useUtilStoreContext = useUtilStoreContext(),
897
- vector3ToBVector3 = _useUtilStoreContext.vector3ToBVector3,
898
- degreesToRadians = _useUtilStoreContext.degreesToRadians;
899
- function createCam(_ref) {
900
- var name = _ref.name,
901
- pos = _ref.pos,
902
- rot = _ref.rot,
903
- isEnabled = _ref.isEnabled,
904
- parent = _ref.parent,
905
- target = _ref.target;
906
- var existingCam = scene.getCameraByName(name);
907
- if (existingCam) return existingCam;
908
- var camera = new UniversalCamera(name, pos, scene);
909
- camera.rotation = degreesToRadians(rot);
910
- camera.minZ = 0.1;
911
- camera.maxZ = 30;
912
- camera.fov = 0.418879;
913
- if (isEnabled) scene.activeCamera = camera;
914
- if (parent) camera.parent = parent;
915
- var canvas = scene.getEngine().getRenderingCanvas();
916
- camera.inputs.clear();
917
- camera.inputs.removeByType('FreeCameraKeyboardMoveInput');
918
- camera.inputs.removeByType('FreeCameraMouseInput');
919
- camera.inputs.add(GetCameraControls(camera));
920
- // only control the current active Cam
921
- if (isEnabled) {
922
- camera.attachControl(canvas, true);
923
- }
924
- if (target) camera.target = target;
925
- return camera;
926
- }
927
- function createDefaultCam() {
928
- return [createCam({
929
- name: 'defaultCam',
930
- isEnabled: true,
931
- pos: new Vector3(4.5, 2.2, 8),
932
- rot: new Vector3(7.75, -150, 0),
933
- parent: undefined
934
- })];
935
- }
936
- if (scene.activeCamera) return [scene.activeCamera];
937
- if (!viewpoint) return createDefaultCam();
938
- return [createCam({
939
- name: 'defaultCam',
940
- isEnabled: true,
941
- pos: vector3ToBVector3(viewpoint.pos).multiply(new Vector3(-0.01, 0.01, 0.01)),
942
- rot: vector3ToBVector3(_objectSpread$1(_objectSpread$1({}, viewpoint.rot), {}, {
943
- x: -viewpoint.rot.x
944
- })),
945
- target: vector3ToBVector3(viewpoint.targetPos).multiply(new Vector3(-0.01, 0.01, 0.01)),
946
- parent: undefined
947
- })];
948
- }
949
- function updateCam(camera, scene) {
950
- var _sceneStore$updateCam;
951
- if (camera.pos.x == 0 && camera.pos.y == 0 && camera.pos.z == 0) return;
952
- var utilStore = useUtilStoreContext();
953
- var sceneStore = useSceneStoreContext();
954
- var cam = scene.getCameraByName('defaultCam');
955
- if (!cam) {
956
- var _cam = createCams(scene, camera)[0];
957
- sceneStore.targetCameraPosition = _cam.position;
958
- sceneStore.cameraTargetPosition = _cam.target;
959
- return;
960
- }
961
- if (camera.pos.x == cam.position.x && camera.pos.y == cam.position.y && camera.pos.z == camera.pos.z) return;
962
- var position = utilStore.vector3ToBVector3(camera.pos).multiply(new Vector3(-0.01, 0.01, 0.01));
963
- var rotation = utilStore.degreesToRadians(utilStore.vector3ToBVector3(_objectSpread$1(_objectSpread$1({}, camera.rot), {}, {
964
- x: -camera.rot.x
965
- })));
966
- var target = utilStore.vector3ToBVector3(camera.targetPos).multiply(new Vector3(-0.01, 0.01, 0.01));
967
- cam.position = position;
968
- cam.rotation = rotation;
969
- cam.setTarget(target);
970
- sceneStore.targetCameraPosition = position;
971
- sceneStore.cameraTargetPosition = target;
972
- (_sceneStore$updateCam = sceneStore.updateCameraInformation) === null || _sceneStore$updateCam === void 0 || _sceneStore$updateCam.call(sceneStore, {
973
- horiFov: cam.fov * 180 / Math.PI,
974
- lensShiftX: 0,
975
- lensShiftY: 0,
976
- name: cam.name,
977
- pos: {
978
- x: position.x,
979
- y: position.y,
980
- z: position.z
981
- },
982
- rot: {
983
- x: rotation.x * 180 / Math.PI,
984
- y: rotation.y * 180 / Math.PI,
985
- z: rotation.z * 180 / Math.PI
986
- },
987
- targetPos: {
988
- x: target.x,
989
- y: target.y,
990
- z: target.z
991
- },
992
- vertFov: cam.fov * 180 / Math.PI
993
- });
994
- }
995
-
996
893
  function shadow() {
997
894
  var _useSceneStoreContext = useSceneStoreContext(),
998
895
  hasRendered = _useSceneStoreContext.hasRendered,
@@ -1001,17 +898,24 @@ function shadow() {
1001
898
  degreesToRadians = _useUtilStoreContext.degreesToRadians;
1002
899
  if (!hasRendered && !scene.getMeshByName('ground')) {
1003
900
  var light = new DirectionalLight('dirl', new Vector3(-1, 0, 0), scene);
1004
- var lightf = new DirectionalLight('dirf', new Vector3(0, -0.436, -0.9), scene);
1005
- var lightr = new DirectionalLight('dirr', new Vector3(0, -1, 0.3), scene);
1006
- var lightl = new DirectionalLight('dirb', new Vector3(0.2, -1, 0.2), scene);
1007
- lightl.intensity = 1;
1008
- lightf.intensity = 2.2;
901
+ var lightf = new DirectionalLight('dirf', new Vector3(-.55, 0, -.85), scene);
902
+ var lightl = new DirectionalLight('dirb', new Vector3(0, 0, 1), scene);
903
+ var topLight = new DirectionalLight('dirt', new Vector3(0, -1, 0), scene);
904
+ lightl.intensity = .5;
905
+ lightf.intensity = 2;
1009
906
  light.intensity = 1;
1010
- lightr.intensity = 1;
1011
- light.position = new Vector3(-2, 5, 0);
1012
- lightf.position = new Vector3(2, 5, 0);
1013
- lightr.position = new Vector3(0, 5, -2);
1014
- lightl.position = new Vector3(0, 5, -2);
907
+ topLight.intensity = 1.5;
908
+ lightl.range = 5;
909
+ lightl.falloffType = 1;
910
+ topLight.range = 5;
911
+ topLight.falloffType = 1;
912
+ lightf.range = 5;
913
+ lightf.falloffType = 1;
914
+ light.range = 5;
915
+ light.falloffType = 1;
916
+ light.position = new Vector3(-2, 3, 0);
917
+ lightf.position = new Vector3(2, 3, 0);
918
+ lightl.position = new Vector3(0, 3, -2);
1015
919
  var ground = MeshBuilder.CreatePlane('ground', {
1016
920
  width: 100,
1017
921
  height: 100
@@ -1027,12 +931,9 @@ function shadow() {
1027
931
  std_mat.metallic = 0;
1028
932
  scene.defaultMaterial = std_mat;
1029
933
  var mat = new PBRMetallicRoughnessMaterial('white', scene);
1030
- mat.metallic = 0.05;
934
+ mat.metallic = 0;
1031
935
  mat.roughness = 1;
1032
- mat._environmentIntensity = 0;
1033
- mat.clearCoat.isEnabled = true;
1034
- mat.clearCoat.intensity = 1;
1035
- mat.subSurface.isTranslucencyEnabled = true;
936
+ mat.emissiveColor = Color3.White();
1036
937
  ground.material = mat;
1037
938
  }
1038
939
  }
@@ -1453,7 +1354,7 @@ var SceneStore = /*#__PURE__*/function () {
1453
1354
  key: "runRenderLoop",
1454
1355
  value: function runRenderLoop() {
1455
1356
  var engine = this._scene.getEngine();
1456
- if (engine.activeRenderLoops.length != 0) return;
1357
+ if (this && engine.activeRenderLoops.length != 0) return;
1457
1358
  engine.runRenderLoop(this.renderLoop.bind(this));
1458
1359
  }
1459
1360
  }, {
@@ -1466,8 +1367,8 @@ var SceneStore = /*#__PURE__*/function () {
1466
1367
  key: "runRenderLoopForTime",
1467
1368
  value: function runRenderLoopForTime(ms) {
1468
1369
  var _this2 = this;
1469
- this.runRenderLoop();
1470
1370
  clearTimeout(this._renderLoopTimeoutId);
1371
+ this.runRenderLoop();
1471
1372
  this._renderLoopTimeoutId = setTimeout(function () {
1472
1373
  _this2.stopRenderLoop();
1473
1374
  }, ms);
@@ -1500,7 +1401,7 @@ var SceneStore = /*#__PURE__*/function () {
1500
1401
  key: "checkMaterialCache",
1501
1402
  value: function checkMaterialCache() {
1502
1403
  // material cache can't go over amount x because it leads to performance issues
1503
- if (this._materialCache.length < 10) return;
1404
+ if (this._materialCache.length < 5) return;
1504
1405
  var amountToDispose = this._materialCache.length - 11;
1505
1406
  var disposableMaterials = this._materialCache.filter(function (m) {
1506
1407
  return m.mat.getBindedMeshes().length == 0;
@@ -1510,15 +1411,13 @@ var SceneStore = /*#__PURE__*/function () {
1510
1411
  });
1511
1412
  for (var idx = 0; idx < amountToDispose; idx++) {
1512
1413
  if (idx < disposableMaterials.length - 1) {
1513
- var _mat$baseTexture, _mat$metallicRoughnes, _mat$normalTexture;
1514
1414
  var mat = disposableMaterials[idx].mat;
1515
- mat.dispose();
1516
- (_mat$baseTexture = mat.baseTexture) === null || _mat$baseTexture === void 0 || _mat$baseTexture.dispose();
1517
- (_mat$metallicRoughnes = mat.metallicRoughnessTexture) === null || _mat$metallicRoughnes === void 0 || _mat$metallicRoughnes.dispose();
1518
- (_mat$normalTexture = mat.normalTexture) === null || _mat$normalTexture === void 0 || _mat$normalTexture.dispose();
1415
+ if (!mat.isReady()) return; //disposing the material before it's compilation causes issues (HOLZ_WENGE LUECK) not compiled because on no mesh
1416
+ mat.dispose(true, true);
1519
1417
  this._materialCache.splice(this._materialCache.indexOf(disposableMaterials[idx]), 1);
1520
1418
  }
1521
1419
  }
1420
+ this._scene.resetCachedMaterial();
1522
1421
  }
1523
1422
  }, {
1524
1423
  key: "addMaterialToCache",
@@ -1536,9 +1435,8 @@ var SceneStore = /*#__PURE__*/function () {
1536
1435
  shadow();
1537
1436
  Tools.fallbackTexture = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=='; // blank white image
1538
1437
  this.setResolution(gameCanvas, resolution);
1539
- var cams = createCams(this._scene, viewpoint);
1540
- this._targetCameraPosition = cams[0].position;
1541
- lightning(diva3durl, this._scene, cams, this);
1438
+ this._targetCameraPosition = this._scene.activeCamera.position;
1439
+ lightning(diva3durl, this._scene, this._scene.cameras, this);
1542
1440
  }
1543
1441
  }, {
1544
1442
  key: "setRoot",
@@ -1859,7 +1757,6 @@ var UIStore = /*#__PURE__*/function () {
1859
1757
  _defineProperty(this, "updateOverlayImage", function (overlayImage) {
1860
1758
  var _this$_diffuseTexture;
1861
1759
  if (!overlayImage || !_this._scene || ((_this$_diffuseTexture = _this._diffuseTexture) === null || _this$_diffuseTexture === void 0 ? void 0 : _this$_diffuseTexture.url) == overlayImage.base64) return;
1862
- if (!_this._scene.activeCamera) createCams(_this._scene, undefined);
1863
1760
  var utilStore = useUtilStoreContext();
1864
1761
  if (!utilStore || !utilStore.updateCam) return;
1865
1762
  _this._isStaticBg = overlayImage.isStaticBg;
@@ -1898,13 +1795,12 @@ var UIStore = /*#__PURE__*/function () {
1898
1795
  shaderMat.setVector2("scale", new Vector2(1, 1)); // adjust scale here
1899
1796
  shaderMat.alpha = 1;
1900
1797
  shaderMat.backFaceCulling = true;
1901
- this._diffuseTexture.anisotropicFilteringLevel = 16;
1902
- this._diffuseTexture.updateSamplingMode(Texture.TRILINEAR_SAMPLINGMODE);
1903
1798
 
1904
1799
  // Get aspect ratio of the current screen
1905
1800
  this._plane = MeshBuilder.CreatePlane('overlayplane', {
1906
1801
  size: 1
1907
1802
  }, scene);
1803
+ this._plane.visibility = 0;
1908
1804
  this._plane.setEnabled(false);
1909
1805
  this._plane.material = shaderMat;
1910
1806
  this._shaderMat = shaderMat;
@@ -1938,6 +1834,7 @@ var UIStore = /*#__PURE__*/function () {
1938
1834
  }
1939
1835
  this._isStaticBg = _overlayImage === null || _overlayImage === void 0 ? void 0 : _overlayImage.isStaticBg;
1940
1836
  if (_overlayImage) {
1837
+ this._plane.visibility = 1;
1941
1838
  this._isUnityComb = true;
1942
1839
  this._enableSSAO(false);
1943
1840
  if (_overlayImage.isStaticBg) this.fadeInOverlayImage(true);
@@ -2006,6 +1903,12 @@ var UIStore = /*#__PURE__*/function () {
2006
1903
  } else {
2007
1904
  //animation finished
2008
1905
  _this3._enableSSAO(false);
1906
+ var size = _this3._diffuseTexture.getSize();
1907
+ var engine = _this3._scene.getEngine();
1908
+ var ratio = size.width / size.height;
1909
+ var engineRatio = engine.getRenderWidth() / engine.getRenderHeight();
1910
+ _this3._shaderMat.setVector2("scale", new Vector2(1 / (engineRatio / ratio), 1)); // adjust scale here */
1911
+
2009
1912
  var root = _this3._scene.getTransformNodeByName('Root');
2010
1913
  if (root) root.getChildMeshes().forEach(function (m) {
2011
1914
  m.visibility = 0;
@@ -2076,15 +1979,10 @@ var UIStore = /*#__PURE__*/function () {
2076
1979
  // if rendering is cached it gets updated before resize is triggered, so check if the image is already correct
2077
1980
  var size = this._diffuseTexture.getSize();
2078
1981
  var engine = this._scene.getEngine();
2079
- if (Math.round(size.width / size.height * 100) / 100 != Math.round(engine.getRenderWidth() / engine.getRenderHeight() * 100) / 100) {
2080
- if (!this._isStaticBg) {
2081
- this.fadeOutOverlayImage();
2082
- } else {
2083
- var ratio = size.width / size.height;
2084
- var engineRatio = engine.getRenderWidth() / engine.getRenderHeight();
2085
- this._shaderMat.setVector2("scale", new Vector2(1 / (engineRatio / ratio), 1)); // adjust scale here */
2086
- }
2087
- }
1982
+ engine.resize();
1983
+ var ratio = size.width / size.height;
1984
+ var engineRatio = engine.getRenderWidth() / engine.getRenderHeight();
1985
+ this._shaderMat.setVector2("scale", new Vector2(1 / (engineRatio / ratio), 1)); // adjust scale here */
2088
1986
  this._gui.dispose();
2089
1987
  this._gui = AdvancedDynamicTexture.CreateFullscreenUI('UI', true, this._scene);
2090
1988
  this._gui.renderScale = 1;
@@ -2107,7 +2005,7 @@ var UIStore = /*#__PURE__*/function () {
2107
2005
  value: function pointerOverElement(element) {
2108
2006
  var _this$_runRenderLoopF,
2109
2007
  _this5 = this;
2110
- this.unityCombActive && ((_this$_runRenderLoopF = this._runRenderLoopForTime) === null || _this$_runRenderLoopF === void 0 ? void 0 : _this$_runRenderLoopF.call(this, 1000));
2008
+ this.unityCombActive && ((_this$_runRenderLoopF = this._runRenderLoopForTime) === null || _this$_runRenderLoopF === void 0 ? void 0 : _this$_runRenderLoopF.call(this, 5000));
2111
2009
  this._selectedHl.removeAllMeshes();
2112
2010
  this._selectedHl.addExcludedMesh(this._plane);
2113
2011
  if (this._plane.visibility == 1) this._selectedMeshes.forEach(function (_m) {
@@ -2123,7 +2021,7 @@ var UIStore = /*#__PURE__*/function () {
2123
2021
  value: function pointerOutElement(element) {
2124
2022
  var _this$_runRenderLoopF2,
2125
2023
  _this6 = this;
2126
- this.unityCombActive && ((_this$_runRenderLoopF2 = this._runRenderLoopForTime) === null || _this$_runRenderLoopF2 === void 0 ? void 0 : _this$_runRenderLoopF2.call(this, 1000));
2024
+ this.unityCombActive && ((_this$_runRenderLoopF2 = this._runRenderLoopForTime) === null || _this$_runRenderLoopF2 === void 0 ? void 0 : _this$_runRenderLoopF2.call(this, 5000));
2127
2025
  this._selectedHl.removeAllMeshes();
2128
2026
  this._selectedHl.addExcludedMesh(this._plane);
2129
2027
  if (this._plane.visibility == 1) element.getChildMeshes().forEach(function (_m) {
@@ -2147,7 +2045,7 @@ var UIStore = /*#__PURE__*/function () {
2147
2045
  var bbox = element.getHierarchyBoundingVectors();
2148
2046
  var guiElemLeftBack = null;
2149
2047
  var guiElemRightBack = null;
2150
- if (!isBoxPlanner && elementInfo.selectable) {
2048
+ if (!isBoxPlanner && elementInfo.selectable && this._uiConfig.templateConfig != 'hidden') {
2151
2049
  guiElemLeftBack = new TransformNode('guiElem_' + elementInfo.elementId, this._scene);
2152
2050
  var forward = element.getDirection(Vector3.Forward()).normalize();
2153
2051
  var left = element.getDirection(Vector3.Left()).normalize();
@@ -2944,7 +2842,7 @@ var customMat = /*#__PURE__*/function () {
2944
2842
  sizeMb: 0
2945
2843
  });
2946
2844
  case 31:
2947
- mat = new PBRMetallicRoughnessMaterial(_customMat.name, _customMat.scene);
2845
+ mat = new PBRMetallicRoughnessMaterial(_customMat.name, sceneStore.scene);
2948
2846
  return _context.abrupt("return", {
2949
2847
  mat: mat,
2950
2848
  found: true
@@ -2992,9 +2890,7 @@ function _findAssets() {
2992
2890
  size = 0;
2993
2891
  _context2.prev = 4;
2994
2892
  _context2.next = 7;
2995
- return SceneLoader.ImportMeshAsync(null, path, geo.name + '.glb', sceneStore.scene, function (progress) {
2996
- size = progress.total;
2997
- });
2893
+ return LoadAssetContainerAsync(path + geo.name + '.glb', sceneStore.scene);
2998
2894
  case 7:
2999
2895
  result = _context2.sent;
3000
2896
  utilStore.setAnalyzeDataRow({
@@ -3045,7 +2941,7 @@ function _findAssets() {
3045
2941
  while (1) switch (_context.prev = _context.next) {
3046
2942
  case 0:
3047
2943
  if (!geo.material) {
3048
- _context.next = 20;
2944
+ _context.next = 22;
3049
2945
  break;
3050
2946
  }
3051
2947
  splittedName = geo.material.name.split('.');
@@ -3074,7 +2970,13 @@ function _findAssets() {
3074
2970
  geo: geo.name
3075
2971
  });
3076
2972
  geo.material = mat.mat;
3077
- oldMat = sceneStore.scene.getMaterialByUniqueID(oldMatId);
2973
+ oldMat = sceneStore.scene.getMaterialByUniqueId(oldMatId);
2974
+ if (oldMat) {
2975
+ _context.next = 17;
2976
+ break;
2977
+ }
2978
+ return _context.abrupt("return");
2979
+ case 17:
3078
2980
  _iterator3 = _createForOfIteratorHelper$3(oldMat.getBindedMeshes());
3079
2981
  try {
3080
2982
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -3086,40 +2988,40 @@ function _findAssets() {
3086
2988
  } finally {
3087
2989
  _iterator3.f();
3088
2990
  }
3089
- oldMat.dispose();
3090
- _context.next = 37;
2991
+ oldMat.dispose(true, true);
2992
+ _context.next = 39;
3091
2993
  break;
3092
- case 20:
2994
+ case 22:
3093
2995
  _iterator4 = _createForOfIteratorHelper$3(geo.getChildMeshes());
3094
- _context.prev = 21;
2996
+ _context.prev = 23;
3095
2997
  _iterator4.s();
3096
- case 23:
2998
+ case 25:
3097
2999
  if ((_step4 = _iterator4.n()).done) {
3098
- _context.next = 29;
3000
+ _context.next = 31;
3099
3001
  break;
3100
3002
  }
3101
3003
  child = _step4.value;
3102
- _context.next = 27;
3004
+ _context.next = 29;
3103
3005
  return unifyAndSetStdMats(child, iln);
3104
- case 27:
3105
- _context.next = 23;
3106
- break;
3107
3006
  case 29:
3108
- _context.next = 34;
3007
+ _context.next = 25;
3109
3008
  break;
3110
3009
  case 31:
3111
- _context.prev = 31;
3112
- _context.t0 = _context["catch"](21);
3010
+ _context.next = 36;
3011
+ break;
3012
+ case 33:
3013
+ _context.prev = 33;
3014
+ _context.t0 = _context["catch"](23);
3113
3015
  _iterator4.e(_context.t0);
3114
- case 34:
3115
- _context.prev = 34;
3016
+ case 36:
3017
+ _context.prev = 36;
3116
3018
  _iterator4.f();
3117
- return _context.finish(34);
3118
- case 37:
3019
+ return _context.finish(36);
3020
+ case 39:
3119
3021
  case "end":
3120
3022
  return _context.stop();
3121
3023
  }
3122
- }, _callee, null, [[21, 31, 34, 37]]);
3024
+ }, _callee, null, [[23, 33, 36, 39]]);
3123
3025
  }));
3124
3026
  return _unifyAndSetStdMats.apply(this, arguments);
3125
3027
  };
@@ -3412,8 +3314,8 @@ function _createOrGetMaterial() {
3412
3314
  function _createForOfIteratorHelper$2(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$2(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
3413
3315
  function _unsupportedIterableToArray$2(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$2(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$2(r, a) : void 0; } }
3414
3316
  function _arrayLikeToArray$2(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
3415
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3416
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3317
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3318
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3417
3319
  var buildScene = function buildScene(_ref) {
3418
3320
  var _sceneStore$elements;
3419
3321
  var startNode = _ref.startNode,
@@ -3440,7 +3342,7 @@ var buildScene = function buildScene(_ref) {
3440
3342
  })) === null || _cachedAssets$find === void 0 || (_cachedAssets$find = _cachedAssets$find.geo) === null || _cachedAssets$find === void 0 || _cachedAssets$find.onElements.push(curElement); // TODO
3441
3343
  var geo = mesh.clone('geo_' + mesh.name, parentNode);
3442
3344
  geo.position = new Vector3(curGeo.pos.x / 100, curGeo.pos.y / 100, -curGeo.pos.z / 100);
3443
- geo.rotation = utilStore.degreesToRadians(_objectSpread(_objectSpread({}, curGeo.rot), {}, {
3345
+ geo.rotation = utilStore.degreesToRadians(_objectSpread$1(_objectSpread$1({}, curGeo.rot), {}, {
3444
3346
  x: hqsGeo.isIDM3D ? 90 - curGeo.rot.x : curGeo.rot.x
3445
3347
  }));
3446
3348
  geo.setEnabled(true);
@@ -3723,7 +3625,9 @@ var parser = /*#__PURE__*/function () {
3723
3625
  }
3724
3626
  utilStore.setRTVAnalyzeData();
3725
3627
  deacCache(cacheGroup);
3726
- sceneStore.checkMaterialCache();
3628
+ sceneStore.scene.executeWhenReady(function () {
3629
+ return sceneStore.checkMaterialCache();
3630
+ });
3727
3631
  case 15:
3728
3632
  case "end":
3729
3633
  return _context.stop();
@@ -3735,9 +3639,112 @@ var parser = /*#__PURE__*/function () {
3735
3639
  };
3736
3640
  }();
3737
3641
 
3642
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3643
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3644
+ function createCams(scene, viewpoint) {
3645
+ var _useUtilStoreContext = useUtilStoreContext(),
3646
+ vector3ToBVector3 = _useUtilStoreContext.vector3ToBVector3,
3647
+ degreesToRadians = _useUtilStoreContext.degreesToRadians;
3648
+ function createCam(_ref) {
3649
+ var name = _ref.name,
3650
+ pos = _ref.pos,
3651
+ rot = _ref.rot,
3652
+ isEnabled = _ref.isEnabled,
3653
+ parent = _ref.parent,
3654
+ target = _ref.target;
3655
+ var existingCam = scene.getCameraByName(name);
3656
+ if (existingCam) return existingCam;
3657
+ var camera = new UniversalCamera(name, pos, scene);
3658
+ camera.rotation = degreesToRadians(rot);
3659
+ camera.minZ = 0.1;
3660
+ camera.maxZ = 30;
3661
+ camera.fov = 0.418879;
3662
+ if (isEnabled) scene.activeCamera = camera;
3663
+ if (parent) camera.parent = parent;
3664
+ var canvas = scene.getEngine().getRenderingCanvas();
3665
+ camera.inputs.clear();
3666
+ camera.inputs.removeByType('FreeCameraKeyboardMoveInput');
3667
+ camera.inputs.removeByType('FreeCameraMouseInput');
3668
+ camera.inputs.add(GetCameraControls(camera));
3669
+ // only control the current active Cam
3670
+ if (isEnabled) {
3671
+ camera.attachControl(canvas, true);
3672
+ }
3673
+ if (target) camera.target = target;
3674
+ return camera;
3675
+ }
3676
+ function createDefaultCam() {
3677
+ return [createCam({
3678
+ name: 'defaultCam',
3679
+ isEnabled: true,
3680
+ pos: new Vector3(4.5, 2.2, 8),
3681
+ rot: new Vector3(7.75, -150, 0),
3682
+ parent: undefined
3683
+ })];
3684
+ }
3685
+ if (scene.activeCamera) return [scene.activeCamera];
3686
+ if (!viewpoint) return createDefaultCam();
3687
+ return [createCam({
3688
+ name: 'defaultCam',
3689
+ isEnabled: true,
3690
+ pos: vector3ToBVector3(viewpoint.pos).multiply(new Vector3(-0.01, 0.01, 0.01)),
3691
+ rot: vector3ToBVector3(_objectSpread(_objectSpread({}, viewpoint.rot), {}, {
3692
+ x: -viewpoint.rot.x
3693
+ })),
3694
+ target: vector3ToBVector3(viewpoint.targetPos).multiply(new Vector3(-0.01, 0.01, 0.01)),
3695
+ parent: undefined
3696
+ })];
3697
+ }
3698
+ function updateCam(camera, scene) {
3699
+ var _sceneStore$updateCam;
3700
+ if (camera.pos.x == 0 && camera.pos.y == 0 && camera.pos.z == 0) return;
3701
+ var utilStore = useUtilStoreContext();
3702
+ var sceneStore = useSceneStoreContext();
3703
+ var cam = scene.getCameraByName('defaultCam');
3704
+ if (!cam) {
3705
+ var _cam = createCams(scene, camera)[0];
3706
+ sceneStore.targetCameraPosition = _cam.position;
3707
+ sceneStore.cameraTargetPosition = _cam.target;
3708
+ return;
3709
+ }
3710
+ if (camera.pos.x == cam.position.x && camera.pos.y == cam.position.y && camera.pos.z == camera.pos.z) return;
3711
+ var position = utilStore.vector3ToBVector3(camera.pos).multiply(new Vector3(-0.01, 0.01, 0.01));
3712
+ var rotation = utilStore.degreesToRadians(utilStore.vector3ToBVector3(_objectSpread(_objectSpread({}, camera.rot), {}, {
3713
+ x: -camera.rot.x
3714
+ })));
3715
+ var target = utilStore.vector3ToBVector3(camera.targetPos).multiply(new Vector3(-0.01, 0.01, 0.01));
3716
+ cam.position = position;
3717
+ cam.rotation = rotation;
3718
+ cam.setTarget(target);
3719
+ sceneStore.targetCameraPosition = position;
3720
+ sceneStore.cameraTargetPosition = target;
3721
+ (_sceneStore$updateCam = sceneStore.updateCameraInformation) === null || _sceneStore$updateCam === void 0 || _sceneStore$updateCam.call(sceneStore, {
3722
+ horiFov: cam.fov * 180 / Math.PI,
3723
+ lensShiftX: 0,
3724
+ lensShiftY: 0,
3725
+ name: cam.name,
3726
+ pos: {
3727
+ x: position.x,
3728
+ y: position.y,
3729
+ z: position.z
3730
+ },
3731
+ rot: {
3732
+ x: rotation.x * 180 / Math.PI,
3733
+ y: rotation.y * 180 / Math.PI,
3734
+ z: rotation.z * 180 / Math.PI
3735
+ },
3736
+ targetPos: {
3737
+ x: target.x,
3738
+ y: target.y,
3739
+ z: target.z
3740
+ },
3741
+ vertFov: cam.fov * 180 / Math.PI
3742
+ });
3743
+ }
3744
+
3738
3745
  var LOG = getLogger('ARViewer', 'RealTimeRenderData');
3739
3746
  function useRealTimeRenderData (_ref) {
3740
- var _sceneStore2;
3747
+ var _sceneStore3;
3741
3748
  var jwt = _ref.jwt,
3742
3749
  actions = _ref.actions,
3743
3750
  apiConfig = _ref.apiConfig,
@@ -3850,7 +3857,7 @@ function useRealTimeRenderData (_ref) {
3850
3857
  if (!sceneStore.hasRendered) {
3851
3858
  sceneStore.hasRendered = true;
3852
3859
  }
3853
- sceneStore.runRenderLoopIndefinitely();
3860
+ sceneStore.runRenderLoopForTime(5000);
3854
3861
  sceneStore.scene.onAfterRenderObservable.add(onFirstFrame);
3855
3862
  LOG.successTransaction('BUILD_SCENE');
3856
3863
  case 34:
@@ -3877,22 +3884,28 @@ function useRealTimeRenderData (_ref) {
3877
3884
  if (gameCanvas.current && sceneStore && sceneStore.scene.getEngine()) {
3878
3885
  var _queueRerender = function queueRerender() {
3879
3886
  if (sceneStore.isInitializing) setTimeout(_queueRerender, 150);else {
3880
- if (sceneStore.scene.isReady()) onSceneReady();else sceneStore.scene.executeWhenReady(function () {
3881
- return onSceneReady();
3882
- });
3887
+ if (sceneStore.scene) {
3888
+ if (sceneStore.scene.isReady()) onSceneReady();else sceneStore.scene.executeWhenReady(function () {
3889
+ return onSceneReady();
3890
+ });
3891
+ }
3883
3892
  }
3884
3893
  };
3885
3894
  _queueRerender();
3886
3895
  }
3887
3896
  useEffect(function () {
3888
- var babylonScene = undefined;
3889
- var babylonEngine = undefined;
3890
- function init() {
3897
+ var _sceneStore;
3898
+ if ((_sceneStore = sceneStore) !== null && _sceneStore !== void 0 && (_sceneStore = _sceneStore.scene) !== null && _sceneStore !== void 0 && _sceneStore.getEngine() && sceneStore.scene.getEngine().getRenderingCanvas() == null && gameCanvas.current) {
3899
+ sceneStore.scene.getEngine()._renderingCanvas = gameCanvas.current;
3900
+ }
3901
+ }, [gameCanvas.current]);
3902
+ useEffect(function () {
3903
+ function init(_x) {
3891
3904
  return _init.apply(this, arguments);
3892
3905
  }
3893
3906
  function _init() {
3894
- _init = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
3895
- var context;
3907
+ _init = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(enginePromise) {
3908
+ var babylonEngine, babylonScene, context;
3896
3909
  return _regeneratorRuntime.wrap(function _callee$(_context) {
3897
3910
  while (1) switch (_context.prev = _context.next) {
3898
3911
  case 0:
@@ -3902,43 +3915,45 @@ function useRealTimeRenderData (_ref) {
3902
3915
  }
3903
3916
  return _context.abrupt("return");
3904
3917
  case 2:
3905
- _context.next = 4;
3906
- return EngineFactory.CreateAsync(gameCanvas.current, {
3907
- antialias: true,
3908
- stencil: true,
3909
- audioEngine: false,
3910
- adaptToDeviceRatio: true
3911
- });
3918
+ if (!sceneStore) {
3919
+ _context.next = 4;
3920
+ break;
3921
+ }
3922
+ return _context.abrupt("return");
3912
3923
  case 4:
3924
+ _context.next = 6;
3925
+ return enginePromise;
3926
+ case 6:
3913
3927
  babylonEngine = _context.sent;
3914
3928
  babylonEngine.renderEvenInBackground = renderInBackground;
3915
3929
  babylonEngine.disablePerformanceMonitorInBackground = true;
3916
3930
  babylonScene = new Scene(babylonEngine, undefined);
3917
3931
  babylonScene.clearColor = new Color4(255, 255, 255, 255);
3918
3932
  context = registerContext(babylonScene, renderjob, apiConfig, jwt, viewHandler, callbacks.onMissingGeo, callbacks.requestNewOverlayImage, overlayImage, uiConfig, callbacks.updateCameraInformation, !!isMobile);
3933
+ createCams(babylonScene, viewpoint);
3919
3934
  sceneStore = context.sceneStore;
3920
3935
  utilStore = context.utilStore;
3921
3936
  gridStore = context.gridStore;
3922
3937
  uiStore = context.uiStore;
3923
3938
  if (!babylonScene.isReady()) {
3924
- _context.next = 19;
3939
+ _context.next = 22;
3925
3940
  break;
3926
3941
  }
3927
- _context.next = 17;
3928
- return onSceneReady();
3929
- case 17:
3930
3942
  _context.next = 20;
3943
+ return onSceneReady();
3944
+ case 20:
3945
+ _context.next = 23;
3931
3946
  break;
3932
- case 19:
3947
+ case 22:
3933
3948
  babylonScene.executeWhenReady(function () {
3934
3949
  return onSceneReady();
3935
3950
  });
3936
- case 20:
3951
+ case 23:
3937
3952
  if (window && gameCanvas.current) {
3938
3953
  window.addEventListener('resize', resize);
3939
3954
  new ResizeObserver(resize).observe(gameCanvas.current);
3940
3955
  }
3941
- case 21:
3956
+ case 24:
3942
3957
  case "end":
3943
3958
  return _context.stop();
3944
3959
  }
@@ -3947,16 +3962,28 @@ function useRealTimeRenderData (_ref) {
3947
3962
  return _init.apply(this, arguments);
3948
3963
  }
3949
3964
  var resize = function resize() {
3950
- var _sceneStore;
3951
- if (inBackground || !((_sceneStore = sceneStore) !== null && _sceneStore !== void 0 && _sceneStore.scene) || !sceneStore.scene.getEngine() || !sceneStore.scene.isReady()) return;
3965
+ var _sceneStore2;
3966
+ if (inBackground || !((_sceneStore2 = sceneStore) !== null && _sceneStore2 !== void 0 && _sceneStore2.scene) || !sceneStore.scene.getEngine() || !sceneStore.scene.isReady()) return;
3952
3967
  sceneStore.runRenderLoopIndefinitely();
3953
3968
  sceneStore.scene.getEngine().resize(true);
3954
3969
  uiStore.resize();
3955
3970
  uiStore.initGui(callbacks.onElementSelected, sceneStore.elements);
3956
3971
  };
3957
- init();
3972
+ if (!gameCanvas.current) return;
3973
+ var enginePrmise = EngineFactory.CreateAsync(gameCanvas.current, {
3974
+ antialias: true,
3975
+ stencil: true,
3976
+ audioEngine: false,
3977
+ adaptToDeviceRatio: true,
3978
+ useHighPrecisionFloats: true,
3979
+ preserveDrawingBuffer: true
3980
+ });
3981
+ init(enginePrmise);
3958
3982
  return function () {
3959
- if (babylonEngine || babylonScene) {
3983
+ enginePrmise.then(function (e) {
3984
+ return e.dispose();
3985
+ });
3986
+ if (sceneStore && sceneStore.scene) {
3960
3987
  unregisterContext();
3961
3988
  sceneStore.scene.dispose();
3962
3989
  if (window) {
@@ -3968,7 +3995,7 @@ function useRealTimeRenderData (_ref) {
3968
3995
  useEffect(function () {
3969
3996
  if (overlayImage && uiStore && gameCanvas.current && sceneStore && sceneStore.scene.getEngine()) {
3970
3997
  if (!utilStore.updateCam) return;
3971
- sceneStore.runRenderLoopForTime(1000);
3998
+ sceneStore.runRenderLoopForTime(5000);
3972
3999
  shadow(); // make sure the lighting is set up otherwise the image has a wrong color
3973
4000
  uiStore.updateOverlayImage(overlayImage);
3974
4001
  if (viewpoint) updateCam(viewpoint, sceneStore.scene);
@@ -3978,9 +4005,9 @@ function useRealTimeRenderData (_ref) {
3978
4005
  if (sceneStore && elementsInfo && gameCanvas.current && sceneStore.scene.getEngine()) {
3979
4006
  uiStore.addElementsInfo(elementsInfo);
3980
4007
  uiStore.initGui(callbacks.onElementSelected, sceneStore.elements);
3981
- sceneStore.runRenderLoopForTime(1000);
4008
+ sceneStore.runRenderLoopForTime(5000);
3982
4009
  }
3983
- }, [elementsInfo, (_sceneStore2 = sceneStore) === null || _sceneStore2 === void 0 ? void 0 : _sceneStore2.elements]);
4010
+ }, [elementsInfo, (_sceneStore3 = sceneStore) === null || _sceneStore3 === void 0 ? void 0 : _sceneStore3.elements]);
3984
4011
  useEffect(function () {
3985
4012
  if (!gameCanvas.current || !sceneStore) return;
3986
4013
  if (inBackground) {