@splinetool/runtime 2.0.90 → 2.0.92

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 (398) hide show
  1. package/build/{runtime-aiAssistant-DBCVWUEB.js → runtime-aiAssistant-5ECVEZLI.js} +1 -1
  2. package/build/runtime-aiAssistant-5ECVEZLI.js.br +0 -0
  3. package/build/runtime-aiAssistant-5ECVEZLI.js.gz +0 -0
  4. package/build/{runtime-apiServices-JU3DOVOS.js → runtime-apiServices-J4QEEJ2S.js} +1 -1
  5. package/build/runtime-apiServices-J4QEEJ2S.js.br +0 -0
  6. package/build/runtime-apiServices-J4QEEJ2S.js.gz +0 -0
  7. package/build/{runtime-audio-LJOR4W23.js → runtime-audio-P56XBVSL.js} +1 -1
  8. package/build/runtime-audio-P56XBVSL.js.br +7 -0
  9. package/build/runtime-audio-P56XBVSL.js.gz +0 -0
  10. package/build/{runtime-bloom-QSFMSJ75.js → runtime-bloom-5BWRSKXE.js} +1 -1
  11. package/build/runtime-bloom-5BWRSKXE.js.br +0 -0
  12. package/build/runtime-bloom-5BWRSKXE.js.gz +0 -0
  13. package/build/{runtime-brightnessContrast-RCY3ODPF.js → runtime-brightnessContrast-GBILAHY5.js} +1 -1
  14. package/build/runtime-brightnessContrast-GBILAHY5.js.br +0 -0
  15. package/build/runtime-brightnessContrast-GBILAHY5.js.gz +0 -0
  16. package/build/{runtime-chromaticAberration-SY5X27ML.js → runtime-chromaticAberration-XNVWJQWI.js} +1 -1
  17. package/build/runtime-chromaticAberration-XNVWJQWI.js.br +0 -0
  18. package/build/runtime-chromaticAberration-XNVWJQWI.js.gz +0 -0
  19. package/build/runtime-chunk-36CLBSQD.js +1 -0
  20. package/build/runtime-chunk-36CLBSQD.js.br +0 -0
  21. package/build/runtime-chunk-36CLBSQD.js.gz +0 -0
  22. package/build/{runtime-chunk-U44V7VUP.js → runtime-chunk-3AHB3XAD.js} +1 -1
  23. package/build/runtime-chunk-3AHB3XAD.js.br +0 -0
  24. package/build/runtime-chunk-3AHB3XAD.js.gz +0 -0
  25. package/build/{runtime-chunk-X2RYY6RX.js → runtime-chunk-3H2EF32R.js} +1 -1
  26. package/build/runtime-chunk-3H2EF32R.js.br +2 -0
  27. package/build/runtime-chunk-3H2EF32R.js.gz +0 -0
  28. package/build/{runtime-chunk-FUG375TP.js → runtime-chunk-66HDBRK4.js} +1 -1
  29. package/build/runtime-chunk-66HDBRK4.js.br +0 -0
  30. package/build/runtime-chunk-66HDBRK4.js.gz +0 -0
  31. package/build/{runtime-chunk-ZVGRIWWN.js → runtime-chunk-ACJIWRIH.js} +1 -1
  32. package/build/runtime-chunk-ACJIWRIH.js.br +0 -0
  33. package/build/runtime-chunk-ACJIWRIH.js.gz +0 -0
  34. package/build/{runtime-chunk-5NERARRS.js → runtime-chunk-AUIS3MRY.js} +1 -1
  35. package/build/runtime-chunk-AUIS3MRY.js.br +0 -0
  36. package/build/runtime-chunk-AUIS3MRY.js.gz +0 -0
  37. package/build/{runtime-chunk-NW3DVKBD.js → runtime-chunk-CKYSGX2V.js} +1 -1
  38. package/build/runtime-chunk-CKYSGX2V.js.br +0 -0
  39. package/build/runtime-chunk-CKYSGX2V.js.gz +0 -0
  40. package/build/{runtime-chunk-LOTNSNJT.js → runtime-chunk-DSXX6SLP.js} +1 -1
  41. package/build/runtime-chunk-DSXX6SLP.js.br +0 -0
  42. package/build/runtime-chunk-DSXX6SLP.js.gz +0 -0
  43. package/build/{runtime-chunk-RLNFCXMS.js → runtime-chunk-FAESWIXG.js} +1 -1
  44. package/build/runtime-chunk-FAESWIXG.js.br +0 -0
  45. package/build/runtime-chunk-FAESWIXG.js.gz +0 -0
  46. package/build/runtime-chunk-GXEXRQ6S.js +1 -0
  47. package/build/runtime-chunk-GXEXRQ6S.js.br +0 -0
  48. package/build/runtime-chunk-GXEXRQ6S.js.gz +0 -0
  49. package/build/{runtime-chunk-R6NZ3XSG.js → runtime-chunk-HEEYURNH.js} +1 -1
  50. package/build/runtime-chunk-HEEYURNH.js.br +0 -0
  51. package/build/runtime-chunk-HEEYURNH.js.gz +0 -0
  52. package/build/runtime-chunk-J53RQDYR.js +1 -0
  53. package/build/runtime-chunk-J53RQDYR.js.br +0 -0
  54. package/build/runtime-chunk-J53RQDYR.js.gz +0 -0
  55. package/build/{runtime-chunk-NEOF7SBZ.js → runtime-chunk-JKFC5GFF.js} +1 -1
  56. package/build/runtime-chunk-JKFC5GFF.js.br +0 -0
  57. package/build/runtime-chunk-JKFC5GFF.js.gz +0 -0
  58. package/build/runtime-chunk-JPQPMU3J.js +1 -0
  59. package/build/runtime-chunk-JPQPMU3J.js.br +0 -0
  60. package/build/runtime-chunk-JPQPMU3J.js.gz +0 -0
  61. package/build/{runtime-chunk-K5Q5TON3.js → runtime-chunk-K7TL4PIJ.js} +1 -1
  62. package/build/runtime-chunk-K7TL4PIJ.js.br +0 -0
  63. package/build/runtime-chunk-K7TL4PIJ.js.gz +0 -0
  64. package/build/runtime-chunk-KARVJCBP.js +1 -0
  65. package/build/runtime-chunk-KARVJCBP.js.br +0 -0
  66. package/build/runtime-chunk-KARVJCBP.js.gz +0 -0
  67. package/build/runtime-chunk-KHCWX7UM.js +1 -0
  68. package/build/runtime-chunk-KHCWX7UM.js.br +0 -0
  69. package/build/runtime-chunk-KHCWX7UM.js.gz +0 -0
  70. package/build/{runtime-chunk-S2A55QI5.js → runtime-chunk-KOR4TIQN.js} +1 -1
  71. package/build/runtime-chunk-KOR4TIQN.js.br +0 -0
  72. package/build/runtime-chunk-KOR4TIQN.js.gz +0 -0
  73. package/build/runtime-chunk-LSRIE5CU.js +1 -0
  74. package/build/runtime-chunk-LSRIE5CU.js.br +0 -0
  75. package/build/runtime-chunk-LSRIE5CU.js.gz +0 -0
  76. package/build/runtime-chunk-MTXG5LUQ.js +1 -0
  77. package/build/runtime-chunk-MTXG5LUQ.js.br +0 -0
  78. package/build/runtime-chunk-MTXG5LUQ.js.gz +0 -0
  79. package/build/runtime-chunk-PONAD3UD.js +1 -0
  80. package/build/runtime-chunk-PONAD3UD.js.br +0 -0
  81. package/build/runtime-chunk-PONAD3UD.js.gz +0 -0
  82. package/build/{runtime-chunk-EX3V3BQE.js → runtime-chunk-PYCMOG7D.js} +1 -1
  83. package/build/runtime-chunk-PYCMOG7D.js.br +0 -0
  84. package/build/runtime-chunk-PYCMOG7D.js.gz +0 -0
  85. package/build/{runtime-chunk-HUXCP2PU.js → runtime-chunk-QSWZYIFB.js} +1 -1
  86. package/build/runtime-chunk-QSWZYIFB.js.br +0 -0
  87. package/build/runtime-chunk-QSWZYIFB.js.gz +0 -0
  88. package/build/{runtime-chunk-QFWOD7KO.js → runtime-chunk-R6L7MCY3.js} +1 -1
  89. package/build/runtime-chunk-R6L7MCY3.js.br +0 -0
  90. package/build/runtime-chunk-R6L7MCY3.js.gz +0 -0
  91. package/build/{runtime-chunk-LUNJ7SLO.js → runtime-chunk-RUQ6SJPM.js} +1 -1
  92. package/build/runtime-chunk-RUQ6SJPM.js.br +0 -0
  93. package/build/runtime-chunk-RUQ6SJPM.js.gz +0 -0
  94. package/build/runtime-chunk-TEGAP3DX.js +1 -0
  95. package/build/runtime-chunk-TEGAP3DX.js.br +0 -0
  96. package/build/runtime-chunk-TEGAP3DX.js.gz +0 -0
  97. package/build/runtime-chunk-UI6FZJSE.js +1 -0
  98. package/build/runtime-chunk-UI6FZJSE.js.br +0 -0
  99. package/build/runtime-chunk-UI6FZJSE.js.gz +0 -0
  100. package/build/runtime-chunk-WHEALKAN.js +1 -0
  101. package/build/runtime-chunk-WHEALKAN.js.br +0 -0
  102. package/build/runtime-chunk-WHEALKAN.js.gz +0 -0
  103. package/build/{runtime-chunk-ABZUBC4Q.js → runtime-chunk-WMPEU73G.js} +1 -1
  104. package/build/runtime-chunk-WMPEU73G.js.br +0 -0
  105. package/build/runtime-chunk-WMPEU73G.js.gz +0 -0
  106. package/build/{runtime-chunk-F7Z2PGG5.js → runtime-chunk-XXDLMDCN.js} +1 -1
  107. package/build/runtime-chunk-XXDLMDCN.js.br +0 -0
  108. package/build/runtime-chunk-XXDLMDCN.js.gz +0 -0
  109. package/build/runtime-classicRuntime-OKLTCERD.js +1 -0
  110. package/build/runtime-classicRuntime-OKLTCERD.js.br +0 -0
  111. package/build/runtime-classicRuntime-OKLTCERD.js.gz +0 -0
  112. package/build/runtime-cloners-W6DM7SHL.js +1 -0
  113. package/build/runtime-cloners-W6DM7SHL.js.br +1 -0
  114. package/build/runtime-cloners-W6DM7SHL.js.gz +0 -0
  115. package/build/{runtime-components-BK66NQJV.js → runtime-components-64WWNUFT.js} +1 -1
  116. package/build/runtime-components-64WWNUFT.js.br +0 -0
  117. package/build/runtime-components-64WWNUFT.js.gz +0 -0
  118. package/build/{runtime-conditional-NND2FHP6.js → runtime-conditional-SK6JLPTN.js} +1 -1
  119. package/build/runtime-conditional-SK6JLPTN.js.br +0 -0
  120. package/build/runtime-conditional-SK6JLPTN.js.gz +0 -0
  121. package/build/runtime-createDestroy-TRMSN4GV.js +1 -0
  122. package/build/runtime-createDestroy-TRMSN4GV.js.br +0 -0
  123. package/build/runtime-createDestroy-TRMSN4GV.js.gz +0 -0
  124. package/build/{runtime-depthOfField-DGZKNDXA.js → runtime-depthOfField-V2X263JE.js} +1 -1
  125. package/build/runtime-depthOfField-V2X263JE.js.br +0 -0
  126. package/build/runtime-depthOfField-V2X263JE.js.gz +0 -0
  127. package/build/runtime-dragDrop-YPF34K77.js +1 -0
  128. package/build/runtime-dragDrop-YPF34K77.js.br +0 -0
  129. package/build/runtime-dragDrop-YPF34K77.js.gz +0 -0
  130. package/build/runtime-gameControls-TZIFAJNU.js +1 -0
  131. package/build/runtime-gameControls-TZIFAJNU.js.br +0 -0
  132. package/build/runtime-gameControls-TZIFAJNU.js.gz +0 -0
  133. package/build/runtime-hair-ZA7YFZ6E.js +1 -0
  134. package/build/runtime-hair-ZA7YFZ6E.js.br +1 -0
  135. package/build/runtime-hair-ZA7YFZ6E.js.gz +0 -0
  136. package/build/{runtime-hueSaturation-GPYT2K2E.js → runtime-hueSaturation-YSHDI5JV.js} +1 -1
  137. package/build/runtime-hueSaturation-YSHDI5JV.js.br +0 -0
  138. package/build/runtime-hueSaturation-YSHDI5JV.js.gz +0 -0
  139. package/build/{runtime-mergeStaticGeometries-O7VWNRBZ.js → runtime-mergeStaticGeometries-Y65NWJFJ.js} +1 -1
  140. package/build/runtime-mergeStaticGeometries-Y65NWJFJ.js.br +0 -0
  141. package/build/runtime-mergeStaticGeometries-Y65NWJFJ.js.gz +0 -0
  142. package/build/runtime-miscActions-MOVRBNCH.js +1 -0
  143. package/build/runtime-miscActions-MOVRBNCH.js.br +0 -0
  144. package/build/runtime-miscActions-MOVRBNCH.js.gz +0 -0
  145. package/build/runtime-mouseHover-GER5PBUZ.js +1 -0
  146. package/build/runtime-mouseHover-GER5PBUZ.js.br +0 -0
  147. package/build/runtime-mouseHover-GER5PBUZ.js.gz +0 -0
  148. package/build/{runtime-noise-6E6M63VS.js → runtime-noise-QZ2I3334.js} +1 -1
  149. package/build/runtime-noise-QZ2I3334.js.br +0 -0
  150. package/build/runtime-noise-QZ2I3334.js.gz +0 -0
  151. package/build/{runtime-particles-MD7UPOIE.js → runtime-particles-CHBC6DAR.js} +1 -1
  152. package/build/runtime-particles-CHBC6DAR.js.br +0 -0
  153. package/build/runtime-particles-CHBC6DAR.js.gz +0 -0
  154. package/build/{runtime-paths-7ACRUYG4.js → runtime-paths-PVIXWENH.js} +1 -1
  155. package/build/runtime-paths-PVIXWENH.js.br +0 -0
  156. package/build/runtime-paths-PVIXWENH.js.gz +0 -0
  157. package/build/{runtime-pixelation-NWN63YGU.js → runtime-pixelation-VQFF744B.js} +1 -1
  158. package/build/runtime-pixelation-VQFF744B.js.br +0 -0
  159. package/build/runtime-pixelation-VQFF744B.js.gz +0 -0
  160. package/build/runtime-resize-BXJTXBND.js +1 -0
  161. package/build/runtime-resize-BXJTXBND.js.br +0 -0
  162. package/build/runtime-resize-BXJTXBND.js.gz +0 -0
  163. package/build/runtime-sceneTransition-M7OWS6T4.js +1 -0
  164. package/build/runtime-sceneTransition-M7OWS6T4.js.br +0 -0
  165. package/build/runtime-sceneTransition-M7OWS6T4.js.gz +0 -0
  166. package/build/runtime-scroll-XEQZHHLW.js +1 -0
  167. package/build/runtime-scroll-XEQZHHLW.js.br +0 -0
  168. package/build/runtime-scroll-XEQZHHLW.js.gz +0 -0
  169. package/build/runtime-shapeBlends-OPZDOAMP.js +1 -0
  170. package/build/runtime-shapeBlends-OPZDOAMP.js.br +0 -0
  171. package/build/runtime-shapeBlends-OPZDOAMP.js.gz +0 -0
  172. package/build/{runtime-text-DFWD2SPU.js → runtime-text-NV4Q5BBQ.js} +1 -1
  173. package/build/runtime-text-NV4Q5BBQ.js.br +0 -0
  174. package/build/runtime-text-NV4Q5BBQ.js.gz +0 -0
  175. package/build/runtime-textInputs-COZOCG5V.js +1 -0
  176. package/build/runtime-textInputs-COZOCG5V.js.br +0 -0
  177. package/build/runtime-textInputs-COZOCG5V.js.gz +0 -0
  178. package/build/runtime-timeline-MPAYKXWO.js +1 -0
  179. package/build/runtime-timeline-MPAYKXWO.js.br +0 -0
  180. package/build/runtime-timeline-MPAYKXWO.js.gz +0 -0
  181. package/build/runtime-tracking-M7CHXAE5.js +1 -0
  182. package/build/runtime-tracking-M7CHXAE5.js.br +0 -0
  183. package/build/runtime-tracking-M7CHXAE5.js.gz +0 -0
  184. package/build/runtime-transitions-OBLPSHIH.js +1 -0
  185. package/build/runtime-transitions-OBLPSHIH.js.br +0 -0
  186. package/build/runtime-transitions-OBLPSHIH.js.gz +0 -0
  187. package/build/{runtime-ui2d-2JS74EKD.js → runtime-ui2d-OV6PGPLG.js} +1 -1
  188. package/build/runtime-ui2d-OV6PGPLG.js.br +0 -0
  189. package/build/runtime-ui2d-OV6PGPLG.js.gz +0 -0
  190. package/build/{runtime-updater-KWRKWDYN.js → runtime-updater-RCOMZLTB.js} +1 -1
  191. package/build/runtime-updater-RCOMZLTB.js.br +3 -0
  192. package/build/runtime-updater-RCOMZLTB.js.gz +0 -0
  193. package/build/runtime-variables-DJUQPZDB.js +1 -0
  194. package/build/runtime-variables-DJUQPZDB.js.br +0 -0
  195. package/build/runtime-variables-DJUQPZDB.js.gz +0 -0
  196. package/build/{runtime-vectorShapes-YCCEKO2X.js → runtime-vectorShapes-2N52XZYF.js} +1 -1
  197. package/build/runtime-vectorShapes-2N52XZYF.js.br +0 -0
  198. package/build/runtime-vectorShapes-2N52XZYF.js.gz +0 -0
  199. package/build/{runtime-video-BMREJ4XX.js → runtime-video-U5RS7HHJ.js} +1 -1
  200. package/build/runtime-video-U5RS7HHJ.js.br +0 -0
  201. package/build/runtime-video-U5RS7HHJ.js.gz +0 -0
  202. package/build/{runtime-vignette-TU2E5T6G.js → runtime-vignette-TYITST5S.js} +1 -1
  203. package/build/runtime-vignette-TYITST5S.js.br +0 -0
  204. package/build/runtime-vignette-TYITST5S.js.gz +0 -0
  205. package/build/runtime-webgpu-CBYAHAHI.js +1 -0
  206. package/build/runtime-webgpu-CBYAHAHI.js.br +0 -0
  207. package/build/runtime-webgpu-CBYAHAHI.js.gz +0 -0
  208. package/build/runtime.cjs +369 -369
  209. package/build/runtime.js +1 -1
  210. package/build/runtime.js.br +0 -0
  211. package/build/runtime.js.gz +0 -0
  212. package/build/runtime.standalone.js +1 -1
  213. package/build/runtime.standalone.js.br +0 -0
  214. package/build/runtime.standalone.js.gz +0 -0
  215. package/build/runtime.standalone.webgl.js +1 -1
  216. package/build/runtime.standalone.webgl.js.br +0 -0
  217. package/build/runtime.standalone.webgl.js.gz +0 -0
  218. package/build/runtime.standalone.webgpu.js +1 -1
  219. package/build/runtime.standalone.webgpu.js.br +0 -0
  220. package/build/runtime.standalone.webgpu.js.gz +0 -0
  221. package/build/runtime.standalone.webgpu.micro.js +1 -1
  222. package/build/runtime.standalone.webgpu.micro.js.br +0 -0
  223. package/build/runtime.standalone.webgpu.micro.js.gz +0 -0
  224. package/build/runtime.standalone.webgpu.min.js +1 -1
  225. package/build/runtime.standalone.webgpu.min.js.br +0 -0
  226. package/build/runtime.standalone.webgpu.min.js.gz +0 -0
  227. package/package.json +1 -1
  228. package/build/runtime-aiAssistant-DBCVWUEB.js.br +0 -0
  229. package/build/runtime-aiAssistant-DBCVWUEB.js.gz +0 -0
  230. package/build/runtime-apiServices-JU3DOVOS.js.br +0 -0
  231. package/build/runtime-apiServices-JU3DOVOS.js.gz +0 -0
  232. package/build/runtime-audio-LJOR4W23.js.br +0 -0
  233. package/build/runtime-audio-LJOR4W23.js.gz +0 -0
  234. package/build/runtime-bloom-QSFMSJ75.js.br +0 -0
  235. package/build/runtime-bloom-QSFMSJ75.js.gz +0 -0
  236. package/build/runtime-brightnessContrast-RCY3ODPF.js.br +0 -0
  237. package/build/runtime-brightnessContrast-RCY3ODPF.js.gz +0 -0
  238. package/build/runtime-chromaticAberration-SY5X27ML.js.br +0 -0
  239. package/build/runtime-chromaticAberration-SY5X27ML.js.gz +0 -0
  240. package/build/runtime-chunk-2AEIM2G4.js +0 -1
  241. package/build/runtime-chunk-2AEIM2G4.js.br +0 -0
  242. package/build/runtime-chunk-2AEIM2G4.js.gz +0 -0
  243. package/build/runtime-chunk-5CZ6MFAW.js +0 -1
  244. package/build/runtime-chunk-5CZ6MFAW.js.br +0 -0
  245. package/build/runtime-chunk-5CZ6MFAW.js.gz +0 -0
  246. package/build/runtime-chunk-5NERARRS.js.br +0 -0
  247. package/build/runtime-chunk-5NERARRS.js.gz +0 -0
  248. package/build/runtime-chunk-ABZUBC4Q.js.br +0 -0
  249. package/build/runtime-chunk-ABZUBC4Q.js.gz +0 -0
  250. package/build/runtime-chunk-AL2HGNMV.js +0 -1
  251. package/build/runtime-chunk-AL2HGNMV.js.br +0 -0
  252. package/build/runtime-chunk-AL2HGNMV.js.gz +0 -0
  253. package/build/runtime-chunk-EX3V3BQE.js.br +0 -0
  254. package/build/runtime-chunk-EX3V3BQE.js.gz +0 -0
  255. package/build/runtime-chunk-F7Z2PGG5.js.br +0 -0
  256. package/build/runtime-chunk-F7Z2PGG5.js.gz +0 -0
  257. package/build/runtime-chunk-FUG375TP.js.br +0 -0
  258. package/build/runtime-chunk-FUG375TP.js.gz +0 -0
  259. package/build/runtime-chunk-HEZ7K3CW.js +0 -1
  260. package/build/runtime-chunk-HEZ7K3CW.js.br +0 -0
  261. package/build/runtime-chunk-HEZ7K3CW.js.gz +0 -0
  262. package/build/runtime-chunk-HUXCP2PU.js.br +0 -0
  263. package/build/runtime-chunk-HUXCP2PU.js.gz +0 -0
  264. package/build/runtime-chunk-JBTA64YE.js +0 -1
  265. package/build/runtime-chunk-JBTA64YE.js.br +0 -0
  266. package/build/runtime-chunk-JBTA64YE.js.gz +0 -0
  267. package/build/runtime-chunk-JRDX2TFU.js +0 -1
  268. package/build/runtime-chunk-JRDX2TFU.js.br +0 -0
  269. package/build/runtime-chunk-JRDX2TFU.js.gz +0 -0
  270. package/build/runtime-chunk-K5Q5TON3.js.br +0 -0
  271. package/build/runtime-chunk-K5Q5TON3.js.gz +0 -0
  272. package/build/runtime-chunk-LOTNSNJT.js.br +0 -0
  273. package/build/runtime-chunk-LOTNSNJT.js.gz +0 -0
  274. package/build/runtime-chunk-LUNJ7SLO.js.br +0 -0
  275. package/build/runtime-chunk-LUNJ7SLO.js.gz +0 -0
  276. package/build/runtime-chunk-NEOF7SBZ.js.br +0 -0
  277. package/build/runtime-chunk-NEOF7SBZ.js.gz +0 -0
  278. package/build/runtime-chunk-NW3DVKBD.js.br +0 -0
  279. package/build/runtime-chunk-NW3DVKBD.js.gz +0 -0
  280. package/build/runtime-chunk-ODYXBVNJ.js +0 -1
  281. package/build/runtime-chunk-ODYXBVNJ.js.br +0 -0
  282. package/build/runtime-chunk-ODYXBVNJ.js.gz +0 -0
  283. package/build/runtime-chunk-OKPYRW23.js +0 -1
  284. package/build/runtime-chunk-OKPYRW23.js.br +0 -0
  285. package/build/runtime-chunk-OKPYRW23.js.gz +0 -0
  286. package/build/runtime-chunk-PNJ7AF7H.js +0 -1
  287. package/build/runtime-chunk-PNJ7AF7H.js.br +0 -0
  288. package/build/runtime-chunk-PNJ7AF7H.js.gz +0 -0
  289. package/build/runtime-chunk-QFWOD7KO.js.br +0 -0
  290. package/build/runtime-chunk-QFWOD7KO.js.gz +0 -0
  291. package/build/runtime-chunk-R6NZ3XSG.js.br +0 -0
  292. package/build/runtime-chunk-R6NZ3XSG.js.gz +0 -0
  293. package/build/runtime-chunk-RLNFCXMS.js.br +0 -0
  294. package/build/runtime-chunk-RLNFCXMS.js.gz +0 -0
  295. package/build/runtime-chunk-S2A55QI5.js.br +0 -0
  296. package/build/runtime-chunk-S2A55QI5.js.gz +0 -0
  297. package/build/runtime-chunk-S6IQT6ZF.js +0 -1
  298. package/build/runtime-chunk-S6IQT6ZF.js.br +0 -0
  299. package/build/runtime-chunk-S6IQT6ZF.js.gz +0 -0
  300. package/build/runtime-chunk-U44V7VUP.js.br +0 -0
  301. package/build/runtime-chunk-U44V7VUP.js.gz +0 -0
  302. package/build/runtime-chunk-VKXOW65P.js +0 -1
  303. package/build/runtime-chunk-VKXOW65P.js.br +0 -0
  304. package/build/runtime-chunk-VKXOW65P.js.gz +0 -0
  305. package/build/runtime-chunk-WL2OAQWT.js +0 -1
  306. package/build/runtime-chunk-WL2OAQWT.js.br +0 -0
  307. package/build/runtime-chunk-WL2OAQWT.js.gz +0 -0
  308. package/build/runtime-chunk-X2RYY6RX.js.br +0 -2
  309. package/build/runtime-chunk-X2RYY6RX.js.gz +0 -0
  310. package/build/runtime-chunk-ZGFKGE5W.js +0 -1
  311. package/build/runtime-chunk-ZGFKGE5W.js.br +0 -0
  312. package/build/runtime-chunk-ZGFKGE5W.js.gz +0 -0
  313. package/build/runtime-chunk-ZVGRIWWN.js.br +0 -2
  314. package/build/runtime-chunk-ZVGRIWWN.js.gz +0 -0
  315. package/build/runtime-classicRuntime-BHVGEBZ6.js +0 -1
  316. package/build/runtime-classicRuntime-BHVGEBZ6.js.br +0 -0
  317. package/build/runtime-classicRuntime-BHVGEBZ6.js.gz +0 -0
  318. package/build/runtime-cloners-FJTKSHFU.js +0 -1
  319. package/build/runtime-cloners-FJTKSHFU.js.br +0 -0
  320. package/build/runtime-cloners-FJTKSHFU.js.gz +0 -0
  321. package/build/runtime-components-BK66NQJV.js.br +0 -0
  322. package/build/runtime-components-BK66NQJV.js.gz +0 -0
  323. package/build/runtime-conditional-NND2FHP6.js.br +0 -0
  324. package/build/runtime-conditional-NND2FHP6.js.gz +0 -0
  325. package/build/runtime-createDestroy-3IH64YKQ.js +0 -1
  326. package/build/runtime-createDestroy-3IH64YKQ.js.br +0 -0
  327. package/build/runtime-createDestroy-3IH64YKQ.js.gz +0 -0
  328. package/build/runtime-depthOfField-DGZKNDXA.js.br +0 -0
  329. package/build/runtime-depthOfField-DGZKNDXA.js.gz +0 -0
  330. package/build/runtime-dragDrop-7Z2LIYWZ.js +0 -1
  331. package/build/runtime-dragDrop-7Z2LIYWZ.js.br +0 -0
  332. package/build/runtime-dragDrop-7Z2LIYWZ.js.gz +0 -0
  333. package/build/runtime-gameControls-RTBNWQU7.js +0 -1
  334. package/build/runtime-gameControls-RTBNWQU7.js.br +0 -0
  335. package/build/runtime-gameControls-RTBNWQU7.js.gz +0 -0
  336. package/build/runtime-hair-OMZLXFFY.js +0 -1
  337. package/build/runtime-hair-OMZLXFFY.js.br +0 -2
  338. package/build/runtime-hair-OMZLXFFY.js.gz +0 -0
  339. package/build/runtime-hueSaturation-GPYT2K2E.js.br +0 -0
  340. package/build/runtime-hueSaturation-GPYT2K2E.js.gz +0 -0
  341. package/build/runtime-mergeStaticGeometries-O7VWNRBZ.js.br +0 -0
  342. package/build/runtime-mergeStaticGeometries-O7VWNRBZ.js.gz +0 -0
  343. package/build/runtime-miscActions-F5VEWDWC.js +0 -1
  344. package/build/runtime-miscActions-F5VEWDWC.js.br +0 -0
  345. package/build/runtime-miscActions-F5VEWDWC.js.gz +0 -0
  346. package/build/runtime-mouseHover-C4JRDB5P.js +0 -1
  347. package/build/runtime-mouseHover-C4JRDB5P.js.br +0 -0
  348. package/build/runtime-mouseHover-C4JRDB5P.js.gz +0 -0
  349. package/build/runtime-noise-6E6M63VS.js.br +0 -0
  350. package/build/runtime-noise-6E6M63VS.js.gz +0 -0
  351. package/build/runtime-particles-MD7UPOIE.js.br +0 -0
  352. package/build/runtime-particles-MD7UPOIE.js.gz +0 -0
  353. package/build/runtime-paths-7ACRUYG4.js.br +0 -0
  354. package/build/runtime-paths-7ACRUYG4.js.gz +0 -0
  355. package/build/runtime-pixelation-NWN63YGU.js.br +0 -0
  356. package/build/runtime-pixelation-NWN63YGU.js.gz +0 -0
  357. package/build/runtime-resize-PLIXP66B.js +0 -1
  358. package/build/runtime-resize-PLIXP66B.js.br +0 -0
  359. package/build/runtime-resize-PLIXP66B.js.gz +0 -0
  360. package/build/runtime-sceneTransition-KU7DBITG.js +0 -1
  361. package/build/runtime-sceneTransition-KU7DBITG.js.br +0 -0
  362. package/build/runtime-sceneTransition-KU7DBITG.js.gz +0 -0
  363. package/build/runtime-scroll-NOD7PULW.js +0 -1
  364. package/build/runtime-scroll-NOD7PULW.js.br +0 -0
  365. package/build/runtime-scroll-NOD7PULW.js.gz +0 -0
  366. package/build/runtime-shapeBlends-LADW256G.js +0 -1
  367. package/build/runtime-shapeBlends-LADW256G.js.br +0 -0
  368. package/build/runtime-shapeBlends-LADW256G.js.gz +0 -0
  369. package/build/runtime-text-DFWD2SPU.js.br +0 -0
  370. package/build/runtime-text-DFWD2SPU.js.gz +0 -0
  371. package/build/runtime-textInputs-KLOOCJ3R.js +0 -1
  372. package/build/runtime-textInputs-KLOOCJ3R.js.br +0 -0
  373. package/build/runtime-textInputs-KLOOCJ3R.js.gz +0 -0
  374. package/build/runtime-timeline-GAOPWXAQ.js +0 -1
  375. package/build/runtime-timeline-GAOPWXAQ.js.br +0 -0
  376. package/build/runtime-timeline-GAOPWXAQ.js.gz +0 -0
  377. package/build/runtime-tracking-T7KJ7NF7.js +0 -1
  378. package/build/runtime-tracking-T7KJ7NF7.js.br +0 -0
  379. package/build/runtime-tracking-T7KJ7NF7.js.gz +0 -0
  380. package/build/runtime-transitions-QQX2X2NI.js +0 -1
  381. package/build/runtime-transitions-QQX2X2NI.js.br +0 -0
  382. package/build/runtime-transitions-QQX2X2NI.js.gz +0 -0
  383. package/build/runtime-ui2d-2JS74EKD.js.br +0 -0
  384. package/build/runtime-ui2d-2JS74EKD.js.gz +0 -0
  385. package/build/runtime-updater-KWRKWDYN.js.br +0 -1
  386. package/build/runtime-updater-KWRKWDYN.js.gz +0 -0
  387. package/build/runtime-variables-S6VNWBXR.js +0 -1
  388. package/build/runtime-variables-S6VNWBXR.js.br +0 -0
  389. package/build/runtime-variables-S6VNWBXR.js.gz +0 -0
  390. package/build/runtime-vectorShapes-YCCEKO2X.js.br +0 -0
  391. package/build/runtime-vectorShapes-YCCEKO2X.js.gz +0 -0
  392. package/build/runtime-video-BMREJ4XX.js.br +0 -0
  393. package/build/runtime-video-BMREJ4XX.js.gz +0 -0
  394. package/build/runtime-vignette-TU2E5T6G.js.br +0 -0
  395. package/build/runtime-vignette-TU2E5T6G.js.gz +0 -0
  396. package/build/runtime-webgpu-5MIPMGNR.js +0 -1
  397. package/build/runtime-webgpu-5MIPMGNR.js.br +0 -0
  398. package/build/runtime-webgpu-5MIPMGNR.js.gz +0 -0
@@ -1 +0,0 @@
1
- import{a as r}from"./runtime-chunk-WL2OAQWT.js";import"./runtime-chunk-5NERARRS.js";import"./runtime-chunk-AL2HGNMV.js";import"./runtime-chunk-RLNFCXMS.js";import"./runtime-chunk-ABZUBC4Q.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{c as m}from"./runtime-chunk-S6IQT6ZF.js";import"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-HUXCP2PU.js";import{a as n}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-JBTA64YE.js";import"./runtime-chunk-BVVSZMXD.js";import"./runtime-chunk-ML3Z74BL.js";m.Cloner=r,n("cloners");
@@ -1 +0,0 @@
1
- import{a as t}from"./runtime-chunk-WL2OAQWT.js";import"./runtime-chunk-5NERARRS.js";import"./runtime-chunk-AL2HGNMV.js";import"./runtime-chunk-RLNFCXMS.js";import{ea as e}from"./runtime-chunk-ABZUBC4Q.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{b as i,e as a}from"./runtime-chunk-NEOF7SBZ.js";import"./runtime-chunk-S6IQT6ZF.js";import{b as o}from"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-HUXCP2PU.js";import{a as r}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-JBTA64YE.js";import{Cc as s,Ec as n,Fc as d}from"./runtime-chunk-BVVSZMXD.js";import"./runtime-chunk-ML3Z74BL.js";var h=(()=>{let t,e,i,a,o=!1;function r(i){!t&&!l()&&(e?.sharedGameControlGlobals.createdObjects.length??0)>0&&(t=requestAnimationFrame(s)),i&&(e=i,a=i.requestRender,!o&&typeof document<"u"&&(document.addEventListener("visibilitychange",n),o=!0))}function s(o){if(!e||!a)return t=void 0,void(i=void 0);let r=i?o-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=o),void 0===t.userData.lifetime&&void 0===t.userData.quantity||t.userData.lifetime&&o-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,r/1e3),t.updateMatrix(),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?o:void 0}function n(){l()?t&&(cancelAnimationFrame(t),t=void 0,i=void 0):r()}return{play:r,dispose:function(){t&&(cancelAnimationFrame(t),t=void 0),o&&typeof document<"u"&&(document.removeEventListener("visibilitychange",n),o=!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,r,n,l,p){this.data=i,this.page=r,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=o(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.hiddenMatrix.copy(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(),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.hasNonUniformScale&&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 o=(new d).fromArray(this.data.velocity.map(t=>"number"==typeof t?t:0)),r=a.dataPatched;if(!("visibility"===r.physics.enabled?!r.visible:!r.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),o.applyQuaternion(c),this.data.velocity.some(t=>0!==t)&&this.data.dynamic&&i.rigidBody?.setLinvel(o.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=o)),!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,o){this.data=t,this.page=e,this.controlsManager=i,this.shared=a,this.condition=o,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:o})=>new p(t,e,i.controlsManager,a,o)),i("Destroy",({data:t,page:e,eventManager:i,shared:a,actionCondition:o})=>new y(t,e,i.controlsManager,a,o)),r("create-destroy");
@@ -1 +0,0 @@
1
- import{a as t}from"./runtime-chunk-FUG375TP.js";import{f as e}from"./runtime-chunk-2AEIM2G4.js";import{a,b as i}from"./runtime-chunk-DZNU62CT.js";import{a as r}from"./runtime-chunk-VAVYZ35B.js";import"./runtime-chunk-FQNSP44B.js";import"./runtime-chunk-ODYXBVNJ.js";import"./runtime-chunk-RLNFCXMS.js";import"./runtime-chunk-EX3V3BQE.js";import"./runtime-chunk-U44V7VUP.js";import"./runtime-chunk-ABZUBC4Q.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{f as o,g as n}from"./runtime-chunk-NEOF7SBZ.js";import{h as s,v as c}from"./runtime-chunk-S6IQT6ZF.js";import"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-HUXCP2PU.js";import{a as h}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-JBTA64YE.js";import{Ec as d,Fc as p,Gc as l,Oc as v,rd as u}from"./runtime-chunk-BVVSZMXD.js";import"./runtime-chunk-ML3Z74BL.js";var m=new p,g=new p,E=new p,f=new u,D=new p,y=new p,b=new p,x=new d,C=new v,j=new l,M=new p,P=new p,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 I=function(){let t=new v;return(a,i,r)=>{let o=a.obj;t.copy(o.hiddenMatrix),null!==o.parent&&t.premultiply(o.parent.matrixWorld),t.invert(),o.position.copy(i),"global"===a.reference&&w(o.position,a.limits),o.position.applyMatrix4(t),"parent"===a.reference?w(o.position,a.limits):"local"===a.reference&&(x.copy(a.quat0).invert(),o.position.sub(a.position0),o.position.applyQuaternion(x),w(o.position,a.limits),x.invert(),o.position.applyQuaternion(x),o.position.add(a.position0)),t.multiply(r??o.matrixWorld).decompose(D,o.quaternion,y),o.updateMatrix(),o.hasNonUniformScale&&(o.updateMatrixWorld(),o.updateMatrixWorldRigid()),o instanceof c&&e(o.parent)&&o.invalidateDownstreamBooleanData(!0)}}(),S=class{constructor(t,e,a,i,r,n,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=o(a,a.dragDropActions.drag,i,r,n,this.object),this.actionsDrop=o(a,a.dragDropActions.drop,i,r,n,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 p).setFromMatrixPosition(t.matrixWorld),{obj:t,fromPosition:(new p).setFromMatrixPosition(t.matrixWorld),pointStart:new p,pointEnd:new p,paused:!0,currentDampingFactor:this.data.dampingFactor,reset:!1,position0:(new p).copy(t.position),quat0:(new d).copy(t.quaternion),snapped:!1,orientationMatrix:new v,limits:this.data.limits,reference:this.data.referenceFrame}))}get activeDragItem(){return null!==this.activeIdx?this.dragItems[this.activeIdx]:null}dispose(){n(this.actionsDrag),n(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 a{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(r.length>1)return;this.eventContext.updateRaycaster(t);let{raycaster:e,page:a}=this.eventContext,i=a.raycastWithClones(e);if(this.lastDropDestination=null,0!==i.length){for(let t of this.events){let e=0;for(let{obj:a,pointEnd:r,pointStart:o}of t.dragItems){if(a===i[0].object||a===i[0].object.object||s.is(a)&&a.isAncestorOf(i[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(D,x,y),void 0===e.prevQ?(e.prevQ=x.clone(),e.prevT=D.clone()):(e.prevQ.copy(x),e.prevT.copy(D)),this.eventManager.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim.push(t.activeDragItem.obj)}return this.calcPlaneIntersectPos(a,o,t.data.plane,t.data.referenceFrame),r.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===r.length&&(this.eventContext.updateRaycaster(t),this.lastCursorRaycastTime=performance.now(),this.updateCursorFromRaycast())},this.onPointerMove=e=>{if(r.length>1)return;this.eventContext.updateRaycaster(e);let{raycaster:a,page:i}=this.eventContext;if(0===r.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,r=this.activeEvent.activeDragItem;if(r.snapped=!1,this.activeEvent.data.drop&&(e=i.raycastWithClones(a).filter(e=>r.obj!==e.object&&!r.obj.isAncestorOf(e.object.uuid)&&!(e.object instanceof t)&&("all"===this.activeEvent.data.dropOn||this.activeEvent.dropDestIds.some(t=>t===e.object.uuid||i.scene.find(t).isAncestorOf(e.object.uuid))))[0]),e){let t=b.copy(e.face.normal).applyMatrix3(j.getNormalMatrix(e.object.matrixWorld));if("center"===this.activeEvent.data.snapTo)r.fromPosition.setFromMatrixPosition(e.object.matrixWorld);else if("surface"===this.activeEvent.data.snapTo){if(r.fromPosition.copy(e.point),"bbox"===this.activeEvent.data.snapSurfaceMode){D.copy(t).applyMatrix3(j.setFromMatrix4(r.obj.matrixWorld).transpose());let e=r.obj;D.x>T?y.x=-e.recursiveBBox.min.x:D.x<-T&&(y.x=-e.recursiveBBox.max.x),D.y>T?y.y=-e.recursiveBBox.min.y:D.y<-T&&(y.y=-e.recursiveBBox.max.y),D.z>T?y.z=-e.recursiveBBox.min.z:D.z<-T&&(y.z=-e.recursiveBBox.max.z),y.applyMatrix3(j.invert())}else y.copy(t).multiplyScalar(this.activeEvent.data.snapSurfaceOffset);r.fromPosition.add(y)}this.activeEvent.data.autoOrient&&(D.set(0,1,0).cross(t),D.length()<1e-4&&D.set(-1,0,0).cross(t),y.crossVectors(b,D),r.orientationMatrix.makeBasis(D,y,t)),r.pointStart.copy(r.fromPosition),r.pointEnd.copy(r.pointStart),r.currentDampingFactor=this.activeEvent.snapDampingFactor,r.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 r.orientationMatrix.makeRotationFromQuaternion(r.quat0),this.lastDropDestination=null,r.currentDampingFactor=this.activeEvent.data.dampingFactor,this.calcPlaneIntersectPos(r.obj,r.pointEnd,this.activeEvent.data.plane,this.activeEvent.data.referenceFrame),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(r),r.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 S(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(g),g.negate();let n=x.identity();switch("parent"===i?C.multiplyMatrices(t.parent.matrixWorld,t.hiddenMatrix).decompose(D,n,y):"local"===i&&t.matrixWorld.decompose(D,n,y),a){case"x":D.set(1,0,0).applyQuaternion(n),M.copy(g).cross(D),P.copy(D).cross(M);break;case"y":D.set(0,1,0).applyQuaternion(n),M.copy(g).cross(D),P.copy(D).cross(M);break;case"z":D.set(0,0,1).applyQuaternion(n),M.copy(g).cross(D),P.copy(D).cross(M);break;case"xy":P.set(0,0,1).applyQuaternion(n);break;case"yz":P.set(1,0,0).applyQuaternion(n);break;case"xz":P.set(0,1,0).applyQuaternion(n);break;case"adaptive":g.angleTo(y.set(0,1,0))>Math.PI/6?(D.crossVectors(y.set(0,1,0),g),P.crossVectors(D,y)):P.set(0,1,0);break;default:P.copy(g)}E.setFromMatrixPosition(t.matrixWorld);let s=t.userData.lockedPlane?t.userData.worldPosition0:E;if(f.setFromNormalAndCoplanarPoint(P,s),o.ray.intersectPlane(f,e)&&("x"===a||"y"===a||"z"===a)){let t=y.subVectors(e,s).dot(D);e.copy(s).addScaledVector(D,t)}}updateDragItem(t,e=!1){E.setFromMatrixPosition(t.obj.matrixWorld),"current"===t.reset?m.subVectors(t.fromPosition,E).divideScalar(t.currentDampingFactor):"original"===t.reset?(m.subVectors(t.obj.userData.worldPosition0,E).divideScalar(t.currentDampingFactor),t.fromPosition.copy(t.obj.userData.worldPosition0),t.pointStart.copy(t.fromPosition),t.pointEnd.copy(t.pointStart)):m.subVectors(t.pointEnd,t.pointStart).add(t.fromPosition).sub(E).divideScalar(t.currentDampingFactor),t.paused=!(t.currentDampingFactor>1)||m.length()<.01,(this.activeEvent&&1===this.activeEvent.data.dampingFactor||e)&&I(t,m.add(E),this.activeEvent?.data.drop&&this.activeEvent?.data.autoOrient?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||s.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")}};i("DragDrop",({eventContext:t,eventManager:e})=>new F(t,e)),h("dragdrop");
@@ -1 +0,0 @@
1
- import{a as t}from"./runtime-chunk-WL2OAQWT.js";import"./runtime-chunk-5NERARRS.js";import{c as e,d as i,f as o,g as s,i as n,k as r,l as a}from"./runtime-chunk-JRDX2TFU.js";import"./runtime-chunk-N2ZRGNPR.js";import{a as h}from"./runtime-chunk-VAVYZ35B.js";import{e as l,f as c,g as d}from"./runtime-chunk-FQNSP44B.js";import{a as m}from"./runtime-chunk-ODYXBVNJ.js";import"./runtime-chunk-ZVGRIWWN.js";import"./runtime-chunk-AL2HGNMV.js";import"./runtime-chunk-RLNFCXMS.js";import"./runtime-chunk-EX3V3BQE.js";import"./runtime-chunk-U44V7VUP.js";import{L as p,S as u,a as y,ea as g,q as f}from"./runtime-chunk-ABZUBC4Q.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{f as v,g as b}from"./runtime-chunk-NEOF7SBZ.js";import{h as x}from"./runtime-chunk-S6IQT6ZF.js";import"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-HUXCP2PU.js";import{a as w}from"./runtime-chunk-TZCHGFVF.js";import{Ma as P,Na as M,da as E,f as S,ta as j}from"./runtime-chunk-JBTA64YE.js";import{Bc as A,Cc as T,Dc as D,Ec as k,Fc as C,Oc as O,Pc as z,Re as R,Xc as F,Zc as _,dd as X,ld as W}from"./runtime-chunk-BVVSZMXD.js";import"./runtime-chunk-ML3Z74BL.js";var N=(t,e)=>{let i=e.x-t.x,o=e.y-t.y;return Math.sqrt(i*i+o*o)},V=t=>t*(Math.PI/180),L=new Map,I=(t,e,i)=>{let o,s=e.split(/[ ,]+/g);for(let e=0;e<s.length;e+=1)o=s[e],t.addEventListener?t.addEventListener(o,i,!1):t.attachEvent&&t.attachEvent(o,i)},B=(t,e,i)=>{let o,s=e.split(/[ ,]+/g);for(let e=0;e<s.length;e+=1)o=s[e],t.removeEventListener?t.removeEventListener(o,i):t.detachEvent&&t.detachEvent(o,i)},Q=t=>(t.preventDefault(),t.type.match(/^touch/)?t.changedTouches:t),Z=()=>{if(!(typeof window>"u"))return{x:void 0!==window.pageXOffset?window.pageXOffset:(document.documentElement||document.body.parentNode||document.body).scrollLeft,y:void 0!==window.pageYOffset?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop}},Y=(t,e)=>{e.top||e.right||e.bottom||e.left?(t.style.top=e.top,t.style.right=e.right,t.style.bottom=e.bottom,t.style.left=e.left):(t.style.left=e.x+"px",t.style.top=e.y+"px")},G=(t,e,i)=>{let o=q(t);for(let t in o)if(Object.prototype.hasOwnProperty.call(o,t))if("string"==typeof e)o[t]=e+" "+i;else{let s="";for(let t=0,o=e.length;t<o;t+=1)s+=e[t]+" "+i+", ";o[t]=s.slice(0,-2)}return o},q=t=>{let e={};return e[t]="",["webkit","Moz","o"].forEach(function(i){e[i+t.charAt(0).toUpperCase()+t.slice(1)]=""}),e},U=(t,e)=>{for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t},H=(t,e)=>{if(t.length)for(let i=0,o=t.length;i<o;i+=1)e(t[i]);else e(t)};typeof window<"u"&&(J="ontouchstart"in window,K=!!window.PointerEvent,$=!!window.MSPointerEvent);var J,K,$,tt,et={start:"mousedown",move:"mousemove",end:"mouseup"},it={};function ot(){}K?tt={start:"pointerdown",move:"pointermove",end:"pointerup, pointercancel"}:$?tt={start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:J?(tt={start:"touchstart",move:"touchmove",end:"touchend, touchcancel"},it=et):tt=et,ot.prototype.on=function(t,e){var i,o=this,s=t.split(/[ ,]+/g);o._handlers_=o._handlers_||{};for(var n=0;n<s.length;n+=1)i=s[n],o._handlers_[i]=o._handlers_[i]||[],o._handlers_[i].push(e);return o},ot.prototype.off=function(t,e){var i=this;return i._handlers_=i._handlers_||{},void 0===t?i._handlers_={}:void 0===e?i._handlers_[t]=null:i._handlers_[t]&&i._handlers_[t].indexOf(e)>=0&&i._handlers_[t].splice(i._handlers_[t].indexOf(e),1),i},ot.prototype.trigger=function(t,e){var i,o=this,s=t.split(/[ ,]+/g);o._handlers_=o._handlers_||{};for(var n=0;n<s.length;n+=1)i=s[n],o._handlers_[i]&&o._handlers_[i].length&&o._handlers_[i].forEach(function(t){t.call(o,{type:i,target:o},e)})},ot.prototype.config=function(t){var e=this;e.options=e.defaults||{},t&&(e.options=((t,e)=>{let i={};for(let o in t)Object.prototype.hasOwnProperty.call(t,o)&&Object.prototype.hasOwnProperty.call(e,o)?i[o]=e[o]:Object.prototype.hasOwnProperty.call(t,o)&&(i[o]=t[o]);return i})(e.options,t))},ot.prototype.bindEvt=function(t,e){var i=this;return i._domHandlers_=i._domHandlers_||{},i._domHandlers_[e]=function(){"function"==typeof i["on"+e]?i["on"+e].apply(i,arguments):console.warn('[WARNING] : Missing "on'+e+'" handler.')},I(t,tt[e],i._domHandlers_[e]),it[e]&&I(t,it[e],i._domHandlers_[e]),i},ot.prototype.unbindEvt=function(t,e){var i=this;return i._domHandlers_=i._domHandlers_||{},B(t,tt[e],i._domHandlers_[e]),it[e]&&B(t,it[e],i._domHandlers_[e]),delete i._domHandlers_[e],this};var st=ot;function nt(t,e){return this.identifier=e.identifier,this.position=e.position,this.frontPosition=e.frontPosition,this.collection=t,this.defaults={size:100,threshold:.1,color:"white",fadeTime:250,dataOnly:!1,restJoystick:!0,restOpacity:1,mode:"dynamic",zone:document.body,lockX:!1,lockY:!1,shape:"circle"},this.config(e),"dynamic"===this.options.mode&&(this.options.restOpacity=0),this.id=nt.id,nt.id+=1,this.buildEl().stylize(),this.instance={el:this.ui.el,on:this.on.bind(this),off:this.off.bind(this),show:this.show.bind(this),hide:this.hide.bind(this),add:this.addToDom.bind(this),remove:this.removeFromDom.bind(this),destroy:this.destroy.bind(this),setPosition:this.setPosition.bind(this),resetDirection:this.resetDirection.bind(this),computeDirection:this.computeDirection.bind(this),trigger:this.trigger.bind(this),position:this.position,frontPosition:this.frontPosition,ui:this.ui,identifier:this.identifier,id:this.id,options:this.options},this.instance}nt.prototype=new st,nt.constructor=nt,nt.id=0,nt.prototype.buildEl=function(t){return this.ui={},this.options.dataOnly||(this.ui.el=document.createElement("div"),this.ui.back=document.createElement("div"),this.ui.front=document.createElement("div"),this.ui.el.className="nipple collection_"+this.collection.id,this.ui.back.className="back",this.ui.front.className="front",this.ui.el.setAttribute("id","nipple_"+this.collection.id+"_"+this.id),this.ui.el.appendChild(this.ui.back),this.ui.el.appendChild(this.ui.front)),this},nt.prototype.stylize=function(){if(this.options.dataOnly)return this;var t=this.options.fadeTime+"ms",e=(()=>{let t=q("borderRadius");for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e]="50%");return t})(),i=G("transition","opacity",t),o={};return o.el={position:"absolute",opacity:this.options.restOpacity,display:"block",zIndex:999},o.back={position:"absolute",display:"block",width:this.options.size+"px",height:this.options.size+"px",marginLeft:-this.options.size/2+"px",marginTop:-this.options.size/2+"px",background:"rgba(255, 255, 255, .4)",border:"solid 2px rgba(0, 0, 0, .1)"},o.front={width:this.options.size/2+"px",height:this.options.size/2+"px",position:"absolute",display:"block",marginLeft:-this.options.size/4+"px",marginTop:-this.options.size/4+"px",background:"rgba(255, 255, 255, .8)",border:"solid 2px rgba(0, 0, 0, .1)"},U(o.el,i),"circle"===this.options.shape&&U(o.back,e),U(o.front,e),this.applyStyles(o),this},nt.prototype.applyStyles=function(t){for(var e in this.ui)if(Object.prototype.hasOwnProperty.call(this.ui,e))for(var i in t[e])this.ui[e].style[i]=t[e][i];return this},nt.prototype.addToDom=function(){return this.options.dataOnly||document.body.contains(this.ui.el)||this.options.zone.appendChild(this.ui.el),this},nt.prototype.removeFromDom=function(){return this.options.dataOnly||!document.body.contains(this.ui.el)||this.options.zone.removeChild(this.ui.el),this},nt.prototype.destroy=function(){clearTimeout(this.removeTimeout),clearTimeout(this.showTimeout),clearTimeout(this.restTimeout),this.trigger("destroyed",this.instance),this.removeFromDom(),this.off(),this.ui=null,this.instance=null,this.collection=null,this.options=null},nt.prototype.show=function(t){var e=this;return e.options.dataOnly||(clearTimeout(e.removeTimeout),clearTimeout(e.showTimeout),clearTimeout(e.restTimeout),e.addToDom(),e.restCallback(),setTimeout(function(){e.ui.el.style.opacity=1},0),e.showTimeout=setTimeout(function(){e.trigger("shown",e.instance),"function"==typeof t&&t.call(this)},e.options.fadeTime)),e},nt.prototype.hide=function(t){var e=this;if(e.options.dataOnly)return e;if(e.ui.el.style.opacity=e.options.restOpacity,clearTimeout(e.removeTimeout),clearTimeout(e.showTimeout),clearTimeout(e.restTimeout),e.removeTimeout=setTimeout(function(){var i="dynamic"===e.options.mode?"none":"block";e.ui.el.style.display=i,"function"==typeof t&&t.call(e),e.trigger("hidden",e.instance)},e.options.fadeTime),e.options.restJoystick){let i=e.options.restJoystick,o={};o.x=!0===i||!1!==i.x?0:e.instance.frontPosition.x,o.y=!0===i||!1!==i.y?0:e.instance.frontPosition.y,e.setPosition(t,o)}return e},nt.prototype.setPosition=function(t,e){var i=this;i.frontPosition={x:e.x,y:e.y};var o=i.options.fadeTime+"ms",s={};s.front=G("transition",["top","left"],o);var n={front:{}};n.front={left:i.frontPosition.x+"px",top:i.frontPosition.y+"px"},i.applyStyles(s),i.applyStyles(n),i.restTimeout=setTimeout(function(){"function"==typeof t&&t.call(i),i.restCallback()},i.options.fadeTime)},nt.prototype.restCallback=function(){var t=this,e={};e.front=G("transition","none",""),t.applyStyles(e),t.trigger("rested",t.instance)},nt.prototype.resetDirection=function(){this.direction={x:!1,y:!1,angle:!1}},nt.prototype.computeDirection=function(t){var e,i,o,s=t.angle.radian,n=Math.PI/4,r=Math.PI/2;if(s>n&&s<3*n&&!t.lockX?e="up":s>-n&&s<=n&&!t.lockY?e="left":s>3*-n&&s<=-n&&!t.lockX?e="down":t.lockY||(e="right"),t.lockY||(i=s>-r&&s<r?"left":"right"),t.lockX||(o=s>0?"up":"down"),t.force>this.options.threshold){var a,h={};for(a in this.direction)Object.prototype.hasOwnProperty.call(this.direction,a)&&(h[a]=this.direction[a]);var l={};for(a in this.direction={x:i,y:o,angle:e},t.direction=this.direction,h)h[a]===this.direction[a]&&(l[a]=!0);if(l.x&&l.y&&l.angle)return t;(!l.x||!l.y)&&this.trigger("plain",t),l.x||this.trigger("plain:"+i,t),l.y||this.trigger("plain:"+o,t),l.angle||this.trigger("dir dir:"+e,t)}else this.resetDirection();return t};var rt=nt;function at(t,e){var i=this;i.nipples=[],i.idles=[],i.actives=[],i.ids=[],i.pressureIntervals={},i.manager=t,i.id=at.id,at.id+=1,i.defaults={zone:document.body,multitouch:!1,maxNumberOfNipples:10,mode:"dynamic",position:{top:0,left:0},catchDistance:200,size:100,threshold:.1,color:"white",fadeTime:250,dataOnly:!1,restJoystick:!0,restOpacity:1,lockX:!1,lockY:!1,shape:"circle",dynamicPage:!1,follow:!1},i.config(e),("static"===i.options.mode||"semi"===i.options.mode)&&(i.options.multitouch=!1),i.options.multitouch||(i.options.maxNumberOfNipples=1);let o=getComputedStyle(i.options.zone.parentElement);return o&&"flex"===o.display&&(i.parentIsFlex=!0),i.updateBox(),i.prepareNipples(),i.bindings(),i.begin(),i.nipples}at.prototype=new st,at.constructor=at,at.id=0,at.prototype.prepareNipples=function(){var t=this,e=t.nipples;e.on=t.on.bind(t),e.off=t.off.bind(t),e.options=t.options,e.destroy=t.destroy.bind(t),e.ids=t.ids,e.id=t.id,e.processOnMove=t.processOnMove.bind(t),e.processOnEnd=t.processOnEnd.bind(t),e.get=function(t){if(void 0===t)return e[0];for(var i=0,o=e.length;i<o;i+=1)if(e[i].identifier===t)return e[i];return!1}},at.prototype.bindings=function(){var t=this;t.bindEvt(t.options.zone,"start"),t.options.zone.style.touchAction="none",t.options.zone.style.msTouchAction="none"},at.prototype.begin=function(){var t=this,e=t.options;if("static"===e.mode){var i=t.createNipple(e.position,t.manager.getIdentifier());i.add(),t.idles.push(i)}},at.prototype.createNipple=function(t,e){var i=this,o=i.manager.scroll,s={},n=i.options,r=i.parentIsFlex?o.x:o.x+i.box.left,a=i.parentIsFlex?o.y:o.y+i.box.top;if(t.x&&t.y)s={x:t.x-r,y:t.y-a};else if(t.top||t.right||t.bottom||t.left){var h=document.createElement("DIV");h.style.display="hidden",h.style.top=t.top,h.style.right=t.right,h.style.bottom=t.bottom,h.style.left=t.left,h.style.position="absolute",n.zone.appendChild(h);var l=h.getBoundingClientRect();n.zone.removeChild(h),s=t,t={x:l.left+o.x,y:l.top+o.y}}var c=new rt(i,{color:n.color,size:n.size,threshold:n.threshold,fadeTime:n.fadeTime,dataOnly:n.dataOnly,restJoystick:n.restJoystick,restOpacity:n.restOpacity,mode:n.mode,identifier:e,position:t,zone:n.zone,frontPosition:{x:0,y:0},shape:n.shape});return n.dataOnly||(Y(c.ui.el,s),Y(c.ui.front,c.frontPosition)),i.nipples.push(c),i.trigger("added "+c.identifier+":added",c),i.manager.trigger("added "+c.identifier+":added",c),i.bindNipple(c),c},at.prototype.updateBox=function(){this.box=this.options.zone.getBoundingClientRect()},at.prototype.bindNipple=function(t){var e,i=this,o=function(t,o){e=t.type+" "+o.id+":"+t.type,i.trigger(e,o)};t.on("destroyed",i.onDestroyed.bind(i)),t.on("shown hidden rested dir plain",o),t.on("dir:up dir:right dir:down dir:left",o),t.on("plain:up plain:right plain:down plain:left",o)},at.prototype.pressureFn=function(t,e,i){var o=this,s=0;clearInterval(o.pressureIntervals[i]),o.pressureIntervals[i]=setInterval(function(){var i=t.force||t.pressure||t.webkitForce||0;i!==s&&(e.trigger("pressure",i),o.trigger("pressure "+e.identifier+":pressure",i),s=i)}.bind(o),100)},at.prototype.onstart=function(t){var e=this,i=e.options,o=t;return t=Q(t),e.updateBox(),H(t,function(s){e.actives.length<i.maxNumberOfNipples?e.processOnStart(s):o.type.match(/^touch/)&&(Object.keys(e.manager.ids).forEach(function(i){if(Object.values(o.touches).findIndex(function(t){return t.identifier===i})<0){var s=[t[0]];s.identifier=i,e.processOnEnd(s)}}),e.actives.length<i.maxNumberOfNipples&&e.processOnStart(s))}),e.manager.bindDocument(),!1},at.prototype.processOnStart=function(t){var e,i=this,o=i.options,s=i.manager.getIdentifier(t),n=t.force||t.pressure||t.webkitForce||0,r={x:t.pageX,y:t.pageY},a=i.getOrCreate(s,r);a.identifier!==s&&i.manager.removeIdentifier(a.identifier),a.identifier=s;var h=function(e){e.trigger("start",e),i.trigger("start "+e.id+":start",e),e.show(),n>0&&i.pressureFn(t,e,e.identifier),i.processOnMove(t)};if((e=i.idles.indexOf(a))>=0&&i.idles.splice(e,1),i.actives.push(a),i.ids.push(a.identifier),"semi"!==o.mode)h(a);else{if(!(N(r,a.position)<=o.catchDistance))return a.destroy(),void i.processOnStart(t);h(a)}return a},at.prototype.getOrCreate=function(t,e){var i,o=this,s=o.options;return/(semi|static)/.test(s.mode)?(i=o.idles[0])?(o.idles.splice(0,1),i):"semi"===s.mode?o.createNipple(e,t):(console.warn("Coudln't find the needed nipple."),!1):i=o.createNipple(e,t)},at.prototype.processOnMove=function(t){var e=this,i=e.options,o=e.manager.getIdentifier(t),s=e.nipples.get(o),n=e.manager.scroll;if((t=>isNaN(t.buttons)?0!==t.pressure:0!==t.buttons)(t)){if(!s)return console.error("Found zombie joystick with ID "+o),void e.manager.removeIdentifier(o);if(i.dynamicPage){var r=s.el.getBoundingClientRect();s.position={x:n.x+r.left,y:n.y+r.top}}s.identifier=o;var a=s.options.size/2,h={x:t.pageX,y:t.pageY};i.lockX&&(h.y=s.position.y),i.lockY&&(h.x=s.position.x);var l,c,d=N(h,s.position),m=((t,e)=>{let i=e.x-t.x,o=e.y-t.y;return(t=>t*(180/Math.PI))(Math.atan2(o,i))})(h,s.position),p=V(m),u=d/a,y={distance:d,position:h};if("circle"===s.options.shape?(l=Math.min(d,a),c=((t,e,i)=>{let o={x:0,y:0};return i=V(i),o.x=t.x-e*Math.cos(i),o.y=t.y-e*Math.sin(i),o})(s.position,l,m)):(c=((t,e,i)=>({x:Math.min(Math.max(t.x,e.x-i),e.x+i),y:Math.min(Math.max(t.y,e.y-i),e.y+i)}))(h,s.position,a),l=N(c,s.position)),i.follow){if(d>a){let t=h.x-c.x,i=h.y-c.y;s.position.x+=t,s.position.y+=i,s.el.style.top=s.position.y-(e.box.top+n.y)+"px",s.el.style.left=s.position.x-(e.box.left+n.x)+"px",d=N(h,s.position)}}else h=c,d=l;var g=h.x-s.position.x,f=h.y-s.position.y;s.frontPosition={x:g,y:f},i.dataOnly||Y(s.ui.front,s.frontPosition);var v={identifier:s.identifier,position:h,force:u,pressure:t.force||t.pressure||t.webkitForce||0,distance:d,angle:{radian:p,degree:m},vector:{x:g/a,y:-f/a},raw:y,instance:s,lockX:i.lockX,lockY:i.lockY};(v=s.computeDirection(v)).angle={radian:V(180-m),degree:180-m},s.trigger("move",v),e.trigger("move "+s.id+":move",v)}else this.processOnEnd(t)},at.prototype.processOnEnd=function(t){var e=this,i=e.options,o=e.manager.getIdentifier(t),s=e.nipples.get(o),n=e.manager.removeIdentifier(s.identifier);!s||(i.dataOnly||s.hide(function(){"dynamic"===i.mode&&(s.trigger("removed",s),e.trigger("removed "+s.id+":removed",s),e.manager.trigger("removed "+s.id+":removed",s),s.destroy())}),clearInterval(e.pressureIntervals[s.identifier]),s.resetDirection(),s.trigger("end",s),e.trigger("end "+s.id+":end",s),e.ids.indexOf(s.identifier)>=0&&e.ids.splice(e.ids.indexOf(s.identifier),1),e.actives.indexOf(s)>=0&&e.actives.splice(e.actives.indexOf(s),1),/(semi|static)/.test(i.mode)?e.idles.push(s):e.nipples.indexOf(s)>=0&&e.nipples.splice(e.nipples.indexOf(s),1),e.manager.unbindDocument(),/(semi|static)/.test(i.mode)&&(e.manager.ids[n.id]=n.identifier))},at.prototype.onDestroyed=function(t,e){var i=this;i.nipples.indexOf(e)>=0&&i.nipples.splice(i.nipples.indexOf(e),1),i.actives.indexOf(e)>=0&&i.actives.splice(i.actives.indexOf(e),1),i.idles.indexOf(e)>=0&&i.idles.splice(i.idles.indexOf(e),1),i.ids.indexOf(e.identifier)>=0&&i.ids.splice(i.ids.indexOf(e.identifier),1),i.manager.removeIdentifier(e.identifier),i.manager.unbindDocument()},at.prototype.destroy=function(){var t=this;for(var e in t.unbindEvt(t.options.zone,"start"),t.nipples.forEach(function(t){t.destroy()}),t.pressureIntervals)Object.prototype.hasOwnProperty.call(t.pressureIntervals,e)&&clearInterval(t.pressureIntervals[e]);t.trigger("destroyed",t.nipples),t.manager.unbindDocument(),t.off(),t.pressureIntervals={},t.nipples=[],t.idles=[],t.actives=[],t.ids=[],t.manager=null};var ht=at;function lt(t){var e=this;e.ids={},e.index=0,e.collections=[],e.scroll=Z(),e._windowBound=!1,e.config(t),e.prepareCollections();var i=function(){var t;e.collections.forEach(function(i){i.forEach(function(i){t=i.el.getBoundingClientRect(),i.position={x:e.scroll.x+t.left,y:e.scroll.y+t.top}})})};return e._onResize=function(){(t=>{L.has(t)&&clearTimeout(L.get(t)),L.set(t,setTimeout(function(){L.delete(t),t()},100))})(i)},e._onScroll=function(){e.scroll=Z()},e.collections}lt.prototype=new st,lt.constructor=lt,lt.prototype.prepareCollections=function(){var t=this;t.collections.create=t.create.bind(t),t.collections.on=t.on.bind(t),t.collections.off=t.off.bind(t),t.collections.destroy=t.destroy.bind(t),t.collections.get=function(e){var i;return t.collections.every(function(t){return!(i=t.get(e))}),i}},lt.prototype.create=function(t){return this.createCollection(t)},lt.prototype.bindWindowEvents=function(){var t=this;t._windowBound||typeof window>"u"||(t._windowBound=!0,I(window,"resize",t._onResize),I(window,"scroll",t._onScroll))},lt.prototype.unbindWindowEvents=function(){var t=this;!t._windowBound||typeof window>"u"||(t._windowBound=!1,B(window,"resize",t._onResize),B(window,"scroll",t._onScroll))},lt.prototype.createCollection=function(t){var e=this,i=new ht(e,t);return e.bindCollection(i),e.collections.push(i),e.bindWindowEvents(),i},lt.prototype.bindCollection=function(t){var e,i=this,o=function(t,o){e=t.type+" "+o.id+":"+t.type,i.trigger(e,o)};t.on("destroyed",i.onDestroyed.bind(i)),t.on("shown hidden rested dir plain",o),t.on("dir:up dir:right dir:down dir:left",o),t.on("plain:up plain:right plain:down plain:left",o)},lt.prototype.bindDocument=function(){var t=this;t.binded||(t.bindEvt(document,"move").bindEvt(document,"end"),t.binded=!0)},lt.prototype.unbindDocument=function(t){var e=this;(!Object.keys(e.ids).length||!0===t)&&(e.unbindEvt(document,"move").unbindEvt(document,"end"),e.binded=!1)},lt.prototype.getIdentifier=function(t){var e;return t?void 0===(e=void 0===t.identifier?t.pointerId:t.identifier)&&(e=this.latest||0):e=this.index,void 0===this.ids[e]&&(this.ids[e]=this.index,this.index+=1),this.latest=e,this.ids[e]},lt.prototype.removeIdentifier=function(t){var e={};for(var i in this.ids)if(this.ids[i]===t){e.id=i,e.identifier=this.ids[i],delete this.ids[i];break}return e},lt.prototype.onmove=function(t){return this.onAny("move",t),!1},lt.prototype.onend=function(t){return this.onAny("end",t),!1},lt.prototype.oncancel=function(t){return this.onAny("end",t),!1},lt.prototype.onAny=function(t,e){var i,o=this,s="processOn"+t.charAt(0).toUpperCase()+t.slice(1);e=Q(e);var n=function(t,e,i){i.ids.indexOf(e)>=0&&(i[s](t),t._found_=!0)};return H(e,function(t){i=o.getIdentifier(t),H(o.collections,n.bind(null,t,i)),t._found_||o.removeIdentifier(i)}),!1},lt.prototype.destroy=function(){var t=this;t.unbindDocument(!0),t.unbindWindowEvents(),t.ids={},t.index=0,t.collections.forEach(function(t){t.destroy()}),t.collections=[],t.off()},lt.prototype.onDestroyed=function(t,e){var i=this;if(i.collections.indexOf(e)<0)return!1;i.collections.splice(i.collections.indexOf(e),1),0===i.collections.length&&i.unbindWindowEvents()};var ct=lt,dt=null;function mt(){return dt||(dt=new ct),dt}var pt={create:function(t){return mt().create(t)},destroy:function(){dt&&(dt.destroy(),dt=null)},get factory(){return mt()}},ut=.02,yt=new C,gt=new C,ft=new C,vt=new C,bt=new C,xt=new C,wt=new O,Pt=new O,Mt=new O,Et=new k,St=new k,jt=new z(0,0,0,"YXZ"),At=new C(1,0,0),Tt=new C(0,1,0),Dt=new C(0,0,1),kt=new C(1,1,1),Ct=[],Ot=t=>Ct[t]??(Ct[t]=new C),zt=new C,Rt=new C,Ft=new C,_t=new C,Xt=new k,Wt=new C,Nt=new k,Vt=new R,Lt=new F,It={type:"requestRender"},Bt={type:"updateMatrix"},Qt=class extends A{constructor(t,i,o,s,n,r,a,h,p){super(),this.object=t,this.domElement=i,this.data=o,this.gloabalPhysics=s,this.controlsManager=n,this.cameraFollow=r,this.camera=a,this.page=h,this.sharedAssets=p,this.enableDamping=!0,this.hiddenMatrix0=new O,this.target0=new C,this.zoom0=1,this.rotForce=1,this.moveForce=1,this.pixelsPerMeter=e,this.euler0=new z(0,0,0,"YXZ"),this.position0Cam=new C,this.quat0Cam=new k,this.scale0Cam=new C,this.hiddenMatrix0Cam=new O,this.threshEndTranslate=.01,this.threshEndRotate=1e-8,this.threshEndRotVel=.005,this.collider={type:"capsule",radius:40,segment:new R(new C(0,-40,0),new C(0,40,0)),matrix:new O,position:new C,rotation:new k},this.euler=new z(0,0,0,"YXZ"),this.eulerDelta=new C,this.lastPosition=new C,this.lastCameraQuaternion=new k,this.lastCameraPosition=new C,this.PI_2=Math.PI/2,this.prevMouse=new D,this.velocityTarget=new C,this.velocity=new C,this.directionXZ=new C,this.rotVelocityStick=new C,this.rotVelocityTarget=new C,this.rotVelocity=new C,this.rotDirection=new C,this.nonColliderRotOffset=new O,this.nonColliderPosOffset=new O,this.firstPointerId=-1,this.rot=new C,this.path=[],this.movementState={moveNegZ:0,movePosZ:0,moveNegX:0,movePosX:0,moveNegY:0,movePosY:0,rotPosX:0,rotNegX:0,rotPosY:0,rotNegY:0,jump:0,run:0},this.onObject=!1,this.actionState={},this.keyAssignments=[["moveNegZ","W"],["moveNegX","A"],["movePosZ","S"],["movePosX","D"],["rotPosX","ArrowUp"],["rotPosY","ArrowLeft"],["rotNegX","ArrowDown"],["rotNegY","ArrowRight"],["jump"," "]],this.collisionEnabled=!0,this.offsetMatrix=new O,this.objectToTarget=new C,this.objectToTarget0=new C,this.objectToCamXZ=new C,this.objectToCamXZ0=new C,this.targetToCamera=new C,this.targetToCamera0=new C,this.cameraPolarAxis0=new C,this.targetPos=new C,this.targetQuat=new k,this.lerpFactorPos=(new C).setScalar(.3),this.lerpFactorPosStart=.3,this.lerpFactorPosEnd=.3,this.lerpFactorRotStart=.3,this.lerpFactorRotEnd=.3,this.lerpFactorPosCamera=.3,this.lerpFactorRotCamera=.3,this.objXZQuat=new k,this.objXZQuatInv=new k,this.objXZRotMat=new O,this.isFirstPerson=!1,this.didHit=!1,this.groundVelocity=new C,this.pushedVelocity=new C,this.groundYRotation=0,this.objectRealQuat=new k,this.colliderWorldQuat=new k,this.groundNormal=new C,this.groundTilt=new k,this.groundTiltInv=new k,this.lastHitObj=null,this.isFirstFrame=!0,this.rotationAccumWhenOrientWithCamera=0,this.navMeshPathDest=null,this.position=new C,this.quaternion=new k,this.scale=new C,this.initialAction=!0,this.onPointerDown=t=>{!(t.target===this.domElement||t.target instanceof HTMLElement&&"SPLINE-VIEWER"===t.target.tagName&&t.target.shadowRoot?.contains(this.domElement))||-1!==this.firstPointerId||(this.firstPointerId=t.pointerId,this.domElement.ownerDocument.addEventListener("pointermove",this.onPointerMove),this.domElement.ownerDocument.addEventListener("pointerup",this.onPointerUp),"keys"!==this.rotBy&&!l&&!c&&this.domElement.requestPointerLock(),this.prevMouse.set(t.clientX,t.clientY))},this.onPointerUp=t=>{this.firstPointerId=-1,this.domElement.ownerDocument.removeEventListener("pointermove",this.onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this.onPointerUp),"mouse"===t.pointerType&&this.domElement.ownerDocument.exitPointerLock()},this.onPointerMove=t=>{if(t.pointerId!==this.firstPointerId)return;let e=t.clientX-this.prevMouse.x,i=t.clientY-this.prevMouse.y;this.prevMouse.set(t.clientX,t.clientY),"mouse"===t.pointerType&&"keys"!==this.rotBy&&(c&&d<15.5&&!l?(this.eulerDelta.y=-e*this.mouseOrbitSensitivity,this.eulerDelta.x=-i*this.mouseOrbitSensitivity):(this.eulerDelta.y=-t.movementX*this.mouseOrbitSensitivity,this.eulerDelta.x=-t.movementY*this.mouseOrbitSensitivity)),"mouse"!==t.pointerType&&"drag"===this.rotByTouch&&(this.eulerDelta.y=-e*this.mouseOrbitSensitivity*5,this.eulerDelta.x=-i*this.mouseOrbitSensitivity*5),this.controlsManager.requestRender()},this.onPointerlockChange=t=>{this.domElement.ownerDocument.pointerLockElement===this.domElement?Qt.isLocked=!0:Qt.isLocked=!1},this.onPointerlockError=()=>{console.error("SPE.GameControls: Unable to use Pointer Lock API")},this.handleVisibilityChange=()=>{if(document?.hidden)for(let t in this.movementState)this.movementState[t]=0},this.onKeyDown=t=>{!(t.target instanceof HTMLInputElement)&&("ArrowLeft"===t.code||"ArrowUp"===t.code||"ArrowRight"===t.code||"ArrowDown"===t.code||"Space"===t.code)&&t.preventDefault();for(let e of this.keyAssignments)if(t.key.toUpperCase()===e[1]||t.key===e[1]){this.movementState[e[0]]=1;break}this.controlsManager.requestRender()},this.onKeyUp=t=>{for(let e of this.keyAssignments)if(t.key.toUpperCase()===e[1]||t.key===e[1]||t.code.slice(3,t.code.length).toUpperCase()===e[1]){this.movementState[e[0]]=0;break}},this.copyVRGamePadValues=(t,e)=>{for(let i=2;i<4;i++){let o=t.axes[i];0===e?2===i?this.movementState.movePosX=o:this.movementState.movePosZ=o:(t.buttons[3].pressed?this.movementState.jump=1:this.movementState.jump=0,2===i?this.movementState.rotPosY=o:"fly"===this.moveMode&&(this.movementState.moveNegY=o))}},this.sharedGameControlGlobals=n.sharedGameControlGlobals,t===a&&(this.isFirstPerson=!0),this.hiddenMatrix0.copy(this.object.hiddenMatrix),this.object.parent?this.object.hiddenMatrix.copy(this.object.parent.matrixWorld).invert():this.object.hiddenMatrix.identity(),this.object.matrix.copy(this.object.matrixWorld),this.object.matrix.decompose(this.position,this.quaternion,this.scale),this.euler0.setFromQuaternion(this.quaternion,"YXZ");let y=this.euler0.clone(),g=y.y;if(this.objectRealQuat.copy(this.quaternion),y.y=0,this.quaternion.setFromEuler(y),this.objXZQuat.copy(this.quaternion),this.objXZQuatInv.copy(this.objXZQuat).invert(),this.objXZRotMat.makeRotationFromQuaternion(this.quaternion),y.set(0,g,0),this.quaternion.setFromEuler(y),this.rot.setFromEuler(y),this.object.matrixAutoUpdate=!1,(this.isFirstPerson||!0===this.cameraFollow)&&(this.target0.copy(this.camera.getTarget()),this.zoom0=this.camera.zoom),!0===this.cameraFollow){this.position0Cam.copy(this.camera.position),this.quat0Cam.copy(this.camera.quaternion),this.scale0Cam.copy(this.camera.scale),this.hiddenMatrix0Cam.copy(this.camera.hiddenMatrix),this.camera.parent?(this.camera.hiddenMatrix.copy(this.camera?.parent.matrixWorld),this.camera.matrix.copy(this.camera.matrixWorld)):this.camera.hiddenMatrix.identity(),this.camera.matrix.copy(this.camera.matrixWorld),this.camera.matrix.decompose(this.camera.position,this.camera.quaternion,this.camera.scale),this.camera.matrixAutoUpdate=!1,this.offsetMatrix.copy(this.object.matrix).invert().multiply(this.camera.matrix);let t,e=new C(0,0,-1).applyQuaternion(this.camera.quaternion),i=(new C).subVectors(this.position,this.camera.position);this.objectToCamXZ.copy(i),this.objectToCamXZ.y=0,this.objectToCamXZ0.copy(this.objectToCamXZ),Math.abs(e.y)<1e-6?(i.y=0,e.y=0,t=i.projectOnVector(e)):t=i.y/e.y>0?e.multiplyScalar(i.y/e.y):e.multiplyScalar(i.length()),this.targetToCamera0.copy(t).negate();let o=this.camera.position.clone().add(t);this.objectToTarget0.subVectors(o,this.position);let s=(new z).setFromQuaternion(this.camera.quaternion,"YXZ");this.cameraPolarOffset=-s.x,s.x=0,s.z=0,s.y-=Math.PI/2,this.cameraPolarAxis0.set(0,0,-1).applyEuler(s)}if(this.object instanceof m&&(this.object.matrixAutoUpdate=!1),this.euler.setFromQuaternion(this.quaternion,"YXZ"),this.rotByTouch=o.rotByTouch??"joystick",this.rotBy=o.rotBy??"keys",this.rotationMode=o.rotationMode??"normal",this.moveMode=o.moveMode??"walk",this.collisionEnabled=o.collisionEnabled,this.speedTranslate=1*(o.speedTranslate??250),this.speedOrbit=.025*(o.speedRotate??100),this.mouseOrbitSensitivity=16e-6*(o.speedRotate??100),this.keyAssignments=o.keyAssignments.map(t=>{let e=[t[0],t[1]];return"▲"===e[1]?e[1]="ArrowUp":"◀"===e[1]?e[1]="ArrowLeft":"▼"===e[1]?e[1]="ArrowDown":"▶"===e[1]?e[1]="ArrowRight":"⇧"===e[1]?e[1]="Shift":"↵"===e[1]?e[1]="Enter":"Space"===e[1]?e[1]=" ":"⌘"===e[1]?e[1]="Meta":"Ctrl"===e[1]?e[1]="Control":"Esc"===e[1]&&(e[1]="Escape"),e}),"mouse"===o.rotBy){let t;t=this.keyAssignments.findIndex(t=>"rotNegX"===t[0]),-1!==t&&(this.keyAssignments[t][1]=""),t=this.keyAssignments.findIndex(t=>"rotPosX"===t[0]),-1!==t&&(this.keyAssignments[t][1]=""),t=this.keyAssignments.findIndex(t=>"rotPosY"===t[0]),-1!==t&&(this.keyAssignments[t][1]=""),t=this.keyAssignments.findIndex(t=>"rotNegY"===t[0]),-1!==t&&(this.keyAssignments[t][1]="")}this.lerpFactorPosStart=1-.02**(1/(60*(o.delayPos[0]??.3))),this.lerpFactorPosEnd=1-.02**(1/(60*(o.delayPos[1]??.3))),this.lerpFactorPos.setScalar(this.lerpFactorPosStart),this.lerpFactorRotStart=1-.02**(1/(60*(o.delayRot[0]??.3))),this.lerpFactorRotEnd=1-.02**(1/(60*(o.delayRot[1]??.3))),this.lerpFactorPosCamera=1-.02**(1/(60*(o.delayPosCamera??.3))),this.lerpFactorRotCamera=1-.02**(1/(60*(o.delayRotCamera??.3))),this.gravity=12*(this.gloabalPhysics.gravity??j.defaultData.gravity),this.usePhysics=this.gloabalPhysics.usePhysics??j.defaultData.usePhysics,this.jumpPower=20*o.jumpPower,this.resetYPosition=this.position.y+Math.abs(o.resetYPosition)*(this.gravity>0?1:-1),this.alignToGround=o.alignToGround??!1,this.orientMode=o.autoOrientMove?o.orientMode:"none",this.orientWith=o.orientWith??M.defaultDataThirdPerson.orientWith,this.slopeThresh=65*Math.PI/180,"capsule"===o.collider.type?(this.collider.radius=o.collider.radius,this.collider.segment.start.y=o.collider.height/2-o.collider.radius,this.collider.segment.end.y=-this.collider.segment.start.y,this.offset=o.collider.height*ut/this.pixelsPerMeter,this.stepThresh=.3*o.collider.height/this.pixelsPerMeter,this.colliderHeight=o.collider.height):"sphere"===o.collider.type?(this.collider.radius=o.collider.radius,this.collider.segment.start.y=0,this.collider.segment.end.y=0,this.offset=2*o.collider.radius*ut/this.pixelsPerMeter,this.stepThresh=2*o.collider.radius*.3/this.pixelsPerMeter,this.colliderHeight=2*o.collider.radius):(this.offset=o.collider.height*ut/this.pixelsPerMeter,this.stepThresh=.3*o.collider.height/this.pixelsPerMeter,this.colliderHeight=o.collider.height),this.collider.type=o.collider.type;let v=(new C).fromArray(o.collider.position.map(t=>"number"==typeof t?t:0)),b=(new k).setFromEuler((new z).fromArray([...o.collider.rotation.map(t=>"number"==typeof t?t:0),"XYZ"]));this.collider.position.copy(v).multiply(this.scale),this.collider.rotation.copy(b),this.collider.matrix.compose(v,b,kt),void 0!==o.cameraXAxis&&(this.cameraXAxis=o.cameraXAxis,this.cameraYAxis=o.cameraYAxis,this.minPolarAngle=o.cameraRotXLimits[0],this.maxPolarAngle=o.cameraRotXLimits[1],this.minAzimuthAngleRel=o.cameraRotYLimits[0],this.maxAzimuthAngleRel=o.cameraRotYLimits[1]),this.forwardDir=o.forwardDirection??"-z",this.isFirstPerson&&(this.forwardDir="-z"),this.runMultiplier=o.runMultiplier??2;let x=2*o.navmesh.destinationHelperRadius;if(x>0){let t=new S;t.push({fi:0,data:{...E.defaultData("light","phong"),alpha:0},id:"layer1"}),t.push({fi:0,data:{...E.defaultData("color"),color:o.navmesh.destinationHelperColor,alpha:o.navmesh.destinationHelperColor.a},id:"layer2"});let e=u({layers:t},{scene:this.page.scene,shared:this.sharedAssets});this.navMeshPathDest=new W(f.create({parameters:{width:x,height:x/10,hollow:.7}}),e),this.navMeshPathDest.material.userData.opacity0=o.navmesh.destinationHelperColor.a}this.activate()}reset(t=!1){if(this.object.hiddenMatrix.copy(this.hiddenMatrix0),t){this.object.updateMatrix(),this.object.updateMatrixWorld(),this.object.matrix.copy(this.object.matrixWorld),this.object.matrix.decompose(this.position,this.quaternion,this.scale),this.object.parent?this.object.hiddenMatrix.copy(this.object.parent.matrixWorld).invert():this.object.hiddenMatrix.identity();let t=(new z).setFromQuaternion(this.quaternion,"YXZ"),e=t.y;this.objectRealQuat.copy(this.quaternion),t.y=0,this.quaternion.setFromEuler(t),this.objXZQuat.copy(this.quaternion),this.objXZQuatInv.copy(this.objXZQuat).invert(),this.objXZRotMat.makeRotationFromQuaternion(this.quaternion),t.set(0,e,0),this.quaternion.setFromEuler(t),this.rot.setFromEuler(t),this.euler.setFromQuaternion(this.quaternion,"YXZ"),this.velocityTarget.set(0,0,0),this.velocity.set(0,0,0)}else this.object instanceof m?this.object.matrixAutoUpdate=!0:this.object.updateMatrix();!0===this.cameraFollow&&(this.camera.quaternion.copy(this.quat0Cam),this.camera.position.copy(this.position0Cam),this.camera.scale.copy(this.scale0Cam),this.camera.hiddenMatrix.copy(this.hiddenMatrix0Cam),this.camera.matrixAutoUpdate=!0),this.controlsManager.requestRender()}activate(){this.instantiateActions(),this.domElement.ownerDocument.addEventListener("pointerdown",this.onPointerDown),this.domElement.ownerDocument.addEventListener("keydown",this.onKeyDown),this.domElement.ownerDocument.addEventListener("keyup",this.onKeyUp),this.domElement.ownerDocument.addEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.addEventListener("pointerlockerror",this.onPointerlockError),this.domElement.ownerDocument.addEventListener("visibilitychange",this.handleVisibilityChange)}deactivate(){this.disposeActions(),this.domElement.ownerDocument.removeEventListener("pointerdown",this.onPointerDown),this.domElement.ownerDocument.removeEventListener("keydown",this.onKeyDown),this.domElement.ownerDocument.removeEventListener("keyup",this.onKeyUp),this.domElement.ownerDocument.removeEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.removeEventListener("pointerlockerror",this.onPointerlockError),this.domElement.ownerDocument.removeEventListener("visibilitychange",this.handleVisibilityChange)}dispose(){this.deactivate(),this.navMeshPathDest?.parent&&this.page.remove(this.navMeshPathDest)}instantiateActions(){let t=this.data,e=this.sharedAssets;void 0!==t.gameActions&&(this.actions={},P.list.forEach(i=>{this.actions[i]=v({...t,disabled:!1,type:"GameControl"},t.gameActions[i],this.page,e,this.controlsManager.eventManager,this.object)})),this.dispatchStopEvent("move"),this.dispatchStopEvent("run"),this.dispatchStopEvent("jump"),this.dispatchStartEvent("idle"),this.initialAction&&(this.initialAction=!1)}disposeActions(){this.initialAction=!1,this.dispatchStopEvent("idle"),this.dispatchStopEvent("move"),this.dispatchStopEvent("run"),this.dispatchStopEvent("jump"),b(this.actions.idle),b(this.actions.move),b(this.actions.run),b(this.actions.jump)}dispatchStartEvent(t){void 0!==this.actions[t]&&(this.actionState[t]||(this.actionState[t]=!0,this.actions[t].Transition.forEach(t=>{t.play()}),this.actions[t].Animation.forEach(t=>{t.play(!1===this.initialAction)}),this.actions[t].TimelineAnimation.forEach(t=>{t.play()}),this.actions[t].Create.forEach(t=>{t.dispatchStart()}),this.actions[t].Audio.forEach(t=>{t.dispatchGameControl("start")}),this.actions[t].Particles.forEach(t=>{t.dispatchGameControl("start")})))}dispatchStopEvent(t){void 0!==this.actions[t]&&(!this.actionState[t]||(this.actionState[t]=!1,this.actions[t].Transition.forEach(t=>{t.stop(),null!==t.object.currentState&&t.object.changeSelectedState(null,{scene:this.page.scene,shared:this.sharedAssets})}),this.actions[t].TimelineAnimation.forEach(t=>{t.stop()}),this.actions[t].Create.forEach(t=>{t.dispatchStop()}),this.actions[t].Audio.forEach(t=>{t.dispatchGameControl("stop")}),this.actions[t].Particles.forEach(t=>{t.dispatchGameControl("stop")})))}get colliderWorldPosition(){return vt.copy(this.collider.position).applyQuaternion(this.objectRealQuat).add(this.position)}update(t){if(this.gravity<0?this.position.y<this.resetYPosition:this.position.y>this.resetYPosition)return this.reset(!0),!0;this.sharedGameControlGlobals.gamePads.forEach(this.copyVRGamePadValues);let e=(this.isFirstFrame?16.6:t)/1e3;this.isFirstFrame&&(this.isFirstFrame=!1);let i=60*e,o=!1;if(this.groundYRotation=0,this.groundVelocity.set(0,0,0),this.usePhysics&&this.collisionEnabled&&this.object.rigidBody?.collider(0).shape){let t=bt.set(0,(0===this.velocity.y?this.pixelsPerMeter*Math.max(Math.abs(this.gravity)/120,1)*(this.gravity>0?1:-1):this.velocity.y)*e,0).divideScalar(this.pixelsPerMeter),i=this.sharedGameControlGlobals.rapierWorld.castShape(this.colliderWorldPosition.divideScalar(this.pixelsPerMeter),this.colliderWorldQuat,t,this.object.rigidBody?.collider(0).shape,0,1,!1,8,void 0,void 0,this.object.rigidBody);if(i){this.onObject=!0,this.groundNormal.set(i.normal2.x,i.normal2.y,i.normal2.z).applyQuaternion(this.colliderWorldQuat).negate(),this.alignToGround&&this.groundTiltAdjustment(this.groundNormal),Math.acos(this.groundNormal.y)<this.slopeThresh&&(o=!0),0===i.collider.parent()?.bodyType()&&Math.acos(this.groundNormal.y)*(180/Math.PI)>45&&(this.onObject=!1);let t=i.collider.parent(),s=null!==t&&t.isKinematic()?t:null,n=null===s?void 0:this.sharedGameControlGlobals.kinematicBodyToEntity.get(s.handle);if(null!==s&&n?.userData.isFollowingObj!==this.object.uuid){let t=this.object.getWorldPosition(vt).add(this.collider.position).divideScalar(this.pixelsPerMeter),i=s.velocityAtPoint(t);this.groundVelocity.set(i.x,i.y,i.z).multiplyScalar(this.pixelsPerMeter),this.groundYRotation=s.angvel().y*e}}else this.onObject=!1}if("walk"===this.moveMode&&this.collisionEnabled&&(1===this.movementState.jump&&this.onObject&&(this.velocityTarget.y=this.jumpPower,this.movementState.jump=0,this.dispatchStopEvent("idle"),this.dispatchStopEvent("move"),this.dispatchStopEvent("run"),this.dispatchStopEvent("jump"),this.dispatchStartEvent("jump"),this.onObject=!1),this.onObject?this.velocityTarget.y/=2:this.velocityTarget.y+=this.gravity*i),"fly"===this.moveMode&&(this.velocityTarget.y=(this.movementState.movePosY-this.movementState.moveNegY)*this.speedTranslate),this.directionXZ.z=this.movementState.movePosZ-this.movementState.moveNegZ,this.directionXZ.x=this.movementState.movePosX-this.movementState.moveNegX,"+z"===this.forwardDir&&this.directionXZ.multiplyScalar(-1),this.directionXZ.manhattanLength()>0&&(this.path=[]),this.navMeshPathDest){let t=this.navMeshPathDest.material;if("walk"===this.moveMode&&this.path.length>1){this.navMeshPathDest.position.copy(this.path[this.path.length-1]),this.navMeshPathDest.parent||this.page.add(this.navMeshPathDest);let e=vt.subVectors(this.path[1],this.position),i=bt.subVectors(this.path[1],this.path[0]);e.dot(i)<0?this.path.shift():(this.directionXZ.x=i.x,this.directionXZ.z=i.z),t.opacity=t.userData.opacity0}else t.opacity-=.05*t.userData.opacity0,this.navMeshPathDest.material.opacity<=0&&this.navMeshPathDest.parent&&this.page.remove(this.navMeshPathDest)}this.directionXZ.normalize(),this.movementState.run?this.moveForce=this.runMultiplier:this.moveForce=1,this.velocityTarget.z=this.directionXZ.z*this.speedTranslate*this.moveForce,this.velocityTarget.x=this.directionXZ.x*this.speedTranslate*this.moveForce,("walk"===this.moveMode?this.velocityTarget.x+this.velocityTarget.z===0:0===this.velocityTarget.manhattanLength())?this.lerpFactorPos.setScalar(this.lerpFactorPosEnd):this.lerpFactorPos.setScalar(this.lerpFactorPosStart),"walk"===this.moveMode&&(this.lerpFactorPos.y=1),!1===this.didHit&&0===this.pushedVelocity.manhattanLength()||!1===this.usePhysics?(this.velocity.x+=(this.velocityTarget.x-this.velocity.x)*(1-(1-this.lerpFactorPos.x)**i),this.velocity.y+=(this.velocityTarget.y-this.velocity.y)*(1-(1-this.lerpFactorPos.y)**i),this.velocity.z+=(this.velocityTarget.z-this.velocity.z)*(1-(1-this.lerpFactorPos.z)**i)):this.velocity.copy(this.velocityTarget),("walk"===this.moveMode?this.velocity.x**2+this.velocity.z**2<this.speedTranslate:this.velocity.lengthSq()<this.speedTranslate)?(this.dispatchStopEvent("move"),this.dispatchStopEvent("run"),this.onObject&&(this.dispatchStopEvent("jump"),this.dispatchStartEvent("idle"))):(this.dispatchStopEvent("idle"),(this.onObject||"fly"===this.moveMode)&&(this.dispatchStopEvent("jump"),this.movementState.run?(this.dispatchStopEvent("move"),this.dispatchStartEvent("run")):(this.dispatchStopEvent("run"),this.dispatchStartEvent("move"))));let n=ft.copy(this.velocity);if("none"!==this.orientMode&&!1===this.isFirstPerson){let t=bt.copy(n);t.y=0,n.set(0,n.y,t.length()*("+z"===this.forwardDir?1:-1))}if(this.directionXZ.manhattanLength()>0&&"none"!==this.orientMode&&!1===this.isFirstPerson)if("camera"===this.orientWith&&this.path.length<=1){let t=vt;this.camera.getWorldDirection(t);let e=xt.copy(Tt).multiplyScalar(t.dot(Tt));t.sub(e);let i=bt.copy(this.directionXZ);i.x*=-1,this.rot.y=t.angleTo(i)*(t.cross(i).y>0?-1:1)+this.rotationAccumWhenOrientWithCamera}else this.rot.y=(this.path.length>1?0:this.euler.y)+Math.atan2(-this.directionXZ.z,this.directionXZ.x)+Math.PI/2*("+z"===this.forwardDir?1:-1);if(jt.setFromVector3(this.rot),"walk"===this.moveMode&&(jt.x=0),n.applyEuler(jt),o&&(St.setFromUnitVectors(Tt,this.groundNormal),n.applyQuaternion(St)),!0===this.usePhysics&&this.object.rigidBody){this.pushedVelocity.set(0,0,0);let t=0;for(let i of this.sharedGameControlGlobals.entitiesWithTransformAnim){if(void 0===i.rigidBody||void 0===i.prevQ)continue;(i.hasNonUniformScale?i.matrixWorldRigid:i.matrixWorld).decompose(zt,Xt,Rt);let o=this.object.getWorldPosition(Ft).add(this.collider.position).sub(zt);Nt.copy(i.prevQ).invert().premultiply(Xt);let r=xt.subVectors(zt,i.prevT).add(_t.copy(o).applyQuaternion(Nt).sub(o)).divideScalar(e).divideScalar(this.pixelsPerMeter),a=i.rigidBody.collider(0).castCollider(r,this.object.rigidBody.collider(0),vt.copy(n).divideScalar(this.pixelsPerMeter),0,e,!1);r.multiplyScalar(this.pixelsPerMeter);let h=x.is(i)?i:i.object;if(null!==a&&this.lastHitObj!==h){let t;i instanceof g&&(t=i);let e=this.sharedGameControlGlobals.entityToCollisionEvents[h.uuid];if(e)for(let i of e)"character"===i.data.target&&(i.dispatch(t),h.dispatchEvent(s));this.lastHitObj=h}null!==a&&(Math.abs(r.x)>Math.abs(this.pushedVelocity.x)&&(this.pushedVelocity.x=r.x),Math.abs(r.y)>Math.abs(this.pushedVelocity.y)&&(this.pushedVelocity.y=r.y),Math.abs(r.z)>Math.abs(this.pushedVelocity.z)&&(this.pushedVelocity.z=r.z),Ot(t++).copy(a.normal1).applyQuaternion(i.quaternion))}if(t>0){for(let e=0;e<t;e++){let t=Ot(e),i=t.dot(n);i<0&&n.addScaledVector(t,-i)}n.add(this.pushedVelocity)}else n.add(this.groundVelocity)}if(this.rotDirection.y=Number(this.movementState.rotPosY)-Number(this.movementState.rotNegY),this.rotDirection.x=Number(this.movementState.rotPosX)-Number(this.movementState.rotNegX),this.rotDirection.normalize(),"normal"===this.rotationMode&&(this.movementState.rotPosX||this.movementState.rotNegX)||"steer"===this.rotationMode&&(this.movementState.rotPosX||this.movementState.rotNegX)&&(this.movementState.movePosZ||this.movementState.moveNegZ||"walk"===this.moveMode)?this.rotVelocityStick.x=-this.rotDirection.x*this.speedOrbit*this.rotForce:this.rotVelocityStick.x=0,"normal"===this.rotationMode&&(this.movementState.rotPosY||this.movementState.rotNegY)||"steer"===this.rotationMode&&(this.movementState.rotPosY||this.movementState.rotNegY)&&(this.movementState.movePosZ||this.movementState.moveNegZ)?this.rotVelocityStick.y=-this.rotDirection.y*this.speedOrbit*this.rotForce:this.rotVelocityStick.y=0,this.rotVelocityTarget.subVectors(this.eulerDelta.divideScalar(e),this.rotVelocityStick),0===this.rotVelocityTarget.manhattanLength()?this.rotVelocity.lerp(this.rotVelocityTarget,1-(1-this.lerpFactorRotEnd)**i):this.rotVelocity.lerp(this.rotVelocityTarget,1-(1-this.lerpFactorRotStart)**i),this.euler.x+=this.rotVelocity.x*e,this.euler.y+=this.rotVelocity.y*e+this.groundYRotation,0===this.rotVelocityTarget.y&&0===this.directionXZ.manhattanLength()?this.rotationAccumWhenOrientWithCamera=0:(!1===this.cameraFollow||"Locked"===this.cameraYAxis)&&(this.rotationAccumWhenOrientWithCamera+=this.rotVelocity.y*e),!1===this.isFirstPerson&&"none"!==this.orientMode&&this.directionXZ.manhattanLength()>0){if("radial"===this.orientMode){this.objectToCamXZ.copy(this.objectToCamXZ0).applyAxisAngle(Tt,this.euler.y-this.euler0.y);let t=bt.copy(this.objectToCamXZ).normalize(),i=xt.copy(n).multiplyScalar(e);i.y=0;let o=i.sub(vt.copy(t).multiplyScalar(i.dot(t))).cross(t).y;this.euler.y-=Math.atan2(o,this.objectToCamXZ.length())}}else this.rot.y+=this.rotVelocity.y*e+this.groundYRotation,0!==this.rotVelocityTarget.y&&(!1===this.cameraFollow||"Locked"===this.cameraYAxis)&&(this.euler.y=this.rot.y);if(!0===this.cameraFollow&&("walk"===this.moveMode?"Limit"===this.cameraXAxis?this.euler.x=T.clamp(this.euler.x,-this.maxPolarAngle+this.cameraPolarOffset+1e-6,-this.minPolarAngle+this.cameraPolarOffset-1e-6):this.euler.x=T.clamp(this.euler.x,-this.PI_2+this.cameraPolarOffset,this.PI_2+this.cameraPolarOffset):"Limit"===this.cameraXAxis&&(this.euler.x=T.clamp(this.euler.x,-this.PI_2,this.PI_2))),"fly"===this.moveMode?this.rot.x=this.euler.x:this.isFirstPerson&&(jt.copy(this.euler),jt.y=0,this.nonColliderRotOffset.makeRotationFromEuler(jt)),Et.setFromAxisAngle(At,this.rot.x),St.setFromAxisAngle(Tt,this.rot.y),St.multiply(Et),Et.setFromAxisAngle(Dt,this.rot.z),St.multiply(Et),this.quaternion.copy(St),this.objectRealQuat.multiplyQuaternions(this.quaternion,this.objXZQuat),this.colliderWorldQuat.copy(this.objectRealQuat).multiply(this.collider.rotation),this.collisionEnabled)if(this.usePhysics&&this.object.rigidBody?.collider(0).shape){let t=bt.copy(n).multiplyScalar(e/this.pixelsPerMeter),i=null;this.didHit=!1;let o=new C;for(let e=0;e<5;e++){let n=t.length(),r=xt.copy(t).normalize();if(i=this.sharedGameControlGlobals.rapierWorld.castShape(this.colliderWorldPosition.divideScalar(this.pixelsPerMeter).add(o),this.colliderWorldQuat,r,this.object.rigidBody.collider(0).shape,0,n,!1,12,void 0,void 0,this.object.rigidBody),null===i){0===e&&0!==this.directionXZ.manhattanLength()&&(this.lastHitObj=null),o.add(t);break}{this.didHit=!0;let a=this.sharedGameControlGlobals.colliderToEntity.get(i.collider.handle);if(a!==this.lastHitObj&&0===e){this.lastHitObj=a;let t=this.sharedGameControlGlobals.entityToCollisionEvents[a?.uuid];if(t)for(let e of t)if("character"===e.data.target){let t,o=(this.sharedGameControlGlobals.rapierWorld?.getCollider(i.collider.handle))._parent;if(a.cloner)for(let e of a.cloner.children)if(e.rigidBody===o){t=e;break}e.dispatch(t),a.dispatchEvent(s)}}let h=yt.set(i.normal2.x,i.normal2.y,i.normal2.z).applyQuaternion(this.colliderWorldQuat),l=gt.copy(r).multiplyScalar(i.time_of_impact).dot(h),c=i.time_of_impact;if(0===c&&(this.position.y+=this.offset*this.pixelsPerMeter),l>this.offset&&(c=i.time_of_impact*(l-this.offset)/l,o.addScaledVector(r,c)),t.copy(r).multiplyScalar(n-c),Math.acos(-h.y)>this.slopeThresh){let e=this.colliderWorldPosition.divideScalar(this.pixelsPerMeter).add(o),s=xt.copy(i.witness2).applyQuaternion(this.colliderWorldQuat);s.y=0;let n=e.add(s);n.y+=this.stepThresh;let r=this.sharedGameControlGlobals.rapierWorld.castShape(n,this.colliderWorldQuat,t,this.object.rigidBody?.collider(0).shape,0,1,!1,12,void 0,void 0,this.object.rigidBody);null!==r&&0===r.time_of_impact&&(h.y=0,h.normalize())}t.addScaledVector(h,-t.dot(h))}}this.position.addScaledVector(o,this.pixelsPerMeter),vt.copy(this.position).divideScalar(this.pixelsPerMeter),Et.copy(this.quaternion).premultiply(this.groundTilt).multiply(this.objXZQuat);let r=this.object.rigidBody,a=void 0!==r&&Wt.copy(vt).sub(r.translation()).lengthSq()>1;void 0!==r&&(a?(r.setTranslation(vt,!0),r.setRotation(Et,!0)):(r.setNextKinematicTranslation(vt),r.setNextKinematicRotation(Et)))}else{let t=this.onObject?1:5,i=n.multiplyScalar(e/t);for(let o=0;o<t;o++)this.position.add(i),this.collisionAdjustment(e/t)}else this.position.addScaledVector(n,e);if("walk"===this.moveMode&&this.onObject&&(this.velocityTarget.y=0,this.velocity.y=0),this.quaternion.premultiply(this.groundTilt).multiply(this.objXZQuat),this.object.matrix.compose(this.position,this.quaternion,this.scale),this.object.matrixWorldNeedsUpdate=!0,this.object.matrix.multiply(this.nonColliderPosOffset).multiply(this.nonColliderRotOffset),this.quaternion.premultiply(this.groundTiltInv).multiply(this.objXZQuatInv),!0===this.cameraFollow){this.updateFollowArms();let t=this.objectToTarget.add(this.position),e=this.targetToCamera.add(t);wt.lookAt(e,t,Tt).setPosition(e),wt.decompose(this.targetPos,this.targetQuat,vt),this.camera.quaternion.slerp(this.targetQuat,1-(1-this.lerpFactorRotCamera)**i),this.camera.position.lerp(this.targetPos,1-(1-this.lerpFactorPosCamera)**i),this.camera.updateMatrix(),this.camera.updateMatrixWorld(),"Limit"===this.cameraYAxis&&"cartesian"===this.orientMode&&(this.euler.y=T.clamp(this.euler.y,this.minAzimuthAngleRel,this.maxAzimuthAngleRel)),this.euler.x=T.clamp(this.euler.x,-this.PI_2+(this.cameraPolarOffset<0?this.cameraPolarOffset:0),this.PI_2+(this.cameraPolarOffset>0?this.cameraPolarOffset:0))}return this.eulerDelta.set(0,0,0),this.object.dispatchEvent(Bt),!(this.path.length<2&&this.lastPosition.distanceToSquared(this.position)<this.threshEndTranslate&&Math.abs(this.rotVelocity.x)<this.threshEndRotVel&&Math.abs(this.rotVelocity.y)<this.threshEndRotVel&&(void 0===this.camera||this.isFirstPerson||this.lastCameraPosition.distanceToSquared(this.camera.position)<this.threshEndTranslate&&8*(1-this.lastCameraQuaternion.dot(this.camera.quaternion))<this.threshEndRotate)&&("fly"===this.moveMode||!0===this.onObject||!1===this.collisionEnabled)&&(null===this.navMeshPathDest||this.navMeshPathDest.material.opacity<-.04*this.navMeshPathDest?.material?.userData.opacity0)||(this.camera&&(this.lastCameraPosition.copy(this.camera.position),this.lastCameraQuaternion.copy(this.camera.quaternion)),this.lastPosition.copy(this.position),this.object.dispatchEvent(It),0))}updateFollowArms(){this.objectToTarget.copy(this.objectToTarget0),this.targetToCamera.copy(this.targetToCamera0);let t,e=Et.setFromAxisAngle(Tt,"Limit"===this.cameraYAxis&&"radial"!==this.orientMode?T.clamp(this.euler.y-this.euler0.y,this.minAzimuthAngleRel,this.maxAzimuthAngleRel):this.euler.y-this.euler0.y);("Locked"!==this.cameraYAxis||"radial"===this.orientMode)&&this.objectToTarget.applyQuaternion(e),t="Limit"===this.cameraXAxis?T.clamp(this.euler.x,-this.maxPolarAngle+this.cameraPolarOffset+1e-6,-this.minPolarAngle+this.cameraPolarOffset-1e-6):T.clamp(this.euler.x,-this.PI_2+this.cameraPolarOffset+1e-6,this.PI_2+this.cameraPolarOffset-1e-6);let i=vt.copy(this.cameraPolarAxis0);("Locked"!==this.cameraYAxis||"radial"===this.orientMode)&&i.applyQuaternion(e);let o=St.setFromAxisAngle(i,t);"Locked"!==this.cameraYAxis&&this.targetToCamera.applyQuaternion(e),"Locked"!==this.cameraXAxis&&this.targetToCamera.applyQuaternion(o)}groundTiltAdjustment(t){180*Tt.angleTo(t)/Math.PI<15||180*Tt.angleTo(t)/Math.PI>85?Et.identity():Et.setFromUnitVectors(Tt,t),this.groundTilt.slerp(Et,.06),this.groundTiltInv.copy(this.groundTilt).invert()}collisionAdjustment(t){let e=gt.set(0,0,0);this.object.matrix.compose(this.position,this.quaternion,this.scale);let i=wt.multiplyMatrices(this.object.matrix,this.objXZRotMat).multiply(this.collider.matrix).decompose(vt,Et,bt).compose(vt,Et,kt);this.sharedGameControlGlobals.entitiesWithTransformAnim.forEach(t=>{if(t===this.object||t.isDescendantOf(this.object)||!t.bvhGeometry||!t.bvhGeometry.boundsTree)return;Lt.makeEmpty(),t.updateMatrixWorldRigid();let o=t.matrixWorldRigid,s=Pt.copy(o).invert(),n=Mt.copy(Pt).multiply(i);Vt.copy(this.collider.segment),Vt.start.applyMatrix4(n),Vt.end.applyMatrix4(n);let r=yt.copy(this.position).applyMatrix4(s);Lt.expandByPoint(Vt.start),Lt.expandByPoint(Vt.end),Lt.min.addScalar(-this.collider.radius),Lt.max.addScalar(this.collider.radius),t.bvhGeometry.boundsTree.shapecast({boundsTraverseOrder:t=>t.distanceToPoint(Vt.end),intersectsBounds:t=>t.intersectsBox(Lt),intersectsTriangle:t=>{let i=vt,s=bt,n=t.closestPointToSegment(Vt,i,s);if(n<this.collider.radius){let t=this.collider.radius-n,a=s.sub(i).normalize(),h=xt.copy(r);h.addScaledVector(a,t);let l=h.applyMatrix4(o).sub(this.position);e.add(l),Vt.start.addScaledVector(a,t),Vt.end.addScaledVector(a,t)}}})}),Lt.makeEmpty(),Vt.copy(this.collider.segment),Vt.start.applyMatrix4(i),Vt.end.applyMatrix4(i),Lt.expandByPoint(Vt.start),Lt.expandByPoint(Vt.end),Lt.min.addScalar(-this.collider.radius),Lt.max.addScalar(this.collider.radius),this.sharedGameControlGlobals.staticMeshBVH?.shapecast({boundsTraverseOrder:t=>t.distanceToPoint(Vt.end),intersectsBounds:t=>t.intersectsBox(Lt),intersectsTriangle:t=>{let i=vt,o=bt,s=t.closestPointToSegment(Vt,i,o);if(s<this.collider.radius){let t=this.collider.radius-s,n=o.sub(i).normalize();this.alignToGround&&this.groundTiltAdjustment(n),e.addScaledVector(n,t),Vt.start.addScaledVector(n,t),Vt.end.addScaledVector(n,t)}}}),this.onObject=Math.abs(e.y)>Math.abs(t*this.velocity.y*.25),this.onObject&&this.dispatchStopEvent("jump");let o=Math.max(0,e.length()-1e-5);e.normalize().multiplyScalar(o),this.position.add(e)}pause(){this.firstPointerId=-1,this.movementState={moveNegZ:0,movePosZ:0,moveNegX:0,movePosX:0,moveNegY:0,movePosY:0,rotPosX:0,rotNegX:0,rotPosY:0,rotNegY:0,jump:0,run:0},this.deactivate()}resume(){this.activate()}},Zt=Qt;Zt.isLocked=!1;var Yt,Gt,qt,Ut={cs:6,ch:2,walkableSlopeAngle:90,walkableHeight:20,walkableClimb:5,walkableRadius:0,maxEdgeLen:12,maxSimplificationError:1.3,minRegionArea:8,mergeRegionArea:20,maxVertsPerPoly:6,detailSampleDist:6,detailSampleMaxError:1};r.then(t=>{Yt=t,Gt=new t.Vec3,qt=new t.Vec3});var Ht=new C,Jt=class{constructor(e=!1,i=!1){var s;this.usePhysics=e,this.isExport=i,this.onPointerDown=t=>{if(1!==h.length)return;let{raycaster:e,page:i}=this.eventContext;this.eventContext.updateRaycaster(t);let o=i.raycastWithClones(e);if(0!==o.length){if(this.gameControl){let t=Ht.copy(this.gameControl.colliderWorldPosition);t.y-=this.gameControl.colliderHeight/2,this.gameControl.path=this.computePath(t,o[0].point)}this.eventContext.requestRender()}},this.traverseWithPhysics=(e,i)=>s=>{let r;if(s instanceof t){if(!s.objectForSample)return!0===s.object.dataPatched.physics.fusedBody&&"dynamic"===s.object.dataPatched.physics.rigidBody||void 0;if(s.objectForSample.dataPatched.physics.fusedBody)return;r=s.object}else if(s instanceof g)r=s.object;else if(r=s,!1===r.dataPatched.cloner?.disabled&&r.dataPatched.cloner?.hideBase&&!0!==r.dataPatched.physics?.fusedBody)return!0;if(i&&!r.userData.navmesh)return;let a=r.dataPatched;if(!a.visible&&!0!==a.physics?.enabled)return!0;s.updateMatrixWorldRigid();let h=n(a),l=r.userData.hasDestroy,c=r.userData.hasDrag,d=!1,m=!1;for(let t of a.events)!0!==t.data.disabled&&("GameControl"===t.data.type?d=!0:"Follow"===t.data.type&&(m=!0));if(d||h||m||l||c)return!0;if(this.usePhysics&&"dynamic"===a.physics?.rigidBody){if(this.usePhysics&&a.physics?.fusedBody)return!0}else if("geometry"in s&&s.geometry&&e.push(o(s.geometry,s.matrixWorld)),this.usePhysics&&a.physics?.fusedBody)return s.traverseObject((i,s)=>{if(0===s)return;let n;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;n=i.object}else if(i instanceof g)n=i.object;else if(n=i,i.dataPatched.cloner?.hideBase)return!0;let r=n.dataPatched;if(!r.visible&&!0!==r.physics?.enabled)return!0;"geometry"in i&&i.geometry&&e.push(o(i.geometry,i.matrixWorld))}),!0},this.traverseNoPhysics=(e,i)=>s=>{let r;if(s instanceof t)return;r=s instanceof g?s.object:s;let a=r.dataPatched;if("visibility"===a.physics.enabled?!a.visible:!a.physics.enabled)return!0;if(i&&!r.userData.navmesh)return;let h=s.geometry,l=!0===r.userData.hasDestroy,c=!0===r.userData.hasDrag;if(n(a)||l||c||r.dataPatched.events.some(t=>!0!==t.data.disabled&&"GameControl"===t.data.type))return!0;h&&e.push(o(h,s.matrixWorld))},this.navmeshWasm=Yt,this.navMesh=new this.navmeshWasm.NavMesh,this._workerURL=URL.createObjectURL(new Blob([(i?(s=a??"https://cdn.spline.design/@splinetool/runtime@2.0.90/build/",`\n(async function() {\n\tconst [wasmImport, wasmBinary] = await Promise.all([\n\t\timport('${s}' + 'navmesh.js'),\n\t\tfetch('${s}' + 'navmesh.wasm').then((res) => res.arrayBuffer()),\n\t]);\n\tconst wasmModule = wasmImport.default;\n\tself.module = await wasmModule({ wasmBinary });\n\tpostMessage('ready');\n})();\n`):"\n(async function() {\n\tconst [wasmImport, wasmBinary] = await Promise.all([\n\t\timport(self.location.origin + '/_libraries/navmesh.js'),\n\t\tfetch(self.location.origin + '/_libraries/navmesh.wasm').then((res) => res.arrayBuffer()),\n\t]);\n\tconst wasmModule = wasmImport.default;\n\tself.module = await wasmModule({ wasmBinary });\n\tpostMessage('ready');\n})();\n")+"\n\nonmessage = function(messageEvent) {\n\tconst meshData = messageEvent.data;\n\tconst positions = meshData[0];\n\tconst offset = meshData[1];\n\tconst indices = meshData[2];\n\tconst indicesLength = meshData[3];\n\tconst parameters = meshData[4];\n\n\tconst module = self.module;\n\tconst rc = new module.rcConfig();\n\trc.cs = parameters.cs;\n\trc.ch = parameters.ch;\n\trc.borderSize = parameters.borderSize ? parameters.borderSize : 0;\n\trc.tileSize = parameters.tileSize ? parameters.tileSize : 0;\n\trc.walkableSlopeAngle = parameters.walkableSlopeAngle;\n\trc.walkableHeight = parameters.walkableHeight;\n\trc.walkableClimb = parameters.walkableClimb;\n\trc.walkableRadius = parameters.walkableRadius;\n\trc.maxEdgeLen = parameters.maxEdgeLen;\n\trc.maxSimplificationError = parameters.maxSimplificationError;\n\trc.minRegionArea = parameters.minRegionArea;\n\trc.mergeRegionArea = parameters.mergeRegionArea;\n\trc.maxVertsPerPoly = parameters.maxVertsPerPoly;\n\trc.detailSampleDist = parameters.detailSampleDist;\n\trc.detailSampleMaxError = parameters.detailSampleMaxError;\n\n\tif (!self.navMesh) {\n\t\tself.navMesh = new module.NavMesh();\n\t}\n\tself.navMesh.build(positions, offset, indices, indicesLength, rc);\n\n\tconst navmeshData = navMesh.getNavmeshData();\n\tconst arrView = new Uint8Array(module.HEAPU8.buffer, navmeshData.dataPointer, navmeshData.size);\n\tconst ret = new Uint8Array(navmeshData.size);\n\tret.set(arrView);\n\tnavMesh.freeNavmeshData(navmeshData);\n\n\tpostMessage(ret);\n}\n"])),this._worker=new Worker(this._workerURL),this.whenWorkerReady=new Promise(t=>{this._worker.addEventListener("message",()=>t(),{once:!0})})}init(t,e,i){this.gameControl=e,this.eventContext=i,this.setDefaultQueryExtent((new C).setScalar(t.ch*t.walkableRadius*1.2)),this._worker.onmessage=()=>{this.createNavMesh(i.page,t,t=>{this.buildFromNavmeshData(t.data)})},this.eventContext.renderer.domElement.addEventListener("pointerdown",this.onPointerDown)}createNavMesh(t,e,i){e.objects.forEach(e=>{let i=t.scene.find(e);i.traverseEntity(t=>{t.userData.navmesh=!0}),i.cloner?.traverseObject(t=>{t.userData.navmesh=!0})});let o=[],s=(this.usePhysics?this.traverseWithPhysics:this.traverseNoPhysics)(o,"custom"===e.zones);if(t.traverseChildren(s),e.objects.forEach(e=>{let i=t.scene.find(e);i.traverseEntity(t=>{t.userData.navmesh=void 0}),i.cloner?.traverseObject(t=>{t.userData.navmesh=void 0})}),0===o.length)return!1;let n=y(o),{positions:r,triIndices:a}=p(n.getAttribute("position"),n.getIndex());return this._worker.postMessage([r,r.length/3,a,a.length,{...Ut,...e}]),this._worker.onmessage=i,!0}createDebugNavGeometry(){let t,e,i=this.navMesh.getDebugNavMesh(),o=i.getTriangleCount(),s=new Uint32Array(3*o),n=new Float32Array(3*o*3);for(t=0;t<3*o;t++)s[t]=t;for(t=0;t<o;t++)for(e=0;e<3;e++){let o=i.getTriangle(t).getPoint(e);n[9*t+3*e+0]=o.x,n[9*t+3*e+1]=o.y,n[9*t+3*e+2]=o.z}let r=new X;return r.setIndex(new _(s,1)),r.setAttribute("position",new _(n,3)),r}getClosestPoint(t){return Gt.x=t.x,Gt.y=t.y,Gt.z=t.z,this.navMesh.getClosestPoint(Gt)}getClosestPointToRef(t,e){Gt.x=t.x,Gt.y=t.y,Gt.z=t.z;let i=this.navMesh.getClosestPoint(Gt);e.set(i.x,i.y,i.z)}getRandomPointAround(t,e){return Gt.x=t.x,Gt.y=t.y,Gt.z=t.z,this.navMesh.getRandomPointAround(Gt,e)}getRandomPointAroundToRef(t,e,i){Gt.x=t.x,Gt.y=t.y,Gt.z=t.z;let o=this.navMesh.getRandomPointAround(Gt,e);i.set(o.x,o.y,o.z)}moveAlong(t,e){return Gt.x=t.x,Gt.y=t.y,Gt.z=t.z,qt.x=e.x,qt.y=e.y,qt.z=e.z,this.navMesh.moveAlong(Gt,qt)}moveAlongToRef(t,e,i){return Gt.x=t.x,Gt.y=t.y,Gt.z=t.z,qt.x=e.x,qt.y=e.y,qt.z=e.z,this.navMesh.moveAlong(Gt,qt)}computePath(t,e){let i=this.getClosestPoint(e);if(qt.x=i.x,qt.y=i.y,qt.z=i.z,Math.sqrt(Math.pow(e.x-i.x,2)+Math.pow(e.y-i.y,2)+Math.pow(e.z-i.z,2))>this.getDefaultQueryExtent().y)return[];this.getClosestPoint(t);let o=this.navMesh.computePath(Gt,qt),s=o.getPointCount(),n=[];for(let t=0;t<s;t++){let e=o.getPoint(t);n.push(new C(e.x,e.y,e.z))}return n}createCrowd(t,e){return new Kt(this,t,e)}setDefaultQueryExtent(t){Gt.x=t.x,Gt.y=t.y,Gt.z=t.z,this.navMesh.setDefaultQueryExtent(Gt)}getDefaultQueryExtent(){return this.navMesh.getDefaultQueryExtent()}buildFromNavmeshData(t){let e=t.length*t.BYTES_PER_ELEMENT,i=this.navmeshWasm._malloc(e),o=new Uint8Array(this.navmeshWasm.HEAPU8.buffer,i,e);o.set(t);let s=new this.navmeshWasm.NavmeshData;s.dataPointer=o.byteOffset,s.size=t.length,this.navMesh.buildFromNavmeshData(s),this.navmeshWasm._free(o.byteOffset)}getNavmeshData(){let t=this.navMesh.getNavmeshData(),e=new Uint8Array(this.navmeshWasm.HEAPU8.buffer,t.dataPointer,t.size),i=new Uint8Array(t.size);return i.set(e),this.navMesh.freeNavmeshData(t),i}getDefaultQueryExtentToRef(t){let e=this.navMesh.getDefaultQueryExtent();t.set(e.x,e.y,e.z)}dispose(){this.navMesh.destroy(),this._worker.terminate(),URL.revokeObjectURL(this._workerURL),this.eventContext?.renderer.domElement.removeEventListener("pointerdown",this.onPointerDown)}addCylinderObstacle(t,e,i){return Gt.x=t.x,Gt.y=t.y,Gt.z=t.z,this.navMesh.addCylinderObstacle(Gt,e,i)}addBoxObstacle(t,e,i){return Gt.x=t.x,Gt.y=t.y,Gt.z=t.z,qt.x=e.x,qt.y=e.y,qt.z=e.z,this.navMesh.addBoxObstacle(Gt,qt,i)}removeObstacle(t){this.navMesh.removeObstacle(t)}isSupported(){return void 0!==this.navmeshWasm}},Kt=class{constructor(t,e,i){this.navmeshWasmWrapper=t,this.transforms=[],this.agents=new Array,this.reachRadii=new Array,this._agentDestinationArmed=new Array,this._agentDestination=new Array,this.crowd=new this.navmeshWasmWrapper.navmeshWasm.Crowd(e,i,this.navmeshWasmWrapper.navMesh.getNavMesh())}onReachTarget(t,e){}addAgent(t,e,i){let o=new this.navmeshWasmWrapper.navmeshWasm.dtCrowdAgentParams;o.radius=e.radius,o.height=e.height,o.maxAcceleration=e.maxAcceleration,o.maxSpeed=e.maxSpeed,o.collisionQueryRange=e.collisionQueryRange,o.pathOptimizationRange=e.pathOptimizationRange,o.separationWeight=e.separationWeight,o.updateFlags=7,o.obstacleAvoidanceType=0,o.queryFilterType=0,o.userData=0;let s=this.crowd.addAgent(new this.navmeshWasmWrapper.navmeshWasm.Vec3(t.x,t.y,t.z),o);return this.transforms.push(i),this.agents.push(s),this.reachRadii.push(e.reachRadius?e.reachRadius:e.radius),this._agentDestinationArmed.push(!1),this._agentDestination.push(new C(0,0,0)),s}getAgentPosition(t){return this.crowd.getAgentPosition(t)}getAgentPositionToRef(t,e){let i=this.crowd.getAgentPosition(t);e.set(i.x,i.y,i.z)}getAgentVelocity(t){return this.crowd.getAgentVelocity(t)}getAgentVelocityToRef(t,e){let i=this.crowd.getAgentVelocity(t);e.set(i.x,i.y,i.z)}getAgentNextTargetPath(t){return this.crowd.getAgentNextTargetPath(t)}getAgentNextTargetPathToRef(t,e){let i=this.crowd.getAgentNextTargetPath(t);e.set(i.x,i.y,i.z)}getAgentState(t){return this.crowd.getAgentState(t)}overOffmeshConnection(t){return this.crowd.overOffmeshConnection(t)}agentGoto(t,e){this.crowd.agentGoto(t,new this.navmeshWasmWrapper.navmeshWasm.Vec3(e.x,e.y,e.z));let i=this.agents.indexOf(t);i>-1&&(this._agentDestinationArmed[i]=!0,this._agentDestination[i].set(e.x,e.y,e.z))}agentTeleport(t,e){this.crowd.agentTeleport(t,new this.navmeshWasmWrapper.navmeshWasm.Vec3(e.x,e.y,e.z))}updateAgentParameters(t,e){let i=this.crowd.getAgentParameters(t);void 0!==e.radius&&(i.radius=e.radius),void 0!==e.height&&(i.height=e.height),void 0!==e.maxAcceleration&&(i.maxAcceleration=e.maxAcceleration),void 0!==e.maxSpeed&&(i.maxSpeed=e.maxSpeed),void 0!==e.collisionQueryRange&&(i.collisionQueryRange=e.collisionQueryRange),void 0!==e.pathOptimizationRange&&(i.pathOptimizationRange=e.pathOptimizationRange),void 0!==e.separationWeight&&(i.separationWeight=e.separationWeight),this.crowd.setAgentParameters(t,i)}removeAgent(t){this.crowd.removeAgent(t);let e=this.agents.indexOf(t);e>-1&&(this.agents.splice(e,1),this.transforms.splice(e,1),this.reachRadii.splice(e,1),this._agentDestinationArmed.splice(e,1),this._agentDestination.splice(e,1))}getAgents(){return this.agents}update(t){if(this.navmeshWasmWrapper.navMesh.update(),t<=.001)return;let e=1/60;{let i=Math.floor(t/e);i>10&&(i=10),i<1&&(i=1);let o=t/i;for(let t=0;t<i;t++)this.crowd.update(o)}for(let t=0;t<this.agents.length;t++){let e=this.agents[t],i=this.getAgentPosition(e);if(this.transforms[t].copy(i),this._agentDestinationArmed[t]){let o=i.x-this._agentDestination[t].x,s=i.z-this._agentDestination[t].z,n=this.reachRadii[t],r=this._agentDestination[t].y-this.reachRadii[t],a=this._agentDestination[t].y+this.reachRadii[t],h=o*o+s*s;i.y>r&&i.y<a&&h<n*n&&(this.onReachTarget(e,this._agentDestination[t]),this._agentDestinationArmed[t]=!1)}}}setDefaultQueryExtent(t){let e=new this.navmeshWasmWrapper.navmeshWasm.Vec3(t.x,t.y,t.z);this.crowd.setDefaultQueryExtent(e)}getDefaultQueryExtent(){return this.crowd.getDefaultQueryExtent()}getDefaultQueryExtentToRef(t){let e=this.crowd.getDefaultQueryExtent();t.set(e.x,e.y,e.z)}getCorners(t){let e,i=this.crowd.getCorners(t),o=i.getPointCount(),s=[];for(e=0;e<o;e++){let t=i.getPoint(e);s.push(new C(t.x,t.y,t.z))}return s}dispose(){this.crowd.destroy()}};i({setup:function(t){let{manager:e,camera:i}=t,o=!1,s=5,n=8,r=9,a="drag",h=e.page.data.publish.gameControlObject,c=null!==h?e.page.find(h):null,d=null;if(c)for(let t of c.data.events){if(t.data.disabled||"GameControl"!==t.data.type)continue;let i=c;for(;e.usePhysics&&null!==(i=i.parent)?.parent;)i.data.physics;t.data.collisionEnabled&&(e.needsCollisionDetection=!0),null===d&&(d=t.data)}if(c&&d&&(!0===c.data.visible||!0===c.data.physics.enabled)){o=o||d.camera===i.uuid||c.uuid===i.uuid;let h=new Zt(c,t.renderer.domElement,d,t.eventContext.page.data.globalPhysics,e,c.uuid!==i.uuid&&d.camera===i.uuid,i,e.page,t.sharedAssets);e.gameControl=h,s=d.joystickPosLoc,n=d.joystickRotLoc,r=d.jumpTouchButtonLoc,a=d.rotByTouch,l&&d.touchControl&&(e.joystickToGameControls[s]="pos","walk"===d.moveMode&&(e.joystickToGameControls[r]="jmp"),"joystick"===a&&(e.joystickToGameControls[n]="rot"))}if(e.gameControl&&e.gameControl.data.navmesh.enabled){let i=e.gameControl.data;if(!e.navigationMeshWrapper){let o;e.navigationMeshWrapper=new Jt(e.usePhysics,t.isExport),o="sphere"===i.collider.type?2*i.collider.radius:i.collider.height,o=Math.floor(o/i.navmesh.ch-1),e.navigationMeshWrapper.init({...i.navmesh,walkableHeight:o},e.gameControl,t.eventContext)}}return o},createJoysticks:function(t,e,i){t.joystickToGameControls.forEach((o,s)=>{let n=document.body.appendChild(document.createElement("div")),[r,a,h]=t.eventManager.eventContext.publish.joystickSizeAndXYOffset[s],l=(e-5*r)/4+r,c={},d="jmp"===o,m=d?0:r;s<10?(s<5?c.top=m/2:c.bottom=m/2,c.left=m/2+s%5*l):10===s?(c.left=m/2,c.top=i/2):(c.right=m/2,c.top=i/2),c.top?c.top-=a[1]:c.bottom+=a[1],c.left?c.left+=a[0]:c.right-=a[0];for(let t in c)c[t]+="px";if(d){let e=n.appendChild(document.createElement("div"));Object.assign(e.style,c,{position:"absolute",width:r+"px",height:r+"px",backgroundColor:`rgba(255,255,255,${"show"===h?.4:0})`,zIndex:"9999",borderRadius:r+"px",border:"show"===h?"solid 2px rgba(0, 0, 0, .1)":"none",display:"flex",alignItems:"center",justifyContent:"center",touchAction:"none"});let i=r/16*16*.4;return"show"===h&&(e.innerHTML=`\n\t\t\t\t\t\t<svg width="${i}" height="${.4*r}" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n\t\t\t\t\t\t\t<path d="M2 10L8 4L14 10" stroke="black" stroke-opacity="40%" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t`),e.addEventListener("pointerdown",()=>{t.gameControl.movementState.jump=1,t.requestRender()}),e.addEventListener("touchend",t=>t.preventDefault()),void(t.joysticks[s]=[void 0,n])}let p={zone:n,mode:"static",position:c,size:r};"hide"===h&&(p.restOpacity=0);let u=pt.create(p);u.on("move",(e,i)=>{let s=t.gameControl;"pos"===o?i.force<.2?s.moveForce=0:(s.movementState.movePosZ=Math.sin(-i.angle.radian),s.movementState.movePosX=Math.cos(-i.angle.radian),i.force>1.2?s.movementState.run=1:s.movementState.run=0,i.force<.3?s.moveForce=(i.force-.2)/.1:s.moveForce=1):"rot"===o&&(i.force<.2?s.rotForce=0:(s.movementState.rotPosX=i.vector.y,s.movementState.rotPosY=-i.vector.x,i.force<.3?s.rotForce=(i.force-.2)/.1:s.rotForce=1)),t.requestRender()}),u.on("end",(e,i)=>{let s=t.gameControl;"pos"===o?(s.movementState.movePosZ=0,s.movementState.movePosX=0,s.moveForce=1):"rot"===o&&(s.movementState.rotPosX=0,s.movementState.rotPosY=0,s.rotForce=1)}),t.joysticks[s]=[u,n]})}}),w("game-controls");
@@ -1 +0,0 @@
1
- import{k as r}from"./runtime-chunk-K5Q5TON3.js";import"./runtime-chunk-S6IQT6ZF.js";import"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-HUXCP2PU.js";import{a as i,d as m}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-JBTA64YE.js";import"./runtime-chunk-BVVSZMXD.js";import"./runtime-chunk-ML3Z74BL.js";m("Hair",(i,m,n)=>new r(i,m,n)),i("hair");
@@ -1,2 +0,0 @@
1
- ��ø�۴�5���ۃ��v�67��O>��.5��B���/�A,�C���@�.�0�s����R|
2
- �Ϋ�y|�ڤ�s��r}�_>r� �G���\����H�.^�{��J&s'WB��6���o�Jq���������w%��`}���n�Z��d��Z���`$��e?�~)0��C*
Binary file
@@ -1 +0,0 @@
1
- import{b as t,h as e}from"./runtime-chunk-PNJ7AF7H.js";import"./runtime-chunk-S2A55QI5.js";import"./runtime-chunk-NTUTXO7Q.js";import{a}from"./runtime-chunk-5CZ6MFAW.js";import"./runtime-chunk-HD7WF3XN.js";import{a as i}from"./runtime-chunk-GGSUJEGZ.js";import"./runtime-chunk-HEZ7K3CW.js";import"./runtime-chunk-ZGFKGE5W.js";import"./runtime-chunk-2AEIM2G4.js";import"./runtime-chunk-TU4KDRKR.js";import"./runtime-chunk-FTVQTRM7.js";import{a as r,b as s}from"./runtime-chunk-VAVYZ35B.js";import{a as o,c as n}from"./runtime-chunk-FQNSP44B.js";import"./runtime-chunk-ODYXBVNJ.js";import"./runtime-chunk-AL2HGNMV.js";import"./runtime-chunk-RLNFCXMS.js";import"./runtime-chunk-U44V7VUP.js";import{fa as h}from"./runtime-chunk-ABZUBC4Q.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{b as m,e as c}from"./runtime-chunk-NEOF7SBZ.js";import"./runtime-chunk-S6IQT6ZF.js";import"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-HUXCP2PU.js";import{a as d}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-JBTA64YE.js";import{Bc as p,Ec as u,Fc as l}from"./runtime-chunk-BVVSZMXD.js";import"./runtime-chunk-ML3Z74BL.js";var g=(t,e)=>e.some(e=>e instanceof RegExp?e.test(t):e===t);var w=class{constructor({url:t,context:e},a,i,r){if(this.controlsManager=a,this.shared=i,this.condition=r,!t)throw new Error("Missing property");this.url=t.startsWith("mailto:")?t:function(t,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},t=t.trim(),/^data:/i.test(t))return((t,{stripHash:e})=>{let a=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(t);if(!a)throw new Error(`Invalid URL: ${t}`);let{type:i,data:r,hash:s}=a.groups,o=i.split(";");s=e?"":s;let n=!1;"base64"===o[o.length-1]&&(o.pop(),n=!0);let h=(o.shift()||"").toLowerCase(),m=[...o.map(t=>{let[e,a=""]=t.split("=").map(t=>t.trim());return"charset"===e&&(a=a.toLowerCase(),"us-ascii"===a)?"":`${e}${a?`=${a}`:""}`}).filter(Boolean)];return n&&m.push("base64"),(m.length>0||h&&"text/plain"!==h)&&m.unshift(h),`data:${m.join(";")},${n?r.trim():r}${s?`#${s}`:""}`})(t,e);if(/^view-source:/i.test(t))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let a=t.startsWith("//");!a&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let i=new URL(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&"https:"===i.protocol&&(i.protocol="http:"),e.forceHttps&&"http:"===i.protocol&&(i.protocol="https:"),e.stripAuthentication&&(i.username="",i.password=""),e.stripHash?i.hash="":e.stripTextFragment&&(i.hash=i.hash.replace(/#?:~:text.*?$/i,"")),i.pathname){let t=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,e=0,a="";for(;;){let r=t.exec(i.pathname);if(!r)break;let s=r[0],o=r.index;a+=i.pathname.slice(e,o).replace(/\/{2,}/g,"/"),a+=s,e=o+s.length}a+=i.pathname.slice(e,i.pathname.length).replace(/\/{2,}/g,"/"),i.pathname=a}if(i.pathname)try{i.pathname=decodeURI(i.pathname)}catch{}if(!0===e.removeDirectoryIndex&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let t=i.pathname.split("/"),a=t[t.length-1];g(a,e.removeDirectoryIndex)&&(t=t.slice(0,-1),i.pathname=t.slice(1).join("/")+"/")}if(i.hostname&&(i.hostname=i.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(i.hostname)&&(i.hostname=i.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let t of[...i.searchParams.keys()])g(t,e.removeQueryParameters)&&i.searchParams.delete(t);if(!0===e.removeQueryParameters&&(i.search=""),e.sortQueryParameters){i.searchParams.sort();try{i.search=decodeURIComponent(i.search)}catch{}}e.removeTrailingSlash&&(i.pathname=i.pathname.replace(/\/$/,""));let r=t;return t=i.toString(),!e.removeSingleSlash&&"/"===i.pathname&&!r.endsWith("/")&&""===i.hash&&(t=t.replace(/\/$/,"")),(e.removeTrailingSlash||"/"===i.pathname)&&""===i.hash&&e.removeSingleSlash&&(t=t.replace(/\/$/,"")),a&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t}(t,{removeTrailingSlash:!1,removeSingleSlash:!1,stripWWW:!1}),this.context=e??"tab"}dispatch(){if(!1===c(this.shared,this.condition))return!1;n?window.location.assign(this.url):("tab"===this.context||o&&"none"===this.context?window.open(this.url,"_blank"):"window"===this.context?window.open(this.url,"_blank",`width=${window.innerWidth}, height=${window.innerHeight}`):window.open(this.url,"_parent"),this.controlsManager.orbitControls?.onPointerUp(r[0]),s())}},f=class{constructor(t,e,a,i,r){this.data=t,this.page=e,this.shared=a,this.eventManager=i,this.condition=r}dispatch(){if(!1===c(this.shared,this.condition))return!1;clearTimeout(this.timeoutId),delete this.timeoutId,this.timeoutId=window.setTimeout(()=>{this.shared.reset(this.shared.data,!0),a(this.page,this.shared,!0),this.eventManager.reset(),this.eventManager.controlsManager.gameControl?.reset(!0),this.page.switchToPlayCamera(),this.eventManager.controlsManager.requestRender(),delete this.timeoutId},1e3*(this.data.delay??0))}dispose(){clearTimeout(this.timeoutId),delete this.timeoutId}},v={type:"beginState"},C={type:"completeState",isfromEntity:!1},y={type:"requestRender"},I=class extends p{constructor(t,e,a,i){super(),this.data=t,this.page=e,this.shared=a,this.condition=i,this.toggleIsForward=!1,this.posStart=new l,this.posEnd=new l,this.qStart=new u,this.qEnd=new u,this.zoomStart=1,this.zoomEnd=1}init(){}get playing(){return!0===this.runner?.isPlaying}buildAnimation(a=!1){if(!this.data.animate)return;let i=this.page.scene.find(this.data.targetCamera);if(!i||!i.visible)throw new ReferenceError("Target camera not founded or not visible");this.posStart.copy(this.page.activeCamera.position),this.qStart.copy(this.page.activeCamera.quaternion),this.zoomStart=this.page.activeCamera.zoom;let r={duration:this.data.duration,delay:0,delayDirection:"start-once",direction:"normal",repeat:0,ease:e(this.data)},s=t=>{let e=this.page.activeCamera;e.position.lerpVectors(this.posStart,this.posEnd,t),e.quaternion.slerpQuaternions(this.qStart,this.qEnd,t),e.zoom=this.zoomStart+(this.zoomEnd-this.zoomStart)*t,e.wasMovedBySwitchCameraAction=!0,e.updateMatrix(),e.updateMatrixWorld(),e.updateProjectionMatrix(),e.dispatchEvent(y),1===t&&e.dispatchEvent(C)};this.runner=new t(r,s,()=>{"Toggle"!==this.data.runMode||this.toggleIsForward?(this.posEnd.copy(i.position),this.qEnd.copy(i.quaternion),this.zoomEnd=i.zoom,this.fromCamera=this.page.activeCamera,this.switchCamera(i.uuid)):this.fromCamera&&(this.posEnd.copy(this.fromCamera.position),this.qEnd.copy(this.fromCamera.quaternion),this.zoomEnd=this.fromCamera.zoom,this.switchCamera(this.fromCamera.uuid)),this.page.activeCamera.dispatchEvent(v),s(0)})}update(t){this.runner?.update(t),!0!==this.runner?.isPlaying&&i.remove(this)}start(){!this.runner||(this.runner.start(i.time),i.add(this))}switchCamera(t){let e=this.page.activeCamera,a=this.page.scene.find(t);if(!a||!a.visible)throw new ReferenceError("Target camera not founded or not visible");this.page.switchActiveCamera(a),e.dispatchEvent({type:"cameraChange",camera:a})}play(){if(!1===c(this.shared,this.condition))return!1;if(!this.playing&&this.page.activeCamera.uuid!==this.data.targetCamera)try{clearTimeout(this.timeoutId),this.timeoutId=window.setTimeout(()=>{delete this.timeoutId,this.data.animate?(this.buildAnimation(),this.start()):this.switchCamera(this.data.targetCamera)},1e3*this.data.delay)}catch{}}pause(){this.runner?.stop(),i.remove(this),clearTimeout(this.timeoutId),delete this.timeoutId}toggle(t){if(!1===c(this.shared,this.condition))return!1;if(window.clearTimeout(this.timeoutId),delete this.timeoutId,t!==this.toggleIsForward)try{this.playing?(this.runner?.stop(),this.toggleIsForward=t??!this.toggleIsForward,this.buildAnimation(!0),this.start()):this.timeoutId=window.setTimeout(()=>{this.toggleIsForward=t??!this.toggleIsForward,this.data.animate?(this.runner?.stop(),this.buildAnimation(),this.start()):(this.toggleIsForward?(this.fromCamera=this.page.activeCamera,this.switchCamera(this.data.targetCamera)):this.fromCamera&&this.switchCamera(this.fromCamera.uuid),this.page.activeCamera.dispatchEvent(C),this.page.activeCamera.dispatchEvent(y))},1e3*this.data.delay)}catch{}}playFromCurrent(){this.toggle(!0)}reverseFromCurrent(){this.toggle(!1)}dispose(){this.pause(),this.toggleIsForward=!1}},S=class{constructor(t,e,a,i){this.data=t,this.page=e,this.shared=a,this.condition=i}dispatch(){if(!1===c(this.shared,this.condition))return!1;("single"===this.data.target?this.data.variableId?[this.data.variableId]:[]:Object.keys(this.shared.getVariables())).forEach(t=>{this.shared.getVariable(t);let e=this.shared.data.variables.data(t)?.value;void 0!==e&&this.shared.updateVariable(t,e),this.shared.enableLocalStorageForPersistentVariables&&localStorage.removeItem(h(t))})}dispose(){}};m("Link",({data:t,eventManager:e,shared:a,actionCondition:i})=>new w(t,e.controlsManager,a,i)),m("Reset",({data:t,page:e,shared:a,eventManager:i,actionCondition:r})=>new f(t,e,a,i,r)),m("SwitchCamera",({data:t,page:e,shared:a,actionCondition:i})=>new I(t,e,a,i)),m("ClearLocalStorage",({data:t,page:e,shared:a,actionCondition:i})=>new S(t,e,a,i)),d("misc-actions");
@@ -1 +0,0 @@
1
- import{a as t,b as e,c as s,d as i}from"./runtime-chunk-OKPYRW23.js";import"./runtime-chunk-FUG375TP.js";import{a as n}from"./runtime-chunk-NBYTQLIB.js";import{h as r}from"./runtime-chunk-HEZ7K3CW.js";import"./runtime-chunk-ZGFKGE5W.js";import"./runtime-chunk-2AEIM2G4.js";import"./runtime-chunk-TU4KDRKR.js";import{a as o,b as a}from"./runtime-chunk-DZNU62CT.js";import{a as h}from"./runtime-chunk-VAVYZ35B.js";import{e as c}from"./runtime-chunk-FQNSP44B.js";import"./runtime-chunk-ODYXBVNJ.js";import"./runtime-chunk-RLNFCXMS.js";import"./runtime-chunk-EX3V3BQE.js";import"./runtime-chunk-U44V7VUP.js";import"./runtime-chunk-ABZUBC4Q.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{f as u,g as m}from"./runtime-chunk-NEOF7SBZ.js";import"./runtime-chunk-S6IQT6ZF.js";import"./runtime-chunk-RTLL6WIB.js";import{e as v,f as E}from"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-HUXCP2PU.js";import{a as p}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-JBTA64YE.js";import"./runtime-chunk-BVVSZMXD.js";import"./runtime-chunk-ML3Z74BL.js";var d=class{constructor(t,e,s,i,n,r){this.id=t,this.data=e,this.object=s,this.entered=!1,this.actions=u(e,e.actions,i,n,r,s)}disconnect(){m(this.actions)}dispatchEnter(){this.actions.Transition.forEach(t=>{t.object.currentTransitionEvent!==this&&(t.object.currentTransitionEvent=this,t.init())}),this.entered||(this.entered=!0,this.actions.TimelineAnimation.forEach(t=>t.playFromCurrent()),this.actions.Transition.forEach(t=>t.playFromCurrent()),this.actions.Animation.forEach(t=>t.play()),this.actions.Create.forEach(t=>t.dispatchStart()),this.actions.Particles.forEach(t=>t.dispatchBasic()),this.actions.Destroy.forEach(t=>t.dispatch()),this.actions.SwitchCamera.forEach(t=>t.playFromCurrent()),this.actions.SceneTransition.forEach(t=>t.dispatch()),this.actions.SetVariable.forEach(t=>t.checkConditions()),this.actions.SetVariable.forEach(t=>t.dispatch()),this.actions.DynamicVariablePlay.forEach(t=>t.dispatch()),this.actions.ClearLocalStorage.forEach(t=>t.dispatch()),this.actions.UserAPI.forEach(t=>t.dispatch()))}dispatchLeave(){this.actions.Transition.forEach(t=>{t.object.currentTransitionEvent!==this&&(t.object.currentTransitionEvent=this,t.init())}),this.entered&&(this.entered=!1,this.actions.TimelineAnimation.forEach(t=>t.reverseFromCurrent()),this.actions.Create.forEach(t=>t.dispatchStop()),this.actions.Transition.forEach(t=>t.reverseFromCurrent()),this.actions.Particles.forEach(t=>t.reverseFromCurrent()),this.actions.SwitchCamera.forEach(t=>t.reverseFromCurrent()))}dispatchUserEvent(t){this.actions.Transition.forEach(t=>{t.object.currentTransitionEvent!==this&&(t.object.currentTransitionEvent=this,t.init())}),t?(this.actions.Transition.forEach(t=>t.reverseFromCurrent()),this.actions.Particles.forEach(t=>t.reverseFromCurrent()),this.actions.Animation.forEach(t=>t.reverseFromCurrent()),this.actions.TimelineAnimation.forEach(t=>t.reverseFromCurrent()),this.actions.SwitchCamera.forEach(t=>t.reverseFromCurrent())):(this.actions.Transition.forEach(t=>t.playFromCurrent()),this.actions.Animation.forEach(t=>t.playFromCurrent()),this.actions.TimelineAnimation.forEach(t=>t.playFromCurrent()),this.actions.Create.forEach(t=>t.dispatch()),this.actions.Particles.forEach(t=>t.dispatchBasic()),this.actions.Destroy.forEach(t=>t.dispatch()),this.actions.SwitchCamera.forEach(t=>t.playFromCurrent())),this.actions.SceneTransition.forEach(t=>t.dispatch()),this.actions.SetVariable.forEach(t=>t.checkConditions()),this.actions.SetVariable.forEach(t=>t.dispatch()),this.actions.DynamicVariablePlay.forEach(t=>t.dispatch()),this.actions.ClearLocalStorage.forEach(t=>t.dispatch()),this.actions.UserAPI.forEach(t=>t.dispatch())}},f=class extends o{constructor(t,e){super(t),this.eventManager=e,this.eventsPerObjects={},this.objects=[],this.objects2D=[],this._prevObjects=[],this.onMouseDown=t=>{h.length>1||(this.eventContext.updateRaycaster(t),this.handleMouseHoverEvent())},this.onMouseUp=t=>{h.length>1||this.handleMouseHoverEvent(!0)},this.onMouseMove=t=>{h.length>1||(this.eventContext.updateRaycaster(t),this.handleMouseHoverEvent())},this.onUserEvent=({eventName:t,target:e,reverse:s})=>{if(!t||!e)return;let i=n(t);i&&"MouseHover"===i&&(e.dispatchEvent({type:"beginEvent",eventName:"MouseHover"}),this.eventsPerObjects[e.uuid]?.forEach(t=>t.dispatchUserEvent(s)))}}connect(){let{page:t,sharedAssets:e}=this.eventContext,s=(s,i)=>{if(s.visible&&s.data?.events.length){for(let{id:i,data:n}of s.data.events)if(!n.disabled&&"MouseHover"===n.type)try{let r=new d(i,n,s,t,e,this.eventManager);this.eventsPerObjects[s.uuid]?this.eventsPerObjects[s.uuid].push(r):this.eventsPerObjects[s.uuid]=[r]}catch(t){}this.eventsPerObjects[s.uuid]?.length&&this.objects.push(v(s)?i:s)}};if(t.traverseEntity(t=>{(E(t)||t instanceof r)&&t.frame?.traverse(e=>{s(e,t)}),s(t)}),!this.objects.length)return;let{domElement:i}=this.eventContext;this.domEventsNeeded.clear(),c&&(this.domEventsNeeded.add("pointerdown"),i.addEventListener("pointerdown",this.onMouseDown),this.domEventsNeeded.add("pointerup"),i.addEventListener("pointerup",this.onMouseUp)),this.domEventsNeeded.add("pointermove"),i.addEventListener("pointermove",this.onMouseMove),this.objects.forEach(t=>{t.addEventListener("userEvent",this.onUserEvent)})}disconnect(){if(!this.objects.length)return;let{domElement:t}=this.eventContext;this.domEventsNeeded.clear(),c&&(t.removeEventListener("pointerdown",this.onMouseDown),t.removeEventListener("pointerup",this.onMouseUp)),t.removeEventListener("pointermove",this.onMouseMove),Object.values(this.eventsPerObjects).forEach(t=>{t.forEach(t=>{t.disconnect()})}),this.objects.forEach(t=>{t.removeEventListener("userEvent",this.onUserEvent)})}handleMouseHoverEvent(n=!1){let r=[];if(!n){let{stopRaycast:n,raycaster:o,page:a,pointerScreen:h}=this.eventContext,c=!1;if(a.uiCanvas&&(c=s(a,[h.x,h.y],Object.keys(this.eventsPerObjects),t=>{r.push(t)})),n&&!c){let i=t(o,a,this.objects);r=e(i),i.forEach(t=>{E(t.object)&&s(t.object,[t?.uv?.x??0,t?.uv?.y??0],Object.keys(this.eventsPerObjects),t=>{r.push(t)})})}else this.objects.forEach(t=>{let e=i(o,t);e&&(r.push(t),E(t)&&s(t,[e?.uv?.x??0,e?.uv?.y??0],Object.keys(this.eventsPerObjects),t=>{r.push(t)}))})}this._prevObjects.length&&this._prevObjects.forEach(t=>{r.includes(t)||(t.dispatchEvent({type:"beginEvent",eventName:"MouseHover"}),this.eventsPerObjects[t.uuid]?.forEach(t=>t.dispatchLeave()))}),r.length&&r.forEach(t=>{t.dispatchEvent({type:"beginEvent",eventName:"MouseHover"}),this.eventsPerObjects[t.uuid]?.forEach(t=>t.dispatchEnter())}),this._prevObjects=r}};a("MouseHover",({eventContext:t,eventManager:e})=>new f(t,e)),p("mousehover");
Binary file
Binary file
Binary file
Binary file
@@ -1 +0,0 @@
1
- import{h as t}from"./runtime-chunk-HEZ7K3CW.js";import"./runtime-chunk-ZGFKGE5W.js";import"./runtime-chunk-2AEIM2G4.js";import"./runtime-chunk-TU4KDRKR.js";import{a as i,b as s}from"./runtime-chunk-DZNU62CT.js";import"./runtime-chunk-ODYXBVNJ.js";import"./runtime-chunk-RLNFCXMS.js";import"./runtime-chunk-U44V7VUP.js";import"./runtime-chunk-ABZUBC4Q.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{f as e,g as a}from"./runtime-chunk-NEOF7SBZ.js";import"./runtime-chunk-S6IQT6ZF.js";import"./runtime-chunk-RTLL6WIB.js";import{f as n}from"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-HUXCP2PU.js";import{a as r}from"./runtime-chunk-TZCHGFVF.js";import{u as o}from"./runtime-chunk-JBTA64YE.js";import"./runtime-chunk-BVVSZMXD.js";import"./runtime-chunk-ML3Z74BL.js";var c=class{constructor(t,i,s,a,n,r,o,c){this.eventId=t,this.id=i,this.data=s,this.dataEvent=a,this.object=n,this.stage=!1,this.actions=e(a,s.actions,r,o,c,n,"Toggle")}disconnect(){this.stage=!1,a(this.actions)}dispatchIn(){this.actions.Audio.forEach(t=>t.dispatchBasic()),this.actions.Particles.forEach(t=>t.dispatchBasic()),this.actions.Video.forEach(t=>t.dispatchBasic()),this.actions.Create.forEach(t=>t.dispatch()),this.actions.Destroy.forEach(t=>t.dispatch()),this.actions.Reset.forEach(t=>t.dispatch()),this.actions.Link.forEach(t=>t.dispatch()),this.actions.Transition.forEach(t=>{t.object.currentTransitionEvent!==this&&(t.object.currentTransitionEvent=this,t.init())}),this.actions.Transition.forEach(t=>t.play()),this.actions.Animation.forEach(t=>t.play()),this.actions.SwitchCamera.forEach(t=>t.play()),this.actions.SceneTransition.forEach(t=>t.dispatch()),this.actions.SetVariable.forEach(t=>t.checkConditions()),this.actions.SetVariable.forEach(t=>t.dispatch()),this.actions.DynamicVariablePlay.forEach(t=>t.dispatch()),this.actions.ClearLocalStorage.forEach(t=>t.dispatch()),this.actions.UserAPI.forEach(t=>t.dispatch())}dispatchOut(){this.actions.Transition.forEach(t=>{let i=t.object.currentTransitionEvent;i instanceof c&&i!==this&&i.stage||t.play()})}},h=class extends i{constructor(t,i){super(t),this.eventManager=i,this.breakpoints=[],this.resize=(t,i)=>{let s=[],e=[];this.breakpoints.forEach(a=>{let n,r=o.deviceToSize(a.data.size),c="horizontal"===a.dataEvent.orientation?t:i;switch(a.data.operator){case"<":n=c<r[0];break;case">":n=c>r[0];break;case"<>":n=c>r[0]&&c<r[1]}a.stage!==n&&(a.stage=n,(n?s:e).push(a))}),s.forEach(t=>t.dispatchIn()),e.forEach(t=>t.dispatchOut())},this.onResizeObserver=new ResizeObserver(t=>{for(let i of t){let{width:t,height:s}=i.contentRect;this.resize(t,s)}})}connect(){let{page:i,sharedAssets:s,domElement:e}=this.eventContext;this.onResizeObserver.observe(e);let a=t=>{if(t.visible&&t.data?.events.length)for(let{data:e,id:a}of t.data.events)e.disabled||"Resize"===e.type&&e.breakpoints.forEach(({data:n,id:r})=>{try{let o=new c(a,r,n,e,t,i,s,this.eventManager);this.breakpoints.push(o)}catch(t){}})};i.traverseEntity(i=>{(n(i)||i instanceof t)&&i.frame?.traverse(t=>{a(t)}),a(i)})}disconnect(){this.onResizeObserver.disconnect(),this.breakpoints.forEach(t=>{t.disconnect()}),this.breakpoints=[]}};s("Resize",({eventContext:t,eventManager:i})=>new h(t,i)),r("resize");
Binary file
Binary file
@@ -1 +0,0 @@
1
- import{a as t}from"./runtime-chunk-5CZ6MFAW.js";import"./runtime-chunk-HEZ7K3CW.js";import"./runtime-chunk-ZGFKGE5W.js";import"./runtime-chunk-2AEIM2G4.js";import"./runtime-chunk-TU4KDRKR.js";import"./runtime-chunk-ODYXBVNJ.js";import"./runtime-chunk-RLNFCXMS.js";import"./runtime-chunk-U44V7VUP.js";import"./runtime-chunk-ABZUBC4Q.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{b as e,e as i}from"./runtime-chunk-NEOF7SBZ.js";import"./runtime-chunk-S6IQT6ZF.js";import"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-HUXCP2PU.js";import{a}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-JBTA64YE.js";import"./runtime-chunk-BVVSZMXD.js";import"./runtime-chunk-ML3Z74BL.js";var n=class{constructor(t,e,i,a,n){this.data=t,this.page=e,this.eventManager=i,this.shared=a,this.condition=n,this.timeOutId=-1,this.scene=e.scene}dispatch(){if(!1===i(this.shared,this.condition))return!1;this.data.target!==this.page.uuid&&(window.clearTimeout(this.timeOutId),this.timeOutId=window.setTimeout(()=>{this.play()},1e3*this.data.delay))}dispose(){window.clearTimeout(this.timeOutId)}play(){if(this.scene.children.every(t=>t.uuid!==this.data.target||t.data.uiScene))return;"fade"===this.data.transition&&this.data.duration>0&&this.eventManager.eventContext.renderer.renderFromSceneForSceneTransitionPass(this.scene,this.scene.activeCamera,1e3*this.data.duration),this.eventManager.deactivate(),this.eventManager.controlsManager.deactivate();let e=this.scene.activeCamera;this.scene.updatePage(this.data.target),this.scene.traverseVisibleEntity(t=>{"ParticleSystem"===t.type&&(t.sleep(),t.wakeUp(),t.data.autoPlay?t.start():t.stop())}),this.scene.activePage.switchToPlayCamera(),this.scene.activeCamera.copyViewPlaneSize(e),t(this.scene.activePage,this.shared),this.eventManager.activate(),this.eventManager.controlsManager.activate(this.eventManager)}};e("SceneTransition",({data:t,page:e,eventManager:i,shared:a,actionCondition:s})=>new n(t,e,i,a,s)),a("scene-transition");
@@ -1 +0,0 @@
1
- import{a as t}from"./runtime-chunk-GGSUJEGZ.js";import{a as e}from"./runtime-chunk-NBYTQLIB.js";import{h as i}from"./runtime-chunk-HEZ7K3CW.js";import"./runtime-chunk-ZGFKGE5W.js";import"./runtime-chunk-2AEIM2G4.js";import"./runtime-chunk-TU4KDRKR.js";import{a as s,b as r}from"./runtime-chunk-DZNU62CT.js";import"./runtime-chunk-ODYXBVNJ.js";import"./runtime-chunk-RLNFCXMS.js";import"./runtime-chunk-U44V7VUP.js";import"./runtime-chunk-ABZUBC4Q.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{f as n,g as o}from"./runtime-chunk-NEOF7SBZ.js";import"./runtime-chunk-S6IQT6ZF.js";import"./runtime-chunk-RTLL6WIB.js";import{f as h}from"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-HUXCP2PU.js";import{a}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-JBTA64YE.js";import"./runtime-chunk-BVVSZMXD.js";import"./runtime-chunk-ML3Z74BL.js";var c=class{constructor(t,e,i,s,r,o){this.id=t,this.data=e,this.object=i,this.scrollCounter=0,this.actions=n(e,e.actions,s,r,o,i)}connect(){this.scrollCounter=0,this.actions.TimelineAnimation.forEach(t=>t.seek(0))}disconnect(){o(this.actions)}dispatch(t){this.actions.Transition.forEach(t=>{t.object.currentTransitionEvent!==this&&(t.object.currentTransitionEvent=this,t.init())});let e=t>0?1:-1;this.scrollCounter+=e,this.scrollCounter=Math.min(Math.max(this.scrollCounter,0),this.data.steps);let i=this.scrollCounter/this.data.steps;this.actions.Transition.forEach(t=>t.seek(i)),this.actions.Animation.forEach(t=>t.seek(e)),this.actions.TimelineAnimation.forEach(t=>t.seek(i)),this.actions.Create.forEach(t=>t.dispatchThrottled()),this.actions.SetVariable.forEach(t=>t.checkConditions()),this.actions.SetVariable.forEach(t=>t.dispatch()),this.actions.DynamicVariablePlay.forEach(t=>t.dispatch()),this.actions.ClearLocalStorage.forEach(t=>t.dispatch()),this.actions.UserAPI.forEach(t=>t.dispatch())}dispatchUserEvent(t){this.actions.Transition.forEach(t=>{t.object.currentTransitionEvent!==this&&(t.object.currentTransitionEvent=this,t.init())}),t?(this.actions.Transition.forEach(t=>t.reverseFromCurrent()),this.actions.Animation.forEach(t=>t.reverseFromCurrent()),this.actions.TimelineAnimation.forEach(t=>t.reverseFromCurrent())):(this.actions.Transition.forEach(t=>{t.playFromCurrent()}),this.actions.Animation.forEach(t=>{t.playFromCurrent()}),this.actions.TimelineAnimation.forEach(t=>{t.playFromCurrent()})),this.actions.Create.forEach(t=>t.dispatchThrottled()),this.actions.SetVariable.forEach(t=>t.checkConditions()),this.actions.SetVariable.forEach(t=>t.dispatch()),this.actions.DynamicVariablePlay.forEach(t=>t.dispatch()),this.actions.ClearLocalStorage.forEach(t=>t.dispatch()),this.actions.UserAPI.forEach(t=>t.dispatch())}},l=class{constructor(t,e,i,s,r,o,h){this.id=t,this.data=e,this.object=i,this.domElement=o,this.eventManager=h,this.scrollStart=0,this.scrollEnd=0,this.deferred=new Set,this.settleDriver={update:()=>this.settleDeferred()},this.actions=n(e,e.actions,s,r,h,i)}getStickyParentElement(){let t=this.domElement;for(;t;){if("sticky"===window.getComputedStyle(t).position)return t;t=t.parentElement}return null}computeScrollBounds(){let t=this.getStickyParentElement(),e=t?.parentElement,i=this.domElement.getBoundingClientRect(),s={top:i.top,bottom:i.bottom,left:i.left,right:i.right,width:i.width,height:i.height};if(e){let r=e.getBoundingClientRect(),n=window.getComputedStyle(t),o=parseFloat(n.marginTop)+parseFloat(n.marginBottom),h=parseFloat(n.top),a=parseFloat(n.bottom),c=r.height-o;if(isNaN(h)){if(!isNaN(a)){let t=document.body.clientHeight??window.innerHeight,e=window.innerWidth-(document.documentElement.clientWidth??window.innerWidth);i.bottom===t-a?(s.top+=r.top-i.height+a+e,s.bottom+=r.top-i.height+a+e):i.bottom<t-a&&(s.top-=c-i.height,s.bottom-=c-i.height)}}else i.top===h?(s.top+=r.top-h,s.bottom+=r.top-h):i.top<0&&(s.top-=c-i.height,s.bottom-=c-i.height)}let r=document.body,n=document.documentElement,o=window.pageYOffset||n.scrollTop||r.scrollTop,h=n.clientTop||r.clientTop||0,a=Math.round(s.top+o-h);if("enter"===this.data.startFrom){let t=window.innerHeight,e=s.height,i=this.data.enterAnchor,r="top"===i?t:"bottom"===i?t-e:t-.5*e;this.scrollStart=a-r}else this.scrollStart=0;this.scrollStart+=this.data.startOffset??0,this.scrollEnd=this.scrollStart+(this.data.endAfter??400),this.box=s}connect(){this.computeScrollBounds(),this.settle()}disconnect(){t.remove(this.settleDriver),this.deferred.clear(),o(this.actions)}handleResize(){this.computeScrollBounds(),this.settle()}settle(){this.computeScroll({x:window.scrollX,y:window.scrollY},{settle:!0})}settleDeferred(){let e=[...this.deferred].filter(t=>!t.contested);e.length&&(e.forEach(t=>this.deferred.delete(t)),this.seekTransitions(e,this.scaleAt(window.scrollY))),0===this.deferred.size&&t.remove(this.settleDriver)}scaleAt(t){let e=this.scrollEnd-this.scrollStart;return Math.min(1,Math.max(0,(t-this.scrollStart)/e))}seekTransitions(t,e){t.forEach(t=>{t.object.currentTransitionEvent!==this&&(t.object.currentTransitionEvent=this,t.init())}),t.forEach(t=>t.seek(e))}get isInvalidBox(){return void 0===this.box||0===this.box.width&&0===this.box.height&&0===this.box.top&&0===this.box.bottom}computeScroll({x:e,y:i},{settle:s=!1}={}){let r=this.actions.Transition;s?(r=r.filter(t=>!t.contested||(this.deferred.add(t),!1)),this.deferred.size&&t.add(this.settleDriver)):(this.deferred.clear(),t.remove(this.settleDriver));let n=this.scaleAt(i);this.seekTransitions(r,n),this.actions.Animation.forEach(t=>t.seek(n)),this.actions.TimelineAnimation.forEach(t=>t.seek(n)),this.actions.Create.forEach(t=>t.dispatchThrottled()),this.actions.SetVariable.forEach(t=>t.checkConditions()),this.actions.SetVariable.forEach(t=>t.dispatch()),this.actions.DynamicVariablePlay.forEach(t=>t.dispatch()),this.actions.ClearLocalStorage.forEach(t=>t.dispatch()),this.actions.UserAPI.forEach(t=>t.dispatch())}dispatch(t){this.isInvalidBox&&this.computeScrollBounds(),this.computeScroll(t)}dispatchUserEvent(t){this.actions.Transition.forEach(t=>{t.object.currentTransitionEvent!==this&&(t.object.currentTransitionEvent=this,t.init())}),t?(this.actions.Transition.forEach(t=>t.reverseFromCurrent()),this.actions.Animation.forEach(t=>t.reverseFromCurrent()),this.actions.TimelineAnimation.forEach(t=>t.reverseFromCurrent())):(this.actions.Transition.forEach(t=>{t.playFromCurrent()}),this.actions.Animation.forEach(t=>{t.playFromCurrent()}),this.actions.TimelineAnimation.forEach(t=>{t.playFromCurrent()})),this.actions.Create.forEach(t=>t.dispatchThrottled()),this.actions.SetVariable.forEach(t=>t.checkConditions()),this.actions.SetVariable.forEach(t=>t.dispatch()),this.actions.DynamicVariablePlay.forEach(t=>t.dispatch()),this.actions.ClearLocalStorage.forEach(t=>t.dispatch()),this.actions.UserAPI.forEach(t=>t.dispatch())}},d=class extends s{constructor(t,i){super(t),this.managers=i,this.wheelEventsPerObject=new Map,this.scrollEventsPerObject=new Map,this.isInview=!0,this.handleResize=()=>{[...this.scrollEventsPerObject.entries()].forEach(([t,e])=>{e.forEach(t=>t.handleResize())})},this.onScroll=t=>{if(!this.isInview)return;let e={y:window.scrollY,x:window.scrollX};[...this.scrollEventsPerObject.entries()].forEach(([t,i])=>{t.dispatchEvent({type:"beginEvent",eventName:"Scroll",scroll:e}),i.forEach(t=>t.dispatch(e))})},this.onWheel=t=>{!this.isInview||t.ctrlKey||[...this.wheelEventsPerObject.entries()].forEach(([e,i])=>{e.dispatchEvent({type:"beginEvent",eventName:"Scroll",deltaY:t.deltaY}),i.forEach(e=>e.dispatch(t.deltaY))})},this.onUserEvent=({eventName:t,target:i,reverse:s})=>{if(!t||!i)return;let r=e(t);r&&"Scroll"===r&&(i.dispatchEvent({type:"beginEvent",eventName:"Scroll"}),this.wheelEventsPerObject.get(i)?.forEach(t=>{t.dispatchUserEvent(s)}))}}connect(){let{page:t,sharedAssets:e,domElement:s,isExport:r}=this.eventContext,n=i=>{if(i.data?.events.length)for(let{id:n,data:o}of i.data.events)if(!o.disabled&&"Scroll"===o.type)if("load"!==o.trigger&&r){let r=new l(n,o,i,t,e,s,this.managers);this.scrollEventsPerObject.has(i)?this.scrollEventsPerObject.get(i)?.push(r):this.scrollEventsPerObject.set(i,[r])}else{let s=new c(n,o,i,t,e,this.managers);this.wheelEventsPerObject.has(i)?this.wheelEventsPerObject.get(i)?.push(s):this.wheelEventsPerObject.set(i,[s])}};t.traverseEntity(t=>{(h(t)||t instanceof i)&&t.frame?.traverse(t=>{n(t)}),n(t)}),this.intersectionObserver=new IntersectionObserver(t=>{let e=t[0];e&&(this.isInview=e.isIntersecting)},{root:null}),this.intersectionObserver.observe(this.eventContext.domElement),[...this.wheelEventsPerObject.entries()].forEach(([t,e])=>{e.forEach(t=>t.connect()),t.addEventListener("userEvent",this.onUserEvent)}),[...this.scrollEventsPerObject.entries()].forEach(([t,e])=>{e.forEach(t=>t.connect()),t.addEventListener("userEvent",this.onUserEvent)}),[...this.wheelEventsPerObject.values()].some(t=>t.length)&&(this.domEventsNeeded.add("wheel"),window.addEventListener("wheel",this.onWheel)),[...this.scrollEventsPerObject.values()].some(t=>t.length)&&(this.domEventsNeeded.add("scroll"),window.addEventListener("scroll",this.onScroll),window.addEventListener("resize",this.handleResize))}disconnect(){window.removeEventListener("wheel",this.onWheel),window.removeEventListener("scroll",this.onScroll),window.removeEventListener("resize",this.handleResize),this.intersectionObserver.unobserve(this.eventContext.domElement),this.domEventsNeeded.clear(),[...this.wheelEventsPerObject.entries()].forEach(([t,e])=>{e.forEach(t=>t.disconnect()),t.removeEventListener("userEvent",this.onUserEvent)}),[...this.scrollEventsPerObject.entries()].forEach(([t,e])=>{e.forEach(t=>t.disconnect()),t.removeEventListener("userEvent",this.onUserEvent)})}};r("Scroll",({eventContext:t,eventManager:e})=>new d(t,e)),a("scroll");
Binary file
Binary file
@@ -1 +0,0 @@
1
- import{k as m}from"./runtime-chunk-LUNJ7SLO.js";import"./runtime-chunk-WL2OAQWT.js";import"./runtime-chunk-5NERARRS.js";import"./runtime-chunk-ZVGRIWWN.js";import"./runtime-chunk-AL2HGNMV.js";import"./runtime-chunk-RLNFCXMS.js";import"./runtime-chunk-EX3V3BQE.js";import"./runtime-chunk-U44V7VUP.js";import"./runtime-chunk-ABZUBC4Q.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import"./runtime-chunk-S6IQT6ZF.js";import"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-HUXCP2PU.js";import{a as n,f as r}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-JBTA64YE.js";import"./runtime-chunk-BVVSZMXD.js";import"./runtime-chunk-ML3Z74BL.js";r("ShapeBlendGeometry",(n,r,t)=>new m(n,r,t)),n("shape-blends");
Binary file
Binary file
@@ -1 +0,0 @@
1
- import{a as t}from"./runtime-chunk-5NERARRS.js";import{a as e,b as i}from"./runtime-chunk-DZNU62CT.js";import{a as s}from"./runtime-chunk-VAVYZ35B.js";import{c as n}from"./runtime-chunk-FQNSP44B.js";import"./runtime-chunk-ABZUBC4Q.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import"./runtime-chunk-S6IQT6ZF.js";import"./runtime-chunk-RTLL6WIB.js";import"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-HUXCP2PU.js";import{a as r,f as a}from"./runtime-chunk-TZCHGFVF.js";import{D as o,Ga as h}from"./runtime-chunk-JBTA64YE.js";import{Dc as l,Fc as p,Gc as u,Sc as d,Vc as c,Vd as g,bd as m,dd as x,kd as v,l as y,ld as I,rd as M}from"./runtime-chunk-BVVSZMXD.js";import"./runtime-chunk-ML3Z74BL.js";var f=class extends t{constructor(t,e,i){super(t,e,i),this.data=e}},C=class extends d{constructor(){super(),this.caretIndex=0,this._caretVisibleAlpha=1,this._selectionVisibleAlpha=.3,this.current={start:0,end:void 0},this.matrixAutoUpdate=!1,this.caretMesh=new I(new g(1,1),new v({transparent:!0,opacity:0,side:y})),this.add(this.caretMesh),this.selectionMesh=new I(new g(1,1),new v({color:2857471,transparent:!0,depthTest:!1,depthWrite:!1,opacity:0,side:y})),this.add(this.selectionMesh),this.hide()}get caretHeight(){return this.object?.AD??0}show(t){this.visible=!0,this.object=t,this.caretMesh.scale.set(1,this.caretHeight,1),this.caretMesh.position.y=.5*-this.caretHeight,this.setCaretPosition(this.caretIndex),this.update()}hide(){this.visible=!1}update(){if(void 0===this.object)return;this.updateHelperMatrix();let{depth:t}=this.object.geometry.userData.parameters;this.caretMesh.position.z=t,this.selectionMesh.position.z=t}updateHelperMatrix(){if(void 0===this.object)return;let t=this.object,e=t.parent;null!==e&&e.updateWorldMatrix(!0,!1),t.matrixAutoUpdate&&t.updateMatrix(),null!==e?(this.matrixWorld.multiplyMatrices(e.matrixWorld,t.hiddenMatrix),this.matrixWorld.multiplyMatrices(this.matrixWorld,t.matrix)):this.matrixWorld.multiplyMatrices(t.hiddenMatrix,t.matrix),this.matrix.copy(this.matrixWorld);for(let t of this.children)t.matrixWorld.copy(this.matrixWorld);t.updateWorldMatrix(!0,!0)}setCaretColor(t){let e=this.caretMesh.material;e.color.setRGB(t.r,t.g,t.b);let i=this._caretVisibleAlpha===e.opacity;this._caretVisibleAlpha=t.a,i&&(e.opacity=this._caretVisibleAlpha)}setSelectionColor(t){this.selectionMesh.material.color.setRGB(t.r,t.g,t.b)}setCaretPosition(t,e={}){if(void 0===this.object)return;this.caretIndex=t;let i=this.object.wrappedText,[s,n]=_(i,t),[r,a]=t>0?_(i,t-1):[null,null];"\n"===(t>0&&i.length?i[r].charAt(a):null)&&(s++,n=0),this.current.start=t,this.current.end=void 0;let[o,h]=b(this.object,s,n),{AD:l,descender:p}=this.object,u=p+.5*l,{width:d,height:c,depth:g}=this.object.geometry.userData.parameters,m="string"==typeof d?0:d,x="string"==typeof c?0:c;this.caretMesh.scale.set(1,this.caretHeight,1),this.caretMesh.position.set(o-.5*m,h+u+.5*x,g),this.hideSelectionMesh(),this.showCaretMesh()}setSelection(t,e){if(void 0===this.object)return;let i=this.object.wrappedText;this.current.start=t,this.current.end=e;let s=[],n=[],r=function(t,e,i){let[s,n]=_(t,e),[r,a]=_(t,i),o=[];n>=t[s].length&&(s++,n=0);for(let e=s;e<=r;e++){let i=t[e],h=e===s?n:0,l=e===r?a:i.length;o.push([e,h,l])}return o}(i,t,e),{lineHeight:a,AD:o,descender:h}=this.object,l=h+.5*o-.5*a;for(let[t,e,i]of r)if(e!==i){let[r,o]=b(this.object,t,e),[h,p]=b(this.object,t,i),u=o,d=p;u+=l,d+=l,d+=a;let c=s.length/3;s.push(r,u,0),s.push(h,u,0),s.push(h,d,0),s.push(r,d,0),n.push(c+0,c+1,c+2),n.push(c+2,c+3,c+0)}let p=new x;p.setIndex(n),p.setAttribute("position",new m(s,3));let{width:u,height:d,depth:c}=this.object.geometry.userData.parameters,g="string"==typeof u?0:u,v="string"==typeof d?0:d;this.selectionMesh.geometry.dispose(),this.selectionMesh.geometry=p,this.selectionMesh.position.x=.5*-g,this.selectionMesh.position.y=.5*v,this.selectionMesh.position.z=c,this.showSelectionMesh(),this.hideCaretMesh()}getSelectionFromPosition(t,e,i="previous"){if(void 0===this.object||void 0===this.object.font)return;let s=this.object.wrappedText,n=s.length,r=this.object.lineHeight,a=n*r,{height:o,verticalAlign:h}=this.object.geometry.userData.parameters,l="string"==typeof o?0:o,p=0;3===h?p=l-a:2===h&&(p=.5*l-.5*a);let u=Math.min(Math.floor(Math.max(Math.min(-e-p,a),0)/r),n-1),d=this.object.charCoords[u],c=this.object.charWidths[u],g=0,m=!1;if("previous"===i){for(let e=0;e<d.length;e++)if(d[e][0]+.5*c[e]-t>0){g=e,m=!0;break}}else if("closest"===i){let e=1/0;for(let i=0;i<d.length;i++){let s=d[i][0]+.5*c[i],n=Math.abs(s-t);n<e&&(e=n,g=i,m=!0)}}else for(let e=0;e<d.length;e++){let i=d[e][0],s=d[e][0]+c[e];if(t>=i&&t<s){g=e,m=!0;break}}return m||(g=d.length),{index:this.getGlobalIndexFromLineAndCharIndexes(s,u,g),lineIndex:u,characterIndex:g}}getGlobalIndexFromLineAndCharIndexes(t,e,i){return t.slice(0,e).reduce((t,e)=>t+e.length,0)+i}showSelectionMesh(){this.selectionMesh.material.opacity=this._selectionVisibleAlpha}hideSelectionMesh(){this.selectionMesh.material.opacity=0}showCaretMesh(){this.caretMesh.material.opacity=this._caretVisibleAlpha}hideCaretMesh(){this.caretMesh.material.opacity=0}};function b(t,e,i){let{charCoords:s,charWidths:n,initialOffsetY:r,lineHeight:a}=t;if(s[e]&&0===s[e].length||0===s.length){let i=0,{horizontalAlign:s}=t.data.geometry,n=t.wrappedText,{width:o}=t.geometry.userData.parameters;return 1===n.length&&0===n[0].length&&(3===s?i=.5*o:2===s&&(i=o)),[i,r-a*e]}let o=s[e];if(void 0===o||0===o.length)return[0,0];let[h,l]=o[Math.min(i,o.length-1)],p=h;return i>=o.length&&(p+=n[e][i-1]),[p,l]}function _(t,e){let i=0;for(let s=0;s<t.length;s++){let n=t[s],r=e-i;if(r<=n.length)return[s,r];i+=n.length}return[Math.max(0,t.length-1),t[t.length-1]?.length??0]}function w(t,e){return"string"==typeof t?e.data.colors[t]:t}function k(t){return t.colors[0]}var E=class{constructor(){this._clickCount=0,this._lastTime=0,this._lastPosition=[0,0],this._delay=500,this._distance=2,this._onMouseDown=t=>{let e=[t.clientX,t.clientY],i=(new Date).getTime();if(this._clickCount>0){let t=e[0]-this._lastPosition[0],i=e[1]-this._lastPosition[1];Math.sqrt(t*t+i*i)>this._distance&&(this._clickCount=0)}this._lastPosition=e,this._clickCount=i-this._lastTime>this._delay?1:this._clickCount+1,this._lastTime=i},this._onMouseUp=t=>{}}start(t,e=500,i=2){this._target&&this.stop(),this.reset(),this._delay=e,this._distance=i,this._target=t,this._target.addEventListener("pointerdown",this._onMouseDown,!1),this._target.addEventListener("pointerup",this._onMouseUp,!1)}stop(){this._target&&(this._target.removeEventListener("pointerdown",this._onMouseDown,!1),this._target.removeEventListener("pointerup",this._onMouseUp,!1),this._target=void 0)}get clickCount(){return this._clickCount}reset(){this._clickCount=0,this._lastTime=0,this._lastPosition=[0,0]}},j=new p(0,0,1),T=new p,D=new p,S=new u,A=class{constructor(t,e,i,s,n){this.containerScene=t,this.raycaster=e,this.sharedAssets=i,this.requestRender=s,this.onExit=n,this.htmlInput=null,this.virtualInput=null,this.helper=new C,this.doubleClickHandler=new E,this.isDragging=!1,this.plane=new M,this.caretInterval=0,this.planeIntersection=new p,this.projected=new l,this._lastIndex=0,this._isFirstDragMove=!1,this.selectionOnDragStart=0,this.onTextMaterialChanged=()=>{let t=this.virtualInput?.data;if(void 0!==this.virtualInput&&t){let e=t.material,i=function(t,e){let i=o.fromHex(3223857),s=.8;for(let n of t.layers){if("light"===n.data.type||"displace"===n.data.type||"fresnel"===n.data.type||"dust"===n.data.type||"matcap"===n.data.type||"texture"===n.data.type||"toon"===n.data.type||"outline"===n.data.type||"transmission"===n.data.type||"noise"===n.data.type||"vertexColor"===n.data.type)continue;let t="string"==typeof n.data.alpha?Number(e.getVariable(n.data.alpha)):n.data.alpha;if("color"===n.data.type&&t>.3){i=w(n.data.color,e),s=t;break}if(("depth"===n.data.type||"gradient"===n.data.type)&&t>.3){let t=k(n.data);i={r:t[0],g:t[1],b:t[2]},s="string"==typeof n.data.alpha?1:n.data.alpha;break}}return{...i,a:s}}("string"==typeof e?this.sharedAssets.data.materials[e]:e,this.sharedAssets);this.helper.setCaretColor(i)}},this.stopAnimateTextCursor=()=>{clearInterval(this.caretInterval),this.helper&&(this.helper.caretMesh.visible=!1)},this.startAnimateTextCursor=()=>{this.stopAnimateTextCursor(),this.helper&&(this.helper.caretMesh.visible=!0,this.caretInterval=setInterval(()=>{this.helper&&(this.helper.caretMesh.visible=!this.helper.caretMesh.visible),this.requestRender()},600))},this.handleCaretUpdate=t=>{if(!this.htmlInput||!this.virtualInput)return;let e=this.helper,i="ArrowLeft"===t?.key||"ArrowRight"===t?.key,s="ArrowUp"===t?.key||"ArrowDown"===t?.key;this.htmlInput.selectionStart===this.htmlInput.selectionEnd?(e.setCaretPosition(this.htmlInput.selectionStart,{horizontalKeyMove:i,verticalKeyMove:s}),this.startAnimateTextCursor()):e.setSelection(this.htmlInput.selectionStart,this.htmlInput.selectionEnd),this.requestRender()},this.containerScene.add(this.helper)}createInput(){return this.htmlInput=function(){let t=document.createElement("textarea");return t.style.position="fixed",t.style.top="200px",t.style.left="400px",t.style.zIndex="-1",t.style.border="1px solid rgba(255,0,0,0.5)",t.style.width="10px",t.style.height="500px",t.style.color="white",t.style.opacity="0.5",t.style.background="transparent",t.style.display="none",t.style.margin="0px",t.style.padding="0px",t.style.boxSizing="content-box",t.style.pointerEvents="none",t}(),this.htmlInput}connect(){}disconnect(){this.stopAnimateTextCursor(),this.helper.hide(),this.htmlInput?.remove(),this.doubleClickHandler.stop()}handleMouseDown(){if(!this.htmlInput||!this.virtualInput)return!0;this.getPointOnPlane();let t=this.doubleClickHandler.clickCount,e=this.helper.getSelectionFromPosition(this.projected.x,this.projected.y,t>1?"inside":"previous")??{index:0,lineIndex:0,characterIndex:0},{lineIndex:i}=e,{index:s,characterIndex:n}=e;this.virtualInput?.wrappedText?.length&&"\n"===this.virtualInput.wrappedText[i][Math.max(0,n-1)]&&(s--,n--),this._lastIndex=s,this._isFirstDragMove=!0;let r=this.checkClickedObject();if(1===t){if(null===r)return this.onExit(this.virtualInput),!0;this.selectionOnDragStart=s,this.isDragging=!0,this.setInputSelection(s)}else r===this.virtualInput&&(2===t?this.selectClosestWord(i,n):t>2&&(this.setInputSelection(0,this.htmlInput.value.length),this.doubleClickHandler.reset()))}handleMouseUp(){this.applyRangeToTextInput(),this.isDragging=!1,this._isFirstDragMove=!1}handleMouseMove(){!this.virtualInput||(this._isFirstDragMove&&this.doubleClickHandler.clickCount>1&&(this.selectionOnDragStart=this._lastIndex,this.isDragging=!0,this.setInputSelection(this._lastIndex)),this._isFirstDragMove=!1,this.getPointOnPlane(),this.applyRangeToTextInput())}focus(t){if(this.virtualInput=t,this.updateTextInputStyles(),this.htmlInput)if(t){let t=this.data?.geometry.text;this.htmlInput.value="string"==typeof t?"":t?.textValue.toString()??""}else this.htmlInput.value=""}blur(){}get data(){let{virtualInput:t}=this;if(t)return t.dataPatched}applyRangeToTextInput(){if(!this.isDragging||!this.virtualInput||!this.htmlInput)return;let t=this.selectionOnDragStart,{index:e,lineIndex:i,characterIndex:s}=this.helper.getSelectionFromPosition(this.projected.x,this.projected.y,this.doubleClickHandler.clickCount>2?"inside":"previous")??{index:0},n=e;void 0!==i&&void 0!==s&&"\n"===this.virtualInput?.wrappedText[i][s-1]&&n--,this.htmlInput.setSelectionRange(Math.min(t,n),Math.max(t,n))}checkClickedObject(){if(this.virtualInput){let t=this.raycaster.intersectObject(this.virtualInput,!1);if(t.length>0){let e=t[0];if(e.object instanceof f)return e.object}}return null}selectClosestWord(t,e){if(!this.virtualInput)return;let i=this.virtualInput.wrappedText,s=i[t],n=e+1,r=e;" "!==s[e]&&(n=this.findNextCharOccurence(s,e,"forward"," "),r=this.findNextCharOccurence(s,e,"backward"," "),r>0&&r++,n>=s.length-1&&t===i.length-1&&n++);let a=this.helper,o=a.getGlobalIndexFromLineAndCharIndexes(i,t,r),h=a.getGlobalIndexFromLineAndCharIndexes(i,t,n);this.setInputSelection(o,h)}findNextCharOccurence(t,e,i,s=" "){let n=Math.max(0,t.length-1),r="forward"===i?n:0,a="forward"===i?1:-1,o=Math.max(Math.min(e,n),0);for(;o!==r;)if(o+=a,t.charAt(o)===s)return o;return r}getPointOnPlane(){let t=this.virtualInput?.data;if(this.virtualInput&&t&&this.raycaster.ray.intersectsPlane(this.plane)){null===this.planeIntersection&&(this.planeIntersection=new p);let e=this.raycaster.ray.intersectPlane(this.plane,this.planeIntersection);if(e){this.planeIntersection.copy(this.virtualInput.worldToLocal(e));let i="number"==typeof t.geometry.width?t.geometry.width:1,s="number"==typeof t.geometry.height?t.geometry.height:1;this.projected.set(e.x+.5*i,e.y-.5*s)}}}updatePlane(){let t=this.virtualInput?.data;this.virtualInput&&t&&(S.getNormalMatrix(this.virtualInput.matrixWorld),T.copy(j).applyMatrix3(S).normalize(),this.virtualInput.localToWorld(D.set(0,0,t.geometry.depth)),this.plane.setFromNormalAndCoplanarPoint(T,D))}setInputSelection(t,e=t){this.htmlInput?.setSelectionRange(t,e),n&&this.htmlInput?.focus(),setTimeout(()=>{this.htmlInput?.focus()})}updateTextInputStyles(){let t=this.virtualInput?.data;var e;this.virtualInput&&t&&this.htmlInput&&(this.htmlInput.style.fontSize=t.geometry.fontSize+"px",this.htmlInput.style.letterSpacing=t.geometry.letterSpacing*t.geometry.fontSize+"px",this.htmlInput.style.lineHeight=t.geometry.fontSize*t.geometry.lineHeight+"px",this.htmlInput.style.width=t.geometry.width+"px",this.htmlInput.style.height=t.geometry.height+"px",this.htmlInput.style.textAlign=4===(e=t.geometry.horizontalAlign)?"justify":2===e?"right":3===e?"center":"left")}},L=(t,e)=>{if("string"==typeof t){let i=e.data(t);if(i)return L(i.value,e)}return h.getDisplayedValue(t)};function U(t,e){let i=t.text,s="";if("string"==typeof i){let t=e.variables.data(s);t&&(s=L(t.value,e.variables))}else s=i.textValue.toString();return s}var H=class extends e{constructor(t,e){super(t),this.eventManager=e,this._textInputs=[],this.sceneHelpers=new c,this.helper=new C,this._onMouseDownFocusIn=t=>{if(s.length>1)return;this.eventContext.updateRaycaster(t);let e=null;if(this.eventContext.raycaster)for(let t of this._textInputs)if(this.eventContext.raycaster.intersectObject(t,!0).length>0){e=t;break}this.focusOnTextInput(e),this._onCaretUpdate(),this._onMouseUp(),this.textInputManager.doubleClickHandler.start(this.eventContext.domElement),this.textInputManager.doubleClickHandler._onMouseDown(t),this._onMouseDown(t)},this.onExit=()=>{let{virtualInput:t}=this.textInputManager;if(null===t)return;let e=this.textInputManager.htmlInput;this.helper.hide(),e?.setSelectionRange(e.value.length,e.value.length),this.eventManager.controlsManager.orbitControls&&(this.eventManager.controlsManager.orbitControls.enabled=!0);let{domElement:i}=this.eventContext;i.removeEventListener("pointerdown",this._onMouseDown,!1),i.removeEventListener("pointerup",this._onMouseUp,!1),i.removeEventListener("pointermove",this._onMouseMove,!1),window.removeEventListener("keydown",this._onKeyPress),this.textInputManager.doubleClickHandler.reset(),i.addEventListener("pointerdown",this._onMouseDownFocusIn),this.eventContext.renderer.sceneHelpersOnTop=void 0,this.eventContext.renderer.pipeline.disableHelpers()},this._onMouseDown=t=>{this.eventContext.updateRaycaster(t),this.textInputManager.handleMouseDown(),this.textInputManager.virtualInput&&this.eventContext.raycaster.intersectObject(this.textInputManager.virtualInput,!0).length>0&&this.eventManager.controlsManager.orbitControls&&(this.eventManager.controlsManager.orbitControls.enabled=!1)},this._onMouseUp=()=>{this.textInputManager.handleMouseUp(),this.eventManager.controlsManager.orbitControls&&!this.eventManager.controlsManager.orbitControls.enabled&&(this.eventManager.controlsManager.orbitControls.enabled=!0)},this._onMouseMove=t=>{this.eventContext.updateRaycaster(t),this.textInputManager.handleMouseMove()},this._onTextEdit=t=>{let{htmlInput:e,virtualInput:i,helper:s}=this.textInputManager;if(!e||!i)return;let n=e.value;i.textGeometry.setText(n,this.eventContext.sharedAssets).then(()=>{this.eventContext.requestRender()});let r=i.data;s.update();let a=r.geometry.text;if("string"==typeof a){let t=a;this.eventContext.sharedAssets.updateVariable(t,{textValue:n})}this.textInputManager.updateTextInputStyles(),this._onCaretUpdate()},this._onCaretUpdate=t=>{this.textInputManager.handleCaretUpdate(t)},this._onKeyPress=t=>{"Escape"===t.key&&this.onExit()},this.textInputManager=new A(this.sceneHelpers,t.raycaster,t.sharedAssets,t.requestRender,this.onExit)}connect(){let t=[];if(this.eventContext.scene.traverseEntity(e=>{e instanceof f&&t.push(e)}),this._textInputs=t,0===t.length)return;let{domElement:e}=this.eventContext;e.addEventListener("pointerdown",this._onMouseDownFocusIn),this.textInputManager.connect();let i=this.textInputManager.createInput();document.body.appendChild(i),i.style.display="none",i.addEventListener("keyup",this._onCaretUpdate),i.addEventListener("keydown",this._onCaretUpdate),i.addEventListener("beforeinput",this._onCaretUpdate),i.addEventListener("paste",this._onCaretUpdate),i.addEventListener("cut",this._onCaretUpdate),i.addEventListener("select",this._onCaretUpdate),i.addEventListener("selectstart",this._onCaretUpdate)}disconnect(){let t=this.textInputManager.htmlInput,{domElement:e,sharedAssets:i}=this.eventContext;e.removeEventListener("pointerdown",this._onMouseDownFocusIn),t?.removeEventListener("keyup",this._onCaretUpdate),t?.removeEventListener("keydown",this._onCaretUpdate),t?.removeEventListener("beforeinput",this._onCaretUpdate),t?.removeEventListener("paste",this._onCaretUpdate),t?.removeEventListener("cut",this._onCaretUpdate),t?.removeEventListener("select",this._onCaretUpdate),t?.removeEventListener("selectstart",this._onCaretUpdate),this._textInputs.forEach(t=>{let e=U(t.data.geometry,this.eventContext.sharedAssets.data);t.textGeometry.setText(e,i)}),e.removeEventListener("pointerdown",this._onMouseDown,!1),e.removeEventListener("pointerup",this._onMouseUp,!1),e.removeEventListener("pointermove",this._onMouseMove,!1),window.removeEventListener("keydown",this._onKeyPress),this.eventContext.renderer.sceneHelpersOnTop=void 0,this.eventContext.renderer.pipeline.disableHelpers(),this.textInputManager.disconnect()}focusOnTextInput(t){this.textInputManager.focus(t),this.textInputManager.onTextMaterialChanged();let e=this.textInputManager.htmlInput;if(!e||null===t)return;this.textInputManager.updateTextInputStyles(),this.eventContext.renderer.sceneHelpersOnTop=this.sceneHelpers,this.eventContext.renderer.pipeline.enableHelpers(),this.textInputManager.isDragging=!1;let i=U(t.textGeometry.userData.parameters,this.eventContext.sharedAssets.data);e.value=i,e.setSelectionRange(0,0),this.textInputManager.helper.show(t),e.style.display="block",e.addEventListener("input",this._onTextEdit),this.textInputManager.updatePlane();let{domElement:s}=this.eventContext;s.removeEventListener("pointerdown",this._onMouseDownFocusIn),s.addEventListener("pointerdown",this._onMouseDown,!1),s.addEventListener("pointerup",this._onMouseUp,!1),s.addEventListener("pointermove",this._onMouseMove,!1),window.addEventListener("keydown",this._onKeyPress)}};i("Textfields",({eventContext:t,eventManager:e})=>new H(t,e)),a("InputGeometry",(t,e,i)=>new f(t,e,i)),r("textinputs");
@@ -1 +0,0 @@
1
- import{a as e,c as t,d as i,e as a,f as n,g as s,j as r}from"./runtime-chunk-PNJ7AF7H.js";import"./runtime-chunk-S2A55QI5.js";import"./runtime-chunk-NTUTXO7Q.js";import"./runtime-chunk-HD7WF3XN.js";import{a as o}from"./runtime-chunk-F7Z2PGG5.js";import{a as l}from"./runtime-chunk-GGSUJEGZ.js";import{a as h,b as c}from"./runtime-chunk-ZGFKGE5W.js";import"./runtime-chunk-2AEIM2G4.js";import"./runtime-chunk-FTVQTRM7.js";import{a as d}from"./runtime-chunk-ODYXBVNJ.js";import"./runtime-chunk-AL2HGNMV.js";import"./runtime-chunk-RLNFCXMS.js";import"./runtime-chunk-U44V7VUP.js";import{ba as u,ha as p,ja as f}from"./runtime-chunk-ABZUBC4Q.js";import"./runtime-chunk-4YV3EXSU.js";import"./runtime-chunk-NSD7DU3P.js";import{b as m,e as y}from"./runtime-chunk-NEOF7SBZ.js";import{v as g}from"./runtime-chunk-S6IQT6ZF.js";import"./runtime-chunk-RTLL6WIB.js";import{d as v}from"./runtime-chunk-2PT2WH66.js";import"./runtime-chunk-HUXCP2PU.js";import{a as k}from"./runtime-chunk-TZCHGFVF.js";import{A as x,B as D,D as T,E as j,Ea as E,Ja as b,Ka as C,La as A,la as O,p as I,ua as w,z as M}from"./runtime-chunk-JBTA64YE.js";import{Bc as F,Cc as S}from"./runtime-chunk-BVVSZMXD.js";import"./runtime-chunk-ML3Z74BL.js";var N=Math.fround;function B(e){return"pingpong"===e||"pingpong-rewind"===e}var _=class{constructor(e){this.config=e,this.effectiveCycleDuration=this.cycleDuration(0)}layout(e){let{config:t}=this;if(B(t.direction)&&e%2==1)return{startDelay:0,endDelay:0};switch(t.delayDirection){case"start-once":return 0===e?{startDelay:t.delay,endDelay:0}:{startDelay:0,endDelay:0};case"start":return{startDelay:t.delay,endDelay:0};case"end":return{startDelay:0,endDelay:t.delay};default:return{startDelay:t.delay,endDelay:t.delay}}}cycleDuration(e){let{config:t}=this,{startDelay:i,endDelay:a}=this.layout(e);return N(t.duration+i+a)}get totalDuration(){let{config:e}=this;if(-1===e.repeat)return 1/0;let t=0;for(let i=0;i<=e.repeat;i++)t=N(t+this.cycleDuration(i));return t}isFinished(e){return e>=this.totalDuration}resolve(e){let t,i,{config:a}=this,n=N(e);if("start-once"===a.delayDirection){let e=N(a.delay+a.duration);if(n<e)t=0,i=n;else{let s=N(n-e);t=1+Math.floor(N(s/a.duration)),i=N(s%a.duration)}}else if(B(a.direction)){let e=this.cycleDuration(0),s=N(e+a.duration),r=Math.floor(N(n/s)),o=N(n%s);o<e?(t=2*r,i=o):(t=2*r+1,i=N(o-e))}else{let e=this.cycleDuration(0);t=Math.floor(N(n/e)),i=N(n%e)}if(-1!==a.repeat&&t>=a.repeat+1)return null;let s,{startDelay:r}=this.layout(t),o=B(a.direction)&&t%2==1,l=r,h=N(l+a.duration);if(i<l)s=o?a.duration:0;else if(i>=h)s=o?0:a.duration;else{let e=N(i-l);s=o?N(a.duration-e):e}return{cycleIndex:t,localTime:s,isReverse:o}}},G=Math.fround;function P(e){return[...e].sort((e,t)=>e.time-t.time)}function U(e){return{easing:e.type,control1:b(e.cubicControls?.control1,[0,0]),control2:b(e.cubicControls?.control2,[1,1]),...e.springParameters}}function L(e,t){let i=[];for(let a of e??[]){let e=t(a.data);void 0!==e&&i.push({time:a.data.time,ease:U(a.data.easing),value:e})}return{keyframes:P(i)}}function z(t,i){if(0===t.keyframes.length)return;let{index0:a,index1:n,t:s}=function(t,i){if(0===t.length)throw new Error("sampleKeyframes requires at least one keyframe");if(i<=t[0].time)return{index0:0,index1:0,t:1};let{found:a,index:n}=function(e,t){let i=e.length,a=0,n=i;for(;a<n;){let s=a+Math.floor(i/2),r=e[s].time;if(r<t)a=s+1;else{if(!(r>t))return{found:!0,index:s};n=s}i=n-a}return{found:!1,index:a}}(t,i);if(a)return{index0:n,index1:n,t:1};if(n>=t.length){let e=t.length-1;return{index0:e,index1:e,t:1}}let s=n-1,r=n,o=t[s].time,l=t[r].time;if(l===o)return{index0:s,index1:r,t:.5};let h=G(l-o),c={...t[s].ease,control2:t[r].ease.control2};return{index0:s,index1:r,t:e(c,h,G(G(i-o)/h))}}(t.keyframes,i),r=t.read;if(r&&r.index0===a&&r.index1===n&&r.t===s)return;let o={index0:a,index1:n,from:t.keyframes[a].value,to:t.keyframes[n].value,t:s};return t.read=o,o}function V(e){e.read=void 0}function Z(e,t,i){return e+(t-e)*i}function R(e,t,i){!e||(e[t]={...e[t],...i})}function X(e,s,r,l,u,p,m){let y=()=>{m.transform=!0,m.bounds=!0,m.boolean=!0,m.render=!0};switch(e.on){case"position":case"scale":{let t=z(e.track,r);if(!t)return;let i=Z(t.from,t.to,t.t);return s[e.on][e.axis]=i,R(p,e.on,{[e.axis]:i}),void y()}case"rotation":{let t=z(e.track,r);if(!t)return;let i=Z(t.from,t.to,t.t);return s.rotation[e.axis]=i*S.DEG2RAD,R(p,"rotation",{[e.axis]:i}),void y()}case"shapeSize":{let t=z(e.track,r);if(!(t&&s instanceof f))return;let i=Z(t.from,t.to,t.t);return s.userData.value={...s.userData.value,[e.axis]:i},R(p,"shapeSize",{[e.axis]:i}),m.size=!0,m.bounds=!0,m.boolean=!0,void(m.render=!0)}case"opacity":{let t=z(e.track,r);if(!t||!(s instanceof g)||Array.isArray(s.material))return;let i=s.material.getLayersOfType("light")[0];if(void 0===i)return;let a=S.lerp(t.from,t.to,t.t);return s.material.transparent=!0,n("alphaOverride",i,{alphaOverride:a},{alphaOverride:a+1},0,l.shared),p&&(p.opacity=a),void(m.render=!0)}case"material":{let t=z(e.track,r);if(!t||0===Object.keys(t.from).length||0===Object.keys(t.to).length)return;let{layer:i}=e,a={};for(let e in i.data){if(!(e in t.from)||!(e in t.to))continue;let r=H(t.from[e],t.to[e],t.t,u);if(void 0===r)continue;a[e]=r;let o=i.getValue(e);void 0!==o&&("alpha"===e&&"number"==typeof o&&o>0&&s instanceof g&&!Array.isArray(s.material)&&(s.material.transparent=!0),n(e,i,t.from,t.to,t.t,l.shared))}return R(p,"material",{[i.uuid]:a}),void(m.render=!0)}case"light":{let t=z(e.track,r);if(!t||!(s instanceof h||s instanceof o||s instanceof c))return;let i=H(t.from,t.to,t.t,u);return s[e.field]=i,R(p,"light",{[e.field]:i}),void(m.render=!0)}case"camera":{let t=z(e.track,r);if(!(t&&s instanceof d))return;let i=Z(t.from,t.to,t.t);return s[e.field]=i,void R(p,"camera",{[e.field]:i})}case"cloner":{let t=z(e.track,r);if(!t)return;let n=s.cloner?.parameters,o=i(n,t.from,t.to,t.t);return a(n,o),R(p,"cloner",o),m.cloner=!0,m.boolean=!0,void(m.render=!0)}case"pathExtrusion":{let i=z(e.track,r);if(!i||!v(s))return;let a=t(O,i.from,i.to,i.t),n=s.geometry.userData.parameters;return n.extrusion={...n.extrusion,...a},R(p,"pathExtrusion",a),s.updateGeometryInteractions({extrusion:{...n.extrusion}},l.shared),m.bounds=!0,m.boolean=!0,void(m.render=!0)}case"pathSnapping":{let i=z(e.track,r);if(!i)return;let a=s,n=t(w,i.from,i.to,i.t);return a.userData.pathSnapping={...a.userData.pathSnapping,...n},R(p,"pathSnapping",n),a.updatePathSnapping(a.userData.pathSnapping),void(m.render=!0)}}}function H(e,t,i,a){if("string"==typeof e&&a&&(e=a.color(e)),"string"==typeof t&&a&&(t=a.color(t)),"number"==typeof e)return S.lerp(e,t,i);if(j.is(e))return j.lerp(e,t,i);if(T.is(e))return T.lerp(e,t,i);if(Array.isArray(e))return(e.length>t.length?t:e).map((a,n)=>{if(Array.isArray(a)){let a=e[n].length>t[n].length?t[n].length:e[n].length;return(4===a?D:3===a?x:M).lerp(e[n],t[n],i)}return S.lerp(e[n],t[n],i)});if("object"==typeof e&&null!==e){let n={};for(let s in e){let r=H(e[s],t[s],i,a);void 0!==r&&(n[s]=r)}return n}}var J=new Map,Q=new Map,K=class extends F{constructor(e,t,i,a,n,s,r){super(),this.id=e,this.data=t,this.scene=i,this.sharedAssets=a,this.object=n,this.eventType=s,this.actionCondition=r,this.evaluators=[],this.elapsed=0,this.lastTime=null,this.direction=1,this._playing=!1,this._finished=!1,this.hasPlayedOnce=!1,this.pauseOnNextCycleEnd=!1,this.lastCycleIndex=0;try{let e=E.findTimeline(this.scene.data.objects,this.data.timeline),t=e.duration;this.animatedObjectIds=Object.keys(e.objectTimelines),this.animatedObjectIds.forEach(n=>{let s=this.scene.find(n);if(!s)return;let r=e.objectTimelines[n];!r||this.evaluators.push(function(e,t,i,a,n){let s=function(e,t){let i=[];return C.groupKeyframes(t.keyframes).forEach(t=>{let a=t.path?.[0],n=t.path[1],s=()=>L(t.keyframes,e=>e.value);switch(a){case"position":case"rotation":case"scale":return void(n&&A.includes(n)&&i.push({on:a,axis:n,track:s()}));case"shape size":return void(n&&A.includes(n)&&"geometry"in e&&i.push({on:"shapeSize",axis:n,track:s()}));case"path extrusion":return void(v(e)&&i.push({on:"pathExtrusion",track:L(t.keyframes,e=>e.value)}));case"path snapping":return void(e.data.pathSnapping&&i.push({on:"pathSnapping",track:L(t.keyframes,e=>e.value)}));case"material":return void("Mesh"===e.type&&"material"in e&&function(e,t){let i=p(e.material)?e.material:void 0,a=t.layerId;if(!i||!a)return[];let n=t.keyframes.some(e=>u(e.data.value?.noiseStrength)),s=i.ensureRainbowNoiseCompiled,r=e=>{n&&"function"==typeof s&&s.call(i,e)},o=e=>"data"in e?[{on:"material",layer:e,track:L(t.keyframes,e=>e.value)}]:[];r(a);let l=i.getLayerByUuid(a);if(l)return o(l);let h=t.path[1];for(let e of i.getLayersOfType(h))r(e.uuid);return(i.getLayersOfType(h)??[]).flatMap(o)}(e,t).forEach(e=>i.push(e)));case"opacity":return void("Mesh"===e.type&&"material"in e&&i.push({on:"opacity",track:s()}));case"cloner":return void i.push({on:"cloner",track:L(t.keyframes,e=>e.value)});case"camera":return void(e instanceof d&&i.push({on:"camera",field:"zoom",track:s()}));case"light":return void((e instanceof h||e instanceof o||e instanceof c)&&i.push({on:"light",field:t.path[1],track:L(t.keyframes,e=>e.value)}))}}),i}(e,t);return{duration:i,evaluate(t,i){e.resetBBoxNeedsUpdate();let r={transform:!1,size:!1,cloner:!1,bounds:!1,boolean:!1,render:!1};for(let o of s)X(o,e,t,a,n,i,r);!function(e,t,i){if(t.size&&e instanceof f){let{x:t,y:a,z:n}=e.userData.value;e.updateGeometryInteractions({width:t,height:a,depth:n},i.shared)}t.cloner&&e.cloner?.update(i),t.transform&&e.updateMatrix(),t.bounds&&e.resetBBoxNeedsUpdate(),t.boolean&&e instanceof f&&e.invalidateDownstreamBooleanData(),t.render&&e.dispatchEvent({type:"requestRender"})}(e,r,a)},invalidate(){for(let e of s)V(e.track)}}}(s,{...r},t,{scene:i,shared:a},this.sharedAssets))}),this.schedule=new _((l=this.data,{duration:t,delay:N(l.delay/1e3),delayDirection:l.delayDirection??"start-end",direction:l.direction??"normal",repeat:l.repeat}))}catch(e){throw new Error("Missing property")}var l;n&&(Q.has(n.uuid)?Q.get(n.uuid).push(this):Q.set(n.uuid,[this])),J.set(e,this)}get playing(){return this._playing}get finished(){return this._finished}get paused(){return!this._playing}update(e){null!==this.lastTime&&(this.elapsed=Math.max(0,this.elapsed+(e-this.lastTime)*this.direction)),this.lastTime=e,this.applyAtElapsed()}applyAtElapsed(){if(-1===this.direction&&0===this.elapsed)return void this.pause();let e=this.schedule.resolve(this.elapsed);if(e){if(e.cycleIndex!==this.lastCycleIndex&&(this.lastCycleIndex=e.cycleIndex,this.pauseOnNextCycleEnd))return this.pauseOnNextCycleEnd=!1,void this.pause();for(let t of this.evaluators)t.evaluate(e.localTime)}else 1===this.direction&&this.schedule.isFinished(this.elapsed)&&this.finish()}finish(){this.pause(),this._finished=!0,this.animatedObjectIds.forEach(e=>{let t=this.scene.find(e);t instanceof d&&t.dispatchEvent(r)})}startTicking(){this._playing=!0,this.lastTime=null;for(let e of this.evaluators)e.invalidate();l.add(this)}play(){let e=void 0!==this.eventType&&I(this.eventType)&&"Once"===this.data.runMode&&this.hasPlayedOnce&&this.paused&&this.elapsed>0&&!this._finished;if(void 0!==this.eventType&&I(this.eventType)&&"Once"===this.data.runMode&&this.hasPlayedOnce&&!e||void 0===this.eventType&&this._finished)return!1;this.hasPlayedOnce=!0,this.animatedObjectIds.forEach(e=>{let t=this.scene.find(e);t instanceof d&&t.dispatchEvent(s)}),!e&&(0===this.elapsed||this._finished)&&(this.elapsed=0,this.lastCycleIndex=0,this._finished=!1),this.direction=1,this.startTicking()}pause(){this._playing=!1,this.lastTime=null,l.remove(this)}stop(){this.pause(),this.elapsed=0,this.lastCycleIndex=0,this.applyAtElapsed(),this._finished=!1}seek(e){let t=this.schedule.totalDuration;this.elapsed=e*(Number.isFinite(t)?t:this.schedule.effectiveCycleDuration);for(let e of this.evaluators)e.invalidate();this.applyAtElapsed()}toggle(e){let t=e??-1===this.direction;this._playing&&this.direction===(t?1:-1)?t&&(this.pauseOnNextCycleEnd=!1):(t?(this._finished&&(this.elapsed=0,this.lastCycleIndex=0,this._finished=!1),this.direction=1,this.pauseOnNextCycleEnd=!1):(this.direction=this.schedule.resolve(this.elapsed)?.isReverse?1:-1,this.pauseOnNextCycleEnd=!0),this.startTicking())}playFromCurrent(){this.toggle(!0)}reverseFromCurrent(){this.toggle(!1)}dispose(){this.pause()}},W=class{constructor(e){this.data=e}dispatch(){this.data.playTimeline?this.pauseTimeline(this.data.playTimeline):this.data.object?this.pauseAllTimelinesFromObject(this.data.object):this.pauseAllTimelines()}pauseTimeline(e){let t=this.getTimelineActions(e);!t.length||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout(()=>{t.forEach(e=>{e[this.data.interaction]()}),this.disposeDelay()},this.data.delay)):t.forEach(e=>{e[this.data.interaction]()}))}getTimelineActions(e){let t=J.get(e);return t?[t]:[...J.values()].filter(t=>t.data.timeline===e)}pauseAllTimelinesFromObject(e){let t=Q.get(e);!t?.length||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout(()=>{t.forEach(e=>e[this.data.interaction]()),this.disposeDelay()},this.data.delay)):t.forEach(e=>e[this.data.interaction]()))}pauseAllTimelines(){let e=[...Q.values()];!e.length||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout(()=>{e.forEach(e=>{e.forEach(e=>{e[this.data.interaction]()})}),this.disposeDelay()},this.data.delay)):e.forEach(e=>{e.forEach(e=>{e[this.data.interaction]()})}))}disposeDelay(){clearTimeout(this.timeoutId),delete this.timeoutId}dispose(){clearTimeout(this.timeoutId),delete this.timeoutId}},Y=class{constructor(e,t,i,a,n,s,r){this.data=t;let o="interaction"in t?t.interaction:"play";if("play"===o||void 0===o)this.interaction=new K(e,t,i,a,n,s,r);else{if("pause"!==o&&"stop"!==o)throw new Error("Missing property");this.interaction=new W(t)}}get playing(){return this.interaction instanceof K&&this.interaction.playing}get finished(){return!(this.interaction instanceof K)||this.interaction.finished}get paused(){return!(this.interaction instanceof K)||this.interaction.paused}play(){if(this.interaction instanceof K)return this.interaction.play();this.interaction.dispatch()}stop(){this.interaction instanceof K&&this.interaction.stop()}seek(e){this.interaction instanceof K&&this.interaction.seek(e)}toggle(e){this.interaction instanceof K?this.interaction.toggle(e):this.interaction.dispatch()}playFromCurrent(){this.interaction instanceof K?this.interaction.playFromCurrent():this.interaction.dispatch()}dispatchConditional(){this.interaction instanceof K?y(this.interaction.sharedAssets,this.interaction.actionCondition)&&this.interaction.playFromCurrent():this.interaction.dispatch()}reverseFromCurrent(){this.interaction instanceof K&&this.interaction.reverseFromCurrent()}dispose(){this.interaction.dispose()}};m("TimelineAnimation",({id:e,data:t,page:i,shared:a,object:n,eventType:s,actionCondition:r})=>new Y(e,t,i.scene,a,n,s,r)),k("timeline");