@combeenation/3d-viewer 5.1.2 → 5.2.0-alpha1

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 (322) hide show
  1. package/README.md +111 -111
  2. package/dist/lib-cjs/buildinfo.json +3 -3
  3. package/dist/lib-cjs/commonjs.tsconfig.tsbuildinfo +1 -0
  4. package/dist/lib-cjs/{api → src/api}/classes/animationInterface.d.ts +8 -8
  5. package/dist/lib-cjs/src/api/classes/animationInterface.js +3 -0
  6. package/dist/lib-cjs/src/api/classes/animationInterface.js.map +1 -0
  7. package/dist/{lib-es6 → lib-cjs/src}/api/classes/dottedPath.d.ts +79 -79
  8. package/dist/lib-cjs/src/api/classes/dottedPath.js +167 -0
  9. package/dist/lib-cjs/src/api/classes/dottedPath.js.map +1 -0
  10. package/dist/lib-cjs/{api → src/api}/classes/element.d.ts +149 -149
  11. package/dist/lib-cjs/src/api/classes/element.js +669 -0
  12. package/dist/lib-cjs/src/api/classes/element.js.map +1 -0
  13. package/dist/{lib-es6 → lib-cjs/src}/api/classes/event.d.ts +326 -326
  14. package/dist/lib-cjs/src/api/classes/event.js +350 -0
  15. package/dist/lib-cjs/src/api/classes/event.js.map +1 -0
  16. package/dist/{lib-es6 → lib-cjs/src}/api/classes/eventBroadcaster.d.ts +26 -26
  17. package/dist/lib-cjs/src/api/classes/eventBroadcaster.js +50 -0
  18. package/dist/lib-cjs/src/api/classes/eventBroadcaster.js.map +1 -0
  19. package/dist/{lib-es6 → lib-cjs/src}/api/classes/parameter.d.ts +336 -336
  20. package/dist/lib-cjs/src/api/classes/parameter.js +462 -0
  21. package/dist/lib-cjs/src/api/classes/parameter.js.map +1 -0
  22. package/dist/lib-cjs/{api → src/api}/classes/parameterObservable.d.ts +36 -36
  23. package/dist/lib-cjs/src/api/classes/parameterObservable.js +98 -0
  24. package/dist/lib-cjs/src/api/classes/parameterObservable.js.map +1 -0
  25. package/dist/lib-cjs/{api → src/api}/classes/parameterizable.d.ts +15 -15
  26. package/dist/lib-cjs/src/api/classes/parameterizable.js +103 -0
  27. package/dist/lib-cjs/src/api/classes/parameterizable.js.map +1 -0
  28. package/dist/lib-cjs/{api → src/api}/classes/placementAnimation.d.ts +45 -44
  29. package/dist/lib-cjs/{api → src/api}/classes/placementAnimation.js +175 -163
  30. package/dist/lib-cjs/src/api/classes/placementAnimation.js.map +1 -0
  31. package/dist/{lib-es6 → lib-cjs/src}/api/classes/variant.d.ts +234 -234
  32. package/dist/lib-cjs/src/api/classes/variant.js +837 -0
  33. package/dist/lib-cjs/src/api/classes/variant.js.map +1 -0
  34. package/dist/lib-cjs/{api → src/api}/classes/variantInstance.d.ts +45 -45
  35. package/dist/lib-cjs/src/api/classes/variantInstance.js +102 -0
  36. package/dist/lib-cjs/src/api/classes/variantInstance.js.map +1 -0
  37. package/dist/{lib-es6 → lib-cjs/src}/api/classes/variantParameterizable.d.ts +17 -17
  38. package/dist/lib-cjs/src/api/classes/variantParameterizable.js +89 -0
  39. package/dist/lib-cjs/src/api/classes/variantParameterizable.js.map +1 -0
  40. package/dist/lib-cjs/{api → src/api}/classes/viewer.d.ts +187 -184
  41. package/dist/lib-cjs/src/api/classes/viewer.js +594 -0
  42. package/dist/lib-cjs/src/api/classes/viewer.js.map +1 -0
  43. package/dist/lib-cjs/{api → src/api}/classes/viewerLight.d.ts +66 -66
  44. package/dist/lib-cjs/src/api/classes/viewerLight.js +344 -0
  45. package/dist/lib-cjs/src/api/classes/viewerLight.js.map +1 -0
  46. package/dist/{lib-es6 → lib-cjs/src}/api/internal/lensRendering.d.ts +8 -8
  47. package/dist/lib-cjs/{api → src/api}/internal/lensRendering.js +11 -11
  48. package/dist/lib-cjs/src/api/internal/lensRendering.js.map +1 -0
  49. package/dist/{lib-es6 → lib-cjs/src}/api/internal/sceneSetup.d.ts +13 -13
  50. package/dist/lib-cjs/src/api/internal/sceneSetup.js +226 -0
  51. package/dist/lib-cjs/src/api/internal/sceneSetup.js.map +1 -0
  52. package/dist/lib-cjs/{api → src/api}/manager/animationManager.d.ts +30 -29
  53. package/dist/lib-cjs/src/api/manager/animationManager.js +127 -0
  54. package/dist/lib-cjs/src/api/manager/animationManager.js.map +1 -0
  55. package/dist/lib-cjs/{api → src/api}/manager/gltfExportManager.d.ts +65 -65
  56. package/dist/lib-cjs/src/api/manager/gltfExportManager.js +197 -0
  57. package/dist/lib-cjs/src/api/manager/gltfExportManager.js.map +1 -0
  58. package/dist/lib-cjs/{api → src/api}/manager/sceneManager.d.ts +31 -31
  59. package/dist/lib-cjs/src/api/manager/sceneManager.js +128 -0
  60. package/dist/lib-cjs/src/api/manager/sceneManager.js.map +1 -0
  61. package/dist/{lib-es6 → lib-cjs/src}/api/manager/variantInstanceManager.d.ts +92 -92
  62. package/dist/lib-cjs/src/api/manager/variantInstanceManager.js +261 -0
  63. package/dist/lib-cjs/src/api/manager/variantInstanceManager.js.map +1 -0
  64. package/dist/{lib-es6 → lib-cjs/src}/api/store/specStorage.d.ts +24 -24
  65. package/dist/lib-cjs/{api → src/api}/store/specStorage.js +50 -51
  66. package/dist/lib-cjs/src/api/store/specStorage.js.map +1 -0
  67. package/dist/{lib-es6 → lib-cjs/src}/api/util/babylonHelper.d.ts +174 -174
  68. package/dist/lib-cjs/{api → src/api}/util/babylonHelper.js +591 -611
  69. package/dist/lib-cjs/src/api/util/babylonHelper.js.map +1 -0
  70. package/dist/{lib-es6 → lib-cjs/src}/api/util/globalTypes.d.ts +366 -366
  71. package/dist/lib-cjs/src/api/util/globalTypes.js +2 -0
  72. package/dist/lib-cjs/src/api/util/globalTypes.js.map +1 -0
  73. package/dist/lib-cjs/{api → src/api}/util/resourceHelper.d.ts +58 -58
  74. package/dist/lib-cjs/src/api/util/resourceHelper.js +202 -0
  75. package/dist/lib-cjs/src/api/util/resourceHelper.js.map +1 -0
  76. package/dist/lib-cjs/{api → src/api}/util/sceneLoaderHelper.d.ts +35 -35
  77. package/dist/lib-cjs/{api → src/api}/util/sceneLoaderHelper.js +141 -140
  78. package/dist/lib-cjs/src/api/util/sceneLoaderHelper.js.map +1 -0
  79. package/dist/{lib-es6 → lib-cjs/src}/api/util/stringHelper.d.ts +9 -9
  80. package/dist/lib-cjs/{api → src/api}/util/stringHelper.js +23 -25
  81. package/dist/lib-cjs/src/api/util/stringHelper.js.map +1 -0
  82. package/dist/{lib-es6 → lib-cjs/src}/api/util/structureHelper.d.ts +9 -9
  83. package/dist/lib-cjs/{api → src/api}/util/structureHelper.js +48 -48
  84. package/dist/lib-cjs/src/api/util/structureHelper.js.map +1 -0
  85. package/dist/lib-cjs/{index.d.ts → src/index.d.ts} +51 -49
  86. package/dist/lib-cjs/{index.js → src/index.js} +110 -89
  87. package/dist/lib-cjs/src/index.js.map +1 -0
  88. package/dist/lib-es6/buildinfo.json +3 -3
  89. package/dist/lib-es6/es6.tsconfig.tsbuildinfo +1 -0
  90. package/dist/lib-es6/{api → src/api}/classes/animationInterface.d.ts +8 -8
  91. package/dist/lib-es6/src/api/classes/animationInterface.js +2 -0
  92. package/dist/lib-es6/src/api/classes/animationInterface.js.map +1 -0
  93. package/dist/{lib-cjs → lib-es6/src}/api/classes/dottedPath.d.ts +79 -79
  94. package/dist/lib-es6/src/api/classes/dottedPath.js +163 -0
  95. package/dist/lib-es6/src/api/classes/dottedPath.js.map +1 -0
  96. package/dist/lib-es6/{api → src/api}/classes/element.d.ts +149 -149
  97. package/dist/lib-es6/src/api/classes/element.js +665 -0
  98. package/dist/lib-es6/src/api/classes/element.js.map +1 -0
  99. package/dist/{lib-cjs → lib-es6/src}/api/classes/event.d.ts +326 -326
  100. package/dist/lib-es6/src/api/classes/event.js +346 -0
  101. package/dist/lib-es6/src/api/classes/event.js.map +1 -0
  102. package/dist/{lib-cjs → lib-es6/src}/api/classes/eventBroadcaster.d.ts +26 -26
  103. package/dist/lib-es6/src/api/classes/eventBroadcaster.js +43 -0
  104. package/dist/lib-es6/src/api/classes/eventBroadcaster.js.map +1 -0
  105. package/dist/{lib-cjs → lib-es6/src}/api/classes/parameter.d.ts +336 -336
  106. package/dist/lib-es6/src/api/classes/parameter.js +458 -0
  107. package/dist/lib-es6/src/api/classes/parameter.js.map +1 -0
  108. package/dist/lib-es6/{api → src/api}/classes/parameterObservable.d.ts +36 -36
  109. package/dist/lib-es6/src/api/classes/parameterObservable.js +94 -0
  110. package/dist/lib-es6/src/api/classes/parameterObservable.js.map +1 -0
  111. package/dist/lib-es6/{api → src/api}/classes/parameterizable.d.ts +15 -15
  112. package/dist/lib-es6/src/api/classes/parameterizable.js +99 -0
  113. package/dist/lib-es6/src/api/classes/parameterizable.js.map +1 -0
  114. package/dist/lib-es6/{api → src/api}/classes/placementAnimation.d.ts +45 -44
  115. package/dist/lib-es6/{api → src/api}/classes/placementAnimation.js +171 -160
  116. package/dist/lib-es6/src/api/classes/placementAnimation.js.map +1 -0
  117. package/dist/{lib-cjs → lib-es6/src}/api/classes/variant.d.ts +234 -234
  118. package/dist/lib-es6/src/api/classes/variant.js +833 -0
  119. package/dist/lib-es6/src/api/classes/variant.js.map +1 -0
  120. package/dist/lib-es6/{api → src/api}/classes/variantInstance.d.ts +45 -45
  121. package/dist/lib-es6/src/api/classes/variantInstance.js +98 -0
  122. package/dist/lib-es6/src/api/classes/variantInstance.js.map +1 -0
  123. package/dist/{lib-cjs → lib-es6/src}/api/classes/variantParameterizable.d.ts +17 -17
  124. package/dist/lib-es6/src/api/classes/variantParameterizable.js +85 -0
  125. package/dist/lib-es6/src/api/classes/variantParameterizable.js.map +1 -0
  126. package/dist/lib-es6/{api → src/api}/classes/viewer.d.ts +187 -184
  127. package/dist/lib-es6/src/api/classes/viewer.js +587 -0
  128. package/dist/lib-es6/src/api/classes/viewer.js.map +1 -0
  129. package/dist/lib-es6/{api → src/api}/classes/viewerLight.d.ts +66 -66
  130. package/dist/lib-es6/src/api/classes/viewerLight.js +317 -0
  131. package/dist/lib-es6/src/api/classes/viewerLight.js.map +1 -0
  132. package/dist/{lib-cjs → lib-es6/src}/api/internal/lensRendering.d.ts +8 -8
  133. package/dist/lib-es6/{api → src/api}/internal/lensRendering.js +8 -8
  134. package/dist/lib-es6/src/api/internal/lensRendering.js.map +1 -0
  135. package/dist/{lib-cjs → lib-es6/src}/api/internal/sceneSetup.d.ts +13 -13
  136. package/dist/lib-es6/src/api/internal/sceneSetup.js +198 -0
  137. package/dist/lib-es6/src/api/internal/sceneSetup.js.map +1 -0
  138. package/dist/lib-es6/{api → src/api}/manager/animationManager.d.ts +30 -29
  139. package/dist/lib-es6/src/api/manager/animationManager.js +123 -0
  140. package/dist/lib-es6/src/api/manager/animationManager.js.map +1 -0
  141. package/dist/lib-es6/{api → src/api}/manager/gltfExportManager.d.ts +65 -65
  142. package/dist/lib-es6/{api → src/api}/manager/gltfExportManager.js +192 -220
  143. package/dist/lib-es6/src/api/manager/gltfExportManager.js.map +1 -0
  144. package/dist/lib-es6/{api → src/api}/manager/sceneManager.d.ts +31 -31
  145. package/dist/lib-es6/src/api/manager/sceneManager.js +124 -0
  146. package/dist/lib-es6/src/api/manager/sceneManager.js.map +1 -0
  147. package/dist/{lib-cjs → lib-es6/src}/api/manager/variantInstanceManager.d.ts +92 -92
  148. package/dist/lib-es6/src/api/manager/variantInstanceManager.js +257 -0
  149. package/dist/lib-es6/src/api/manager/variantInstanceManager.js.map +1 -0
  150. package/dist/{lib-cjs → lib-es6/src}/api/store/specStorage.d.ts +24 -24
  151. package/dist/lib-es6/{api → src/api}/store/specStorage.js +46 -48
  152. package/dist/lib-es6/src/api/store/specStorage.js.map +1 -0
  153. package/dist/{lib-cjs → lib-es6/src}/api/util/babylonHelper.d.ts +174 -174
  154. package/dist/lib-es6/{api → src/api}/util/babylonHelper.js +561 -581
  155. package/dist/lib-es6/src/api/util/babylonHelper.js.map +1 -0
  156. package/dist/{lib-cjs → lib-es6/src}/api/util/globalTypes.d.ts +366 -366
  157. package/dist/lib-es6/src/api/util/globalTypes.js +2 -0
  158. package/dist/lib-es6/src/api/util/globalTypes.js.map +1 -0
  159. package/dist/lib-es6/{api → src/api}/util/resourceHelper.d.ts +58 -58
  160. package/dist/lib-es6/src/api/util/resourceHelper.js +192 -0
  161. package/dist/lib-es6/src/api/util/resourceHelper.js.map +1 -0
  162. package/dist/lib-es6/{api → src/api}/util/sceneLoaderHelper.d.ts +35 -35
  163. package/dist/lib-es6/{api → src/api}/util/sceneLoaderHelper.js +131 -133
  164. package/dist/lib-es6/src/api/util/sceneLoaderHelper.js.map +1 -0
  165. package/dist/{lib-cjs → lib-es6/src}/api/util/stringHelper.d.ts +9 -9
  166. package/dist/lib-es6/{api → src/api}/util/stringHelper.js +19 -21
  167. package/dist/lib-es6/src/api/util/stringHelper.js.map +1 -0
  168. package/dist/{lib-cjs → lib-es6/src}/api/util/structureHelper.d.ts +9 -9
  169. package/dist/lib-es6/{api → src/api}/util/structureHelper.js +45 -45
  170. package/dist/lib-es6/src/api/util/structureHelper.js.map +1 -0
  171. package/dist/lib-es6/{index.js → src/index.d.ts} +51 -51
  172. package/dist/lib-es6/{index.d.ts → src/index.js} +49 -49
  173. package/dist/lib-es6/src/index.js.map +1 -0
  174. package/dist/lib-full/lens-rendering.js +2 -0
  175. package/dist/lib-full/lens-rendering.js.map +1 -0
  176. package/dist/lib-full/main.js +3 -0
  177. package/dist/lib-full/main.js.LICENSE.txt +9 -0
  178. package/dist/lib-full/main.js.map +1 -0
  179. package/package.json +76 -88
  180. package/src/api/classes/animationInterface.ts +10 -10
  181. package/src/api/classes/dottedPath.ts +181 -181
  182. package/src/api/classes/element.ts +716 -716
  183. package/src/api/classes/event.ts +367 -367
  184. package/src/api/classes/eventBroadcaster.ts +52 -52
  185. package/src/api/classes/parameter.ts +494 -494
  186. package/src/api/classes/parameterObservable.ts +100 -100
  187. package/src/api/classes/parameterizable.ts +87 -87
  188. package/src/api/classes/placementAnimation.ts +161 -160
  189. package/src/api/classes/variant.ts +904 -905
  190. package/src/api/classes/variantInstance.ts +97 -97
  191. package/src/api/classes/variantParameterizable.ts +85 -85
  192. package/src/api/classes/viewer.ts +669 -668
  193. package/src/api/classes/viewerLight.ts +334 -334
  194. package/src/api/internal/debugViewer.ts +90 -90
  195. package/src/api/internal/lensRendering.ts +9 -10
  196. package/src/api/internal/sceneSetup.ts +204 -204
  197. package/src/api/manager/animationManager.ts +143 -142
  198. package/src/api/manager/gltfExportManager.ts +191 -191
  199. package/src/api/manager/sceneManager.ts +127 -127
  200. package/src/api/manager/variantInstanceManager.ts +265 -265
  201. package/src/api/store/specStorage.ts +51 -51
  202. package/src/api/util/babylonHelper.ts +663 -663
  203. package/src/api/util/globalTypes.ts +413 -413
  204. package/src/api/util/resourceHelper.ts +189 -189
  205. package/src/api/util/sceneLoaderHelper.ts +148 -147
  206. package/src/api/util/stringHelper.ts +23 -23
  207. package/src/api/util/structureHelper.ts +49 -49
  208. package/src/dev.ts +61 -64
  209. package/src/index.ts +96 -94
  210. package/src/types.d.ts +28 -28
  211. package/dist/lib-cjs/api/classes/animationInterface.js +0 -2
  212. package/dist/lib-cjs/api/classes/animationInterface.js.map +0 -1
  213. package/dist/lib-cjs/api/classes/dottedPath.js +0 -188
  214. package/dist/lib-cjs/api/classes/dottedPath.js.map +0 -1
  215. package/dist/lib-cjs/api/classes/element.js +0 -824
  216. package/dist/lib-cjs/api/classes/element.js.map +0 -1
  217. package/dist/lib-cjs/api/classes/elementParameterizable.d.ts +0 -14
  218. package/dist/lib-cjs/api/classes/elementParameterizable.js +0 -135
  219. package/dist/lib-cjs/api/classes/elementParameterizable.js.map +0 -1
  220. package/dist/lib-cjs/api/classes/event.js +0 -372
  221. package/dist/lib-cjs/api/classes/event.js.map +0 -1
  222. package/dist/lib-cjs/api/classes/eventBroadcaster.js +0 -54
  223. package/dist/lib-cjs/api/classes/eventBroadcaster.js.map +0 -1
  224. package/dist/lib-cjs/api/classes/parameter.js +0 -472
  225. package/dist/lib-cjs/api/classes/parameter.js.map +0 -1
  226. package/dist/lib-cjs/api/classes/parameterObservable.js +0 -102
  227. package/dist/lib-cjs/api/classes/parameterObservable.js.map +0 -1
  228. package/dist/lib-cjs/api/classes/parameterizable.js +0 -150
  229. package/dist/lib-cjs/api/classes/parameterizable.js.map +0 -1
  230. package/dist/lib-cjs/api/classes/placementAnimation.js.map +0 -1
  231. package/dist/lib-cjs/api/classes/variant.js +0 -1204
  232. package/dist/lib-cjs/api/classes/variant.js.map +0 -1
  233. package/dist/lib-cjs/api/classes/variantInstance.js +0 -109
  234. package/dist/lib-cjs/api/classes/variantInstance.js.map +0 -1
  235. package/dist/lib-cjs/api/classes/variantParameterizable.js +0 -100
  236. package/dist/lib-cjs/api/classes/variantParameterizable.js.map +0 -1
  237. package/dist/lib-cjs/api/classes/viewer.js +0 -732
  238. package/dist/lib-cjs/api/classes/viewer.js.map +0 -1
  239. package/dist/lib-cjs/api/classes/viewerLight.js +0 -393
  240. package/dist/lib-cjs/api/classes/viewerLight.js.map +0 -1
  241. package/dist/lib-cjs/api/internal/debugViewer.d.ts +0 -13
  242. package/dist/lib-cjs/api/internal/debugViewer.js +0 -87
  243. package/dist/lib-cjs/api/internal/debugViewer.js.map +0 -1
  244. package/dist/lib-cjs/api/internal/lensRendering.js.map +0 -1
  245. package/dist/lib-cjs/api/internal/sceneSetup.js +0 -239
  246. package/dist/lib-cjs/api/internal/sceneSetup.js.map +0 -1
  247. package/dist/lib-cjs/api/manager/animationManager.js +0 -131
  248. package/dist/lib-cjs/api/manager/animationManager.js.map +0 -1
  249. package/dist/lib-cjs/api/manager/gltfExportManager.js +0 -224
  250. package/dist/lib-cjs/api/manager/gltfExportManager.js.map +0 -1
  251. package/dist/lib-cjs/api/manager/sceneManager.js +0 -153
  252. package/dist/lib-cjs/api/manager/sceneManager.js.map +0 -1
  253. package/dist/lib-cjs/api/manager/variantInstanceManager.js +0 -336
  254. package/dist/lib-cjs/api/manager/variantInstanceManager.js.map +0 -1
  255. package/dist/lib-cjs/api/store/specStorage.js.map +0 -1
  256. package/dist/lib-cjs/api/util/babylonHelper.js.map +0 -1
  257. package/dist/lib-cjs/api/util/globalTypes.js +0 -2
  258. package/dist/lib-cjs/api/util/globalTypes.js.map +0 -1
  259. package/dist/lib-cjs/api/util/resourceHelper.js +0 -258
  260. package/dist/lib-cjs/api/util/resourceHelper.js.map +0 -1
  261. package/dist/lib-cjs/api/util/sceneLoaderHelper.js.map +0 -1
  262. package/dist/lib-cjs/api/util/stringHelper.js.map +0 -1
  263. package/dist/lib-cjs/api/util/structureHelper.js.map +0 -1
  264. package/dist/lib-cjs/index.js.map +0 -1
  265. package/dist/lib-es6/api/classes/animationInterface.js +0 -2
  266. package/dist/lib-es6/api/classes/animationInterface.js.map +0 -1
  267. package/dist/lib-es6/api/classes/dottedPath.js +0 -185
  268. package/dist/lib-es6/api/classes/dottedPath.js.map +0 -1
  269. package/dist/lib-es6/api/classes/element.js +0 -821
  270. package/dist/lib-es6/api/classes/element.js.map +0 -1
  271. package/dist/lib-es6/api/classes/event.js +0 -369
  272. package/dist/lib-es6/api/classes/event.js.map +0 -1
  273. package/dist/lib-es6/api/classes/eventBroadcaster.js +0 -51
  274. package/dist/lib-es6/api/classes/eventBroadcaster.js.map +0 -1
  275. package/dist/lib-es6/api/classes/parameter.js +0 -469
  276. package/dist/lib-es6/api/classes/parameter.js.map +0 -1
  277. package/dist/lib-es6/api/classes/parameterObservable.js +0 -99
  278. package/dist/lib-es6/api/classes/parameterObservable.js.map +0 -1
  279. package/dist/lib-es6/api/classes/parameterizable.js +0 -147
  280. package/dist/lib-es6/api/classes/parameterizable.js.map +0 -1
  281. package/dist/lib-es6/api/classes/placementAnimation.js.map +0 -1
  282. package/dist/lib-es6/api/classes/variant.js +0 -1199
  283. package/dist/lib-es6/api/classes/variant.js.map +0 -1
  284. package/dist/lib-es6/api/classes/variantInstance.js +0 -106
  285. package/dist/lib-es6/api/classes/variantInstance.js.map +0 -1
  286. package/dist/lib-es6/api/classes/variantParameterizable.js +0 -97
  287. package/dist/lib-es6/api/classes/variantParameterizable.js.map +0 -1
  288. package/dist/lib-es6/api/classes/viewer.js +0 -729
  289. package/dist/lib-es6/api/classes/viewer.js.map +0 -1
  290. package/dist/lib-es6/api/classes/viewerLight.js +0 -390
  291. package/dist/lib-es6/api/classes/viewerLight.js.map +0 -1
  292. package/dist/lib-es6/api/internal/debugViewer.d.ts +0 -13
  293. package/dist/lib-es6/api/internal/debugViewer.js +0 -84
  294. package/dist/lib-es6/api/internal/debugViewer.js.map +0 -1
  295. package/dist/lib-es6/api/internal/lensRendering.js.map +0 -1
  296. package/dist/lib-es6/api/internal/sceneSetup.js +0 -234
  297. package/dist/lib-es6/api/internal/sceneSetup.js.map +0 -1
  298. package/dist/lib-es6/api/manager/animationManager.js +0 -128
  299. package/dist/lib-es6/api/manager/animationManager.js.map +0 -1
  300. package/dist/lib-es6/api/manager/gltfExportManager.js.map +0 -1
  301. package/dist/lib-es6/api/manager/sceneManager.js +0 -150
  302. package/dist/lib-es6/api/manager/sceneManager.js.map +0 -1
  303. package/dist/lib-es6/api/manager/variantInstanceManager.js +0 -333
  304. package/dist/lib-es6/api/manager/variantInstanceManager.js.map +0 -1
  305. package/dist/lib-es6/api/store/specStorage.js.map +0 -1
  306. package/dist/lib-es6/api/util/babylonHelper.js.map +0 -1
  307. package/dist/lib-es6/api/util/globalTypes.js +0 -2
  308. package/dist/lib-es6/api/util/globalTypes.js.map +0 -1
  309. package/dist/lib-es6/api/util/resourceHelper.js +0 -248
  310. package/dist/lib-es6/api/util/resourceHelper.js.map +0 -1
  311. package/dist/lib-es6/api/util/sceneLoaderHelper.js.map +0 -1
  312. package/dist/lib-es6/api/util/stringHelper.js.map +0 -1
  313. package/dist/lib-es6/api/util/structureHelper.js.map +0 -1
  314. package/dist/lib-es6/index.js.map +0 -1
  315. package/dist/webpack-stats.json +0 -0
  316. package/src/buildinfo.json +0 -3
  317. package/src/commonjs.tsconfig.json +0 -10
  318. package/src/declaration.tsconfig.json +0 -8
  319. package/src/es6.tsconfig.json +0 -10
  320. package/src/pagesconfig.json +0 -81
  321. package/src/tsconfig.json +0 -33
  322. package/src/tsconfig.types.json +0 -9
@@ -1,90 +1,90 @@
1
- /**
2
- * @internal
3
- */
4
- import { Scene } from '@babylonjs/core/scene';
5
- import { VariantInstance } from '../classes/variantInstance';
6
- import { Viewer } from '../classes/viewer';
7
- import { Event } from '../classes/event';
8
-
9
- export class DebugViewer extends Viewer {
10
- constructor(canvas: HTMLCanvasElement, data: string | StructureJson) {
11
- super(canvas, data);
12
- }
13
-
14
- public async bootstrap(): Promise<Viewer> {
15
- for (const event of Event.all) {
16
- this.eventEmitter.addListener(event, (...args) => console.debug(`Emitting ${event}`, ...args));
17
- }
18
- for (const event of [
19
- Event.VARIANT_INSTANCE_DESTROYED,
20
- Event.VARIANT_INSTANCE_CREATED,
21
- Event.VARIANT_INSTANCE_CLONED,
22
- Event.VARIANT_PARAMETER_COMMITTED,
23
- ]) {
24
- this.eventEmitter.addListener(event, this.instanceDebugger.bind(this));
25
- }
26
- return super.bootstrap();
27
- }
28
-
29
- protected async initScene(): Promise<Scene> {
30
- const scene = await super.initScene();
31
-
32
- scene.getEngine().runRenderLoop(() => {
33
- this.fpsDebugger();
34
- });
35
-
36
- return scene;
37
- }
38
-
39
- protected instanceDebugger(instance: VariantInstance) {
40
- const instances: string[] = [];
41
- this.variantInstances.all.forEach(variantInstance => {
42
- instances.push(
43
- `${variantInstance.name}${variantInstance.variant.visible ? '' : ' [hidden]'}${
44
- variantInstance.variant.highlighted ? ' [highlighted]' : ''
45
- }`
46
- );
47
- });
48
- let debugContainer = document.getElementById('cyledge-combeenation-3d-viewer-instance-debugger');
49
- if (!debugContainer) {
50
- debugContainer = document.createElement('pre');
51
- debugContainer.setAttribute('id', 'cyledge-combeenation-3d-viewer-instance-debugger');
52
- debugContainer.setAttribute(
53
- 'style',
54
- `
55
- background: #454545;
56
- color: #fff;
57
- position: absolute;
58
- bottom: 0;
59
- right: 0;
60
- padding: 10px;
61
- margin: 0;
62
- `
63
- );
64
- document.body.appendChild(debugContainer);
65
- }
66
- debugContainer.innerHTML = JSON.stringify(instances, null, 2);
67
- }
68
-
69
- protected fpsDebugger() {
70
- let debugContainer = document.getElementById('cyledge-combeenation-3d-viewer-fps-debugger');
71
- if (!debugContainer) {
72
- debugContainer = document.createElement('pre');
73
- debugContainer.setAttribute('id', 'cyledge-combeenation-3d-viewer-fps-debugger');
74
- debugContainer.setAttribute(
75
- 'style',
76
- `
77
- background: #454545;
78
- color: #fff;
79
- position: absolute;
80
- bottom: 0;
81
- left: 0;
82
- padding: 10px;
83
- margin: 0;
84
- `
85
- );
86
- document.body.appendChild(debugContainer);
87
- }
88
- debugContainer.innerHTML = `${this.engine.getFps().toFixed(2)} fps`;
89
- }
90
- }
1
+ /**
2
+ * @internal
3
+ */
4
+ import { Event } from '../classes/event';
5
+ import { VariantInstance } from '../classes/variantInstance';
6
+ import { Viewer } from '../classes/viewer';
7
+ import { Scene } from '@babylonjs/core/scene';
8
+
9
+ export class DebugViewer extends Viewer {
10
+ constructor(canvas: HTMLCanvasElement, data: string | StructureJson) {
11
+ super(canvas, data);
12
+ }
13
+
14
+ public async bootstrap(): Promise<Viewer> {
15
+ for (const event of Event.all) {
16
+ this.eventEmitter.addListener(event, (...args) => console.debug(`Emitting ${event}`, ...args));
17
+ }
18
+ for (const event of [
19
+ Event.VARIANT_INSTANCE_DESTROYED,
20
+ Event.VARIANT_INSTANCE_CREATED,
21
+ Event.VARIANT_INSTANCE_CLONED,
22
+ Event.VARIANT_PARAMETER_COMMITTED,
23
+ ]) {
24
+ this.eventEmitter.addListener(event, this.instanceDebugger.bind(this));
25
+ }
26
+ return super.bootstrap();
27
+ }
28
+
29
+ protected async initScene(): Promise<Scene> {
30
+ const scene = await super.initScene();
31
+
32
+ scene.getEngine().runRenderLoop(() => {
33
+ this.fpsDebugger();
34
+ });
35
+
36
+ return scene;
37
+ }
38
+
39
+ protected instanceDebugger(instance: VariantInstance) {
40
+ const instances: string[] = [];
41
+ this.variantInstances.all.forEach(variantInstance => {
42
+ instances.push(
43
+ `${variantInstance.name}${variantInstance.variant.visible ? '' : ' [hidden]'}${
44
+ variantInstance.variant.highlighted ? ' [highlighted]' : ''
45
+ }`
46
+ );
47
+ });
48
+ let debugContainer = document.getElementById('cyledge-combeenation-3d-viewer-instance-debugger');
49
+ if (!debugContainer) {
50
+ debugContainer = document.createElement('pre');
51
+ debugContainer.setAttribute('id', 'cyledge-combeenation-3d-viewer-instance-debugger');
52
+ debugContainer.setAttribute(
53
+ 'style',
54
+ `
55
+ background: #454545;
56
+ color: #fff;
57
+ position: absolute;
58
+ bottom: 0;
59
+ right: 0;
60
+ padding: 10px;
61
+ margin: 0;
62
+ `
63
+ );
64
+ document.body.appendChild(debugContainer);
65
+ }
66
+ debugContainer.innerHTML = JSON.stringify(instances, null, 2);
67
+ }
68
+
69
+ protected fpsDebugger() {
70
+ let debugContainer = document.getElementById('cyledge-combeenation-3d-viewer-fps-debugger');
71
+ if (!debugContainer) {
72
+ debugContainer = document.createElement('pre');
73
+ debugContainer.setAttribute('id', 'cyledge-combeenation-3d-viewer-fps-debugger');
74
+ debugContainer.setAttribute(
75
+ 'style',
76
+ `
77
+ background: #454545;
78
+ color: #fff;
79
+ position: absolute;
80
+ bottom: 0;
81
+ left: 0;
82
+ padding: 10px;
83
+ margin: 0;
84
+ `
85
+ );
86
+ document.body.appendChild(debugContainer);
87
+ }
88
+ debugContainer.innerHTML = `${this.engine.getFps().toFixed(2)} fps`;
89
+ }
90
+ }
@@ -1,10 +1,9 @@
1
- /**
2
- * Group the required LensRendering dependencies into a single file to allow a single "import"
3
- *
4
- * @internal
5
- */
6
-
7
- import '@babylonjs/core/Rendering/depthRendererSceneComponent';
8
- import { LensRenderingPipeline } from '@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline';
9
-
10
- export { LensRenderingPipeline };
1
+ /**
2
+ * Group the required LensRendering dependencies into a single file to allow a single "import"
3
+ *
4
+ * @internal
5
+ */
6
+ import { LensRenderingPipeline } from '@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline';
7
+ import '@babylonjs/core/Rendering/depthRendererSceneComponent';
8
+
9
+ export { LensRenderingPipeline };
@@ -1,204 +1,204 @@
1
- import { Camera } from '@babylonjs/core/Cameras/camera';
2
- import { Engine } from '@babylonjs/core/Engines/engine';
3
- import '@babylonjs/core/Helpers/sceneHelpers';
4
- import '@babylonjs/core/Materials/Textures/Loaders/ddsTextureLoader';
5
- import { Color4 } from '@babylonjs/core/Maths/math.color';
6
- import { Vector3 } from '@babylonjs/core/Maths/math.vector';
7
- import { GroundMesh } from '@babylonjs/core/Meshes/groundMesh';
8
- import { MeshBuilder } from '@babylonjs/core/Meshes/meshBuilder';
9
- import { DefaultRenderingPipeline } from '@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline';
10
- import { Scene } from '@babylonjs/core/scene';
11
- import { get, isEmpty, set } from 'lodash-es';
12
- import { Parameter } from '../classes/parameter';
13
-
14
- const defaultSceneClearColor = new Color4(0, 0, 0, 0);
15
- const defaultEnvHelperColor = new Color4(1, 1, 1, 0);
16
-
17
- /**
18
- * @param scene
19
- * @param name
20
- * @param definition
21
- */
22
- const processGround = async function (
23
- scene: Scene,
24
- name: string,
25
- definition: GroundDefinition
26
- ): Promise<Mesh | GroundMesh> {
27
- return new Promise(resolve => {
28
- const _resolve = (ground: Mesh) => {
29
- if (definition.receiveShadows !== undefined) {
30
- ground.receiveShadows = definition.receiveShadows;
31
- }
32
- resolve(ground);
33
- };
34
- switch (definition.type) {
35
- case 'baked':
36
- if (!definition.meshId) {
37
- throw new Error(`A baked ground must define a "meshId".`);
38
- }
39
- _resolve(scene.getMeshByID(definition.meshId) as Mesh);
40
- break;
41
- case 'ground':
42
- _resolve(MeshBuilder.CreateGround(name, definition, scene));
43
- break;
44
- case 'heightmap':
45
- if (!definition.url) {
46
- throw new Error(`A heightmap ground must define an "url".`);
47
- }
48
- definition.onReady = (_ground: GroundMesh) => {
49
- _resolve(_ground);
50
- };
51
- MeshBuilder.CreateGroundFromHeightMap(name, definition.url, definition, scene);
52
- break;
53
- default:
54
- throw new Error(`Ground of type "${definition.type}" not implemented (yet).`);
55
- }
56
- });
57
- };
58
-
59
- /**
60
- * @param scene
61
- */
62
- const defaultCamera = async function (scene: Scene): Promise<Camera> {
63
- return await processCamera(scene, 'default_camera', {
64
- type: 'arc',
65
- active: true,
66
- });
67
- };
68
-
69
- /**
70
- * @param scene
71
- * @param name
72
- * @param cameraSetup
73
- */
74
- const processCamera = async function (scene: Scene, name: string, cameraSetup: CameraDefinition): Promise<Camera> {
75
- let camera: Camera;
76
- let target = Vector3.Zero();
77
- if (cameraSetup.target) {
78
- target = Parameter.parseVector(cameraSetup.target);
79
- }
80
- switch (cameraSetup.type) {
81
- case 'arc':
82
- // @ts-ignore
83
- const arcCameraModule = await import(
84
- /* webpackChunkName: "arc-rotate-camera" */ '@babylonjs/core/Cameras/arcRotateCamera'
85
- );
86
- camera = new arcCameraModule.ArcRotateCamera(name, Math.PI / 4, Math.PI / 4, 2, target, scene);
87
- camera.metadata = {
88
- alpha: Math.PI / 4,
89
- beta: Math.PI / 4,
90
- radius: 2,
91
- };
92
- break;
93
- }
94
- if (cameraSetup.active) {
95
- camera.attachControl(scene.getEngine().getRenderingCanvas()!, true);
96
- }
97
- if (cameraSetup.fov) {
98
- camera.fov = cameraSetup.fov;
99
- }
100
- camera.storeState();
101
- return camera;
102
- };
103
-
104
- /**
105
- * @param engine
106
- * @param sceneJson
107
- */
108
- const sceneSetup = async function (engine: Engine, sceneJson: SceneJson): Promise<Scene> {
109
- const scene = new Scene(engine);
110
- scene.clearColor = defaultSceneClearColor;
111
- // cameras
112
- const cameras: Camera[] = [];
113
- const cameraDefinitions = get(sceneJson.scene, 'cameras') as CameraDefinitions;
114
- if (!isEmpty(cameraDefinitions)) {
115
- for (let cameraName in cameraDefinitions) {
116
- cameras.push(await processCamera(scene, cameraName, cameraDefinitions[cameraName]));
117
- }
118
- } else {
119
- const camera = await defaultCamera(scene);
120
- cameras.push(camera);
121
- }
122
- // grounds
123
- const groundDefinitions = get(sceneJson.scene, 'grounds') as GroundDefinitions;
124
- if (!isEmpty(groundDefinitions)) {
125
- for (const groundName in groundDefinitions) {
126
- await processGround(scene, groundName, groundDefinitions[groundName]);
127
- }
128
- }
129
- // TODO: try to split this away from the default rendering pipeline to save module imports
130
- // The "hdr" setting had negative effect on rendering in Safari. Everything looked a little "edgy". I'm not completely
131
- // sure if disabling it comes with other negative side effects I don't see right now, so we should probably
132
- // investigate this a little more in detail at some point.
133
- const defaultPipeline = new DefaultRenderingPipeline('default-rendering-pipeline', false, scene);
134
- /* DISABLED: causes problems with Internet Explorer
135
- defaultPipeline.imageProcessingEnabled = true;
136
- */
137
- if (sceneJson.scene.globals.aa) {
138
- defaultPipeline.fxaaEnabled = true; //implicitly does FxaaPostProcess()
139
- }
140
- // Set samples regardless of fxaa setting since we don't want to use fxaa but still increase the sample count
141
- defaultPipeline.samples = 8;
142
- if (sceneJson.scene.globals['camera-settings']) {
143
- if (
144
- sceneJson.scene.globals['camera-settings']!.sharpen &&
145
- sceneJson.scene.globals['camera-settings']!.sharpen.enabled
146
- ) {
147
- defaultPipeline.sharpenEnabled = true; //implicitly does SharpenPostProcess()
148
- //defaultPipeline.sharpen.colorAmount = 1;
149
- //defaultPipeline.sharpen.edgeAmount = 0;
150
- }
151
- if (
152
- sceneJson.scene.globals['camera-settings']!.bloom &&
153
- sceneJson.scene.globals['camera-settings']!.bloom.enabled
154
- ) {
155
- defaultPipeline.bloomEnabled = true;
156
- if (sceneJson.scene.globals['camera-settings']!.bloom.size) {
157
- defaultPipeline.bloomScale = sceneJson.scene.globals['camera-settings']!.bloom.size;
158
- }
159
- if (sceneJson.scene.globals['camera-settings']!.bloom.threshold) {
160
- defaultPipeline.bloomThreshold = sceneJson.scene.globals['camera-settings']!.bloom.threshold;
161
- }
162
- }
163
- if (sceneJson.scene.globals['camera-settings']!.contrast) {
164
- scene.imageProcessingConfiguration.contrast = sceneJson.scene.globals['camera-settings']!.contrast;
165
- }
166
- if (sceneJson.scene.globals['camera-settings']!.exposure) {
167
- scene.imageProcessingConfiguration.exposure = sceneJson.scene.globals['camera-settings']!.exposure;
168
- }
169
- if (sceneJson.scene.globals['camera-settings']!.dof && sceneJson.scene.globals['camera-settings']!.dof.enabled) {
170
- //@ts-ignore
171
- const module = await import(/* webpackChunkName: "lens-rendering" */ './lensRendering');
172
- new module.LensRenderingPipeline(
173
- 'lens-rendering',
174
- sceneJson.scene.globals['camera-settings']!.dof.settings,
175
- scene,
176
- 1.0,
177
- cameras
178
- );
179
- }
180
- }
181
- // TODO: make this dynamic
182
- /*
183
- const texture = new HDRCubeTexture("/assets/small_cave_1k.hdr", scene, 256);
184
- texture.gammaSpace = false;
185
- scene.environmentTexture = texture;
186
- // scene.environmentTexture.
187
-
188
- const skyboxMaterial = new StandardMaterial("skyBox", scene);
189
- skyboxMaterial.backFaceCulling = false;
190
- skyboxMaterial.reflectionTexture = texture;
191
- skyboxMaterial.reflectionTexture.coordinatesMode = Texture.SKYBOX_MODE;
192
- skyboxMaterial.disableLighting = false;
193
- // TODO: replace with BoxBuilder
194
- const skybox = MeshBuilder.CreateBox("skyBox", {size: 1000.0}, scene);
195
- skybox.isPickable = false; //never pick a skybox
196
- skybox.infiniteDistance = true;
197
- skybox.material = skyboxMaterial;
198
- */
199
-
200
- // TODO: shadows don't work with HemishpericLight
201
- return scene;
202
- };
203
-
204
- export { sceneSetup, defaultSceneClearColor, defaultEnvHelperColor };
1
+ import { Parameter } from '../classes/parameter';
2
+ import { Camera } from '@babylonjs/core/Cameras/camera';
3
+ import { Engine } from '@babylonjs/core/Engines/engine';
4
+ import '@babylonjs/core/Helpers/sceneHelpers';
5
+ import '@babylonjs/core/Materials/Textures/Loaders/ddsTextureLoader';
6
+ import { Color4 } from '@babylonjs/core/Maths/math.color';
7
+ import { Vector3 } from '@babylonjs/core/Maths/math.vector';
8
+ import { GroundMesh } from '@babylonjs/core/Meshes/groundMesh';
9
+ import { MeshBuilder } from '@babylonjs/core/Meshes/meshBuilder';
10
+ import { DefaultRenderingPipeline } from '@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline';
11
+ import { Scene } from '@babylonjs/core/scene';
12
+ import { get, isEmpty, set } from 'lodash-es';
13
+
14
+ const defaultSceneClearColor = new Color4(0, 0, 0, 0);
15
+ const defaultEnvHelperColor = new Color4(1, 1, 1, 0);
16
+
17
+ /**
18
+ * @param scene
19
+ * @param name
20
+ * @param definition
21
+ */
22
+ const processGround = async function (
23
+ scene: Scene,
24
+ name: string,
25
+ definition: GroundDefinition
26
+ ): Promise<Mesh | GroundMesh> {
27
+ return new Promise(resolve => {
28
+ const _resolve = (ground: Mesh) => {
29
+ if (definition.receiveShadows !== undefined) {
30
+ ground.receiveShadows = definition.receiveShadows;
31
+ }
32
+ resolve(ground);
33
+ };
34
+ switch (definition.type) {
35
+ case 'baked':
36
+ if (!definition.meshId) {
37
+ throw new Error(`A baked ground must define a "meshId".`);
38
+ }
39
+ _resolve(scene.getMeshByID(definition.meshId) as Mesh);
40
+ break;
41
+ case 'ground':
42
+ _resolve(MeshBuilder.CreateGround(name, definition, scene));
43
+ break;
44
+ case 'heightmap':
45
+ if (!definition.url) {
46
+ throw new Error(`A heightmap ground must define an "url".`);
47
+ }
48
+ definition.onReady = (_ground: GroundMesh) => {
49
+ _resolve(_ground);
50
+ };
51
+ MeshBuilder.CreateGroundFromHeightMap(name, definition.url, definition, scene);
52
+ break;
53
+ default:
54
+ throw new Error(`Ground of type "${definition.type}" not implemented (yet).`);
55
+ }
56
+ });
57
+ };
58
+
59
+ /**
60
+ * @param scene
61
+ */
62
+ const defaultCamera = async function (scene: Scene): Promise<Camera> {
63
+ return await processCamera(scene, 'default_camera', {
64
+ type: 'arc',
65
+ active: true,
66
+ });
67
+ };
68
+
69
+ /**
70
+ * @param scene
71
+ * @param name
72
+ * @param cameraSetup
73
+ */
74
+ const processCamera = async function (scene: Scene, name: string, cameraSetup: CameraDefinition): Promise<Camera> {
75
+ let camera: Camera;
76
+ let target = Vector3.Zero();
77
+ if (cameraSetup.target) {
78
+ target = Parameter.parseVector(cameraSetup.target);
79
+ }
80
+ switch (cameraSetup.type) {
81
+ case 'arc':
82
+ // @ts-ignore
83
+ const arcCameraModule = await import(
84
+ /* webpackChunkName: "arc-rotate-camera" */ '@babylonjs/core/Cameras/arcRotateCamera'
85
+ );
86
+ camera = new arcCameraModule.ArcRotateCamera(name, Math.PI / 4, Math.PI / 4, 2, target, scene);
87
+ camera.metadata = {
88
+ alpha: Math.PI / 4,
89
+ beta: Math.PI / 4,
90
+ radius: 2,
91
+ };
92
+ break;
93
+ }
94
+ if (cameraSetup.active) {
95
+ camera.attachControl(scene.getEngine().getRenderingCanvas()!, true);
96
+ }
97
+ if (cameraSetup.fov) {
98
+ camera.fov = cameraSetup.fov;
99
+ }
100
+ camera.storeState();
101
+ return camera;
102
+ };
103
+
104
+ /**
105
+ * @param engine
106
+ * @param sceneJson
107
+ */
108
+ const sceneSetup = async function (engine: Engine, sceneJson: SceneJson): Promise<Scene> {
109
+ const scene = new Scene(engine);
110
+ scene.clearColor = defaultSceneClearColor;
111
+ // cameras
112
+ const cameras: Camera[] = [];
113
+ const cameraDefinitions = get(sceneJson.scene, 'cameras') as CameraDefinitions;
114
+ if (!isEmpty(cameraDefinitions)) {
115
+ for (let cameraName in cameraDefinitions) {
116
+ cameras.push(await processCamera(scene, cameraName, cameraDefinitions[cameraName]));
117
+ }
118
+ } else {
119
+ const camera = await defaultCamera(scene);
120
+ cameras.push(camera);
121
+ }
122
+ // grounds
123
+ const groundDefinitions = get(sceneJson.scene, 'grounds') as GroundDefinitions;
124
+ if (!isEmpty(groundDefinitions)) {
125
+ for (const groundName in groundDefinitions) {
126
+ await processGround(scene, groundName, groundDefinitions[groundName]);
127
+ }
128
+ }
129
+ // TODO: try to split this away from the default rendering pipeline to save module imports
130
+ // The "hdr" setting had negative effect on rendering in Safari. Everything looked a little "edgy". I'm not completely
131
+ // sure if disabling it comes with other negative side effects I don't see right now, so we should probably
132
+ // investigate this a little more in detail at some point.
133
+ const defaultPipeline = new DefaultRenderingPipeline('default-rendering-pipeline', false, scene);
134
+ /* DISABLED: causes problems with Internet Explorer
135
+ defaultPipeline.imageProcessingEnabled = true;
136
+ */
137
+ if (sceneJson.scene.globals.aa) {
138
+ defaultPipeline.fxaaEnabled = true; //implicitly does FxaaPostProcess()
139
+ }
140
+ // Set samples regardless of fxaa setting since we don't want to use fxaa but still increase the sample count
141
+ defaultPipeline.samples = 8;
142
+ if (sceneJson.scene.globals['camera-settings']) {
143
+ if (
144
+ sceneJson.scene.globals['camera-settings']!.sharpen &&
145
+ sceneJson.scene.globals['camera-settings']!.sharpen.enabled
146
+ ) {
147
+ defaultPipeline.sharpenEnabled = true; //implicitly does SharpenPostProcess()
148
+ //defaultPipeline.sharpen.colorAmount = 1;
149
+ //defaultPipeline.sharpen.edgeAmount = 0;
150
+ }
151
+ if (
152
+ sceneJson.scene.globals['camera-settings']!.bloom &&
153
+ sceneJson.scene.globals['camera-settings']!.bloom.enabled
154
+ ) {
155
+ defaultPipeline.bloomEnabled = true;
156
+ if (sceneJson.scene.globals['camera-settings']!.bloom.size) {
157
+ defaultPipeline.bloomScale = sceneJson.scene.globals['camera-settings']!.bloom.size;
158
+ }
159
+ if (sceneJson.scene.globals['camera-settings']!.bloom.threshold) {
160
+ defaultPipeline.bloomThreshold = sceneJson.scene.globals['camera-settings']!.bloom.threshold;
161
+ }
162
+ }
163
+ if (sceneJson.scene.globals['camera-settings']!.contrast) {
164
+ scene.imageProcessingConfiguration.contrast = sceneJson.scene.globals['camera-settings']!.contrast;
165
+ }
166
+ if (sceneJson.scene.globals['camera-settings']!.exposure) {
167
+ scene.imageProcessingConfiguration.exposure = sceneJson.scene.globals['camera-settings']!.exposure;
168
+ }
169
+ if (sceneJson.scene.globals['camera-settings']!.dof && sceneJson.scene.globals['camera-settings']!.dof.enabled) {
170
+ //@ts-ignore
171
+ const module = await import(/* webpackChunkName: "lens-rendering" */ './lensRendering');
172
+ new module.LensRenderingPipeline(
173
+ 'lens-rendering',
174
+ sceneJson.scene.globals['camera-settings']!.dof.settings,
175
+ scene,
176
+ 1.0,
177
+ cameras
178
+ );
179
+ }
180
+ }
181
+ // TODO: make this dynamic
182
+ /*
183
+ const texture = new HDRCubeTexture("/assets/small_cave_1k.hdr", scene, 256);
184
+ texture.gammaSpace = false;
185
+ scene.environmentTexture = texture;
186
+ // scene.environmentTexture.
187
+
188
+ const skyboxMaterial = new StandardMaterial("skyBox", scene);
189
+ skyboxMaterial.backFaceCulling = false;
190
+ skyboxMaterial.reflectionTexture = texture;
191
+ skyboxMaterial.reflectionTexture.coordinatesMode = Texture.SKYBOX_MODE;
192
+ skyboxMaterial.disableLighting = false;
193
+ // TODO: replace with BoxBuilder
194
+ const skybox = MeshBuilder.CreateBox("skyBox", {size: 1000.0}, scene);
195
+ skybox.isPickable = false; //never pick a skybox
196
+ skybox.infiniteDistance = true;
197
+ skybox.material = skyboxMaterial;
198
+ */
199
+
200
+ // TODO: shadows don't work with HemishpericLight
201
+ return scene;
202
+ };
203
+
204
+ export { sceneSetup, defaultSceneClearColor, defaultEnvHelperColor };