@babylonjs/viewer 7.40.2 → 7.40.3-alpha

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 (615) hide show
  1. package/assets/photoStudio.env +0 -0
  2. package/dist/babylon-viewer.esm.js +2 -0
  3. package/dist/babylon-viewer.esm.js.map +1 -0
  4. package/dist/babylon-viewer.esm.min.js +2 -0
  5. package/dist/babylon-viewer.esm.min.js.map +1 -0
  6. package/dist/chunks/EXT_lights_ies-CD6xLsCy.esm.js +84 -0
  7. package/dist/chunks/EXT_lights_ies-CD6xLsCy.esm.js.map +1 -0
  8. package/dist/chunks/EXT_lights_ies-DS9bIHFP.esm.min.js +2 -0
  9. package/dist/chunks/EXT_lights_ies-DS9bIHFP.esm.min.js.map +1 -0
  10. package/dist/chunks/EXT_lights_image_based-BGdZs5mF.esm.js +171 -0
  11. package/dist/chunks/EXT_lights_image_based-BGdZs5mF.esm.js.map +1 -0
  12. package/dist/chunks/EXT_lights_image_based-DJq0NJF1.esm.min.js +2 -0
  13. package/dist/chunks/EXT_lights_image_based-DJq0NJF1.esm.min.js.map +1 -0
  14. package/dist/chunks/EXT_mesh_gpu_instancing-D70tpOB6.esm.js +86 -0
  15. package/dist/chunks/EXT_mesh_gpu_instancing-D70tpOB6.esm.js.map +1 -0
  16. package/dist/chunks/EXT_mesh_gpu_instancing-DcgiYr6J.esm.min.js +2 -0
  17. package/dist/chunks/EXT_mesh_gpu_instancing-DcgiYr6J.esm.min.js.map +1 -0
  18. package/dist/chunks/EXT_meshopt_compression-hkW0_ox-.esm.min.js +2 -0
  19. package/dist/chunks/EXT_meshopt_compression-hkW0_ox-.esm.min.js.map +1 -0
  20. package/dist/chunks/EXT_meshopt_compression-yaTtGxec.esm.js +134 -0
  21. package/dist/chunks/EXT_meshopt_compression-yaTtGxec.esm.js.map +1 -0
  22. package/dist/chunks/EXT_texture_avif-Chwut1VD.esm.min.js +2 -0
  23. package/dist/chunks/EXT_texture_avif-Chwut1VD.esm.min.js.map +1 -0
  24. package/dist/chunks/EXT_texture_avif-CyxmV9wZ.esm.js +44 -0
  25. package/dist/chunks/EXT_texture_avif-CyxmV9wZ.esm.js.map +1 -0
  26. package/dist/chunks/EXT_texture_webp-C8kKXzMe.esm.min.js +2 -0
  27. package/dist/chunks/EXT_texture_webp-C8kKXzMe.esm.min.js.map +1 -0
  28. package/dist/chunks/EXT_texture_webp-C9fxnRq1.esm.js +43 -0
  29. package/dist/chunks/EXT_texture_webp-C9fxnRq1.esm.js.map +1 -0
  30. package/dist/chunks/ExtrasAsMetadata-B6-h7vlD.esm.min.js +2 -0
  31. package/dist/chunks/ExtrasAsMetadata-B6-h7vlD.esm.min.js.map +1 -0
  32. package/dist/chunks/ExtrasAsMetadata-sw0sAaoo.esm.js +64 -0
  33. package/dist/chunks/ExtrasAsMetadata-sw0sAaoo.esm.js.map +1 -0
  34. package/dist/chunks/KHR_animation_pointer-CP7-gocW.esm.min.js +2 -0
  35. package/dist/chunks/KHR_animation_pointer-CP7-gocW.esm.min.js.map +1 -0
  36. package/dist/chunks/KHR_animation_pointer-lrzgXMw2.esm.js +352 -0
  37. package/dist/chunks/KHR_animation_pointer-lrzgXMw2.esm.js.map +1 -0
  38. package/dist/chunks/KHR_draco_mesh_compression-6ejAggyS.esm.js +610 -0
  39. package/dist/chunks/KHR_draco_mesh_compression-6ejAggyS.esm.js.map +1 -0
  40. package/dist/chunks/KHR_draco_mesh_compression-BaG0uIFE.esm.min.js +2 -0
  41. package/dist/chunks/KHR_draco_mesh_compression-BaG0uIFE.esm.min.js.map +1 -0
  42. package/dist/chunks/KHR_interactivity-BCSmv9s-.esm.js +4033 -0
  43. package/dist/chunks/KHR_interactivity-BCSmv9s-.esm.js.map +1 -0
  44. package/dist/chunks/KHR_interactivity-BwG2kMjm.esm.min.js +2 -0
  45. package/dist/chunks/KHR_interactivity-BwG2kMjm.esm.min.js.map +1 -0
  46. package/dist/chunks/KHR_lights_punctual-BmAkLiea.esm.js +581 -0
  47. package/dist/chunks/KHR_lights_punctual-BmAkLiea.esm.js.map +1 -0
  48. package/dist/chunks/KHR_lights_punctual-D1dtMznV.esm.min.js +2 -0
  49. package/dist/chunks/KHR_lights_punctual-D1dtMznV.esm.min.js.map +1 -0
  50. package/dist/chunks/KHR_materials_anisotropy-CRJDUZsx.esm.js +65 -0
  51. package/dist/chunks/KHR_materials_anisotropy-CRJDUZsx.esm.js.map +1 -0
  52. package/dist/chunks/KHR_materials_anisotropy-Dp1pJfRB.esm.min.js +2 -0
  53. package/dist/chunks/KHR_materials_anisotropy-Dp1pJfRB.esm.min.js.map +1 -0
  54. package/dist/chunks/KHR_materials_clearcoat-BD3XLdt2.esm.min.js +2 -0
  55. package/dist/chunks/KHR_materials_clearcoat-BD3XLdt2.esm.min.js.map +1 -0
  56. package/dist/chunks/KHR_materials_clearcoat-DJKj9xQP.esm.js +96 -0
  57. package/dist/chunks/KHR_materials_clearcoat-DJKj9xQP.esm.js.map +1 -0
  58. package/dist/chunks/KHR_materials_diffuse_transmission-BYYyEZrB.esm.js +97 -0
  59. package/dist/chunks/KHR_materials_diffuse_transmission-BYYyEZrB.esm.js.map +1 -0
  60. package/dist/chunks/KHR_materials_diffuse_transmission-DhA5fNkp.esm.min.js +2 -0
  61. package/dist/chunks/KHR_materials_diffuse_transmission-DhA5fNkp.esm.min.js.map +1 -0
  62. package/dist/chunks/KHR_materials_dispersion-CDCigqMd.esm.js +62 -0
  63. package/dist/chunks/KHR_materials_dispersion-CDCigqMd.esm.js.map +1 -0
  64. package/dist/chunks/KHR_materials_dispersion-CzJ-kzY0.esm.min.js +2 -0
  65. package/dist/chunks/KHR_materials_dispersion-CzJ-kzY0.esm.min.js.map +1 -0
  66. package/dist/chunks/KHR_materials_emissive_strength-C727hCIO.esm.js +55 -0
  67. package/dist/chunks/KHR_materials_emissive_strength-C727hCIO.esm.js.map +1 -0
  68. package/dist/chunks/KHR_materials_emissive_strength-DHmw-T7v.esm.min.js +2 -0
  69. package/dist/chunks/KHR_materials_emissive_strength-DHmw-T7v.esm.min.js.map +1 -0
  70. package/dist/chunks/KHR_materials_ior-CUkwwamZ.esm.min.js +2 -0
  71. package/dist/chunks/KHR_materials_ior-CUkwwamZ.esm.min.js.map +1 -0
  72. package/dist/chunks/KHR_materials_ior-arU1qfpr.esm.js +64 -0
  73. package/dist/chunks/KHR_materials_ior-arU1qfpr.esm.js.map +1 -0
  74. package/dist/chunks/KHR_materials_iridescence-BDFcEA9b.esm.js +72 -0
  75. package/dist/chunks/KHR_materials_iridescence-BDFcEA9b.esm.js.map +1 -0
  76. package/dist/chunks/KHR_materials_iridescence-Dv1MtidF.esm.min.js +2 -0
  77. package/dist/chunks/KHR_materials_iridescence-Dv1MtidF.esm.min.js.map +1 -0
  78. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-IoDqngfZ.esm.js +81 -0
  79. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-IoDqngfZ.esm.js.map +1 -0
  80. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-r32OVvwD.esm.min.js +2 -0
  81. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-r32OVvwD.esm.min.js.map +1 -0
  82. package/dist/chunks/KHR_materials_sheen-BBwukNo5.esm.js +85 -0
  83. package/dist/chunks/KHR_materials_sheen-BBwukNo5.esm.js.map +1 -0
  84. package/dist/chunks/KHR_materials_sheen-upfKannz.esm.min.js +2 -0
  85. package/dist/chunks/KHR_materials_sheen-upfKannz.esm.min.js.map +1 -0
  86. package/dist/chunks/KHR_materials_specular-CLFluGSg.esm.min.js +2 -0
  87. package/dist/chunks/KHR_materials_specular-CLFluGSg.esm.min.js.map +1 -0
  88. package/dist/chunks/KHR_materials_specular-CRQL_z4b.esm.js +75 -0
  89. package/dist/chunks/KHR_materials_specular-CRQL_z4b.esm.js.map +1 -0
  90. package/dist/chunks/KHR_materials_transmission-6oV0DB3N.esm.min.js +2 -0
  91. package/dist/chunks/KHR_materials_transmission-6oV0DB3N.esm.min.js.map +1 -0
  92. package/dist/chunks/KHR_materials_transmission-x9Lwa871.esm.js +307 -0
  93. package/dist/chunks/KHR_materials_transmission-x9Lwa871.esm.js.map +1 -0
  94. package/dist/chunks/KHR_materials_unlit-B_foF8Lt.esm.min.js +2 -0
  95. package/dist/chunks/KHR_materials_unlit-B_foF8Lt.esm.min.js.map +1 -0
  96. package/dist/chunks/KHR_materials_unlit-CDGuKJjb.esm.js +74 -0
  97. package/dist/chunks/KHR_materials_unlit-CDGuKJjb.esm.js.map +1 -0
  98. package/dist/chunks/KHR_materials_variants-DANx-_Mx.esm.js +262 -0
  99. package/dist/chunks/KHR_materials_variants-DANx-_Mx.esm.js.map +1 -0
  100. package/dist/chunks/KHR_materials_variants-DL4EGGiE.esm.min.js +2 -0
  101. package/dist/chunks/KHR_materials_variants-DL4EGGiE.esm.min.js.map +1 -0
  102. package/dist/chunks/KHR_materials_volume-Dlquu8Y2.esm.js +87 -0
  103. package/dist/chunks/KHR_materials_volume-Dlquu8Y2.esm.js.map +1 -0
  104. package/dist/chunks/KHR_materials_volume-LVeMDkB_.esm.min.js +2 -0
  105. package/dist/chunks/KHR_materials_volume-LVeMDkB_.esm.min.js.map +1 -0
  106. package/dist/chunks/KHR_mesh_quantization-C1w2vzgz.esm.js +26 -0
  107. package/dist/chunks/KHR_mesh_quantization-C1w2vzgz.esm.js.map +1 -0
  108. package/dist/chunks/KHR_mesh_quantization-DfOGHc4g.esm.min.js +2 -0
  109. package/dist/chunks/KHR_mesh_quantization-DfOGHc4g.esm.min.js.map +1 -0
  110. package/dist/chunks/KHR_node_hoverability-BxU_AIs6.esm.min.js +2 -0
  111. package/dist/chunks/KHR_node_hoverability-BxU_AIs6.esm.min.js.map +1 -0
  112. package/dist/chunks/KHR_node_hoverability-DODhQaXP.esm.js +39 -0
  113. package/dist/chunks/KHR_node_hoverability-DODhQaXP.esm.js.map +1 -0
  114. package/dist/chunks/KHR_node_visibility-3haIZvsb.esm.js +46 -0
  115. package/dist/chunks/KHR_node_visibility-3haIZvsb.esm.js.map +1 -0
  116. package/dist/chunks/KHR_node_visibility-DDRTTQ-U.esm.min.js +2 -0
  117. package/dist/chunks/KHR_node_visibility-DDRTTQ-U.esm.min.js.map +1 -0
  118. package/dist/chunks/KHR_texture_basisu-CEPiCdOn.esm.min.js +2 -0
  119. package/dist/chunks/KHR_texture_basisu-CEPiCdOn.esm.min.js.map +1 -0
  120. package/dist/chunks/KHR_texture_basisu-gXsppVcQ.esm.js +43 -0
  121. package/dist/chunks/KHR_texture_basisu-gXsppVcQ.esm.js.map +1 -0
  122. package/dist/chunks/KHR_texture_transform-Bjux7yCy.esm.js +63 -0
  123. package/dist/chunks/KHR_texture_transform-Bjux7yCy.esm.js.map +1 -0
  124. package/dist/chunks/KHR_texture_transform-_PXwFDP8.esm.min.js +2 -0
  125. package/dist/chunks/KHR_texture_transform-_PXwFDP8.esm.min.js.map +1 -0
  126. package/dist/chunks/KHR_xmp_json_ld-DpaeEUGt.esm.min.js +2 -0
  127. package/dist/chunks/KHR_xmp_json_ld-DpaeEUGt.esm.min.js.map +1 -0
  128. package/dist/chunks/KHR_xmp_json_ld-DyzNphyu.esm.js +51 -0
  129. package/dist/chunks/KHR_xmp_json_ld-DyzNphyu.esm.js.map +1 -0
  130. package/dist/chunks/MSFT_audio_emitter-BGoxaF5U.esm.min.js +2 -0
  131. package/dist/chunks/MSFT_audio_emitter-BGoxaF5U.esm.min.js.map +1 -0
  132. package/dist/chunks/MSFT_audio_emitter-DEE5n41V.esm.js +2207 -0
  133. package/dist/chunks/MSFT_audio_emitter-DEE5n41V.esm.js.map +1 -0
  134. package/dist/chunks/MSFT_lod-D-_-eQHW.esm.js +337 -0
  135. package/dist/chunks/MSFT_lod-D-_-eQHW.esm.js.map +1 -0
  136. package/dist/chunks/MSFT_lod-XoRI0gWX.esm.min.js +2 -0
  137. package/dist/chunks/MSFT_lod-XoRI0gWX.esm.min.js.map +1 -0
  138. package/dist/chunks/MSFT_minecraftMesh-DO_tijSD.esm.js +46 -0
  139. package/dist/chunks/MSFT_minecraftMesh-DO_tijSD.esm.js.map +1 -0
  140. package/dist/chunks/MSFT_minecraftMesh-_iQvjiZi.esm.min.js +2 -0
  141. package/dist/chunks/MSFT_minecraftMesh-_iQvjiZi.esm.min.js.map +1 -0
  142. package/dist/chunks/MSFT_sRGBFactors-BLHF-pts.esm.js +47 -0
  143. package/dist/chunks/MSFT_sRGBFactors-BLHF-pts.esm.js.map +1 -0
  144. package/dist/chunks/MSFT_sRGBFactors-BTokzGgG.esm.min.js +2 -0
  145. package/dist/chunks/MSFT_sRGBFactors-BTokzGgG.esm.min.js.map +1 -0
  146. package/dist/chunks/animationGroup-BPxpoNna.esm.js +2482 -0
  147. package/dist/chunks/animationGroup-BPxpoNna.esm.js.map +1 -0
  148. package/dist/chunks/animationGroup-TpjYesJi.esm.min.js +2 -0
  149. package/dist/chunks/animationGroup-TpjYesJi.esm.min.js.map +1 -0
  150. package/dist/chunks/assetContainer-C11e8jK9.esm.js +1720 -0
  151. package/dist/chunks/assetContainer-C11e8jK9.esm.js.map +1 -0
  152. package/dist/chunks/assetContainer-DN0guS4J.esm.min.js +2 -0
  153. package/dist/chunks/assetContainer-DN0guS4J.esm.min.js.map +1 -0
  154. package/dist/chunks/audioEngine-BPCDLqX1.esm.js +305 -0
  155. package/dist/chunks/audioEngine-BPCDLqX1.esm.js.map +1 -0
  156. package/dist/chunks/audioEngine-jDnUlloH.esm.min.js +2 -0
  157. package/dist/chunks/audioEngine-jDnUlloH.esm.min.js.map +1 -0
  158. package/dist/chunks/bakedVertexAnimation-Cz6yjm9Z.esm.js +114 -0
  159. package/dist/chunks/bakedVertexAnimation-Cz6yjm9Z.esm.js.map +1 -0
  160. package/dist/chunks/bakedVertexAnimation-QOLg75eL.esm.min.js +2 -0
  161. package/dist/chunks/bakedVertexAnimation-QOLg75eL.esm.min.js.map +1 -0
  162. package/dist/chunks/basisTextureLoader-BoGBC9bq.esm.js +600 -0
  163. package/dist/chunks/basisTextureLoader-BoGBC9bq.esm.js.map +1 -0
  164. package/dist/chunks/basisTextureLoader-D6orCmzb.esm.min.js +2 -0
  165. package/dist/chunks/basisTextureLoader-D6orCmzb.esm.min.js.map +1 -0
  166. package/dist/chunks/dds-DPGLfLtA.esm.js +540 -0
  167. package/dist/chunks/dds-DPGLfLtA.esm.js.map +1 -0
  168. package/dist/chunks/dds-ty-4gLsX.esm.min.js +2 -0
  169. package/dist/chunks/dds-ty-4gLsX.esm.min.js.map +1 -0
  170. package/dist/chunks/ddsTextureLoader-BCk_i6Vj.esm.min.js +2 -0
  171. package/dist/chunks/ddsTextureLoader-BCk_i6Vj.esm.min.js.map +1 -0
  172. package/dist/chunks/ddsTextureLoader-DVbQnnL_.esm.js +88 -0
  173. package/dist/chunks/ddsTextureLoader-DVbQnnL_.esm.js.map +1 -0
  174. package/dist/chunks/decalFragment-BiywWcVN.esm.js +18 -0
  175. package/dist/chunks/decalFragment-BiywWcVN.esm.js.map +1 -0
  176. package/dist/chunks/decalFragment-D06mgECc.esm.min.js +2 -0
  177. package/dist/chunks/decalFragment-D06mgECc.esm.min.js.map +1 -0
  178. package/dist/chunks/default.fragment-B_HQTa4-.esm.min.js +2 -0
  179. package/dist/chunks/default.fragment-B_HQTa4-.esm.min.js.map +1 -0
  180. package/dist/chunks/default.fragment-BiTyj-JR.esm.min.js +2 -0
  181. package/dist/chunks/default.fragment-BiTyj-JR.esm.min.js.map +1 -0
  182. package/dist/chunks/default.fragment-DPPypY0M.esm.js +515 -0
  183. package/dist/chunks/default.fragment-DPPypY0M.esm.js.map +1 -0
  184. package/dist/chunks/default.fragment-Yh18209a.esm.js +446 -0
  185. package/dist/chunks/default.fragment-Yh18209a.esm.js.map +1 -0
  186. package/dist/chunks/default.vertex-BGoXgJxH.esm.min.js +2 -0
  187. package/dist/chunks/default.vertex-BGoXgJxH.esm.min.js.map +1 -0
  188. package/dist/chunks/default.vertex-CHD4PKUY.esm.min.js +2 -0
  189. package/dist/chunks/default.vertex-CHD4PKUY.esm.min.js.map +1 -0
  190. package/dist/chunks/default.vertex-L7AngZxY.esm.js +211 -0
  191. package/dist/chunks/default.vertex-L7AngZxY.esm.js.map +1 -0
  192. package/dist/chunks/default.vertex-bWGrH88y.esm.js +190 -0
  193. package/dist/chunks/default.vertex-bWGrH88y.esm.js.map +1 -0
  194. package/dist/chunks/defaultUboDeclaration-C1wAUiUE.esm.js +15 -0
  195. package/dist/chunks/defaultUboDeclaration-C1wAUiUE.esm.js.map +1 -0
  196. package/dist/chunks/defaultUboDeclaration-Cui4ai4R.esm.min.js +2 -0
  197. package/dist/chunks/defaultUboDeclaration-Cui4ai4R.esm.min.js.map +1 -0
  198. package/dist/chunks/defaultUboDeclaration-DQrGGmYB.esm.min.js +2 -0
  199. package/dist/chunks/defaultUboDeclaration-DQrGGmYB.esm.min.js.map +1 -0
  200. package/dist/chunks/defaultUboDeclaration-DwKq3ipu.esm.js +13 -0
  201. package/dist/chunks/defaultUboDeclaration-DwKq3ipu.esm.js.map +1 -0
  202. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +11 -0
  203. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +1 -0
  204. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +2 -0
  205. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +1 -0
  206. package/dist/chunks/dumpTools-CK6KW8rD.esm.js +200 -0
  207. package/dist/chunks/dumpTools-CK6KW8rD.esm.js.map +1 -0
  208. package/dist/chunks/dumpTools-DtuBR0TB.esm.min.js +2 -0
  209. package/dist/chunks/dumpTools-DtuBR0TB.esm.min.js.map +1 -0
  210. package/dist/chunks/engine-CjwHJJ_I.esm.js +2216 -0
  211. package/dist/chunks/engine-CjwHJJ_I.esm.js.map +1 -0
  212. package/dist/chunks/engine-DDdcZyBr.esm.min.js +2 -0
  213. package/dist/chunks/engine-DDdcZyBr.esm.min.js.map +1 -0
  214. package/dist/chunks/engine.common-9BWDtT2M.esm.js +1162 -0
  215. package/dist/chunks/engine.common-9BWDtT2M.esm.js.map +1 -0
  216. package/dist/chunks/engine.common-B3oiG-PJ.esm.min.js +2 -0
  217. package/dist/chunks/engine.common-B3oiG-PJ.esm.min.js.map +1 -0
  218. package/dist/chunks/envTextureLoader-B2kcZ0TS.esm.js +64 -0
  219. package/dist/chunks/envTextureLoader-B2kcZ0TS.esm.js.map +1 -0
  220. package/dist/chunks/envTextureLoader-BJ0RU-N0.esm.min.js +2 -0
  221. package/dist/chunks/envTextureLoader-BJ0RU-N0.esm.min.js.map +1 -0
  222. package/dist/chunks/environmentTextureTools-BDDKxUKH.esm.js +382 -0
  223. package/dist/chunks/environmentTextureTools-BDDKxUKH.esm.js.map +1 -0
  224. package/dist/chunks/environmentTextureTools-BuVOE0iE.esm.min.js +2 -0
  225. package/dist/chunks/environmentTextureTools-BuVOE0iE.esm.min.js.map +1 -0
  226. package/dist/chunks/exrTextureLoader-ByEbgBJq.esm.min.js +2 -0
  227. package/dist/chunks/exrTextureLoader-ByEbgBJq.esm.min.js.map +1 -0
  228. package/dist/chunks/exrTextureLoader-CVJEgA3V.esm.js +1683 -0
  229. package/dist/chunks/exrTextureLoader-CVJEgA3V.esm.js.map +1 -0
  230. package/dist/chunks/fogFragment-BCI6G-ZP.esm.min.js +2 -0
  231. package/dist/chunks/fogFragment-BCI6G-ZP.esm.min.js.map +1 -0
  232. package/dist/chunks/fogFragment-DWRmb1tG.esm.min.js +2 -0
  233. package/dist/chunks/fogFragment-DWRmb1tG.esm.min.js.map +1 -0
  234. package/dist/chunks/fogFragment-Dmcif2rs.esm.js +102 -0
  235. package/dist/chunks/fogFragment-Dmcif2rs.esm.js.map +1 -0
  236. package/dist/chunks/fogFragment-K4UslW3k.esm.js +101 -0
  237. package/dist/chunks/fogFragment-K4UslW3k.esm.js.map +1 -0
  238. package/dist/chunks/fresnelFunction-Byr-DptL.esm.js +12 -0
  239. package/dist/chunks/fresnelFunction-Byr-DptL.esm.js.map +1 -0
  240. package/dist/chunks/fresnelFunction-nqy6Uoot.esm.min.js +2 -0
  241. package/dist/chunks/fresnelFunction-nqy6Uoot.esm.min.js.map +1 -0
  242. package/dist/chunks/glTFLoader-BNHy6PGg.esm.min.js +2 -0
  243. package/dist/chunks/glTFLoader-BNHy6PGg.esm.min.js.map +1 -0
  244. package/dist/chunks/glTFLoader-Bt4XTOHj.esm.js +7658 -0
  245. package/dist/chunks/glTFLoader-Bt4XTOHj.esm.js.map +1 -0
  246. package/dist/chunks/glTFLoaderAnimation-C7bRnMuQ.esm.min.js +2 -0
  247. package/dist/chunks/glTFLoaderAnimation-C7bRnMuQ.esm.min.js.map +1 -0
  248. package/dist/chunks/glTFLoaderAnimation-wzgl1G3Q.esm.js +77 -0
  249. package/dist/chunks/glTFLoaderAnimation-wzgl1G3Q.esm.js.map +1 -0
  250. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +2 -0
  251. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +1 -0
  252. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +67 -0
  253. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +1 -0
  254. package/dist/chunks/harmonicsFunctions-CJK-zUAx.esm.min.js +2 -0
  255. package/dist/chunks/harmonicsFunctions-CJK-zUAx.esm.min.js.map +1 -0
  256. package/dist/chunks/harmonicsFunctions-Cc4Kn69U.esm.js +35 -0
  257. package/dist/chunks/harmonicsFunctions-Cc4Kn69U.esm.js.map +1 -0
  258. package/dist/chunks/harmonicsFunctions-D_T4jAii.esm.min.js +2 -0
  259. package/dist/chunks/harmonicsFunctions-D_T4jAii.esm.min.js.map +1 -0
  260. package/dist/chunks/harmonicsFunctions-KLqvdh60.esm.js +34 -0
  261. package/dist/chunks/harmonicsFunctions-KLqvdh60.esm.js.map +1 -0
  262. package/dist/chunks/hdrTextureLoader-C6Df--L1.esm.js +253 -0
  263. package/dist/chunks/hdrTextureLoader-C6Df--L1.esm.js.map +1 -0
  264. package/dist/chunks/hdrTextureLoader-CsfShnoX.esm.min.js +2 -0
  265. package/dist/chunks/hdrTextureLoader-CsfShnoX.esm.min.js.map +1 -0
  266. package/dist/chunks/helperFunctions-DDGAItWp.esm.js +80 -0
  267. package/dist/chunks/helperFunctions-DDGAItWp.esm.js.map +1 -0
  268. package/dist/chunks/helperFunctions-DR_I6MXm.esm.min.js +2 -0
  269. package/dist/chunks/helperFunctions-DR_I6MXm.esm.min.js.map +1 -0
  270. package/dist/chunks/helperFunctions-DciHbMbJ.esm.min.js +2 -0
  271. package/dist/chunks/helperFunctions-DciHbMbJ.esm.min.js.map +1 -0
  272. package/dist/chunks/helperFunctions-Dp1Kzl1o.esm.js +108 -0
  273. package/dist/chunks/helperFunctions-Dp1Kzl1o.esm.js.map +1 -0
  274. package/dist/chunks/iesTextureLoader-6OJu6Vq2.esm.min.js +2 -0
  275. package/dist/chunks/iesTextureLoader-6OJu6Vq2.esm.min.js.map +1 -0
  276. package/dist/chunks/iesTextureLoader-Bm570oWa.esm.js +189 -0
  277. package/dist/chunks/iesTextureLoader-Bm570oWa.esm.js.map +1 -0
  278. package/dist/chunks/index-B6sqDOGz.esm.js +74825 -0
  279. package/dist/chunks/index-B6sqDOGz.esm.js.map +1 -0
  280. package/dist/chunks/index-D3BVnHHq.esm.min.js +57 -0
  281. package/dist/chunks/index-D3BVnHHq.esm.min.js.map +1 -0
  282. package/dist/chunks/ktxTextureLoader-Bqe5q1rf.esm.js +814 -0
  283. package/dist/chunks/ktxTextureLoader-Bqe5q1rf.esm.js.map +1 -0
  284. package/dist/chunks/ktxTextureLoader-CYGltN4N.esm.min.js +2 -0
  285. package/dist/chunks/ktxTextureLoader-CYGltN4N.esm.min.js.map +1 -0
  286. package/dist/chunks/logDepthDeclaration-5ljdm3vC.esm.min.js +2 -0
  287. package/dist/chunks/logDepthDeclaration-5ljdm3vC.esm.min.js.map +1 -0
  288. package/dist/chunks/logDepthDeclaration-BAi1U8tp.esm.js +35 -0
  289. package/dist/chunks/logDepthDeclaration-BAi1U8tp.esm.js.map +1 -0
  290. package/dist/chunks/logDepthDeclaration-BhyTMFMU.esm.js +11 -0
  291. package/dist/chunks/logDepthDeclaration-BhyTMFMU.esm.js.map +1 -0
  292. package/dist/chunks/logDepthDeclaration-TpKbhGMf.esm.min.js +2 -0
  293. package/dist/chunks/logDepthDeclaration-TpKbhGMf.esm.min.js.map +1 -0
  294. package/dist/chunks/logDepthVertex-CAe41JFY.esm.js +77 -0
  295. package/dist/chunks/logDepthVertex-CAe41JFY.esm.js.map +1 -0
  296. package/dist/chunks/logDepthVertex-DSb3D1Hm.esm.js +81 -0
  297. package/dist/chunks/logDepthVertex-DSb3D1Hm.esm.js.map +1 -0
  298. package/dist/chunks/logDepthVertex-I7P1jvLX.esm.min.js +2 -0
  299. package/dist/chunks/logDepthVertex-I7P1jvLX.esm.min.js.map +1 -0
  300. package/dist/chunks/logDepthVertex-JJkSRL9W.esm.min.js +2 -0
  301. package/dist/chunks/logDepthVertex-JJkSRL9W.esm.min.js.map +1 -0
  302. package/dist/chunks/mainUVVaryingDeclaration-BOsqkSBn.esm.js +11 -0
  303. package/dist/chunks/mainUVVaryingDeclaration-BOsqkSBn.esm.js.map +1 -0
  304. package/dist/chunks/mainUVVaryingDeclaration-CInC18r7.esm.js +11 -0
  305. package/dist/chunks/mainUVVaryingDeclaration-CInC18r7.esm.js.map +1 -0
  306. package/dist/chunks/mainUVVaryingDeclaration-CS3E9EgB.esm.min.js +2 -0
  307. package/dist/chunks/mainUVVaryingDeclaration-CS3E9EgB.esm.min.js.map +1 -0
  308. package/dist/chunks/mainUVVaryingDeclaration-ChM_7YDH.esm.min.js +2 -0
  309. package/dist/chunks/mainUVVaryingDeclaration-ChM_7YDH.esm.min.js.map +1 -0
  310. package/dist/chunks/meshUboDeclaration-BJzygYVf.esm.min.js +2 -0
  311. package/dist/chunks/meshUboDeclaration-BJzygYVf.esm.min.js.map +1 -0
  312. package/dist/chunks/meshUboDeclaration-DM7Knmm0.esm.js +26 -0
  313. package/dist/chunks/meshUboDeclaration-DM7Knmm0.esm.js.map +1 -0
  314. package/dist/chunks/objFileLoader-DXh6dEqA.esm.min.js +2 -0
  315. package/dist/chunks/objFileLoader-DXh6dEqA.esm.min.js.map +1 -0
  316. package/dist/chunks/objFileLoader-DzxFwUIY.esm.js +1338 -0
  317. package/dist/chunks/objFileLoader-DzxFwUIY.esm.js.map +1 -0
  318. package/dist/chunks/oitFragment-C2V-9s6u.esm.min.js +2 -0
  319. package/dist/chunks/oitFragment-C2V-9s6u.esm.min.js.map +1 -0
  320. package/dist/chunks/oitFragment-DOPwpc5v.esm.js +1240 -0
  321. package/dist/chunks/oitFragment-DOPwpc5v.esm.js.map +1 -0
  322. package/dist/chunks/oitFragment-kS5s81PF.esm.min.js +2 -0
  323. package/dist/chunks/oitFragment-kS5s81PF.esm.min.js.map +1 -0
  324. package/dist/chunks/oitFragment-yAzK8PUt.esm.js +1078 -0
  325. package/dist/chunks/oitFragment-yAzK8PUt.esm.js.map +1 -0
  326. package/dist/chunks/pass.fragment-5ocLOmrf.esm.js +15 -0
  327. package/dist/chunks/pass.fragment-5ocLOmrf.esm.js.map +1 -0
  328. package/dist/chunks/pass.fragment-BN-f4kEG.esm.js +15 -0
  329. package/dist/chunks/pass.fragment-BN-f4kEG.esm.js.map +1 -0
  330. package/dist/chunks/pass.fragment-CE2yo34Z.esm.min.js +2 -0
  331. package/dist/chunks/pass.fragment-CE2yo34Z.esm.min.js.map +1 -0
  332. package/dist/chunks/pass.fragment-O74A4S0m.esm.min.js +2 -0
  333. package/dist/chunks/pass.fragment-O74A4S0m.esm.min.js.map +1 -0
  334. package/dist/chunks/pbr.fragment-AC22HTP0.esm.js +3273 -0
  335. package/dist/chunks/pbr.fragment-AC22HTP0.esm.js.map +1 -0
  336. package/dist/chunks/pbr.fragment-BsRPu6hA.esm.min.js +2 -0
  337. package/dist/chunks/pbr.fragment-BsRPu6hA.esm.min.js.map +1 -0
  338. package/dist/chunks/pbr.fragment-Dxb2AuuM.esm.js +3232 -0
  339. package/dist/chunks/pbr.fragment-Dxb2AuuM.esm.js.map +1 -0
  340. package/dist/chunks/pbr.fragment-Jz2EDvVc.esm.min.js +2 -0
  341. package/dist/chunks/pbr.fragment-Jz2EDvVc.esm.min.js.map +1 -0
  342. package/dist/chunks/pbr.vertex-BkRM-a3D.esm.min.js +2 -0
  343. package/dist/chunks/pbr.vertex-BkRM-a3D.esm.min.js.map +1 -0
  344. package/dist/chunks/pbr.vertex-DC-IeqOc.esm.js +348 -0
  345. package/dist/chunks/pbr.vertex-DC-IeqOc.esm.js.map +1 -0
  346. package/dist/chunks/pbr.vertex-DFq751_7.esm.js +223 -0
  347. package/dist/chunks/pbr.vertex-DFq751_7.esm.js.map +1 -0
  348. package/dist/chunks/pbr.vertex-NaenLCtj.esm.min.js +2 -0
  349. package/dist/chunks/pbr.vertex-NaenLCtj.esm.min.js.map +1 -0
  350. package/dist/chunks/postprocess.vertex-CCzNHvuk.esm.js +20 -0
  351. package/dist/chunks/postprocess.vertex-CCzNHvuk.esm.js.map +1 -0
  352. package/dist/chunks/postprocess.vertex-Mo0vpVxw.esm.min.js +2 -0
  353. package/dist/chunks/postprocess.vertex-Mo0vpVxw.esm.min.js.map +1 -0
  354. package/dist/chunks/rawTexture-DsvWY4wf.esm.js +191 -0
  355. package/dist/chunks/rawTexture-DsvWY4wf.esm.js.map +1 -0
  356. package/dist/chunks/rawTexture-Ub3t-s7i.esm.min.js +2 -0
  357. package/dist/chunks/rawTexture-Ub3t-s7i.esm.min.js.map +1 -0
  358. package/dist/chunks/ray-BRtIhzin.esm.min.js +2 -0
  359. package/dist/chunks/ray-BRtIhzin.esm.min.js.map +1 -0
  360. package/dist/chunks/ray-DGNoxqma.esm.js +946 -0
  361. package/dist/chunks/ray-DGNoxqma.esm.js.map +1 -0
  362. package/dist/chunks/rgbdDecode.fragment-CZhZbezW.esm.min.js +2 -0
  363. package/dist/chunks/rgbdDecode.fragment-CZhZbezW.esm.min.js.map +1 -0
  364. package/dist/chunks/rgbdDecode.fragment-CgKBbbD1.esm.js +13 -0
  365. package/dist/chunks/rgbdDecode.fragment-CgKBbbD1.esm.js.map +1 -0
  366. package/dist/chunks/rgbdDecode.fragment-LHNdHf3k.esm.min.js +2 -0
  367. package/dist/chunks/rgbdDecode.fragment-LHNdHf3k.esm.min.js.map +1 -0
  368. package/dist/chunks/rgbdDecode.fragment-fiTenc35.esm.js +13 -0
  369. package/dist/chunks/rgbdDecode.fragment-fiTenc35.esm.js.map +1 -0
  370. package/dist/chunks/rgbdEncode.fragment-9S80Pwpo.esm.min.js +2 -0
  371. package/dist/chunks/rgbdEncode.fragment-9S80Pwpo.esm.min.js.map +1 -0
  372. package/dist/chunks/rgbdEncode.fragment-BqEeZloN.esm.js +13 -0
  373. package/dist/chunks/rgbdEncode.fragment-BqEeZloN.esm.js.map +1 -0
  374. package/dist/chunks/rgbdEncode.fragment-DNHQ71A7.esm.min.js +2 -0
  375. package/dist/chunks/rgbdEncode.fragment-DNHQ71A7.esm.min.js.map +1 -0
  376. package/dist/chunks/rgbdEncode.fragment-Opuv8m2e.esm.js +13 -0
  377. package/dist/chunks/rgbdEncode.fragment-Opuv8m2e.esm.js.map +1 -0
  378. package/dist/chunks/splatFileLoader-ZYsB_KqH.esm.js +3379 -0
  379. package/dist/chunks/splatFileLoader-ZYsB_KqH.esm.js.map +1 -0
  380. package/dist/chunks/splatFileLoader-vkPYxHIT.esm.min.js +2 -0
  381. package/dist/chunks/splatFileLoader-vkPYxHIT.esm.min.js.map +1 -0
  382. package/dist/chunks/spotLight-BlYHhPZ5.esm.js +701 -0
  383. package/dist/chunks/spotLight-BlYHhPZ5.esm.js.map +1 -0
  384. package/dist/chunks/spotLight-CbgIfMbz.esm.min.js +2 -0
  385. package/dist/chunks/spotLight-CbgIfMbz.esm.min.js.map +1 -0
  386. package/dist/chunks/standardMaterial-2SzHzTgX.esm.js +1806 -0
  387. package/dist/chunks/standardMaterial-2SzHzTgX.esm.js.map +1 -0
  388. package/dist/chunks/standardMaterial-BuAbZl_Z.esm.min.js +2 -0
  389. package/dist/chunks/standardMaterial-BuAbZl_Z.esm.min.js.map +1 -0
  390. package/dist/chunks/stlFileLoader-5Kq215Ci.esm.js +238 -0
  391. package/dist/chunks/stlFileLoader-5Kq215Ci.esm.js.map +1 -0
  392. package/dist/chunks/stlFileLoader-wv5ATvZu.esm.min.js +2 -0
  393. package/dist/chunks/stlFileLoader-wv5ATvZu.esm.min.js.map +1 -0
  394. package/dist/chunks/tgaTextureLoader-DWICU4Mc.esm.js +349 -0
  395. package/dist/chunks/tgaTextureLoader-DWICU4Mc.esm.js.map +1 -0
  396. package/dist/chunks/tgaTextureLoader-bJsNfJzG.esm.min.js +2 -0
  397. package/dist/chunks/tgaTextureLoader-bJsNfJzG.esm.min.js.map +1 -0
  398. package/dist/chunks/thinEngine-BeWECwt6.esm.js +3848 -0
  399. package/dist/chunks/thinEngine-BeWECwt6.esm.js.map +1 -0
  400. package/dist/chunks/thinEngine-DFwbHE_G.esm.min.js +2 -0
  401. package/dist/chunks/thinEngine-DFwbHE_G.esm.min.js.map +1 -0
  402. package/dist/chunks/thinInstanceMesh-B1pIcpZJ.esm.min.js +2 -0
  403. package/dist/chunks/thinInstanceMesh-B1pIcpZJ.esm.min.js.map +1 -0
  404. package/dist/chunks/thinInstanceMesh-CwRJpzmW.esm.js +314 -0
  405. package/dist/chunks/thinInstanceMesh-CwRJpzmW.esm.js.map +1 -0
  406. package/dist/chunks/vertexColorMixing-BKr2fbgc.esm.js +531 -0
  407. package/dist/chunks/vertexColorMixing-BKr2fbgc.esm.js.map +1 -0
  408. package/dist/chunks/vertexColorMixing-BygjAnHj.esm.min.js +2 -0
  409. package/dist/chunks/vertexColorMixing-BygjAnHj.esm.min.js.map +1 -0
  410. package/dist/chunks/vertexColorMixing-HfObYyiq.esm.min.js +2 -0
  411. package/dist/chunks/vertexColorMixing-HfObYyiq.esm.min.js.map +1 -0
  412. package/dist/chunks/vertexColorMixing-_UoBUkRQ.esm.js +421 -0
  413. package/dist/chunks/vertexColorMixing-_UoBUkRQ.esm.js.map +1 -0
  414. package/dist/chunks/webgpuEngine-BPO8q4wr.esm.js +11533 -0
  415. package/dist/chunks/webgpuEngine-BPO8q4wr.esm.js.map +1 -0
  416. package/dist/chunks/webgpuEngine-DvdhZwbl.esm.min.js +2 -0
  417. package/dist/chunks/webgpuEngine-DvdhZwbl.esm.min.js.map +1 -0
  418. package/dist/chunks/workerPool-BUOov2K1.esm.js +122 -0
  419. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +1 -0
  420. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +2 -0
  421. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +1 -0
  422. package/lib/index.d.ts +591 -0
  423. package/lib/index.js +2165 -0
  424. package/lib/index.js.map +1 -0
  425. package/package.json +19 -28
  426. package/readme.md +28 -28
  427. package/configuration/configuration.d.ts +0 -107
  428. package/configuration/configuration.js +0 -16
  429. package/configuration/configuration.js.map +0 -1
  430. package/configuration/configurationCompatibility.d.ts +0 -8
  431. package/configuration/configurationCompatibility.js +0 -66
  432. package/configuration/configurationCompatibility.js.map +0 -1
  433. package/configuration/configurationContainer.d.ts +0 -10
  434. package/configuration/configurationContainer.js +0 -10
  435. package/configuration/configurationContainer.js.map +0 -1
  436. package/configuration/globals.d.ts +0 -6
  437. package/configuration/globals.js +0 -18
  438. package/configuration/globals.js.map +0 -1
  439. package/configuration/index.d.ts +0 -2
  440. package/configuration/index.js +0 -4
  441. package/configuration/index.js.map +0 -1
  442. package/configuration/interfaces/cameraConfiguration.d.ts +0 -31
  443. package/configuration/interfaces/cameraConfiguration.js +0 -2
  444. package/configuration/interfaces/cameraConfiguration.js.map +0 -1
  445. package/configuration/interfaces/colorGradingConfiguration.d.ts +0 -81
  446. package/configuration/interfaces/colorGradingConfiguration.js +0 -2
  447. package/configuration/interfaces/colorGradingConfiguration.js.map +0 -1
  448. package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +0 -20
  449. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +0 -2
  450. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +0 -1
  451. package/configuration/interfaces/environmentMapConfiguration.d.ts +0 -22
  452. package/configuration/interfaces/environmentMapConfiguration.js +0 -2
  453. package/configuration/interfaces/environmentMapConfiguration.js.map +0 -1
  454. package/configuration/interfaces/groundConfiguration.d.ts +0 -24
  455. package/configuration/interfaces/groundConfiguration.js +0 -2
  456. package/configuration/interfaces/groundConfiguration.js.map +0 -1
  457. package/configuration/interfaces/imageProcessingConfiguration.d.ts +0 -45
  458. package/configuration/interfaces/imageProcessingConfiguration.js +0 -2
  459. package/configuration/interfaces/imageProcessingConfiguration.js.map +0 -1
  460. package/configuration/interfaces/index.d.ts +0 -15
  461. package/configuration/interfaces/index.js +0 -16
  462. package/configuration/interfaces/index.js.map +0 -1
  463. package/configuration/interfaces/lightConfiguration.d.ts +0 -60
  464. package/configuration/interfaces/lightConfiguration.js +0 -2
  465. package/configuration/interfaces/lightConfiguration.js.map +0 -1
  466. package/configuration/interfaces/modelAnimationConfiguration.d.ts +0 -26
  467. package/configuration/interfaces/modelAnimationConfiguration.js +0 -2
  468. package/configuration/interfaces/modelAnimationConfiguration.js.map +0 -1
  469. package/configuration/interfaces/modelConfiguration.d.ts +0 -65
  470. package/configuration/interfaces/modelConfiguration.js +0 -2
  471. package/configuration/interfaces/modelConfiguration.js.map +0 -1
  472. package/configuration/interfaces/observersConfiguration.d.ts +0 -5
  473. package/configuration/interfaces/observersConfiguration.js +0 -2
  474. package/configuration/interfaces/observersConfiguration.js.map +0 -1
  475. package/configuration/interfaces/sceneConfiguration.d.ts +0 -48
  476. package/configuration/interfaces/sceneConfiguration.js +0 -2
  477. package/configuration/interfaces/sceneConfiguration.js.map +0 -1
  478. package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +0 -23
  479. package/configuration/interfaces/sceneOptimizerConfiguration.js +0 -2
  480. package/configuration/interfaces/sceneOptimizerConfiguration.js.map +0 -1
  481. package/configuration/interfaces/skyboxConfiguration.d.ts +0 -21
  482. package/configuration/interfaces/skyboxConfiguration.js +0 -2
  483. package/configuration/interfaces/skyboxConfiguration.js.map +0 -1
  484. package/configuration/interfaces/templateConfiguration.d.ts +0 -67
  485. package/configuration/interfaces/templateConfiguration.js +0 -2
  486. package/configuration/interfaces/templateConfiguration.js.map +0 -1
  487. package/configuration/interfaces/vrConfiguration.d.ts +0 -16
  488. package/configuration/interfaces/vrConfiguration.js +0 -2
  489. package/configuration/interfaces/vrConfiguration.js.map +0 -1
  490. package/configuration/loader.d.ts +0 -4
  491. package/configuration/loader.js +0 -17
  492. package/configuration/loader.js.map +0 -1
  493. package/configuration/mappers.d.ts +0 -43
  494. package/configuration/mappers.js +0 -193
  495. package/configuration/mappers.js.map +0 -1
  496. package/configuration/renderOnlyLoader.d.ts +0 -33
  497. package/configuration/renderOnlyLoader.js +0 -162
  498. package/configuration/renderOnlyLoader.js.map +0 -1
  499. package/configuration/types/default.d.ts +0 -6
  500. package/configuration/types/default.js +0 -121
  501. package/configuration/types/default.js.map +0 -1
  502. package/configuration/types/environmentMap.d.ts +0 -5
  503. package/configuration/types/environmentMap.js +0 -14
  504. package/configuration/types/environmentMap.js.map +0 -1
  505. package/configuration/types/extended.d.ts +0 -6
  506. package/configuration/types/extended.js +0 -317
  507. package/configuration/types/extended.js.map +0 -1
  508. package/configuration/types/index.d.ts +0 -14
  509. package/configuration/types/index.js +0 -51
  510. package/configuration/types/index.js.map +0 -1
  511. package/configuration/types/minimal.d.ts +0 -6
  512. package/configuration/types/minimal.js +0 -43
  513. package/configuration/types/minimal.js.map +0 -1
  514. package/configuration/types/renderOnlyDefault.d.ts +0 -30
  515. package/configuration/types/renderOnlyDefault.js +0 -31
  516. package/configuration/types/renderOnlyDefault.js.map +0 -1
  517. package/configuration/types/shadowLight.d.ts +0 -9
  518. package/configuration/types/shadowLight.js +0 -64
  519. package/configuration/types/shadowLight.js.map +0 -1
  520. package/helper/index.d.ts +0 -29
  521. package/helper/index.js +0 -66
  522. package/helper/index.js.map +0 -1
  523. package/index.d.ts +0 -30
  524. package/index.js +0 -46
  525. package/index.js.map +0 -1
  526. package/initializer.d.ts +0 -11
  527. package/initializer.js +0 -35
  528. package/initializer.js.map +0 -1
  529. package/interfaces.d.ts +0 -5
  530. package/interfaces.js +0 -7
  531. package/interfaces.js.map +0 -1
  532. package/labs/environmentSerializer.d.ts +0 -126
  533. package/labs/environmentSerializer.js +0 -191
  534. package/labs/environmentSerializer.js.map +0 -1
  535. package/labs/texture.d.ts +0 -183
  536. package/labs/texture.js +0 -351
  537. package/labs/texture.js.map +0 -1
  538. package/labs/viewerLabs.d.ts +0 -51
  539. package/labs/viewerLabs.js +0 -134
  540. package/labs/viewerLabs.js.map +0 -1
  541. package/loader/modelLoader.d.ts +0 -56
  542. package/loader/modelLoader.js +0 -202
  543. package/loader/modelLoader.js.map +0 -1
  544. package/loader/plugins/applyMaterialConfig.d.ts +0 -12
  545. package/loader/plugins/applyMaterialConfig.js +0 -16
  546. package/loader/plugins/applyMaterialConfig.js.map +0 -1
  547. package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +0 -9
  548. package/loader/plugins/extendedMaterialLoaderPlugin.js +0 -16
  549. package/loader/plugins/extendedMaterialLoaderPlugin.js.map +0 -1
  550. package/loader/plugins/index.d.ts +0 -19
  551. package/loader/plugins/index.js +0 -44
  552. package/loader/plugins/index.js.map +0 -1
  553. package/loader/plugins/loaderPlugin.d.ts +0 -24
  554. package/loader/plugins/loaderPlugin.js +0 -2
  555. package/loader/plugins/loaderPlugin.js.map +0 -1
  556. package/loader/plugins/msftLodLoaderPlugin.d.ts +0 -12
  557. package/loader/plugins/msftLodLoaderPlugin.js +0 -21
  558. package/loader/plugins/msftLodLoaderPlugin.js.map +0 -1
  559. package/loader/plugins/telemetryLoaderPlugin.d.ts +0 -12
  560. package/loader/plugins/telemetryLoaderPlugin.js +0 -36
  561. package/loader/plugins/telemetryLoaderPlugin.js.map +0 -1
  562. package/managers/observablesManager.d.ts +0 -66
  563. package/managers/observablesManager.js +0 -35
  564. package/managers/observablesManager.js.map +0 -1
  565. package/managers/sceneManager.d.ts +0 -245
  566. package/managers/sceneManager.js +0 -1375
  567. package/managers/sceneManager.js.map +0 -1
  568. package/managers/telemetryManager.d.ts +0 -78
  569. package/managers/telemetryManager.js +0 -117
  570. package/managers/telemetryManager.js.map +0 -1
  571. package/model/modelAnimation.d.ts +0 -215
  572. package/model/modelAnimation.js +0 -237
  573. package/model/modelAnimation.js.map +0 -1
  574. package/model/viewerModel.d.ts +0 -233
  575. package/model/viewerModel.js +0 -673
  576. package/model/viewerModel.js.map +0 -1
  577. package/optimizer/custom/extended.d.ts +0 -13
  578. package/optimizer/custom/extended.js +0 -101
  579. package/optimizer/custom/extended.js.map +0 -1
  580. package/optimizer/custom/index.d.ts +0 -9
  581. package/optimizer/custom/index.js +0 -26
  582. package/optimizer/custom/index.js.map +0 -1
  583. package/renderOnlyIndex.d.ts +0 -11
  584. package/renderOnlyIndex.js +0 -18
  585. package/renderOnlyIndex.js.map +0 -1
  586. package/templating/eventManager.d.ts +0 -35
  587. package/templating/eventManager.js +0 -66
  588. package/templating/eventManager.js.map +0 -1
  589. package/templating/plugins/hdButtonPlugin.d.ts +0 -9
  590. package/templating/plugins/hdButtonPlugin.js +0 -22
  591. package/templating/plugins/hdButtonPlugin.js.map +0 -1
  592. package/templating/plugins/printButton.d.ts +0 -9
  593. package/templating/plugins/printButton.js +0 -41
  594. package/templating/plugins/printButton.js.map +0 -1
  595. package/templating/templateManager.d.ts +0 -197
  596. package/templating/templateManager.js +0 -561
  597. package/templating/templateManager.js.map +0 -1
  598. package/templating/viewerTemplatePlugin.d.ts +0 -21
  599. package/templating/viewerTemplatePlugin.js +0 -69
  600. package/templating/viewerTemplatePlugin.js.map +0 -1
  601. package/viewer/defaultViewer.d.ts +0 -130
  602. package/viewer/defaultViewer.js +0 -672
  603. package/viewer/defaultViewer.js.map +0 -1
  604. package/viewer/renderOnlyViewer.d.ts +0 -9
  605. package/viewer/renderOnlyViewer.js +0 -46
  606. package/viewer/renderOnlyViewer.js.map +0 -1
  607. package/viewer/viewer.d.ts +0 -258
  608. package/viewer/viewer.js +0 -783
  609. package/viewer/viewer.js.map +0 -1
  610. package/viewer/viewerManager.d.ts +0 -58
  611. package/viewer/viewerManager.js +0 -91
  612. package/viewer/viewerManager.js.map +0 -1
  613. package/viewer/viewerWithTemplate.d.ts +0 -9
  614. package/viewer/viewerWithTemplate.js +0 -20
  615. package/viewer/viewerWithTemplate.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"viewerModel.js","sourceRoot":"","sources":["../../../../tools/viewer/src/model/viewerModel.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-internal-modules */\r\nimport type { IDisposable } from \"core/scene\";\r\nimport type { ISceneLoaderPlugin, ISceneLoaderPluginAsync, ISceneLoaderProgressEvent } from \"core/Loading/sceneLoader\";\r\nimport type { AbstractMesh } from \"core/Meshes/abstractMesh\";\r\nimport type { IParticleSystem } from \"core/Particles/IParticleSystem\";\r\nimport type { Skeleton } from \"core/Bones/skeleton\";\r\nimport { Observable } from \"core/Misc/observable\";\r\nimport \"core/Misc/observable.extensions\";\r\nimport { AnimationGroup } from \"core/Animations/animationGroup\";\r\nimport type { Animatable } from \"core/Animations/index\";\r\nimport {\r\n Animation,\r\n CircleEase,\r\n BackEase,\r\n BounceEase,\r\n CubicEase,\r\n ElasticEase,\r\n ExponentialEase,\r\n PowerEase,\r\n QuadraticEase,\r\n QuarticEase,\r\n QuinticEase,\r\n SineEase,\r\n} from \"core/Animations/index\";\r\nimport type { Nullable } from \"core/types\";\r\nimport { Quaternion, Vector3 } from \"core/Maths/math.vector\";\r\nimport { Tags } from \"core/Misc/tags\";\r\nimport type { Material } from \"core/Materials/material\";\r\nimport { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\r\nimport { MultiMaterial } from \"core/Materials/multiMaterial\";\r\nimport { Tools } from \"core/Misc/tools\";\r\nimport type { GLTFFileLoader } from \"loaders/glTF/index\";\r\nimport type { IAsset } from \"babylonjs-gltf2interface\";\r\nimport type { IModelConfiguration } from \"../configuration/interfaces/modelConfiguration\";\r\nimport type { IModelAnimationConfiguration } from \"../configuration/interfaces/modelAnimationConfiguration\";\r\nimport type { IModelAnimation, ModelAnimationConfiguration } from \"./modelAnimation\";\r\nimport { GroupModelAnimation, AnimationPlayMode, EasingFunction, AnimationState } from \"./modelAnimation\";\r\nimport { deepmerge, extendClassWithConfig } from \"../helper/index\";\r\nimport type { ObservablesManager } from \"../managers/observablesManager\";\r\nimport type { ConfigurationContainer } from \"../configuration/configurationContainer\";\r\nimport { TransformNode } from \"core/Meshes/transformNode\";\r\nimport { Mesh } from \"core/Meshes/mesh\";\r\n\r\n/**\r\n * The current state of the model\r\n */\r\nexport enum ModelState {\r\n INIT,\r\n LOADING,\r\n LOADED,\r\n ENTRY,\r\n ENTRYDONE,\r\n COMPLETE,\r\n CANCELED,\r\n ERROR,\r\n}\r\n\r\n/**\r\n * The viewer model is a container for all assets representing a sngle loaded model.\r\n */\r\nexport class ViewerModel implements IDisposable {\r\n /**\r\n * The loader used to load this model.\r\n */\r\n public loader: ISceneLoaderPlugin | ISceneLoaderPluginAsync;\r\n\r\n private _animations: Array<IModelAnimation>;\r\n\r\n /**\r\n * the list of meshes that are a part of this model\r\n */\r\n private _meshes: Array<AbstractMesh> = [];\r\n /**\r\n * This model's root mesh (the parent of all other meshes).\r\n * This mesh does not(!) exist in the meshes array.\r\n */\r\n public rootMesh: AbstractMesh;\r\n\r\n private _pivotMesh: TransformNode;\r\n /**\r\n * ParticleSystems connected to this model\r\n */\r\n public particleSystems: Array<IParticleSystem> = [];\r\n /**\r\n * Skeletons defined in this model\r\n */\r\n public skeletons: Array<Skeleton> = [];\r\n /**\r\n * The current model animation.\r\n * On init, this will be undefined.\r\n */\r\n public currentAnimation: IModelAnimation;\r\n\r\n /**\r\n * Observers registered here will be executed when the model is done loading\r\n */\r\n public onLoadedObservable: Observable<ViewerModel>;\r\n /**\r\n * Observers registered here will be executed when the loader notified of a progress event\r\n */\r\n public onLoadProgressObservable: Observable<ISceneLoaderProgressEvent>;\r\n /**\r\n * Observers registered here will be executed when the loader notified of an error.\r\n */\r\n public onLoadErrorObservable: Observable<{ message: string; exception: any }>;\r\n\r\n /**\r\n * Will be executed after the model finished loading and complete, including entry animation and lod\r\n */\r\n public onCompleteObservable: Observable<ViewerModel>;\r\n /**\r\n * Observers registered here will be executed every time the model is being configured.\r\n * This can be used to extend the model's configuration without extending the class itself\r\n */\r\n public onAfterConfigure: Observable<ViewerModel>;\r\n\r\n /**\r\n * The current model state (loaded, error, etc)\r\n */\r\n public state: ModelState;\r\n /**\r\n * A loadID provided by the modelLoader, unique to ths (Abstract)Viewer instance.\r\n */\r\n public loadId: number;\r\n\r\n public loadInfo: IAsset;\r\n private _modelConfiguration: IModelConfiguration;\r\n\r\n private _loaderDone: boolean = false;\r\n\r\n private _entryAnimation: ModelAnimationConfiguration;\r\n private _scaleTransition: Animation;\r\n private _animatables: Array<Animatable> = [];\r\n private _frameRate: number = 60;\r\n\r\n private _shadowsRenderedAfterLoad: boolean = false;\r\n\r\n constructor(\r\n private _observablesManager: ObservablesManager,\r\n modelConfiguration: IModelConfiguration,\r\n private _configurationContainer?: ConfigurationContainer\r\n ) {\r\n this.onLoadedObservable = new Observable();\r\n this.onLoadErrorObservable = new Observable();\r\n this.onLoadProgressObservable = new Observable();\r\n this.onCompleteObservable = new Observable();\r\n this.onAfterConfigure = new Observable();\r\n\r\n this.state = ModelState.INIT;\r\n\r\n const scene = this._configurationContainer && this._configurationContainer.scene;\r\n\r\n this.rootMesh = new Mesh(\"modelRootMesh\", scene);\r\n this._pivotMesh = new TransformNode(\"pivotMesh\", scene);\r\n this._pivotMesh.parent = this.rootMesh;\r\n // rotate 180, gltf fun\r\n this._pivotMesh.rotation.y += Math.PI;\r\n\r\n this._scaleTransition = new Animation(\"scaleAnimation\", \"scaling\", this._frameRate, Animation.ANIMATIONTYPE_VECTOR3, Animation.ANIMATIONLOOPMODE_CONSTANT);\r\n\r\n this._animations = [];\r\n //create a copy of the configuration to make sure it doesn't change even after it is changed in the viewer\r\n this._modelConfiguration = deepmerge((this._configurationContainer && this._configurationContainer.configuration.model) || {}, modelConfiguration);\r\n\r\n if (this._observablesManager) {\r\n this._observablesManager.onModelAddedObservable.notifyObservers(this);\r\n }\r\n\r\n if (this._modelConfiguration.entryAnimation) {\r\n this.rootMesh.setEnabled(false);\r\n }\r\n\r\n this.onLoadedObservable.add(() => {\r\n this.updateConfiguration(this._modelConfiguration);\r\n if (this._observablesManager) {\r\n this._observablesManager.onModelLoadedObservable.notifyObservers(this);\r\n }\r\n this._initAnimations();\r\n });\r\n\r\n this.onCompleteObservable.add(() => {\r\n this.state = ModelState.COMPLETE;\r\n });\r\n }\r\n\r\n public get shadowsRenderedAfterLoad() {\r\n return this._shadowsRenderedAfterLoad;\r\n }\r\n\r\n public set shadowsRenderedAfterLoad(rendered: boolean) {\r\n if (!rendered) {\r\n throw new Error(\"can only be enabled\");\r\n } else {\r\n this._shadowsRenderedAfterLoad = rendered;\r\n }\r\n }\r\n\r\n public getViewerId() {\r\n return this._configurationContainer && this._configurationContainer.viewerId;\r\n }\r\n\r\n /**\r\n * Is this model enabled?\r\n */\r\n public get enabled() {\r\n return this.rootMesh.isEnabled();\r\n }\r\n\r\n /**\r\n * Set whether this model is enabled or not.\r\n */\r\n public set enabled(enable: boolean) {\r\n this.rootMesh.setEnabled(enable);\r\n }\r\n\r\n public set loaderDone(done: boolean) {\r\n this._loaderDone = done;\r\n this._checkCompleteState();\r\n }\r\n\r\n private _checkCompleteState() {\r\n if (this._loaderDone && this.state === ModelState.ENTRYDONE) {\r\n this._modelComplete();\r\n }\r\n }\r\n\r\n /**\r\n * Add a mesh to this model.\r\n * Any mesh that has no parent will be provided with the root mesh as its new parent.\r\n *\r\n * @param mesh the new mesh to add\r\n * @param triggerLoaded should this mesh trigger the onLoaded observable. Used when adding meshes manually.\r\n * @returns a promise that will resolve when the model is done loading\r\n */\r\n public addMesh(mesh: AbstractMesh, triggerLoaded?: boolean) {\r\n if (!mesh.parent) {\r\n mesh.parent = this._pivotMesh;\r\n }\r\n\r\n if (mesh.getClassName() !== \"InstancedMesh\") {\r\n mesh.receiveShadows = !!this.configuration.receiveShadows;\r\n }\r\n\r\n this._meshes.push(mesh);\r\n if (triggerLoaded) {\r\n return this.onLoadedObservable.notifyObserversWithPromise(this);\r\n }\r\n return Promise.resolve(this);\r\n }\r\n\r\n /**\r\n * get the list of meshes (excluding the root mesh)\r\n */\r\n public get meshes() {\r\n return this._meshes;\r\n }\r\n\r\n /**\r\n * Get the model's configuration\r\n */\r\n public get configuration(): IModelConfiguration {\r\n return this._modelConfiguration;\r\n }\r\n\r\n /**\r\n * (Re-)set the model's entire configuration\r\n * @param newConfiguration the new configuration to replace the new one\r\n */\r\n public set configuration(newConfiguration: IModelConfiguration) {\r\n this._modelConfiguration = newConfiguration;\r\n this._configureModel();\r\n }\r\n\r\n /**\r\n * Update the current configuration with new values.\r\n * Configuration will not be overwritten, but merged with the new configuration.\r\n * Priority is to the new configuration\r\n * @param newConfiguration the configuration to be merged into the current configuration;\r\n */\r\n public updateConfiguration(newConfiguration: Partial<IModelConfiguration>) {\r\n this._modelConfiguration = deepmerge(this._modelConfiguration, newConfiguration);\r\n this._configureModel();\r\n }\r\n\r\n private _initAnimations() {\r\n // check if this is not a gltf loader and init the animations\r\n if (this.skeletons.length) {\r\n this.skeletons.forEach((skeleton, idx) => {\r\n const ag = new AnimationGroup(\"animation-\" + idx, this._configurationContainer && this._configurationContainer.scene);\r\n let add = false;\r\n skeleton.getAnimatables().forEach((a) => {\r\n if (a.animations && a.animations[0]) {\r\n ag.addTargetedAnimation(a.animations[0], a);\r\n add = true;\r\n }\r\n });\r\n if (add) {\r\n this.addAnimationGroup(ag);\r\n }\r\n });\r\n }\r\n\r\n let completeCallback = () => {};\r\n\r\n if (this._modelConfiguration.animation) {\r\n if (this._modelConfiguration.animation.playOnce) {\r\n this._animations.forEach((a) => {\r\n a.playMode = AnimationPlayMode.ONCE;\r\n });\r\n }\r\n if (this._modelConfiguration.animation.autoStart && this._animations.length) {\r\n const animationName = this._modelConfiguration.animation.autoStart === true ? this._animations[0].name : this._modelConfiguration.animation.autoStart;\r\n\r\n completeCallback = () => {\r\n this.playAnimation(animationName);\r\n };\r\n }\r\n }\r\n\r\n this._enterScene(completeCallback);\r\n }\r\n\r\n /**\r\n * Animates the model from the current position to the default position\r\n * @param completeCallback A function to call when the animation has completed\r\n */\r\n private _enterScene(completeCallback?: () => void): void {\r\n const scene = this.rootMesh.getScene();\r\n const previousValue = scene.animationPropertiesOverride!.enableBlending;\r\n const callback = () => {\r\n this.state = ModelState.ENTRYDONE;\r\n scene.animationPropertiesOverride!.enableBlending = previousValue;\r\n this._checkCompleteState();\r\n if (completeCallback) {\r\n completeCallback();\r\n }\r\n };\r\n if (!this._entryAnimation) {\r\n callback();\r\n return;\r\n }\r\n this.rootMesh.setEnabled(true);\r\n // disable blending for the sake of the entry animation;\r\n scene.animationPropertiesOverride!.enableBlending = false;\r\n this._applyAnimation(this._entryAnimation, true, callback);\r\n }\r\n\r\n // /**\r\n // * Animates the model from the current position to the exit-screen position\r\n // * @param completeCallback A function to call when the animation has completed\r\n // */\r\n // private _exitScene(completeCallback: () => void): void {\r\n // if (!this._exitAnimation) {\r\n // completeCallback();\r\n // return;\r\n // }\r\n\r\n // this._applyAnimation(this._exitAnimation, false, completeCallback);\r\n // }\r\n\r\n private _modelComplete() {\r\n //reapply material defines to be sure:\r\n const meshes = this._pivotMesh.getChildMeshes(false);\r\n meshes\r\n .filter((m) => m.material)\r\n .forEach((mesh) => {\r\n this._applyModelMaterialConfiguration(mesh.material!);\r\n });\r\n this.state = ModelState.COMPLETE;\r\n this.onCompleteObservable.notifyObservers(this);\r\n }\r\n\r\n /**\r\n * Add a new animation group to this model.\r\n * @param animationGroup the new animation group to be added\r\n */\r\n public addAnimationGroup(animationGroup: AnimationGroup) {\r\n this._animations.push(new GroupModelAnimation(animationGroup));\r\n }\r\n\r\n /**\r\n * Get the ModelAnimation array\r\n * @returns the array of ModelAnimations\r\n */\r\n public getAnimations(): Array<IModelAnimation> {\r\n return this._animations;\r\n }\r\n\r\n /**\r\n * Get the animations' names. Using the names you can play a specific animation.\r\n * @returns the array of ModelAnimations\r\n */\r\n public getAnimationNames(): Array<string> {\r\n return this._animations.map((a) => a.name);\r\n }\r\n\r\n /**\r\n * Get an animation by the provided name. Used mainly when playing n animation.\r\n * @param name the name of the animation to find\r\n * @returns the ModelAnimation object\r\n */\r\n protected _getAnimationByName(name: string): Nullable<IModelAnimation> {\r\n // can't use .find, noe available on IE\r\n const filtered = this._animations.filter((a) => a.name === name.trim());\r\n if (filtered.length >= 1) {\r\n return filtered[0];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Choose an initialized animation using its name and start playing it\r\n * @param name the name of the animation to play\r\n * @returns The model aniamtion to be played.\r\n */\r\n public playAnimation(name: string): IModelAnimation {\r\n const animation = this.setCurrentAnimationByName(name);\r\n if (animation) {\r\n animation.start();\r\n }\r\n return animation;\r\n }\r\n\r\n public setCurrentAnimationByName(name: string) {\r\n const animation = this._getAnimationByName(name.trim());\r\n if (animation) {\r\n if (this.currentAnimation && this.currentAnimation.state !== AnimationState.STOPPED) {\r\n this.currentAnimation.stop();\r\n }\r\n this.currentAnimation = animation;\r\n return animation;\r\n } else {\r\n throw new Error(\"animation not found - \" + name);\r\n }\r\n }\r\n\r\n private _configureModel() {\r\n // this can be changed to the meshes that have rootMesh a parent without breaking anything.\r\n const meshesWithNoParent: Array<TransformNode> = [this.rootMesh]; //this._meshes.filter(m => m.parent === this.rootMesh);\r\n const updateMeshesWithNoParent = (variable: string, value: any, param?: string) => {\r\n meshesWithNoParent.forEach((mesh) => {\r\n if (param) {\r\n mesh[variable as keyof TransformNode][param] = value;\r\n } else {\r\n (mesh as any)[variable] = value;\r\n }\r\n });\r\n };\r\n const updateXYZ = (variable: string, configValues: { x: number; y: number; z: number; w?: number }) => {\r\n if (configValues.x !== undefined) {\r\n updateMeshesWithNoParent(variable, configValues.x, \"x\");\r\n }\r\n if (configValues.y !== undefined) {\r\n updateMeshesWithNoParent(variable, configValues.y, \"y\");\r\n }\r\n if (configValues.z !== undefined) {\r\n updateMeshesWithNoParent(variable, configValues.z, \"z\");\r\n }\r\n if (configValues.w !== undefined) {\r\n updateMeshesWithNoParent(variable, configValues.w, \"w\");\r\n }\r\n };\r\n\r\n if (this._modelConfiguration.normalize) {\r\n let center = false;\r\n let unitSize = false;\r\n let parentIndex;\r\n if (this._modelConfiguration.normalize === true) {\r\n center = true;\r\n unitSize = true;\r\n } else {\r\n center = !!this._modelConfiguration.normalize.center;\r\n unitSize = !!this._modelConfiguration.normalize.unitSize;\r\n parentIndex = this._modelConfiguration.normalize.parentIndex;\r\n }\r\n\r\n let meshesToNormalize: Array<TransformNode> = [];\r\n if (parentIndex !== undefined) {\r\n meshesToNormalize.push(this._meshes[parentIndex]);\r\n } else {\r\n meshesToNormalize = this._pivotMesh.getChildMeshes(true).length === 1 ? [this._pivotMesh] : meshesWithNoParent;\r\n }\r\n\r\n if (unitSize) {\r\n meshesToNormalize.forEach((mesh) => {\r\n mesh.normalizeToUnitCube(true);\r\n mesh.computeWorldMatrix(true);\r\n });\r\n }\r\n if (center) {\r\n meshesToNormalize.forEach((mesh) => {\r\n const boundingInfo = mesh.getHierarchyBoundingVectors(true);\r\n const sizeVec = boundingInfo.max.subtract(boundingInfo.min);\r\n const halfSizeVec = sizeVec.scale(0.5);\r\n const center = boundingInfo.min.add(halfSizeVec);\r\n mesh.position = center.scale(-1);\r\n\r\n mesh.position.y += halfSizeVec.y;\r\n\r\n // Recompute Info.\r\n mesh.computeWorldMatrix(true);\r\n });\r\n }\r\n } else {\r\n // if centered, should be done here\r\n }\r\n\r\n // position?\r\n if (this._modelConfiguration.position) {\r\n updateXYZ(\"position\", this._modelConfiguration.position);\r\n }\r\n if (this._modelConfiguration.rotation) {\r\n //quaternion?\r\n if (this._modelConfiguration.rotation.w) {\r\n meshesWithNoParent.forEach((mesh) => {\r\n if (!mesh.rotationQuaternion) {\r\n mesh.rotationQuaternion = new Quaternion();\r\n }\r\n });\r\n updateXYZ(\"rotationQuaternion\", this._modelConfiguration.rotation);\r\n } else {\r\n updateXYZ(\"rotation\", this._modelConfiguration.rotation);\r\n }\r\n }\r\n\r\n if (this._modelConfiguration.rotationOffsetAxis) {\r\n const rotationAxis = new Vector3(\r\n this._modelConfiguration.rotationOffsetAxis.x,\r\n this._modelConfiguration.rotationOffsetAxis.y,\r\n this._modelConfiguration.rotationOffsetAxis.z\r\n );\r\n\r\n meshesWithNoParent.forEach((m) => {\r\n if (this._modelConfiguration.rotationOffsetAngle) {\r\n m.rotate(rotationAxis, this._modelConfiguration.rotationOffsetAngle);\r\n }\r\n });\r\n }\r\n\r\n if (this._modelConfiguration.scaling) {\r\n updateXYZ(\"scaling\", this._modelConfiguration.scaling);\r\n }\r\n\r\n if (this._modelConfiguration.castShadow) {\r\n this._meshes.forEach((mesh) => {\r\n Tags.AddTagsTo(mesh, \"castShadow\");\r\n });\r\n }\r\n\r\n const meshes = this._pivotMesh.getChildMeshes(false);\r\n meshes\r\n .filter((m) => m.material)\r\n .forEach((mesh) => {\r\n this._applyModelMaterialConfiguration(mesh.material!);\r\n });\r\n\r\n if (this._modelConfiguration.entryAnimation) {\r\n this._entryAnimation = this._modelAnimationConfigurationToObject(this._modelConfiguration.entryAnimation);\r\n }\r\n\r\n // if (this._modelConfiguration.exitAnimation) {\r\n // this._exitAnimation = this._modelAnimationConfigurationToObject(this._modelConfiguration.exitAnimation);\r\n // }\r\n\r\n this.onAfterConfigure.notifyObservers(this);\r\n }\r\n\r\n private _modelAnimationConfigurationToObject(animConfig: IModelAnimationConfiguration): ModelAnimationConfiguration {\r\n const anim: ModelAnimationConfiguration = {\r\n time: 0.5,\r\n };\r\n if (animConfig.scaling) {\r\n anim.scaling = Vector3.Zero();\r\n }\r\n if (animConfig.easingFunction !== undefined) {\r\n anim.easingFunction = animConfig.easingFunction;\r\n }\r\n if (animConfig.easingMode !== undefined) {\r\n anim.easingMode = animConfig.easingMode;\r\n }\r\n extendClassWithConfig(anim, animConfig);\r\n return anim;\r\n }\r\n\r\n /**\r\n * Apply a material configuration to a material\r\n * @param material Material to apply configuration to\r\n * @internal\r\n */\r\n public _applyModelMaterialConfiguration(material: Material) {\r\n if (!this._modelConfiguration.material) {\r\n return;\r\n }\r\n\r\n extendClassWithConfig(material, this._modelConfiguration.material);\r\n\r\n if (material instanceof PBRMaterial) {\r\n if (this._modelConfiguration.material.directIntensity !== undefined) {\r\n material.directIntensity = this._modelConfiguration.material.directIntensity;\r\n }\r\n\r\n if (this._modelConfiguration.material.emissiveIntensity !== undefined) {\r\n material.emissiveIntensity = this._modelConfiguration.material.emissiveIntensity;\r\n }\r\n\r\n if (this._modelConfiguration.material.environmentIntensity !== undefined) {\r\n material.environmentIntensity = this._modelConfiguration.material.environmentIntensity;\r\n }\r\n\r\n if (this._modelConfiguration.material.directEnabled !== undefined) {\r\n material.disableLighting = !this._modelConfiguration.material.directEnabled;\r\n }\r\n if (this._configurationContainer && this._configurationContainer.reflectionColor) {\r\n material.reflectionColor = this._configurationContainer.reflectionColor.clone();\r\n }\r\n } else if (material instanceof MultiMaterial) {\r\n for (let i = 0; i < material.subMaterials.length; i++) {\r\n const subMaterial = material.subMaterials[i];\r\n if (subMaterial) {\r\n this._applyModelMaterialConfiguration(subMaterial);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Start entry/exit animation given an animation configuration\r\n * @param animationConfiguration Entry/Exit animation configuration\r\n * @param isEntry Pass true if the animation is an entry animation\r\n * @param completeCallback Callback to execute when the animation completes\r\n */\r\n private _applyAnimation(animationConfiguration: ModelAnimationConfiguration, isEntry: boolean, completeCallback?: () => void) {\r\n const animations: Animation[] = [];\r\n\r\n //scale\r\n if (animationConfiguration.scaling) {\r\n const scaleStart: Vector3 = isEntry ? animationConfiguration.scaling : new Vector3(1, 1, 1);\r\n const scaleEnd: Vector3 = isEntry ? new Vector3(1, 1, 1) : animationConfiguration.scaling;\r\n\r\n if (!scaleStart.equals(scaleEnd)) {\r\n this.rootMesh.scaling = scaleStart;\r\n this._setLinearKeys(this._scaleTransition, this.rootMesh.scaling, scaleEnd, animationConfiguration.time);\r\n animations.push(this._scaleTransition);\r\n }\r\n }\r\n\r\n //Start the animation(s)\r\n this.transitionTo(animations, animationConfiguration.time, this._createEasingFunction(animationConfiguration.easingFunction), animationConfiguration.easingMode, () => {\r\n if (completeCallback) {\r\n completeCallback();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Begin @animations with the specified @easingFunction\r\n * @param animations The BABYLON Animations to begin\r\n * @param duration of transition, in seconds\r\n * @param easingFunction An easing function to apply\r\n * @param easingMode A easing mode to apply to the easingFunction\r\n * @param onAnimationEnd Call back trigger at the end of the animation.\r\n */\r\n public transitionTo(\r\n animations: Animation[],\r\n duration: number,\r\n easingFunction: any,\r\n easingMode: number = 2, // BABYLON.EasingFunction.EASINGMODE_EASEINOUT,\r\n onAnimationEnd: () => void\r\n ): void {\r\n if (easingFunction) {\r\n for (const animation of animations) {\r\n easingFunction.setEasingMode(easingMode);\r\n animation.setEasingFunction(easingFunction);\r\n }\r\n }\r\n\r\n //Stop any current animations before starting the new one - merging not yet supported.\r\n this.stopAllAnimations();\r\n\r\n this.rootMesh.animations = animations;\r\n\r\n if (this.rootMesh.getScene().beginAnimation !== undefined) {\r\n const animatable: Animatable = this.rootMesh.getScene().beginAnimation(this.rootMesh, 0, this._frameRate * duration, false, 1, () => {\r\n if (onAnimationEnd) {\r\n onAnimationEnd();\r\n }\r\n });\r\n this._animatables.push(animatable);\r\n }\r\n }\r\n\r\n /**\r\n * Sets key values on an Animation from first to last frame.\r\n * @param animation The Babylon animation object to set keys on\r\n * @param startValue The value of the first key\r\n * @param endValue The value of the last key\r\n * @param duration The duration of the animation, used to determine the end frame\r\n */\r\n private _setLinearKeys(animation: Animation, startValue: any, endValue: any, duration: number) {\r\n animation.setKeys([\r\n {\r\n frame: 0,\r\n value: startValue,\r\n },\r\n {\r\n frame: this._frameRate * duration,\r\n value: endValue,\r\n },\r\n ]);\r\n }\r\n\r\n /**\r\n * Creates and returns a Babylon easing funtion object based on a string representing the Easing function\r\n * @param easingFunctionID The enum of the easing funtion to create\r\n * @returns The newly created Babylon easing function object\r\n */\r\n private _createEasingFunction(easingFunctionID?: number): any {\r\n let easingFunction;\r\n\r\n switch (easingFunctionID) {\r\n case EasingFunction.CircleEase:\r\n easingFunction = new CircleEase();\r\n break;\r\n case EasingFunction.BackEase:\r\n easingFunction = new BackEase(0.3);\r\n break;\r\n case EasingFunction.BounceEase:\r\n easingFunction = new BounceEase();\r\n break;\r\n case EasingFunction.CubicEase:\r\n easingFunction = new CubicEase();\r\n break;\r\n case EasingFunction.ElasticEase:\r\n easingFunction = new ElasticEase();\r\n break;\r\n case EasingFunction.ExponentialEase:\r\n easingFunction = new ExponentialEase();\r\n break;\r\n case EasingFunction.PowerEase:\r\n easingFunction = new PowerEase();\r\n break;\r\n case EasingFunction.QuadraticEase:\r\n easingFunction = new QuadraticEase();\r\n break;\r\n case EasingFunction.QuarticEase:\r\n easingFunction = new QuarticEase();\r\n break;\r\n case EasingFunction.QuinticEase:\r\n easingFunction = new QuinticEase();\r\n break;\r\n case EasingFunction.SineEase:\r\n easingFunction = new SineEase();\r\n break;\r\n default:\r\n Tools.Log(\"No ease function found\");\r\n break;\r\n }\r\n\r\n return easingFunction;\r\n }\r\n\r\n /**\r\n * Stops and removes all animations that have been applied to the model\r\n */\r\n public stopAllAnimations(): void {\r\n if (this.rootMesh) {\r\n this.rootMesh.animations = [];\r\n }\r\n if (this.currentAnimation) {\r\n this.currentAnimation.stop();\r\n }\r\n while (this._animatables.length) {\r\n this._animatables[0].onAnimationEnd = null;\r\n this._animatables[0].stop();\r\n this._animatables.shift();\r\n }\r\n }\r\n\r\n /**\r\n * Will remove this model from the viewer (but NOT dispose it).\r\n */\r\n public remove() {\r\n this.stopAllAnimations();\r\n\r\n if (this._observablesManager) {\r\n this._observablesManager.onModelRemovedObservable.notifyObservers(this);\r\n }\r\n }\r\n\r\n /**\r\n * Dispose this model, including all of its associated assets.\r\n */\r\n public dispose() {\r\n this.remove();\r\n this.onAfterConfigure.clear();\r\n this.onLoadedObservable.clear();\r\n this.onLoadErrorObservable.clear();\r\n this.onLoadProgressObservable.clear();\r\n if (this.loader && this.loader.name === \"gltf\") {\r\n (<GLTFFileLoader>this.loader).dispose();\r\n }\r\n this.particleSystems.forEach((ps) => ps.dispose());\r\n this.particleSystems.length = 0;\r\n this.skeletons.forEach((s) => s.dispose());\r\n this.skeletons.length = 0;\r\n this._animations.forEach((ag) => ag.dispose());\r\n this._animations.length = 0;\r\n this.rootMesh.dispose(false, true);\r\n }\r\n}\r\n"]}
@@ -1,13 +0,0 @@
1
- import type { SceneManager } from "../../managers/sceneManager";
2
- /**
3
- * A custom upgrade-oriented function configuration for the scene optimizer.
4
- * @param sceneManager
5
- * @returns true if the scene is fully upgraded
6
- */
7
- export declare function extendedUpgrade(sceneManager: SceneManager): boolean;
8
- /**
9
- * A custom degrade-oriented function configuration for the scene optimizer.
10
- * @param sceneManager
11
- * @returns true if the scene is fully degraded
12
- */
13
- export declare function extendedDegrade(sceneManager: SceneManager): boolean;
@@ -1,101 +0,0 @@
1
- import { Scalar } from "@babylonjs/core/Maths/math.scalar.js";
2
- /**
3
- * A custom upgrade-oriented function configuration for the scene optimizer.
4
- * @param sceneManager
5
- * @returns true if the scene is fully upgraded
6
- */
7
- export function extendedUpgrade(sceneManager) {
8
- var defaultPipeline = sceneManager.defaultRenderingPipeline;
9
- // if (!this.Scene.BackgroundHelper) {
10
- // this.Scene.EngineScene.autoClear = false;
11
- // this.Scene.BackgroundHelper = true;
12
- // Would require a dedicated clear color;
13
- // return false;
14
- // }
15
- if (sceneManager.scene.getEngine().getHardwareScalingLevel() > 1) {
16
- var scaling = Scalar.Clamp(sceneManager.scene.getEngine().getHardwareScalingLevel() - 0.25, 0, 1);
17
- sceneManager.scene.getEngine().setHardwareScalingLevel(scaling);
18
- return false;
19
- }
20
- if (!sceneManager.scene.postProcessesEnabled) {
21
- sceneManager.scene.postProcessesEnabled = true;
22
- return false;
23
- }
24
- if (!sceneManager.groundEnabled) {
25
- sceneManager.groundEnabled = true;
26
- return false;
27
- }
28
- if (defaultPipeline && !sceneManager.fxaaEnabled) {
29
- sceneManager.fxaaEnabled = true;
30
- return false;
31
- }
32
- var hardwareScalingLevel = Math.max(1 / 2, 1 / (window.devicePixelRatio || 2));
33
- if (sceneManager.scene.getEngine().getHardwareScalingLevel() > hardwareScalingLevel) {
34
- var scaling = Scalar.Clamp(sceneManager.scene.getEngine().getHardwareScalingLevel() - 0.25, 0, hardwareScalingLevel);
35
- sceneManager.scene.getEngine().setHardwareScalingLevel(scaling);
36
- return false;
37
- }
38
- if (!sceneManager.processShadows) {
39
- sceneManager.processShadows = true;
40
- return false;
41
- }
42
- if (defaultPipeline && !sceneManager.bloomEnabled) {
43
- sceneManager.bloomEnabled = true;
44
- return false;
45
- }
46
- if (!sceneManager.groundMirrorEnabled) {
47
- sceneManager.groundMirrorEnabled = true;
48
- return false;
49
- }
50
- return true;
51
- }
52
- /**
53
- * A custom degrade-oriented function configuration for the scene optimizer.
54
- * @param sceneManager
55
- * @returns true if the scene is fully degraded
56
- */
57
- export function extendedDegrade(sceneManager) {
58
- var defaultPipeline = sceneManager.defaultRenderingPipeline;
59
- if (sceneManager.groundMirrorEnabled) {
60
- sceneManager.groundMirrorEnabled = false;
61
- return false;
62
- }
63
- if (defaultPipeline && sceneManager.bloomEnabled) {
64
- sceneManager.bloomEnabled = false;
65
- return false;
66
- }
67
- if (sceneManager.processShadows) {
68
- sceneManager.processShadows = false;
69
- return false;
70
- }
71
- if (sceneManager.scene.getEngine().getHardwareScalingLevel() < 1) {
72
- var scaling = Scalar.Clamp(sceneManager.scene.getEngine().getHardwareScalingLevel() + 0.25, 0, 1);
73
- sceneManager.scene.getEngine().setHardwareScalingLevel(scaling);
74
- return false;
75
- }
76
- if (defaultPipeline && sceneManager.fxaaEnabled) {
77
- sceneManager.fxaaEnabled = false;
78
- return false;
79
- }
80
- if (sceneManager.groundEnabled) {
81
- sceneManager.groundEnabled = false;
82
- return false;
83
- }
84
- if (sceneManager.scene.postProcessesEnabled) {
85
- sceneManager.scene.postProcessesEnabled = false;
86
- return false;
87
- }
88
- if (sceneManager.scene.getEngine().getHardwareScalingLevel() < 1.25) {
89
- var scaling = Scalar.Clamp(sceneManager.scene.getEngine().getHardwareScalingLevel() + 0.25, 0, 1.25);
90
- sceneManager.scene.getEngine().setHardwareScalingLevel(scaling);
91
- return false;
92
- }
93
- // if (this.Scene.BackgroundHelper) {
94
- // this.Scene.EngineScene.autoClear = true;
95
- // this.Scene.BackgroundHelper = false;
96
- // Would require a dedicated clear color;
97
- // return false;
98
- // }
99
- return true;
100
- }
101
- //# sourceMappingURL=extended.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extended.js","sourceRoot":"","sources":["../../../../../tools/viewer/src/optimizer/custom/extended.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DefaultRenderingPipeline } from \"core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline\";\r\nimport { Scalar } from \"core/Maths/math.scalar\";\r\nimport type { SceneManager } from \"../../managers/sceneManager\";\r\n\r\n/**\r\n * A custom upgrade-oriented function configuration for the scene optimizer.\r\n * @param sceneManager\r\n * @returns true if the scene is fully upgraded\r\n */\r\nexport function extendedUpgrade(sceneManager: SceneManager): boolean {\r\n const defaultPipeline = <DefaultRenderingPipeline>sceneManager.defaultRenderingPipeline;\r\n // if (!this.Scene.BackgroundHelper) {\r\n // \tthis.Scene.EngineScene.autoClear = false;\r\n // this.Scene.BackgroundHelper = true;\r\n // Would require a dedicated clear color;\r\n // return false;\r\n // }\r\n if (sceneManager.scene.getEngine().getHardwareScalingLevel() > 1) {\r\n const scaling = Scalar.Clamp(sceneManager.scene.getEngine().getHardwareScalingLevel() - 0.25, 0, 1);\r\n sceneManager.scene.getEngine().setHardwareScalingLevel(scaling);\r\n return false;\r\n }\r\n if (!sceneManager.scene.postProcessesEnabled) {\r\n sceneManager.scene.postProcessesEnabled = true;\r\n return false;\r\n }\r\n if (!sceneManager.groundEnabled) {\r\n sceneManager.groundEnabled = true;\r\n return false;\r\n }\r\n if (defaultPipeline && !sceneManager.fxaaEnabled) {\r\n sceneManager.fxaaEnabled = true;\r\n return false;\r\n }\r\n const hardwareScalingLevel = Math.max(1 / 2, 1 / (window.devicePixelRatio || 2));\r\n if (sceneManager.scene.getEngine().getHardwareScalingLevel() > hardwareScalingLevel) {\r\n const scaling = Scalar.Clamp(sceneManager.scene.getEngine().getHardwareScalingLevel() - 0.25, 0, hardwareScalingLevel);\r\n sceneManager.scene.getEngine().setHardwareScalingLevel(scaling);\r\n return false;\r\n }\r\n if (!sceneManager.processShadows) {\r\n sceneManager.processShadows = true;\r\n return false;\r\n }\r\n if (defaultPipeline && !sceneManager.bloomEnabled) {\r\n sceneManager.bloomEnabled = true;\r\n return false;\r\n }\r\n if (!sceneManager.groundMirrorEnabled) {\r\n sceneManager.groundMirrorEnabled = true;\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\n/**\r\n * A custom degrade-oriented function configuration for the scene optimizer.\r\n * @param sceneManager\r\n * @returns true if the scene is fully degraded\r\n */\r\nexport function extendedDegrade(sceneManager: SceneManager): boolean {\r\n const defaultPipeline = <DefaultRenderingPipeline>sceneManager.defaultRenderingPipeline;\r\n\r\n if (sceneManager.groundMirrorEnabled) {\r\n sceneManager.groundMirrorEnabled = false;\r\n return false;\r\n }\r\n if (defaultPipeline && sceneManager.bloomEnabled) {\r\n sceneManager.bloomEnabled = false;\r\n return false;\r\n }\r\n if (sceneManager.processShadows) {\r\n sceneManager.processShadows = false;\r\n return false;\r\n }\r\n if (sceneManager.scene.getEngine().getHardwareScalingLevel() < 1) {\r\n const scaling = Scalar.Clamp(sceneManager.scene.getEngine().getHardwareScalingLevel() + 0.25, 0, 1);\r\n sceneManager.scene.getEngine().setHardwareScalingLevel(scaling);\r\n return false;\r\n }\r\n if (defaultPipeline && sceneManager.fxaaEnabled) {\r\n sceneManager.fxaaEnabled = false;\r\n return false;\r\n }\r\n if (sceneManager.groundEnabled) {\r\n sceneManager.groundEnabled = false;\r\n return false;\r\n }\r\n if (sceneManager.scene.postProcessesEnabled) {\r\n sceneManager.scene.postProcessesEnabled = false;\r\n return false;\r\n }\r\n if (sceneManager.scene.getEngine().getHardwareScalingLevel() < 1.25) {\r\n const scaling = Scalar.Clamp(sceneManager.scene.getEngine().getHardwareScalingLevel() + 0.25, 0, 1.25);\r\n sceneManager.scene.getEngine().setHardwareScalingLevel(scaling);\r\n return false;\r\n }\r\n // if (this.Scene.BackgroundHelper) {\r\n // \tthis.Scene.EngineScene.autoClear = true;\r\n // this.Scene.BackgroundHelper = false;\r\n // Would require a dedicated clear color;\r\n // return false;\r\n // }\r\n return true;\r\n}\r\n"]}
@@ -1,9 +0,0 @@
1
- import type { SceneManager } from "../../managers/sceneManager";
2
- /**
3
- *
4
- * @param name the name of the custom optimizer configuration
5
- * @param upgrade set to true if you want to upgrade optimizer and false if you want to degrade
6
- * @returns the optimizer function
7
- */
8
- export declare function getCustomOptimizerByName(name: string, upgrade?: boolean): (sceneManager: SceneManager) => boolean;
9
- export declare function registerCustomOptimizer(name: string, optimizer: (sceneManager: SceneManager) => boolean): void;
@@ -1,26 +0,0 @@
1
- import { extendedUpgrade, extendedDegrade } from "./extended.js";
2
- var cache = {};
3
- /**
4
- *
5
- * @param name the name of the custom optimizer configuration
6
- * @param upgrade set to true if you want to upgrade optimizer and false if you want to degrade
7
- * @returns the optimizer function
8
- */
9
- export function getCustomOptimizerByName(name, upgrade) {
10
- if (!cache[name]) {
11
- switch (name) {
12
- case "extended":
13
- if (upgrade) {
14
- return extendedUpgrade;
15
- }
16
- else {
17
- return extendedDegrade;
18
- }
19
- }
20
- }
21
- return cache[name];
22
- }
23
- export function registerCustomOptimizer(name, optimizer) {
24
- cache[name] = optimizer;
25
- }
26
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../tools/viewer/src/optimizer/custom/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG9D,IAAM,KAAK,GAA+D,EAAE,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY,EAAE,OAAiB;IACpE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACf,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,UAAU;gBACX,IAAI,OAAO,EAAE,CAAC;oBACV,OAAO,eAAe,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACJ,OAAO,eAAe,CAAC;gBAC3B,CAAC;QACT,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,SAAkD;IACpG,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AAC5B,CAAC","sourcesContent":["import { extendedUpgrade, extendedDegrade } from \"./extended\";\r\nimport type { SceneManager } from \"../../managers/sceneManager\";\r\n\r\nconst cache: { [key: string]: (sceneManager: SceneManager) => boolean } = {};\r\n\r\n/**\r\n *\r\n * @param name the name of the custom optimizer configuration\r\n * @param upgrade set to true if you want to upgrade optimizer and false if you want to degrade\r\n * @returns the optimizer function\r\n */\r\nexport function getCustomOptimizerByName(name: string, upgrade?: boolean) {\r\n if (!cache[name]) {\r\n switch (name) {\r\n case \"extended\":\r\n if (upgrade) {\r\n return extendedUpgrade;\r\n } else {\r\n return extendedDegrade;\r\n }\r\n }\r\n }\r\n\r\n return cache[name];\r\n}\r\n\r\nexport function registerCustomOptimizer(name: string, optimizer: (sceneManager: SceneManager) => boolean) {\r\n cache[name] = optimizer;\r\n}\r\n"]}
@@ -1,11 +0,0 @@
1
- import { RenderOnlyViewer } from "./viewer/renderOnlyViewer";
2
- import "@babylonjs/loaders/glTF/2.0.js";
3
- import "@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent.js";
4
- import "@babylonjs/core/Debug/debugLayer.js";
5
- import "@babylonjs/core/Meshes/Builders/planeBuilder.js";
6
- import "@babylonjs/core/Meshes/Builders/boxBuilder.js";
7
- import "@babylonjs/core/Materials/Textures/Loaders/ddsTextureLoader.js";
8
- import "@babylonjs/core/Materials/Textures/Loaders/envTextureLoader.js";
9
- import "@babylonjs/core/Materials/Textures/Loaders/ktxTextureLoader.js";
10
- import "@babylonjs/core/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.js";
11
- export { RenderOnlyViewer };
@@ -1,18 +0,0 @@
1
- import { RenderOnlyViewer } from "./viewer/renderOnlyViewer.js";
2
- // Required side effects
3
- import "@babylonjs/loaders/glTF/2.0.js";
4
- import "@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent.js";
5
- import "@babylonjs/core/Debug/debugLayer.js";
6
- import "@babylonjs/core/Meshes/Builders/planeBuilder.js";
7
- import "@babylonjs/core/Meshes/Builders/boxBuilder.js";
8
- import "@babylonjs/core/Materials/Textures/Loaders/ddsTextureLoader.js";
9
- import "@babylonjs/core/Materials/Textures/Loaders/envTextureLoader.js";
10
- import "@babylonjs/core/Materials/Textures/Loaders/ktxTextureLoader.js";
11
- import "@babylonjs/core/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.js";
12
- // Override default material factory to avoid the dependency on standard material
13
- import { Scene } from "@babylonjs/core/scene.js";
14
- Scene.DefaultMaterialFactory = function () {
15
- return null;
16
- };
17
- export { RenderOnlyViewer };
18
- //# sourceMappingURL=renderOnlyIndex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderOnlyIndex.js","sourceRoot":"","sources":["../../../tools/viewer/src/renderOnlyIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,wBAAwB;AACxB,wCAA0B;AAC1B,yEAA2D;AAC3D,6CAA+B;AAC/B,yDAA2C;AAC3C,uDAAyC;AACzC,wEAA0D;AAC1D,wEAA0D;AAC1D,wEAA0D;AAC1D,wGAA0F;AAE1F,iFAAiF;AACjF,OAAO,EAAE,KAAK,EAAE,iCAAmB;AACnC,KAAK,CAAC,sBAAsB,GAAG;IAC3B,OAAO,IAAW,CAAC;AACvB,CAAC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC","sourcesContent":["import { RenderOnlyViewer } from \"./viewer/renderOnlyViewer\";\r\n\r\n// Required side effects\r\nimport \"loaders/glTF/2.0\";\r\nimport \"core/Lights/Shadows/shadowGeneratorSceneComponent\";\r\nimport \"core/Debug/debugLayer\";\r\nimport \"core/Meshes/Builders/planeBuilder\";\r\nimport \"core/Meshes/Builders/boxBuilder\";\r\nimport \"core/Materials/Textures/Loaders/ddsTextureLoader\";\r\nimport \"core/Materials/Textures/Loaders/envTextureLoader\";\r\nimport \"core/Materials/Textures/Loaders/ktxTextureLoader\";\r\nimport \"core/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent\";\r\n\r\n// Override default material factory to avoid the dependency on standard material\r\nimport { Scene } from \"core/scene\";\r\nScene.DefaultMaterialFactory = () => {\r\n return null as any;\r\n};\r\n\r\nexport { RenderOnlyViewer };\r\n"]}
@@ -1,35 +0,0 @@
1
- import type { EventCallback, TemplateManager } from "./templateManager";
2
- /**
3
- * The EventManager is in charge of registering user interctions with the viewer.
4
- * It is used in the TemplateManager
5
- */
6
- export declare class EventManager {
7
- private _templateManager;
8
- private _callbacksContainer;
9
- constructor(_templateManager: TemplateManager);
10
- /**
11
- * Register a new callback to a specific template.
12
- * The best example for the usage can be found in the DefaultViewer
13
- *
14
- * @param templateName the templateName to register the event to
15
- * @param callback The callback to be executed
16
- * @param eventType the type of event to register
17
- * @param selector an optional selector. if not defined the parent object in the template will be selected
18
- */
19
- registerCallback(templateName: string, callback: (eventData: EventCallback) => void, eventType?: string, selector?: string): void;
20
- /**
21
- * This will remove a registered event from the defined template.
22
- * Each one of the variables apart from the template name are optional, but one must be provided.
23
- *
24
- * @param templateName the templateName
25
- * @param callback the callback to remove (optional)
26
- * @param eventType the event type to remove (optional)
27
- * @param selector the selector from which to remove the event (optional)
28
- */
29
- unregisterCallback(templateName: string, callback: (eventData: EventCallback) => void, eventType?: string, selector?: string): void;
30
- private _eventTriggered;
31
- /**
32
- * Dispose the event manager
33
- */
34
- dispose(): void;
35
- }
@@ -1,66 +0,0 @@
1
- /**
2
- * The EventManager is in charge of registering user interctions with the viewer.
3
- * It is used in the TemplateManager
4
- */
5
- var EventManager = /** @class */ (function () {
6
- function EventManager(_templateManager) {
7
- var _this = this;
8
- this._templateManager = _templateManager;
9
- this._callbacksContainer = {};
10
- this._templateManager.onEventTriggered.add(function (eventData) {
11
- _this._eventTriggered(eventData);
12
- });
13
- }
14
- /**
15
- * Register a new callback to a specific template.
16
- * The best example for the usage can be found in the DefaultViewer
17
- *
18
- * @param templateName the templateName to register the event to
19
- * @param callback The callback to be executed
20
- * @param eventType the type of event to register
21
- * @param selector an optional selector. if not defined the parent object in the template will be selected
22
- */
23
- EventManager.prototype.registerCallback = function (templateName, callback, eventType, selector) {
24
- if (!this._callbacksContainer[templateName]) {
25
- this._callbacksContainer[templateName] = [];
26
- }
27
- this._callbacksContainer[templateName].push({
28
- eventType: eventType,
29
- callback: callback,
30
- selector: selector,
31
- });
32
- };
33
- /**
34
- * This will remove a registered event from the defined template.
35
- * Each one of the variables apart from the template name are optional, but one must be provided.
36
- *
37
- * @param templateName the templateName
38
- * @param callback the callback to remove (optional)
39
- * @param eventType the event type to remove (optional)
40
- * @param selector the selector from which to remove the event (optional)
41
- */
42
- EventManager.prototype.unregisterCallback = function (templateName, callback, eventType, selector) {
43
- var callbackDefs = this._callbacksContainer[templateName] || [];
44
- this._callbacksContainer[templateName] = callbackDefs.filter(function (callbackDef) { return (!callbackDef.eventType || callbackDef.eventType === eventType) && (!callbackDef.selector || callbackDef.selector === selector); });
45
- };
46
- EventManager.prototype._eventTriggered = function (data) {
47
- var templateName = data.template.name;
48
- var eventType = data.event.type;
49
- var selector = data.selector;
50
- var callbackDefs = this._callbacksContainer[templateName] || [];
51
- callbackDefs
52
- .filter(function (callbackDef) { return (!callbackDef.eventType || callbackDef.eventType === eventType) && (!callbackDef.selector || callbackDef.selector === selector); })
53
- .forEach(function (callbackDef) {
54
- callbackDef.callback(data);
55
- });
56
- };
57
- /**
58
- * Dispose the event manager
59
- */
60
- EventManager.prototype.dispose = function () {
61
- this._callbacksContainer = {};
62
- };
63
- return EventManager;
64
- }());
65
- export { EventManager };
66
- //# sourceMappingURL=eventManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eventManager.js","sourceRoot":"","sources":["../../../../tools/viewer/src/templating/eventManager.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH;IAGI,sBAAoB,gBAAiC;QAArD,iBAKC;QALmB,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjD,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAC,SAAS;YACjD,KAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;OAQG;IACI,uCAAgB,GAAvB,UAAwB,YAAoB,EAAE,QAA4C,EAAE,SAAkB,EAAE,QAAiB;QAC7H,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;YACxC,SAAS,WAAA;YACT,QAAQ,UAAA;YACR,QAAQ,UAAA;SACX,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;OAQG;IACI,yCAAkB,GAAzB,UAA0B,YAAoB,EAAE,QAA4C,EAAE,SAAkB,EAAE,QAAiB;QAC/H,IAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,MAAM,CACxD,UAAC,WAAW,IAAK,OAAA,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAA/H,CAA+H,CACnJ,CAAC;IACN,CAAC;IAEO,sCAAe,GAAvB,UAAwB,IAAmB;QACvC,IAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxC,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAClC,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,IAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAClE,YAAY;aACP,MAAM,CAAC,UAAC,WAAW,IAAK,OAAA,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAA/H,CAA+H,CAAC;aACxJ,OAAO,CAAC,UAAC,WAAW;YACjB,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACI,8BAAO,GAAd;QACI,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;IAClC,CAAC;IACL,mBAAC;AAAD,CAAC,AAjED,IAiEC","sourcesContent":["import type { EventCallback, TemplateManager } from \"./templateManager\";\r\n\r\n/**\r\n * The EventManager is in charge of registering user interctions with the viewer.\r\n * It is used in the TemplateManager\r\n */\r\nexport class EventManager {\r\n private _callbacksContainer: { [key: string]: Array<{ eventType?: string; selector?: string; callback: (eventData: EventCallback) => void }> };\r\n\r\n constructor(private _templateManager: TemplateManager) {\r\n this._callbacksContainer = {};\r\n this._templateManager.onEventTriggered.add((eventData) => {\r\n this._eventTriggered(eventData);\r\n });\r\n }\r\n\r\n /**\r\n * Register a new callback to a specific template.\r\n * The best example for the usage can be found in the DefaultViewer\r\n *\r\n * @param templateName the templateName to register the event to\r\n * @param callback The callback to be executed\r\n * @param eventType the type of event to register\r\n * @param selector an optional selector. if not defined the parent object in the template will be selected\r\n */\r\n public registerCallback(templateName: string, callback: (eventData: EventCallback) => void, eventType?: string, selector?: string) {\r\n if (!this._callbacksContainer[templateName]) {\r\n this._callbacksContainer[templateName] = [];\r\n }\r\n this._callbacksContainer[templateName].push({\r\n eventType,\r\n callback,\r\n selector,\r\n });\r\n }\r\n\r\n /**\r\n * This will remove a registered event from the defined template.\r\n * Each one of the variables apart from the template name are optional, but one must be provided.\r\n *\r\n * @param templateName the templateName\r\n * @param callback the callback to remove (optional)\r\n * @param eventType the event type to remove (optional)\r\n * @param selector the selector from which to remove the event (optional)\r\n */\r\n public unregisterCallback(templateName: string, callback: (eventData: EventCallback) => void, eventType?: string, selector?: string) {\r\n const callbackDefs = this._callbacksContainer[templateName] || [];\r\n this._callbacksContainer[templateName] = callbackDefs.filter(\r\n (callbackDef) => (!callbackDef.eventType || callbackDef.eventType === eventType) && (!callbackDef.selector || callbackDef.selector === selector)\r\n );\r\n }\r\n\r\n private _eventTriggered(data: EventCallback) {\r\n const templateName = data.template.name;\r\n const eventType = data.event.type;\r\n const selector = data.selector;\r\n\r\n const callbackDefs = this._callbacksContainer[templateName] || [];\r\n callbackDefs\r\n .filter((callbackDef) => (!callbackDef.eventType || callbackDef.eventType === eventType) && (!callbackDef.selector || callbackDef.selector === selector))\r\n .forEach((callbackDef) => {\r\n callbackDef.callback(data);\r\n });\r\n }\r\n\r\n /**\r\n * Dispose the event manager\r\n */\r\n public dispose() {\r\n this._callbacksContainer = {};\r\n }\r\n}\r\n"]}
@@ -1,9 +0,0 @@
1
- import { AbstractViewerNavbarButton } from "../viewerTemplatePlugin";
2
- import type { DefaultViewer } from "../../viewer/defaultViewer";
3
- import type { EventCallback } from "../templateManager";
4
- export declare class HDButtonPlugin extends AbstractViewerNavbarButton {
5
- private _viewer;
6
- constructor(_viewer: DefaultViewer);
7
- onEvent(event: EventCallback): void;
8
- protected static HtmlTemplate: string;
9
- }
@@ -1,22 +0,0 @@
1
- import { __extends } from "@babylonjs/core/tslib.es6.js";
2
- import { AbstractViewerNavbarButton } from "../viewerTemplatePlugin.js";
3
- var HDButtonPlugin = /** @class */ (function (_super) {
4
- __extends(HDButtonPlugin, _super);
5
- function HDButtonPlugin(_viewer) {
6
- var _this = _super.call(this, "hd", "hd-button", HDButtonPlugin.HtmlTemplate) || this;
7
- _this._viewer = _viewer;
8
- return _this;
9
- }
10
- HDButtonPlugin.prototype.onEvent = function (event) {
11
- var button = event.template.parent.querySelector(".hd-button");
12
- if (button) {
13
- button.classList.contains("hd-toggled") ? button.classList.remove("hd-toggled") : button.classList.add("hd-toggled");
14
- }
15
- this._viewer.toggleHD();
16
- };
17
- // eslint-disable-next-line @typescript-eslint/naming-convention
18
- HDButtonPlugin.HtmlTemplate = "\n{{#unless hideHd}}\n<style>\n.hd-icon:after {\n font-size: 16px;\n content: \"\\F765\";\n}\n\n.hd-toggled span.hd-icon:after {\n content: \"\\F766\";\n}\n</style>\n<button class=\"hd-button\" title=\"{{text.hdButton}}\">\n <span class=\"icon hd-icon\"></span>\n </button>\n {{/unless}}\n";
19
- return HDButtonPlugin;
20
- }(AbstractViewerNavbarButton));
21
- export { HDButtonPlugin };
22
- //# sourceMappingURL=hdButtonPlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hdButtonPlugin.js","sourceRoot":"","sources":["../../../../../tools/viewer/src/templating/plugins/hdButtonPlugin.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAIrE;IAAoC,kCAA0B;IAC1D,wBAAoB,OAAsB;QACtC,YAAA,MAAK,YAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,YAAY,CAAC,SAAC;QADtC,aAAO,GAAP,OAAO,CAAe;;IAE1C,CAAC;IAED,gCAAO,GAAP,UAAQ,KAAoB;QACxB,IAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACzH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,gEAAgE;IAC/C,2BAAY,GAAW,gTAgB3C,CAAC;IACF,qBAAC;CAAA,AA/BD,CAAoC,0BAA0B,GA+B7D;SA/BY,cAAc","sourcesContent":["import { AbstractViewerNavbarButton } from \"../viewerTemplatePlugin\";\r\nimport type { DefaultViewer } from \"../../viewer/defaultViewer\";\r\nimport type { EventCallback } from \"../templateManager\";\r\n\r\nexport class HDButtonPlugin extends AbstractViewerNavbarButton {\r\n constructor(private _viewer: DefaultViewer) {\r\n super(\"hd\", \"hd-button\", HDButtonPlugin.HtmlTemplate);\r\n }\r\n\r\n onEvent(event: EventCallback): void {\r\n const button = event.template.parent.querySelector(\".hd-button\");\r\n if (button) {\r\n button.classList.contains(\"hd-toggled\") ? button.classList.remove(\"hd-toggled\") : button.classList.add(\"hd-toggled\");\r\n }\r\n this._viewer.toggleHD();\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n protected static HtmlTemplate: string = `\r\n{{#unless hideHd}}\r\n<style>\r\n.hd-icon:after {\r\n font-size: 16px;\r\n content: \"\\\\F765\";\r\n}\r\n\r\n.hd-toggled span.hd-icon:after {\r\n content: \"\\\\F766\";\r\n}\r\n</style>\r\n<button class=\"hd-button\" title=\"{{text.hdButton}}\">\r\n <span class=\"icon hd-icon\"></span>\r\n </button>\r\n {{/unless}}\r\n`;\r\n}\r\n"]}
@@ -1,9 +0,0 @@
1
- import { AbstractViewerNavbarButton } from "../viewerTemplatePlugin";
2
- import type { DefaultViewer } from "../../viewer/defaultViewer";
3
- export declare class PrintButtonPlugin extends AbstractViewerNavbarButton {
4
- private _viewer;
5
- private _currentModelUrl;
6
- constructor(_viewer: DefaultViewer);
7
- onEvent(): void;
8
- protected static HtmlTemplate: string;
9
- }
@@ -1,41 +0,0 @@
1
- import { __extends } from "@babylonjs/core/tslib.es6.js";
2
- import { AbstractViewerNavbarButton } from "../viewerTemplatePlugin.js";
3
- import { Tools } from "@babylonjs/core/Misc/tools.js";
4
- var PrintButtonPlugin = /** @class */ (function (_super) {
5
- __extends(PrintButtonPlugin, _super);
6
- function PrintButtonPlugin(_viewer) {
7
- var _this = _super.call(this, "print", "print-button", PrintButtonPlugin.HtmlTemplate) || this;
8
- _this._viewer = _viewer;
9
- _this._viewer.onModelLoadedObservable.add(function (model) {
10
- _this._currentModelUrl = "";
11
- if (model.configuration.url) {
12
- var filename = Tools.GetFilename(model.configuration.url) || model.configuration.url;
13
- var baseUrl = model.configuration.root || Tools.GetFolderPath(model.configuration.url);
14
- //gltf, obj, stl
15
- var extension_1 = model.configuration.loader || filename.split(".").pop() || "";
16
- var printable_1 = false;
17
- // not using .some sue to IE11
18
- ["gltf", "glb", "obj", "stl"].forEach(function (ext) {
19
- if (extension_1.indexOf(ext) !== -1) {
20
- printable_1 = true;
21
- }
22
- });
23
- if (printable_1) {
24
- _this._currentModelUrl = baseUrl + filename;
25
- }
26
- }
27
- });
28
- return _this;
29
- }
30
- PrintButtonPlugin.prototype.onEvent = function () {
31
- if (this._currentModelUrl) {
32
- var printUrl = this._currentModelUrl.replace(/https?:\/\//, "com.microsoft.builder3d://");
33
- window.open(printUrl, "_self");
34
- }
35
- };
36
- // eslint-disable-next-line @typescript-eslint/naming-convention
37
- PrintButtonPlugin.HtmlTemplate = "\n{{#unless hidePrint}}\n<style>\n\n/* Show only if it's a windows 10 printer */\n.print-icon.not-win-10 {\n display: none;\n}\n\n.print-icon:after {\n font-size: 16px;\n content: \"\\E914\";\n}\n\n</style>\n<button class=\"print-button ".concat(window.navigator.userAgent.indexOf("Windows NT 10.0") === -1 ? "no-win-10" : "", "\" title=\"{{text.printButton}}\">\n <span class=\"icon print-icon\"></span>\n </button>\n {{/unless}}\n");
38
- return PrintButtonPlugin;
39
- }(AbstractViewerNavbarButton));
40
- export { PrintButtonPlugin };
41
- //# sourceMappingURL=printButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"printButton.js","sourceRoot":"","sources":["../../../../../tools/viewer/src/templating/plugins/printButton.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,sCAAwB;AAExC;IAAuC,qCAA0B;IAG7D,2BAAoB,OAAsB;QACtC,YAAA,MAAK,YAAC,OAAO,EAAE,cAAc,EAAE,iBAAiB,CAAC,YAAY,CAAC,SAAC;QAD/C,aAAO,GAAP,OAAO,CAAe;QAGtC,KAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,UAAC,KAAK;YAC3C,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;gBAC1B,IAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;gBACvF,IAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAEzF,gBAAgB;gBAChB,IAAM,WAAS,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAChF,IAAI,WAAS,GAAG,KAAK,CAAC;gBACtB,8BAA8B;gBAC9B,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;oBACtC,IAAI,WAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBAChC,WAAS,GAAG,IAAI,CAAC;oBACrB,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,IAAI,WAAS,EAAE,CAAC;oBACZ,KAAI,CAAC,gBAAgB,GAAG,OAAO,GAAG,QAAQ,CAAC;gBAC/C,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;;IACP,CAAC;IAED,mCAAO,GAAP;QACI,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC;YAC5F,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IAED,gEAAgE;IAC/C,8BAAY,GAAW,iQAed,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,iHAI5G,CAAC;IACF,wBAAC;CAAA,AAxDD,CAAuC,0BAA0B,GAwDhE;SAxDY,iBAAiB","sourcesContent":["import { AbstractViewerNavbarButton } from \"../viewerTemplatePlugin\";\r\nimport type { DefaultViewer } from \"../../viewer/defaultViewer\";\r\nimport { Tools } from \"core/Misc/tools\";\r\n\r\nexport class PrintButtonPlugin extends AbstractViewerNavbarButton {\r\n private _currentModelUrl: string;\r\n\r\n constructor(private _viewer: DefaultViewer) {\r\n super(\"print\", \"print-button\", PrintButtonPlugin.HtmlTemplate);\r\n\r\n this._viewer.onModelLoadedObservable.add((model) => {\r\n this._currentModelUrl = \"\";\r\n if (model.configuration.url) {\r\n const filename = Tools.GetFilename(model.configuration.url) || model.configuration.url;\r\n const baseUrl = model.configuration.root || Tools.GetFolderPath(model.configuration.url);\r\n\r\n //gltf, obj, stl\r\n const extension = model.configuration.loader || filename.split(\".\").pop() || \"\";\r\n let printable = false;\r\n // not using .some sue to IE11\r\n [\"gltf\", \"glb\", \"obj\", \"stl\"].forEach((ext) => {\r\n if (extension.indexOf(ext) !== -1) {\r\n printable = true;\r\n }\r\n });\r\n if (printable) {\r\n this._currentModelUrl = baseUrl + filename;\r\n }\r\n }\r\n });\r\n }\r\n\r\n onEvent(): void {\r\n if (this._currentModelUrl) {\r\n const printUrl = this._currentModelUrl.replace(/https?:\\/\\//, \"com.microsoft.builder3d://\");\r\n window.open(printUrl, \"_self\");\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n protected static HtmlTemplate: string = `\r\n{{#unless hidePrint}}\r\n<style>\r\n\r\n/* Show only if it's a windows 10 printer */\r\n.print-icon.not-win-10 {\r\n display: none;\r\n}\r\n\r\n.print-icon:after {\r\n font-size: 16px;\r\n content: \"\\\\E914\";\r\n}\r\n\r\n</style>\r\n<button class=\"print-button ${window.navigator.userAgent.indexOf(\"Windows NT 10.0\") === -1 ? \"no-win-10\" : \"\"}\" title=\"{{text.printButton}}\">\r\n <span class=\"icon print-icon\"></span>\r\n </button>\r\n {{/unless}}\r\n`;\r\n}\r\n"]}