@splinetool/runtime 2.0.72 → 2.0.74

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 (270) hide show
  1. package/AGENTS.md +245 -0
  2. package/build/{runtime-chunk-UFEKX2KH.js → runtime-chunk-2BGTDNPM.js} +1 -1
  3. package/build/runtime-chunk-2BGTDNPM.js.br +0 -0
  4. package/build/runtime-chunk-2BGTDNPM.js.gz +0 -0
  5. package/build/{runtime-chunk-2W3XFRTZ.js → runtime-chunk-3BVK77PB.js} +1 -1
  6. package/build/runtime-chunk-3BVK77PB.js.br +0 -0
  7. package/build/runtime-chunk-3BVK77PB.js.gz +0 -0
  8. package/build/{runtime-chunk-NFU26B3N.js → runtime-chunk-3IDUZQCX.js} +1 -1
  9. package/build/runtime-chunk-3IDUZQCX.js.br +0 -0
  10. package/build/runtime-chunk-3IDUZQCX.js.gz +0 -0
  11. package/build/{runtime-chunk-MD3MRPBS.js → runtime-chunk-7EZLEGAR.js} +1 -1
  12. package/build/runtime-chunk-7EZLEGAR.js.br +0 -0
  13. package/build/runtime-chunk-7EZLEGAR.js.gz +0 -0
  14. package/build/{runtime-chunk-BIWN33UT.js → runtime-chunk-AHV7KLQP.js} +1 -1
  15. package/build/runtime-chunk-AHV7KLQP.js.br +0 -0
  16. package/build/runtime-chunk-AHV7KLQP.js.gz +0 -0
  17. package/build/{runtime-chunk-DA27AWYB.js → runtime-chunk-GAIDJXNU.js} +1 -1
  18. package/build/runtime-chunk-GAIDJXNU.js.br +0 -0
  19. package/build/runtime-chunk-GAIDJXNU.js.gz +0 -0
  20. package/build/{runtime-chunk-4UM6F5Y5.js → runtime-chunk-HT3IDSSP.js} +1 -1
  21. package/build/runtime-chunk-HT3IDSSP.js.br +0 -0
  22. package/build/runtime-chunk-HT3IDSSP.js.gz +0 -0
  23. package/build/{runtime-chunk-WGQDLFC4.js → runtime-chunk-I4ELBYXH.js} +1 -1
  24. package/build/runtime-chunk-I4ELBYXH.js.br +0 -0
  25. package/build/runtime-chunk-I4ELBYXH.js.gz +0 -0
  26. package/build/{runtime-chunk-GWWLLXI6.js → runtime-chunk-IDLPSZ23.js} +1 -1
  27. package/build/runtime-chunk-IDLPSZ23.js.br +0 -0
  28. package/build/runtime-chunk-IDLPSZ23.js.gz +0 -0
  29. package/build/{runtime-chunk-JJPB3HUE.js → runtime-chunk-ITY6YQG7.js} +1 -1
  30. package/build/runtime-chunk-ITY6YQG7.js.br +0 -0
  31. package/build/runtime-chunk-ITY6YQG7.js.gz +0 -0
  32. package/build/{runtime-chunk-XINIFQH4.js → runtime-chunk-LHETPF7C.js} +1 -1
  33. package/build/runtime-chunk-LHETPF7C.js.br +0 -0
  34. package/build/runtime-chunk-LHETPF7C.js.gz +0 -0
  35. package/build/{runtime-chunk-XVPD2RMH.js → runtime-chunk-MB4PQARC.js} +1 -1
  36. package/build/runtime-chunk-MB4PQARC.js.br +0 -0
  37. package/build/runtime-chunk-MB4PQARC.js.gz +0 -0
  38. package/build/{runtime-chunk-YAYGHTVH.js → runtime-chunk-OGOYYKTI.js} +1 -1
  39. package/build/runtime-chunk-OGOYYKTI.js.br +0 -0
  40. package/build/runtime-chunk-OGOYYKTI.js.gz +0 -0
  41. package/build/{runtime-chunk-4DBC4IGT.js → runtime-chunk-PLFQ6EYP.js} +1 -1
  42. package/build/runtime-chunk-PLFQ6EYP.js.br +0 -0
  43. package/build/runtime-chunk-PLFQ6EYP.js.gz +0 -0
  44. package/build/{runtime-chunk-OSMLEERI.js → runtime-chunk-RAC7ZRCY.js} +1 -1
  45. package/build/runtime-chunk-RAC7ZRCY.js.br +0 -0
  46. package/build/runtime-chunk-RAC7ZRCY.js.gz +0 -0
  47. package/build/{runtime-chunk-DVJDUERJ.js → runtime-chunk-RF5RJ7WV.js} +1 -1
  48. package/build/runtime-chunk-RF5RJ7WV.js.br +0 -0
  49. package/build/runtime-chunk-RF5RJ7WV.js.gz +0 -0
  50. package/build/runtime-chunk-RQMCMQVY.js +1 -0
  51. package/build/runtime-chunk-RQMCMQVY.js.br +0 -0
  52. package/build/runtime-chunk-RQMCMQVY.js.gz +0 -0
  53. package/build/{runtime-chunk-7W7YLDAL.js → runtime-chunk-S4LSS4IT.js} +1 -1
  54. package/build/runtime-chunk-S4LSS4IT.js.br +0 -0
  55. package/build/runtime-chunk-S4LSS4IT.js.gz +0 -0
  56. package/build/{runtime-chunk-FZQTKGRC.js → runtime-chunk-SPQPAGPZ.js} +1 -1
  57. package/build/runtime-chunk-SPQPAGPZ.js.br +0 -0
  58. package/build/runtime-chunk-SPQPAGPZ.js.gz +0 -0
  59. package/build/{runtime-chunk-4JASYPCF.js → runtime-chunk-TSG4YZAG.js} +1 -1
  60. package/build/runtime-chunk-TSG4YZAG.js.br +0 -0
  61. package/build/runtime-chunk-TSG4YZAG.js.gz +0 -0
  62. package/build/{runtime-chunk-LMQM5XOS.js → runtime-chunk-U3FFE3XY.js} +1 -1
  63. package/build/runtime-chunk-U3FFE3XY.js.br +0 -0
  64. package/build/runtime-chunk-U3FFE3XY.js.gz +0 -0
  65. package/build/{runtime-chunk-JQLD4OPY.js → runtime-chunk-VFPHGGAW.js} +1 -1
  66. package/build/runtime-chunk-VFPHGGAW.js.br +1 -0
  67. package/build/runtime-chunk-VFPHGGAW.js.gz +0 -0
  68. package/build/{runtime-chunk-XBYRIPUG.js → runtime-chunk-XSOC3ZAU.js} +1 -1
  69. package/build/runtime-chunk-XSOC3ZAU.js.br +0 -0
  70. package/build/runtime-chunk-XSOC3ZAU.js.gz +0 -0
  71. package/build/{runtime-chunk-DWEWYXEP.js → runtime-chunk-YF6YZ4JP.js} +1 -1
  72. package/build/runtime-chunk-YF6YZ4JP.js.br +0 -0
  73. package/build/runtime-chunk-YF6YZ4JP.js.gz +0 -0
  74. package/build/{runtime-chunk-5DZZWLIJ.js → runtime-chunk-ZPGBO3RF.js} +1 -1
  75. package/build/runtime-chunk-ZPGBO3RF.js.br +0 -0
  76. package/build/runtime-chunk-ZPGBO3RF.js.gz +0 -0
  77. package/build/{runtime-classicRuntime-X56XM7O7.js → runtime-classicRuntime-FXFVFMJH.js} +1 -1
  78. package/build/runtime-classicRuntime-FXFVFMJH.js.br +0 -0
  79. package/build/runtime-classicRuntime-FXFVFMJH.js.gz +0 -0
  80. package/build/{runtime-cloners-ZZQ3JSPS.js → runtime-cloners-QC75JC53.js} +1 -1
  81. package/build/runtime-cloners-QC75JC53.js.br +0 -0
  82. package/build/runtime-cloners-QC75JC53.js.gz +0 -0
  83. package/build/{runtime-components-SKDLGSYY.js → runtime-components-X4VSF3YN.js} +1 -1
  84. package/build/runtime-components-X4VSF3YN.js.br +0 -0
  85. package/build/runtime-components-X4VSF3YN.js.gz +0 -0
  86. package/build/{runtime-createDestroy-3WWJS6DW.js → runtime-createDestroy-VA7S3QOX.js} +1 -1
  87. package/build/runtime-createDestroy-VA7S3QOX.js.br +0 -0
  88. package/build/runtime-createDestroy-VA7S3QOX.js.gz +0 -0
  89. package/build/{runtime-dragDrop-5EB5RFKO.js → runtime-dragDrop-MMW4JJK5.js} +1 -1
  90. package/build/runtime-dragDrop-MMW4JJK5.js.br +0 -0
  91. package/build/runtime-dragDrop-MMW4JJK5.js.gz +0 -0
  92. package/build/{runtime-gameControls-Q2KBFYRA.js → runtime-gameControls-RTLF3SFV.js} +1 -1
  93. package/build/runtime-gameControls-RTLF3SFV.js.br +0 -0
  94. package/build/runtime-gameControls-RTLF3SFV.js.gz +0 -0
  95. package/build/{runtime-hair-LIZCJ4W7.js → runtime-hair-VQLVGARM.js} +1 -1
  96. package/build/runtime-hair-VQLVGARM.js.br +1 -0
  97. package/build/runtime-hair-VQLVGARM.js.gz +0 -0
  98. package/build/{runtime-mergeStaticGeometries-PVN5C5JP.js → runtime-mergeStaticGeometries-O3ASOOEF.js} +1 -1
  99. package/build/runtime-mergeStaticGeometries-O3ASOOEF.js.br +0 -0
  100. package/build/runtime-mergeStaticGeometries-O3ASOOEF.js.gz +0 -0
  101. package/build/{runtime-miscActions-RIFB4OIF.js → runtime-miscActions-GUOUHOIP.js} +1 -1
  102. package/build/runtime-miscActions-GUOUHOIP.js.br +0 -0
  103. package/build/runtime-miscActions-GUOUHOIP.js.gz +0 -0
  104. package/build/{runtime-mouseHover-AEXWCYG7.js → runtime-mouseHover-VESYEYPP.js} +1 -1
  105. package/build/runtime-mouseHover-VESYEYPP.js.br +0 -0
  106. package/build/runtime-mouseHover-VESYEYPP.js.gz +0 -0
  107. package/build/{runtime-particles-PE4BAL4K.js → runtime-particles-3FGB32NG.js} +1 -1
  108. package/build/runtime-particles-3FGB32NG.js.br +0 -0
  109. package/build/runtime-particles-3FGB32NG.js.gz +0 -0
  110. package/build/{runtime-paths-27ZBN6BN.js → runtime-paths-5TBOKC73.js} +1 -1
  111. package/build/runtime-paths-5TBOKC73.js.br +0 -0
  112. package/build/runtime-paths-5TBOKC73.js.gz +0 -0
  113. package/build/{runtime-resize-PWV3NCBC.js → runtime-resize-WYDL5VDC.js} +1 -1
  114. package/build/runtime-resize-WYDL5VDC.js.br +0 -0
  115. package/build/runtime-resize-WYDL5VDC.js.gz +0 -0
  116. package/build/{runtime-sceneTransition-LQV3JOPO.js → runtime-sceneTransition-JC5CBZ7Y.js} +1 -1
  117. package/build/runtime-sceneTransition-JC5CBZ7Y.js.br +0 -0
  118. package/build/runtime-sceneTransition-JC5CBZ7Y.js.gz +0 -0
  119. package/build/runtime-scroll-LUQTGR3L.js +1 -0
  120. package/build/runtime-scroll-LUQTGR3L.js.br +0 -0
  121. package/build/runtime-scroll-LUQTGR3L.js.gz +0 -0
  122. package/build/runtime-shapeBlends-FFFCEEBA.js +1 -0
  123. package/build/runtime-shapeBlends-FFFCEEBA.js.br +3 -0
  124. package/build/runtime-shapeBlends-FFFCEEBA.js.gz +0 -0
  125. package/build/{runtime-text-XOBN3DS6.js → runtime-text-NDE2MG7P.js} +1 -1
  126. package/build/runtime-text-NDE2MG7P.js.br +0 -0
  127. package/build/runtime-text-NDE2MG7P.js.gz +0 -0
  128. package/build/{runtime-textInputs-XRKHUYMZ.js → runtime-textInputs-TQVKLR6P.js} +1 -1
  129. package/build/runtime-textInputs-TQVKLR6P.js.br +0 -0
  130. package/build/runtime-textInputs-TQVKLR6P.js.gz +0 -0
  131. package/build/{runtime-timeline-2IHPBLTC.js → runtime-timeline-OYV32FRI.js} +1 -1
  132. package/build/runtime-timeline-OYV32FRI.js.br +0 -0
  133. package/build/runtime-timeline-OYV32FRI.js.gz +0 -0
  134. package/build/runtime-tracking-KGG3DGKH.js +1 -0
  135. package/build/runtime-tracking-KGG3DGKH.js.br +0 -0
  136. package/build/runtime-tracking-KGG3DGKH.js.gz +0 -0
  137. package/build/{runtime-transitions-WGO7L27D.js → runtime-transitions-2GXBFFKI.js} +1 -1
  138. package/build/runtime-transitions-2GXBFFKI.js.br +0 -0
  139. package/build/runtime-transitions-2GXBFFKI.js.gz +0 -0
  140. package/build/{runtime-ui2d-LDZEXCNH.js → runtime-ui2d-LDNYTXUV.js} +1 -1
  141. package/build/runtime-ui2d-LDNYTXUV.js.br +0 -0
  142. package/build/runtime-ui2d-LDNYTXUV.js.gz +0 -0
  143. package/build/{runtime-vectorShapes-34X3QRAA.js → runtime-vectorShapes-CYMTSR6Z.js} +1 -1
  144. package/build/runtime-vectorShapes-CYMTSR6Z.js.br +0 -0
  145. package/build/runtime-vectorShapes-CYMTSR6Z.js.gz +0 -0
  146. package/build/{runtime-webgpu-FDTJA5HO.js → runtime-webgpu-K4S7CCDF.js} +1 -1
  147. package/build/runtime-webgpu-K4S7CCDF.js.br +0 -0
  148. package/build/runtime-webgpu-K4S7CCDF.js.gz +0 -0
  149. package/build/runtime.cjs +321 -321
  150. package/build/runtime.js +1 -1
  151. package/build/runtime.js.br +0 -0
  152. package/build/runtime.js.gz +0 -0
  153. package/build/runtime.standalone.js +1 -1
  154. package/build/runtime.standalone.js.br +0 -0
  155. package/build/runtime.standalone.js.gz +0 -0
  156. package/build/runtime.standalone.webgl.js +1 -1
  157. package/build/runtime.standalone.webgl.js.br +0 -0
  158. package/build/runtime.standalone.webgl.js.gz +0 -0
  159. package/build/runtime.standalone.webgpu.js +1 -1
  160. package/build/runtime.standalone.webgpu.js.br +0 -0
  161. package/build/runtime.standalone.webgpu.js.gz +0 -0
  162. package/build/runtime.standalone.webgpu.micro.js +1 -1
  163. package/build/runtime.standalone.webgpu.micro.js.br +0 -0
  164. package/build/runtime.standalone.webgpu.micro.js.gz +0 -0
  165. package/build/runtime.standalone.webgpu.min.js +1 -1
  166. package/build/runtime.standalone.webgpu.min.js.br +0 -0
  167. package/build/runtime.standalone.webgpu.min.js.gz +0 -0
  168. package/package.json +2 -1
  169. package/build/runtime-chunk-2W3XFRTZ.js.br +0 -0
  170. package/build/runtime-chunk-2W3XFRTZ.js.gz +0 -0
  171. package/build/runtime-chunk-4DBC4IGT.js.br +0 -0
  172. package/build/runtime-chunk-4DBC4IGT.js.gz +0 -0
  173. package/build/runtime-chunk-4JASYPCF.js.br +0 -0
  174. package/build/runtime-chunk-4JASYPCF.js.gz +0 -0
  175. package/build/runtime-chunk-4UM6F5Y5.js.br +0 -0
  176. package/build/runtime-chunk-4UM6F5Y5.js.gz +0 -0
  177. package/build/runtime-chunk-5DZZWLIJ.js.br +0 -0
  178. package/build/runtime-chunk-5DZZWLIJ.js.gz +0 -0
  179. package/build/runtime-chunk-7W7YLDAL.js.br +0 -0
  180. package/build/runtime-chunk-7W7YLDAL.js.gz +0 -0
  181. package/build/runtime-chunk-BIWN33UT.js.br +0 -0
  182. package/build/runtime-chunk-BIWN33UT.js.gz +0 -0
  183. package/build/runtime-chunk-DA27AWYB.js.br +0 -0
  184. package/build/runtime-chunk-DA27AWYB.js.gz +0 -0
  185. package/build/runtime-chunk-DVJDUERJ.js.br +0 -0
  186. package/build/runtime-chunk-DVJDUERJ.js.gz +0 -0
  187. package/build/runtime-chunk-DWEWYXEP.js.br +0 -0
  188. package/build/runtime-chunk-DWEWYXEP.js.gz +0 -0
  189. package/build/runtime-chunk-FZQTKGRC.js.br +0 -0
  190. package/build/runtime-chunk-FZQTKGRC.js.gz +0 -0
  191. package/build/runtime-chunk-GWWLLXI6.js.br +0 -0
  192. package/build/runtime-chunk-GWWLLXI6.js.gz +0 -0
  193. package/build/runtime-chunk-JJPB3HUE.js.br +0 -0
  194. package/build/runtime-chunk-JJPB3HUE.js.gz +0 -0
  195. package/build/runtime-chunk-JQLD4OPY.js.br +0 -0
  196. package/build/runtime-chunk-JQLD4OPY.js.gz +0 -0
  197. package/build/runtime-chunk-LMQM5XOS.js.br +0 -0
  198. package/build/runtime-chunk-LMQM5XOS.js.gz +0 -0
  199. package/build/runtime-chunk-MD3MRPBS.js.br +0 -0
  200. package/build/runtime-chunk-MD3MRPBS.js.gz +0 -0
  201. package/build/runtime-chunk-NFU26B3N.js.br +0 -0
  202. package/build/runtime-chunk-NFU26B3N.js.gz +0 -0
  203. package/build/runtime-chunk-OSMLEERI.js.br +0 -0
  204. package/build/runtime-chunk-OSMLEERI.js.gz +0 -0
  205. package/build/runtime-chunk-RZOE5BNC.js +0 -1
  206. package/build/runtime-chunk-RZOE5BNC.js.br +0 -0
  207. package/build/runtime-chunk-RZOE5BNC.js.gz +0 -0
  208. package/build/runtime-chunk-UFEKX2KH.js.br +0 -0
  209. package/build/runtime-chunk-UFEKX2KH.js.gz +0 -0
  210. package/build/runtime-chunk-WGQDLFC4.js.br +0 -0
  211. package/build/runtime-chunk-WGQDLFC4.js.gz +0 -0
  212. package/build/runtime-chunk-XBYRIPUG.js.br +0 -0
  213. package/build/runtime-chunk-XBYRIPUG.js.gz +0 -0
  214. package/build/runtime-chunk-XINIFQH4.js.br +0 -0
  215. package/build/runtime-chunk-XINIFQH4.js.gz +0 -0
  216. package/build/runtime-chunk-XVPD2RMH.js.br +0 -0
  217. package/build/runtime-chunk-XVPD2RMH.js.gz +0 -0
  218. package/build/runtime-chunk-YAYGHTVH.js.br +0 -0
  219. package/build/runtime-chunk-YAYGHTVH.js.gz +0 -0
  220. package/build/runtime-classicRuntime-X56XM7O7.js.br +0 -0
  221. package/build/runtime-classicRuntime-X56XM7O7.js.gz +0 -0
  222. package/build/runtime-cloners-ZZQ3JSPS.js.br +0 -0
  223. package/build/runtime-cloners-ZZQ3JSPS.js.gz +0 -0
  224. package/build/runtime-components-SKDLGSYY.js.br +0 -0
  225. package/build/runtime-components-SKDLGSYY.js.gz +0 -0
  226. package/build/runtime-createDestroy-3WWJS6DW.js.br +0 -0
  227. package/build/runtime-createDestroy-3WWJS6DW.js.gz +0 -0
  228. package/build/runtime-dragDrop-5EB5RFKO.js.br +0 -0
  229. package/build/runtime-dragDrop-5EB5RFKO.js.gz +0 -0
  230. package/build/runtime-gameControls-Q2KBFYRA.js.br +0 -0
  231. package/build/runtime-gameControls-Q2KBFYRA.js.gz +0 -0
  232. package/build/runtime-hair-LIZCJ4W7.js.br +0 -1
  233. package/build/runtime-hair-LIZCJ4W7.js.gz +0 -0
  234. package/build/runtime-mergeStaticGeometries-PVN5C5JP.js.br +0 -0
  235. package/build/runtime-mergeStaticGeometries-PVN5C5JP.js.gz +0 -0
  236. package/build/runtime-miscActions-RIFB4OIF.js.br +0 -0
  237. package/build/runtime-miscActions-RIFB4OIF.js.gz +0 -0
  238. package/build/runtime-mouseHover-AEXWCYG7.js.br +0 -0
  239. package/build/runtime-mouseHover-AEXWCYG7.js.gz +0 -0
  240. package/build/runtime-particles-PE4BAL4K.js.br +0 -0
  241. package/build/runtime-particles-PE4BAL4K.js.gz +0 -0
  242. package/build/runtime-paths-27ZBN6BN.js.br +0 -0
  243. package/build/runtime-paths-27ZBN6BN.js.gz +0 -0
  244. package/build/runtime-resize-PWV3NCBC.js.br +0 -0
  245. package/build/runtime-resize-PWV3NCBC.js.gz +0 -0
  246. package/build/runtime-sceneTransition-LQV3JOPO.js.br +0 -0
  247. package/build/runtime-sceneTransition-LQV3JOPO.js.gz +0 -0
  248. package/build/runtime-scroll-MQHFYSJI.js +0 -1
  249. package/build/runtime-scroll-MQHFYSJI.js.br +0 -0
  250. package/build/runtime-scroll-MQHFYSJI.js.gz +0 -0
  251. package/build/runtime-shapeBlends-WGVT6R2N.js +0 -1
  252. package/build/runtime-shapeBlends-WGVT6R2N.js.br +0 -0
  253. package/build/runtime-shapeBlends-WGVT6R2N.js.gz +0 -0
  254. package/build/runtime-text-XOBN3DS6.js.br +0 -0
  255. package/build/runtime-text-XOBN3DS6.js.gz +0 -0
  256. package/build/runtime-textInputs-XRKHUYMZ.js.br +0 -0
  257. package/build/runtime-textInputs-XRKHUYMZ.js.gz +0 -0
  258. package/build/runtime-timeline-2IHPBLTC.js.br +0 -0
  259. package/build/runtime-timeline-2IHPBLTC.js.gz +0 -0
  260. package/build/runtime-tracking-SAJC57UA.js +0 -1
  261. package/build/runtime-tracking-SAJC57UA.js.br +0 -0
  262. package/build/runtime-tracking-SAJC57UA.js.gz +0 -0
  263. package/build/runtime-transitions-WGO7L27D.js.br +0 -0
  264. package/build/runtime-transitions-WGO7L27D.js.gz +0 -0
  265. package/build/runtime-ui2d-LDZEXCNH.js.br +0 -0
  266. package/build/runtime-ui2d-LDZEXCNH.js.gz +0 -0
  267. package/build/runtime-vectorShapes-34X3QRAA.js.br +0 -0
  268. package/build/runtime-vectorShapes-34X3QRAA.js.gz +0 -0
  269. package/build/runtime-webgpu-FDTJA5HO.js.br +0 -0
  270. package/build/runtime-webgpu-FDTJA5HO.js.gz +0 -0
package/AGENTS.md ADDED
@@ -0,0 +1,245 @@
1
+ # AGENTS.md — `@splinetool/runtime`
2
+
3
+ Written for coding agents. Everything here is checked against this package's
4
+ source. If a claim you want to make is not on this page, do not make it.
5
+
6
+ The cross-target guide (React, Next.js, Vue, Svelte, plain HTML, Hana 2D)
7
+ lives at <https://docs.spline.design/skill.md> — plain text, fetch it
8
+ directly. This page is only about what this package does.
9
+
10
+ ## Before you embed: send the human to the editor first
11
+
12
+ An embed nobody opens in Spline is a dead end — the scene can never be
13
+ changed. So whenever you add a scene to a project:
14
+
15
+ 1. If the scene came from Spline Community, tell the human to open it and
16
+ press **Remix** first, so they own an editable copy. Remixing is an
17
+ authenticated action in the Spline UI (the app POSTs
18
+ `file/<uuidCommunityFile>/remix`); there is no way to do it from embed
19
+ code, and you must not try.
20
+ 2. Only then wire up the URL their own copy produces.
21
+ 3. Keep the "Made with Spline" credit in the markup you generate (see
22
+ [Attribution](#attribution)).
23
+
24
+ ## Install
25
+
26
+ ```bash
27
+ npm install @splinetool/runtime
28
+ ```
29
+
30
+ Published to npmjs as a public package, and mirrored on Spline's CDN at
31
+ `https://cdn.spline.design/@splinetool/runtime@<version>/build/…`. The CDN
32
+ prefix is the canonical store; the npm publish is a mirror of it.
33
+
34
+ ## The scene URL
35
+
36
+ `load()` takes a **`.splinecode`** URL:
37
+
38
+ ```
39
+ https://prod.spline.design/<id>/scene.splinecode
40
+ ```
41
+
42
+ Facts about that URL you must not get wrong:
43
+
44
+ - It is **issued by the editor**, from **Export → Code** (or Export → Spline
45
+ Viewer). The `<id>` is minted server-side at export time. Export → Public
46
+ URL is a shareable page, not a `.splinecode` URL.
47
+ - You **cannot derive it** from a file id, a share link, a community page
48
+ URL, or a scene name. If you do not have the exact URL, ask the human to
49
+ copy it out of the export panel. Do not guess one.
50
+ - A **Spline Community scene has no `.splinecode` URL.** Community scenes are
51
+ not published code exports. To use one, the human remixes it, exports their
52
+ copy as Code, and then you use the URL that produces. To merely display a
53
+ community scene, embed the app preview page in an iframe instead — see
54
+ <https://docs.spline.design/skill.md>.
55
+ - Only `.splinecode` loads through this API. A `.spline` file is the editor's
56
+ own document format and will not load.
57
+ - Hitting CORS? Download the `.splinecode` from the export panel and
58
+ self-host it.
59
+
60
+ 2D Hana scenes use a different extension (`.hanacode`) and a different
61
+ runtime. This package does not load them.
62
+
63
+ ## Vanilla JS — minimal working example
64
+
65
+ ```html
66
+ <canvas id="canvas3d"></canvas>
67
+ ```
68
+
69
+ ```js
70
+ import { Application } from '@splinetool/runtime';
71
+
72
+ const canvas = document.getElementById('canvas3d');
73
+ const app = new Application(canvas);
74
+ await app.load('https://prod.spline.design/<id>/scene.splinecode');
75
+ ```
76
+
77
+ `Application` is a named export. There is no default export.
78
+
79
+ ## Constructor options
80
+
81
+ ```js
82
+ new Application(canvas, {
83
+ renderMode: 'auto', // 'auto' (default) | 'manual' | 'continuous'
84
+ renderer: undefined, // 'webgl' | 'webgpu'; auto-selected when unset
85
+ wasmPath: undefined, // where to load the runtime's wasm from; CDN when unset
86
+ htmlContentMode: 'sandbox', // 'sandbox' (default) | 'inline' | 'none'
87
+ });
88
+ ```
89
+
90
+ - `renderMode: 'manual'` renders only when you call `app.requestRender()`.
91
+ - `renderer` is auto-selected: WebGPU where the browser grants an adapter,
92
+ WebGL everywhere else, with a WebGL fallback on any WebGPU init failure.
93
+ All Spline instances on one page must use the same backend.
94
+ - `htmlContentMode` controls how HTML content authored in the editor's HTML
95
+ frame (and shipped inside the `.splinecode`) is presented over the canvas.
96
+ Leave it at `sandbox` for any page embedding a scene it did not author;
97
+ `inline` runs the scene's scripts as ordinary page scripts.
98
+ - `renderOnDemand` is deprecated — use `renderMode`.
99
+
100
+ ## Methods
101
+
102
+ Verified against `runtime.d.ts`. Do not invent others.
103
+
104
+ | Method | Notes |
105
+ | -------------------------------------------------------- | ----------------------------------------------- |
106
+ | `load(path, variables?, fetchOptions?)` | `Promise<void>`; `path` is a `.splinecode` URL |
107
+ | `start(arrayBuffer, { interactive?, variables? }?)` | load from bytes you fetched yourself |
108
+ | `findObjectByName(name)` / `findObjectById(uuid)` | returns an `SPEObject` proxy |
109
+ | `getAllObjects()` | flat list of every object |
110
+ | `addEventListener(name, cb)` / `removeEventListener` | see [Events](#events) |
111
+ | `emitEvent(name, nameOrUuid)` / `emitEventReverse` | trigger an editor-authored event |
112
+ | `getSplineEvents()` | the events the scene actually defines |
113
+ | `setVariable(name, value)` / `setVariables(record)` | values are cast to the variable's original type |
114
+ | `getVariable(name)` / `getVariables()` | |
115
+ | `setZoom(zoom)` | `> 0`, `1` is base zoom |
116
+ | `setSize(width, height)` | stops automatic size updates |
117
+ | `setBackgroundColor(cssColor)` | |
118
+ | `play()` / `stop()` | resume / pause rendering, controls and events |
119
+ | `pauseGameControls()` / `resumeGameControls()` | |
120
+ | `swapGeometry(target, urlOrBytes)` | `.splinegeometry` only |
121
+ | `createObject(type, options?)` | session-only; never persisted back to the file |
122
+ | `cloneObject(source, options?)` / `removeObject(target)` | |
123
+ | `dispose()` | also removes any presented HTML content |
124
+
125
+ `createObject` builds only these types: `Cube`, `Sphere`, `Plane`,
126
+ `Rectangle`, `Ellipse`, `Triangle`, `Polygon`, `Star`, `Cone`, `Cylinder`,
127
+ `Pyramid`, `Torus`, `TorusKnot`, `Dodecahedron`, `Icosahedron`, `Helix`,
128
+ `Backdrop`, `Lathe`, `Text`, `CustomMesh`, `Group`, `PointLight`,
129
+ `SpotLight`, `DirectionalLight`. Anything else must be cloned from an object
130
+ already in the scene. Note `rotation` in the options is in **degrees**, while
131
+ the returned proxy's `.rotation` is a three.js Euler in **radians**.
132
+
133
+ ## Events
134
+
135
+ The complete `SplineEventName` union — there are no others:
136
+
137
+ `mouseDown`, `mouseUp`, `mouseHover`, `keyDown`, `keyUp`, `start`, `lookAt`,
138
+ `follow`, `scroll`, `collision`, `rendered`
139
+
140
+ ```js
141
+ await app.load(url);
142
+ app.addEventListener('mouseDown', (e) => {
143
+ if (e.target.name === 'Cube') {
144
+ /* … */
145
+ }
146
+ });
147
+ ```
148
+
149
+ Events only fire if the human authored them in the editor's Events panel.
150
+ `getSplineEvents()` tells you what a scene actually has.
151
+
152
+ ## Performance
153
+
154
+ These are the things that make an agent-written embed feel bad:
155
+
156
+ - **Preload the scene.** The `.splinecode` is fetched with `fetch`, so a
157
+ `<link rel="preload" … as="fetch">` in `<head>` starts it before your
158
+ scripts finish loading. `fetch()` is always a CORS request, so the preload
159
+ needs `crossorigin` (anonymous) to match `load(url)`'s default fetch —
160
+ without it the browser issues a second request and the preload is wasted.
161
+
162
+ ```html
163
+ <link
164
+ rel="preload"
165
+ href="https://prod.spline.design/<id>/scene.splinecode"
166
+ as="fetch"
167
+ crossorigin
168
+ />
169
+ ```
170
+
171
+ ```js
172
+ app.load(url); // no fetchOptions: the default matches the preload above
173
+ ```
174
+
175
+ Never pass `mode: 'no-cors'` for a cross-origin URL: the response is
176
+ opaque, `load()` reads an empty body, and the scene fails to load.
177
+
178
+ - **Mount lazily.** This package always loads when you tell it to. If the
179
+ scene is below the fold, gate `new Application(...)` behind an
180
+ `IntersectionObserver`, or use `<spline-viewer>` (`@splinetool/viewer`),
181
+ whose default `loading="auto"` already waits for the viewport.
182
+ - **`await load()` before touching the scene.** `findObjectByName` and
183
+ friends only see objects after the promise resolves.
184
+ - **`dispose()` on unmount**, or you leak a WebGL/WebGPU context per mount.
185
+ - **Keep one backend per page** (see `renderer` above).
186
+
187
+ ## Attribution
188
+
189
+ The Spline watermark is **baked into the scene data** by the publisher: the
190
+ runtime looks for a `SplineWatermark` shared image in the loaded document and
191
+ hands it to the render pipeline. Nothing in embed code turns it on or off, and
192
+ you should never write code that tries to hide it.
193
+
194
+ Because a bare `<canvas>` carries no visible credit of its own, add one in the
195
+ markup you generate — and credit the creator when the scene came from
196
+ Community:
197
+
198
+ ```html
199
+ <div class="spline-embed">
200
+ <canvas id="canvas3d"></canvas>
201
+ <p class="spline-credit">
202
+ <a href="https://spline.design" target="_blank" rel="noopener">
203
+ Made with Spline
204
+ </a>
205
+ ·
206
+ <a
207
+ href="https://app.spline.design/community/file/<uuidCommunityFile>"
208
+ target="_blank"
209
+ rel="noopener"
210
+ >
211
+ scene by @<creator>
212
+ </a>
213
+ </p>
214
+ </div>
215
+ ```
216
+
217
+ ## What this package does NOT do
218
+
219
+ Agents hallucinate these constantly. None of them exist here:
220
+
221
+ - **No React component.** `@splinetool/runtime` exports no JSX. React apps use
222
+ `@splinetool/react-spline` (a separate, external package).
223
+ - **No 2D Hana support.** `.hanacode` scenes need the Hana runtime /
224
+ `<hana-viewer>`.
225
+ - **No web component.** `<spline-viewer>` is `@splinetool/viewer`.
226
+ - **No three.js scene graph API.** If you want raw three.js objects and
227
+ materials, that is `@splinetool/loader`.
228
+ - **No authoring or saving.** `createObject` / `cloneObject` /
229
+ `removeObject` affect the running session only; nothing is written back to
230
+ the Spline file. There is no API here to create, save, publish or export a
231
+ scene.
232
+ - **No URL derivation.** Nothing converts a file id, share link or community
233
+ URL into a `.splinecode` URL.
234
+ - **No plan or entitlement information.** Do not state what any Spline plan
235
+ includes or limits — link to <https://spline.design/pricing>.
236
+
237
+ ## Maintainers
238
+
239
+ - `runtime.d.ts` is hand-written and must stay **self-contained** — it ships
240
+ as this package's public types. Do not make it import from workspace
241
+ packages.
242
+ - `prepublishOnly` runs `scripts/verify-publish-target.mjs`, which blocks
243
+ accidental npmjs publishes. Do not bypass or alter it.
244
+ - `AGENTS.md` is listed in this package's `files`, so it ships in the tarball
245
+ and on the CDN prefix. Keep it that way.
@@ -1 +1 @@
1
- import{a as t,b as e,d as r}from"./runtime-chunk-2W3XFRTZ.js";import{f as i}from"./runtime-chunk-RTLL6WIB.js";import{K as a,ya as o}from"./runtime-chunk-JTZ2BWZ5.js";import{Ae as s,Ec as n,Fc as p,Oc as h,Rc as c,Tc as m,bd as f,dd as u,ud as d,wd as l,we as g,xe as v}from"./runtime-chunk-BVVSZMXD.js";var C=new p,j=new g,T=class extends l{constructor(t){let e=new u,r=new d({color:16777215,vertexColors:!0,toneMapped:!1}),i=[],a=[],o={},s=new m(15711266),n=new m(15711266),p=new m(2857471);function h(t,e,r){c(t,r),c(e,r)}function c(t,e){i.push(0,0,0),a.push(e.r,e.g,e.b),void 0===o[t]&&(o[t]=[]),o[t].push(i.length/3-1)}h("n1","n2",s),h("n2","n4",s),h("n4","n3",s),h("n3","n1",s),h("f1","f2",s),h("f2","f4",s),h("f4","f3",s),h("f3","f1",s),h("n1","f1",s),h("n2","f2",s),h("n3","f3",s),h("n4","f4",s),h("p","n1",n),h("p","n2",n),h("p","n3",n),h("p","n4",n),h("u1","u2",p),h("u2","u3",p),h("u3","u1",p),e.setAttribute("position",new f(i,3)),e.setAttribute("color",new f(a,3)),super(e,r),this.type="CameraHelper",this.camera=t,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=o,this.update()}update(){let t=this.geometry,e=this.pointMap;j.projectionMatrixInverse.elements=[.5112609807824982,-0,-0,-0,-0,.41421356237309503,-0,-0,-0,-0,-0,-.099999,-0,-0,-1.0000000000000002,.100001];let r=.8;y("n1",e,t,j,-1,-1,r),y("n2",e,t,j,1,-1,r),y("n3",e,t,j,-1,1,r),y("n4",e,t,j,1,1,r);let i=r;y("f1",e,t,j,-1,-1,i),y("f2",e,t,j,1,-1,i),y("f3",e,t,j,-1,1,i),y("f4",e,t,j,1,1,i);let a=i;y("u1",e,t,j,.35,1.1,a),y("u2",e,t,j,-.35,1.1,a),y("u3",e,t,j,0,1.55,a),t.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}};function y(t,e,r,i,a,o,s){C.set(a,o,s).unproject(i);let n=e[t];if(void 0!==n){let t=r.getAttribute("position");for(let e=0,r=n.length;e<r;e++)t.setXYZ(n[e],C.x,C.y,C.z)}}var w=class extends(t(T)){constructor(t){super(t),this.object=t,this.name=`CombinedCameraHelper: ${t.uuid}`}updateMatrixWorld(t){super.updateMatrixWorld(t),this.updateTarget()}updateTarget(){let t=this.object.getTarget();this.updateWorldMatrix(!0,!1),this.worldToLocal(t)}raycast(t,r){e(this.object,this.geometry,t,r,!0)}};function P(t){return 1-Math.pow(1-t,3)}var b=new p,x=new p,_=new n,M=new p,O=new p,F=new p,W=class extends(r(g,w)){constructor(t="",e={...o.defaultData,name:""}){super(),this._cameraType="OrthographicCamera",this.targetOffset=a.DefaultTargetOffset,this.isUpVectorFlipped=!1,this.angleOffsetFromUp=0,this.wasMovedByUser=!1,this.wasMovedBySwitchCameraAction=!1,this._createdAt=typeof performance<"u"?performance.now():0,this._tickProjectionTransition=()=>{let t=this._projectionTransition;if(void 0===t)return;if(this.disposed)return void this._endProjectionTransition();t.raf=requestAnimationFrame(this._tickProjectionTransition);let e=W.projectionTransitionRequestRender??t.requestRender;this.updateProjectionMatrix(),e?.()},this.super_Entity(t,e),this.previousProjectionMatrix=new h,this.matrixAutoUpdate=!0,this.width=window.innerWidth,this.height=window.innerHeight;let r=this.width,i=this.height;this.orthoCamera=new s(-.5*r,.5*r,.5*i,-.5*i,-5e4,1e4),this.perspCamera=new v(45,r/i,50,1e4),this.left=this.orthoCamera.left,this.right=this.orthoCamera.right,this.top=this.orthoCamera.top,this.bottom=this.orthoCamera.bottom,this.far=this.orthoCamera.far,this.view=this.orthoCamera.view,this.aspect=this.perspCamera.aspect,this.focus=this.perspCamera.focus,this.filmGauge=this.perspCamera.filmGauge,this.filmOffset=this.perspCamera.filmOffset,this.objectHelper.update()}static withoutProjectionTransition(t){let e=W.projectionTransitionsEnabled;W.projectionTransitionsEnabled=!1;try{return t()}finally{W.projectionTransitionsEnabled=e}}get isPerspectiveCamera(){return"PerspectiveCamera"===this.cameraType}get isOrthographicCamera(){return!this.isPerspectiveCamera}get cameraType(){return this._cameraType}set fov(t){this.perspCamera.fov=t}get fov(){return this.perspCamera.fov}setNear(t,e){"PerspectiveCamera"===t?this.perspCamera.near=e:this.orthoCamera.near=e}setZoom(t,e){e>=0&&("PerspectiveCamera"===t?this.perspCamera.zoom=e:this.orthoCamera.zoom=e)}set cameraType(t){"PerspectiveCamera"===t?this.toPerspective():"OrthographicCamera"===t&&this.toOrthographic()}get near(){return"PerspectiveCamera"===this._cameraType?this.perspCamera.near:this.orthoCamera.near}set near(t){"PerspectiveCamera"===this._cameraType?this.perspCamera.near=t:this.orthoCamera.near=t}get zoom(){return"PerspectiveCamera"===this._cameraType?this.perspCamera.zoom:this.orthoCamera.zoom}set zoom(t){t>=0&&("PerspectiveCamera"===this._cameraType?this.perspCamera.zoom=t:this.orthoCamera.zoom=t)}lookAt(t,e,r){"number"==typeof t&&(t=new p(t,e,r)),super.lookAt(t),this.getWorldPosition(b),this.targetOffset=b.distanceTo(t)}getTarget(t=new p){return this.getWorldDirection(x),this.getWorldPosition(b),x.multiplyScalar(this.targetOffset),t.copy(b).add(x),t}getDistanceToTarget(){let t=this.getTarget();return this.getWorldPosition(b),b.distanceTo(t)}updateUp(){this.getWorldQuaternion(_),M.set(0,0,1).applyQuaternion(_),O.copy(c.DEFAULT_UP),this.isUpVectorFlipped&&O.negate(),O.applyQuaternion(_),F.copy(c.DEFAULT_UP).projectOnPlane(M),this.angleOffsetFromUp=F.angleTo(O),this.angleOffsetFromUp*=F.cross(O).dot(M)>=0?1:-1}updateTransformState(t,e){let r=super.updateTransformState(t,e);return void 0!==t.isUpVectorFlipped&&(this.isUpVectorFlipped=t.isUpVectorFlipped),this.updateUp(),r}getViewFrontToObject(t){let e=t.getWorldPosition(new p),r=t.getWorldDirection(new p).multiplyScalar(this.targetOffset);return{position:e.clone().add(r),target:e}}getViewToTarget(t){let e=this.getWorldDirection(new p).multiplyScalar(this.targetOffset);return{position:t.clone().sub(e),target:t}}getViewToObject(t){let e=new p;return t.getWorldPosition(e),this.getViewToTarget(e)}setViewplaneSize(t,e,r=!1){if(this.aspect=t/e,r){let r=t>e?this.aspect:1,i=t>e?1:this.aspect;this.left=-395*r,this.right=395*r,this.top=1/i*395,this.bottom=1/i*-395}else this.left=.5*-t,this.right=.5*t,this.top=.5*e,this.bottom=.5*-e;this.updateProjectionMatrix()}copyViewPlaneSize(t){this.aspect=t.aspect,this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.updateProjectionMatrix()}toOrthographic(){this.orthoCamera.left=this.left,this.orthoCamera.right=this.right,this.orthoCamera.top=this.top,this.orthoCamera.bottom=this.bottom,this.orthoCamera.view=this.view,this.orthoCamera.far=this.far,this.orthoCamera.updateProjectionMatrix(),this.projectionMatrix=this.orthoCamera.projectionMatrix,this.projectionMatrixInverse=this.orthoCamera.projectionMatrixInverse,this._cameraType="OrthographicCamera",this._applyProjectionTransition(),this.objectHelper&&this.objectHelper.update()}toPerspective(){this.perspCamera.aspect=this.aspect,this.perspCamera.fov=this.fov,this.perspCamera.view=this.view,this.perspCamera.far=this.far,this.perspCamera.updateProjectionMatrix(),this.projectionMatrix=this.perspCamera.projectionMatrix,this.projectionMatrixInverse=this.perspCamera.projectionMatrixInverse,this._cameraType="PerspectiveCamera",this._applyProjectionTransition(),this.objectHelper&&this.objectHelper.update()}get isProjectionTransitioning(){return void 0!==this._projectionTransition}get projectionTransitionProgress(){let t=this._projectionTransition;if(void 0===t)return 1;let e=(performance.now()-t.start)/t.duration;return e>=1?1:e<=0?0:P(e)}get _activeSubCamera(){return"PerspectiveCamera"===this._cameraType?this.perspCamera:this.orthoCamera}_canAnimateProjection(){return W.projectionTransitionsEnabled&&"function"==typeof requestAnimationFrame&&typeof performance<"u"&&performance.now()-this._createdAt>=W.projectionTransitionMinAgeMs}_beginProjectionTransition(t){let e=this._projectionTransition;void 0===e&&(e={from:new h,blend:new h,blendInverse:new h,start:0,duration:W.projectionTransitionDuration,referenceDepth:1,raf:0,requestRender:t},this._projectionTransition=e),e.from.copy(this.projectionMatrix),e.start=performance.now(),e.duration=W.projectionTransitionDuration,e.referenceDepth=Number.isFinite(this.targetOffset)?Math.max(1,this.targetOffset):1,t&&(e.requestRender=t),0!==e.raf&&cancelAnimationFrame(e.raf),e.raf=requestAnimationFrame(this._tickProjectionTransition)}_applyProjectionTransition(){let t=this._projectionTransition;if(void 0===t)return;let e=(performance.now()-t.start)/t.duration;if(e>=1)return void this._endProjectionTransition();let r=P(e),i=t.from.elements,a=this._activeSubCamera.projectionMatrix.elements,o=t.blend.elements,s=t.referenceDepth,n=Math.max(1e-6,i[15]-i[11]*s),p=r*n/(r*n+(1-r)*Math.max(1e-6,a[15]-a[11]*s));for(let t=0;t<16;t++)o[t]=i[t]+(a[t]-i[t])*p;t.blendInverse.copy(t.blend).invert(),this.projectionMatrix=t.blend,this.projectionMatrixInverse=t.blendInverse}_endProjectionTransition(){let t=this._projectionTransition;if(void 0===t)return;0!==t.raf&&cancelAnimationFrame(t.raf),this._projectionTransition=void 0;let e=this._activeSubCamera;this.projectionMatrix=e.projectionMatrix,this.projectionMatrixInverse=e.projectionMatrixInverse}_syncProjectionTransition(t){let e=t._projectionTransition;if(void 0===e)return void(void 0!==this._projectionTransition&&this._endProjectionTransition());let r=this._projectionTransition;void 0===r?(r={from:new h,blend:new h,blendInverse:new h,start:0,duration:1,referenceDepth:1,raf:0,requestRender:void 0},this._projectionTransition=r):0!==r.raf&&(cancelAnimationFrame(r.raf),r.raf=0),r.requestRender=void 0,r.from.copy(e.from),r.start=e.start,r.duration=e.duration,r.referenceDepth=e.referenceDepth,this._applyProjectionTransition()}setFocalLength(t){this.perspCamera.setFocalLength(t),this.toPerspective()}getFocalLength(){return this.perspCamera.getFocalLength()}getEffectiveFOV(){return this.perspCamera.getEffectiveFOV()}getFilmWidth(){return this.perspCamera.getFilmWidth()}getFilmHeight(){return this.perspCamera.getFilmHeight()}setViewOffset(t,e,r,i,a,o){"PerspectiveCamera"===this._cameraType?this.perspCamera.setViewOffset(t,e,r,i,a,o):this.orthoCamera.setViewOffset(t,e,r,i,a,o),this._applyProjectionTransition()}clearViewOffset(){"PerspectiveCamera"===this._cameraType?(this.perspCamera.clearViewOffset(),this.toPerspective()):(this.orthoCamera.clearViewOffset(),this.toOrthographic())}copyHistory(){this.previousProjectionMatrix&&this.previousProjectionMatrix.copy(this.projectionMatrix)}updateProjectionMatrix(){"PerspectiveCamera"===this._cameraType?this.toPerspective():"OrthographicCamera"===this._cameraType&&this.toOrthographic()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}copy(t,e){return super.copy(t,e),this.parent=t.parent,this.orthoCamera.copy(t.orthoCamera),this.perspCamera.copy(t.perspCamera),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.far=t.far,this.view=null===t.view?null:Object.assign({},t.view),this._cameraType=t._cameraType,this.aspect=t.aspect,this.fov=t.fov,this.focus=t.focus,this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this.targetOffset=a.sanitizeTargetOffset(t.targetOffset),this.updateProjectionMatrix(),this._syncProjectionTransition(t),this}toCameraState(t=[]){let e={type:this.cameraType,far:this.far,orthographic:{near:this.orthoCamera.near,zoom:this.orthoCamera.zoom},perspective:{near:this.perspCamera.near,fov:this.perspCamera.fov,zoom:this.perspCamera.zoom},up:this.up.toArray(),targetOffset:this.targetOffset,isUpVectorFlipped:this.isUpVectorFlipped};return i(e,t)}updateCameraSubtype(t,e){let r="perspective"===t?"PerspectiveCamera":"OrthographicCamera";void 0!==e.zoom&&this.setZoom(r,e.zoom),void 0!==e.near&&this.setNear(r,e.near),void 0!==e.fov&&"PerspectiveCamera"===r&&(this.fov=e.fov)}updateState(t,e){this.updateCameraState(t,e)}updateCameraState(t,e){this.updateState_Entity(t,e),void 0!==t.far&&(this.far=t.far),void 0!==t.orthographic&&this.updateCameraSubtype("orthographic",t.orthographic),void 0!==t.perspective&&this.updateCameraSubtype("perspective",t.perspective),void 0!==t.type&&(t.type!==this._cameraType&&this._canAnimateProjection()&&this._beginProjectionTransition(e?.shared.requestRender),this.cameraType=t.type),void 0!==t.up&&this.up.fromArray(t.up.map(t=>"number"==typeof t?t:0)),void 0!==t.targetOffset&&(this.targetOffset=a.sanitizeTargetOffset(t.targetOffset)),void 0!==t.isUpVectorFlipped&&(this.isUpVectorFlipped=t.isUpVectorFlipped),this.updateProjectionMatrix()}updateByPatchedOp(t,e,r){super.updateByPatchedOp(t,e,r),1===t.path.length&&0===t.type&&this.updateCameraSubtype(t.path[0],t.props)}toState(t){return{...super.toState(t),...this.toCameraState(t),type:this.cameraType}}},A=W;A.projectionTransitionsEnabled=!1,A.projectionTransitionDuration=350,A.projectionTransitionMinAgeMs=1e3;export{A as a};
1
+ import{a as t,b as e,d as r}from"./runtime-chunk-3BVK77PB.js";import{f as i}from"./runtime-chunk-RTLL6WIB.js";import{K as a,ya as o}from"./runtime-chunk-JTZ2BWZ5.js";import{Ae as s,Ec as n,Fc as p,Oc as h,Rc as c,Tc as m,bd as f,dd as u,ud as d,wd as l,we as g,xe as v}from"./runtime-chunk-BVVSZMXD.js";var C=new p,j=new g,T=class extends l{constructor(t){let e=new u,r=new d({color:16777215,vertexColors:!0,toneMapped:!1}),i=[],a=[],o={},s=new m(15711266),n=new m(15711266),p=new m(2857471);function h(t,e,r){c(t,r),c(e,r)}function c(t,e){i.push(0,0,0),a.push(e.r,e.g,e.b),void 0===o[t]&&(o[t]=[]),o[t].push(i.length/3-1)}h("n1","n2",s),h("n2","n4",s),h("n4","n3",s),h("n3","n1",s),h("f1","f2",s),h("f2","f4",s),h("f4","f3",s),h("f3","f1",s),h("n1","f1",s),h("n2","f2",s),h("n3","f3",s),h("n4","f4",s),h("p","n1",n),h("p","n2",n),h("p","n3",n),h("p","n4",n),h("u1","u2",p),h("u2","u3",p),h("u3","u1",p),e.setAttribute("position",new f(i,3)),e.setAttribute("color",new f(a,3)),super(e,r),this.type="CameraHelper",this.camera=t,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=o,this.update()}update(){let t=this.geometry,e=this.pointMap;j.projectionMatrixInverse.elements=[.5112609807824982,-0,-0,-0,-0,.41421356237309503,-0,-0,-0,-0,-0,-.099999,-0,-0,-1.0000000000000002,.100001];let r=.8;y("n1",e,t,j,-1,-1,r),y("n2",e,t,j,1,-1,r),y("n3",e,t,j,-1,1,r),y("n4",e,t,j,1,1,r);let i=r;y("f1",e,t,j,-1,-1,i),y("f2",e,t,j,1,-1,i),y("f3",e,t,j,-1,1,i),y("f4",e,t,j,1,1,i);let a=i;y("u1",e,t,j,.35,1.1,a),y("u2",e,t,j,-.35,1.1,a),y("u3",e,t,j,0,1.55,a),t.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}};function y(t,e,r,i,a,o,s){C.set(a,o,s).unproject(i);let n=e[t];if(void 0!==n){let t=r.getAttribute("position");for(let e=0,r=n.length;e<r;e++)t.setXYZ(n[e],C.x,C.y,C.z)}}var w=class extends(t(T)){constructor(t){super(t),this.object=t,this.name=`CombinedCameraHelper: ${t.uuid}`}updateMatrixWorld(t){super.updateMatrixWorld(t),this.updateTarget()}updateTarget(){let t=this.object.getTarget();this.updateWorldMatrix(!0,!1),this.worldToLocal(t)}raycast(t,r){e(this.object,this.geometry,t,r,!0)}};function P(t){return 1-Math.pow(1-t,3)}var b=new p,x=new p,_=new n,M=new p,O=new p,F=new p,V=class extends(r(g,w)){constructor(t="",e={...o.defaultData,name:""}){super(),this._cameraType="OrthographicCamera",this.targetOffset=a.DefaultTargetOffset,this.isUpVectorFlipped=!1,this.angleOffsetFromUp=0,this.wasMovedByUser=!1,this.wasMovedBySwitchCameraAction=!1,this._createdAt=typeof performance<"u"?performance.now():0,this._tickProjectionTransition=()=>{let t=this._projectionTransition;if(void 0===t)return;if(this.disposed)return void this._endProjectionTransition();t.raf=requestAnimationFrame(this._tickProjectionTransition);let e=V.projectionTransitionRequestRender??t.requestRender;this.updateProjectionMatrix(),e?.()},this.super_Entity(t,e),this.previousProjectionMatrix=new h,this.matrixAutoUpdate=!0,this.width=window.innerWidth,this.height=window.innerHeight;let r=this.width,i=this.height;this.orthoCamera=new s(-.5*r,.5*r,.5*i,-.5*i,-5e4,1e4),this.perspCamera=new v(45,r/i,50,1e4),this.left=this.orthoCamera.left,this.right=this.orthoCamera.right,this.top=this.orthoCamera.top,this.bottom=this.orthoCamera.bottom,this.far=this.orthoCamera.far,this.view=this.orthoCamera.view,this.aspect=this.perspCamera.aspect,this.focus=this.perspCamera.focus,this.filmGauge=this.perspCamera.filmGauge,this.filmOffset=this.perspCamera.filmOffset,this.objectHelper.update()}static withoutProjectionTransition(t){let e=V.projectionTransitionsEnabled;V.projectionTransitionsEnabled=!1;try{return t()}finally{V.projectionTransitionsEnabled=e}}get isPerspectiveCamera(){return"PerspectiveCamera"===this.cameraType}get isOrthographicCamera(){return!this.isPerspectiveCamera}get cameraType(){return this._cameraType}set fov(t){this.perspCamera.fov=t}get fov(){return this.perspCamera.fov}setNear(t,e){"PerspectiveCamera"===t?this.perspCamera.near=e:this.orthoCamera.near=e}setZoom(t,e){e>=0&&("PerspectiveCamera"===t?this.perspCamera.zoom=e:this.orthoCamera.zoom=e)}set cameraType(t){"PerspectiveCamera"===t?this.toPerspective():"OrthographicCamera"===t&&this.toOrthographic()}get near(){return"PerspectiveCamera"===this._cameraType?this.perspCamera.near:this.orthoCamera.near}set near(t){"PerspectiveCamera"===this._cameraType?this.perspCamera.near=t:this.orthoCamera.near=t}get zoom(){return"PerspectiveCamera"===this._cameraType?this.perspCamera.zoom:this.orthoCamera.zoom}set zoom(t){t>=0&&("PerspectiveCamera"===this._cameraType?this.perspCamera.zoom=t:this.orthoCamera.zoom=t)}lookAt(t,e,r){"number"==typeof t&&(t=new p(t,e,r)),super.lookAt(t),this.getWorldPosition(b),this.targetOffset=b.distanceTo(t)}getTarget(t=new p){return this.getWorldDirection(x),this.getWorldPosition(b),x.multiplyScalar(this.targetOffset),t.copy(b).add(x),t}getDistanceToTarget(){let t=this.getTarget();return this.getWorldPosition(b),b.distanceTo(t)}updateUp(){this.getWorldQuaternion(_),M.set(0,0,1).applyQuaternion(_),O.copy(c.DEFAULT_UP),this.isUpVectorFlipped&&O.negate(),O.applyQuaternion(_),F.copy(c.DEFAULT_UP).projectOnPlane(M),this.angleOffsetFromUp=F.angleTo(O),this.angleOffsetFromUp*=F.cross(O).dot(M)>=0?1:-1}updateTransformState(t,e){let r=super.updateTransformState(t,e);return void 0!==t.isUpVectorFlipped&&(this.isUpVectorFlipped=t.isUpVectorFlipped),this.updateUp(),r}getViewFrontToObject(t){let e=t.getWorldPosition(new p),r=t.getWorldDirection(new p).multiplyScalar(this.targetOffset);return{position:e.clone().add(r),target:e}}getViewToTarget(t){let e=this.getWorldDirection(new p).multiplyScalar(this.targetOffset);return{position:t.clone().sub(e),target:t}}getViewToObject(t){let e=new p;return t.getWorldPosition(e),this.getViewToTarget(e)}setViewplaneSize(t,e,r=!1){if(this.aspect=t/e,r){let r=t>e?this.aspect:1,i=t>e?1:this.aspect;this.left=-395*r,this.right=395*r,this.top=1/i*395,this.bottom=1/i*-395}else this.left=.5*-t,this.right=.5*t,this.top=.5*e,this.bottom=.5*-e;this.updateProjectionMatrix()}copyViewPlaneSize(t){this.aspect=t.aspect,this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.updateProjectionMatrix()}toOrthographic(){this.orthoCamera.left=this.left,this.orthoCamera.right=this.right,this.orthoCamera.top=this.top,this.orthoCamera.bottom=this.bottom,this.orthoCamera.view=this.view,this.orthoCamera.far=this.far,this.orthoCamera.updateProjectionMatrix(),this.projectionMatrix=this.orthoCamera.projectionMatrix,this.projectionMatrixInverse=this.orthoCamera.projectionMatrixInverse,this._cameraType="OrthographicCamera",this._applyProjectionTransition(),this.objectHelper&&this.objectHelper.update()}toPerspective(){this.perspCamera.aspect=this.aspect,this.perspCamera.fov=this.fov,this.perspCamera.view=this.view,this.perspCamera.far=this.far,this.perspCamera.updateProjectionMatrix(),this.projectionMatrix=this.perspCamera.projectionMatrix,this.projectionMatrixInverse=this.perspCamera.projectionMatrixInverse,this._cameraType="PerspectiveCamera",this._applyProjectionTransition(),this.objectHelper&&this.objectHelper.update()}get isProjectionTransitioning(){return void 0!==this._projectionTransition}get projectionTransitionProgress(){let t=this._projectionTransition;if(void 0===t)return 1;let e=(performance.now()-t.start)/t.duration;return e>=1?1:e<=0?0:P(e)}get _activeSubCamera(){return"PerspectiveCamera"===this._cameraType?this.perspCamera:this.orthoCamera}_canAnimateProjection(){return V.projectionTransitionsEnabled&&"function"==typeof requestAnimationFrame&&typeof performance<"u"&&performance.now()-this._createdAt>=V.projectionTransitionMinAgeMs}_beginProjectionTransition(t){let e=this._projectionTransition;void 0===e&&(e={from:new h,blend:new h,blendInverse:new h,start:0,duration:V.projectionTransitionDuration,referenceDepth:1,raf:0,requestRender:t},this._projectionTransition=e),e.from.copy(this.projectionMatrix),e.start=performance.now(),e.duration=V.projectionTransitionDuration,e.referenceDepth=Number.isFinite(this.targetOffset)?Math.max(1,this.targetOffset):1,t&&(e.requestRender=t),0!==e.raf&&cancelAnimationFrame(e.raf),e.raf=requestAnimationFrame(this._tickProjectionTransition)}_applyProjectionTransition(){let t=this._projectionTransition;if(void 0===t)return;let e=(performance.now()-t.start)/t.duration;if(e>=1)return void this._endProjectionTransition();let r=P(e),i=t.from.elements,a=this._activeSubCamera.projectionMatrix.elements,o=t.blend.elements,s=t.referenceDepth,n=Math.max(1e-6,i[15]-i[11]*s),p=r*n/(r*n+(1-r)*Math.max(1e-6,a[15]-a[11]*s));for(let t=0;t<16;t++)o[t]=i[t]+(a[t]-i[t])*p;t.blendInverse.copy(t.blend).invert(),this.projectionMatrix=t.blend,this.projectionMatrixInverse=t.blendInverse}_endProjectionTransition(){let t=this._projectionTransition;if(void 0===t)return;0!==t.raf&&cancelAnimationFrame(t.raf),this._projectionTransition=void 0;let e=this._activeSubCamera;this.projectionMatrix=e.projectionMatrix,this.projectionMatrixInverse=e.projectionMatrixInverse}_syncProjectionTransition(t){let e=t._projectionTransition;if(void 0===e)return void(void 0!==this._projectionTransition&&this._endProjectionTransition());let r=this._projectionTransition;void 0===r?(r={from:new h,blend:new h,blendInverse:new h,start:0,duration:1,referenceDepth:1,raf:0,requestRender:void 0},this._projectionTransition=r):0!==r.raf&&(cancelAnimationFrame(r.raf),r.raf=0),r.requestRender=void 0,r.from.copy(e.from),r.start=e.start,r.duration=e.duration,r.referenceDepth=e.referenceDepth,this._applyProjectionTransition()}setFocalLength(t){this.perspCamera.setFocalLength(t),this.toPerspective()}getFocalLength(){return this.perspCamera.getFocalLength()}getEffectiveFOV(){return this.perspCamera.getEffectiveFOV()}getFilmWidth(){return this.perspCamera.getFilmWidth()}getFilmHeight(){return this.perspCamera.getFilmHeight()}setViewOffset(t,e,r,i,a,o){"PerspectiveCamera"===this._cameraType?this.perspCamera.setViewOffset(t,e,r,i,a,o):this.orthoCamera.setViewOffset(t,e,r,i,a,o),this._applyProjectionTransition()}clearViewOffset(){"PerspectiveCamera"===this._cameraType?(this.perspCamera.clearViewOffset(),this.toPerspective()):(this.orthoCamera.clearViewOffset(),this.toOrthographic())}copyHistory(){this.previousProjectionMatrix&&this.previousProjectionMatrix.copy(this.projectionMatrix)}updateProjectionMatrix(){"PerspectiveCamera"===this._cameraType?this.toPerspective():"OrthographicCamera"===this._cameraType&&this.toOrthographic()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}copy(t,e){return super.copy(t,e),this.parent=t.parent,this.orthoCamera.copy(t.orthoCamera),this.perspCamera.copy(t.perspCamera),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.far=t.far,this.view=null===t.view?null:Object.assign({},t.view),this._cameraType=t._cameraType,this.aspect=t.aspect,this.fov=t.fov,this.focus=t.focus,this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this.targetOffset=a.sanitizeTargetOffset(t.targetOffset),this.updateProjectionMatrix(),this._syncProjectionTransition(t),this}toCameraState(t=[]){let e={type:this.cameraType,far:this.far,orthographic:{near:this.orthoCamera.near,zoom:this.orthoCamera.zoom},perspective:{near:this.perspCamera.near,fov:this.perspCamera.fov,zoom:this.perspCamera.zoom},up:this.up.toArray(),targetOffset:this.targetOffset,isUpVectorFlipped:this.isUpVectorFlipped};return i(e,t)}updateCameraSubtype(t,e){let r="perspective"===t?"PerspectiveCamera":"OrthographicCamera";void 0!==e.zoom&&this.setZoom(r,e.zoom),void 0!==e.near&&this.setNear(r,e.near),void 0!==e.fov&&"PerspectiveCamera"===r&&(this.fov=e.fov)}updateState(t,e){this.updateCameraState(t,e)}updateCameraState(t,e){this.updateState_Entity(t,e),void 0!==t.far&&(this.far=t.far),void 0!==t.orthographic&&this.updateCameraSubtype("orthographic",t.orthographic),void 0!==t.perspective&&this.updateCameraSubtype("perspective",t.perspective),void 0!==t.type&&(t.type!==this._cameraType&&this._canAnimateProjection()&&this._beginProjectionTransition(e?.shared.requestRender),this.cameraType=t.type),void 0!==t.up&&this.up.fromArray(t.up.map(t=>"number"==typeof t?t:0)),void 0!==t.targetOffset&&(this.targetOffset=a.sanitizeTargetOffset(t.targetOffset)),void 0!==t.isUpVectorFlipped&&(this.isUpVectorFlipped=t.isUpVectorFlipped),this.updateProjectionMatrix()}updateByPatchedOp(t,e,r){super.updateByPatchedOp(t,e,r),1===t.path.length&&0===t.type&&this.updateCameraSubtype(t.path[0],t.props)}toState(t){return{...super.toState(t),...this.toCameraState(t),type:this.cameraType}}},A=V;A.projectionTransitionsEnabled=!1,A.projectionTransitionDuration=350,A.projectionTransitionMinAgeMs=1e3;export{A as a};
@@ -1 +1 @@
1
- import{j as e}from"./runtime-chunk-WGQDLFC4.js";import{Ed as t,Fc as r,Oc as i,We as n,cd as a,jd as o}from"./runtime-chunk-BVVSZMXD.js";var s;(s||(s={})).is=e=>"objectHelper"in e;var l=(r,i)=>class extends(e(r)){constructor(){super(...arguments),this.objectHelper=new i(this),this.gizmos={}}get geometryHelper(){return i.geometryHelper}raycast(e,t){this.objectHelper.raycast(e,t)}showGizmos(){for(let e in this.gizmos){let t=this.gizmos[e];t instanceof n&&(t.visible=!0)}}updateEntityBoxSize(e,r){this.objectHelper.visible&&this.geometryHelper instanceof t?(e.setScalar(0),r.set(this.geometryHelper.parameters.width,this.geometryHelper.parameters.height,this.geometryHelper.parameters.height).multiplyScalar(.5)):super.updateEntityBoxSize(e,r)}hideGizmos(){for(let e in this.gizmos){let t=this.gizmos[e];t instanceof n&&(t.visible=!1)}}},c=e=>{var r;return(r=class extends e{}).geometryHelper=new t(30,30,30),r},p=new o,u=new a,m=new i,f=(e,t,i,n,a=!1,o=e)=>{let s=t,l=o.matrixWorld;if(null===s.boundingSphere&&s.computeBoundingSphere(),u.copy(s.boundingSphere),u.applyMatrix4(l),!1===i.ray.intersectsSphere(u)||(m.copy(l).invert(),p.copy(i.ray).applyMatrix4(m),null!==s.boundingBox&&!1===p.intersectsBox(s.boundingBox)))return;let c,f,h,d,g,y,x=s.index,b=s.attributes.position,w=s.drawRange;if(!1===a){for(g=Math.max(0,w.start),y=Math.min(x.count,w.start+w.count);g<y;g+=3)if(f=x.getX(g),h=x.getX(g+1),d=x.getX(g+2),c=B(e,i,p,b,f,h,d),c)return c.faceIndex=Math.floor(g/3),void n.push(c)}else{let t=s.attributes.position,a=new r,l=new r,c=new r,u=new r,m=2,f=1/((o.scale.x+o.scale.y+o.scale.z)/3),h=f*f;for(let r=Math.max(0,w.start),s=Math.min(t.count,w.start+w.count)-1;r<s;r+=m){if(a.fromBufferAttribute(t,r),l.fromBufferAttribute(t,r+1),p.distanceSqToSegment(a,l,u,c)>h)continue;u.applyMatrix4(o.matrixWorld);let s=i.ray.origin.distanceTo(u);s<i.near||s>i.far||n.push({distance:s,point:c.clone().applyMatrix4(o.matrixWorld),object:e})}}function B(e,t,i,n,a,o,s){let l=new r,c=new r,p=new r,u=new r,m=new r;if(l.fromBufferAttribute(n,a),c.fromBufferAttribute(n,o),p.fromBufferAttribute(n,s),null===i.intersectTriangle(l,c,p,!1,u))return null;m.copy(u),m.applyMatrix4(e.matrixWorld);let f=t.ray.origin.distanceTo(m);return f<t.near||f>t.far?null:{faceIndex:1,distance:f,point:m.clone(),object:e}}};export{c as a,f as b,s as c,l as d};
1
+ import{j as e}from"./runtime-chunk-I4ELBYXH.js";import{Ed as t,Fc as r,Oc as i,We as n,cd as a,jd as o}from"./runtime-chunk-BVVSZMXD.js";var s;(s||(s={})).is=e=>"objectHelper"in e;var l=(r,i)=>class extends(e(r)){constructor(){super(...arguments),this.objectHelper=new i(this),this.gizmos={}}get geometryHelper(){return i.geometryHelper}raycast(e,t){this.objectHelper.raycast(e,t)}showGizmos(){for(let e in this.gizmos){let t=this.gizmos[e];t instanceof n&&(t.visible=!0)}}updateEntityBoxSize(e,r){this.objectHelper.visible&&this.geometryHelper instanceof t?(e.setScalar(0),r.set(this.geometryHelper.parameters.width,this.geometryHelper.parameters.height,this.geometryHelper.parameters.height).multiplyScalar(.5)):super.updateEntityBoxSize(e,r)}hideGizmos(){for(let e in this.gizmos){let t=this.gizmos[e];t instanceof n&&(t.visible=!1)}}},c=e=>{var r;return(r=class extends e{}).geometryHelper=new t(30,30,30),r},p=new o,u=new a,m=new i,f=(e,t,i,n,a=!1,o=e)=>{let s=t,l=o.matrixWorld;if(null===s.boundingSphere&&s.computeBoundingSphere(),u.copy(s.boundingSphere),u.applyMatrix4(l),!1===i.ray.intersectsSphere(u)||(m.copy(l).invert(),p.copy(i.ray).applyMatrix4(m),null!==s.boundingBox&&!1===p.intersectsBox(s.boundingBox)))return;let c,f,h,d,g,y,x=s.index,b=s.attributes.position,w=s.drawRange;if(!1===a){for(g=Math.max(0,w.start),y=Math.min(x.count,w.start+w.count);g<y;g+=3)if(f=x.getX(g),h=x.getX(g+1),d=x.getX(g+2),c=B(e,i,p,b,f,h,d),c)return c.faceIndex=Math.floor(g/3),void n.push(c)}else{let t=s.attributes.position,a=new r,l=new r,c=new r,u=new r,m=2,f=1/((o.scale.x+o.scale.y+o.scale.z)/3),h=f*f;for(let r=Math.max(0,w.start),s=Math.min(t.count,w.start+w.count)-1;r<s;r+=m){if(a.fromBufferAttribute(t,r),l.fromBufferAttribute(t,r+1),p.distanceSqToSegment(a,l,u,c)>h)continue;u.applyMatrix4(o.matrixWorld);let s=i.ray.origin.distanceTo(u);s<i.near||s>i.far||n.push({distance:s,point:c.clone().applyMatrix4(o.matrixWorld),object:e})}}function B(e,t,i,n,a,o,s){let l=new r,c=new r,p=new r,u=new r,m=new r;if(l.fromBufferAttribute(n,a),c.fromBufferAttribute(n,o),p.fromBufferAttribute(n,s),null===i.intersectTriangle(l,c,p,!1,u))return null;m.copy(u),m.applyMatrix4(e.matrixWorld);let f=t.ray.origin.distanceTo(m);return f<t.near||f>t.far?null:{faceIndex:1,distance:f,point:m.clone(),object:e}}};export{c as a,f as b,s as c,l as d};
@@ -1 +1 @@
1
- import{a as t}from"./runtime-chunk-XINIFQH4.js";import{d as e}from"./runtime-chunk-2W3XFRTZ.js";import{Sc as s}from"./runtime-chunk-BVVSZMXD.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-LHETPF7C.js";import{d as e}from"./runtime-chunk-3BVK77PB.js";import{Sc as s}from"./runtime-chunk-BVVSZMXD.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 +1 @@
1
- import{h as n}from"./runtime-chunk-WGQDLFC4.js";function e(o){if(o.component){let t=o.component.instances.indexOf(o);t>=0&&o.component.instances.splice(t,1);for(let t of o.children)n.is(t)&&e(t)}}export{e as a};
1
+ import{h as n}from"./runtime-chunk-I4ELBYXH.js";function e(o){if(o.component){let t=o.component.instances.indexOf(o);t>=0&&o.component.instances.splice(t,1);for(let t of o.children)n.is(t)&&e(t)}}export{e as a};