@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
@@ -0,0 +1,198 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { Parameter } from '../classes/parameter';
11
+ import '@babylonjs/core/Helpers/sceneHelpers';
12
+ import '@babylonjs/core/Materials/Textures/Loaders/ddsTextureLoader';
13
+ import { Color4 } from '@babylonjs/core/Maths/math.color';
14
+ import { Vector3 } from '@babylonjs/core/Maths/math.vector';
15
+ import { MeshBuilder } from '@babylonjs/core/Meshes/meshBuilder';
16
+ import { DefaultRenderingPipeline } from '@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline';
17
+ import { Scene } from '@babylonjs/core/scene';
18
+ import { get, isEmpty } from 'lodash-es';
19
+ const defaultSceneClearColor = new Color4(0, 0, 0, 0);
20
+ const defaultEnvHelperColor = new Color4(1, 1, 1, 0);
21
+ /**
22
+ * @param scene
23
+ * @param name
24
+ * @param definition
25
+ */
26
+ const processGround = function (scene, name, definition) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ return new Promise(resolve => {
29
+ const _resolve = (ground) => {
30
+ if (definition.receiveShadows !== undefined) {
31
+ ground.receiveShadows = definition.receiveShadows;
32
+ }
33
+ resolve(ground);
34
+ };
35
+ switch (definition.type) {
36
+ case 'baked':
37
+ if (!definition.meshId) {
38
+ throw new Error(`A baked ground must define a "meshId".`);
39
+ }
40
+ _resolve(scene.getMeshByID(definition.meshId));
41
+ break;
42
+ case 'ground':
43
+ _resolve(MeshBuilder.CreateGround(name, definition, scene));
44
+ break;
45
+ case 'heightmap':
46
+ if (!definition.url) {
47
+ throw new Error(`A heightmap ground must define an "url".`);
48
+ }
49
+ definition.onReady = (_ground) => {
50
+ _resolve(_ground);
51
+ };
52
+ MeshBuilder.CreateGroundFromHeightMap(name, definition.url, definition, scene);
53
+ break;
54
+ default:
55
+ throw new Error(`Ground of type "${definition.type}" not implemented (yet).`);
56
+ }
57
+ });
58
+ });
59
+ };
60
+ /**
61
+ * @param scene
62
+ */
63
+ const defaultCamera = function (scene) {
64
+ return __awaiter(this, void 0, void 0, function* () {
65
+ return yield processCamera(scene, 'default_camera', {
66
+ type: 'arc',
67
+ active: true,
68
+ });
69
+ });
70
+ };
71
+ /**
72
+ * @param scene
73
+ * @param name
74
+ * @param cameraSetup
75
+ */
76
+ const processCamera = function (scene, name, cameraSetup) {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ let camera;
79
+ let target = Vector3.Zero();
80
+ if (cameraSetup.target) {
81
+ target = Parameter.parseVector(cameraSetup.target);
82
+ }
83
+ switch (cameraSetup.type) {
84
+ case 'arc':
85
+ // @ts-ignore
86
+ const arcCameraModule = yield import(
87
+ /* webpackChunkName: "arc-rotate-camera" */ '@babylonjs/core/Cameras/arcRotateCamera');
88
+ camera = new arcCameraModule.ArcRotateCamera(name, Math.PI / 4, Math.PI / 4, 2, target, scene);
89
+ camera.metadata = {
90
+ alpha: Math.PI / 4,
91
+ beta: Math.PI / 4,
92
+ radius: 2,
93
+ };
94
+ break;
95
+ }
96
+ if (cameraSetup.active) {
97
+ camera.attachControl(scene.getEngine().getRenderingCanvas(), true);
98
+ }
99
+ if (cameraSetup.fov) {
100
+ camera.fov = cameraSetup.fov;
101
+ }
102
+ camera.storeState();
103
+ return camera;
104
+ });
105
+ };
106
+ /**
107
+ * @param engine
108
+ * @param sceneJson
109
+ */
110
+ const sceneSetup = function (engine, sceneJson) {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ const scene = new Scene(engine);
113
+ scene.clearColor = defaultSceneClearColor;
114
+ // cameras
115
+ const cameras = [];
116
+ const cameraDefinitions = get(sceneJson.scene, 'cameras');
117
+ if (!isEmpty(cameraDefinitions)) {
118
+ for (let cameraName in cameraDefinitions) {
119
+ cameras.push(yield processCamera(scene, cameraName, cameraDefinitions[cameraName]));
120
+ }
121
+ }
122
+ else {
123
+ const camera = yield defaultCamera(scene);
124
+ cameras.push(camera);
125
+ }
126
+ // grounds
127
+ const groundDefinitions = get(sceneJson.scene, 'grounds');
128
+ if (!isEmpty(groundDefinitions)) {
129
+ for (const groundName in groundDefinitions) {
130
+ yield processGround(scene, groundName, groundDefinitions[groundName]);
131
+ }
132
+ }
133
+ // TODO: try to split this away from the default rendering pipeline to save module imports
134
+ // The "hdr" setting had negative effect on rendering in Safari. Everything looked a little "edgy". I'm not completely
135
+ // sure if disabling it comes with other negative side effects I don't see right now, so we should probably
136
+ // investigate this a little more in detail at some point.
137
+ const defaultPipeline = new DefaultRenderingPipeline('default-rendering-pipeline', false, scene);
138
+ /* DISABLED: causes problems with Internet Explorer
139
+ defaultPipeline.imageProcessingEnabled = true;
140
+ */
141
+ if (sceneJson.scene.globals.aa) {
142
+ defaultPipeline.fxaaEnabled = true; //implicitly does FxaaPostProcess()
143
+ }
144
+ // Set samples regardless of fxaa setting since we don't want to use fxaa but still increase the sample count
145
+ defaultPipeline.samples = 8;
146
+ if (sceneJson.scene.globals['camera-settings']) {
147
+ if (sceneJson.scene.globals['camera-settings'].sharpen &&
148
+ sceneJson.scene.globals['camera-settings'].sharpen.enabled) {
149
+ defaultPipeline.sharpenEnabled = true; //implicitly does SharpenPostProcess()
150
+ //defaultPipeline.sharpen.colorAmount = 1;
151
+ //defaultPipeline.sharpen.edgeAmount = 0;
152
+ }
153
+ if (sceneJson.scene.globals['camera-settings'].bloom &&
154
+ sceneJson.scene.globals['camera-settings'].bloom.enabled) {
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 = yield import(/* webpackChunkName: "lens-rendering" */ './lensRendering');
172
+ new module.LensRenderingPipeline('lens-rendering', sceneJson.scene.globals['camera-settings'].dof.settings, scene, 1.0, cameras);
173
+ }
174
+ }
175
+ // TODO: make this dynamic
176
+ /*
177
+ const texture = new HDRCubeTexture("/assets/small_cave_1k.hdr", scene, 256);
178
+ texture.gammaSpace = false;
179
+ scene.environmentTexture = texture;
180
+ // scene.environmentTexture.
181
+
182
+ const skyboxMaterial = new StandardMaterial("skyBox", scene);
183
+ skyboxMaterial.backFaceCulling = false;
184
+ skyboxMaterial.reflectionTexture = texture;
185
+ skyboxMaterial.reflectionTexture.coordinatesMode = Texture.SKYBOX_MODE;
186
+ skyboxMaterial.disableLighting = false;
187
+ // TODO: replace with BoxBuilder
188
+ const skybox = MeshBuilder.CreateBox("skyBox", {size: 1000.0}, scene);
189
+ skybox.isPickable = false; //never pick a skybox
190
+ skybox.infiniteDistance = true;
191
+ skybox.material = skyboxMaterial;
192
+ */
193
+ // TODO: shadows don't work with HemishpericLight
194
+ return scene;
195
+ });
196
+ };
197
+ export { sceneSetup, defaultSceneClearColor, defaultEnvHelperColor };
198
+ //# sourceMappingURL=sceneSetup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sceneSetup.js","sourceRoot":"","sources":["../../../../../src/api/internal/sceneSetup.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,30 @@
1
- import { Scene as BabylonScene, Scene } from '@babylonjs/core/scene';
2
- export declare class AnimationManager {
3
- protected scene: Scene;
4
- animations: AnimationInterface[];
5
- /**
6
- * Constructor.
7
- */
8
- protected constructor(scene: Scene);
9
- /**
10
- * Creates an {@link AnimationManager} based on given BabylonJS scene.
11
- */
12
- static create(scene: BabylonScene): Promise<AnimationManager>;
13
- /**
14
- * @deprecated Use viewer.moveCameraTo().
15
- */
16
- resetCamera(animate?: boolean): void;
17
- /**
18
- * @deprecated Use viewer.moveCameraTo().
19
- */
20
- animateArcRotateCamera(targetAlpha: number, targetBeta: number, targetRadius: number): void;
21
- /**
22
- * Stops and kills all running animations.
23
- */
24
- killAllAnimations(): void;
25
- /**
26
- * @see {@link PlacementAnimation.play}
27
- */
28
- animateToPlacement(mutable: object, placement: PlacementDefinition | string, animation?: AnimationDefinition | string): Promise<AnimationInterface>;
29
- }
1
+ import { AnimationInterface } from '../classes/animationInterface';
2
+ import { Scene as BabylonScene, Scene } from '@babylonjs/core/scene';
3
+ export declare class AnimationManager {
4
+ protected scene: Scene;
5
+ animations: AnimationInterface[];
6
+ /**
7
+ * Constructor.
8
+ */
9
+ protected constructor(scene: Scene);
10
+ /**
11
+ * Creates an {@link AnimationManager} based on given BabylonJS scene.
12
+ */
13
+ static create(scene: BabylonScene): Promise<AnimationManager>;
14
+ /**
15
+ * @deprecated Use viewer.moveCameraTo().
16
+ */
17
+ resetCamera(animate?: boolean): void;
18
+ /**
19
+ * @deprecated Use viewer.moveCameraTo().
20
+ */
21
+ animateArcRotateCamera(targetAlpha: number, targetBeta: number, targetRadius: number): void;
22
+ /**
23
+ * Stops and kills all running animations.
24
+ */
25
+ killAllAnimations(): void;
26
+ /**
27
+ * @see {@link PlacementAnimation.play}
28
+ */
29
+ animateToPlacement(mutable: object, placement: PlacementDefinition | string, animation?: AnimationDefinition | string): Promise<AnimationInterface>;
30
+ }
@@ -0,0 +1,123 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { PlacementAnimation } from '../classes/placementAnimation';
11
+ import { Animation as BabylonAnimation } from '@babylonjs/core/Animations/animation';
12
+ //import { CustomEase } from 'gsap/CustomEase';
13
+ //import { ExpoScaleEase, RoughEase, SlowMo } from 'gsap/EasePack';
14
+ import { remove } from 'lodash-es';
15
+ //gsap.registerPlugin( CustomEase, ExpoScaleEase, RoughEase, SlowMo );
16
+ export class AnimationManager {
17
+ /**
18
+ * Constructor.
19
+ */
20
+ constructor(scene) {
21
+ this.scene = scene;
22
+ this.animations = [];
23
+ }
24
+ /**
25
+ * Creates an {@link AnimationManager} based on given BabylonJS scene.
26
+ */
27
+ static create(scene) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ return new AnimationManager(scene);
30
+ });
31
+ }
32
+ /**
33
+ * @deprecated Use viewer.moveCameraTo().
34
+ */
35
+ resetCamera(animate = false) {
36
+ //TODO currently only works for arcrotate. are there any other cameras?
37
+ let activeCamera = this.scene.activeCamera;
38
+ if (!activeCamera) {
39
+ throw new Error('There is no active camera');
40
+ }
41
+ const initAlpha = activeCamera.metadata.alpha;
42
+ const initBeta = activeCamera.metadata.beta;
43
+ const initRadius = activeCamera.metadata.radius;
44
+ if (animate) {
45
+ this.animateArcRotateCamera(initAlpha, initBeta, initRadius);
46
+ }
47
+ else {
48
+ activeCamera.alpha = initAlpha;
49
+ activeCamera.beta = initBeta;
50
+ activeCamera.radius = initRadius;
51
+ }
52
+ }
53
+ /**
54
+ * @deprecated Use viewer.moveCameraTo().
55
+ */
56
+ animateArcRotateCamera(targetAlpha, targetBeta, targetRadius) {
57
+ let activeCamera = this.scene.activeCamera;
58
+ if (!activeCamera) {
59
+ throw new Error('There is no active camera');
60
+ }
61
+ const alphaAnimation = new BabylonAnimation('alphaAnimation', 'alpha', 30, BabylonAnimation.ANIMATIONTYPE_FLOAT, BabylonAnimation.ANIMATIONLOOPMODE_CONSTANT);
62
+ const betaAnimation = new BabylonAnimation('betaAnimation', 'beta', 30, BabylonAnimation.ANIMATIONTYPE_FLOAT, BabylonAnimation.ANIMATIONLOOPMODE_CONSTANT);
63
+ const radiusAnimation = new BabylonAnimation('radiusAnimation', 'radius', 30, BabylonAnimation.ANIMATIONTYPE_FLOAT, BabylonAnimation.ANIMATIONLOOPMODE_CONSTANT);
64
+ alphaAnimation.setKeys([
65
+ {
66
+ frame: 0,
67
+ value: activeCamera.alpha,
68
+ },
69
+ {
70
+ frame: 100,
71
+ value: targetAlpha,
72
+ },
73
+ ]);
74
+ betaAnimation.setKeys([
75
+ {
76
+ frame: 0,
77
+ value: activeCamera.beta,
78
+ },
79
+ {
80
+ frame: 100,
81
+ value: targetBeta,
82
+ },
83
+ ]);
84
+ radiusAnimation.setKeys([
85
+ {
86
+ frame: 0,
87
+ value: activeCamera.radius,
88
+ },
89
+ {
90
+ frame: 100,
91
+ value: targetRadius,
92
+ },
93
+ ]);
94
+ activeCamera.animations.push(alphaAnimation);
95
+ activeCamera.animations.push(betaAnimation);
96
+ activeCamera.animations.push(radiusAnimation);
97
+ let animation = this.scene.beginAnimation(activeCamera, 0, 100, false, 10);
98
+ animation.disposeOnEnd = true;
99
+ }
100
+ /**
101
+ * Stops and kills all running animations.
102
+ */
103
+ killAllAnimations() {
104
+ this.animations.forEach(animation => animation.kill());
105
+ this.animations = [];
106
+ }
107
+ /**
108
+ * @see {@link PlacementAnimation.play}
109
+ */
110
+ animateToPlacement(mutable, placement, animation) {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ const _animation = new PlacementAnimation(mutable, placement, animation);
113
+ this.animations.push(_animation);
114
+ const animationPromise = _animation.play();
115
+ animationPromise.then(a => {
116
+ remove(this.animations, _a => _a === a);
117
+ a.kill();
118
+ });
119
+ return yield animationPromise;
120
+ });
121
+ }
122
+ }
123
+ //# sourceMappingURL=animationManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animationManager.js","sourceRoot":"","sources":["../../../../../src/api/manager/animationManager.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAIrF,+CAA+C;AAC/C,mEAAmE;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,sEAAsE;AAEtE,MAAM,OAAO,gBAAgB;IAG3B;;OAEG;IACH,YAAgC,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;QALrC,eAAU,GAAyB,EAAE,CAAC;IAKE,CAAC;IAEhD;;OAEG;IACI,MAAM,CAAO,MAAM,CAAC,KAAmB;;YAC5C,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;KAAA;IAED;;OAEG;IACI,WAAW,CAAC,UAAmB,KAAK;QACzC,uEAAuE;QACvE,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAyC,CAAC;QACxE,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC9C;QAED,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC9C,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC5C,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;QAEhD,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;SAC9D;aAAM;YACL,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC;YAC/B,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC7B,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC;SAClC;IACH,CAAC;IAED;;OAEG;IACI,sBAAsB,CAAC,WAAmB,EAAE,UAAkB,EAAE,YAAoB;QACzF,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAyC,CAAC;QACxE,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC9C;QACD,MAAM,cAAc,GAAG,IAAI,gBAAgB,CACzC,gBAAgB,EAChB,OAAO,EACP,EAAE,EACF,gBAAgB,CAAC,mBAAmB,EACpC,gBAAgB,CAAC,0BAA0B,CAC5C,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,gBAAgB,CACxC,eAAe,EACf,MAAM,EACN,EAAE,EACF,gBAAgB,CAAC,mBAAmB,EACpC,gBAAgB,CAAC,0BAA0B,CAC5C,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,gBAAgB,CAC1C,iBAAiB,EACjB,QAAQ,EACR,EAAE,EACF,gBAAgB,CAAC,mBAAmB,EACpC,gBAAgB,CAAC,0BAA0B,CAC5C,CAAC;QACF,cAAc,CAAC,OAAO,CAAC;YACrB;gBACE,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,YAAY,CAAC,KAAK;aAC1B;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,WAAW;aACnB;SACF,CAAC,CAAC;QACH,aAAa,CAAC,OAAO,CAAC;YACpB;gBACE,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,YAAY,CAAC,IAAI;aACzB;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,UAAU;aAClB;SACF,CAAC,CAAC;QACH,eAAe,CAAC,OAAO,CAAC;YACtB;gBACE,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,YAAY,CAAC,MAAM;aAC3B;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,YAAY;aACpB;SACF,CAAC,CAAC;QACH,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE9C,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3E,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,iBAAiB;QACtB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACU,kBAAkB,CAC7B,OAAe,EACf,SAAuC,EACvC,SAAwC;;YAExC,MAAM,UAAU,GAAG,IAAI,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjC,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;YAC3C,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACxB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBACxC,CAAC,CAAC,IAAI,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,gBAAgB,CAAC;QAChC,CAAC;KAAA;CACF"}
@@ -1,65 +1,65 @@
1
- import { PBRMaterial } from '@babylonjs/core/Materials/PBR/pbrMaterial';
2
- import { IExportOptions } from '@babylonjs/serializers/glTF/2.0';
3
- export declare class GltfExportManager {
4
- protected viewer: Viewer;
5
- /**
6
- * Constructor.
7
- */
8
- protected constructor(viewer: Viewer);
9
- /**
10
- * Creates an {@link GltfExportManager}.
11
- */
12
- static create(viewer: Viewer): Promise<GltfExportManager>;
13
- /**
14
- * Exports selected nodes to a file.
15
- * @param filename optional name of the exported .GLB file.
16
- * @param exportOptions export options to be merged with default options.
17
- * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export.
18
- */
19
- exportGlb(filename?: string, exportOptions?: IExportOptions, excluded?: ExcludedGeometryList): Promise<File | undefined>;
20
- /**
21
- * Exports selected nodes to GLTF. This may result in more than one file, since textures are exported separately.
22
- * @param filename name of the main (text-based) .GLTF file referring to separate texture files.
23
- * @param exportOptions export options to be merged with default options.
24
- * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export.
25
- */
26
- exportGltfToFile(filename: string, exportOptions?: IExportOptions, excluded?: ExcludedGeometryList): Promise<void>;
27
- /**
28
- * Exports selected nodes to GLB. This results in one binary file.
29
- * @param filename name of the .GLB file.
30
- * @param exportOptions export options to be merged with default options.
31
- * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export
32
- */
33
- exportGlbToFile(filename: string, exportOptions?: IExportOptions, excluded?: ExcludedGeometryList): Promise<void>;
34
- /**
35
- * Gets predefined {@link IExportOptions } merged with given ones.
36
- */
37
- protected gltfExportOptions(mergeWithOptions?: IExportOptions, excluded?: ExcludedGeometryList): IExportOptions;
38
- /**
39
- * Stuff to be done before exporting to GLTF
40
- */
41
- protected exportPreProcess(): void;
42
- /**
43
- * Stuff to be done after the GLTF export
44
- */
45
- protected exportPostProcess(): void;
46
- /**
47
- * Materials with refraction set are not exported properly.
48
- * Exchange all such (relevant) materials with a more export-friendly version
49
- */
50
- protected exchangeRefractionMaterials(): void;
51
- /**
52
- * Restore original materials with set refraction.
53
- */
54
- protected restoreRefractionMaterials(): void;
55
- /**
56
- * Create an export-friendly replacement material for a material using refraction.
57
- * @param mat Material to be replaced
58
- */
59
- protected createRefractionMaterialReplacement(mat: PBRMaterial): PBRMaterial;
60
- /**
61
- * Inspect if a material was temporarily cloned for GLB export
62
- * @param mat Material to be inspected
63
- */
64
- protected isMaterialClonedForExport(mat: PBRMaterial): boolean;
65
- }
1
+ import { PBRMaterial } from '@babylonjs/core/Materials/PBR/pbrMaterial';
2
+ import { IExportOptions } from '@babylonjs/serializers/glTF/2.0';
3
+ export declare class GltfExportManager {
4
+ protected viewer: Viewer;
5
+ /**
6
+ * Constructor.
7
+ */
8
+ protected constructor(viewer: Viewer);
9
+ /**
10
+ * Creates an {@link GltfExportManager}.
11
+ */
12
+ static create(viewer: Viewer): Promise<GltfExportManager>;
13
+ /**
14
+ * Exports selected nodes to a file.
15
+ * @param filename optional name of the exported .GLB file.
16
+ * @param exportOptions export options to be merged with default options.
17
+ * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export.
18
+ */
19
+ exportGlb(filename?: string, exportOptions?: IExportOptions, excluded?: ExcludedGeometryList): Promise<File | undefined>;
20
+ /**
21
+ * Exports selected nodes to GLTF. This may result in more than one file, since textures are exported separately.
22
+ * @param filename name of the main (text-based) .GLTF file referring to separate texture files.
23
+ * @param exportOptions export options to be merged with default options.
24
+ * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export.
25
+ */
26
+ exportGltfToFile(filename: string, exportOptions?: IExportOptions, excluded?: ExcludedGeometryList): Promise<void>;
27
+ /**
28
+ * Exports selected nodes to GLB. This results in one binary file.
29
+ * @param filename name of the .GLB file.
30
+ * @param exportOptions export options to be merged with default options.
31
+ * @param excluded optional list of geometry (meshes, elements, variants, variantInstances) to be excluded from export
32
+ */
33
+ exportGlbToFile(filename: string, exportOptions?: IExportOptions, excluded?: ExcludedGeometryList): Promise<void>;
34
+ /**
35
+ * Gets predefined {@link IExportOptions } merged with given ones.
36
+ */
37
+ protected gltfExportOptions(mergeWithOptions?: IExportOptions, excluded?: ExcludedGeometryList): IExportOptions;
38
+ /**
39
+ * Stuff to be done before exporting to GLTF
40
+ */
41
+ protected exportPreProcess(): void;
42
+ /**
43
+ * Stuff to be done after the GLTF export
44
+ */
45
+ protected exportPostProcess(): void;
46
+ /**
47
+ * Materials with refraction set are not exported properly.
48
+ * Exchange all such (relevant) materials with a more export-friendly version
49
+ */
50
+ protected exchangeRefractionMaterials(): void;
51
+ /**
52
+ * Restore original materials with set refraction.
53
+ */
54
+ protected restoreRefractionMaterials(): void;
55
+ /**
56
+ * Create an export-friendly replacement material for a material using refraction.
57
+ * @param mat Material to be replaced
58
+ */
59
+ protected createRefractionMaterialReplacement(mat: PBRMaterial): PBRMaterial;
60
+ /**
61
+ * Inspect if a material was temporarily cloned for GLB export
62
+ * @param mat Material to be inspected
63
+ */
64
+ protected isMaterialClonedForExport(mat: PBRMaterial): boolean;
65
+ }