@splinetool/runtime 2.0.156 → 2.0.157

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 (333) hide show
  1. package/build/{runtime-bloom-VABS3AEY.js → runtime-bloom-6YLNCUES.js} +1 -1
  2. package/build/runtime-bloom-6YLNCUES.js.br +0 -0
  3. package/build/runtime-bloom-6YLNCUES.js.gz +0 -0
  4. package/build/{runtime-brightnessContrast-H5VNF2SQ.js → runtime-brightnessContrast-4PNXBUQJ.js} +1 -1
  5. package/build/runtime-brightnessContrast-4PNXBUQJ.js.br +0 -0
  6. package/build/runtime-brightnessContrast-4PNXBUQJ.js.gz +0 -0
  7. package/build/{runtime-chromaticAberration-TD6RODBT.js → runtime-chromaticAberration-IBKMVUDY.js} +1 -1
  8. package/build/runtime-chromaticAberration-IBKMVUDY.js.br +0 -0
  9. package/build/runtime-chromaticAberration-IBKMVUDY.js.gz +0 -0
  10. package/build/{runtime-chunk-VGLGYM3K.js → runtime-chunk-27YYGOTQ.js} +1 -1
  11. package/build/{runtime-chunk-VGLGYM3K.js.br → runtime-chunk-27YYGOTQ.js.br} +0 -0
  12. package/build/runtime-chunk-27YYGOTQ.js.gz +0 -0
  13. package/build/{runtime-chunk-ISVHBZCM.js → runtime-chunk-2UUVDZT3.js} +1 -1
  14. package/build/{runtime-chunk-ISVHBZCM.js.br → runtime-chunk-2UUVDZT3.js.br} +0 -0
  15. package/build/runtime-chunk-2UUVDZT3.js.gz +0 -0
  16. package/build/{runtime-chunk-I75NOKWN.js → runtime-chunk-66BHQYSW.js} +1 -1
  17. package/build/runtime-chunk-66BHQYSW.js.br +0 -0
  18. package/build/runtime-chunk-66BHQYSW.js.gz +0 -0
  19. package/build/runtime-chunk-AMR2KJZS.js +1 -0
  20. package/build/runtime-chunk-AMR2KJZS.js.br +0 -0
  21. package/build/runtime-chunk-AMR2KJZS.js.gz +0 -0
  22. package/build/{runtime-chunk-ZBFMKDJO.js → runtime-chunk-BHDVAGTR.js} +1 -1
  23. package/build/runtime-chunk-BHDVAGTR.js.br +0 -0
  24. package/build/runtime-chunk-BHDVAGTR.js.gz +0 -0
  25. package/build/{runtime-chunk-TIN4REMH.js → runtime-chunk-BML7E4SP.js} +1 -1
  26. package/build/runtime-chunk-BML7E4SP.js.br +0 -0
  27. package/build/runtime-chunk-BML7E4SP.js.gz +0 -0
  28. package/build/runtime-chunk-DA32QB4G.js +1 -0
  29. package/build/runtime-chunk-DA32QB4G.js.br +0 -0
  30. package/build/runtime-chunk-DA32QB4G.js.gz +0 -0
  31. package/build/{runtime-chunk-A4MHIZFN.js → runtime-chunk-G4QDYK27.js} +1 -1
  32. package/build/runtime-chunk-G4QDYK27.js.br +0 -0
  33. package/build/{runtime-chunk-A4MHIZFN.js.gz → runtime-chunk-G4QDYK27.js.gz} +0 -0
  34. package/build/{runtime-chunk-B4F6SIKZ.js → runtime-chunk-HUCMOVQN.js} +1 -1
  35. package/build/runtime-chunk-HUCMOVQN.js.br +0 -0
  36. package/build/runtime-chunk-HUCMOVQN.js.gz +0 -0
  37. package/build/{runtime-chunk-S74HKHFX.js → runtime-chunk-I6DGPQ7Z.js} +1 -1
  38. package/build/runtime-chunk-I6DGPQ7Z.js.br +0 -0
  39. package/build/runtime-chunk-I6DGPQ7Z.js.gz +0 -0
  40. package/build/{runtime-chunk-KXQJBYCQ.js → runtime-chunk-IUL3NAPE.js} +1 -1
  41. package/build/runtime-chunk-IUL3NAPE.js.br +0 -0
  42. package/build/runtime-chunk-IUL3NAPE.js.gz +0 -0
  43. package/build/{runtime-chunk-JMSFXP2O.js → runtime-chunk-LILM2PFD.js} +1 -1
  44. package/build/runtime-chunk-LILM2PFD.js.br +1 -0
  45. package/build/runtime-chunk-LILM2PFD.js.gz +0 -0
  46. package/build/{runtime-chunk-II7VN3VG.js → runtime-chunk-LWGKSGQQ.js} +1 -1
  47. package/build/runtime-chunk-LWGKSGQQ.js.br +0 -0
  48. package/build/runtime-chunk-LWGKSGQQ.js.gz +0 -0
  49. package/build/{runtime-chunk-5JO2HDKR.js → runtime-chunk-MRND77U5.js} +1 -1
  50. package/build/runtime-chunk-MRND77U5.js.br +2 -0
  51. package/build/runtime-chunk-MRND77U5.js.gz +0 -0
  52. package/build/{runtime-chunk-H3GBDFOK.js → runtime-chunk-MVBN7KIJ.js} +1 -1
  53. package/build/runtime-chunk-MVBN7KIJ.js.br +0 -0
  54. package/build/runtime-chunk-MVBN7KIJ.js.gz +0 -0
  55. package/build/{runtime-chunk-X3TVVFMG.js → runtime-chunk-NW3YAOZO.js} +1 -1
  56. package/build/runtime-chunk-NW3YAOZO.js.br +0 -0
  57. package/build/runtime-chunk-NW3YAOZO.js.gz +0 -0
  58. package/build/{runtime-chunk-UA5JL7GT.js → runtime-chunk-QNSWZVTN.js} +1 -1
  59. package/build/runtime-chunk-QNSWZVTN.js.br +0 -0
  60. package/build/runtime-chunk-QNSWZVTN.js.gz +0 -0
  61. package/build/runtime-chunk-UA4DS553.js +1 -0
  62. package/build/runtime-chunk-UA4DS553.js.br +0 -0
  63. package/build/runtime-chunk-UA4DS553.js.gz +0 -0
  64. package/build/{runtime-chunk-KS22AKWC.js → runtime-chunk-UDSSSUA2.js} +1 -1
  65. package/build/runtime-chunk-UDSSSUA2.js.br +0 -0
  66. package/build/runtime-chunk-UDSSSUA2.js.gz +0 -0
  67. package/build/{runtime-chunk-NPSYVTLT.js → runtime-chunk-UQZKAZMI.js} +1 -1
  68. package/build/runtime-chunk-UQZKAZMI.js.br +0 -0
  69. package/build/runtime-chunk-UQZKAZMI.js.gz +0 -0
  70. package/build/{runtime-chunk-O25C4U7B.js → runtime-chunk-UUYO7Y6P.js} +1 -1
  71. package/build/runtime-chunk-UUYO7Y6P.js.br +0 -0
  72. package/build/runtime-chunk-UUYO7Y6P.js.gz +0 -0
  73. package/build/{runtime-chunk-XBF4OX2B.js → runtime-chunk-WJSDWSZG.js} +1 -1
  74. package/build/runtime-chunk-WJSDWSZG.js.br +0 -0
  75. package/build/runtime-chunk-WJSDWSZG.js.gz +0 -0
  76. package/build/{runtime-chunk-UH7BHT3L.js → runtime-chunk-XGOYDKUQ.js} +1 -1
  77. package/build/runtime-chunk-XGOYDKUQ.js.br +0 -0
  78. package/build/runtime-chunk-XGOYDKUQ.js.gz +0 -0
  79. package/build/runtime-chunk-YEHLK4BX.js +1 -0
  80. package/build/runtime-chunk-YEHLK4BX.js.br +0 -0
  81. package/build/runtime-chunk-YEHLK4BX.js.gz +0 -0
  82. package/build/{runtime-chunk-QW5ROIFP.js → runtime-chunk-YI3NH3UJ.js} +1 -1
  83. package/build/runtime-chunk-YI3NH3UJ.js.br +0 -0
  84. package/build/runtime-chunk-YI3NH3UJ.js.gz +0 -0
  85. package/build/{runtime-chunk-HUGCXGJ2.js → runtime-chunk-YRDQUX6R.js} +1 -1
  86. package/build/runtime-chunk-YRDQUX6R.js.br +0 -0
  87. package/build/runtime-chunk-YRDQUX6R.js.gz +0 -0
  88. package/build/{runtime-chunk-VXOU34O3.js → runtime-chunk-ZCXORNA5.js} +1 -1
  89. package/build/runtime-chunk-ZCXORNA5.js.br +0 -0
  90. package/build/runtime-chunk-ZCXORNA5.js.gz +0 -0
  91. package/build/{runtime-chunk-GLA55P73.js → runtime-chunk-ZFHWPL5Y.js} +1 -1
  92. package/build/runtime-chunk-ZFHWPL5Y.js.br +0 -0
  93. package/build/runtime-chunk-ZFHWPL5Y.js.gz +0 -0
  94. package/build/{runtime-classicRuntime-SUU6G6Z5.js → runtime-classicRuntime-7MPTKELR.js} +1 -1
  95. package/build/runtime-classicRuntime-7MPTKELR.js.br +0 -0
  96. package/build/runtime-classicRuntime-7MPTKELR.js.gz +0 -0
  97. package/build/{runtime-cloners-EIURO2FI.js → runtime-cloners-JO7SDH3C.js} +1 -1
  98. package/build/runtime-cloners-JO7SDH3C.js.br +0 -0
  99. package/build/runtime-cloners-JO7SDH3C.js.gz +0 -0
  100. package/build/{runtime-components-SFBWJ2XM.js → runtime-components-JO7V4FS5.js} +1 -1
  101. package/build/runtime-components-JO7V4FS5.js.br +0 -0
  102. package/build/runtime-components-JO7V4FS5.js.gz +0 -0
  103. package/build/{runtime-createDestroy-JBK3P7GU.js → runtime-createDestroy-SUDVKOTE.js} +1 -1
  104. package/build/runtime-createDestroy-SUDVKOTE.js.br +0 -0
  105. package/build/runtime-createDestroy-SUDVKOTE.js.gz +0 -0
  106. package/build/{runtime-depthOfField-RSA5QII2.js → runtime-depthOfField-4ACWVO2U.js} +1 -1
  107. package/build/runtime-depthOfField-4ACWVO2U.js.br +0 -0
  108. package/build/runtime-depthOfField-4ACWVO2U.js.gz +0 -0
  109. package/build/{runtime-dragDrop-67A3SPST.js → runtime-dragDrop-YSYQQ2JS.js} +1 -1
  110. package/build/runtime-dragDrop-YSYQQ2JS.js.br +0 -0
  111. package/build/runtime-dragDrop-YSYQQ2JS.js.gz +0 -0
  112. package/build/{runtime-fxBloom-24IHYPM5.js → runtime-fxBloom-J7DP6U3W.js} +1 -1
  113. package/build/runtime-fxBloom-J7DP6U3W.js.br +0 -0
  114. package/build/runtime-fxBloom-J7DP6U3W.js.gz +0 -0
  115. package/build/{runtime-fxDepthOfField-GBPAWUQP.js → runtime-fxDepthOfField-CGEBUOHG.js} +1 -1
  116. package/build/runtime-fxDepthOfField-CGEBUOHG.js.br +0 -0
  117. package/build/runtime-fxDepthOfField-CGEBUOHG.js.gz +0 -0
  118. package/build/{runtime-gameControls-PUFF7FKE.js → runtime-gameControls-MPBE3GZY.js} +1 -1
  119. package/build/runtime-gameControls-MPBE3GZY.js.br +0 -0
  120. package/build/runtime-gameControls-MPBE3GZY.js.gz +0 -0
  121. package/build/{runtime-hair-VHBD5FCB.js → runtime-hair-Y3JQGKCP.js} +1 -1
  122. package/build/runtime-hair-Y3JQGKCP.js.br +2 -0
  123. package/build/runtime-hair-Y3JQGKCP.js.gz +0 -0
  124. package/build/{runtime-hueSaturation-T73WGMAB.js → runtime-hueSaturation-I3Q7TQV7.js} +1 -1
  125. package/build/runtime-hueSaturation-I3Q7TQV7.js.br +0 -0
  126. package/build/runtime-hueSaturation-I3Q7TQV7.js.gz +0 -0
  127. package/build/{runtime-mergeStaticGeometries-NXGVDRYW.js → runtime-mergeStaticGeometries-JFL2WRNV.js} +1 -1
  128. package/build/runtime-mergeStaticGeometries-JFL2WRNV.js.br +0 -0
  129. package/build/runtime-mergeStaticGeometries-JFL2WRNV.js.gz +0 -0
  130. package/build/{runtime-miscActions-BZGHADGX.js → runtime-miscActions-QVDCFMA4.js} +1 -1
  131. package/build/runtime-miscActions-QVDCFMA4.js.br +0 -0
  132. package/build/runtime-miscActions-QVDCFMA4.js.gz +0 -0
  133. package/build/{runtime-mouseHover-PDKLNURY.js → runtime-mouseHover-7PR74KHJ.js} +1 -1
  134. package/build/runtime-mouseHover-7PR74KHJ.js.br +0 -0
  135. package/build/runtime-mouseHover-7PR74KHJ.js.gz +0 -0
  136. package/build/{runtime-noise-BZCQFH27.js → runtime-noise-HI66L2LM.js} +1 -1
  137. package/build/runtime-noise-HI66L2LM.js.br +0 -0
  138. package/build/runtime-noise-HI66L2LM.js.gz +0 -0
  139. package/build/{runtime-particles-2BNATZ7J.js → runtime-particles-TRN3VJYW.js} +1 -1
  140. package/build/runtime-particles-TRN3VJYW.js.br +0 -0
  141. package/build/runtime-particles-TRN3VJYW.js.gz +0 -0
  142. package/build/{runtime-paths-PF2ORUUL.js → runtime-paths-AFFCMAVR.js} +1 -1
  143. package/build/runtime-paths-AFFCMAVR.js.br +0 -0
  144. package/build/runtime-paths-AFFCMAVR.js.gz +0 -0
  145. package/build/{runtime-pixelation-333IE5EH.js → runtime-pixelation-HNIMR4QJ.js} +1 -1
  146. package/build/runtime-pixelation-HNIMR4QJ.js.br +0 -0
  147. package/build/runtime-pixelation-HNIMR4QJ.js.gz +0 -0
  148. package/build/{runtime-resize-F77IPG63.js → runtime-resize-FODJQ5AK.js} +1 -1
  149. package/build/runtime-resize-FODJQ5AK.js.br +0 -0
  150. package/build/runtime-resize-FODJQ5AK.js.gz +0 -0
  151. package/build/{runtime-sceneTransition-AMI3LFMG.js → runtime-sceneTransition-FD4WJNEA.js} +1 -1
  152. package/build/runtime-sceneTransition-FD4WJNEA.js.br +0 -0
  153. package/build/runtime-sceneTransition-FD4WJNEA.js.gz +0 -0
  154. package/build/{runtime-scroll-4YHQSJTL.js → runtime-scroll-CQKDKVYO.js} +1 -1
  155. package/build/runtime-scroll-CQKDKVYO.js.br +0 -0
  156. package/build/runtime-scroll-CQKDKVYO.js.gz +0 -0
  157. package/build/runtime-shapeBlends-DQGQ5IAR.js +1 -0
  158. package/build/runtime-shapeBlends-DQGQ5IAR.js.br +0 -0
  159. package/build/runtime-shapeBlends-DQGQ5IAR.js.gz +0 -0
  160. package/build/{runtime-text-5KUFESZM.js → runtime-text-IV76RFBC.js} +1 -1
  161. package/build/runtime-text-IV76RFBC.js.br +0 -0
  162. package/build/runtime-text-IV76RFBC.js.gz +0 -0
  163. package/build/{runtime-textInputs-SYUJQUOR.js → runtime-textInputs-43EIDSNF.js} +1 -1
  164. package/build/runtime-textInputs-43EIDSNF.js.br +0 -0
  165. package/build/runtime-textInputs-43EIDSNF.js.gz +0 -0
  166. package/build/{runtime-timeline-EHQMDHLO.js → runtime-timeline-GXBZ7CXH.js} +1 -1
  167. package/build/runtime-timeline-GXBZ7CXH.js.br +0 -0
  168. package/build/runtime-timeline-GXBZ7CXH.js.gz +0 -0
  169. package/build/{runtime-tracking-PB3KKSE6.js → runtime-tracking-EJUBOWHE.js} +1 -1
  170. package/build/runtime-tracking-EJUBOWHE.js.br +0 -0
  171. package/build/runtime-tracking-EJUBOWHE.js.gz +0 -0
  172. package/build/{runtime-transitions-XG4EMC6N.js → runtime-transitions-A2ESDH4X.js} +1 -1
  173. package/build/runtime-transitions-A2ESDH4X.js.br +0 -0
  174. package/build/runtime-transitions-A2ESDH4X.js.gz +0 -0
  175. package/build/{runtime-ui2d-BIQXTOOP.js → runtime-ui2d-AWILQPFL.js} +1 -1
  176. package/build/runtime-ui2d-AWILQPFL.js.br +0 -0
  177. package/build/runtime-ui2d-AWILQPFL.js.gz +0 -0
  178. package/build/{runtime-vectorShapes-32QLFIR3.js → runtime-vectorShapes-ZH64OKVY.js} +1 -1
  179. package/build/runtime-vectorShapes-ZH64OKVY.js.br +0 -0
  180. package/build/runtime-vectorShapes-ZH64OKVY.js.gz +0 -0
  181. package/build/{runtime-vignette-QQ7KOZIF.js → runtime-vignette-7GFYEXK7.js} +1 -1
  182. package/build/runtime-vignette-7GFYEXK7.js.br +0 -0
  183. package/build/runtime-vignette-7GFYEXK7.js.gz +0 -0
  184. package/build/runtime-webgpu-FJ2PSRL7.js +1 -0
  185. package/build/runtime-webgpu-FJ2PSRL7.js.br +0 -0
  186. package/build/runtime-webgpu-FJ2PSRL7.js.gz +0 -0
  187. package/build/runtime.cjs +144 -144
  188. package/build/runtime.js +1 -1
  189. package/build/runtime.js.br +0 -0
  190. package/build/runtime.js.gz +0 -0
  191. package/build/runtime.standalone.js +1 -1
  192. package/build/runtime.standalone.js.br +0 -0
  193. package/build/runtime.standalone.js.gz +0 -0
  194. package/build/runtime.standalone.webgl.js +1 -1
  195. package/build/runtime.standalone.webgl.js.br +0 -0
  196. package/build/runtime.standalone.webgl.js.gz +0 -0
  197. package/build/runtime.standalone.webgpu.js +1 -1
  198. package/build/runtime.standalone.webgpu.js.br +0 -0
  199. package/build/runtime.standalone.webgpu.js.gz +0 -0
  200. package/build/runtime.standalone.webgpu.micro.js +1 -1
  201. package/build/runtime.standalone.webgpu.micro.js.br +0 -0
  202. package/build/runtime.standalone.webgpu.micro.js.gz +0 -0
  203. package/build/runtime.standalone.webgpu.min.js +1 -1
  204. package/build/runtime.standalone.webgpu.min.js.br +0 -0
  205. package/build/runtime.standalone.webgpu.min.js.gz +0 -0
  206. package/package.json +1 -1
  207. package/build/runtime-bloom-VABS3AEY.js.br +0 -0
  208. package/build/runtime-bloom-VABS3AEY.js.gz +0 -0
  209. package/build/runtime-brightnessContrast-H5VNF2SQ.js.br +0 -0
  210. package/build/runtime-brightnessContrast-H5VNF2SQ.js.gz +0 -0
  211. package/build/runtime-chromaticAberration-TD6RODBT.js.br +0 -0
  212. package/build/runtime-chromaticAberration-TD6RODBT.js.gz +0 -0
  213. package/build/runtime-chunk-5JO2HDKR.js.br +0 -0
  214. package/build/runtime-chunk-5JO2HDKR.js.gz +0 -0
  215. package/build/runtime-chunk-A4MHIZFN.js.br +0 -0
  216. package/build/runtime-chunk-B4F6SIKZ.js.br +0 -0
  217. package/build/runtime-chunk-B4F6SIKZ.js.gz +0 -0
  218. package/build/runtime-chunk-GLA55P73.js.br +0 -0
  219. package/build/runtime-chunk-GLA55P73.js.gz +0 -0
  220. package/build/runtime-chunk-H3GBDFOK.js.br +0 -0
  221. package/build/runtime-chunk-H3GBDFOK.js.gz +0 -0
  222. package/build/runtime-chunk-HUGCXGJ2.js.br +0 -0
  223. package/build/runtime-chunk-HUGCXGJ2.js.gz +0 -0
  224. package/build/runtime-chunk-I75NOKWN.js.br +0 -0
  225. package/build/runtime-chunk-I75NOKWN.js.gz +0 -0
  226. package/build/runtime-chunk-II7VN3VG.js.br +0 -0
  227. package/build/runtime-chunk-II7VN3VG.js.gz +0 -0
  228. package/build/runtime-chunk-ISVHBZCM.js.gz +0 -0
  229. package/build/runtime-chunk-JEPFM4AL.js +0 -1
  230. package/build/runtime-chunk-JEPFM4AL.js.br +0 -0
  231. package/build/runtime-chunk-JEPFM4AL.js.gz +0 -0
  232. package/build/runtime-chunk-JMSFXP2O.js.br +0 -0
  233. package/build/runtime-chunk-JMSFXP2O.js.gz +0 -0
  234. package/build/runtime-chunk-KKKWVWZ7.js +0 -1
  235. package/build/runtime-chunk-KKKWVWZ7.js.br +0 -0
  236. package/build/runtime-chunk-KKKWVWZ7.js.gz +0 -0
  237. package/build/runtime-chunk-KS22AKWC.js.br +0 -0
  238. package/build/runtime-chunk-KS22AKWC.js.gz +0 -0
  239. package/build/runtime-chunk-KXQJBYCQ.js.br +0 -0
  240. package/build/runtime-chunk-KXQJBYCQ.js.gz +0 -0
  241. package/build/runtime-chunk-LQC2TZWJ.js +0 -1
  242. package/build/runtime-chunk-LQC2TZWJ.js.br +0 -0
  243. package/build/runtime-chunk-LQC2TZWJ.js.gz +0 -0
  244. package/build/runtime-chunk-NPSYVTLT.js.br +0 -0
  245. package/build/runtime-chunk-NPSYVTLT.js.gz +0 -0
  246. package/build/runtime-chunk-O25C4U7B.js.br +0 -0
  247. package/build/runtime-chunk-O25C4U7B.js.gz +0 -0
  248. package/build/runtime-chunk-QW5ROIFP.js.br +0 -0
  249. package/build/runtime-chunk-QW5ROIFP.js.gz +0 -0
  250. package/build/runtime-chunk-S74HKHFX.js.br +0 -0
  251. package/build/runtime-chunk-S74HKHFX.js.gz +0 -0
  252. package/build/runtime-chunk-TIN4REMH.js.br +0 -0
  253. package/build/runtime-chunk-TIN4REMH.js.gz +0 -0
  254. package/build/runtime-chunk-UA5JL7GT.js.br +0 -0
  255. package/build/runtime-chunk-UA5JL7GT.js.gz +0 -0
  256. package/build/runtime-chunk-UH7BHT3L.js.br +0 -0
  257. package/build/runtime-chunk-UH7BHT3L.js.gz +0 -0
  258. package/build/runtime-chunk-VGLGYM3K.js.gz +0 -0
  259. package/build/runtime-chunk-VPTEPOIE.js +0 -1
  260. package/build/runtime-chunk-VPTEPOIE.js.br +0 -0
  261. package/build/runtime-chunk-VPTEPOIE.js.gz +0 -0
  262. package/build/runtime-chunk-VXOU34O3.js.br +0 -0
  263. package/build/runtime-chunk-VXOU34O3.js.gz +0 -0
  264. package/build/runtime-chunk-X3TVVFMG.js.br +0 -0
  265. package/build/runtime-chunk-X3TVVFMG.js.gz +0 -0
  266. package/build/runtime-chunk-XBF4OX2B.js.br +0 -0
  267. package/build/runtime-chunk-XBF4OX2B.js.gz +0 -0
  268. package/build/runtime-chunk-ZBFMKDJO.js.br +0 -0
  269. package/build/runtime-chunk-ZBFMKDJO.js.gz +0 -0
  270. package/build/runtime-classicRuntime-SUU6G6Z5.js.br +0 -0
  271. package/build/runtime-classicRuntime-SUU6G6Z5.js.gz +0 -0
  272. package/build/runtime-cloners-EIURO2FI.js.br +0 -0
  273. package/build/runtime-cloners-EIURO2FI.js.gz +0 -0
  274. package/build/runtime-components-SFBWJ2XM.js.br +0 -0
  275. package/build/runtime-components-SFBWJ2XM.js.gz +0 -0
  276. package/build/runtime-createDestroy-JBK3P7GU.js.br +0 -0
  277. package/build/runtime-createDestroy-JBK3P7GU.js.gz +0 -0
  278. package/build/runtime-depthOfField-RSA5QII2.js.br +0 -0
  279. package/build/runtime-depthOfField-RSA5QII2.js.gz +0 -0
  280. package/build/runtime-dragDrop-67A3SPST.js.br +0 -0
  281. package/build/runtime-dragDrop-67A3SPST.js.gz +0 -0
  282. package/build/runtime-fxBloom-24IHYPM5.js.br +0 -0
  283. package/build/runtime-fxBloom-24IHYPM5.js.gz +0 -0
  284. package/build/runtime-fxDepthOfField-GBPAWUQP.js.br +0 -0
  285. package/build/runtime-fxDepthOfField-GBPAWUQP.js.gz +0 -0
  286. package/build/runtime-gameControls-PUFF7FKE.js.br +0 -0
  287. package/build/runtime-gameControls-PUFF7FKE.js.gz +0 -0
  288. package/build/runtime-hair-VHBD5FCB.js.br +1 -2
  289. package/build/runtime-hair-VHBD5FCB.js.gz +0 -0
  290. package/build/runtime-hueSaturation-T73WGMAB.js.br +0 -0
  291. package/build/runtime-hueSaturation-T73WGMAB.js.gz +0 -0
  292. package/build/runtime-mergeStaticGeometries-NXGVDRYW.js.br +0 -0
  293. package/build/runtime-mergeStaticGeometries-NXGVDRYW.js.gz +0 -0
  294. package/build/runtime-miscActions-BZGHADGX.js.br +0 -0
  295. package/build/runtime-miscActions-BZGHADGX.js.gz +0 -0
  296. package/build/runtime-mouseHover-PDKLNURY.js.br +0 -0
  297. package/build/runtime-mouseHover-PDKLNURY.js.gz +0 -0
  298. package/build/runtime-noise-BZCQFH27.js.br +0 -0
  299. package/build/runtime-noise-BZCQFH27.js.gz +0 -0
  300. package/build/runtime-particles-2BNATZ7J.js.br +0 -0
  301. package/build/runtime-particles-2BNATZ7J.js.gz +0 -0
  302. package/build/runtime-paths-PF2ORUUL.js.br +0 -0
  303. package/build/runtime-paths-PF2ORUUL.js.gz +0 -0
  304. package/build/runtime-pixelation-333IE5EH.js.br +0 -0
  305. package/build/runtime-pixelation-333IE5EH.js.gz +0 -0
  306. package/build/runtime-resize-F77IPG63.js.br +0 -0
  307. package/build/runtime-resize-F77IPG63.js.gz +0 -0
  308. package/build/runtime-sceneTransition-AMI3LFMG.js.br +0 -0
  309. package/build/runtime-sceneTransition-AMI3LFMG.js.gz +0 -0
  310. package/build/runtime-scroll-4YHQSJTL.js.br +0 -0
  311. package/build/runtime-scroll-4YHQSJTL.js.gz +0 -0
  312. package/build/runtime-shapeBlends-2JIU4YS5.js +0 -1
  313. package/build/runtime-shapeBlends-2JIU4YS5.js.br +0 -0
  314. package/build/runtime-shapeBlends-2JIU4YS5.js.gz +0 -0
  315. package/build/runtime-text-5KUFESZM.js.br +0 -0
  316. package/build/runtime-text-5KUFESZM.js.gz +0 -0
  317. package/build/runtime-textInputs-SYUJQUOR.js.br +0 -0
  318. package/build/runtime-textInputs-SYUJQUOR.js.gz +0 -0
  319. package/build/runtime-timeline-EHQMDHLO.js.br +0 -0
  320. package/build/runtime-timeline-EHQMDHLO.js.gz +0 -0
  321. package/build/runtime-tracking-PB3KKSE6.js.br +0 -0
  322. package/build/runtime-tracking-PB3KKSE6.js.gz +0 -0
  323. package/build/runtime-transitions-XG4EMC6N.js.br +0 -0
  324. package/build/runtime-transitions-XG4EMC6N.js.gz +0 -0
  325. package/build/runtime-ui2d-BIQXTOOP.js.br +0 -0
  326. package/build/runtime-ui2d-BIQXTOOP.js.gz +0 -0
  327. package/build/runtime-vectorShapes-32QLFIR3.js.br +0 -0
  328. package/build/runtime-vectorShapes-32QLFIR3.js.gz +0 -0
  329. package/build/runtime-vignette-QQ7KOZIF.js.br +0 -0
  330. package/build/runtime-vignette-QQ7KOZIF.js.gz +0 -0
  331. package/build/runtime-webgpu-LTLWUTX2.js +0 -1
  332. package/build/runtime-webgpu-LTLWUTX2.js.br +0 -0
  333. package/build/runtime-webgpu-LTLWUTX2.js.gz +0 -0
@@ -1 +1 @@
1
- import{a as r}from"./runtime-chunk-KS22AKWC.js";import"./runtime-chunk-NPSYVTLT.js";import"./runtime-chunk-TIN4REMH.js";import"./runtime-chunk-QW5ROIFP.js";import"./runtime-chunk-VPTEPOIE.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{c as m}from"./runtime-chunk-A4MHIZFN.js";import"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-MOPA2GCL.js";import{a as n}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-ADHKZQMB.js";import"./runtime-chunk-KPOUV3HD.js";import"./runtime-chunk-ML3Z74BL.js";m.Cloner=r,n("cloners");
1
+ import{a as r}from"./runtime-chunk-UDSSSUA2.js";import"./runtime-chunk-UQZKAZMI.js";import"./runtime-chunk-BML7E4SP.js";import"./runtime-chunk-YI3NH3UJ.js";import"./runtime-chunk-UA4DS553.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{c as m}from"./runtime-chunk-G4QDYK27.js";import"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-MOPA2GCL.js";import{a as n}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-ADHKZQMB.js";import"./runtime-chunk-KPOUV3HD.js";import"./runtime-chunk-ML3Z74BL.js";m.Cloner=r,n("cloners");
@@ -1 +1 @@
1
- import{a as t}from"./runtime-chunk-KXQJBYCQ.js";import{a as e}from"./runtime-chunk-ISVHBZCM.js";import{d as n}from"./runtime-chunk-HUGCXGJ2.js";import{oa as i}from"./runtime-chunk-VPTEPOIE.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{c as s,h as o}from"./runtime-chunk-A4MHIZFN.js";import{d as r,e as a}from"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-MOPA2GCL.js";import{a as p,d}from"./runtime-chunk-TZCHGFVF.js";import{Ca as l,Da as c,J as h,Ka as u,h as m,i as f,xa as y}from"./runtime-chunk-ADHKZQMB.js";import{Qc as v,Uc as g,qd as I}from"./runtime-chunk-KPOUV3HD.js";import"./runtime-chunk-ML3Z74BL.js";var j=class extends(n(g,e)){constructor(t,e,n){super(),this.isComponentObject=!0,"Instance"===e.type&&"string"==typeof t&&(e=this.transformAssignData(e,n)),this.super_Entity(t,e),this.objectHelper.update()}get isComponentRoot(){return"Component"===this.data.type&&"string"==typeof this.identity}get isInstanceRoot(){return"Instance"===this.data.type&&"string"==typeof this.identity}transformAssignData(t,e){let n=u.getComponentData({scene:e.scene.data,shared:e.shared.data},t.component);if(n){let e,i;for(let s of c.rootOverrideProps)void 0===t[s]?(void 0===e&&(e={...t}),e[s]=n.data[s]):(void 0===i&&(i={}),i[s]=t[s],void 0===e&&(e={...t}),e[s]=f.apply(n.data[s],t[s]));return this.overrideData=i,e}return{...y.defaultData,...t,...a(y.defaultData,c.rootOverrideProps)}}updateByOp(t,e,n,i){let s;if(this.isInstanceRoot&&!i)if(e=this.transformAssignData(e,n),0===t.type&&0===t.path.length&&this.component)for(let e of c.rootOverrideProps)e in t.props&&void 0===t.props[e]&&(void 0===s&&(s={...t,props:{...t.props}}),s.props[e]=this.component.data[e]);else if(0===t.type&&t.path.length>0&&c.rootOverrideProps.includes(t.path[0])){let n=t.path[0];void 0===s&&(s={...t,path:[],props:{[n]:e[n]}})}super.updateByOp(s??t,e,n,i)}updateState(t,e){this.updateState_Entity(t,e)}expandInstanceChildren(e){let n=this.data;if(void 0===this.component){let s=e.scene.find(n.component)??null,r=!1;if(s!==this.oldComponent){if(this.oldComponent){let n=0;for(let i of this.children){if(!o.is(i))break;e.scene.disposeAndUnregisterEntityRecursivelyIfNotReregistered(i),t(i),n+=1}this.children.splice(0,n)}r=!0}if(s){let t={};k(e,[this.uuid],n.overrides,this,s,s,0,r,t);for(let n of this.children)if(o.is(n)){let s=n.data;"Empty"===s.type&&s.animations&&n.traverseEntity(n=>{let s=n.dataPatched;if(n instanceof i&&s.bones&&s.boneInverses){let i=n.dataPatched;if(i.bones&&i.boneInverses){let s=i.bones.map(n=>e.scene.find(t[n])),o=i.boneInverses.map(t=>(new v).fromArray(t)),r=new I(s,o);n.bind(r,n.bindMatrix)}}else n.matrixAutoUpdate=!0})}this.traverseEntity(t=>{t.isVirtualEntity&&e.scene.syncInstancePathConstraint(t)})}this.oldComponent=this.component}}};function C(t,e,n,i){return t.component===e&&r(t.identity,i)?t.overrideData===n?2:1:0}function k(t,e,n,i,r,a,p,d,c){if(p>50)return!1;if(i.component!==r){if(i.component){let t=i.component.instances.indexOf(i);t>=0&&i.component.instances.splice(t,1)}r.instances.find(t=>t===i)||r.instances.push(i),i.component=r}r instanceof j&&r.isInstanceRoot&&r.expandInstanceChildren(t);let u=0;for(let y of r.children)if(o.is(y)){let r=[...e,..."string"==typeof y.identity?[y.identity]:y.identity],v=l.resolve(n,r,1);null!=v&&!(v instanceof m)&&(Object.setPrototypeOf(v,m.prototype),console.error("wrong prototype"));let g,I=null;if(!d){let e=i.children[u];if(I=o.is(e)?e:null,null!==I){let t=C(I,y,v,r);g=t>=1?I.stateSelection:void 0,2!==t&&(I=null)}if(null===I&&(I=t.scene.findInstance(r)??null,null!==I)){let e=C(I,y,v,r);if(g=e>=1?I.stateSelection:void 0,2!==e)I=null;else{let e=I.parent.children.indexOf(I);I.parent.children.splice(e,1),i.children.splice(u,0,I),I.parent===i?e<=u&&console.error("not possible"):(I.parent=i,I.matrixWorldNeedsUpdate=!0,I.resetBBoxNeedsUpdate(),I.updateVisible(),t.pendingDeletes.delete(I))}}}if(null===I){let e=v?f.apply(y.data,v):y.data;h.is(e.type)&&(e={...e,type:"Empty"}),I=s.createEntity(r,e,t),I.overrideData=v,i.add(I),i.children.splice(i.children.length-1,1),i.children.splice(u,0,I),I.updateState(I.data,t),g&&I.changeSelectedState(g,t),t.scene.registerInstanceAndSetUuid(I)}I.isBone&&(c[I.identity[I.identity.length-1]]=I.uuid),u+=1,k(t,e,n,I,y,a,p+1,d,c)}if(!d){let e=u;for(;;){let e=i.children[u];if(!o.is(e))break;t.pendingDeletes.add(e),u+=1}i.children.splice(e,u-e)}return!0}var D=(t,e,n)=>new j(t,e,n);d("Component",D),d("Instance",D),p("components");
1
+ import{a as t}from"./runtime-chunk-IUL3NAPE.js";import{a as e}from"./runtime-chunk-2UUVDZT3.js";import{d as n}from"./runtime-chunk-YRDQUX6R.js";import{oa as i}from"./runtime-chunk-UA4DS553.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{c as s,h as o}from"./runtime-chunk-G4QDYK27.js";import{d as r,e as a}from"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-MOPA2GCL.js";import{a as p,d}from"./runtime-chunk-TZCHGFVF.js";import{Ca as l,Da as c,J as h,Ka as u,h as m,i as f,xa as y}from"./runtime-chunk-ADHKZQMB.js";import{Qc as v,Uc as g,qd as D}from"./runtime-chunk-KPOUV3HD.js";import"./runtime-chunk-ML3Z74BL.js";var j=class extends(n(g,e)){constructor(t,e,n){super(),this.isComponentObject=!0,"Instance"===e.type&&"string"==typeof t&&(e=this.transformAssignData(e,n)),this.super_Entity(t,e),this.objectHelper.update()}get isComponentRoot(){return"Component"===this.data.type&&"string"==typeof this.identity}get isInstanceRoot(){return"Instance"===this.data.type&&"string"==typeof this.identity}transformAssignData(t,e){let n=u.getComponentData({scene:e.scene.data,shared:e.shared.data},t.component);if(n){let e,i;for(let s of c.rootOverrideProps)void 0===t[s]?(void 0===e&&(e={...t}),e[s]=n.data[s]):(void 0===i&&(i={}),i[s]=t[s],void 0===e&&(e={...t}),e[s]=f.apply(n.data[s],t[s]));return this.overrideData=i,e}return{...y.defaultData,...t,...a(y.defaultData,c.rootOverrideProps)}}updateByOp(t,e,n,i){let s;if(this.isInstanceRoot&&!i)if(e=this.transformAssignData(e,n),0===t.type&&0===t.path.length&&this.component)for(let e of c.rootOverrideProps)e in t.props&&void 0===t.props[e]&&(void 0===s&&(s={...t,props:{...t.props}}),s.props[e]=this.component.data[e]);else if(0===t.type&&t.path.length>0&&c.rootOverrideProps.includes(t.path[0])){let n=t.path[0];void 0===s&&(s={...t,path:[],props:{[n]:e[n]}})}super.updateByOp(s??t,e,n,i)}updateState(t,e){this.updateState_Entity(t,e)}expandInstanceChildren(e){let n=this.data;if(void 0===this.component){let s=e.scene.find(n.component)??null,r=!1;if(s!==this.oldComponent){if(this.oldComponent){let n=0;for(let i of this.children){if(!o.is(i))break;e.scene.disposeAndUnregisterEntityRecursivelyIfNotReregistered(i),t(i),n+=1}this.children.splice(0,n)}r=!0}if(s){let t={};k(e,[this.uuid],n.overrides,this,s,s,0,r,t);for(let n of this.children)if(o.is(n)){let s=n.data;"Empty"===s.type&&s.animations&&n.traverseEntity(n=>{let s=n.dataPatched;if(n instanceof i&&s.bones&&s.boneInverses){let i=n.dataPatched;if(i.bones&&i.boneInverses){let s=i.bones.map(n=>e.scene.find(t[n])),o=i.boneInverses.map(t=>(new v).fromArray(t)),r=new D(s,o);n.bind(r,n.bindMatrix)}}else n.matrixAutoUpdate=!0})}this.traverseEntity(t=>{t.isVirtualEntity&&e.scene.syncInstancePathConstraint(t)})}this.oldComponent=this.component}}};function I(t,e,n,i){return t.component===e&&r(t.identity,i)?t.overrideData===n?2:1:0}function k(t,e,n,i,r,a,p,d,c){if(p>50)return!1;if(i.component!==r){if(i.component){let t=i.component.instances.indexOf(i);t>=0&&i.component.instances.splice(t,1)}r.instances.find(t=>t===i)||r.instances.push(i),i.component=r}r instanceof j&&r.isInstanceRoot&&r.expandInstanceChildren(t);let u=0;for(let y of r.children)if(o.is(y)){let r=[...e,..."string"==typeof y.identity?[y.identity]:y.identity],v=l.resolve(n,r,1);null!=v&&!(v instanceof m)&&(Object.setPrototypeOf(v,m.prototype),console.error("wrong prototype"));let g,D=null;if(!d){let e=i.children[u];if(D=o.is(e)?e:null,null!==D){let t=I(D,y,v,r);g=t>=1?D.stateSelection:void 0,2!==t&&(D=null)}if(null===D&&(D=t.scene.findInstance(r)??null,null!==D)){let e=I(D,y,v,r);if(g=e>=1?D.stateSelection:void 0,2!==e)D=null;else{let e=D.parent.children.indexOf(D);D.parent.children.splice(e,1),i.children.splice(u,0,D),D.parent===i?e<=u&&console.error("not possible"):(D.parent=i,D.matrixWorldNeedsUpdate=!0,D.resetBBoxNeedsUpdate(),D.updateVisible(),t.pendingDeletes.delete(D))}}}if(null===D){let e=v?f.apply(y.data,v):y.data;h.is(e.type)&&(e={...e,type:"Empty"}),D=s.createEntity(r,e,t),D.overrideData=v,i.add(D),i.children.splice(i.children.length-1,1),i.children.splice(u,0,D),D.updateState(D.data,t),g&&D.changeSelectedState(g,t),t.scene.registerInstanceAndSetUuid(D)}D.isBone&&(c[D.identity[D.identity.length-1]]=D.uuid),u+=1,k(t,e,n,D,y,a,p+1,d,c)}if(!d){let e=u;for(;;){let e=i.children[u];if(!o.is(e))break;t.pendingDeletes.add(e),u+=1}i.children.splice(e,u-e)}return!0}var b=(t,e,n)=>new j(t,e,n);d("Component",b),d("Instance",b),p("components");
@@ -1 +1 @@
1
- import{a as t}from"./runtime-chunk-KS22AKWC.js";import"./runtime-chunk-NPSYVTLT.js";import"./runtime-chunk-TIN4REMH.js";import"./runtime-chunk-QW5ROIFP.js";import{ia as e}from"./runtime-chunk-VPTEPOIE.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{b as i,e as a}from"./runtime-chunk-UNI3D2MC.js";import"./runtime-chunk-A4MHIZFN.js";import{b as r}from"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-MOPA2GCL.js";import{a as o}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-ADHKZQMB.js";import{Ec as s,Gc as n,Hc as d}from"./runtime-chunk-KPOUV3HD.js";import"./runtime-chunk-ML3Z74BL.js";var h=(()=>{let t,e,i,a,r=!1;function o(i){!t&&!l()&&(e?.sharedGameControlGlobals.createdObjects.length??0)>0&&(t=requestAnimationFrame(s)),i&&(e=i,a=i.requestRender,!r&&typeof document<"u"&&(document.addEventListener("visibilitychange",n),r=!0))}function s(r){if(!e||!a)return t=void 0,void(i=void 0);let o=i?r-i:0,n=e.sharedGameControlGlobals.createdObjects,d=e.sharedGameControlGlobals.nCreatedPerAction,h=n.length,l=0;for(;l<h;){let t=n[l];void 0===t.userData.createdTime&&(t.userData.createdTime=r),void 0===t.userData.lifetime&&void 0===t.userData.quantity||t.userData.lifetime&&r-t.userData.createdTime<t.userData.lifetime||t.userData.quantity&&d[t.userData.actionId]<=t.userData.quantity?(t.userData.velocity&&(t.position.addScaledVector(t.userData.velocity,o/1e3),t.updateMatrix(),t.userData.parentMatrix&&t.matrix.premultiply(t.userData.parentMatrix),a()),l++):(d[t.userData.actionId]>t.userData.quantity&&d[t.userData.actionId]--,n.splice(l,1),t.removeFromParent(),e.sharedGameControlGlobals.rapierWorld&&t.rigidBody?(e.sharedGameControlGlobals.colliderToEntity.delete(t.rigidBody.collider(0).handle),e.sharedGameControlGlobals.rapierWorld.removeRigidBody(t.rigidBody)):(t.bvhGeometry=void 0,e.sharedGameControlGlobals.entitiesWithTransformAnim=e.sharedGameControlGlobals.entitiesWithTransformAnim.filter(t=>void 0!==t.bvhGeometry)),h--,a())}t=l>0?requestAnimationFrame(s):void 0,i=l>0?r:void 0}function n(){l()?t&&(cancelAnimationFrame(t),t=void 0,i=void 0):o()}return{play:o,dispose:function(){t&&(cancelAnimationFrame(t),t=void 0),r&&typeof document<"u"&&(document.removeEventListener("visibilitychange",n),r=!1),e=void 0,a=void 0,i=void 0}}})();function l(){return!!document&&document.hidden}var c=new n,u=new d,m=new d,p=class{constructor(i,o,n,l,p){this.data=i,this.page=o,this.controlsManager=n,this.shared=l,this.condition=p,this.intervalId=null,this.timeoutIdQueue=[],this.uniqueId=s.generateUUID(),this.dispatch=()=>{if(!1===a(this.shared,this.condition))return!1;this.data.delay?this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,1e3*this.data.delay)):this.dispatchInner()},this.dispatchFromStart=()=>{if(!1===a(this.shared,this.condition))return!1;this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,1e3*this.data.delay))},this.dispatchThrottled=r(this.dispatch,1e3/this.data.creationSpeed),this.dispatchStart=()=>{null===this.intervalId&&(this.intervalId=window.setInterval(this.dispatch,1e3/this.data.creationSpeed))},this.dispatchStop=()=>{null!==this.intervalId&&(window.clearInterval(this.intervalId),this.intervalId=null)},this.dispatchInner=()=>{this.timeoutIdQueue.shift();let t=new e(this.object);if(t.playModeVisible=!0,t.expand(),"world"!==this.data.coordinateSystem){let e=this.data.coordinateSystem,i=this.page.scene.find(e);i&&(i.updateMatrixWorldRigid(),t.userData.parentMatrix=i.matrixWorldRigid)}t.scale.copy(this.object.scale),t.position.fromArray(this.data.position.map(t=>"number"==typeof t?t:0)),t.rotation.fromArray(this.data.rotation.map(t=>"number"==typeof t?t:0)),t.updateMatrix(),t.userData.parentMatrix&&t.matrix.premultiply(t.userData.parentMatrix),this.page.add(t);let i=this.controlsManager.sharedGameControlGlobals;i.createdObjects.push(t),void 0===i.nCreatedPerAction[this.uniqueId]?i.nCreatedPerAction[this.uniqueId]=1:i.nCreatedPerAction[this.uniqueId]++,t.updateWorldMatrix(!0,!0),t.traverseObject(this.traverseObjectCB),h.play(),this.controlsManager.requestRender()},this.traverseObjectCB=i=>{let a;if(i.updateMatrixWorldRigid(),this.controlsManager.sharedGameControlGlobals.rapierWorld){if(i instanceof t){if(!i.objectForSample)return!0===i.object.dataPatched.physics.fusedBody&&"dynamic"===i.object.dataPatched.physics.rigidBody||void 0;if(i.objectForSample.dataPatched.physics.fusedBody)return;a=i.object}else if(i instanceof e)a=i.object;else if(a=i,a.dataPatched.cloner?.hideBase)return!0}else{if(i instanceof t)return;a=i instanceof e?i.object:i}"Time"===this.data.destroy?i.userData.lifetime=1e3*this.data.lifetime:"Quantity"===this.data.destroy&&(i.userData.quantity=this.data.destroyAfterQuantity,i.userData.actionId=this.uniqueId);let r=(new d).fromArray(this.data.velocity.map(t=>"number"==typeof t?t:0)),o=a.dataPatched;if(!("visibility"===o.physics.enabled?!o.visible:!o.physics.enabled)&&(this.controlsManager.sharedGameControlGlobals.rapierWorld?(this.controlsManager.addRigidBody(i,a,{fromCreate:!0,dynamic:this.data.dynamic}),"Collision"===this.data.destroy&&(i.rigidBody?.collider(0).setActiveEvents(1),i.userData.hasCollisionDestroy=!0),i.matrixWorld.decompose(u,c,m),r.applyQuaternion(c),this.data.velocity.some(t=>0!==t)&&this.data.dynamic&&i.rigidBody?.setLinvel(r.divideScalar(this.controlsManager.pixelsPerMeter),!0)):("geometry"in i.object&&this.controlsManager.addBoundsTree(i),this.data.velocity.some(t=>0!==t)&&this.data.dynamic&&(i.userData.velocity=r)),!0===a.dataPatched.physics?.fusedBody))return!0};let y=this.page.scene.find(this.data.object);if(!y)throw new Error("Missing Property");if(this.object=y,"world"!==this.data.coordinateSystem&&!this.page.scene.find(this.data.coordinateSystem))throw new Error("Missing Property");h.play(n)}dispose(){null!==this.intervalId&&(window.clearInterval(this.intervalId),this.intervalId=null),this.timeoutIdQueue.forEach(t=>window.clearTimeout(t)),this.timeoutIdQueue=[],this.dispatchThrottled.cancel(),this.page.remove(...this.controlsManager.sharedGameControlGlobals.createdObjects),this.controlsManager.sharedGameControlGlobals.createdObjects=[],h.dispose()}},y=class{constructor(t,e,i,a,r){this.data=t,this.page=e,this.controlsManager=i,this.shared=a,this.condition=r,this.timeoutIdQueue=[],this.dispatchInner=()=>{this.objects.forEach(this.destroyCallback)},this.destroyCallback=t=>{this.timeoutIdQueue.shift();let e=this.page.scene.find(t);if(void 0===e)return;let i=this.controlsManager.sharedGameControlGlobals.rapierWorld,a=!i||e.dataPatched.physics?.fusedBody;if(e.cloner){for(let t of e.cloner.children)a?(t.playModeVisible=!1,"positioned"===e.dataPatched.physics?.rigidBody&&this.removeBody(t),t.bvhGeometry&&(t.bvhGeometry=void 0)):void 0===this.clone||this.clone===t?(t.playModeVisible=!1,this.removeBody(t)):void 0===t.playModeVisible&&(t.playModeVisible=!0);e.cloner.syncInstanceMatrices(),(a||void 0===this.clone||!1===this.clone)&&(e.visible=!1,this.removeBody(e),e.bvhGeometry&&(e.bvhGeometry=void 0))}else this.removeBody(e),e.bvhGeometry&&(e.bvhGeometry=void 0),e.visible=!1;this.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim=void 0===i?this.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim.filter(t=>void 0!==t.bvhGeometry):this.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim.filter(t=>void 0!==t.rigidBody),e.destroyedInAction=!0,this.controlsManager.requestRender()},this.objects=[...t.objects]}removeBody(t){let e=t.rigidBody;if(!e)return;let i=this.controlsManager.sharedGameControlGlobals;i.colliderToEntity.delete(e.collider(0).handle),i.kinematicBodyToEntity.delete(e.handle);let a=this.controlsManager;a.fixedBodiesToWatch=a.fixedBodiesToWatch.filter(([,t])=>t!==e),i.rapierWorld.removeRigidBody(e),t.rigidBody=void 0}dispatch(t){if(!1===a(this.shared,this.condition))return!1;this.clone=t,this.data.delay?this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,1e3*this.data.delay)):this.dispatchInner()}dispatchFromStart(){if(!1===a(this.shared,this.condition))return!1;this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,1e3*this.data.delay))}dispose(){this.timeoutIdQueue.forEach(t=>window.clearTimeout(t))}};i("Create",({data:t,page:e,eventManager:i,shared:a,actionCondition:r})=>new p(t,e,i.controlsManager,a,r)),i("Destroy",({data:t,page:e,eventManager:i,shared:a,actionCondition:r})=>new y(t,e,i.controlsManager,a,r)),o("create-destroy");
1
+ import{a as t}from"./runtime-chunk-UDSSSUA2.js";import"./runtime-chunk-UQZKAZMI.js";import"./runtime-chunk-BML7E4SP.js";import"./runtime-chunk-YI3NH3UJ.js";import{ia as e}from"./runtime-chunk-UA4DS553.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{b as i,e as a}from"./runtime-chunk-UNI3D2MC.js";import"./runtime-chunk-G4QDYK27.js";import{b as r}from"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-MOPA2GCL.js";import{a as o}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-ADHKZQMB.js";import{Ec as s,Gc as n,Hc as d}from"./runtime-chunk-KPOUV3HD.js";import"./runtime-chunk-ML3Z74BL.js";var h=(()=>{let t,e,i,a,r=!1;function o(i){!t&&!l()&&(e?.sharedGameControlGlobals.createdObjects.length??0)>0&&(t=requestAnimationFrame(s)),i&&(e=i,a=i.requestRender,!r&&typeof document<"u"&&(document.addEventListener("visibilitychange",n),r=!0))}function s(r){if(!e||!a)return t=void 0,void(i=void 0);let o=i?r-i:0,n=e.sharedGameControlGlobals.createdObjects,d=e.sharedGameControlGlobals.nCreatedPerAction,h=n.length,l=0;for(;l<h;){let t=n[l];void 0===t.userData.createdTime&&(t.userData.createdTime=r),void 0===t.userData.lifetime&&void 0===t.userData.quantity||t.userData.lifetime&&r-t.userData.createdTime<t.userData.lifetime||t.userData.quantity&&d[t.userData.actionId]<=t.userData.quantity?(t.userData.velocity&&(t.position.addScaledVector(t.userData.velocity,o/1e3),t.updateMatrix(),t.userData.parentMatrix&&t.matrix.premultiply(t.userData.parentMatrix),a()),l++):(d[t.userData.actionId]>t.userData.quantity&&d[t.userData.actionId]--,n.splice(l,1),t.removeFromParent(),e.sharedGameControlGlobals.rapierWorld&&t.rigidBody?(e.sharedGameControlGlobals.colliderToEntity.delete(t.rigidBody.collider(0).handle),e.sharedGameControlGlobals.rapierWorld.removeRigidBody(t.rigidBody)):(t.bvhGeometry=void 0,e.sharedGameControlGlobals.entitiesWithTransformAnim=e.sharedGameControlGlobals.entitiesWithTransformAnim.filter(t=>void 0!==t.bvhGeometry)),h--,a())}t=l>0?requestAnimationFrame(s):void 0,i=l>0?r:void 0}function n(){l()?t&&(cancelAnimationFrame(t),t=void 0,i=void 0):o()}return{play:o,dispose:function(){t&&(cancelAnimationFrame(t),t=void 0),r&&typeof document<"u"&&(document.removeEventListener("visibilitychange",n),r=!1),e=void 0,a=void 0,i=void 0}}})();function l(){return!!document&&document.hidden}var c=new n,u=new d,m=new d,p=class{constructor(i,o,n,l,p){this.data=i,this.page=o,this.controlsManager=n,this.shared=l,this.condition=p,this.intervalId=null,this.timeoutIdQueue=[],this.uniqueId=s.generateUUID(),this.dispatch=()=>{if(!1===a(this.shared,this.condition))return!1;this.data.delay?this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,1e3*this.data.delay)):this.dispatchInner()},this.dispatchFromStart=()=>{if(!1===a(this.shared,this.condition))return!1;this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,1e3*this.data.delay))},this.dispatchThrottled=r(this.dispatch,1e3/this.data.creationSpeed),this.dispatchStart=()=>{null===this.intervalId&&(this.intervalId=window.setInterval(this.dispatch,1e3/this.data.creationSpeed))},this.dispatchStop=()=>{null!==this.intervalId&&(window.clearInterval(this.intervalId),this.intervalId=null)},this.dispatchInner=()=>{this.timeoutIdQueue.shift();let t=new e(this.object);if(t.playModeVisible=!0,t.expand(),"world"!==this.data.coordinateSystem){let e=this.data.coordinateSystem,i=this.page.scene.find(e);i&&(i.updateMatrixWorldRigid(),t.userData.parentMatrix=i.matrixWorldRigid)}t.scale.copy(this.object.scale),t.position.fromArray(this.data.position.map(t=>"number"==typeof t?t:0)),t.rotation.fromArray(this.data.rotation.map(t=>"number"==typeof t?t:0)),t.updateMatrix(),t.userData.parentMatrix&&t.matrix.premultiply(t.userData.parentMatrix),this.page.add(t);let i=this.controlsManager.sharedGameControlGlobals;i.createdObjects.push(t),void 0===i.nCreatedPerAction[this.uniqueId]?i.nCreatedPerAction[this.uniqueId]=1:i.nCreatedPerAction[this.uniqueId]++,t.updateWorldMatrix(!0,!0),t.traverseObject(this.traverseObjectCB),h.play(),this.controlsManager.requestRender()},this.traverseObjectCB=i=>{let a;if(i.updateMatrixWorldRigid(),this.controlsManager.sharedGameControlGlobals.rapierWorld){if(i instanceof t){if(!i.objectForSample)return!0===i.object.dataPatched.physics.fusedBody&&"dynamic"===i.object.dataPatched.physics.rigidBody||void 0;if(i.objectForSample.dataPatched.physics.fusedBody)return;a=i.object}else if(i instanceof e)a=i.object;else if(a=i,a.dataPatched.cloner?.hideBase)return!0}else{if(i instanceof t)return;a=i instanceof e?i.object:i}"Time"===this.data.destroy?i.userData.lifetime=1e3*this.data.lifetime:"Quantity"===this.data.destroy&&(i.userData.quantity=this.data.destroyAfterQuantity,i.userData.actionId=this.uniqueId);let r=(new d).fromArray(this.data.velocity.map(t=>"number"==typeof t?t:0)),o=a.dataPatched;if(!("visibility"===o.physics.enabled?!o.visible:!o.physics.enabled)&&(this.controlsManager.sharedGameControlGlobals.rapierWorld?(this.controlsManager.addRigidBody(i,a,{fromCreate:!0,dynamic:this.data.dynamic}),"Collision"===this.data.destroy&&(i.rigidBody?.collider(0).setActiveEvents(1),i.userData.hasCollisionDestroy=!0),i.matrixWorld.decompose(u,c,m),r.applyQuaternion(c),this.data.velocity.some(t=>0!==t)&&this.data.dynamic&&i.rigidBody?.setLinvel(r.divideScalar(this.controlsManager.pixelsPerMeter),!0)):("geometry"in i.object&&this.controlsManager.addBoundsTree(i),this.data.velocity.some(t=>0!==t)&&this.data.dynamic&&(i.userData.velocity=r)),!0===a.dataPatched.physics?.fusedBody))return!0};let y=this.page.scene.find(this.data.object);if(!y)throw new Error("Missing Property");if(this.object=y,"world"!==this.data.coordinateSystem&&!this.page.scene.find(this.data.coordinateSystem))throw new Error("Missing Property");h.play(n)}dispose(){null!==this.intervalId&&(window.clearInterval(this.intervalId),this.intervalId=null),this.timeoutIdQueue.forEach(t=>window.clearTimeout(t)),this.timeoutIdQueue=[],this.dispatchThrottled.cancel(),this.page.remove(...this.controlsManager.sharedGameControlGlobals.createdObjects),this.controlsManager.sharedGameControlGlobals.createdObjects=[],h.dispose()}},y=class{constructor(t,e,i,a,r){this.data=t,this.page=e,this.controlsManager=i,this.shared=a,this.condition=r,this.timeoutIdQueue=[],this.dispatchInner=()=>{this.objects.forEach(this.destroyCallback)},this.destroyCallback=t=>{this.timeoutIdQueue.shift();let e=this.page.scene.find(t);if(void 0===e)return;let i=this.controlsManager.sharedGameControlGlobals.rapierWorld,a=!i||e.dataPatched.physics?.fusedBody;if(e.cloner){for(let t of e.cloner.children)a?(t.playModeVisible=!1,"positioned"===e.dataPatched.physics?.rigidBody&&this.removeBody(t),t.bvhGeometry&&(t.bvhGeometry=void 0)):void 0===this.clone||this.clone===t?(t.playModeVisible=!1,this.removeBody(t)):void 0===t.playModeVisible&&(t.playModeVisible=!0);e.cloner.syncInstanceMatrices(),(a||void 0===this.clone||!1===this.clone)&&(e.visible=!1,this.removeBody(e),e.bvhGeometry&&(e.bvhGeometry=void 0))}else this.removeBody(e),e.bvhGeometry&&(e.bvhGeometry=void 0),e.visible=!1;this.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim=void 0===i?this.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim.filter(t=>void 0!==t.bvhGeometry):this.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim.filter(t=>void 0!==t.rigidBody),e.destroyedInAction=!0,this.controlsManager.requestRender()},this.objects=[...t.objects]}removeBody(t){let e=t.rigidBody;if(!e)return;let i=this.controlsManager.sharedGameControlGlobals;i.colliderToEntity.delete(e.collider(0).handle),i.kinematicBodyToEntity.delete(e.handle);let a=this.controlsManager;a.fixedBodiesToWatch=a.fixedBodiesToWatch.filter(([,t])=>t!==e),i.rapierWorld.removeRigidBody(e),t.rigidBody=void 0}dispatch(t){if(!1===a(this.shared,this.condition))return!1;this.clone=t,this.data.delay?this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,1e3*this.data.delay)):this.dispatchInner()}dispatchFromStart(){if(!1===a(this.shared,this.condition))return!1;this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,1e3*this.data.delay))}dispose(){this.timeoutIdQueue.forEach(t=>window.clearTimeout(t))}};i("Create",({data:t,page:e,eventManager:i,shared:a,actionCondition:r})=>new p(t,e,i.controlsManager,a,r)),i("Destroy",({data:t,page:e,eventManager:i,shared:a,actionCondition:r})=>new y(t,e,i.controlsManager,a,r)),o("create-destroy");
@@ -1 +1 @@
1
- import{a as e}from"./runtime-chunk-JMSFXP2O.js";import"./runtime-chunk-GLA55P73.js";import{a as t}from"./runtime-chunk-UIRA2CWJ.js";import"./runtime-chunk-VGLGYM3K.js";import{$c as r,Db as n,Dc as i,Fc as s,Hc as a,Ib as l,Lc as o,Nc as h,Ne as u,Qc as c,Vc as f,Xc as d,ee as g,fd as p,m as v,nd as y,qa as m,ua as x,ye as w,ze as b}from"./runtime-chunk-KPOUV3HD.js";import{c as F}from"./runtime-chunk-ML3Z74BL.js";var C="varying vec2 vUv;void main(){vUv=position.xy*0.5+0.5;gl_Position=vec4(position.xy,1.0,1.0);}",S=class extends g{constructor(e=!1,t=!1){super({name:"BokehMaterial",defines:{PASS:e?"2":"1"},uniforms:{kernel64:new u(null),kernel16:new u(null),inputBuffer:new u(null),cocBuffer:new u(null),texelSize:new u(new s),scale:new u(1)},blending:v,depthWrite:!1,depthTest:!1,fragmentShader:"#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\nuniform lowp sampler2D cocBuffer;uniform vec2 texelSize;uniform float scale;uniform vec4 kernel64[32];varying vec2 vUv;void main(){\n#ifdef FOREGROUND\nvec2 CoCNearFar=texture2D(cocBuffer,vUv).rg;float CoC=CoCNearFar.r*scale;\n#else\nfloat CoC=texture2D(cocBuffer,vUv).g*scale;\n#endif\nif(CoC==0.0){gl_FragColor=texture2D(inputBuffer,vUv);}else{\n#ifdef FOREGROUND\nvec2 step=texelSize*max(CoC,CoCNearFar.g*scale);\n#else\nvec2 step=texelSize*CoC;\n#endif\nvec4 acc=vec4(0.0);for(int i=0;i<32;++i){vec4 kernel=kernel64[i];vec2 uv=step*kernel.xy+vUv;acc+=texture2D(inputBuffer,uv);uv=step*kernel.zw+vUv;acc+=texture2D(inputBuffer,uv);}gl_FragColor=acc/64.0;}}",vertexShader:C}),this.toneMapped=!1,t&&(this.defines.FOREGROUND="1"),this.generateKernel()}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}set cocBuffer(e){this.uniforms.cocBuffer.value=e}setCoCBuffer(e){this.uniforms.cocBuffer.value=e}get scale(){return this.uniforms.scale.value}set scale(e){this.uniforms.scale.value=e}getScale(e){return this.uniforms.scale.value=e}setScale(e){this.uniforms.scale.value=e}generateKernel(){let e=new Float32Array(128),t=new Float32Array(32),r=0,n=0;for(let i=0;i<80;++i){let s=2.39996323*i,a=Math.sqrt(i)/Math.sqrt(80),l=a*Math.cos(s),o=a*Math.sin(s);i%5==0?(t[n++]=l,t[n++]=o):(e[r++]=l,e[r++]=o)}let i=[],s=[];for(let t=0;t<128;)i.push(new o(e[t++],e[t++],e[t++],e[t++]));for(let e=0;e<32;)s.push(new o(t[e++],t[e++],t[e++],t[e++]));this.uniforms.kernel64.value=i,this.uniforms.kernel16.value=s}setTexelSize(e,t){this.uniforms.texelSize.value.set(e,t)}setSize(e,t){this.uniforms.texelSize.value.set(1/e,1/t)}};function A(e,t,r){return e*(t-r)-t}function B(e,t,r){return Math.min(Math.max((e+t)/(t-r),0),1)}var T=class extends g{constructor(e){super({name:"CircleOfConfusionMaterial",defines:{DEPTH_PACKING:"0"},uniforms:{depthBuffer:new u(null),focusDistance:new u(0),focusRange:new u(0),cameraNear:new u(.3),cameraFar:new u(1e3)},blending:v,depthWrite:!1,depthTest:!1,fragmentShader:"#include <common>\n#include <packing>\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\nuniform float focusDistance;uniform float focusRange;uniform float cameraNear;uniform float cameraFar;varying vec2 vUv;float readDepth(const in vec2 uv){\n#if DEPTH_PACKING == 3201\nreturn unpackRGBAToDepth(texture2D(depthBuffer,uv));\n#else\nreturn texture2D(depthBuffer,uv).r;\n#endif\n}void main(){float depth=readDepth(vUv);\n#ifdef PERSPECTIVE_CAMERA\nfloat viewZ=perspectiveDepthToViewZ(depth,cameraNear,cameraFar);float linearDepth=viewZToOrthographicDepth(viewZ,cameraNear,cameraFar);\n#else\nfloat linearDepth=depth;\n#endif\nfloat signedDistance=linearDepth-focusDistance;float magnitude=smoothstep(0.0,focusRange,abs(signedDistance));gl_FragColor.rg=magnitude*vec2(step(signedDistance,0.0),step(0.0,signedDistance));}",vertexShader:C}),this.toneMapped=!1,this.uniforms.focalLength=this.uniforms.focusRange,this.adoptCameraSettings(e)}get near(){return this.uniforms.cameraNear.value}get far(){return this.uniforms.cameraFar.value}set depthBuffer(e){this.uniforms.depthBuffer.value=e}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer(e,t=n){this.depthBuffer=e,this.depthPacking=t}get focusDistance(){return this.uniforms.focusDistance.value}set focusDistance(e){this.uniforms.focusDistance.value=e}get worldFocusDistance(){return-A(this.focusDistance,this.near,this.far)}set worldFocusDistance(e){this.focusDistance=B(-e,this.near,this.far)}getFocusDistance(e){this.uniforms.focusDistance.value=e}setFocusDistance(e){this.uniforms.focusDistance.value=e}get focalLength(){return this.focusRange}set focalLength(e){this.focusRange=e}get focusRange(){return this.uniforms.focusRange.value}set focusRange(e){this.uniforms.focusRange.value=e}get worldFocusRange(){return-A(this.focusRange,this.near,this.far)}set worldFocusRange(e){this.focusRange=B(-e,this.near,this.far)}getFocalLength(e){return this.focusRange}setFocalLength(e){this.focusRange=e}adoptCameraSettings(e){e&&(this.uniforms.cameraNear.value=e.near,this.uniforms.cameraFar.value=e.far,e instanceof b?this.defines.PERSPECTIVE_CAMERA="1":delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}},k=class extends g{constructor(e=new s){super({name:"KawaseBlurMaterial",uniforms:{inputBuffer:new u(null),texelSize:new u(new s),halfTexelSize:new u(new s),kernel:new u(0),scale:new u(1)},blending:v,depthWrite:!1,depthTest:!1,fragmentShader:"#include <common>\n#include <dithering_pars_fragment>\n#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\nvarying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec4 sum=texture2D(inputBuffer,vUv0);sum+=texture2D(inputBuffer,vUv1);sum+=texture2D(inputBuffer,vUv2);sum+=texture2D(inputBuffer,vUv3);gl_FragColor=sum*0.25;\n#include <colorspace_fragment>\n#include <dithering_fragment>\n}",vertexShader:"uniform vec2 texelSize;uniform vec2 halfTexelSize;uniform float kernel;uniform float scale;varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec2 uv=position.xy*0.5+0.5;vec2 dUv=(texelSize*vec2(kernel)+halfTexelSize)*scale;vUv0=vec2(uv.x-dUv.x,uv.y+dUv.y);vUv1=vec2(uv.x+dUv.x,uv.y+dUv.y);vUv2=vec2(uv.x+dUv.x,uv.y-dUv.y);vUv3=vec2(uv.x-dUv.x,uv.y-dUv.y);gl_Position=vec4(position.xy,1.0,1.0);}"}),this.toneMapped=!1,this.setTexelSize(e.x,e.y)}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.inputBuffer=e}get scale(){return this.uniforms.scale.value}set scale(e){this.uniforms.scale.value=e}getScale(){return this.uniforms.scale.value}setScale(e){this.uniforms.scale.value=e}getKernel(){return null}get kernel(){return this.uniforms.kernel.value}set kernel(e){this.uniforms.kernel.value=e}setKernel(e){this.kernel=e}setTexelSize(e,t){this.uniforms.texelSize.value.set(e,t),this.uniforms.halfTexelSize.value.set(e,t).multiplyScalar(.5)}setSize(e,t){let r=this.uniforms;r.texelSize.value.set(1/e,1/t),r.halfTexelSize.value.copy(r.texelSize.value).multiplyScalar(.5)}},M=class extends g{constructor(e=null){super({name:"MaskMaterial",uniforms:{maskTexture:new u(e),inputBuffer:new u(null),strength:new u(1)},blending:v,depthWrite:!1,depthTest:!1,fragmentShader:"#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\n#ifdef MASK_PRECISION_HIGH\nuniform mediump sampler2D maskTexture;\n#else\nuniform lowp sampler2D maskTexture;\n#endif\n#if MASK_FUNCTION != 0\nuniform float strength;\n#endif\nvarying vec2 vUv;void main(){\n#if COLOR_CHANNEL == 0\nfloat mask=texture2D(maskTexture,vUv).r;\n#elif COLOR_CHANNEL == 1\nfloat mask=texture2D(maskTexture,vUv).g;\n#elif COLOR_CHANNEL == 2\nfloat mask=texture2D(maskTexture,vUv).b;\n#else\nfloat mask=texture2D(maskTexture,vUv).a;\n#endif\n#if MASK_FUNCTION == 0\n#ifdef INVERTED\nmask=step(mask,0.0);\n#else\nmask=1.0-step(mask,0.0);\n#endif\n#else\nmask=clamp(mask*strength,0.0,1.0);\n#ifdef INVERTED\nmask=1.0-mask;\n#endif\n#endif\n#if MASK_FUNCTION == 2\ngl_FragColor=vec4(mask*texture2D(inputBuffer,vUv).rgb,mask);\n#else\ngl_FragColor=mask*texture2D(inputBuffer,vUv);\n#endif\n}",vertexShader:C}),this.toneMapped=!1,this.setColorChannel(0),this.setMaskFunction(0)}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}set maskTexture(e){this.uniforms.maskTexture.value=e,delete this.defines.MASK_PRECISION_HIGH,e.type!==x&&(this.defines.MASK_PRECISION_HIGH="1"),this.needsUpdate=!0}setMaskTexture(e){this.maskTexture=e}set colorChannel(e){this.defines.COLOR_CHANNEL=e.toFixed(0),this.needsUpdate=!0}setColorChannel(e){this.colorChannel=e}set maskFunction(e){this.defines.MASK_FUNCTION=e.toFixed(0),this.needsUpdate=!0}setMaskFunction(e){this.maskFunction=e}get inverted(){return void 0!==this.defines.INVERTED}set inverted(e){this.inverted&&!e?delete this.defines.INVERTED:e&&(this.defines.INVERTED="1"),this.needsUpdate=!0}isInverted(){return this.inverted}setInverted(e){this.inverted=e}get strength(){return this.uniforms.strength.value}set strength(e){this.uniforms.strength.value=e}getStrength(){return this.strength}setStrength(e){this.strength=e}},U=new w,D=null,P=class{constructor(e="Pass",t=new d,r=U){this.name=e,this.renderer=null,this.scene=t,this.camera=r,this.screen=null,this.rtt=!0,this.needsSwap=!0,this.needsDepthTexture=!1,this.enabled=!0}get renderToScreen(){return!this.rtt}set renderToScreen(e){if(this.rtt===e){let t=this.getFullscreenMaterial();null!==t&&(t.needsUpdate=!0),this.rtt=!e}}setRenderer(e){this.renderer=e}isEnabled(){return this.enabled}setEnabled(e){this.enabled=e}get fullscreenMaterial(){return null!==this.screen?this.screen.material:null}set fullscreenMaterial(e){let t=this.screen;null!==t?t.material=e:(t=new y(function(){if(null===D){let e=new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),t=new Float32Array([0,0,2,0,0,2]);void 0!==(D=new p).setAttribute?(D.setAttribute("position",new r(e,3)),D.setAttribute("uv",new r(t,2))):(D.addAttribute("position",new r(e,3)),D.addAttribute("uv",new r(t,2)))}return D}(),e),t.frustumCulled=!1,null===this.scene&&(this.scene=new d),this.scene.add(t),this.screen=t)}getFullscreenMaterial(){return this.fullscreenMaterial}setFullscreenMaterial(e){this.fullscreenMaterial=e}getDepthTexture(){return null}setDepthTexture(e,t=n){}render(e,t,r,n,i){throw new Error("Render method not implemented!")}setSize(e,t){}initialize(e,t,r){}dispose(){for(let e of Object.keys(this)){let t=this[e];if(null!==t&&"object"==typeof t&&"function"==typeof t.dispose){if(t instanceof d||t===this.renderer)continue;this[e].dispose()}}}},E=(new f,-1),z=class extends i{constructor(e,t=E,r=E,n=1){super(),this.resizable=e,this.base=new s(1,1),this.preferred=new s(t,r),this.target=this.preferred,this.s=n}get width(){let e,{base:t,preferred:r,scale:n}=this;return e=r.width!==E?r.width:r.height!==E?Math.round(r.height*(t.width/Math.max(t.height,1))):Math.round(t.width*n),e}set width(e){this.preferredWidth=e}get height(){let e,{base:t,preferred:r,scale:n}=this;return e=r.height!==E?r.height:r.width!==E?Math.round(r.width/Math.max(t.width/Math.max(t.height,1),1)):Math.round(t.height*n),e}set height(e){this.preferredHeight=e}getWidth(){return this.width}getHeight(){return this.height}get scale(){return this.s}set scale(e){this.s!==e&&(this.s=e,this.preferred.setScalar(E),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getScale(){return this.scale}setScale(e){this.scale=e}get baseWidth(){return this.base.width}set baseWidth(e){this.base.width!==e&&(this.base.width=e,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getBaseWidth(){return this.base.width}setBaseWidth(e){this.base.width!==e&&(this.base.width=e,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}get baseHeight(){return this.base.height}set baseHeight(e){this.base.height!==e&&(this.base.height=e,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getBaseHeight(){return this.baseHeight}setBaseHeight(e){this.baseHeight=e}setBaseSize(e,t){(this.base.width!==e||this.base.height!==t)&&(this.base.set(e,t),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}get preferredWidth(){return this.preferred.width}set preferredWidth(e){this.preferred.width!==e&&(this.preferred.width=e,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getPreferredWidth(){return this.preferredWidth}setPreferredWidth(e){this.preferredWidth=e}get preferredHeight(){return this.preferred.height}set preferredHeight(e){this.preferred.height!==e&&(this.preferred.height=e,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getPreferredHeight(){return this.preferredHeight}setPreferredHeight(e){this.preferredHeight=e}setPreferredSize(e,t){(this.preferred.width!==e||this.preferred.height!==t)&&(this.preferred.set(e,t),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}copy(e){this.base.set(e.getBaseWidth(),e.getBaseHeight()),this.preferred.set(e.getPreferredWidth(),e.getPreferredHeight()),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height)}static get AUTO_SIZE(){return E}},R=(new Float32Array([255/256/256**3,255/256/65536,255/256/256,255/256]),13),N=new Map([[0,null],[1,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return min(x+y,1.0)*opacity+x*(1.0-opacity);}"],[2,"vec3 blend(const in vec3 x,const in vec3 y,const in float opacity){return y*opacity+x*(1.0-opacity);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){float a=min(y.a,opacity);return vec4(blend(x.rgb,y.rgb,a),max(x.a,a));}"],[3,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(x+y)*0.5*opacity+x*(1.0-opacity);}"],[4,"float blend(const in float x,const in float y){return(y==0.0)?y:max(1.0-(1.0-x)/y,0.0);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[5,"float blend(const in float x,const in float y){return(y==1.0)?y:min(x/(1.0-y),1.0);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[6,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return min(x,y)*opacity+x*(1.0-opacity);}"],[7,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return abs(x-y)*opacity+x*(1.0-opacity);}"],[8,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(x+y-2.0*x*y)*opacity+x*(1.0-opacity);}"],[9,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return max(x,y)*opacity+x*(1.0-opacity);}"],[10,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return x*y*opacity+x*(1.0-opacity);}"],[11,"float blend(const in float x,const in float y){return(y>0.0)?min(x/y,1.0):1.0;}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[12,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(1.0-abs(1.0-x-y))*opacity+x*(1.0-opacity);}"],[R,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return y*opacity+x*(1.0-opacity);}"],[14,"float blend(const in float x,const in float y){return(x<0.5)?(2.0*x*y):(1.0-2.0*(1.0-x)*(1.0-y));}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[15,"float blend(const in float x,const in float y){return(y==1.0)?y:min(x*x/(1.0-y),1.0);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[16,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(1.0-(1.0-x)*(1.0-y))*opacity+x*(1.0-opacity);}"],[17,"float blend(const in float x,const in float y){return(y<0.5)?(2.0*x*y+x*x*(1.0-2.0*y)):(sqrt(x)*(2.0*y-1.0)+2.0*x*(1.0-y));}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[18,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return max(x+y-1.0,0.0)*opacity+x*(1.0-opacity);}"]]),I=class extends i{constructor(e,t=1){super(),this.f=e,this.opacity=new u(t)}getOpacity(){return this.opacity.value}setOpacity(e){this.opacity.value=e}get blendFunction(){return this.f}set blendFunction(e){this.f=e,this.dispatchEvent({type:"change"})}getBlendFunction(){return this.blendFunction}setBlendFunction(e){this.blendFunction=e}getShaderCode(){return N.get(this.blendFunction)}},O=class extends i{constructor(e,t,{attributes:r=0,blendFunction:n=16,defines:i=new Map,uniforms:s=new Map,extensions:a=null,vertexShader:l=null}={}){super(),this.name=e,this.renderer=null,this.attributes=r,this.fragmentShader=t,this.vertexShader=l,this.defines=i,this.uniforms=s,this.extensions=a,this.blendMode=new I(n),this.blendMode.addEventListener("change",e=>this.setChanged())}getName(){return this.name}setRenderer(e){this.renderer=e}getDefines(){return this.defines}getUniforms(){return this.uniforms}getExtensions(){return this.extensions}getBlendMode(){return this.blendMode}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e,this.setChanged()}getFragmentShader(){return this.fragmentShader}setFragmentShader(e){this.fragmentShader=e,this.setChanged()}getVertexShader(){return this.vertexShader}setVertexShader(e){this.vertexShader=e,this.setChanged()}setChanged(){this.dispatchEvent({type:"change"})}setDepthTexture(e,t=n){}update(e,t,r){}setSize(e,t){}initialize(e,t,r){}dispose(){for(let e of Object.keys(this)){let t=this[e];if(null!==t&&"object"==typeof t&&"function"==typeof t.dispose){if(t instanceof d||t===this.renderer)continue;this[e].dispose()}}}},_=[new Float32Array([0,0]),new Float32Array([0,1,1]),new Float32Array([0,1,1,2]),new Float32Array([0,1,2,2,3]),new Float32Array([0,1,2,3,4,4,5]),new Float32Array([0,1,2,3,4,5,7,8,9,10])],H=class extends P{constructor({resolutionScale:e=.5,width:t=z.AUTO_SIZE,height:r=z.AUTO_SIZE,kernelSize:n=G.LARGE}={}){super("KawaseBlurPass"),this.renderTargetA=new h(1,1,{minFilter:m,magFilter:m,stencilBuffer:!1,depthBuffer:!1}),this.renderTargetA.texture.name="Blur.Target.A",this.renderTargetB=this.renderTargetA.clone(),this.renderTargetB.texture.name="Blur.Target.B";let i=this.resolution=new z(this,t,r,e);i.addEventListener("change",e=>this.setSize(i.baseWidth,i.baseHeight)),this.blurMaterial=new k,this.ditheredBlurMaterial=new k,this.ditheredBlurMaterial.uniforms.scale=this.blurMaterial.uniforms.scale,this.ditheredBlurMaterial.dithering=!0,this.dithering=!1,this.kernelSize=n}getResolution(){return this.resolution}get width(){return this.resolution.width}set width(e){this.resolution.preferredWidth=e}get height(){return this.resolution.height}set height(e){this.resolution.preferredHeight=e}get scale(){return this.blurMaterial.scale}set scale(e){this.blurMaterial.scale=e}getScale(){return this.blurMaterial.scale}setScale(e){this.blurMaterial.scale=e}getKernelSize(){return this.kernelSize}setKernelSize(e){this.kernelSize=e}getResolutionScale(){return this.resolution.scale}setResolutionScale(e){this.resolution.scale=e}render(e,t,r,n,i){let s,a,l=this.scene,o=this.camera,h=this.renderTargetA,u=this.renderTargetB,c=_[this.kernelSize],f=this.blurMaterial,d=t;for(this.fullscreenMaterial=f,s=0,a=c.length-1;s<a;++s){let t=1&s?u:h;f.kernel=c[s],f.inputBuffer=d.texture,e.setRenderTarget(t),e.render(l,o),d=t}this.dithering&&(f=this.ditheredBlurMaterial,this.fullscreenMaterial=f),f.kernel=c[s],f.inputBuffer=d.texture,e.setRenderTarget(this.renderToScreen?null:r),e.render(l,o)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t);let n=r.width,i=r.height;this.renderTargetA.setSize(n,i),this.renderTargetB.setSize(n,i),this.blurMaterial.setSize(n,i),this.ditheredBlurMaterial.setSize(n,i)}initialize(e,t,r){void 0!==r&&(this.renderTargetA.texture.type=r,this.renderTargetB.texture.type=r,r!==x?(this.blurMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1",this.ditheredBlurMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1"):e.outputColorSpace===l&&(this.renderTargetA.texture.colorSpace=l,this.renderTargetB.texture.colorSpace=l))}static get AUTO_SIZE(){return z.AUTO_SIZE}},L=class extends P{constructor(e,t="inputBuffer"){super("ShaderPass"),this.fullscreenMaterial=e,this.inputBufferUniform=null,this.setInput(t)}setInput(e){if(this.inputBufferUniform=null,null!==this.fullscreenMaterial){let t=this.fullscreenMaterial.uniforms;void 0!==t&&void 0!==t[e]&&(this.inputBufferUniform=t[e])}}render(e,t,r,n,i){null!==this.inputBufferUniform&&null!==t&&(this.inputBufferUniform.value=t.texture),e.setRenderTarget(this.renderToScreen?null:r),e.render(this.scene,this.camera)}initialize(e,t,r){void 0!==r&&r!==x&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}},G={VERY_SMALL:0,SMALL:1,MEDIUM:2,LARGE:3,VERY_LARGE:4,HUGE:5},W=class extends O{constructor(e,{blendFunction:t=R,worldFocusDistance:r,worldFocusRange:n,focusDistance:i=0,focalLength:s=.1,focusRange:l=s,bokehScale:o=1,width:c=z.AUTO_SIZE,height:f=z.AUTO_SIZE}={}){super("DepthOfFieldEffect","#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D nearColorBuffer;uniform mediump sampler2D farColorBuffer;\n#else\nuniform lowp sampler2D nearColorBuffer;uniform lowp sampler2D farColorBuffer;\n#endif\nuniform lowp sampler2D nearCoCBuffer;uniform float scale;void mainImage(const in vec4 inputColor,const in vec2 uv,const in float depth,out vec4 outputColor){vec4 colorNear=texture2D(nearColorBuffer,uv);vec4 colorFar=texture2D(farColorBuffer,uv);float CoCNear=texture2D(nearCoCBuffer,uv).r;CoCNear=min(CoCNear*scale,1.0);vec4 result=inputColor*(1.0-colorFar.a)+colorFar;result=mix(result,colorNear,CoCNear);outputColor=result;}",{blendFunction:t,attributes:1,uniforms:new Map([["nearColorBuffer",new u(null)],["farColorBuffer",new u(null)],["nearCoCBuffer",new u(null)],["scale",new u(1)]])}),F(this,"targetObject"),this.camera=e,this.renderTarget=new h(1,1,{minFilter:m,magFilter:m,stencilBuffer:!1,depthBuffer:!1}),this.renderTarget.texture.name="DoF.Intermediate",this.renderTarget.texture.generateMipmaps=!1,this.renderTargetMasked=this.renderTarget.clone(),this.renderTargetMasked.texture.name="DoF.Masked.Far",this.renderTargetNear=this.renderTarget.clone(),this.renderTargetNear.texture.name="DoF.Bokeh.Near",this.uniforms.get("nearColorBuffer").value=this.renderTargetNear.texture,this.renderTargetFar=this.renderTarget.clone(),this.renderTargetFar.texture.name="DoF.Bokeh.Far",this.uniforms.get("farColorBuffer").value=this.renderTargetFar.texture,this.renderTargetCoC=this.renderTarget.clone(),this.renderTargetCoC.texture.name="DoF.CoC",this.renderTargetCoCBlurred=this.renderTargetCoC.clone(),this.renderTargetCoCBlurred.texture.name="DoF.CoC.Blurred",this.uniforms.get("nearCoCBuffer").value=this.renderTargetCoCBlurred.texture,this.cocPass=new L(new T(e));let d=this.cocMaterial;d.focusDistance=i,d.focusRange=l,void 0!==r&&(d.worldFocusDistance=r),void 0!==n&&(d.worldFocusRange=n),this.blurPass=new H({kernelSize:G.MEDIUM,width:c,height:f});let g=this.blurPass.getResolution();g.addEventListener("change",e=>this.setSize(g.getBaseWidth(),g.getBaseHeight())),this.maskPass=new L(new M(this.renderTargetCoC.texture));let p=this.maskPass.fullscreenMaterial;p.maskFunction=1,p.colorChannel=1,this.bokehNearBasePass=new L(new S(!1,!0)),this.bokehNearBasePass.fullscreenMaterial.cocBuffer=this.renderTargetCoCBlurred.texture,this.bokehNearFillPass=new L(new S(!0,!0)),this.bokehNearFillPass.fullscreenMaterial.cocBuffer=this.renderTargetCoCBlurred.texture,this.bokehFarBasePass=new L(new S(!1,!1)),this.bokehFarBasePass.fullscreenMaterial.cocBuffer=this.renderTargetCoC.texture,this.bokehFarFillPass=new L(new S(!0,!1)),this.bokehFarFillPass.fullscreenMaterial.cocBuffer=this.renderTargetCoC.texture,this.target=new a,this.bokehScale=o}get cocTexture(){return this.renderTargetCoC.texture}get cocMaterial(){return this.cocPass.fullscreenMaterial}get circleOfConfusionMaterial(){return this.cocMaterial}getCircleOfConfusionMaterial(){return this.circleOfConfusionMaterial}getBlurPass(){return this.blurPass}get resolution(){return this.blurPass.getResolution()}getResolution(){return this.blurPass.getResolution()}get bokehScale(){return this.uniforms.get("scale").value}set bokehScale(e){let t=[this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass];for(let r of t)r.fullscreenMaterial.setScale(e);this.maskPass.fullscreenMaterial.setStrength(e),this.uniforms.get("scale").value=e}getBokehScale(){return this.bokehScale}setBokehScale(e){this.bokehScale=e}getTarget(){return this.target}setTarget(e){this.target=e}calculateFocusDistance(e){let t=this.camera;return B(-t.position.distanceTo(e),t.near,t.far)}setDepthTexture(e,t=n){this.circleOfConfusionMaterial.depthBuffer=e,this.circleOfConfusionMaterial.depthPacking=t}update(e,t,r){let n=this.renderTarget,i=this.renderTargetCoC,s=this.renderTargetCoCBlurred,a=this.renderTargetMasked;if(this.targetObject&&this.camera){this.target.setFromMatrixPosition(this.targetObject.matrixWorld);let e=this.calculateFocusDistance(this.target);this.circleOfConfusionMaterial.focusDistance=e}this.cocPass.render(e,null,i),this.blurPass.render(e,i,s),this.maskPass.render(e,t,a),this.bokehFarBasePass.render(e,a,n),this.bokehFarFillPass.render(e,n,this.renderTargetFar),this.bokehNearBasePass.render(e,t,n),this.bokehNearFillPass.render(e,n,this.renderTargetNear)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t);let n=r.width,i=r.height,s=[this.cocPass,this.blurPass,this.maskPass,this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass];s.push(this.renderTargetCoC,this.renderTargetMasked),s.forEach(r=>r.setSize(e,t)),s=[this.renderTarget,this.renderTargetNear,this.renderTargetFar,this.renderTargetCoCBlurred],s.forEach(e=>e.setSize(n,i)),[this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass].forEach(e=>e.fullscreenMaterial.setSize(n,i))}initialize(e,t,r){[this.cocPass,this.maskPass,this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass].forEach(n=>n.initialize(e,t,r)),this.blurPass.initialize(e,t,x),void 0!==r&&(this.renderTarget.texture.type=r,this.renderTargetNear.texture.type=r,this.renderTargetFar.texture.type=r,this.renderTargetMasked.texture.type=r,e.outputColorSpace===l&&(this.renderTarget.texture.colorSpace=l,this.renderTargetNear.texture.colorSpace=l,this.renderTargetFar.texture.colorSpace=l,this.renderTargetMasked.texture.colorSpace=l))}};function K(e,t,r){return e+(t-e)*r}function V(e,t,r,n){let i=K(e,t,.75),s=K(r,n,.75);return K(i,s,.875)}new a,new c,new f,Math.PI,new a,new a,new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,0,1]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([1,0,1]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([0,1,1]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([0,1,1]),new Float32Array([1,1,1]),new Float32Array(2),new Float32Array(2),new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125]),new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4]),new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3]),new Map([[V(0,0,0,0),new Float32Array([0,0,0,0])],[V(0,0,0,1),new Float32Array([0,0,0,1])],[V(0,0,1,0),new Float32Array([0,0,1,0])],[V(0,0,1,1),new Float32Array([0,0,1,1])],[V(0,1,0,0),new Float32Array([0,1,0,0])],[V(0,1,0,1),new Float32Array([0,1,0,1])],[V(0,1,1,0),new Float32Array([0,1,1,0])],[V(0,1,1,1),new Float32Array([0,1,1,1])],[V(1,0,0,0),new Float32Array([1,0,0,0])],[V(1,0,0,1),new Float32Array([1,0,0,1])],[V(1,0,1,0),new Float32Array([1,0,1,0])],[V(1,0,1,1),new Float32Array([1,0,1,1])],[V(1,1,0,0),new Float32Array([1,1,0,0])],[V(1,1,0,1),new Float32Array([1,1,0,1])],[V(1,1,1,0),new Float32Array([1,1,1,0])],[V(1,1,1,1),new Float32Array([1,1,1,1])]]);var j=class extends e{constructor(e){super(W)}set focalLength(e){this.effect.circleOfConfusionMaterial.uniforms.focalLength.value=e/2e3}get focalLength(){return this.effect.circleOfConfusionMaterial.uniforms.focalLength.value}set focusDistance(e){this.effect.circleOfConfusionMaterial.uniforms.focusDistance.value=this.isPerspectiveCamera?e/2e3:(e+992)/2e3}get focusDistance(){return this.effect.circleOfConfusionMaterial.uniforms.focusDistance.value}get bokehScale(){return this.effect.bokehScale}set bokehScale(e){this.effect.bokehScale=e}setCamera(e){let t=!1;(e.isPerspectiveCamera&&!1===this.isPerspectiveCamera||!e.isPerspectiveCamera&&!0===this.isPerspectiveCamera)&&(t=!0),e.isPerspectiveCamera?(this.effect.circleOfConfusionMaterial.adoptCameraSettings(e.perspCamera),this.isPerspectiveCamera=!0):(this.effect.circleOfConfusionMaterial.adoptCameraSettings(e),this.isPerspectiveCamera=!1),t&&this.effect.setChanged()}};t("depthOfField",()=>new j);
1
+ import{a as e}from"./runtime-chunk-LILM2PFD.js";import"./runtime-chunk-ZFHWPL5Y.js";import{a as t}from"./runtime-chunk-UIRA2CWJ.js";import"./runtime-chunk-27YYGOTQ.js";import{$c as r,Db as n,Dc as i,Fc as s,Hc as a,Ib as l,Lc as o,Nc as h,Ne as u,Qc as c,Vc as f,Xc as d,ee as g,fd as p,m as v,nd as y,qa as m,ua as x,ye as w,ze as b}from"./runtime-chunk-KPOUV3HD.js";import{c as F}from"./runtime-chunk-ML3Z74BL.js";var C="varying vec2 vUv;void main(){vUv=position.xy*0.5+0.5;gl_Position=vec4(position.xy,1.0,1.0);}",S=class extends g{constructor(e=!1,t=!1){super({name:"BokehMaterial",defines:{PASS:e?"2":"1"},uniforms:{kernel64:new u(null),kernel16:new u(null),inputBuffer:new u(null),cocBuffer:new u(null),texelSize:new u(new s),scale:new u(1)},blending:v,depthWrite:!1,depthTest:!1,fragmentShader:"#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\nuniform lowp sampler2D cocBuffer;uniform vec2 texelSize;uniform float scale;uniform vec4 kernel64[32];varying vec2 vUv;void main(){\n#ifdef FOREGROUND\nvec2 CoCNearFar=texture2D(cocBuffer,vUv).rg;float CoC=CoCNearFar.r*scale;\n#else\nfloat CoC=texture2D(cocBuffer,vUv).g*scale;\n#endif\nif(CoC==0.0){gl_FragColor=texture2D(inputBuffer,vUv);}else{\n#ifdef FOREGROUND\nvec2 step=texelSize*max(CoC,CoCNearFar.g*scale);\n#else\nvec2 step=texelSize*CoC;\n#endif\nvec4 acc=vec4(0.0);for(int i=0;i<32;++i){vec4 kernel=kernel64[i];vec2 uv=step*kernel.xy+vUv;acc+=texture2D(inputBuffer,uv);uv=step*kernel.zw+vUv;acc+=texture2D(inputBuffer,uv);}gl_FragColor=acc/64.0;}}",vertexShader:C}),this.toneMapped=!1,t&&(this.defines.FOREGROUND="1"),this.generateKernel()}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}set cocBuffer(e){this.uniforms.cocBuffer.value=e}setCoCBuffer(e){this.uniforms.cocBuffer.value=e}get scale(){return this.uniforms.scale.value}set scale(e){this.uniforms.scale.value=e}getScale(e){return this.uniforms.scale.value=e}setScale(e){this.uniforms.scale.value=e}generateKernel(){let e=new Float32Array(128),t=new Float32Array(32),r=0,n=0;for(let i=0;i<80;++i){let s=2.39996323*i,a=Math.sqrt(i)/Math.sqrt(80),l=a*Math.cos(s),o=a*Math.sin(s);i%5==0?(t[n++]=l,t[n++]=o):(e[r++]=l,e[r++]=o)}let i=[],s=[];for(let t=0;t<128;)i.push(new o(e[t++],e[t++],e[t++],e[t++]));for(let e=0;e<32;)s.push(new o(t[e++],t[e++],t[e++],t[e++]));this.uniforms.kernel64.value=i,this.uniforms.kernel16.value=s}setTexelSize(e,t){this.uniforms.texelSize.value.set(e,t)}setSize(e,t){this.uniforms.texelSize.value.set(1/e,1/t)}};function A(e,t,r){return e*(t-r)-t}function B(e,t,r){return Math.min(Math.max((e+t)/(t-r),0),1)}var T=class extends g{constructor(e){super({name:"CircleOfConfusionMaterial",defines:{DEPTH_PACKING:"0"},uniforms:{depthBuffer:new u(null),focusDistance:new u(0),focusRange:new u(0),cameraNear:new u(.3),cameraFar:new u(1e3)},blending:v,depthWrite:!1,depthTest:!1,fragmentShader:"#include <common>\n#include <packing>\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\nuniform float focusDistance;uniform float focusRange;uniform float cameraNear;uniform float cameraFar;varying vec2 vUv;float readDepth(const in vec2 uv){\n#if DEPTH_PACKING == 3201\nreturn unpackRGBAToDepth(texture2D(depthBuffer,uv));\n#else\nreturn texture2D(depthBuffer,uv).r;\n#endif\n}void main(){float depth=readDepth(vUv);\n#ifdef PERSPECTIVE_CAMERA\nfloat viewZ=perspectiveDepthToViewZ(depth,cameraNear,cameraFar);float linearDepth=viewZToOrthographicDepth(viewZ,cameraNear,cameraFar);\n#else\nfloat linearDepth=depth;\n#endif\nfloat signedDistance=linearDepth-focusDistance;float magnitude=smoothstep(0.0,focusRange,abs(signedDistance));gl_FragColor.rg=magnitude*vec2(step(signedDistance,0.0),step(0.0,signedDistance));}",vertexShader:C}),this.toneMapped=!1,this.uniforms.focalLength=this.uniforms.focusRange,this.adoptCameraSettings(e)}get near(){return this.uniforms.cameraNear.value}get far(){return this.uniforms.cameraFar.value}set depthBuffer(e){this.uniforms.depthBuffer.value=e}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer(e,t=n){this.depthBuffer=e,this.depthPacking=t}get focusDistance(){return this.uniforms.focusDistance.value}set focusDistance(e){this.uniforms.focusDistance.value=e}get worldFocusDistance(){return-A(this.focusDistance,this.near,this.far)}set worldFocusDistance(e){this.focusDistance=B(-e,this.near,this.far)}getFocusDistance(e){this.uniforms.focusDistance.value=e}setFocusDistance(e){this.uniforms.focusDistance.value=e}get focalLength(){return this.focusRange}set focalLength(e){this.focusRange=e}get focusRange(){return this.uniforms.focusRange.value}set focusRange(e){this.uniforms.focusRange.value=e}get worldFocusRange(){return-A(this.focusRange,this.near,this.far)}set worldFocusRange(e){this.focusRange=B(-e,this.near,this.far)}getFocalLength(e){return this.focusRange}setFocalLength(e){this.focusRange=e}adoptCameraSettings(e){e&&(this.uniforms.cameraNear.value=e.near,this.uniforms.cameraFar.value=e.far,e instanceof b?this.defines.PERSPECTIVE_CAMERA="1":delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}},k=class extends g{constructor(e=new s){super({name:"KawaseBlurMaterial",uniforms:{inputBuffer:new u(null),texelSize:new u(new s),halfTexelSize:new u(new s),kernel:new u(0),scale:new u(1)},blending:v,depthWrite:!1,depthTest:!1,fragmentShader:"#include <common>\n#include <dithering_pars_fragment>\n#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\nvarying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec4 sum=texture2D(inputBuffer,vUv0);sum+=texture2D(inputBuffer,vUv1);sum+=texture2D(inputBuffer,vUv2);sum+=texture2D(inputBuffer,vUv3);gl_FragColor=sum*0.25;\n#include <colorspace_fragment>\n#include <dithering_fragment>\n}",vertexShader:"uniform vec2 texelSize;uniform vec2 halfTexelSize;uniform float kernel;uniform float scale;varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec2 uv=position.xy*0.5+0.5;vec2 dUv=(texelSize*vec2(kernel)+halfTexelSize)*scale;vUv0=vec2(uv.x-dUv.x,uv.y+dUv.y);vUv1=vec2(uv.x+dUv.x,uv.y+dUv.y);vUv2=vec2(uv.x+dUv.x,uv.y-dUv.y);vUv3=vec2(uv.x-dUv.x,uv.y-dUv.y);gl_Position=vec4(position.xy,1.0,1.0);}"}),this.toneMapped=!1,this.setTexelSize(e.x,e.y)}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.inputBuffer=e}get scale(){return this.uniforms.scale.value}set scale(e){this.uniforms.scale.value=e}getScale(){return this.uniforms.scale.value}setScale(e){this.uniforms.scale.value=e}getKernel(){return null}get kernel(){return this.uniforms.kernel.value}set kernel(e){this.uniforms.kernel.value=e}setKernel(e){this.kernel=e}setTexelSize(e,t){this.uniforms.texelSize.value.set(e,t),this.uniforms.halfTexelSize.value.set(e,t).multiplyScalar(.5)}setSize(e,t){let r=this.uniforms;r.texelSize.value.set(1/e,1/t),r.halfTexelSize.value.copy(r.texelSize.value).multiplyScalar(.5)}},M=class extends g{constructor(e=null){super({name:"MaskMaterial",uniforms:{maskTexture:new u(e),inputBuffer:new u(null),strength:new u(1)},blending:v,depthWrite:!1,depthTest:!1,fragmentShader:"#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\n#ifdef MASK_PRECISION_HIGH\nuniform mediump sampler2D maskTexture;\n#else\nuniform lowp sampler2D maskTexture;\n#endif\n#if MASK_FUNCTION != 0\nuniform float strength;\n#endif\nvarying vec2 vUv;void main(){\n#if COLOR_CHANNEL == 0\nfloat mask=texture2D(maskTexture,vUv).r;\n#elif COLOR_CHANNEL == 1\nfloat mask=texture2D(maskTexture,vUv).g;\n#elif COLOR_CHANNEL == 2\nfloat mask=texture2D(maskTexture,vUv).b;\n#else\nfloat mask=texture2D(maskTexture,vUv).a;\n#endif\n#if MASK_FUNCTION == 0\n#ifdef INVERTED\nmask=step(mask,0.0);\n#else\nmask=1.0-step(mask,0.0);\n#endif\n#else\nmask=clamp(mask*strength,0.0,1.0);\n#ifdef INVERTED\nmask=1.0-mask;\n#endif\n#endif\n#if MASK_FUNCTION == 2\ngl_FragColor=vec4(mask*texture2D(inputBuffer,vUv).rgb,mask);\n#else\ngl_FragColor=mask*texture2D(inputBuffer,vUv);\n#endif\n}",vertexShader:C}),this.toneMapped=!1,this.setColorChannel(0),this.setMaskFunction(0)}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}set maskTexture(e){this.uniforms.maskTexture.value=e,delete this.defines.MASK_PRECISION_HIGH,e.type!==x&&(this.defines.MASK_PRECISION_HIGH="1"),this.needsUpdate=!0}setMaskTexture(e){this.maskTexture=e}set colorChannel(e){this.defines.COLOR_CHANNEL=e.toFixed(0),this.needsUpdate=!0}setColorChannel(e){this.colorChannel=e}set maskFunction(e){this.defines.MASK_FUNCTION=e.toFixed(0),this.needsUpdate=!0}setMaskFunction(e){this.maskFunction=e}get inverted(){return void 0!==this.defines.INVERTED}set inverted(e){this.inverted&&!e?delete this.defines.INVERTED:e&&(this.defines.INVERTED="1"),this.needsUpdate=!0}isInverted(){return this.inverted}setInverted(e){this.inverted=e}get strength(){return this.uniforms.strength.value}set strength(e){this.uniforms.strength.value=e}getStrength(){return this.strength}setStrength(e){this.strength=e}},U=new w,D=null,P=class{constructor(e="Pass",t=new d,r=U){this.name=e,this.renderer=null,this.scene=t,this.camera=r,this.screen=null,this.rtt=!0,this.needsSwap=!0,this.needsDepthTexture=!1,this.enabled=!0}get renderToScreen(){return!this.rtt}set renderToScreen(e){if(this.rtt===e){let t=this.getFullscreenMaterial();null!==t&&(t.needsUpdate=!0),this.rtt=!e}}setRenderer(e){this.renderer=e}isEnabled(){return this.enabled}setEnabled(e){this.enabled=e}get fullscreenMaterial(){return null!==this.screen?this.screen.material:null}set fullscreenMaterial(e){let t=this.screen;null!==t?t.material=e:(t=new y(function(){if(null===D){let e=new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),t=new Float32Array([0,0,2,0,0,2]);void 0!==(D=new p).setAttribute?(D.setAttribute("position",new r(e,3)),D.setAttribute("uv",new r(t,2))):(D.addAttribute("position",new r(e,3)),D.addAttribute("uv",new r(t,2)))}return D}(),e),t.frustumCulled=!1,null===this.scene&&(this.scene=new d),this.scene.add(t),this.screen=t)}getFullscreenMaterial(){return this.fullscreenMaterial}setFullscreenMaterial(e){this.fullscreenMaterial=e}getDepthTexture(){return null}setDepthTexture(e,t=n){}render(e,t,r,n,i){throw new Error("Render method not implemented!")}setSize(e,t){}initialize(e,t,r){}dispose(){for(let e of Object.keys(this)){let t=this[e];if(null!==t&&"object"==typeof t&&"function"==typeof t.dispose){if(t instanceof d||t===this.renderer)continue;this[e].dispose()}}}},E=(new f,-1),z=class extends i{constructor(e,t=E,r=E,n=1){super(),this.resizable=e,this.base=new s(1,1),this.preferred=new s(t,r),this.target=this.preferred,this.s=n}get width(){let e,{base:t,preferred:r,scale:n}=this;return e=r.width!==E?r.width:r.height!==E?Math.round(r.height*(t.width/Math.max(t.height,1))):Math.round(t.width*n),e}set width(e){this.preferredWidth=e}get height(){let e,{base:t,preferred:r,scale:n}=this;return e=r.height!==E?r.height:r.width!==E?Math.round(r.width/Math.max(t.width/Math.max(t.height,1),1)):Math.round(t.height*n),e}set height(e){this.preferredHeight=e}getWidth(){return this.width}getHeight(){return this.height}get scale(){return this.s}set scale(e){this.s!==e&&(this.s=e,this.preferred.setScalar(E),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getScale(){return this.scale}setScale(e){this.scale=e}get baseWidth(){return this.base.width}set baseWidth(e){this.base.width!==e&&(this.base.width=e,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getBaseWidth(){return this.base.width}setBaseWidth(e){this.base.width!==e&&(this.base.width=e,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}get baseHeight(){return this.base.height}set baseHeight(e){this.base.height!==e&&(this.base.height=e,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getBaseHeight(){return this.baseHeight}setBaseHeight(e){this.baseHeight=e}setBaseSize(e,t){(this.base.width!==e||this.base.height!==t)&&(this.base.set(e,t),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}get preferredWidth(){return this.preferred.width}set preferredWidth(e){this.preferred.width!==e&&(this.preferred.width=e,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getPreferredWidth(){return this.preferredWidth}setPreferredWidth(e){this.preferredWidth=e}get preferredHeight(){return this.preferred.height}set preferredHeight(e){this.preferred.height!==e&&(this.preferred.height=e,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getPreferredHeight(){return this.preferredHeight}setPreferredHeight(e){this.preferredHeight=e}setPreferredSize(e,t){(this.preferred.width!==e||this.preferred.height!==t)&&(this.preferred.set(e,t),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}copy(e){this.base.set(e.getBaseWidth(),e.getBaseHeight()),this.preferred.set(e.getPreferredWidth(),e.getPreferredHeight()),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height)}static get AUTO_SIZE(){return E}},R=(new Float32Array([255/256/256**3,255/256/65536,255/256/256,255/256]),13),N=new Map([[0,null],[1,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return min(x+y,1.0)*opacity+x*(1.0-opacity);}"],[2,"vec3 blend(const in vec3 x,const in vec3 y,const in float opacity){return y*opacity+x*(1.0-opacity);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){float a=min(y.a,opacity);return vec4(blend(x.rgb,y.rgb,a),max(x.a,a));}"],[3,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(x+y)*0.5*opacity+x*(1.0-opacity);}"],[4,"float blend(const in float x,const in float y){return(y==0.0)?y:max(1.0-(1.0-x)/y,0.0);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[5,"float blend(const in float x,const in float y){return(y==1.0)?y:min(x/(1.0-y),1.0);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[6,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return min(x,y)*opacity+x*(1.0-opacity);}"],[7,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return abs(x-y)*opacity+x*(1.0-opacity);}"],[8,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(x+y-2.0*x*y)*opacity+x*(1.0-opacity);}"],[9,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return max(x,y)*opacity+x*(1.0-opacity);}"],[10,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return x*y*opacity+x*(1.0-opacity);}"],[11,"float blend(const in float x,const in float y){return(y>0.0)?min(x/y,1.0):1.0;}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[12,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(1.0-abs(1.0-x-y))*opacity+x*(1.0-opacity);}"],[R,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return y*opacity+x*(1.0-opacity);}"],[14,"float blend(const in float x,const in float y){return(x<0.5)?(2.0*x*y):(1.0-2.0*(1.0-x)*(1.0-y));}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[15,"float blend(const in float x,const in float y){return(y==1.0)?y:min(x*x/(1.0-y),1.0);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[16,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(1.0-(1.0-x)*(1.0-y))*opacity+x*(1.0-opacity);}"],[17,"float blend(const in float x,const in float y){return(y<0.5)?(2.0*x*y+x*x*(1.0-2.0*y)):(sqrt(x)*(2.0*y-1.0)+2.0*x*(1.0-y));}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[18,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return max(x+y-1.0,0.0)*opacity+x*(1.0-opacity);}"]]),I=class extends i{constructor(e,t=1){super(),this.f=e,this.opacity=new u(t)}getOpacity(){return this.opacity.value}setOpacity(e){this.opacity.value=e}get blendFunction(){return this.f}set blendFunction(e){this.f=e,this.dispatchEvent({type:"change"})}getBlendFunction(){return this.blendFunction}setBlendFunction(e){this.blendFunction=e}getShaderCode(){return N.get(this.blendFunction)}},O=class extends i{constructor(e,t,{attributes:r=0,blendFunction:n=16,defines:i=new Map,uniforms:s=new Map,extensions:a=null,vertexShader:l=null}={}){super(),this.name=e,this.renderer=null,this.attributes=r,this.fragmentShader=t,this.vertexShader=l,this.defines=i,this.uniforms=s,this.extensions=a,this.blendMode=new I(n),this.blendMode.addEventListener("change",e=>this.setChanged())}getName(){return this.name}setRenderer(e){this.renderer=e}getDefines(){return this.defines}getUniforms(){return this.uniforms}getExtensions(){return this.extensions}getBlendMode(){return this.blendMode}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e,this.setChanged()}getFragmentShader(){return this.fragmentShader}setFragmentShader(e){this.fragmentShader=e,this.setChanged()}getVertexShader(){return this.vertexShader}setVertexShader(e){this.vertexShader=e,this.setChanged()}setChanged(){this.dispatchEvent({type:"change"})}setDepthTexture(e,t=n){}update(e,t,r){}setSize(e,t){}initialize(e,t,r){}dispose(){for(let e of Object.keys(this)){let t=this[e];if(null!==t&&"object"==typeof t&&"function"==typeof t.dispose){if(t instanceof d||t===this.renderer)continue;this[e].dispose()}}}},_=[new Float32Array([0,0]),new Float32Array([0,1,1]),new Float32Array([0,1,1,2]),new Float32Array([0,1,2,2,3]),new Float32Array([0,1,2,3,4,4,5]),new Float32Array([0,1,2,3,4,5,7,8,9,10])],H=class extends P{constructor({resolutionScale:e=.5,width:t=z.AUTO_SIZE,height:r=z.AUTO_SIZE,kernelSize:n=G.LARGE}={}){super("KawaseBlurPass"),this.renderTargetA=new h(1,1,{minFilter:m,magFilter:m,stencilBuffer:!1,depthBuffer:!1}),this.renderTargetA.texture.name="Blur.Target.A",this.renderTargetB=this.renderTargetA.clone(),this.renderTargetB.texture.name="Blur.Target.B";let i=this.resolution=new z(this,t,r,e);i.addEventListener("change",e=>this.setSize(i.baseWidth,i.baseHeight)),this.blurMaterial=new k,this.ditheredBlurMaterial=new k,this.ditheredBlurMaterial.uniforms.scale=this.blurMaterial.uniforms.scale,this.ditheredBlurMaterial.dithering=!0,this.dithering=!1,this.kernelSize=n}getResolution(){return this.resolution}get width(){return this.resolution.width}set width(e){this.resolution.preferredWidth=e}get height(){return this.resolution.height}set height(e){this.resolution.preferredHeight=e}get scale(){return this.blurMaterial.scale}set scale(e){this.blurMaterial.scale=e}getScale(){return this.blurMaterial.scale}setScale(e){this.blurMaterial.scale=e}getKernelSize(){return this.kernelSize}setKernelSize(e){this.kernelSize=e}getResolutionScale(){return this.resolution.scale}setResolutionScale(e){this.resolution.scale=e}render(e,t,r,n,i){let s,a,l=this.scene,o=this.camera,h=this.renderTargetA,u=this.renderTargetB,c=_[this.kernelSize],f=this.blurMaterial,d=t;for(this.fullscreenMaterial=f,s=0,a=c.length-1;s<a;++s){let t=1&s?u:h;f.kernel=c[s],f.inputBuffer=d.texture,e.setRenderTarget(t),e.render(l,o),d=t}this.dithering&&(f=this.ditheredBlurMaterial,this.fullscreenMaterial=f),f.kernel=c[s],f.inputBuffer=d.texture,e.setRenderTarget(this.renderToScreen?null:r),e.render(l,o)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t);let n=r.width,i=r.height;this.renderTargetA.setSize(n,i),this.renderTargetB.setSize(n,i),this.blurMaterial.setSize(n,i),this.ditheredBlurMaterial.setSize(n,i)}initialize(e,t,r){void 0!==r&&(this.renderTargetA.texture.type=r,this.renderTargetB.texture.type=r,r!==x?(this.blurMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1",this.ditheredBlurMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1"):e.outputColorSpace===l&&(this.renderTargetA.texture.colorSpace=l,this.renderTargetB.texture.colorSpace=l))}static get AUTO_SIZE(){return z.AUTO_SIZE}},L=class extends P{constructor(e,t="inputBuffer"){super("ShaderPass"),this.fullscreenMaterial=e,this.inputBufferUniform=null,this.setInput(t)}setInput(e){if(this.inputBufferUniform=null,null!==this.fullscreenMaterial){let t=this.fullscreenMaterial.uniforms;void 0!==t&&void 0!==t[e]&&(this.inputBufferUniform=t[e])}}render(e,t,r,n,i){null!==this.inputBufferUniform&&null!==t&&(this.inputBufferUniform.value=t.texture),e.setRenderTarget(this.renderToScreen?null:r),e.render(this.scene,this.camera)}initialize(e,t,r){void 0!==r&&r!==x&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}},G={VERY_SMALL:0,SMALL:1,MEDIUM:2,LARGE:3,VERY_LARGE:4,HUGE:5},W=class extends O{constructor(e,{blendFunction:t=R,worldFocusDistance:r,worldFocusRange:n,focusDistance:i=0,focalLength:s=.1,focusRange:l=s,bokehScale:o=1,width:c=z.AUTO_SIZE,height:f=z.AUTO_SIZE}={}){super("DepthOfFieldEffect","#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D nearColorBuffer;uniform mediump sampler2D farColorBuffer;\n#else\nuniform lowp sampler2D nearColorBuffer;uniform lowp sampler2D farColorBuffer;\n#endif\nuniform lowp sampler2D nearCoCBuffer;uniform float scale;void mainImage(const in vec4 inputColor,const in vec2 uv,const in float depth,out vec4 outputColor){vec4 colorNear=texture2D(nearColorBuffer,uv);vec4 colorFar=texture2D(farColorBuffer,uv);float CoCNear=texture2D(nearCoCBuffer,uv).r;CoCNear=min(CoCNear*scale,1.0);vec4 result=inputColor*(1.0-colorFar.a)+colorFar;result=mix(result,colorNear,CoCNear);outputColor=result;}",{blendFunction:t,attributes:1,uniforms:new Map([["nearColorBuffer",new u(null)],["farColorBuffer",new u(null)],["nearCoCBuffer",new u(null)],["scale",new u(1)]])}),F(this,"targetObject"),this.camera=e,this.renderTarget=new h(1,1,{minFilter:m,magFilter:m,stencilBuffer:!1,depthBuffer:!1}),this.renderTarget.texture.name="DoF.Intermediate",this.renderTarget.texture.generateMipmaps=!1,this.renderTargetMasked=this.renderTarget.clone(),this.renderTargetMasked.texture.name="DoF.Masked.Far",this.renderTargetNear=this.renderTarget.clone(),this.renderTargetNear.texture.name="DoF.Bokeh.Near",this.uniforms.get("nearColorBuffer").value=this.renderTargetNear.texture,this.renderTargetFar=this.renderTarget.clone(),this.renderTargetFar.texture.name="DoF.Bokeh.Far",this.uniforms.get("farColorBuffer").value=this.renderTargetFar.texture,this.renderTargetCoC=this.renderTarget.clone(),this.renderTargetCoC.texture.name="DoF.CoC",this.renderTargetCoCBlurred=this.renderTargetCoC.clone(),this.renderTargetCoCBlurred.texture.name="DoF.CoC.Blurred",this.uniforms.get("nearCoCBuffer").value=this.renderTargetCoCBlurred.texture,this.cocPass=new L(new T(e));let d=this.cocMaterial;d.focusDistance=i,d.focusRange=l,void 0!==r&&(d.worldFocusDistance=r),void 0!==n&&(d.worldFocusRange=n),this.blurPass=new H({kernelSize:G.MEDIUM,width:c,height:f});let g=this.blurPass.getResolution();g.addEventListener("change",e=>this.setSize(g.getBaseWidth(),g.getBaseHeight())),this.maskPass=new L(new M(this.renderTargetCoC.texture));let p=this.maskPass.fullscreenMaterial;p.maskFunction=1,p.colorChannel=1,this.bokehNearBasePass=new L(new S(!1,!0)),this.bokehNearBasePass.fullscreenMaterial.cocBuffer=this.renderTargetCoCBlurred.texture,this.bokehNearFillPass=new L(new S(!0,!0)),this.bokehNearFillPass.fullscreenMaterial.cocBuffer=this.renderTargetCoCBlurred.texture,this.bokehFarBasePass=new L(new S(!1,!1)),this.bokehFarBasePass.fullscreenMaterial.cocBuffer=this.renderTargetCoC.texture,this.bokehFarFillPass=new L(new S(!0,!1)),this.bokehFarFillPass.fullscreenMaterial.cocBuffer=this.renderTargetCoC.texture,this.target=new a,this.bokehScale=o}get cocTexture(){return this.renderTargetCoC.texture}get cocMaterial(){return this.cocPass.fullscreenMaterial}get circleOfConfusionMaterial(){return this.cocMaterial}getCircleOfConfusionMaterial(){return this.circleOfConfusionMaterial}getBlurPass(){return this.blurPass}get resolution(){return this.blurPass.getResolution()}getResolution(){return this.blurPass.getResolution()}get bokehScale(){return this.uniforms.get("scale").value}set bokehScale(e){let t=[this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass];for(let r of t)r.fullscreenMaterial.setScale(e);this.maskPass.fullscreenMaterial.setStrength(e),this.uniforms.get("scale").value=e}getBokehScale(){return this.bokehScale}setBokehScale(e){this.bokehScale=e}getTarget(){return this.target}setTarget(e){this.target=e}calculateFocusDistance(e){let t=this.camera;return B(-t.position.distanceTo(e),t.near,t.far)}setDepthTexture(e,t=n){this.circleOfConfusionMaterial.depthBuffer=e,this.circleOfConfusionMaterial.depthPacking=t}update(e,t,r){let n=this.renderTarget,i=this.renderTargetCoC,s=this.renderTargetCoCBlurred,a=this.renderTargetMasked;if(this.targetObject&&this.camera){this.target.setFromMatrixPosition(this.targetObject.matrixWorld);let e=this.calculateFocusDistance(this.target);this.circleOfConfusionMaterial.focusDistance=e}this.cocPass.render(e,null,i),this.blurPass.render(e,i,s),this.maskPass.render(e,t,a),this.bokehFarBasePass.render(e,a,n),this.bokehFarFillPass.render(e,n,this.renderTargetFar),this.bokehNearBasePass.render(e,t,n),this.bokehNearFillPass.render(e,n,this.renderTargetNear)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t);let n=r.width,i=r.height,s=[this.cocPass,this.blurPass,this.maskPass,this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass];s.push(this.renderTargetCoC,this.renderTargetMasked),s.forEach(r=>r.setSize(e,t)),s=[this.renderTarget,this.renderTargetNear,this.renderTargetFar,this.renderTargetCoCBlurred],s.forEach(e=>e.setSize(n,i)),[this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass].forEach(e=>e.fullscreenMaterial.setSize(n,i))}initialize(e,t,r){[this.cocPass,this.maskPass,this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass].forEach(n=>n.initialize(e,t,r)),this.blurPass.initialize(e,t,x),void 0!==r&&(this.renderTarget.texture.type=r,this.renderTargetNear.texture.type=r,this.renderTargetFar.texture.type=r,this.renderTargetMasked.texture.type=r,e.outputColorSpace===l&&(this.renderTarget.texture.colorSpace=l,this.renderTargetNear.texture.colorSpace=l,this.renderTargetFar.texture.colorSpace=l,this.renderTargetMasked.texture.colorSpace=l))}};function K(e,t,r){return e+(t-e)*r}function V(e,t,r,n){let i=K(e,t,.75),s=K(r,n,.75);return K(i,s,.875)}new a,new c,new f,Math.PI,new a,new a,new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,0,1]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([1,0,1]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([0,1,1]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([0,1,1]),new Float32Array([1,1,1]),new Float32Array(2),new Float32Array(2),new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125]),new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4]),new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3]),new Map([[V(0,0,0,0),new Float32Array([0,0,0,0])],[V(0,0,0,1),new Float32Array([0,0,0,1])],[V(0,0,1,0),new Float32Array([0,0,1,0])],[V(0,0,1,1),new Float32Array([0,0,1,1])],[V(0,1,0,0),new Float32Array([0,1,0,0])],[V(0,1,0,1),new Float32Array([0,1,0,1])],[V(0,1,1,0),new Float32Array([0,1,1,0])],[V(0,1,1,1),new Float32Array([0,1,1,1])],[V(1,0,0,0),new Float32Array([1,0,0,0])],[V(1,0,0,1),new Float32Array([1,0,0,1])],[V(1,0,1,0),new Float32Array([1,0,1,0])],[V(1,0,1,1),new Float32Array([1,0,1,1])],[V(1,1,0,0),new Float32Array([1,1,0,0])],[V(1,1,0,1),new Float32Array([1,1,0,1])],[V(1,1,1,0),new Float32Array([1,1,1,0])],[V(1,1,1,1),new Float32Array([1,1,1,1])]]);var j=class extends e{constructor(e){super(W)}set focalLength(e){this.effect.circleOfConfusionMaterial.uniforms.focalLength.value=e/2e3}get focalLength(){return this.effect.circleOfConfusionMaterial.uniforms.focalLength.value}set focusDistance(e){this.effect.circleOfConfusionMaterial.uniforms.focusDistance.value=this.isPerspectiveCamera?e/2e3:(e+992)/2e3}get focusDistance(){return this.effect.circleOfConfusionMaterial.uniforms.focusDistance.value}get bokehScale(){return this.effect.bokehScale}set bokehScale(e){this.effect.bokehScale=e}setCamera(e){let t=!1;(e.isPerspectiveCamera&&!1===this.isPerspectiveCamera||!e.isPerspectiveCamera&&!0===this.isPerspectiveCamera)&&(t=!0),e.isPerspectiveCamera?(this.effect.circleOfConfusionMaterial.adoptCameraSettings(e.perspCamera),this.isPerspectiveCamera=!0):(this.effect.circleOfConfusionMaterial.adoptCameraSettings(e),this.isPerspectiveCamera=!1),t&&this.effect.setChanged()}};t("depthOfField",()=>new j);
@@ -1 +1 @@
1
- import{a as t}from"./runtime-chunk-H3GBDFOK.js";import{a as e,b as a}from"./runtime-chunk-DZNU62CT.js";import{a as i}from"./runtime-chunk-VAVYZ35B.js";import"./runtime-chunk-FQNSP44B.js";import{h as r}from"./runtime-chunk-I75NOKWN.js";import"./runtime-chunk-UA5JL7GT.js";import{h as o}from"./runtime-chunk-ZBFMKDJO.js";import"./runtime-chunk-TU4KDRKR.js";import"./runtime-chunk-QW5ROIFP.js";import"./runtime-chunk-ISVHBZCM.js";import"./runtime-chunk-HUGCXGJ2.js";import"./runtime-chunk-VPTEPOIE.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{f as n,g as s}from"./runtime-chunk-UNI3D2MC.js";import{h as c,v as h}from"./runtime-chunk-A4MHIZFN.js";import"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-MOPA2GCL.js";import{a as d}from"./runtime-chunk-TZCHGFVF.js";import{Ua as p}from"./runtime-chunk-ADHKZQMB.js";import{Gc as l,Hc as v,Ic as u,Qc as m,td as g}from"./runtime-chunk-KPOUV3HD.js";import"./runtime-chunk-ML3Z74BL.js";var E=new v,f=new v,D=new v,y=new g,b=new v,x=new v,C=new v,j=new l,M=(new m,new u),P=new v,I=new v,T=.2;function w(t,e){!e||(e[0]<e[1]&&(t.x=Math.min(Math.max(t.x,e[0]),e[1])),e[2]<e[3]&&(t.y=Math.min(Math.max(t.y,e[2]),e[3])),e[4]<e[5]&&(t.z=Math.min(Math.max(t.z,e[4]),e[5])))}var S=function(){let t=new m;return(e,a,i)=>{let n=e.obj;n.parent instanceof r?t.identity():t.copy(n.parent.matrixWorld),t.invert(),n.position.copy(a),"global"===e.reference&&w(n.position,e.limits),n.position.applyMatrix4(t),"parent"===e.reference?w(n.position,e.limits):"local"===e.reference&&(j.copy(e.quat0).invert(),n.position.sub(e.position0),n.position.applyQuaternion(j),w(n.position,e.limits),j.invert(),n.position.applyQuaternion(j),n.position.add(e.position0)),t.multiply(i??n.matrixWorld),p(t,{quaternion:n.quaternion}),n.updateMatrix(),n.updateMatrixWorld(),n.hasNonUniformScale&&n.updateMatrixWorldRigid(),n instanceof h&&o(n.parent)&&n.invalidateDownstreamBooleanData(!0)}}(),k=class{constructor(t,e,a,i,r,o,s){this.object=t,this.id=e,this.data=a,this.dropDestIds=[],this.activeIdx=null,this.wasDragEventTriggered=!1,this.resetDampingFactor=0===this.data.resetSpeed?1:8/this.data.resetSpeed+1,this.snapDampingFactor=0===this.data.snapSpeed?1:8/this.data.snapSpeed+1,this.actionsDrag=n(a,a.dragDropActions.drag,i,r,o,this.object),this.actionsDrop=n(a,a.dragDropActions.drop,i,r,o,this.object);let c=[];this.data.objects.forEach(t=>{let e=i.find(t);!e||!1!==e.data.visible&&(c.push(e),s[e.uuid]&&s[e.uuid].forEach(t=>{let e=i.find(t);!e||!1!==e.data.visible&&c.push(e)}))}),this.data.dropDestinations.forEach(t=>{let e=i.find(t);!e||!1!==e.data.visible&&(this.dropDestIds.push(e.uuid),s[e.uuid]&&s[e.uuid].forEach(t=>{let e=i.find(t);!e||!1!==e.data.visible&&this.dropDestIds.push(e.uuid)}))}),this.dragItems=c.map(t=>("locked"===this.data.planeMode&&(t.userData.lockedPlane=!0),t.userData.worldPosition0=(new v).setFromMatrixPosition(t.matrixWorld),{obj:t,fromPosition:(new v).setFromMatrixPosition(t.matrixWorld),pointStart:new v,pointEnd:new v,paused:!0,currentDampingFactor:this.data.dampingFactor,reset:!1,position0:(new v).copy(t.position),quat0:(new l).copy(t.quaternion),snapped:!1,orientationMatrix:new m,limits:this.data.limits,reference:this.data.referenceFrame}))}get activeDragItem(){return null!==this.activeIdx?this.dragItems[this.activeIdx]:null}dispose(){s(this.actionsDrag),s(this.actionsDrop),this.dragItems.forEach(t=>{t.fromPosition.copy(t.obj.userData.worldPosition0),t.pointStart.copy(t.fromPosition),t.pointEnd.copy(t.pointStart),t.obj.recursiveBBoxNeedsUpdate=!0,t.obj.userData.lockedPlane=void 0,t.obj.position.copy(t.position0),t.obj.quaternion.copy(t.quat0),t.obj.updateMatrix()})}},F=class extends e{constructor(e,a){super(e),this.eventManager=a,this.events=[],this.lastDropDestination=null,this.dragTimeout=null,this.lastCursorRaycastTime=0,this.trailingCursorTimer=null,this.trailingCursorEvent=null,this.onPointerDown=t=>{if(i.length>1)return;this.eventContext.updateRaycaster(t);let{raycaster:e,page:a}=this.eventContext,r=a.raycastWithClones(e);if(this.lastDropDestination=null,0!==r.length){for(let t of this.events){let e=0;for(let{obj:a,pointEnd:i,pointStart:o}of t.dragItems){if(a===r[0].object||a===r[0].object.object||c.is(a)&&a.isAncestorOf(r[0].object.uuid)){if(t.activeIdx=e,t.activeDragItem.reset=!1,t.activeDragItem.currentDampingFactor=t.data.dampingFactor,t.activeDragItem.snapped=!1,"hand"===t.data.cursor&&this.setCursor("grabbing"),this.eventManager.controlsManager.usePhysics){t.activeDragItem.obj.rigidBody&&(t.activeDragItem.obj.rigidBody.setBodyType(2,!0),this.eventManager.controlsManager.sharedGameControlGlobals.kinematicBodyToEntity.set(t.activeDragItem.obj.rigidBody.handle,t.activeDragItem.obj));let e=t.activeDragItem.obj;a.hasNonUniformScale&&a.updateMatrixWorldRigid(),(e.hasNonUniformScale?e.matrixWorldRigid:e.matrixWorld).decompose(b,j,x),void 0===e.prevQ?(e.prevQ=j.clone(),e.prevT=b.clone()):(e.prevQ.copy(j),e.prevT.copy(b)),this.eventManager.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim.push(t.activeDragItem.obj)}return this.calcPlaneIntersectPos(a,o,t.data.plane,t.data.referenceFrame),i.copy(o),(this.eventManager.controlsManager.usePhysics&&"dynamic"===a.data.physics?.rigidBody||!1===t.data.drop||!1===t.data.resetOnSnapFail)&&t.activeDragItem.fromPosition.setFromMatrixPosition(t.activeDragItem.obj.matrixWorld),this.activeEvent=t,void(this.eventManager.controlsManager.orbitControls&&(this.eventManager.controlsManager.orbitControls.enabled=!1))}e++}}this.activeEvent=null}else this.activeEvent=null},this.runTrailingCursorUpdate=()=>{this.trailingCursorTimer=null;let t=this.trailingCursorEvent;this.trailingCursorEvent=null,null!==t&&0===i.length&&(this.eventContext.updateRaycaster(t),this.lastCursorRaycastTime=performance.now(),this.updateCursorFromRaycast())},this.onPointerMove=e=>{if(i.length>1)return;this.eventContext.updateRaycaster(e);let{raycaster:a,page:r}=this.eventContext;if(0===i.length){if(!this.events.some(t=>"hand"===t.data.cursor||"move"===t.data.cursor))return;let t=performance.now();return t-this.lastCursorRaycastTime<16?(this.trailingCursorEvent=e,void(null===this.trailingCursorTimer&&(this.trailingCursorTimer=window.setTimeout(this.runTrailingCursorUpdate,32)))):(this.trailingCursorEvent=null,this.lastCursorRaycastTime=t,void this.updateCursorFromRaycast())}if(this.activeEvent&&this.activeEvent.activeDragItem){let e,i=this.activeEvent.activeDragItem;if(i.snapped=!1,this.activeEvent.data.drop&&(e=r.raycastWithClones(a).filter(e=>i.obj!==e.object&&!i.obj.isAncestorOf(e.object.uuid)&&!(e.object instanceof t)&&("all"===this.activeEvent.data.dropOn||this.activeEvent.dropDestIds.some(t=>t===e.object.uuid||r.scene.find(t).isAncestorOf(e.object.uuid))))[0]),e){let t=C.copy(e.face.normal).applyMatrix3(M.getNormalMatrix(e.object.matrixWorld));if("center"===this.activeEvent.data.snapTo)i.fromPosition.setFromMatrixPosition(e.object.matrixWorld);else if("surface"===this.activeEvent.data.snapTo){if(i.fromPosition.copy(e.point),"bbox"===this.activeEvent.data.snapSurfaceMode){b.copy(t).applyMatrix3(M.setFromMatrix4(i.obj.matrixWorld).transpose());let e=i.obj;b.x>T?x.x=-e.recursiveBBox.min.x:b.x<-T&&(x.x=-e.recursiveBBox.max.x),b.y>T?x.y=-e.recursiveBBox.min.y:b.y<-T&&(x.y=-e.recursiveBBox.max.y),b.z>T?x.z=-e.recursiveBBox.min.z:b.z<-T&&(x.z=-e.recursiveBBox.max.z),x.applyMatrix3(M.invert())}else x.copy(t).multiplyScalar(this.activeEvent.data.snapSurfaceOffset);i.fromPosition.add(x)}this.activeEvent.data.autoOrient&&(b.set(0,1,0).cross(t),b.length()<1e-4&&b.set(-1,0,0).cross(t),x.crossVectors(C,b),i.orientationMatrix.makeBasis(b,x,t)),i.pointStart.copy(i.fromPosition),i.pointEnd.copy(i.pointStart),i.currentDampingFactor=this.activeEvent.snapDampingFactor,i.snapped=!0,this.lastDropDestination!==e.object&&(this.lastDropDestination=e.object,this.activeEvent.actionsDrop.Transition.forEach(t=>{t.play()}),this.activeEvent.actionsDrop.Animation.forEach(t=>{t.play()}),this.activeEvent.actionsDrop.Audio.forEach(t=>{t.dispatchGameControl("start")}),this.activeEvent.actionsDrop.Particles.forEach(t=>{t.dispatchGameControl("start")}),this.activeEvent.actionsDrop.Create.forEach(t=>{t.dispatchThrottled()}))}else{let t=!!this.lastDropDestination;this.lastDropDestination=null,i.currentDampingFactor=this.activeEvent.data.dampingFactor,this.calcPlaneIntersectPos(i.obj,i.pointEnd,this.activeEvent.data.plane,this.activeEvent.data.referenceFrame),t&&i.pointStart.copy(i.pointEnd),this.activeEvent.actionsDrop.Transition.forEach(t=>{t.stop(),null!==t.object.currentState&&t.object.changeSelectedState(null,{scene:this.eventContext.page.scene,shared:this.eventContext.sharedAssets})}),this.activeEvent.actionsDrop.Animation.forEach(t=>{t.stop()}),this.activeEvent.actionsDrop.Audio.forEach(t=>{t.dispatchGameControl("stop")}),this.activeEvent.actionsDrop.Particles.forEach(t=>{t.dispatchGameControl("stop")})}this.activeEvent.actionsDrag.Create.forEach(t=>{t.dispatchThrottled()}),this.activeEvent.actionsDrag.SetVariable.forEach(t=>t.checkConditions()),this.activeEvent.actionsDrag.SetVariable.forEach(t=>t.dispatch()),this.activeEvent.actionsDrag.DynamicVariablePlay.forEach(t=>t.dispatch()),this.activeEvent.actionsDrag.ClearLocalStorage.forEach(t=>t.dispatch()),this.activeEvent.actionsDrag.UserAPI.forEach(t=>t.dispatch()),!1===this.activeEvent.wasDragEventTriggered&&(this.activeEvent.wasDragEventTriggered=!0,this.activeEvent.actionsDrag.Transition.forEach(t=>{t.play()}),this.activeEvent.actionsDrag.Animation.forEach(t=>{t.play()}),this.activeEvent.actionsDrag.Audio.forEach(t=>{t.dispatchGameControl("start")}),this.activeEvent.actionsDrag.Particles.forEach(t=>{t.dispatchGameControl("start")})),this.dragTimeout&&window.clearTimeout(this.dragTimeout),this.dragTimeout=window.setTimeout(()=>{!this.activeEvent||(this.activeEvent.wasDragEventTriggered=!1,this.activeEvent.actionsDrag.Audio.forEach(t=>{t.dispatchGameControl("stop")}),this.activeEvent.actionsDrag.Particles.forEach(t=>{t.dispatchGameControl("stop")}),this.activeEvent.actionsDrag.Transition.forEach(t=>{t.stop(),null!==t.object.currentState&&t.object.changeSelectedState(null,{scene:this.eventContext.page.scene,shared:this.eventContext.sharedAssets})}),this.activeEvent.actionsDrag.Animation.forEach(t=>{t.stop()}))},500),this.updateDragItem(i),i.obj.dispatchEvent({type:"requestRender"})}},this.onPointerUp=t=>{if(this.activeEvent&&this.activeEvent.activeDragItem){"hand"===this.activeEvent.data.cursor&&this.setCursor("grab");let t="dynamic"===this.activeEvent.activeDragItem.obj.data.physics?.rigidBody;if(!1===this.activeEvent.activeDragItem.snapped&&this.activeEvent.data.drop&&this.activeEvent.data.resetOnSnapFail&&(!1===this.eventManager.controlsManager.usePhysics||!t)&&(this.activeEvent.activeDragItem.reset=this.activeEvent.data.resetOnSnapFail,this.activeEvent.activeDragItem.paused=!1,this.activeEvent.activeDragItem.currentDampingFactor=this.activeEvent.resetDampingFactor),this.eventManager.controlsManager.usePhysics&&t){let t=this.activeEvent.activeDragItem,e=this.eventManager.controlsManager.sharedGameControlGlobals,a=e.entitiesWithTransformAnim.lastIndexOf(t.obj);-1!==a&&e.entitiesWithTransformAnim.splice(a,1);let i=t.obj.rigidBody;i&&(e.kinematicBodyToEntity.delete(i.handle),i.setBodyType(0,!0)),t.paused=!0}!0===this.activeEvent.wasDragEventTriggered&&(this.activeEvent.wasDragEventTriggered=!1,this.activeEvent.actionsDrag.Transition.forEach(t=>{t.stop(),null!==t.object.currentState&&t.object.changeSelectedState(null,{scene:this.eventContext.page.scene,shared:this.eventContext.sharedAssets})}),this.activeEvent.actionsDrag.Animation.forEach(t=>{t.stop()}),this.activeEvent.actionsDrag.Audio.forEach(t=>{t.dispatchGameControl("stop")}),this.activeEvent.actionsDrag.Particles.forEach(t=>{t.dispatchGameControl("stop")}),this.activeEvent.actionsDrop.SetVariable.forEach(t=>t.checkConditions()),this.activeEvent.actionsDrop.SetVariable.forEach(t=>t.dispatch()),this.activeEvent.actionsDrop.DynamicVariablePlay.forEach(t=>t.dispatch()),this.activeEvent.actionsDrop.ClearLocalStorage.forEach(t=>t.dispatch()),this.activeEvent.actionsDrop.UserAPI.forEach(t=>t.dispatch())),this.eventManager.controlsManager.orbitControls&&(this.eventManager.controlsManager.orbitControls.enabled=!0)}}}connect(){let t={};if(this.eventContext.page.traverseEntity(e=>{e.component&&(t[e.component.uuid]?t[e.component.uuid].push(e.uuid):t[e.component.uuid]=[e.uuid])}),this.eventContext.page.traverseEntity(e=>{e.data?.events.filter(t=>"DragDrop"===t.data.type&&!t.data.disabled).forEach(a=>{this.events.push(new k(e,a.id,a.data,this.eventContext.page,this.eventContext.sharedAssets,this.eventManager,t))})}),!this.events.length)return;this.domEventsNeeded.clear(),this.domEventsNeeded.add("pointerdown");let e=this.eventContext.domElement;e.addEventListener("pointerdown",this.onPointerDown),e.addEventListener("pointermove",this.onPointerMove),e.addEventListener("pointerup",this.onPointerUp),this.domEventsNeeded.add("pointermove")}disconnect(){if(!this.events.length)return;this.domEventsNeeded.clear();let t=this.eventContext.domElement;t.removeEventListener("pointerdown",this.onPointerDown),t.removeEventListener("pointermove",this.onPointerMove),t.removeEventListener("pointerup",this.onPointerUp),null!==this.trailingCursorTimer&&(clearTimeout(this.trailingCursorTimer),this.trailingCursorTimer=null),this.trailingCursorEvent=null,this.events.forEach(t=>t.dispose())}setCursor(t){this.eventContext.domElement.style.cursor=t}onAnimationFrameDamping(){for(let t of this.events)for(let e of t.dragItems)e.paused||this.updateDragItem(e,!0)}calcPlaneIntersectPos(t,e,a,i){let{getCamera:r,raycaster:o}=this.eventContext;r().getWorldDirection(f),f.negate();let n=j.identity();switch("parent"===i?p(t.parent.matrixWorld,{quaternion:n}):"local"===i&&p(t.matrixWorld,{quaternion:n}),a){case"x":b.set(1,0,0).applyQuaternion(n),P.copy(f).cross(b),I.copy(b).cross(P);break;case"y":b.set(0,1,0).applyQuaternion(n),P.copy(f).cross(b),I.copy(b).cross(P);break;case"z":b.set(0,0,1).applyQuaternion(n),P.copy(f).cross(b),I.copy(b).cross(P);break;case"xy":I.set(0,0,1).applyQuaternion(n);break;case"yz":I.set(1,0,0).applyQuaternion(n);break;case"xz":I.set(0,1,0).applyQuaternion(n);break;case"adaptive":f.angleTo(x.set(0,1,0))>Math.PI/6?(b.crossVectors(x.set(0,1,0),f),I.crossVectors(b,x)):I.set(0,1,0);break;default:I.copy(f)}D.setFromMatrixPosition(t.matrixWorld);let s=t.userData.lockedPlane?t.userData.worldPosition0:D;if(y.setFromNormalAndCoplanarPoint(I,s),o.ray.intersectPlane(y,e)&&("x"===a||"y"===a||"z"===a)){let t=x.subVectors(e,s).dot(b);e.copy(s).addScaledVector(b,t)}}updateDragItem(t,e=!1){D.setFromMatrixPosition(t.obj.matrixWorld),"current"===t.reset?E.subVectors(t.fromPosition,D).divideScalar(t.currentDampingFactor):"original"===t.reset?(E.subVectors(t.obj.userData.worldPosition0,D).divideScalar(t.currentDampingFactor),t.fromPosition.copy(t.obj.userData.worldPosition0),t.pointStart.copy(t.fromPosition),t.pointEnd.copy(t.pointStart)):E.subVectors(t.pointEnd,t.pointStart).add(t.fromPosition).sub(D).divideScalar(t.currentDampingFactor),t.paused=!(t.currentDampingFactor>1)||E.length()<.01,(this.activeEvent&&1===this.activeEvent.data.dampingFactor||e)&&S(t,E.add(D),this.activeEvent?.data.drop&&this.activeEvent?.data.autoOrient&&t.snapped?t.orientationMatrix:null),t.obj.dispatchEvent({type:"beginEvent",eventName:"DragDrop"}),this.eventManager.requestRender()}updateCursorFromRaycast(){let{raycaster:t,page:e}=this.eventContext,a=e.raycastWithClones(t),i=!1;for(let t of this.events){for(let{obj:e}of t.dragItems)if(e===a[0]?.object||e===a[0]?.object?.object||c.is(e)&&e.isAncestorOf(a[0]?.object.uuid)){switch(i=!0,t.data.cursor){case"hand":this.setCursor("grab");break;case"move":this.setCursor("move")}break}if(i)break}i||this.setCursor("default")}};a("DragDrop",({eventContext:t,eventManager:e})=>new F(t,e)),d("dragdrop");
1
+ import{a as t}from"./runtime-chunk-MVBN7KIJ.js";import{a as e,b as a}from"./runtime-chunk-DZNU62CT.js";import{a as i}from"./runtime-chunk-VAVYZ35B.js";import"./runtime-chunk-FQNSP44B.js";import{h as r}from"./runtime-chunk-66BHQYSW.js";import"./runtime-chunk-QNSWZVTN.js";import{h as o}from"./runtime-chunk-BHDVAGTR.js";import"./runtime-chunk-TU4KDRKR.js";import"./runtime-chunk-YI3NH3UJ.js";import"./runtime-chunk-2UUVDZT3.js";import"./runtime-chunk-YRDQUX6R.js";import"./runtime-chunk-UA4DS553.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{f as n,g as s}from"./runtime-chunk-UNI3D2MC.js";import{h as c,v as h}from"./runtime-chunk-G4QDYK27.js";import"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-MOPA2GCL.js";import{a as d}from"./runtime-chunk-TZCHGFVF.js";import{Ua as p}from"./runtime-chunk-ADHKZQMB.js";import{Gc as l,Hc as v,Ic as u,Qc as m,td as g}from"./runtime-chunk-KPOUV3HD.js";import"./runtime-chunk-ML3Z74BL.js";var E=new v,f=new v,D=new v,y=new g,b=new v,x=new v,C=new v,j=new l,M=(new m,new u),P=new v,T=new v,w=.2;function I(t,e){!e||(e[0]<e[1]&&(t.x=Math.min(Math.max(t.x,e[0]),e[1])),e[2]<e[3]&&(t.y=Math.min(Math.max(t.y,e[2]),e[3])),e[4]<e[5]&&(t.z=Math.min(Math.max(t.z,e[4]),e[5])))}var S=function(){let t=new m;return(e,a,i)=>{let n=e.obj;n.parent instanceof r?t.identity():t.copy(n.parent.matrixWorld),t.invert(),n.position.copy(a),"global"===e.reference&&I(n.position,e.limits),n.position.applyMatrix4(t),"parent"===e.reference?I(n.position,e.limits):"local"===e.reference&&(j.copy(e.quat0).invert(),n.position.sub(e.position0),n.position.applyQuaternion(j),I(n.position,e.limits),j.invert(),n.position.applyQuaternion(j),n.position.add(e.position0)),t.multiply(i??n.matrixWorld),p(t,{quaternion:n.quaternion}),n.updateMatrix(),n.updateMatrixWorld(),n.hasNonUniformScale&&n.updateMatrixWorldRigid(),n instanceof h&&o(n.parent)&&n.invalidateDownstreamBooleanData(!0)}}(),k=class{constructor(t,e,a,i,r,o,s){this.object=t,this.id=e,this.data=a,this.dropDestIds=[],this.activeIdx=null,this.wasDragEventTriggered=!1,this.resetDampingFactor=0===this.data.resetSpeed?1:8/this.data.resetSpeed+1,this.snapDampingFactor=0===this.data.snapSpeed?1:8/this.data.snapSpeed+1,this.actionsDrag=n(a,a.dragDropActions.drag,i,r,o,this.object),this.actionsDrop=n(a,a.dragDropActions.drop,i,r,o,this.object);let c=[];this.data.objects.forEach(t=>{let e=i.find(t);!e||!1!==e.data.visible&&(c.push(e),s[e.uuid]&&s[e.uuid].forEach(t=>{let e=i.find(t);!e||!1!==e.data.visible&&c.push(e)}))}),this.data.dropDestinations.forEach(t=>{let e=i.find(t);!e||!1!==e.data.visible&&(this.dropDestIds.push(e.uuid),s[e.uuid]&&s[e.uuid].forEach(t=>{let e=i.find(t);!e||!1!==e.data.visible&&this.dropDestIds.push(e.uuid)}))}),this.dragItems=c.map(t=>("locked"===this.data.planeMode&&(t.userData.lockedPlane=!0),t.userData.worldPosition0=(new v).setFromMatrixPosition(t.matrixWorld),{obj:t,fromPosition:(new v).setFromMatrixPosition(t.matrixWorld),pointStart:new v,pointEnd:new v,paused:!0,currentDampingFactor:this.data.dampingFactor,reset:!1,position0:(new v).copy(t.position),quat0:(new l).copy(t.quaternion),snapped:!1,orientationMatrix:new m,limits:this.data.limits,reference:this.data.referenceFrame}))}get activeDragItem(){return null!==this.activeIdx?this.dragItems[this.activeIdx]:null}dispose(){s(this.actionsDrag),s(this.actionsDrop),this.dragItems.forEach(t=>{t.fromPosition.copy(t.obj.userData.worldPosition0),t.pointStart.copy(t.fromPosition),t.pointEnd.copy(t.pointStart),t.obj.recursiveBBoxNeedsUpdate=!0,t.obj.userData.lockedPlane=void 0,t.obj.position.copy(t.position0),t.obj.quaternion.copy(t.quat0),t.obj.updateMatrix()})}},F=class extends e{constructor(e,a){super(e),this.eventManager=a,this.events=[],this.lastDropDestination=null,this.dragTimeout=null,this.lastCursorRaycastTime=0,this.trailingCursorTimer=null,this.trailingCursorEvent=null,this.onPointerDown=t=>{if(i.length>1)return;this.eventContext.updateRaycaster(t);let{raycaster:e,page:a}=this.eventContext,r=a.raycastWithClones(e);if(this.lastDropDestination=null,0!==r.length){for(let t of this.events){let e=0;for(let{obj:a,pointEnd:i,pointStart:o}of t.dragItems){if(a===r[0].object||a===r[0].object.object||c.is(a)&&a.isAncestorOf(r[0].object.uuid)){if(t.activeIdx=e,t.activeDragItem.reset=!1,t.activeDragItem.currentDampingFactor=t.data.dampingFactor,t.activeDragItem.snapped=!1,"hand"===t.data.cursor&&this.setCursor("grabbing"),this.eventManager.controlsManager.usePhysics){t.activeDragItem.obj.rigidBody&&(t.activeDragItem.obj.rigidBody.setBodyType(2,!0),this.eventManager.controlsManager.sharedGameControlGlobals.kinematicBodyToEntity.set(t.activeDragItem.obj.rigidBody.handle,t.activeDragItem.obj));let e=t.activeDragItem.obj;a.hasNonUniformScale&&a.updateMatrixWorldRigid(),(e.hasNonUniformScale?e.matrixWorldRigid:e.matrixWorld).decompose(b,j,x),void 0===e.prevQ?(e.prevQ=j.clone(),e.prevT=b.clone()):(e.prevQ.copy(j),e.prevT.copy(b)),this.eventManager.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim.push(t.activeDragItem.obj)}return this.calcPlaneIntersectPos(a,o,t.data.plane,t.data.referenceFrame),i.copy(o),(this.eventManager.controlsManager.usePhysics&&"dynamic"===a.data.physics?.rigidBody||!1===t.data.drop||!1===t.data.resetOnSnapFail)&&t.activeDragItem.fromPosition.setFromMatrixPosition(t.activeDragItem.obj.matrixWorld),this.activeEvent=t,void(this.eventManager.controlsManager.orbitControls&&(this.eventManager.controlsManager.orbitControls.enabled=!1))}e++}}this.activeEvent=null}else this.activeEvent=null},this.runTrailingCursorUpdate=()=>{this.trailingCursorTimer=null;let t=this.trailingCursorEvent;this.trailingCursorEvent=null,null!==t&&0===i.length&&(this.eventContext.updateRaycaster(t),this.lastCursorRaycastTime=performance.now(),this.updateCursorFromRaycast())},this.onPointerMove=e=>{if(i.length>1)return;this.eventContext.updateRaycaster(e);let{raycaster:a,page:r}=this.eventContext;if(0===i.length){if(!this.events.some(t=>"hand"===t.data.cursor||"move"===t.data.cursor))return;let t=performance.now();return t-this.lastCursorRaycastTime<16?(this.trailingCursorEvent=e,void(null===this.trailingCursorTimer&&(this.trailingCursorTimer=window.setTimeout(this.runTrailingCursorUpdate,32)))):(this.trailingCursorEvent=null,this.lastCursorRaycastTime=t,void this.updateCursorFromRaycast())}if(this.activeEvent&&this.activeEvent.activeDragItem){let e,i=this.activeEvent.activeDragItem;if(i.snapped=!1,this.activeEvent.data.drop&&(e=r.raycastWithClones(a).filter(e=>i.obj!==e.object&&!i.obj.isAncestorOf(e.object.uuid)&&!(e.object instanceof t)&&("all"===this.activeEvent.data.dropOn||this.activeEvent.dropDestIds.some(t=>t===e.object.uuid||r.scene.find(t).isAncestorOf(e.object.uuid))))[0]),e){let t=C.copy(e.face.normal).applyMatrix3(M.getNormalMatrix(e.object.matrixWorld));if("center"===this.activeEvent.data.snapTo)i.fromPosition.setFromMatrixPosition(e.object.matrixWorld);else if("surface"===this.activeEvent.data.snapTo){if(i.fromPosition.copy(e.point),"bbox"===this.activeEvent.data.snapSurfaceMode){b.copy(t).applyMatrix3(M.setFromMatrix4(i.obj.matrixWorld).transpose());let e=i.obj;b.x>w?x.x=-e.recursiveBBox.min.x:b.x<-w&&(x.x=-e.recursiveBBox.max.x),b.y>w?x.y=-e.recursiveBBox.min.y:b.y<-w&&(x.y=-e.recursiveBBox.max.y),b.z>w?x.z=-e.recursiveBBox.min.z:b.z<-w&&(x.z=-e.recursiveBBox.max.z),x.applyMatrix3(M.invert())}else x.copy(t).multiplyScalar(this.activeEvent.data.snapSurfaceOffset);i.fromPosition.add(x)}this.activeEvent.data.autoOrient&&(b.set(0,1,0).cross(t),b.length()<1e-4&&b.set(-1,0,0).cross(t),x.crossVectors(C,b),i.orientationMatrix.makeBasis(b,x,t)),i.pointStart.copy(i.fromPosition),i.pointEnd.copy(i.pointStart),i.currentDampingFactor=this.activeEvent.snapDampingFactor,i.snapped=!0,this.lastDropDestination!==e.object&&(this.lastDropDestination=e.object,this.activeEvent.actionsDrop.Transition.forEach(t=>{t.play()}),this.activeEvent.actionsDrop.Animation.forEach(t=>{t.play()}),this.activeEvent.actionsDrop.Audio.forEach(t=>{t.dispatchGameControl("start")}),this.activeEvent.actionsDrop.Particles.forEach(t=>{t.dispatchGameControl("start")}),this.activeEvent.actionsDrop.Create.forEach(t=>{t.dispatchThrottled()}))}else{let t=!!this.lastDropDestination;this.lastDropDestination=null,i.currentDampingFactor=this.activeEvent.data.dampingFactor,this.calcPlaneIntersectPos(i.obj,i.pointEnd,this.activeEvent.data.plane,this.activeEvent.data.referenceFrame),t&&i.pointStart.copy(i.pointEnd),this.activeEvent.actionsDrop.Transition.forEach(t=>{t.stop(),null!==t.object.currentState&&t.object.changeSelectedState(null,{scene:this.eventContext.page.scene,shared:this.eventContext.sharedAssets})}),this.activeEvent.actionsDrop.Animation.forEach(t=>{t.stop()}),this.activeEvent.actionsDrop.Audio.forEach(t=>{t.dispatchGameControl("stop")}),this.activeEvent.actionsDrop.Particles.forEach(t=>{t.dispatchGameControl("stop")})}this.activeEvent.actionsDrag.Create.forEach(t=>{t.dispatchThrottled()}),this.activeEvent.actionsDrag.SetVariable.forEach(t=>t.checkConditions()),this.activeEvent.actionsDrag.SetVariable.forEach(t=>t.dispatch()),this.activeEvent.actionsDrag.DynamicVariablePlay.forEach(t=>t.dispatch()),this.activeEvent.actionsDrag.ClearLocalStorage.forEach(t=>t.dispatch()),this.activeEvent.actionsDrag.UserAPI.forEach(t=>t.dispatch()),!1===this.activeEvent.wasDragEventTriggered&&(this.activeEvent.wasDragEventTriggered=!0,this.activeEvent.actionsDrag.Transition.forEach(t=>{t.play()}),this.activeEvent.actionsDrag.Animation.forEach(t=>{t.play()}),this.activeEvent.actionsDrag.Audio.forEach(t=>{t.dispatchGameControl("start")}),this.activeEvent.actionsDrag.Particles.forEach(t=>{t.dispatchGameControl("start")})),this.dragTimeout&&window.clearTimeout(this.dragTimeout),this.dragTimeout=window.setTimeout(()=>{!this.activeEvent||(this.activeEvent.wasDragEventTriggered=!1,this.activeEvent.actionsDrag.Audio.forEach(t=>{t.dispatchGameControl("stop")}),this.activeEvent.actionsDrag.Particles.forEach(t=>{t.dispatchGameControl("stop")}),this.activeEvent.actionsDrag.Transition.forEach(t=>{t.stop(),null!==t.object.currentState&&t.object.changeSelectedState(null,{scene:this.eventContext.page.scene,shared:this.eventContext.sharedAssets})}),this.activeEvent.actionsDrag.Animation.forEach(t=>{t.stop()}))},500),this.updateDragItem(i),i.obj.dispatchEvent({type:"requestRender"})}},this.onPointerUp=t=>{if(this.activeEvent&&this.activeEvent.activeDragItem){"hand"===this.activeEvent.data.cursor&&this.setCursor("grab");let t="dynamic"===this.activeEvent.activeDragItem.obj.data.physics?.rigidBody;if(!1===this.activeEvent.activeDragItem.snapped&&this.activeEvent.data.drop&&this.activeEvent.data.resetOnSnapFail&&(!1===this.eventManager.controlsManager.usePhysics||!t)&&(this.activeEvent.activeDragItem.reset=this.activeEvent.data.resetOnSnapFail,this.activeEvent.activeDragItem.paused=!1,this.activeEvent.activeDragItem.currentDampingFactor=this.activeEvent.resetDampingFactor),this.eventManager.controlsManager.usePhysics&&t){let t=this.activeEvent.activeDragItem,e=this.eventManager.controlsManager.sharedGameControlGlobals,a=e.entitiesWithTransformAnim.lastIndexOf(t.obj);-1!==a&&e.entitiesWithTransformAnim.splice(a,1);let i=t.obj.rigidBody;i&&(e.kinematicBodyToEntity.delete(i.handle),i.setBodyType(0,!0)),t.paused=!0}!0===this.activeEvent.wasDragEventTriggered&&(this.activeEvent.wasDragEventTriggered=!1,this.activeEvent.actionsDrag.Transition.forEach(t=>{t.stop(),null!==t.object.currentState&&t.object.changeSelectedState(null,{scene:this.eventContext.page.scene,shared:this.eventContext.sharedAssets})}),this.activeEvent.actionsDrag.Animation.forEach(t=>{t.stop()}),this.activeEvent.actionsDrag.Audio.forEach(t=>{t.dispatchGameControl("stop")}),this.activeEvent.actionsDrag.Particles.forEach(t=>{t.dispatchGameControl("stop")}),this.activeEvent.actionsDrop.SetVariable.forEach(t=>t.checkConditions()),this.activeEvent.actionsDrop.SetVariable.forEach(t=>t.dispatch()),this.activeEvent.actionsDrop.DynamicVariablePlay.forEach(t=>t.dispatch()),this.activeEvent.actionsDrop.ClearLocalStorage.forEach(t=>t.dispatch()),this.activeEvent.actionsDrop.UserAPI.forEach(t=>t.dispatch())),this.eventManager.controlsManager.orbitControls&&(this.eventManager.controlsManager.orbitControls.enabled=!0)}}}connect(){let t={};if(this.eventContext.page.traverseEntity(e=>{e.component&&(t[e.component.uuid]?t[e.component.uuid].push(e.uuid):t[e.component.uuid]=[e.uuid])}),this.eventContext.page.traverseEntity(e=>{e.data?.events.filter(t=>"DragDrop"===t.data.type&&!t.data.disabled).forEach(a=>{this.events.push(new k(e,a.id,a.data,this.eventContext.page,this.eventContext.sharedAssets,this.eventManager,t))})}),!this.events.length)return;this.domEventsNeeded.clear(),this.domEventsNeeded.add("pointerdown");let e=this.eventContext.domElement;e.addEventListener("pointerdown",this.onPointerDown),e.addEventListener("pointermove",this.onPointerMove),e.addEventListener("pointerup",this.onPointerUp),this.domEventsNeeded.add("pointermove")}disconnect(){if(!this.events.length)return;this.domEventsNeeded.clear();let t=this.eventContext.domElement;t.removeEventListener("pointerdown",this.onPointerDown),t.removeEventListener("pointermove",this.onPointerMove),t.removeEventListener("pointerup",this.onPointerUp),null!==this.trailingCursorTimer&&(clearTimeout(this.trailingCursorTimer),this.trailingCursorTimer=null),this.trailingCursorEvent=null,this.events.forEach(t=>t.dispose())}setCursor(t){this.eventContext.domElement.style.cursor=t}onAnimationFrameDamping(){for(let t of this.events)for(let e of t.dragItems)e.paused||this.updateDragItem(e,!0)}calcPlaneIntersectPos(t,e,a,i){let{getCamera:r,raycaster:o}=this.eventContext;r().getWorldDirection(f),f.negate();let n=j.identity();switch("parent"===i?p(t.parent.matrixWorld,{quaternion:n}):"local"===i&&p(t.matrixWorld,{quaternion:n}),a){case"x":b.set(1,0,0).applyQuaternion(n),P.copy(f).cross(b),T.copy(b).cross(P);break;case"y":b.set(0,1,0).applyQuaternion(n),P.copy(f).cross(b),T.copy(b).cross(P);break;case"z":b.set(0,0,1).applyQuaternion(n),P.copy(f).cross(b),T.copy(b).cross(P);break;case"xy":T.set(0,0,1).applyQuaternion(n);break;case"yz":T.set(1,0,0).applyQuaternion(n);break;case"xz":T.set(0,1,0).applyQuaternion(n);break;case"adaptive":f.angleTo(x.set(0,1,0))>Math.PI/6?(b.crossVectors(x.set(0,1,0),f),T.crossVectors(b,x)):T.set(0,1,0);break;default:T.copy(f)}D.setFromMatrixPosition(t.matrixWorld);let s=t.userData.lockedPlane?t.userData.worldPosition0:D;if(y.setFromNormalAndCoplanarPoint(T,s),o.ray.intersectPlane(y,e)&&("x"===a||"y"===a||"z"===a)){let t=x.subVectors(e,s).dot(b);e.copy(s).addScaledVector(b,t)}}updateDragItem(t,e=!1){D.setFromMatrixPosition(t.obj.matrixWorld),"current"===t.reset?E.subVectors(t.fromPosition,D).divideScalar(t.currentDampingFactor):"original"===t.reset?(E.subVectors(t.obj.userData.worldPosition0,D).divideScalar(t.currentDampingFactor),t.fromPosition.copy(t.obj.userData.worldPosition0),t.pointStart.copy(t.fromPosition),t.pointEnd.copy(t.pointStart)):E.subVectors(t.pointEnd,t.pointStart).add(t.fromPosition).sub(D).divideScalar(t.currentDampingFactor),t.paused=!(t.currentDampingFactor>1)||E.length()<.01,(this.activeEvent&&1===this.activeEvent.data.dampingFactor||e)&&S(t,E.add(D),this.activeEvent?.data.drop&&this.activeEvent?.data.autoOrient&&t.snapped?t.orientationMatrix:null),t.obj.dispatchEvent({type:"beginEvent",eventName:"DragDrop"}),this.eventManager.requestRender()}updateCursorFromRaycast(){let{raycaster:t,page:e}=this.eventContext,a=e.raycastWithClones(t),i=!1;for(let t of this.events){for(let{obj:e}of t.dragItems)if(e===a[0]?.object||e===a[0]?.object?.object||c.is(e)&&e.isAncestorOf(a[0]?.object.uuid)){switch(i=!0,t.data.cursor){case"hand":this.setCursor("grab");break;case"move":this.setCursor("move")}break}if(i)break}i||this.setCursor("default")}};a("DragDrop",({eventContext:t,eventManager:e})=>new F(t,e)),d("dragdrop");
@@ -1 +1 @@
1
- import{Ba as t,Bc as e,Fc as s,Gc as i,Hc as r,K as a,Vc as h,a as l,c as o,hc as n,rc as m,w as _,wa as u}from"./runtime-chunk-JEPFM4AL.js";import{d as p}from"./runtime-chunk-UIRA2CWJ.js";import{Fc as d,Mc as c,m as g,qa as B}from"./runtime-chunk-KPOUV3HD.js";import"./runtime-chunk-ML3Z74BL.js";var S=new _,T=new d,f=[[0,0],[0,1,1],[0,1,1,2],[0,1,2,2,3],[0,1,2,3,4,4,5],[0,1,2,3,4,5,7,8,9,10]],M=[.2126729,.7151522,.072175],x=class extends l{constructor(t,e){super("vec4"),this._width=0,this._height=0,this._materials=[],this._input=t,this._opts=e,this._rtL=this._makeRT(1,1,"SplineBloom.L"),this._rtA=this._makeRT(1,1,"SplineBloom.A"),this._rtB=this._makeRT(1,1,"SplineBloom.B"),this._outputTexNode=m(this._rtL.texture),this._buildMaterials()}static get type(){return"SplineBloomNode"}_makeRT(t,e,s){let i=new c(t,e,{minFilter:B,magFilter:B,depthBuffer:!1});return h()&&(i.texture.internalFormat="rgba8unorm-srgb"),i.texture.name=s,i}_buildMaterials(){for(let t of this._materials)t.dispose();this._materials=[];let h=(t,e)=>{let s=new o;return s.name=t,s.colorNode=e,s.depthTest=!1,s.depthWrite=!1,s.blending=g,s.needsUpdate=!0,s},l=this._opts.luminanceThreshold,_=Math.max(this._opts.luminanceSmoothing,1e-4),p=this._input,d=a(()=>{let s=p.sample(e()),a=n(t(l),t(l+_),u(s.rgb,i(M[0],M[1],M[2])));return r(s.rgb.mul(a),a)});this._materials.push(h("SplineBloom.luminance",d()));let c=f[this._opts.kernelSize]??f[3],B=1/Math.max(1,this._width),S=1/Math.max(1,this._height),T=this._passSequence(c.length);for(let t=0;t<c.length;t++){let i=B*(c[t]+.5)*this._opts.blurScale,r=S*(c[t]+.5)*this._opts.blurScale,l=m(T[t].from.texture),o=a(()=>{let t=e();return l.sample(t.add(s(-i,r))).add(l.sample(t.add(s(i,r)))).add(l.sample(t.add(s(i,-r)))).add(l.sample(t.add(s(-i,-r)))).mul(.25)});this._materials.push(h(`SplineBloom.blur${t}`,o()))}}_passSequence(t){let e=[],s=this._rtL;for(let i=0;i<t-1;i++){let t=1&i?this._rtB:this._rtA;e.push({from:s,to:t}),s=t}return e.push({from:s,to:this._rtL}),e}renderBloom(t){t.getDrawingBufferSize(T);let e=Math.max(1,Math.round(.5*T.x)),s=Math.max(1,Math.round(.5*T.y));(e!==this._width||s!==this._height)&&(this._width=e,this._height=s,this._rtL.dispose(),this._rtA.dispose(),this._rtB.dispose(),this._rtL=this._makeRT(e,s,"SplineBloom.L"),this._rtA=this._makeRT(e,s,"SplineBloom.A"),this._rtB=this._makeRT(e,s,"SplineBloom.B"),this._outputTexNode.value=this._rtL.texture,this._buildMaterials());let i=f[this._opts.kernelSize]??f[3],r=this._passSequence(i.length),a=t.getRenderTarget(),h=t.getMRT();t.setMRT(null),t.setRenderTarget(this._rtL),S.material=this._materials[0],S.name="SplineBloom.luminance",S.render(t);for(let e=0;e<r.length;e++)t.setRenderTarget(r[e].to),S.material=this._materials[e+1],S.name=`SplineBloom.blur${e}`,S.render(t);t.setRenderTarget(a),t.setMRT(h)}setup(){return this._outputTexNode}dispose(){for(let t of this._materials)t.dispose();this._materials=[],this._rtL.dispose(),this._rtA.dispose(),this._rtB.dispose()}};p("bloom",function(t,e){return new x(t,e)});
1
+ import{Ba as t,Bc as e,Fc as s,Gc as i,Hc as r,K as a,Vc as h,a as l,c as o,hc as n,rc as m,w as _,wa as u}from"./runtime-chunk-YEHLK4BX.js";import{d as p}from"./runtime-chunk-UIRA2CWJ.js";import{Fc as d,Mc as c,m as B,qa as g}from"./runtime-chunk-KPOUV3HD.js";import"./runtime-chunk-ML3Z74BL.js";var S=new _,T=new d,f=[[0,0],[0,1,1],[0,1,1,2],[0,1,2,2,3],[0,1,2,3,4,4,5],[0,1,2,3,4,5,7,8,9,10]],x=[.2126729,.7151522,.072175],M=class extends l{constructor(t,e){super("vec4"),this._width=0,this._height=0,this._materials=[],this._input=t,this._opts=e,this._rtL=this._makeRT(1,1,"SplineBloom.L"),this._rtA=this._makeRT(1,1,"SplineBloom.A"),this._rtB=this._makeRT(1,1,"SplineBloom.B"),this._outputTexNode=m(this._rtL.texture),this._buildMaterials()}static get type(){return"SplineBloomNode"}_makeRT(t,e,s){let i=new c(t,e,{minFilter:g,magFilter:g,depthBuffer:!1});return h()&&(i.texture.internalFormat="rgba8unorm-srgb"),i.texture.name=s,i}_buildMaterials(){for(let t of this._materials)t.dispose();this._materials=[];let h=(t,e)=>{let s=new o;return s.name=t,s.colorNode=e,s.depthTest=!1,s.depthWrite=!1,s.blending=B,s.needsUpdate=!0,s},l=this._opts.luminanceThreshold,_=Math.max(this._opts.luminanceSmoothing,1e-4),p=this._input,d=a(()=>{let s=p.sample(e()),a=n(t(l),t(l+_),u(s.rgb,i(x[0],x[1],x[2])));return r(s.rgb.mul(a),a)});this._materials.push(h("SplineBloom.luminance",d()));let c=f[this._opts.kernelSize]??f[3],g=1/Math.max(1,this._width),S=1/Math.max(1,this._height),T=this._passSequence(c.length);for(let t=0;t<c.length;t++){let i=g*(c[t]+.5)*this._opts.blurScale,r=S*(c[t]+.5)*this._opts.blurScale,l=m(T[t].from.texture),o=a(()=>{let t=e();return l.sample(t.add(s(-i,r))).add(l.sample(t.add(s(i,r)))).add(l.sample(t.add(s(i,-r)))).add(l.sample(t.add(s(-i,-r)))).mul(.25)});this._materials.push(h(`SplineBloom.blur${t}`,o()))}}_passSequence(t){let e=[],s=this._rtL;for(let i=0;i<t-1;i++){let t=1&i?this._rtB:this._rtA;e.push({from:s,to:t}),s=t}return e.push({from:s,to:this._rtL}),e}renderBloom(t){t.getDrawingBufferSize(T);let e=Math.max(1,Math.round(.5*T.x)),s=Math.max(1,Math.round(.5*T.y));(e!==this._width||s!==this._height)&&(this._width=e,this._height=s,this._rtL.dispose(),this._rtA.dispose(),this._rtB.dispose(),this._rtL=this._makeRT(e,s,"SplineBloom.L"),this._rtA=this._makeRT(e,s,"SplineBloom.A"),this._rtB=this._makeRT(e,s,"SplineBloom.B"),this._outputTexNode.value=this._rtL.texture,this._buildMaterials());let i=f[this._opts.kernelSize]??f[3],r=this._passSequence(i.length),a=t.getRenderTarget(),h=t.getMRT();t.setMRT(null),t.setRenderTarget(this._rtL),S.material=this._materials[0],S.name="SplineBloom.luminance",S.render(t);for(let e=0;e<r.length;e++)t.setRenderTarget(r[e].to),S.material=this._materials[e+1],S.name=`SplineBloom.blur${e}`,S.render(t);t.setRenderTarget(a),t.setMRT(h)}setup(){return this._outputTexNode}dispose(){for(let t of this._materials)t.dispose();this._materials=[],this._rtL.dispose(),this._rtA.dispose(),this._rtB.dispose()}};p("bloom",function(t,e){return new M(t,e)});
@@ -1 +1 @@
1
- import{a as t}from"./runtime-chunk-NYOF3PNR.js";import{Ba as e,Bc as r,Db as s,Fc as a,Hc as i,Ib as h,K as o,L as l,Lc as _,R as u,Vc as d,a as m,bc as n,c,gb as p,hc as F,ia as B,ib as T,jb as g,lc as f,rc as C,w as k}from"./runtime-chunk-JEPFM4AL.js";import{d as x}from"./runtime-chunk-UIRA2CWJ.js";import{Ba as D,Fc as M,Mc as R,m as N,qa as b}from"./runtime-chunk-KPOUV3HD.js";import"./runtime-chunk-ML3Z74BL.js";var S=new k,V=new M,w=[0,1,1,2],I=class extends m{constructor(t,e,r,s,a){super("vec4"),this._width=0,this._height=0,this._halfWidth=0,this._halfHeight=0,this._materials=[],this._inputColor=t,this._input=e,this._depth=r,this._params=s,this._opts=a,this._rtCoC=this._makeRT(1,1,"DoF.CoC","coc"),this._rtMasked=this._makeRT(1,1,"DoF.Masked.Far","color"),this._rtCoCBlurred=this._makeRT(1,1,"DoF.CoC.Blurred","coc"),this._rtBlurA=this._makeRT(1,1,"DoF.Blur.Target.A","blur"),this._rtBlurB=this._makeRT(1,1,"DoF.Blur.Target.B","blur"),this._rtIntermediate=this._makeRT(1,1,"DoF.Intermediate","color"),this._rtNear=this._makeRT(1,1,"DoF.Bokeh.Near","color"),this._rtFar=this._makeRT(1,1,"DoF.Bokeh.Far","color"),this._nearTexNode=C(this._rtNear.texture),this._farTexNode=C(this._rtFar.texture),this._cocBlurredTexNode=C(this._rtCoCBlurred.texture),this._buildMaterials()}static get type(){return"SplineDepthOfFieldNode"}_makeRT(t,e,r,s){let a=new R(t,e,{minFilter:b,magFilter:b,depthBuffer:!1,type:"color"===s&&this._opts.halfFloat?D:void 0});return"coc"!==s&&a.texture.type!==D&&d()&&(a.texture.internalFormat="rgba8unorm-srgb"),a.texture.name=r,a}_buildMaterials(){for(let t of this._materials)t.dispose();this._materials=[];let d=(t,e)=>{let r=new c;return r.name=t,r.colorNode=e,r.depthTest=!1,r.depthWrite=!1,r.blending=N,r.needsUpdate=!0,r},{focusDistance:m,focusRange:T,bokehScale:g,cameraNear:k,cameraFar:x}=this._params,D=this._params.orthographic,M=this._input,R=this._depth,b=this._opts.inputUv??(t=>t),S=t=>t,V=1/Math.max(1,this._halfWidth),I=1/Math.max(1,this._halfHeight),A=o(()=>{let t=r().toVar(),a=R.sample(t).toVar(),o=_(h(a,k,x),k,x),l=_(s(a,k,x),k,x),d=n(D.greaterThan(.5),l,o).sub(m).toVar(),c=F(e(0),T,u(d)).toVar();return i(c.mul(f(d,e(0))),c.mul(f(e(0),d)),0,1)});this._materials.push(d("SplineDoF.coc",A()));let v=this._cocBlurSequence();for(let t=0;t<w.length;t++){let e=V*w[t]+.5*V,s=I*w[t]+.5*I,i=C(v[t].from.texture),h=o(()=>{let t=r();return i.sample(t.add(a(-e,s))).add(i.sample(t.add(a(e,s)))).add(i.sample(t.add(a(e,-s)))).add(i.sample(t.add(a(-e,-s)))).mul(.25)});this._materials.push(d(`SplineDoF.cocBlur${t}`,h()))}let j=C(this._rtCoC.texture),H=o(()=>{let t=r().toVar(),e=B(j.sample(t).g.mul(g),0,1);return M.sample(b(t)).mul(e)});this._materials.push(d("SplineDoF.mask",H()));let W=t(),q=(t,e,s,h,_)=>{let u=o(()=>{let t=r().toVar(),o=s.sample(t).toVar(),u=(h?o.r:o.g).mul(g).toVar(),d=i(0).toVar();return l(u.equal(0),()=>{d.assign(e.sample(_(t)))}).Else(()=>{let r=h?p(u,o.g.mul(g)):u,s=a(V,I).mul(r).toVar(),l=i(0).toVar();for(let r=0;r<W.length;r+=2)l.addAssign(e.sample(_(t.add(s.mul(a(W[r],W[r+1]))))));d.assign(l.div(64))}),d});return d(t,u())},L=C(this._rtCoCBlurred.texture),y=C(this._rtIntermediate.texture);this._materials.push(q("SplineDoF.farBase",C(this._rtMasked.texture),j,!1,S),q("SplineDoF.farFill",y,j,!1,S),q("SplineDoF.nearBase",M,L,!0,b),q("SplineDoF.nearFill",y,L,!0,S))}_cocBlurSequence(){let t=[],e=this._rtCoC;for(let r=0;r<w.length-1;r++){let s=1&r?this._rtBlurB:this._rtBlurA;t.push({from:e,to:s}),e=s}return t.push({from:e,to:this._rtCoCBlurred}),t}renderDoF(t){t.getDrawingBufferSize(V);let e=Math.max(1,Math.round(V.x)),r=Math.max(1,Math.round(V.y));if(e!==this._width||r!==this._height){this._width=e,this._height=r,this._halfWidth=Math.max(1,Math.round(.5*e)),this._halfHeight=Math.max(1,Math.round(.5*r)),this._disposeTargets();let t=this._halfWidth,s=this._halfHeight;this._rtCoC=this._makeRT(e,r,"DoF.CoC","coc"),this._rtMasked=this._makeRT(e,r,"DoF.Masked.Far","color"),this._rtCoCBlurred=this._makeRT(t,s,"DoF.CoC.Blurred","coc"),this._rtBlurA=this._makeRT(t,s,"DoF.Blur.Target.A","blur"),this._rtBlurB=this._makeRT(t,s,"DoF.Blur.Target.B","blur"),this._rtIntermediate=this._makeRT(t,s,"DoF.Intermediate","color"),this._rtNear=this._makeRT(t,s,"DoF.Bokeh.Near","color"),this._rtFar=this._makeRT(t,s,"DoF.Bokeh.Far","color"),this._nearTexNode.value=this._rtNear.texture,this._farTexNode.value=this._rtFar.texture,this._cocBlurredTexNode.value=this._rtCoCBlurred.texture,this._buildMaterials()}let s=this._cocBlurSequence(),a=[this._rtCoC,...s.map(t=>t.to),this._rtMasked,this._rtIntermediate,this._rtFar,this._rtIntermediate,this._rtNear],i=t.getRenderTarget(),h=t.getMRT();t.setMRT(null);for(let e=0;e<a.length;e++)t.setRenderTarget(a[e]),S.material=this._materials[e],S.name=this._materials[e].name,S.render(t);t.setRenderTarget(i),t.setMRT(h)}setup(){let t=this._nearTexNode,e=this._farTexNode,r=T(this._cocBlurredTexNode.r.mul(this._params.bokehScale),1),s=this._inputColor.mul(e.a.oneMinus()).add(e);return g(s,t,r)}_disposeTargets(){this._rtCoC.dispose(),this._rtMasked.dispose(),this._rtCoCBlurred.dispose(),this._rtBlurA.dispose(),this._rtBlurB.dispose(),this._rtIntermediate.dispose(),this._rtNear.dispose(),this._rtFar.dispose()}dispose(){for(let t of this._materials)t.dispose();this._materials=[],this._disposeTargets()}};x("depthOfField",function(t,e,r,s,a){return new I(t,e,r,s,a)});
1
+ import{a as t}from"./runtime-chunk-NYOF3PNR.js";import{Ba as e,Bc as r,Db as s,Fc as a,Hc as i,Ib as h,K as o,L as l,Lc as _,R as u,Vc as d,a as m,bc as n,c,gb as p,hc as B,ia as F,ib as T,jb as g,lc as f,rc as C,w as k}from"./runtime-chunk-YEHLK4BX.js";import{d as x}from"./runtime-chunk-UIRA2CWJ.js";import{Ba as D,Fc as R,Mc as M,m as N,qa as b}from"./runtime-chunk-KPOUV3HD.js";import"./runtime-chunk-ML3Z74BL.js";var S=new k,V=new R,w=[0,1,1,2],I=class extends m{constructor(t,e,r,s,a){super("vec4"),this._width=0,this._height=0,this._halfWidth=0,this._halfHeight=0,this._materials=[],this._inputColor=t,this._input=e,this._depth=r,this._params=s,this._opts=a,this._rtCoC=this._makeRT(1,1,"DoF.CoC","coc"),this._rtMasked=this._makeRT(1,1,"DoF.Masked.Far","color"),this._rtCoCBlurred=this._makeRT(1,1,"DoF.CoC.Blurred","coc"),this._rtBlurA=this._makeRT(1,1,"DoF.Blur.Target.A","blur"),this._rtBlurB=this._makeRT(1,1,"DoF.Blur.Target.B","blur"),this._rtIntermediate=this._makeRT(1,1,"DoF.Intermediate","color"),this._rtNear=this._makeRT(1,1,"DoF.Bokeh.Near","color"),this._rtFar=this._makeRT(1,1,"DoF.Bokeh.Far","color"),this._nearTexNode=C(this._rtNear.texture),this._farTexNode=C(this._rtFar.texture),this._cocBlurredTexNode=C(this._rtCoCBlurred.texture),this._buildMaterials()}static get type(){return"SplineDepthOfFieldNode"}_makeRT(t,e,r,s){let a=new M(t,e,{minFilter:b,magFilter:b,depthBuffer:!1,type:"color"===s&&this._opts.halfFloat?D:void 0});return"coc"!==s&&a.texture.type!==D&&d()&&(a.texture.internalFormat="rgba8unorm-srgb"),a.texture.name=r,a}_buildMaterials(){for(let t of this._materials)t.dispose();this._materials=[];let d=(t,e)=>{let r=new c;return r.name=t,r.colorNode=e,r.depthTest=!1,r.depthWrite=!1,r.blending=N,r.needsUpdate=!0,r},{focusDistance:m,focusRange:T,bokehScale:g,cameraNear:k,cameraFar:x}=this._params,D=this._params.orthographic,R=this._input,M=this._depth,b=this._opts.inputUv??(t=>t),S=t=>t,V=1/Math.max(1,this._halfWidth),I=1/Math.max(1,this._halfHeight),v=o(()=>{let t=r().toVar(),a=M.sample(t).toVar(),o=_(h(a,k,x),k,x),l=_(s(a,k,x),k,x),d=n(D.greaterThan(.5),l,o).sub(m).toVar(),c=B(e(0),T,u(d)).toVar();return i(c.mul(f(d,e(0))),c.mul(f(e(0),d)),0,1)});this._materials.push(d("SplineDoF.coc",v()));let A=this._cocBlurSequence();for(let t=0;t<w.length;t++){let e=V*w[t]+.5*V,s=I*w[t]+.5*I,i=C(A[t].from.texture),h=o(()=>{let t=r();return i.sample(t.add(a(-e,s))).add(i.sample(t.add(a(e,s)))).add(i.sample(t.add(a(e,-s)))).add(i.sample(t.add(a(-e,-s)))).mul(.25)});this._materials.push(d(`SplineDoF.cocBlur${t}`,h()))}let H=C(this._rtCoC.texture),j=o(()=>{let t=r().toVar(),e=F(H.sample(t).g.mul(g),0,1);return R.sample(b(t)).mul(e)});this._materials.push(d("SplineDoF.mask",j()));let W=t(),q=(t,e,s,h,_)=>{let u=o(()=>{let t=r().toVar(),o=s.sample(t).toVar(),u=(h?o.r:o.g).mul(g).toVar(),d=i(0).toVar();return l(u.equal(0),()=>{d.assign(e.sample(_(t)))}).Else(()=>{let r=h?p(u,o.g.mul(g)):u,s=a(V,I).mul(r).toVar(),l=i(0).toVar();for(let r=0;r<W.length;r+=2)l.addAssign(e.sample(_(t.add(s.mul(a(W[r],W[r+1]))))));d.assign(l.div(64))}),d});return d(t,u())},L=C(this._rtCoCBlurred.texture),y=C(this._rtIntermediate.texture);this._materials.push(q("SplineDoF.farBase",C(this._rtMasked.texture),H,!1,S),q("SplineDoF.farFill",y,H,!1,S),q("SplineDoF.nearBase",R,L,!0,b),q("SplineDoF.nearFill",y,L,!0,S))}_cocBlurSequence(){let t=[],e=this._rtCoC;for(let r=0;r<w.length-1;r++){let s=1&r?this._rtBlurB:this._rtBlurA;t.push({from:e,to:s}),e=s}return t.push({from:e,to:this._rtCoCBlurred}),t}renderDoF(t){t.getDrawingBufferSize(V);let e=Math.max(1,Math.round(V.x)),r=Math.max(1,Math.round(V.y));if(e!==this._width||r!==this._height){this._width=e,this._height=r,this._halfWidth=Math.max(1,Math.round(.5*e)),this._halfHeight=Math.max(1,Math.round(.5*r)),this._disposeTargets();let t=this._halfWidth,s=this._halfHeight;this._rtCoC=this._makeRT(e,r,"DoF.CoC","coc"),this._rtMasked=this._makeRT(e,r,"DoF.Masked.Far","color"),this._rtCoCBlurred=this._makeRT(t,s,"DoF.CoC.Blurred","coc"),this._rtBlurA=this._makeRT(t,s,"DoF.Blur.Target.A","blur"),this._rtBlurB=this._makeRT(t,s,"DoF.Blur.Target.B","blur"),this._rtIntermediate=this._makeRT(t,s,"DoF.Intermediate","color"),this._rtNear=this._makeRT(t,s,"DoF.Bokeh.Near","color"),this._rtFar=this._makeRT(t,s,"DoF.Bokeh.Far","color"),this._nearTexNode.value=this._rtNear.texture,this._farTexNode.value=this._rtFar.texture,this._cocBlurredTexNode.value=this._rtCoCBlurred.texture,this._buildMaterials()}let s=this._cocBlurSequence(),a=[this._rtCoC,...s.map(t=>t.to),this._rtMasked,this._rtIntermediate,this._rtFar,this._rtIntermediate,this._rtNear],i=t.getRenderTarget(),h=t.getMRT();t.setMRT(null);for(let e=0;e<a.length;e++)t.setRenderTarget(a[e]),S.material=this._materials[e],S.name=this._materials[e].name,S.render(t);t.setRenderTarget(i),t.setMRT(h)}setup(){let t=this._nearTexNode,e=this._farTexNode,r=T(this._cocBlurredTexNode.r.mul(this._params.bokehScale),1),s=this._inputColor.mul(e.a.oneMinus()).add(e);return g(s,t,r)}_disposeTargets(){this._rtCoC.dispose(),this._rtMasked.dispose(),this._rtCoCBlurred.dispose(),this._rtBlurA.dispose(),this._rtBlurB.dispose(),this._rtIntermediate.dispose(),this._rtNear.dispose(),this._rtFar.dispose()}dispose(){for(let t of this._materials)t.dispose();this._materials=[],this._disposeTargets()}};x("depthOfField",function(t,e,r,s,a){return new I(t,e,r,s,a)});