@splinetool/runtime 2.0.2 → 2.0.4

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 (349) hide show
  1. package/build/boolean.js +24 -0
  2. package/build/boolean.js.br +0 -0
  3. package/build/boolean.js.gz +0 -0
  4. package/build/boolean.wasm +0 -0
  5. package/build/boolean.wasm.br +0 -0
  6. package/build/boolean.wasm.gz +0 -0
  7. package/build/hana-ui.js +78 -46
  8. package/build/hana-ui.js.br +0 -0
  9. package/build/hana-ui.js.gz +0 -0
  10. package/build/hana-ui.wasm +0 -0
  11. package/build/hana-ui.wasm.br +0 -0
  12. package/build/hana-ui.wasm.gz +0 -0
  13. package/build/runtime-aiAssistant-RMA2DMFU.js +1 -0
  14. package/build/runtime-aiAssistant-RMA2DMFU.js.br +0 -0
  15. package/build/runtime-aiAssistant-RMA2DMFU.js.gz +0 -0
  16. package/build/runtime-apiServices-KA4FEP5Y.js +1 -0
  17. package/build/runtime-apiServices-KA4FEP5Y.js.br +0 -0
  18. package/build/runtime-apiServices-KA4FEP5Y.js.gz +0 -0
  19. package/build/{runtime-audio-Y3GYW4YQ.js → runtime-audio-BQSRM3W2.js} +1 -1
  20. package/build/runtime-audio-BQSRM3W2.js.br +0 -0
  21. package/build/runtime-audio-BQSRM3W2.js.gz +0 -0
  22. package/build/runtime-chunk-2PT2WH66.js +1 -0
  23. package/build/runtime-chunk-2PT2WH66.js.br +0 -0
  24. package/build/runtime-chunk-2PT2WH66.js.gz +0 -0
  25. package/build/{runtime-chunk-P2XISQYQ.js → runtime-chunk-36FZTFCC.js} +1 -1
  26. package/build/runtime-chunk-36FZTFCC.js.br +0 -0
  27. package/build/runtime-chunk-36FZTFCC.js.gz +0 -0
  28. package/build/runtime-chunk-3J5YHSQW.js +1 -0
  29. package/build/runtime-chunk-3J5YHSQW.js.br +0 -0
  30. package/build/runtime-chunk-3J5YHSQW.js.gz +0 -0
  31. package/build/{runtime-chunk-FF5REN2J.js → runtime-chunk-4I22JDL6.js} +1 -1
  32. package/build/runtime-chunk-4I22JDL6.js.br +0 -0
  33. package/build/runtime-chunk-4I22JDL6.js.gz +0 -0
  34. package/build/{runtime-chunk-Z5OH244S.js → runtime-chunk-5XUI4Z6R.js} +1 -1
  35. package/build/runtime-chunk-5XUI4Z6R.js.br +0 -0
  36. package/build/runtime-chunk-5XUI4Z6R.js.gz +0 -0
  37. package/build/runtime-chunk-6UUF5VIS.js +1 -0
  38. package/build/runtime-chunk-6UUF5VIS.js.br +0 -0
  39. package/build/runtime-chunk-6UUF5VIS.js.gz +0 -0
  40. package/build/{runtime-chunk-P3254QGK.js → runtime-chunk-CIBY4YG3.js} +1 -1
  41. package/build/runtime-chunk-CIBY4YG3.js.br +0 -0
  42. package/build/runtime-chunk-CIBY4YG3.js.gz +0 -0
  43. package/build/{runtime-chunk-MRUNX43X.js → runtime-chunk-DKGQ6OYZ.js} +1 -1
  44. package/build/runtime-chunk-DKGQ6OYZ.js.br +0 -0
  45. package/build/runtime-chunk-DKGQ6OYZ.js.gz +0 -0
  46. package/build/{runtime-chunk-A2LYIKKC.js → runtime-chunk-DSJY3WL2.js} +1 -1
  47. package/build/{runtime-chunk-A2LYIKKC.js.br → runtime-chunk-DSJY3WL2.js.br} +0 -0
  48. package/build/runtime-chunk-DSJY3WL2.js.gz +0 -0
  49. package/build/{runtime-chunk-RQ3ZQR4P.js → runtime-chunk-ESZD4IRS.js} +1 -1
  50. package/build/runtime-chunk-ESZD4IRS.js.br +0 -0
  51. package/build/runtime-chunk-ESZD4IRS.js.gz +0 -0
  52. package/build/{runtime-chunk-OEXC34HT.js → runtime-chunk-GPACKOH2.js} +1 -1
  53. package/build/runtime-chunk-GPACKOH2.js.br +0 -0
  54. package/build/runtime-chunk-GPACKOH2.js.gz +0 -0
  55. package/build/{runtime-chunk-BJVCOW72.js → runtime-chunk-I5QFGBIU.js} +1 -1
  56. package/build/runtime-chunk-I5QFGBIU.js.br +0 -0
  57. package/build/runtime-chunk-I5QFGBIU.js.gz +0 -0
  58. package/build/{runtime-chunk-HJS3VFEN.js → runtime-chunk-JNSHQPHC.js} +1 -1
  59. package/build/runtime-chunk-JNSHQPHC.js.br +0 -0
  60. package/build/runtime-chunk-JNSHQPHC.js.gz +0 -0
  61. package/build/{runtime-chunk-JFYHGEDN.js → runtime-chunk-LT4UVXE2.js} +1 -1
  62. package/build/runtime-chunk-LT4UVXE2.js.br +0 -0
  63. package/build/runtime-chunk-LT4UVXE2.js.gz +0 -0
  64. package/build/{runtime-chunk-PPLLJM75.js → runtime-chunk-NTW4X3NC.js} +1 -1
  65. package/build/runtime-chunk-NTW4X3NC.js.br +0 -0
  66. package/build/runtime-chunk-NTW4X3NC.js.gz +0 -0
  67. package/build/runtime-chunk-OOC7YSI5.js +1 -0
  68. package/build/runtime-chunk-OOC7YSI5.js.br +0 -0
  69. package/build/runtime-chunk-OOC7YSI5.js.gz +0 -0
  70. package/build/runtime-chunk-QVC5UDJO.js +1 -0
  71. package/build/runtime-chunk-QVC5UDJO.js.br +0 -0
  72. package/build/runtime-chunk-QVC5UDJO.js.gz +0 -0
  73. package/build/runtime-chunk-R7NC6CZZ.js +1 -0
  74. package/build/runtime-chunk-R7NC6CZZ.js.br +0 -0
  75. package/build/runtime-chunk-R7NC6CZZ.js.gz +0 -0
  76. package/build/{runtime-chunk-VRVV54WH.js → runtime-chunk-RF63UVAU.js} +1 -1
  77. package/build/runtime-chunk-RF63UVAU.js.br +0 -0
  78. package/build/runtime-chunk-RF63UVAU.js.gz +0 -0
  79. package/build/{runtime-chunk-TDCFE5IE.js → runtime-chunk-SL64ZYCB.js} +1 -1
  80. package/build/runtime-chunk-SL64ZYCB.js.br +0 -0
  81. package/build/runtime-chunk-SL64ZYCB.js.gz +0 -0
  82. package/build/{runtime-chunk-I47C4XJU.js → runtime-chunk-TPKGBIJU.js} +1 -1
  83. package/build/runtime-chunk-TPKGBIJU.js.br +0 -0
  84. package/build/runtime-chunk-TPKGBIJU.js.gz +0 -0
  85. package/build/{runtime-chunk-LSURXI4Y.js → runtime-chunk-V5NUL7BL.js} +1 -1
  86. package/build/runtime-chunk-V5NUL7BL.js.br +1 -0
  87. package/build/runtime-chunk-V5NUL7BL.js.gz +0 -0
  88. package/build/{runtime-chunk-OLJVVNDS.js → runtime-chunk-V7XDOE2W.js} +1 -1
  89. package/build/runtime-chunk-V7XDOE2W.js.br +0 -0
  90. package/build/runtime-chunk-V7XDOE2W.js.gz +0 -0
  91. package/build/{runtime-chunk-QHPFAHXN.js → runtime-chunk-W4ZCHGLQ.js} +1 -1
  92. package/build/runtime-chunk-W4ZCHGLQ.js.br +0 -0
  93. package/build/runtime-chunk-W4ZCHGLQ.js.gz +0 -0
  94. package/build/runtime-chunk-WHKBOV2O.js +1 -0
  95. package/build/runtime-chunk-WHKBOV2O.js.br +0 -0
  96. package/build/runtime-chunk-WHKBOV2O.js.gz +0 -0
  97. package/build/{runtime-chunk-E6JCDSXC.js → runtime-chunk-WMWQXAOH.js} +1 -1
  98. package/build/runtime-chunk-WMWQXAOH.js.br +0 -0
  99. package/build/runtime-chunk-WMWQXAOH.js.gz +0 -0
  100. package/build/runtime-chunk-YFAATRJU.js +1 -0
  101. package/build/runtime-chunk-YFAATRJU.js.br +0 -0
  102. package/build/runtime-chunk-YFAATRJU.js.gz +0 -0
  103. package/build/runtime-chunk-ZJPGZKPX.js +1 -0
  104. package/build/runtime-chunk-ZJPGZKPX.js.br +0 -0
  105. package/build/runtime-chunk-ZJPGZKPX.js.gz +0 -0
  106. package/build/{runtime-chunk-2SYZJBYJ.js → runtime-chunk-ZMXEX5NX.js} +1 -1
  107. package/build/runtime-chunk-ZMXEX5NX.js.br +0 -0
  108. package/build/runtime-chunk-ZMXEX5NX.js.gz +0 -0
  109. package/build/{runtime-classicRuntime-AMAXBOXT.js → runtime-classicRuntime-UOZ6RID5.js} +1 -1
  110. package/build/runtime-classicRuntime-UOZ6RID5.js.br +0 -0
  111. package/build/runtime-classicRuntime-UOZ6RID5.js.gz +0 -0
  112. package/build/runtime-cloners-DALMNZYL.js +1 -0
  113. package/build/runtime-cloners-DALMNZYL.js.br +0 -0
  114. package/build/runtime-cloners-DALMNZYL.js.gz +0 -0
  115. package/build/{runtime-components-EPAMFKSB.js → runtime-components-IGNRKI6T.js} +1 -1
  116. package/build/runtime-components-IGNRKI6T.js.br +0 -0
  117. package/build/runtime-components-IGNRKI6T.js.gz +0 -0
  118. package/build/runtime-conditional-DCOFCW5I.js +1 -0
  119. package/build/runtime-conditional-DCOFCW5I.js.br +0 -0
  120. package/build/runtime-conditional-DCOFCW5I.js.gz +0 -0
  121. package/build/{runtime-createDestroy-HLHRAAC4.js → runtime-createDestroy-JLB7IIQL.js} +1 -1
  122. package/build/runtime-createDestroy-JLB7IIQL.js.br +0 -0
  123. package/build/runtime-createDestroy-JLB7IIQL.js.gz +0 -0
  124. package/build/{runtime-dragDrop-K6LWK7FL.js → runtime-dragDrop-ERDSNA3S.js} +1 -1
  125. package/build/runtime-dragDrop-ERDSNA3S.js.br +0 -0
  126. package/build/runtime-dragDrop-ERDSNA3S.js.gz +0 -0
  127. package/build/runtime-gameControls-XKOQVZZC.js +1 -0
  128. package/build/runtime-gameControls-XKOQVZZC.js.br +0 -0
  129. package/build/runtime-gameControls-XKOQVZZC.js.gz +0 -0
  130. package/build/runtime-hair-EOZHA2BH.js +1 -0
  131. package/build/runtime-hair-EOZHA2BH.js.br +0 -0
  132. package/build/runtime-hair-EOZHA2BH.js.gz +0 -0
  133. package/build/runtime-mergeStaticGeometries-4Y3LE3VX.js +1 -0
  134. package/build/runtime-mergeStaticGeometries-4Y3LE3VX.js.br +0 -0
  135. package/build/runtime-mergeStaticGeometries-4Y3LE3VX.js.gz +0 -0
  136. package/build/{runtime-miscActions-L7BIGLEB.js → runtime-miscActions-KIRLTM7C.js} +1 -1
  137. package/build/runtime-miscActions-KIRLTM7C.js.br +0 -0
  138. package/build/runtime-miscActions-KIRLTM7C.js.gz +0 -0
  139. package/build/runtime-mouseHover-WULIJFG2.js +1 -0
  140. package/build/runtime-mouseHover-WULIJFG2.js.br +0 -0
  141. package/build/runtime-mouseHover-WULIJFG2.js.gz +0 -0
  142. package/build/{runtime-particles-W7YEQWJI.js → runtime-particles-NNV35DLD.js} +1 -1
  143. package/build/runtime-particles-NNV35DLD.js.br +0 -0
  144. package/build/runtime-particles-NNV35DLD.js.gz +0 -0
  145. package/build/{runtime-paths-CK327WCT.js → runtime-paths-RRXZ3PXM.js} +1 -1
  146. package/build/runtime-paths-RRXZ3PXM.js.br +0 -0
  147. package/build/runtime-paths-RRXZ3PXM.js.gz +0 -0
  148. package/build/runtime-resize-V6LZSOZB.js +1 -0
  149. package/build/runtime-resize-V6LZSOZB.js.br +0 -0
  150. package/build/runtime-resize-V6LZSOZB.js.gz +0 -0
  151. package/build/{runtime-sceneTransition-7AG4A4P5.js → runtime-sceneTransition-CP5TI3VP.js} +1 -1
  152. package/build/runtime-sceneTransition-CP5TI3VP.js.br +0 -0
  153. package/build/runtime-sceneTransition-CP5TI3VP.js.gz +0 -0
  154. package/build/{runtime-scroll-MNQPPLQL.js → runtime-scroll-Q7VGS5NM.js} +1 -1
  155. package/build/runtime-scroll-Q7VGS5NM.js.br +0 -0
  156. package/build/runtime-scroll-Q7VGS5NM.js.gz +0 -0
  157. package/build/runtime-shapeBlends-UN7GGFRG.js +1 -0
  158. package/build/runtime-shapeBlends-UN7GGFRG.js.br +0 -0
  159. package/build/runtime-shapeBlends-UN7GGFRG.js.gz +0 -0
  160. package/build/{runtime-text-5RIKJ4US.js → runtime-text-N6XLUSM2.js} +1 -1
  161. package/build/runtime-text-N6XLUSM2.js.br +0 -0
  162. package/build/runtime-text-N6XLUSM2.js.gz +0 -0
  163. package/build/{runtime-textInputs-YBGYTAMD.js → runtime-textInputs-IW2E6BNU.js} +1 -1
  164. package/build/runtime-textInputs-IW2E6BNU.js.br +0 -0
  165. package/build/runtime-textInputs-IW2E6BNU.js.gz +0 -0
  166. package/build/runtime-timeline-JA2JZIS7.js +1 -0
  167. package/build/runtime-timeline-JA2JZIS7.js.br +0 -0
  168. package/build/runtime-timeline-JA2JZIS7.js.gz +0 -0
  169. package/build/{runtime-tracking-2BXFBQQY.js → runtime-tracking-M57J2PGK.js} +1 -1
  170. package/build/runtime-tracking-M57J2PGK.js.br +0 -0
  171. package/build/runtime-tracking-M57J2PGK.js.gz +0 -0
  172. package/build/{runtime-transitions-6PZW2QIW.js → runtime-transitions-PELRDE7B.js} +1 -1
  173. package/build/runtime-transitions-PELRDE7B.js.br +0 -0
  174. package/build/runtime-transitions-PELRDE7B.js.gz +0 -0
  175. package/build/runtime-ui2d-IOB5Y76W.js +1 -0
  176. package/build/runtime-ui2d-IOB5Y76W.js.br +0 -0
  177. package/build/runtime-ui2d-IOB5Y76W.js.gz +0 -0
  178. package/build/{runtime-variables-U36KPJ5V.js → runtime-variables-Q6Q2JCGI.js} +1 -1
  179. package/build/runtime-variables-Q6Q2JCGI.js.br +0 -0
  180. package/build/runtime-variables-Q6Q2JCGI.js.gz +0 -0
  181. package/build/{runtime-vectorShapes-4HPEEN3B.js → runtime-vectorShapes-ISY7MWHY.js} +1 -1
  182. package/build/runtime-vectorShapes-ISY7MWHY.js.br +0 -0
  183. package/build/runtime-vectorShapes-ISY7MWHY.js.gz +0 -0
  184. package/build/runtime-video-DUDXGADJ.js +1 -0
  185. package/build/runtime-video-DUDXGADJ.js.br +0 -0
  186. package/build/runtime-video-DUDXGADJ.js.gz +0 -0
  187. package/build/runtime-webgpu-4ZCV5EAD.js +1 -0
  188. package/build/runtime-webgpu-4ZCV5EAD.js.br +0 -0
  189. package/build/runtime-webgpu-4ZCV5EAD.js.gz +0 -0
  190. package/build/runtime.cjs +365 -365
  191. package/build/runtime.js +1 -1
  192. package/build/runtime.js.br +0 -0
  193. package/build/runtime.js.gz +0 -0
  194. package/build/runtime.standalone.js +1 -1
  195. package/build/runtime.standalone.js.br +0 -0
  196. package/build/runtime.standalone.js.gz +0 -0
  197. package/build/runtime.standalone.webgl.js +1 -1
  198. package/build/runtime.standalone.webgl.js.br +0 -0
  199. package/build/runtime.standalone.webgl.js.gz +0 -0
  200. package/build/runtime.standalone.webgpu.js +1 -1
  201. package/build/runtime.standalone.webgpu.js.br +0 -0
  202. package/build/runtime.standalone.webgpu.js.gz +0 -0
  203. package/build/runtime.standalone.webgpu.micro.js +1 -1
  204. package/build/runtime.standalone.webgpu.micro.js.br +0 -0
  205. package/build/runtime.standalone.webgpu.micro.js.gz +0 -0
  206. package/build/runtime.standalone.webgpu.min.js +1 -1
  207. package/build/runtime.standalone.webgpu.min.js.br +0 -0
  208. package/build/runtime.standalone.webgpu.min.js.gz +0 -0
  209. package/package.json +1 -1
  210. package/build/runtime-aiAssistant-XJVJ7TQB.js +0 -1
  211. package/build/runtime-aiAssistant-XJVJ7TQB.js.br +0 -0
  212. package/build/runtime-aiAssistant-XJVJ7TQB.js.gz +0 -0
  213. package/build/runtime-apiServices-KAO5SQJZ.js +0 -1
  214. package/build/runtime-apiServices-KAO5SQJZ.js.br +0 -0
  215. package/build/runtime-apiServices-KAO5SQJZ.js.gz +0 -0
  216. package/build/runtime-audio-Y3GYW4YQ.js.br +0 -0
  217. package/build/runtime-audio-Y3GYW4YQ.js.gz +0 -0
  218. package/build/runtime-chunk-2SYZJBYJ.js.br +0 -0
  219. package/build/runtime-chunk-2SYZJBYJ.js.gz +0 -0
  220. package/build/runtime-chunk-2Y73BLCY.js +0 -1
  221. package/build/runtime-chunk-2Y73BLCY.js.br +0 -0
  222. package/build/runtime-chunk-2Y73BLCY.js.gz +0 -0
  223. package/build/runtime-chunk-A2LYIKKC.js.gz +0 -0
  224. package/build/runtime-chunk-BJVCOW72.js.br +0 -0
  225. package/build/runtime-chunk-BJVCOW72.js.gz +0 -0
  226. package/build/runtime-chunk-CTHMLYOZ.js +0 -1
  227. package/build/runtime-chunk-CTHMLYOZ.js.br +0 -0
  228. package/build/runtime-chunk-CTHMLYOZ.js.gz +0 -0
  229. package/build/runtime-chunk-E6JCDSXC.js.br +0 -0
  230. package/build/runtime-chunk-E6JCDSXC.js.gz +0 -0
  231. package/build/runtime-chunk-FF5REN2J.js.br +0 -0
  232. package/build/runtime-chunk-FF5REN2J.js.gz +0 -0
  233. package/build/runtime-chunk-HJS3VFEN.js.br +0 -0
  234. package/build/runtime-chunk-HJS3VFEN.js.gz +0 -0
  235. package/build/runtime-chunk-HL3PBPHE.js +0 -1
  236. package/build/runtime-chunk-HL3PBPHE.js.br +0 -0
  237. package/build/runtime-chunk-HL3PBPHE.js.gz +0 -0
  238. package/build/runtime-chunk-I47C4XJU.js.br +0 -0
  239. package/build/runtime-chunk-I47C4XJU.js.gz +0 -0
  240. package/build/runtime-chunk-JFYHGEDN.js.br +0 -0
  241. package/build/runtime-chunk-JFYHGEDN.js.gz +0 -0
  242. package/build/runtime-chunk-K4FLB6Y7.js +0 -1
  243. package/build/runtime-chunk-K4FLB6Y7.js.br +0 -0
  244. package/build/runtime-chunk-K4FLB6Y7.js.gz +0 -0
  245. package/build/runtime-chunk-LSURXI4Y.js.br +0 -2
  246. package/build/runtime-chunk-LSURXI4Y.js.gz +0 -0
  247. package/build/runtime-chunk-MM75L5X4.js +0 -1
  248. package/build/runtime-chunk-MM75L5X4.js.br +0 -0
  249. package/build/runtime-chunk-MM75L5X4.js.gz +0 -0
  250. package/build/runtime-chunk-MRUNX43X.js.br +0 -0
  251. package/build/runtime-chunk-MRUNX43X.js.gz +0 -0
  252. package/build/runtime-chunk-OEXC34HT.js.br +0 -0
  253. package/build/runtime-chunk-OEXC34HT.js.gz +0 -0
  254. package/build/runtime-chunk-OLJVVNDS.js.br +0 -0
  255. package/build/runtime-chunk-OLJVVNDS.js.gz +0 -0
  256. package/build/runtime-chunk-P2XISQYQ.js.br +0 -0
  257. package/build/runtime-chunk-P2XISQYQ.js.gz +0 -0
  258. package/build/runtime-chunk-P3254QGK.js.br +0 -0
  259. package/build/runtime-chunk-P3254QGK.js.gz +0 -0
  260. package/build/runtime-chunk-PPLLJM75.js.br +0 -0
  261. package/build/runtime-chunk-PPLLJM75.js.gz +0 -0
  262. package/build/runtime-chunk-QHPFAHXN.js.br +0 -0
  263. package/build/runtime-chunk-QHPFAHXN.js.gz +0 -0
  264. package/build/runtime-chunk-QZ35BPGB.js +0 -1
  265. package/build/runtime-chunk-QZ35BPGB.js.br +0 -0
  266. package/build/runtime-chunk-QZ35BPGB.js.gz +0 -0
  267. package/build/runtime-chunk-RAX4YJZF.js +0 -1
  268. package/build/runtime-chunk-RAX4YJZF.js.br +0 -0
  269. package/build/runtime-chunk-RAX4YJZF.js.gz +0 -0
  270. package/build/runtime-chunk-RQ3ZQR4P.js.br +0 -0
  271. package/build/runtime-chunk-RQ3ZQR4P.js.gz +0 -0
  272. package/build/runtime-chunk-SKLNU6XK.js +0 -1
  273. package/build/runtime-chunk-SKLNU6XK.js.br +0 -0
  274. package/build/runtime-chunk-SKLNU6XK.js.gz +0 -0
  275. package/build/runtime-chunk-TDCFE5IE.js.br +0 -0
  276. package/build/runtime-chunk-TDCFE5IE.js.gz +0 -0
  277. package/build/runtime-chunk-VRVV54WH.js.br +0 -0
  278. package/build/runtime-chunk-VRVV54WH.js.gz +0 -0
  279. package/build/runtime-chunk-WSJURWOC.js +0 -1
  280. package/build/runtime-chunk-WSJURWOC.js.br +0 -0
  281. package/build/runtime-chunk-WSJURWOC.js.gz +0 -0
  282. package/build/runtime-chunk-Z5OH244S.js.br +0 -0
  283. package/build/runtime-chunk-Z5OH244S.js.gz +0 -0
  284. package/build/runtime-classicRuntime-AMAXBOXT.js.br +0 -0
  285. package/build/runtime-classicRuntime-AMAXBOXT.js.gz +0 -0
  286. package/build/runtime-cloners-4W3AOAQX.js +0 -1
  287. package/build/runtime-cloners-4W3AOAQX.js.br +0 -1
  288. package/build/runtime-cloners-4W3AOAQX.js.gz +0 -0
  289. package/build/runtime-components-EPAMFKSB.js.br +0 -0
  290. package/build/runtime-components-EPAMFKSB.js.gz +0 -0
  291. package/build/runtime-conditional-3A423CXW.js +0 -1
  292. package/build/runtime-conditional-3A423CXW.js.br +0 -0
  293. package/build/runtime-conditional-3A423CXW.js.gz +0 -0
  294. package/build/runtime-createDestroy-HLHRAAC4.js.br +0 -0
  295. package/build/runtime-createDestroy-HLHRAAC4.js.gz +0 -0
  296. package/build/runtime-dragDrop-K6LWK7FL.js.br +0 -0
  297. package/build/runtime-dragDrop-K6LWK7FL.js.gz +0 -0
  298. package/build/runtime-gameControls-ZJUUKNHM.js +0 -1
  299. package/build/runtime-gameControls-ZJUUKNHM.js.br +0 -0
  300. package/build/runtime-gameControls-ZJUUKNHM.js.gz +0 -0
  301. package/build/runtime-hair-AGUMVL55.js +0 -1
  302. package/build/runtime-hair-AGUMVL55.js.br +0 -3
  303. package/build/runtime-hair-AGUMVL55.js.gz +0 -0
  304. package/build/runtime-mergeStaticGeometries-AOGKOEBX.js +0 -1
  305. package/build/runtime-mergeStaticGeometries-AOGKOEBX.js.br +0 -0
  306. package/build/runtime-mergeStaticGeometries-AOGKOEBX.js.gz +0 -0
  307. package/build/runtime-miscActions-L7BIGLEB.js.br +0 -0
  308. package/build/runtime-miscActions-L7BIGLEB.js.gz +0 -0
  309. package/build/runtime-mouseHover-BI5SRQSQ.js +0 -1
  310. package/build/runtime-mouseHover-BI5SRQSQ.js.br +0 -0
  311. package/build/runtime-mouseHover-BI5SRQSQ.js.gz +0 -0
  312. package/build/runtime-particles-W7YEQWJI.js.br +0 -0
  313. package/build/runtime-particles-W7YEQWJI.js.gz +0 -0
  314. package/build/runtime-paths-CK327WCT.js.br +0 -0
  315. package/build/runtime-paths-CK327WCT.js.gz +0 -0
  316. package/build/runtime-resize-RUUW4IXW.js +0 -1
  317. package/build/runtime-resize-RUUW4IXW.js.br +0 -0
  318. package/build/runtime-resize-RUUW4IXW.js.gz +0 -0
  319. package/build/runtime-sceneTransition-7AG4A4P5.js.br +0 -0
  320. package/build/runtime-sceneTransition-7AG4A4P5.js.gz +0 -0
  321. package/build/runtime-scroll-MNQPPLQL.js.br +0 -0
  322. package/build/runtime-scroll-MNQPPLQL.js.gz +0 -0
  323. package/build/runtime-shapeBlends-IP5LZ63L.js +0 -1
  324. package/build/runtime-shapeBlends-IP5LZ63L.js.br +0 -0
  325. package/build/runtime-shapeBlends-IP5LZ63L.js.gz +0 -0
  326. package/build/runtime-text-5RIKJ4US.js.br +0 -0
  327. package/build/runtime-text-5RIKJ4US.js.gz +0 -0
  328. package/build/runtime-textInputs-YBGYTAMD.js.br +0 -0
  329. package/build/runtime-textInputs-YBGYTAMD.js.gz +0 -0
  330. package/build/runtime-timeline-32GBWMFJ.js +0 -1
  331. package/build/runtime-timeline-32GBWMFJ.js.br +0 -0
  332. package/build/runtime-timeline-32GBWMFJ.js.gz +0 -0
  333. package/build/runtime-tracking-2BXFBQQY.js.br +0 -0
  334. package/build/runtime-tracking-2BXFBQQY.js.gz +0 -0
  335. package/build/runtime-transitions-6PZW2QIW.js.br +0 -0
  336. package/build/runtime-transitions-6PZW2QIW.js.gz +0 -0
  337. package/build/runtime-ui2d-VEQUBXIE.js +0 -1
  338. package/build/runtime-ui2d-VEQUBXIE.js.br +0 -0
  339. package/build/runtime-ui2d-VEQUBXIE.js.gz +0 -0
  340. package/build/runtime-variables-U36KPJ5V.js.br +0 -0
  341. package/build/runtime-variables-U36KPJ5V.js.gz +0 -0
  342. package/build/runtime-vectorShapes-4HPEEN3B.js.br +0 -0
  343. package/build/runtime-vectorShapes-4HPEEN3B.js.gz +0 -0
  344. package/build/runtime-video-TZNR7MEM.js +0 -1
  345. package/build/runtime-video-TZNR7MEM.js.br +0 -0
  346. package/build/runtime-video-TZNR7MEM.js.gz +0 -0
  347. package/build/runtime-webgpu-YNY4OXCZ.js +0 -1
  348. package/build/runtime-webgpu-YNY4OXCZ.js.br +0 -0
  349. package/build/runtime-webgpu-YNY4OXCZ.js.gz +0 -0
package/build/boolean.js CHANGED
@@ -174,6 +174,30 @@ export function clone_mesh(mesh) {
174
174
  return CsgMesh.__wrap(ret);
175
175
  }
176
176
 
177
+ /**
178
+ * Folds a shape's cloner copies into a single mesh set. `transforms` is a
179
+ * flat run of column-major 4x4 matrices (three.js `Matrix4.elements`
180
+ * layout), one per copy — the geometry crosses the boundary once no matter
181
+ * how many copies there are.
182
+ *
183
+ * Copies whose boxes don't touch are merged by concatenating their
184
+ * triangles, with no boolean run at all. Classification already reads that
185
+ * pile as one solid: a parity ray crosses each closed copy an even number of
186
+ * times, and welding never joins copies that are apart, so the island fill
187
+ * keeps them separate. Copies that do touch are unioned for real, and only
188
+ * against the ones they touch.
189
+ * @param {CsgMesh} mesh
190
+ * @param {Float32Array} transforms
191
+ * @returns {CsgMesh}
192
+ */
193
+ export function instanced_union(mesh, transforms) {
194
+ _assertClass(mesh, CsgMesh);
195
+ const ptr0 = passArrayF32ToWasm0(transforms, wasm.__wbindgen_malloc);
196
+ const len0 = WASM_VECTOR_LEN;
197
+ const ret = wasm.instanced_union(mesh.__wbg_ptr, ptr0, len0);
198
+ return CsgMesh.__wrap(ret);
199
+ }
200
+
177
201
  /**
178
202
  * Non-indexed render output. A mesh with carried normals hands them out
179
203
  * as-is (inherited shading; `phong_angle_deg` doesn't apply); one without
Binary file
Binary file
Binary file
Binary file
Binary file
package/build/hana-ui.js CHANGED
@@ -523,6 +523,21 @@ export class SceneController {
523
523
  const ret = wasm.scenecontroller_isObjectInViewport(this.__wbg_ptr, addHeapObject(id));
524
524
  return ret !== 0;
525
525
  }
526
+ /**
527
+ * Whether the built-in editor/UI font (the single font the immediate-mode
528
+ * `updateUiShapes` overlay renders text with) has been fetched and parsed.
529
+ * The load kicks off asynchronously at controller creation
530
+ * (`Assets::load_ui_font`), so overlay text pushed before it lands
531
+ * tessellates to nothing until the next frame after the load completes.
532
+ * Hosts that rasterize on demand (the spline editor / runtime UI-frame
533
+ * canvases) poll this to know when to re-render — without it a canvas
534
+ * rasterized once at boot shows every shape except its texts.
535
+ * @returns {boolean}
536
+ */
537
+ isUiFontLoaded() {
538
+ const ret = wasm.scenecontroller_isUiFontLoaded(this.__wbg_ptr);
539
+ return ret !== 0;
540
+ }
526
541
  /**
527
542
  * @returns {boolean}
528
543
  */
@@ -1678,6 +1693,10 @@ function __wbg_get_imports() {
1678
1693
  __wbg_cullFace_c6b39a55ccade015: function(arg0, arg1) {
1679
1694
  getObject(arg0).cullFace(arg1 >>> 0);
1680
1695
  },
1696
+ __wbg_currentTime_0b40b60bc76843cb: function(arg0) {
1697
+ const ret = getObject(arg0).currentTime;
1698
+ return ret;
1699
+ },
1681
1700
  __wbg_debug_78b457f1effb3792: function(arg0) {
1682
1701
  console.debug(getObject(arg0));
1683
1702
  },
@@ -2387,7 +2406,7 @@ function __wbg_get_imports() {
2387
2406
  const a = state0.a;
2388
2407
  state0.a = 0;
2389
2408
  try {
2390
- return __wasm_bindgen_func_elem_12869(a, state0.b, arg0, arg1);
2409
+ return __wasm_bindgen_func_elem_12885(a, state0.b, arg0, arg1);
2391
2410
  } finally {
2392
2411
  state0.a = a;
2393
2412
  }
@@ -2433,7 +2452,7 @@ function __wbg_get_imports() {
2433
2452
  const a = state0.a;
2434
2453
  state0.a = 0;
2435
2454
  try {
2436
- return __wasm_bindgen_func_elem_12869(a, state0.b, arg0, arg1);
2455
+ return __wasm_bindgen_func_elem_12885(a, state0.b, arg0, arg1);
2437
2456
  } finally {
2438
2457
  state0.a = a;
2439
2458
  }
@@ -2621,6 +2640,10 @@ function __wbg_get_imports() {
2621
2640
  __wbg_setStencilReference_66c74be6232bb9da: function(arg0, arg1) {
2622
2641
  getObject(arg0).setStencilReference(arg1 >>> 0);
2623
2642
  },
2643
+ __wbg_setTimeout_b5f25e402b6e8ff9: function() { return handleError(function (arg0, arg1, arg2) {
2644
+ const ret = getObject(arg0).setTimeout(getObject(arg1), arg2);
2645
+ return ret;
2646
+ }, arguments); },
2624
2647
  __wbg_setVertexBuffer_1e448859663dd400: function(arg0, arg1, arg2, arg3) {
2625
2648
  getObject(arg0).setVertexBuffer(arg1 >>> 0, getObject(arg2), arg3);
2626
2649
  },
@@ -3529,96 +3552,101 @@ function __wbg_get_imports() {
3529
3552
  getObject(arg0).writeTexture(getObject(arg1), getArrayU8FromWasm0(arg2, arg3), getObject(arg4), getObject(arg5));
3530
3553
  }, arguments); },
3531
3554
  __wbindgen_cast_0000000000000001: function(arg0, arg1) {
3532
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 796, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3533
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_12861);
3555
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 800, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3556
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_12877);
3534
3557
  return addHeapObject(ret);
3535
3558
  },
3536
3559
  __wbindgen_cast_0000000000000002: function(arg0, arg1) {
3537
3560
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("Event")], shim_idx: 3, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3538
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_2917);
3561
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_2921);
3539
3562
  return addHeapObject(ret);
3540
3563
  },
3541
3564
  __wbindgen_cast_0000000000000003: function(arg0, arg1) {
3542
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("GPUComputePipeline")], shim_idx: 677, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3543
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_9846);
3565
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("GPUComputePipeline")], shim_idx: 679, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3566
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_9853);
3544
3567
  return addHeapObject(ret);
3545
3568
  },
3546
3569
  __wbindgen_cast_0000000000000004: function(arg0, arg1) {
3547
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("GPUDevice")], shim_idx: 677, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3548
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_9846_3);
3570
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("GPUDevice")], shim_idx: 679, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3571
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_9853_3);
3549
3572
  return addHeapObject(ret);
3550
3573
  },
3551
3574
  __wbindgen_cast_0000000000000005: function(arg0, arg1) {
3552
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("GPUDeviceLostInfo")], shim_idx: 678, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3553
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_9848);
3575
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("GPUDeviceLostInfo")], shim_idx: 680, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3576
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_9855);
3554
3577
  return addHeapObject(ret);
3555
3578
  },
3556
3579
  __wbindgen_cast_0000000000000006: function(arg0, arg1) {
3557
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("GPURenderPipeline")], shim_idx: 677, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3558
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_9846_5);
3580
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("GPURenderPipeline")], shim_idx: 679, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3581
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_9853_5);
3559
3582
  return addHeapObject(ret);
3560
3583
  },
3561
3584
  __wbindgen_cast_0000000000000007: function(arg0, arg1) {
3562
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("any")], shim_idx: 677, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3563
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_9846_6);
3585
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("any")], shim_idx: 679, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3586
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_9853_6);
3564
3587
  return addHeapObject(ret);
3565
3588
  },
3566
3589
  __wbindgen_cast_0000000000000008: function(arg0, arg1) {
3567
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("undefined")], shim_idx: 677, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3568
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_9846_7);
3590
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("undefined")], shim_idx: 679, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3591
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_9853_7);
3592
+ return addHeapObject(ret);
3593
+ },
3594
+ __wbindgen_cast_0000000000000009: function(arg0, arg1) {
3595
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 795, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3596
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_11263);
3569
3597
  return addHeapObject(ret);
3570
3598
  },
3571
- __wbindgen_cast_0000000000000009: function(arg0) {
3599
+ __wbindgen_cast_000000000000000a: function(arg0) {
3572
3600
  // Cast intrinsic for `F64 -> Externref`.
3573
3601
  const ret = arg0;
3574
3602
  return addHeapObject(ret);
3575
3603
  },
3576
- __wbindgen_cast_000000000000000a: function(arg0, arg1) {
3604
+ __wbindgen_cast_000000000000000b: function(arg0, arg1) {
3577
3605
  // Cast intrinsic for `Ref(Slice(F32)) -> NamedExternref("Float32Array")`.
3578
3606
  const ret = getArrayF32FromWasm0(arg0, arg1);
3579
3607
  return addHeapObject(ret);
3580
3608
  },
3581
- __wbindgen_cast_000000000000000b: function(arg0, arg1) {
3609
+ __wbindgen_cast_000000000000000c: function(arg0, arg1) {
3582
3610
  // Cast intrinsic for `Ref(Slice(I16)) -> NamedExternref("Int16Array")`.
3583
3611
  const ret = getArrayI16FromWasm0(arg0, arg1);
3584
3612
  return addHeapObject(ret);
3585
3613
  },
3586
- __wbindgen_cast_000000000000000c: function(arg0, arg1) {
3614
+ __wbindgen_cast_000000000000000d: function(arg0, arg1) {
3587
3615
  // Cast intrinsic for `Ref(Slice(I32)) -> NamedExternref("Int32Array")`.
3588
3616
  const ret = getArrayI32FromWasm0(arg0, arg1);
3589
3617
  return addHeapObject(ret);
3590
3618
  },
3591
- __wbindgen_cast_000000000000000d: function(arg0, arg1) {
3619
+ __wbindgen_cast_000000000000000e: function(arg0, arg1) {
3592
3620
  // Cast intrinsic for `Ref(Slice(I8)) -> NamedExternref("Int8Array")`.
3593
3621
  const ret = getArrayI8FromWasm0(arg0, arg1);
3594
3622
  return addHeapObject(ret);
3595
3623
  },
3596
- __wbindgen_cast_000000000000000e: function(arg0, arg1) {
3624
+ __wbindgen_cast_000000000000000f: function(arg0, arg1) {
3597
3625
  // Cast intrinsic for `Ref(Slice(U16)) -> NamedExternref("Uint16Array")`.
3598
3626
  const ret = getArrayU16FromWasm0(arg0, arg1);
3599
3627
  return addHeapObject(ret);
3600
3628
  },
3601
- __wbindgen_cast_000000000000000f: function(arg0, arg1) {
3629
+ __wbindgen_cast_0000000000000010: function(arg0, arg1) {
3602
3630
  // Cast intrinsic for `Ref(Slice(U32)) -> NamedExternref("Uint32Array")`.
3603
3631
  const ret = getArrayU32FromWasm0(arg0, arg1);
3604
3632
  return addHeapObject(ret);
3605
3633
  },
3606
- __wbindgen_cast_0000000000000010: function(arg0, arg1) {
3634
+ __wbindgen_cast_0000000000000011: function(arg0, arg1) {
3607
3635
  // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref("Uint8Array")`.
3608
3636
  const ret = getArrayU8FromWasm0(arg0, arg1);
3609
3637
  return addHeapObject(ret);
3610
3638
  },
3611
- __wbindgen_cast_0000000000000011: function(arg0, arg1) {
3639
+ __wbindgen_cast_0000000000000012: function(arg0, arg1) {
3612
3640
  // Cast intrinsic for `Ref(String) -> Externref`.
3613
3641
  const ret = getStringFromWasm0(arg0, arg1);
3614
3642
  return addHeapObject(ret);
3615
3643
  },
3616
- __wbindgen_cast_0000000000000012: function(arg0) {
3644
+ __wbindgen_cast_0000000000000013: function(arg0) {
3617
3645
  // Cast intrinsic for `U64 -> Externref`.
3618
3646
  const ret = BigInt.asUintN(64, arg0);
3619
3647
  return addHeapObject(ret);
3620
3648
  },
3621
- __wbindgen_cast_0000000000000013: function(arg0, arg1) {
3649
+ __wbindgen_cast_0000000000000014: function(arg0, arg1) {
3622
3650
  var v0 = getArrayU8FromWasm0(arg0, arg1).slice();
3623
3651
  wasm.__wbindgen_export4(arg0, arg1 * 1, 1);
3624
3652
  // Cast intrinsic for `Vector(U8) -> Externref`.
@@ -3639,18 +3667,22 @@ function __wbg_get_imports() {
3639
3667
  };
3640
3668
  }
3641
3669
 
3642
- function __wasm_bindgen_func_elem_2917(arg0, arg1, arg2) {
3643
- wasm.__wasm_bindgen_func_elem_2917(arg0, arg1, addHeapObject(arg2));
3670
+ function __wasm_bindgen_func_elem_11263(arg0, arg1) {
3671
+ wasm.__wasm_bindgen_func_elem_11263(arg0, arg1);
3672
+ }
3673
+
3674
+ function __wasm_bindgen_func_elem_2921(arg0, arg1, arg2) {
3675
+ wasm.__wasm_bindgen_func_elem_2921(arg0, arg1, addHeapObject(arg2));
3644
3676
  }
3645
3677
 
3646
- function __wasm_bindgen_func_elem_9848(arg0, arg1, arg2) {
3647
- wasm.__wasm_bindgen_func_elem_9848(arg0, arg1, addHeapObject(arg2));
3678
+ function __wasm_bindgen_func_elem_9855(arg0, arg1, arg2) {
3679
+ wasm.__wasm_bindgen_func_elem_9855(arg0, arg1, addHeapObject(arg2));
3648
3680
  }
3649
3681
 
3650
- function __wasm_bindgen_func_elem_12861(arg0, arg1, arg2) {
3682
+ function __wasm_bindgen_func_elem_12877(arg0, arg1, arg2) {
3651
3683
  try {
3652
3684
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
3653
- wasm.__wasm_bindgen_func_elem_12861(retptr, arg0, arg1, addHeapObject(arg2));
3685
+ wasm.__wasm_bindgen_func_elem_12877(retptr, arg0, arg1, addHeapObject(arg2));
3654
3686
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
3655
3687
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
3656
3688
  if (r1) {
@@ -3661,10 +3693,10 @@ function __wasm_bindgen_func_elem_12861(arg0, arg1, arg2) {
3661
3693
  }
3662
3694
  }
3663
3695
 
3664
- function __wasm_bindgen_func_elem_9846(arg0, arg1, arg2) {
3696
+ function __wasm_bindgen_func_elem_9853(arg0, arg1, arg2) {
3665
3697
  try {
3666
3698
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
3667
- wasm.__wasm_bindgen_func_elem_9846(retptr, arg0, arg1, addHeapObject(arg2));
3699
+ wasm.__wasm_bindgen_func_elem_9853(retptr, arg0, arg1, addHeapObject(arg2));
3668
3700
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
3669
3701
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
3670
3702
  if (r1) {
@@ -3675,10 +3707,10 @@ function __wasm_bindgen_func_elem_9846(arg0, arg1, arg2) {
3675
3707
  }
3676
3708
  }
3677
3709
 
3678
- function __wasm_bindgen_func_elem_9846_3(arg0, arg1, arg2) {
3710
+ function __wasm_bindgen_func_elem_9853_3(arg0, arg1, arg2) {
3679
3711
  try {
3680
3712
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
3681
- wasm.__wasm_bindgen_func_elem_9846_3(retptr, arg0, arg1, addHeapObject(arg2));
3713
+ wasm.__wasm_bindgen_func_elem_9853_3(retptr, arg0, arg1, addHeapObject(arg2));
3682
3714
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
3683
3715
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
3684
3716
  if (r1) {
@@ -3689,10 +3721,10 @@ function __wasm_bindgen_func_elem_9846_3(arg0, arg1, arg2) {
3689
3721
  }
3690
3722
  }
3691
3723
 
3692
- function __wasm_bindgen_func_elem_9846_5(arg0, arg1, arg2) {
3724
+ function __wasm_bindgen_func_elem_9853_5(arg0, arg1, arg2) {
3693
3725
  try {
3694
3726
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
3695
- wasm.__wasm_bindgen_func_elem_9846_5(retptr, arg0, arg1, addHeapObject(arg2));
3727
+ wasm.__wasm_bindgen_func_elem_9853_5(retptr, arg0, arg1, addHeapObject(arg2));
3696
3728
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
3697
3729
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
3698
3730
  if (r1) {
@@ -3703,10 +3735,10 @@ function __wasm_bindgen_func_elem_9846_5(arg0, arg1, arg2) {
3703
3735
  }
3704
3736
  }
3705
3737
 
3706
- function __wasm_bindgen_func_elem_9846_6(arg0, arg1, arg2) {
3738
+ function __wasm_bindgen_func_elem_9853_6(arg0, arg1, arg2) {
3707
3739
  try {
3708
3740
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
3709
- wasm.__wasm_bindgen_func_elem_9846_6(retptr, arg0, arg1, addHeapObject(arg2));
3741
+ wasm.__wasm_bindgen_func_elem_9853_6(retptr, arg0, arg1, addHeapObject(arg2));
3710
3742
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
3711
3743
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
3712
3744
  if (r1) {
@@ -3717,10 +3749,10 @@ function __wasm_bindgen_func_elem_9846_6(arg0, arg1, arg2) {
3717
3749
  }
3718
3750
  }
3719
3751
 
3720
- function __wasm_bindgen_func_elem_9846_7(arg0, arg1, arg2) {
3752
+ function __wasm_bindgen_func_elem_9853_7(arg0, arg1, arg2) {
3721
3753
  try {
3722
3754
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
3723
- wasm.__wasm_bindgen_func_elem_9846_7(retptr, arg0, arg1, addHeapObject(arg2));
3755
+ wasm.__wasm_bindgen_func_elem_9853_7(retptr, arg0, arg1, addHeapObject(arg2));
3724
3756
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
3725
3757
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
3726
3758
  if (r1) {
@@ -3731,8 +3763,8 @@ function __wasm_bindgen_func_elem_9846_7(arg0, arg1, arg2) {
3731
3763
  }
3732
3764
  }
3733
3765
 
3734
- function __wasm_bindgen_func_elem_12869(arg0, arg1, arg2, arg3) {
3735
- wasm.__wasm_bindgen_func_elem_12869(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
3766
+ function __wasm_bindgen_func_elem_12885(arg0, arg1, arg2, arg3) {
3767
+ wasm.__wasm_bindgen_func_elem_12885(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
3736
3768
  }
3737
3769
 
3738
3770
 
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1 @@
1
+ import{a as e}from"./runtime-chunk-NTUTXO7Q.js";import{a as t,b as s}from"./runtime-chunk-DZNU62CT.js";import{c as i}from"./runtime-chunk-4YV3EXSU.js";import{f as a}from"./runtime-chunk-QVC5UDJO.js";import"./runtime-chunk-5XUI4Z6R.js";import{a as n}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-OW6T4XFV.js";import"./runtime-chunk-VGN7YHB7.js";import"./runtime-chunk-ML3Z74BL.js";var r=class extends t{constructor(e,t){super(e),this.eventManager=t,this.events=[],this.onVoice=({value:e,frequencies:t})=>{this.events.forEach(e=>{e.dispatch()})}}connect(){this.openAIRealtime=this.eventContext.sharedAssets.openAIRealtime,this.openAIRealtime&&(this.eventContext.page.traverseEntity(e=>{e.data?.events.filter(e=>"AIAssistantListener"===e.data.type&&!e.data.disabled).forEach(t=>{this.events.push(new o(t.id,t.data,e,this.eventContext.page,this.eventContext.sharedAssets,this.eventManager))})}),this.openAIRealtime.on("voice",this.onVoice))}disconnect(){this.openAIRealtime?.off("voice",this.onVoice)}},o=class{constructor(e,t,s,i,n,r){this.id=e,this.data=t,this.object=s,this.actions=a(t,t.actions,i,n,r,s)}dispatch(){this.dispatchActions(this.actions)}dispatchActions(e){e.Audio.forEach(e=>e.dispatchConditional()),e.Particles.forEach(e=>e.dispatchConditional()),e.Video.forEach(e=>e.dispatchConditional()),e.Create.forEach(e=>e.dispatch()),e.Destroy.forEach(e=>e.dispatch()),e.Reset.forEach(e=>e.dispatch()),e.Transition.forEach(e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this),e.init()}),e.Transition.forEach(e=>e.play()),e.Animation.forEach(e=>e.play()),e.SwitchCamera.forEach(e=>e.play()),e.SceneTransition.forEach(e=>e.dispatch()),e.SetVariable.forEach(e=>e.checkConditions()),e.SetVariable.forEach(e=>e.dispatch()),e.DynamicVariablePlay.forEach(e=>e.dispatch()),e.ClearLocalStorage.forEach(e=>e.dispatch()),e.UserAPI.forEach(e=>e.dispatch())}},c=class extends t{constructor(e,t){super(e),this.eventManager=t,this.events=[],this.onTriggerEvent=({description:e,direction:t})=>{let s=this.events.find(t=>t.data.description===e);s&&("backward"===t?s.dispatchReverse():s.dispatch())}}connect(){this.openAIRealtime=this.eventContext.sharedAssets.openAIRealtime,this.openAIRealtime&&(this.eventContext.page.traverseEntity(e=>{e.data?.events.filter(e=>"AIAssistantTrigger"===e.data.type&&!e.data.disabled).forEach(t=>{this.events.push(new h(t.id,t.data,e,this.eventContext.page,this.eventContext.sharedAssets,this.eventManager))})}),this.openAIRealtime.on("trigger_event",this.onTriggerEvent))}disconnect(){this.openAIRealtime?.off("trigger_event",this.onTriggerEvent)}},h=class{constructor(e,t,s,i,n,r){this.id=e,this.data=t,this.object=s,this.actions=a(t,t.actions,i,n,r,s)}dispatch(){let e=this.actions;e.Audio.forEach(e=>e.dispatchConditional()),e.Particles.forEach(e=>e.dispatchConditional()),e.Video.forEach(e=>e.dispatchConditional()),e.Create.forEach(e=>e.dispatch()),e.Destroy.forEach(e=>e.dispatch()),e.Reset.forEach(e=>e.dispatch()),e.Transition.forEach(e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this),e.init()}),e.Transition.forEach(e=>e.play()),e.Animation.forEach(e=>e.play()),e.SwitchCamera.forEach(e=>e.play()),e.SceneTransition.forEach(e=>e.dispatch()),e.SetVariable.forEach(e=>e.checkConditions()),e.SetVariable.forEach(e=>e.dispatch()),e.DynamicVariablePlay.forEach(e=>e.dispatch()),e.ClearLocalStorage.forEach(e=>e.dispatch()),e.UserAPI.forEach(e=>e.dispatch())}dispatchReverse(){let e=this.actions;e.Transition.forEach(e=>e.reverseFromCurrent()),e.Particles.forEach(e=>e.reverseFromCurrent()),e.Animation.forEach(e=>e.reverseFromCurrent()),e.SwitchCamera.forEach(e=>e.reverseFromCurrent()),e.Create.forEach(e=>e.dispatchStop())}},l=function(e){e=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(e,t,s,i)=>String(t+t+s+s+i+i));let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null},d=[4186.01,4434.92,4698.63,4978.03,5274.04,5587.65,5919.91,6271.93,6644.88,7040,7458.62,7902.13],p=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"],u=[],f=[];for(let e=1;e<=8;e++)for(let t=0;t<d.length;t++){let s=d[t];u.push(s/Math.pow(2,8-e)),f.push(p[t]+e)}var v=[32,2e3],m=u.filter((e,t)=>u[t]>v[0]&&u[t]<v[1]),y=f.filter((e,t)=>u[t]>v[0]&&u[t]<v[1]),g=class{static getFrequencies(e,t,s,i="frequency",a=-100,n=-30){s||(s=new Float32Array(e.frequencyBinCount),e.getFloatFrequencyData(s));let r,o,c,h=t/2,l=1/s.length*h;if("music"===i||"voice"===i){let e="voice"===i?m:u,t=Array(e.length).fill(a);for(let i=0;i<s.length;i++){let a=i*l,n=s[i];for(let s=e.length-1;s>=0;s--)if(a>e[s]){t[s]=Math.max(t[s],n);break}}r=t,o="voice"===i?m:u,c="voice"===i?y:f}else r=Array.from(s),o=r.map((e,t)=>l*t),c=o.map(e=>`${e.toFixed(2)} Hz`);let d=r.map(e=>Math.max(0,Math.min((e-a)/(n-a),1)));return{values:new Float32Array(d),frequencies:o,labels:c}}},E=class{constructor(e){this.value=0,this.frequencies=new Float32Array(0);let t=new AudioContext;this.source=t.createMediaStreamSource(e),this.analyser=t.createAnalyser(),this.source.connect(this.analyser),this.analyser.fftSize=8192,this.analyser.smoothingTimeConstant=.1}getFrequencies(e=-100,t=-30){if(!this.analyser)throw new Error("Not connected, please call .connect() first");return g.getFrequencies(this.analyser,44100,void 0,"voice",e,t)}update(){let e=this.getFrequencies(),t=e.values.reduce((e,t)=>e+t,0)/e.values.length;this.value=t,this.frequencies=e.values}disconnect(){this.source.disconnect(),this.analyser.disconnect()}},b=class{constructor(e){this.callbacks=e,this.rafId=0,this.isOpen=!1,this.onMessage=e=>{this.callbacks.onMessage(e.data)},this.onOpen=()=>{this.isOpen=!0,this.callbacks.onOpen()},this.animate=()=>{this.rafId=requestAnimationFrame(this.animate),this.isOpen&&this.analyser&&(this.analyser.update(),this.callbacks.onVoice(this.analyser.value,this.analyser.frequencies))}}async connect(e){let t=await async function(e){try{return(await(await fetch("https://relayserver.spline.design/session?uuidfile="+e)).json()).token}catch(e){console.error("Token generation error:",e)}}(e);this.pc=new RTCPeerConnection,this.audioElement=document.createElement("audio"),this.audioElement.autoplay=!0,this.pc.ontrack=e=>{let t=e.streams[0];this.audioElement.srcObject=t,this.analyser=new E(t)};let s=await navigator.mediaDevices.getUserMedia({audio:!0});this.pc.addTrack(s.getTracks()[0]),this.dc=this.pc.createDataChannel("oai-events"),this.dc.addEventListener("message",this.onMessage),this.dc.addEventListener("open",this.onOpen);let i=await this.pc.createOffer();await this.pc.setLocalDescription(i);let a={type:"answer",sdp:await(await fetch("https://api.openai.com/v1/realtime/calls?model=gpt-realtime",{method:"POST",body:i.sdp,headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/sdp"}})).text()};await this.pc.setRemoteDescription(a),this.animate()}send(e){return!!this.dc&&(this.dc.send(e),!0)}disconnect(){cancelAnimationFrame(this.rafId),this.analyser?.disconnect(),this.isOpen=!1,this.dc?.removeEventListener("message",this.onMessage),this.dc?.removeEventListener("open",this.onOpen),this.dc?.close(),this.pc?.getSenders().forEach(e=>{e.track&&e.track.stop()}),this.pc?.close(),this.pc=void 0}};var w=class{constructor(t,s,i){this.data=t,this.id=s,this.shared=i,this.emitter=e(),this.voice=0,this.frequencies=new Float32Array([0]),this.events=[],this.isConnected=!1,this.isToolsAdded=!1,this.tools=[],this.onServerEvent=e=>{let t=JSON.parse(e);if(this.appendEvent(t),"session.created"===t.type&&this.onSessionCreated(),"response.done"===t.type&&t.response?.output)for(let e of t.response.output)if("function_call"===e.type)for(let[t,s]of this.tools)e.name===t.name&&(s(JSON.parse(e.arguments)),setTimeout(()=>{this.sendClientEvent({type:"response.create",response:{instructions:"notice the user about what you just did"}})}))},this.onSessionCreated=()=>{this.isToolsAdded||this.registerTools()},this.onOpen=()=>{this.events=[],this.isConnected=!0,this.sendClientEvent({type:"response.create",response:{instructions:"Say hi"}})}}update(e){this.data=e}setColorByName(e,t){let s=this.shared.getColorByName(e);if(s){let{id:e}=s,{r:i,g:a,b:n}=l(t)??{r:0,g:0,b:0};this.shared.updateColor(e,{r:i/255,g:a/255,b:n/255})}}async connect(){if(this.isConnected||this.session||this.hosted)return;let e={onMessage:this.onServerEvent,onOpen:this.onOpen,onVoice:(e,t)=>{this.voice=e,this.frequencies=t,this.emitter.emit("voice",{value:e,frequencies:t})}};this.hosted=function(e,t,s){if(!function(){try{return!0===window.__SPLINE_PLAY_VOICE_HOST__&&window.parent!==window}catch{return!1}}())return null;let i=!1,a=e=>{window.parent.postMessage({__splinePlayFrame:!0,...e},"*")},n=t=>{if(t.source!==window.parent)return;let a=t.data;!a||!0!==a.__splinePlayFrameHost||a.id!==e||("voice-open"===a.type?(i=!0,s.onOpen()):"voice-message"===a.type&&"string"==typeof a.data?s.onMessage(a.data):"voice-level"===a.type&&"number"==typeof a.value?s.onVoice(a.value,a.frequencies instanceof Float32Array?a.frequencies:new Float32Array(0)):"voice-error"===a.type&&console.error("Voice assistant host error:",a.message))};return window.addEventListener("message",n),a({type:"voice-connect",id:e,hash:t}),{send:t=>!!i&&(a({type:"voice-send",id:e,message:t}),!0),disconnect:()=>{i=!1,window.removeEventListener("message",n),a({type:"voice-disconnect",id:e})}}}(this.id,this.data.integration.hash,e),!this.hosted&&(this.session=new b(e),await this.session.connect(this.data.integration.hash))}appendEvent(e){this.events=[e,...this.events]}sendClientEvent(e){e.event_id=e.event_id||crypto.randomUUID();let t=JSON.stringify(e);(this.hosted?this.hosted.send(t):this.session?.send(t))?this.appendEvent(e):console.error("Failed to send message - no data channel available",e)}registerTools(){this.isToolsAdded=!0,this.registerTool({type:"function",name:"set_personality_color",description:"returns a color based on the voice personality of the ai assistant. This should be called by the voice assistant each time it is asks to speak differently. If a color cannot be associated to the personality, the color should be a neutral color.",parameters:{type:"object",properties:{color:{type:"string",description:"css hex color string, reflecting the personality"},personality:{type:"string",description:"the personality of the voice assistant"}},required:["color","personality"]}},({color:e})=>{this.setColorByName("Voice Assistant Color",e)});let e=this.shared.getVariablesNames().join(", ");this.registerTool({type:"function",name:"set_variable",description:"Sets a Spline variable value when asked by the user.",parameters:{type:"object",properties:{name:{type:"string",description:`The name of the variable that needs to be set. Here's a list of available variables: ${e}. It the variable does not exist, don't call the function and warn the user about it.`},value:{type:"string",description:"The new value for this variable, should always be a string even for number and boolean variables, assume that the value will be cast to the proper type afterwards."}},required:["name","value","type"]}},({name:e,value:t})=>{let s=this.shared.getVariableByName(e);if(s){let e,i=this.shared.getVariable(s.id);e="number"==typeof i?parseFloat(t):"boolean"==typeof i?"true"===t.toLowerCase():{textValue:t},this.shared.updateVariable(s.id,e)}});let t=this.shared.getColorNames().join(", ");this.registerTool({type:"function",name:"set_color",description:"Sets a Spline color asset value when asked by the user.",parameters:{type:"object",properties:{name:{type:"string",description:`The name of the color asset that needs to be set. Here's a list of available color assets: ${t}. It the color asset does not exist, don't call the function and warn the user about it.`},value:{type:"string",description:"css hex color string"}},required:["name","value"]}},({name:e,value:t})=>{this.setColorByName(e,t)});let s=this.shared.scene,i=[];s.traverseEntity(e=>{e.data.events.forEach(e=>{if("AIAssistantTrigger"===e.data.type){let{description:t}=e.data;i.push(t)}})}),this.registerTool({type:"function",name:"trigger_event",description:"Trigger an event by name, here are the available events, please match what the user is asking for to one of these if it applies, otherwise don't call the function and warn the user.",parameters:{type:"object",properties:{description:{type:"string",description:`The name of the event that needs to be triggered. Here's a list of available events: ${JSON.stringify(i)}.`},direction:{type:"string",description:"default is forward, but can be forward or backward. Always set to forward unless the user ask to reverse or cancel the event, then set to backward."}},required:["description","direction"]}},({description:e,direction:t})=>{this.emitter.emit("trigger_event",{description:e,direction:t})}),this.sendClientEvent({type:"session.update",session:{type:"realtime",tools:this.tools.map(([e])=>e)}})}registerTool(e,t){this.tools.push([e,t])}disconnect(){this.voice=0,this.isConnected=!1,this.isToolsAdded=!1,this.session?.disconnect(),this.session=void 0,this.hosted?.disconnect(),this.hosted=null}computeAnalysisForListenerEvent(e){if("range"===e.analysis){let t=this.frequencies.slice(...e.analysisRange);return t.reduce((e,t)=>e+t,0)/t.length}return"single"===e.analysis?this.frequencies[e.analysisSingle]:this.voice}on(e,t){this.emitter.on(e,t)}off(e,t){this.emitter.off(e,t)}};s("AIAssistantListener",({eventContext:e,eventManager:t})=>new r(e,t)),s("AIAssistantTrigger",({eventContext:e,eventManager:t})=>new c(e,t)),i((e,t,s)=>new w(e,t,s)),n("ai-assistant");
@@ -0,0 +1 @@
1
+ import{a as e}from"./runtime-chunk-NTUTXO7Q.js";import{a as t,b as s}from"./runtime-chunk-DZNU62CT.js";import{a as r}from"./runtime-chunk-4YV3EXSU.js";import{b as i,e as n,f as o}from"./runtime-chunk-QVC5UDJO.js";import{a}from"./runtime-chunk-4KZXQGUQ.js";import"./runtime-chunk-5XUI4Z6R.js";import{a as h}from"./runtime-chunk-TZCHGFVF.js";import{Ga as c,Ha as d,o as u}from"./runtime-chunk-OW6T4XFV.js";import"./runtime-chunk-VGN7YHB7.js";import"./runtime-chunk-ML3Z74BL.js";var l=class extends t{constructor(e,t){super(e),this.eventManager=t,this.userAPIs={},this.events=[],this.onSuccess=({userAPIId:e})=>{this.events.forEach(t=>{t.data.userAPIId===e&&t.dispatchSuccess()})},this.onError=({userAPIId:e})=>{this.events.forEach(t=>{t.data.userAPIId===e&&t.dispatchError()})},this.userAPIs=e.sharedAssets.getUserAPIs()}connect(){this.eventContext.page.traverseEntity(e=>{e.data?.events.filter(e=>"API"===e.data.type&&!e.data.disabled).forEach(t=>{this.events.push(new p(t.id,t.data,e,this.eventContext.page,this.eventContext.sharedAssets,this.eventManager))})}),Object.entries(this.userAPIs).forEach(([e,t])=>{t.on("success",this.onSuccess),t.on("error",this.onError),t.autostart&&t.callUserAPI(this.eventContext.sharedAssets)})}disconnect(){Object.entries(this.userAPIs).forEach(([e,t])=>{t.off("success",this.onSuccess),t.off("error",this.onError)})}},p=class{constructor(e,t,s,r,i,n){this.id=e,this.data=t,this.object=s,this.successActions=o(t,t.successActions,r,i,n,s),this.errorActions=o(t,t.errorActions,r,i,n,s)}dispatchSuccess(){this.dispatchActions(this.successActions)}dispatchError(){this.dispatchActions(this.errorActions)}dispatchActions(e){e.Audio.forEach(e=>e.dispatchConditional()),e.Particles.forEach(e=>e.dispatchConditional()),e.Video.forEach(e=>e.dispatchConditional()),e.Create.forEach(e=>e.dispatch()),e.Destroy.forEach(e=>e.dispatch()),e.Reset.forEach(e=>e.dispatch()),e.Transition.forEach(e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this),e.init()}),e.Transition.forEach(e=>e.play()),e.Animation.forEach(e=>e.play()),e.SwitchCamera.forEach(e=>e.play()),e.SceneTransition.forEach(e=>e.dispatch()),e.SetVariable.forEach(e=>e.checkConditions()),e.SetVariable.forEach(e=>e.dispatch()),e.DynamicVariablePlay.forEach(e=>e.dispatch()),e.ClearLocalStorage.forEach(e=>e.dispatch()),e.UserAPI.forEach(e=>e.dispatch())}},f=class extends t{constructor(e,t){super(e),this.eventManager=t,this.userWebhooks={},this.events=[],this.onMessage=({userWebhookId:e})=>{this.events.forEach(t=>{t.data.userWebhookId===e&&t.dispatch()})},this.userWebhooks=e.sharedAssets.getUserWebhooks()}connect(){this.eventContext.page.traverseEntity(e=>{e.data?.events.filter(e=>"WEBHOOK"===e.data.type&&!e.data.disabled).forEach(t=>{this.events.push(new m(t.id,t.data,e,this.eventContext.page,this.eventContext.sharedAssets,this.eventManager))})}),Object.entries(this.userWebhooks).forEach(([e,t])=>{t.connect(),t.on("message",this.onMessage)})}disconnect(){Object.entries(this.userWebhooks).forEach(([e,t])=>{t.off("message",this.onMessage),t.disconnect()})}},m=class{constructor(e,t,s,r,i,n){this.id=e,this.data=t,this.object=s,this.actions=o(t,t.actions,r,i,n,s)}dispatch(){let e=this.actions;e.Audio.forEach(e=>e.dispatchConditional()),e.Particles.forEach(e=>e.dispatchConditional()),e.Video.forEach(e=>e.dispatchConditional()),e.Create.forEach(e=>e.dispatch()),e.Destroy.forEach(e=>e.dispatch()),e.Reset.forEach(e=>e.dispatch()),e.Transition.forEach(e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this),e.init()}),e.Transition.forEach(e=>e.play()),e.Animation.forEach(e=>e.play()),e.SwitchCamera.forEach(e=>e.play()),e.SceneTransition.forEach(e=>e.dispatch()),e.SetVariable.forEach(e=>e.checkConditions()),e.SetVariable.forEach(e=>e.dispatch()),e.DynamicVariablePlay.forEach(e=>e.dispatch()),e.ClearLocalStorage.forEach(e=>e.dispatch()),e.UserAPI.forEach(e=>e.dispatch())}},v=class{constructor(e,t,s,r){this.data=e,this.page=t,this.shared=s,this.condition=r}dispatch(){if(!1===n(this.shared,this.condition))return!1;if(this.data.userAPIId){let e=this.shared.getUserAPI(this.data.userAPIId);e&&"callUserAPI"in e&&e.callUserAPI(this.shared)}}dispose(){}},E=class{constructor(t,s,r){this.id=t,this.userAPI=s,this.result=void 0,this.error="null",this.isPrefetched=!1,this.isLoading=!1,this.isLoaded=!1,this.prefetchPromise=new Promise(e=>e()),this.emitter=e(),this._innerCallUserAPI=async e=>{this.emitter.emit("start",{userAPIId:this.id}),this.isLoading=!0,this.isLoading=!1;try{this.result=await async function(e,t,s=new AbortController){let r,i,n=e.url,o=e.proxy?.enabled??!1;if("OpenAI"===e.integration?.type){let s=b(""===e.integration.prompt?[]:JSON.parse(e.integration.prompt),t),r=""===e.integration.behavior?[]:b(JSON.parse(e.integration.behavior),t);i=`{\n\t\t"model": "${e.integration.model}",\n\t\t"messages": [${e.integration.useBehavior?`\n\t\t{\n\t\t\t"role": "system",\n\t\t\t"content": "${r}"\n\t\t},`:""}\n\t\t{\n\t\t\t"role": "user",\n\t\t\t"content": "${s}"\n\t\t}\n\t\t]\n\t}`}if(o){let s;n=`https://apis.spline.design/file/${e.proxy.fileId}/external-api/request?uuidexternalapi=${e.proxy.proxyId}`,void 0!==i?s=i:"POST"===e.method&&e.body&&(s=b(JSON.parse(e.body),t)),void 0!==s&&(n+=`&data=${encodeURIComponent(s.replace(/(\r\n|\n|\r|\t)/gm,""))}`)}else"OpenAI"===e.integration?.type?r=i:"POST"===e.method&&e.body&&(r=b(JSON.parse(e.body),t));let a=await fetch(n,{method:o?"GET":e.method,headers:o?void 0:g(e),signal:s.signal,body:r});if(!a.ok)throw new Error("status:"+a.status+"_:_"+a.statusText);if("OpenAI"===e.integration?.type){let e=await a.json();return o&&(e=e.response),{content:e.choices[0].message.content}}{let e=await a.json();return o&&(e=e.response),e}}(this.userAPI,e),this.error="null",this.emitter.emit("success",{userAPIId:this.id})}catch(e){let t=e.message?.split("_:_")?.[0]?.replace("status:","")??"null";this.error=t,this.result=null,this.emitter.emit("error",{userAPIId:this.id})}this.isLoading=!1,this.isPrefetched=!0,this.isLoaded=!0},"OpenAI"===s?.integration?.type?this.result={content:""}:"GET"===s.method&&""!==s.url&&(this.prefetchPromise=this.prefetch(r)),this._debouncedCallUserAPI=this._innerCallUserAPI,this._updateDebouncedCallUserAPI(),this._debouncedPrefetch=a(this.prefetch,1e3,{trailing:!0})}_updateDebouncedCallUserAPI(){this._debouncedCallUserAPI=void 0!==this.userAPI.debounce&&this.userAPI.debounce>0?a(this._innerCallUserAPI,this.userAPI.debounce,{leading:!0,trailing:!0}):this._innerCallUserAPI}async prefetch(e){await this.callUserAPI(e)}async callUserAPI(e){await this._debouncedCallUserAPI(e)}update(e,t,s=!0){this.userAPI=e,this._updateDebouncedCallUserAPI(),""!==this.userAPI.url&&"GET"===this.userAPI.method&&s&&this._debouncedPrefetch(t)}retrieveValue(e){if(this.result)try{return u.zoom(this.result,e)}catch(e){console.error(e)}}retrieveZoomedKeyValues(e){if(this.result){let s=e&&e.length?u.zoom(this.result,e):this.result;if("object"==typeof(t=s)&&null!==t)return Object.entries(s);if(function(e){return Array.isArray(e)}(s))return s.map((e,t)=>[t.toString(),e]);throw function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null===e}(s)?new Error("This path points to a value, use retrieveValue() instead. "+e?.join(".")):new Error("Path error"+e?.join("."))}var t}dispose(){}on(e,t){this.emitter.on(e,t)}off(e,t){this.emitter.off(e,t)}get autostart(){return this.userAPI.autoStart}};function g(e){let t=new Headers;return e.headers.forEach(e=>{""!==e.data.key&&t.append(e.data.key,e.data.value)}),t}var A=(e,t)=>{if("string"==typeof e){let s=t.getVariable(e);if(s)return A(s,t)}return d.isBoolean(e)?d.getDisplayedValue(e).toLowerCase():d.getDisplayedValue(e)},b=(e,t)=>e.map((e,s)=>{if("text"in e)return e.text;if("type"in e){if("paragraph"===e.type)return(s>0?"\n":"")+b(e.children,t);if("variable"===e.type){let s=t.getVariable(e.variableId);if(void 0!==s)return A(s,t)}}return""}).join(""),I=1e3,P=512*I,y=class{constructor(t,s){this.id=t,this.userWebhook=s,this.result=void 0,this._connected=!1,this.emitter=e(),this.reconnectWaitFor=I,this._onError=e=>{this.eventSource?.removeEventListener("message",this._onMessage),this.eventSource?.removeEventListener("error",this._onError),this.eventSource?.removeEventListener("open",this._onConnected),this._scheduleReconnect()},this._onConnected=e=>{clearTimeout(this.scheduledReconnectHandle),this.reconnectWaitFor=I,this._connected=!0},this._onDisconnected=()=>{clearTimeout(this.scheduledReconnectHandle),this.reconnectWaitFor=I,this._connected=!1},this._onMessage=e=>{let t,s=e.data;try{t=JSON.parse(s)}catch(e){console.error("Error parsing webhook message",e)}if(t){let e=!1;this.userWebhook.parametersSchemas.forEach(({data:s})=>{void 0!==t[s.name]&&function(e,t){let s=typeof e;return!!(("string"===t||"number"===t)&&s===t||"boolean"===t&&("true"===e||"false"===e||!0===e||!1===e)||"image"===t&&"string"===s&&e.startsWith("http"))}(t[s.name],s.type)&&(void 0===this.result&&(this.result={}),this.result[s.name]=t[s.name],e=!0)}),e&&this.emitter.emit("message",{userWebhookId:this.id})}}}connect(){clearTimeout(this.scheduledReconnectHandle),this.userWebhook.url&&(this.eventSource=new EventSource("https://hooks.spline.design/events?hashFile="+this.userWebhook.url),this.eventSource.addEventListener("message",this._onMessage),this.eventSource.addEventListener("error",this._onError),this.eventSource.addEventListener("open",this._onConnected))}disconnect(){this.eventSource?.removeEventListener("message",this._onMessage),this.eventSource?.removeEventListener("error",this._onError),this.eventSource?.removeEventListener("open",this._onConnected),this.eventSource?.close(),this._onDisconnected(),clearTimeout(this.scheduledReconnectHandle)}_scheduleReconnect(){this.reconnectWaitFor*=2,this.reconnectWaitFor>P&&(this.reconnectWaitFor=P),clearTimeout(this.scheduledReconnectHandle),this.scheduledReconnectHandle=setTimeout(()=>{this.scheduledReconnectHandle=void 0,this.connect()},this.reconnectWaitFor)}update(e){this.userWebhook=e}dispose(){this._connected&&this.disconnect()}get connected(){return this._connected}on(e,t){this.emitter.on(e,t)}off(e,t){this.emitter.off(e,t)}getParametersKeys(){return this.userWebhook.parametersSchemas.map(e=>e.data.name)}getParameterValue(e){if(this.getParametersKeys().includes(e)){if(this.result)return this.result?.[e];for(let t of this.userWebhook.parametersSchemas)if(t.data.name===e)return c.defaultParameterValueByType(t.data.type)}}};s("API",({eventContext:e,eventManager:t})=>new l(e,t)),s("WEBHOOK",({eventContext:e,eventManager:t})=>new f(e,t)),i("UserAPI",({data:e,page:t,shared:s,actionCondition:r})=>new v(e,t,s,r)),r({createUserAPI:(e,t,s)=>new E(e,t,s),createUserWebhook:(e,t)=>new y(e,t)}),h("api-services");
@@ -1 +1 @@
1
- import{c as t}from"./runtime-chunk-NSD7DU3P.js";import{b as i,e as a}from"./runtime-chunk-MM75L5X4.js";import"./runtime-chunk-Z5OH244S.js";import{a as s}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-OW6T4XFV.js";import"./runtime-chunk-VGN7YHB7.js";import"./runtime-chunk-ML3Z74BL.js";var e=new Map,o=new Map,d=class{constructor(i,a,s,d){this.data=a,this.isPlayAudioAction=!0;let{audio:n,volume:r,delay:h,loop:u}=a;if(!n)throw new Error("Missing property");try{let i="string"==typeof n?d.getAudio(n).src:n.data;this.audioPlayer=new t({src:i,volume:r,delay:h,loop:u})}catch{console.warn(`Could not create an audio player for this object: "${s.name}" and this audio: "${n}"`)}o.has(s.uuid)?o.get(s.uuid).push(this):o.set(s.uuid,[this]),e.set(i,this)}playByToggle(){"stop"===this.data.toggle?"playing"===this.audioPlayer?.status?this.audioPlayer.stop():(this.audioPlayer?.stop(),this.audioPlayer?.play()):"pause"===this.data.toggle?"playing"===this.audioPlayer?.status?this.audioPlayer?.pause():this.audioPlayer?.play():(this.audioPlayer?.stop(),this.audioPlayer?.play())}dispose(){this.audioPlayer?.stop()}},n=class{constructor(t){this.data=t,this.isPauseAudioAction=!0}dispatch(){this.data.playAudio?this.pauseAudio(this.data.playAudio):this.data.object?this.pauseAllAudiosFromObject(this.data.object):this.pauseAllAudios()}pauseAudio(t){let i=e.get(t);!i||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout(()=>{i.audioPlayer?.[this.data.interaction](),this.disposeDelay()},this.data.delay)):i.audioPlayer?.[this.data.interaction]())}pauseAllAudiosFromObject(t){let i=o.get(t);!i?.length||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout(()=>{i.forEach(t=>t.audioPlayer?.[this.data.interaction]()),this.disposeDelay()},this.data.delay)):i.forEach(t=>t.audioPlayer?.[this.data.interaction]()))}pauseAllAudios(){let t=[...o.values()];!t.length||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout(()=>{t.forEach(t=>{t.forEach(t=>{t.audioPlayer?.[this.data.interaction]()})}),this.disposeDelay()},this.data.delay)):t.forEach(t=>{t.forEach(t=>{t.audioPlayer?.[this.data.interaction]()})}))}disposeDelay(){clearTimeout(this.timeoutId),delete this.timeoutId}dispose(){clearTimeout(this.timeoutId),delete this.timeoutId}},r=class{constructor(t,i,a,s,e){if(this.data=i,this.shared=s,this.condition=e,"play"===i.interaction)this.interaction=new d(t,i,a,s);else{if("pause"!==i.interaction&&"stop"!==i.interaction)throw new Error("Missing property");this.interaction=new n(i)}}dispatchBasic(){if(!1===a(this.shared,this.condition))return!1;this.interaction instanceof d?this.interaction.playByToggle():this.interaction.dispatch()}dispatchConditional(){if(!1===a(this.shared,this.condition))return!1;this.interaction instanceof d?this.interaction.audioPlayer?.play():this.interaction.dispatch()}dispatchGameControl(t){if(!1===a(this.shared,this.condition))return!1;this.interaction instanceof d&&("start"===t?this.interaction.audioPlayer?.play():this.interaction.audioPlayer?.stop())}dispose(){this.interaction.dispose()}};i("Audio",({id:t,data:i,object:a,shared:s,actionCondition:e})=>new r(t,i,a,s,e)),s("audio");
1
+ import{c as t}from"./runtime-chunk-NSD7DU3P.js";import{b as i,e as a}from"./runtime-chunk-QVC5UDJO.js";import"./runtime-chunk-5XUI4Z6R.js";import{a as s}from"./runtime-chunk-TZCHGFVF.js";import"./runtime-chunk-OW6T4XFV.js";import"./runtime-chunk-VGN7YHB7.js";import"./runtime-chunk-ML3Z74BL.js";var e=new Map,o=new Map,d=class{constructor(i,a,s,d){this.data=a,this.isPlayAudioAction=!0;let{audio:n,volume:r,delay:h,loop:u}=a;if(!n)throw new Error("Missing property");try{let i="string"==typeof n?d.getAudio(n).src:n.data;this.audioPlayer=new t({src:i,volume:r,delay:h,loop:u})}catch{console.warn(`Could not create an audio player for this object: "${s.name}" and this audio: "${n}"`)}o.has(s.uuid)?o.get(s.uuid).push(this):o.set(s.uuid,[this]),e.set(i,this)}playByToggle(){"stop"===this.data.toggle?"playing"===this.audioPlayer?.status?this.audioPlayer.stop():(this.audioPlayer?.stop(),this.audioPlayer?.play()):"pause"===this.data.toggle?"playing"===this.audioPlayer?.status?this.audioPlayer?.pause():this.audioPlayer?.play():(this.audioPlayer?.stop(),this.audioPlayer?.play())}dispose(){this.audioPlayer?.stop()}},n=class{constructor(t){this.data=t,this.isPauseAudioAction=!0}dispatch(){this.data.playAudio?this.pauseAudio(this.data.playAudio):this.data.object?this.pauseAllAudiosFromObject(this.data.object):this.pauseAllAudios()}pauseAudio(t){let i=e.get(t);!i||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout(()=>{i.audioPlayer?.[this.data.interaction](),this.disposeDelay()},this.data.delay)):i.audioPlayer?.[this.data.interaction]())}pauseAllAudiosFromObject(t){let i=o.get(t);!i?.length||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout(()=>{i.forEach(t=>t.audioPlayer?.[this.data.interaction]()),this.disposeDelay()},this.data.delay)):i.forEach(t=>t.audioPlayer?.[this.data.interaction]()))}pauseAllAudios(){let t=[...o.values()];!t.length||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout(()=>{t.forEach(t=>{t.forEach(t=>{t.audioPlayer?.[this.data.interaction]()})}),this.disposeDelay()},this.data.delay)):t.forEach(t=>{t.forEach(t=>{t.audioPlayer?.[this.data.interaction]()})}))}disposeDelay(){clearTimeout(this.timeoutId),delete this.timeoutId}dispose(){clearTimeout(this.timeoutId),delete this.timeoutId}},r=class{constructor(t,i,a,s,e){if(this.data=i,this.shared=s,this.condition=e,"play"===i.interaction)this.interaction=new d(t,i,a,s);else{if("pause"!==i.interaction&&"stop"!==i.interaction)throw new Error("Missing property");this.interaction=new n(i)}}dispatchBasic(){if(!1===a(this.shared,this.condition))return!1;this.interaction instanceof d?this.interaction.playByToggle():this.interaction.dispatch()}dispatchConditional(){if(!1===a(this.shared,this.condition))return!1;this.interaction instanceof d?this.interaction.audioPlayer?.play():this.interaction.dispatch()}dispatchGameControl(t){if(!1===a(this.shared,this.condition))return!1;this.interaction instanceof d&&("start"===t?this.interaction.audioPlayer?.play():this.interaction.audioPlayer?.stop())}dispose(){this.interaction.dispose()}};i("Audio",({id:t,data:i,object:a,shared:s,actionCondition:e})=>new r(t,i,a,s,e)),s("audio");
@@ -0,0 +1 @@
1
+ function n(n){return!0===n?.isParticleSystem}function t(n){return!0===n?.isHairSystem}function e(n){return!0===n?.isShapeBlendEntity}function i(n){return!0===n?.isPathObject}function r(n){return!0===n?.isObject2D}function s(n){return!0===n?.isUIObject}function u(n){return"object"==typeof n&&null!==n&&"booleanOp"in n}function o(n){return!0===n?.isCloner}function c(n){return!0===n?.isClone}function a(n){return!0===n?.isComponentObject}export{n as a,t as b,e as c,i as d,r as e,s as f,u as g,o as h,c as i,a as j};
@@ -1 +1 @@
1
- import{a as t}from"./runtime-chunk-BJVCOW72.js";import{d as e}from"./runtime-chunk-VRVV54WH.js";import{Sc as s}from"./runtime-chunk-VGN7YHB7.js";var r=class extends(e(s,t)){constructor(t,e){super(),this.super_Entity(t,e),this.objectHelper.update(),"Empty"===this.data.type&&(this.objectHelper.visible=!1)}updateState(t,e){this.updateState_Entity(t,e),"buffer"in t&&1===Object.keys(t).length&&e.scene.reloadSplats()}};export{r as a};
1
+ import{a as t}from"./runtime-chunk-I5QFGBIU.js";import{d as e}from"./runtime-chunk-RF63UVAU.js";import{Sc as s}from"./runtime-chunk-VGN7YHB7.js";var r=class extends(e(s,t)){constructor(t,e){super(),this.super_Entity(t,e),this.objectHelper.update(),"Empty"===this.data.type&&(this.objectHelper.visible=!1)}updateState(t,e){this.updateState_Entity(t,e),"buffer"in t&&1===Object.keys(t).length&&e.scene.reloadSplats()}};export{r as a};
@@ -0,0 +1 @@
1
+ import{a as e,b as t}from"./runtime-chunk-SL64ZYCB.js";import{c as s,d as o}from"./runtime-chunk-RF63UVAU.js";import{da as r}from"./runtime-chunk-YFAATRJU.js";import{h as i,o as a,p as n,q as d,r as h,s as l,t as m,v as p}from"./runtime-chunk-OOC7YSI5.js";import{i as u}from"./runtime-chunk-2PT2WH66.js";import{Oc as c,bd as y,dd as g,ue as f}from"./runtime-chunk-VGN7YHB7.js";var b=new c,A=new c,M=new c,S=new c,v=new c;function w(e){let t=!1;return e.scene.objects.traverse((e,s)=>{"BooleanGeometry"===s.geometry?.type&&(t=!0)}),t}function x(e,t){let s=e.cloner;return void 0!==s&&s.parent===t?s:void 0}var D=new Float32Array(0);function O(e,t,s,o){let r=16*(t.children.length+1);D.length<r&&(D=new Float32Array(r));let i=0,a=e=>{e.toArray(D,16*i),i++},n=!0!==t.parameters.hideBase;n&&a(o),M.multiplyMatrices(e.hiddenMatrix,e.matrix);for(let e of t.children)!u(e)||!1===e.playModeVisible||(S.multiplyMatrices(e.hiddenMatrix,e.matrix).multiply(e.pivotMatrix),v.multiplyMatrices(M,S),(!n||!v.equals(o))&&a(v));try{return 0===i?0:m(s,D.subarray(0,16*i))}finally{l(s)}}var B,F=class extends r{constructor(e,t,s){super(e,t),this.data=t,this.meshSetAddresses=[],this.needsTransformForDownstream=!1,this.geometry=new g,this.onAfterRender=(e,t,s,o,r,i)=>{super.onAfterRender(e,t,s,o,r,i),this.recomputeBoolean()},this.geometry.userData.parameters={width:0,height:0,depth:0}}get booleanOp(){return this.data.geometry.operation}get phongAngle(){return this.data.geometry.phongAngle??45}get isLOD(){return this.recomputeBoolean(),!1}updateByPatchedOp(e,t,s){super.updateByPatchedOp(e,t,s),1===e.path.length&&"geometry"===e.path[0]&&0===e.type&&void 0!==e.props.operation&&(this.freeBooleanPointer(),this.resetBBoxNeedsUpdate())}freeBooleanPointer(){super.freeBooleanPointer(),this.geometry.dispose()}recomputeBoolean(s,o=!0){if(-1!==this.booleanMeshSetAddress&&!s)return;for(let e=0;e<this.children.length;e++){let t=this.children[e];t instanceof F&&!0===t.dataPatched.visible&&t.recomputeBoolean(!0===s,o)}this.meshSetAddresses=[];for(let e=0;e<this.children.length;e++){let t=this.children[e];if(t instanceof p&&!0===t.dataPatched.visible&&t.geometry.attributes.position?.count>0&&t.geometry.drawRange.count>0&&0!==t.booleanMeshSetAddress){b.multiplyMatrices(t.hiddenMatrix,t.matrix).multiply(t.pivotMatrix);try{let e=x(t,this);if(-1===t.booleanMeshSetAddress){if((t.geometry.index??t.geometry.getAttribute("position")).count/3<15e5){let r=a(t.geometry,!0===s,o);t.booleanMeshSetAddress=void 0===e||-1===r?r:O(t,e,r,b)}if(-1===t.booleanMeshSetAddress)return;void 0===e&&h(t.booleanMeshSetAddress,b),t.booleanMatrixInvOld.copy(b).invert(),t.booleanWasTransformed=!1}else t instanceof F&&!0===t.needsTransformForDownstream?(void 0===e?h(t.booleanMeshSetAddress,b):t.booleanMeshSetAddress=O(t,e,t.booleanMeshSetAddress,b),t.needsTransformForDownstream=!1):!0===t.booleanWasTransformed&&(h(t.booleanMeshSetAddress,A.multiplyMatrices(b,t.booleanMatrixInvOld)),t.booleanMatrixInvOld.copy(b).invert(),t.booleanWasTransformed=!1)}catch(e){console.error(e),t.booleanMeshSetAddress=0,t.geometry.userData.booleanOperationDidFail=!0;continue}if(0===t.booleanMeshSetAddress)continue;this.meshSetAddresses.push(t.booleanMeshSetAddress),t.geometry.userData.booleanOperationDidFail=!1}}if(0===this.meshSetAddresses.length){if(0!==this.geometry.getAttribute("position")?.array.length){let e=this.geometry;e.dispose(),this.geometry=new g,this.geometry.userData=e.userData,this.geometry.boundingSphere=e.boundingSphere,this.geometry.setAttribute("position",new y([],3))}return void this.geometry.setDrawRange(0,0)}if(!0===s)return d(this.meshSetAddresses,this.booleanOp);let r=this.geometry;r.dispose(),this.geometry=new g,this.geometry.userData=r.userData,this.geometry.boundingSphere=r.boundingSphere;try{this.booleanMeshSetAddress=n(this.meshSetAddresses,this.booleanOp,this.geometry,this.phongAngle)}catch(e){this.booleanMeshSetAddress=0,this.geometry.userData.booleanOperationDidFail=!0,console.error(e)}this.booleanMatrixInvOld.copy(this.matrix).invert(),this.needsTransformForDownstream=!0,e(this),t(this)}dispose(){super.dispose(),this.geometry.dispose()}};(B||(B={})).is=function(e){return i.is(e)&&e instanceof f};var P=(e,t)=>class extends(o(e,t)){updateState_Light(e,t){if(this.updateState_Entity(e,t),void 0!==e.color&&(this.color=t.shared.color(e.color)),void 0!==e.intensity&&(this.intensity=e.intensity*Math.PI),void 0!==e.depth){let t=this.shadow;t.camera.far=e.depth,t.needsUpdate=!0}void 0!==e.shadows&&(this.castShadow=e.shadows)}},T=e=>e instanceof p,j=e=>null!==e&&e instanceof F,k=e=>s.is(e);export{w as a,F as b,B as c,P as d,T as e,j as f,k as g};