@cimplify/sdk 0.109.0 → 0.110.2

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 (337) hide show
  1. package/dist/advanced.d.mts +4 -4
  2. package/dist/advanced.d.ts +4 -4
  3. package/dist/{audio-XU2sFNyO.d.mts → audio-DhvyjqdA.d.mts} +2 -2
  4. package/dist/{audio-8Igdy2WK.d.ts → audio-m0w8cnxq.d.ts} +2 -2
  5. package/dist/avatars.js +21 -21
  6. package/dist/avatars.mjs +3 -3
  7. package/dist/{backend-L4d_Ha0J.d.mts → backend-gUCzs5Kg.d.mts} +16 -2
  8. package/dist/{backend-L4d_Ha0J.d.ts → backend-gUCzs5Kg.d.ts} +16 -2
  9. package/dist/{catalogue-BeBFWlHF.d.mts → catalogue-CPTMyBUz.d.mts} +2 -2
  10. package/dist/{catalogue-DLLsfuNg.d.ts → catalogue-OTuS5zp-.d.ts} +2 -2
  11. package/dist/{chunk-HF2MZKP2.mjs → chunk-22BD3RHN.mjs} +6 -3
  12. package/dist/{chunk-B54P6RL2.js → chunk-2AQ237Y4.js} +30 -30
  13. package/dist/{chunk-W3VVG4NL.js → chunk-2O2CG465.js} +14 -2
  14. package/dist/{chunk-UPHTPBNQ.mjs → chunk-2QTQ6BUH.mjs} +1 -1
  15. package/dist/{chunk-BS65NRDW.js → chunk-3S6WPBZL.js} +16 -16
  16. package/dist/{chunk-PEZYNYJE.js → chunk-3TUOUP5T.js} +3 -3
  17. package/dist/{chunk-EB6EAOM5.mjs → chunk-3VEH23I5.mjs} +7 -10
  18. package/dist/{chunk-FB6YH2WW.js → chunk-4C7I3ELN.js} +4 -4
  19. package/dist/{chunk-UQYO3OM7.js → chunk-4ZDR72SG.js} +1 -2
  20. package/dist/{chunk-HPKKCUHU.js → chunk-52YS45RR.js} +13 -13
  21. package/dist/{chunk-6YVELDFK.mjs → chunk-5BYDGGWO.mjs} +1 -1
  22. package/dist/{chunk-YN24DET4.js → chunk-5HFMY3D7.js} +10 -10
  23. package/dist/{chunk-4CVB2ZTC.js → chunk-5LH2QN3T.js} +32 -29
  24. package/dist/{chunk-4A24F4ZV.mjs → chunk-5YFBGGCK.mjs} +4 -1
  25. package/dist/{chunk-NLAT3DB2.mjs → chunk-6DAEZKIG.mjs} +1 -1
  26. package/dist/{chunk-F6CHJXXK.mjs → chunk-6DATW7TB.mjs} +3 -3
  27. package/dist/{chunk-4RYATNVK.mjs → chunk-6H254EVP.mjs} +6 -11
  28. package/dist/{chunk-32U4BVJA.mjs → chunk-6PJWXIFX.mjs} +1 -1
  29. package/dist/{chunk-BHAGIIBI.js → chunk-6WUBSMTX.js} +82 -85
  30. package/dist/{chunk-EPYFN2A3.js → chunk-7AAIAVAA.js} +24 -20
  31. package/dist/{chunk-HZC27ICH.mjs → chunk-7BHW5GTC.mjs} +3 -3
  32. package/dist/{chunk-MB425DVA.mjs → chunk-7IQQQENP.mjs} +2 -2
  33. package/dist/{chunk-DJUUL67Z.js → chunk-7KFTYENS.js} +296 -296
  34. package/dist/{chunk-XLQSNQMP.js → chunk-7SM6XSPZ.js} +339 -339
  35. package/dist/{chunk-NBH64BDP.mjs → chunk-A33OORT7.mjs} +13 -1
  36. package/dist/{chunk-G2SXLGFY.js → chunk-A7BU3BK4.js} +7 -7
  37. package/dist/{chunk-ZNWS7NOW.mjs → chunk-A7V4L2IT.mjs} +2 -2
  38. package/dist/{chunk-O3SITS4R.mjs → chunk-AGV33FWC.mjs} +4 -4
  39. package/dist/{chunk-Z2DE3EHS.js → chunk-AHNR3BXI.js} +7 -7
  40. package/dist/{chunk-UQ4BHMLS.mjs → chunk-AQ5RLBU2.mjs} +5 -5
  41. package/dist/{chunk-J4HU2YQB.js → chunk-AQOE6WCG.js} +2 -2
  42. package/dist/{chunk-X57B7VQC.js → chunk-AYJPHKYV.js} +22 -22
  43. package/dist/{chunk-6XTWY6MH.js → chunk-AZAXD44P.js} +126 -42
  44. package/dist/{chunk-QDW4EPWS.mjs → chunk-BBGKQIJJ.mjs} +1 -1
  45. package/dist/{chunk-NHYTO4VU.js → chunk-BP4JLSUA.js} +111 -120
  46. package/dist/{chunk-7INQVOHY.mjs → chunk-BU6OK542.mjs} +25 -8
  47. package/dist/{chunk-W23VX5MY.js → chunk-CVSRWM6W.js} +5 -5
  48. package/dist/{chunk-A7DK7QAG.mjs → chunk-CYBMFMJD.mjs} +1 -1
  49. package/dist/{chunk-BOTUAHP2.mjs → chunk-DS2VU4WW.mjs} +5 -20
  50. package/dist/{chunk-HMMFNLXZ.js → chunk-DSAG7T5P.js} +2 -2
  51. package/dist/{chunk-7GG4KNTL.mjs → chunk-E65WCTIG.mjs} +8 -4
  52. package/dist/{chunk-WXDVEXTW.mjs → chunk-ECDK6QBF.mjs} +1 -1
  53. package/dist/{chunk-5IRV36MS.mjs → chunk-EIB4OWVQ.mjs} +1 -1
  54. package/dist/{chunk-JLJ4FD5H.js → chunk-EQUZYCGO.js} +18 -18
  55. package/dist/{chunk-AKTWH3KJ.mjs → chunk-F3UJ6ZRM.mjs} +2 -2
  56. package/dist/{chunk-J6HRY5EQ.js → chunk-F63N2ZTQ.js} +232 -232
  57. package/dist/{chunk-MUEFTPNN.js → chunk-FE6VCE4K.js} +34 -34
  58. package/dist/{chunk-2UYTS7SL.mjs → chunk-GCX7TY4D.mjs} +16 -16
  59. package/dist/{chunk-QDLMIHUH.js → chunk-GDB6TCSD.js} +7 -7
  60. package/dist/{chunk-7S7LDFGH.js → chunk-GDZT5LZ5.js} +12 -12
  61. package/dist/{chunk-TB2LS4CE.mjs → chunk-GHS6MIL6.mjs} +7 -11
  62. package/dist/{chunk-7OHZ56N7.mjs → chunk-GXKI64OT.mjs} +4 -4
  63. package/dist/{chunk-HRSIIDOZ.js → chunk-H3OQKK6X.js} +41 -41
  64. package/dist/{chunk-56BM75QX.js → chunk-H5DFSCJ6.js} +2 -2
  65. package/dist/{chunk-LMK775I4.mjs → chunk-HAGEIC2L.mjs} +1 -1
  66. package/dist/{chunk-6FZDMICK.js → chunk-HAJ4JRFO.js} +15 -15
  67. package/dist/{chunk-AWR2G5QN.js → chunk-HDR72GB6.js} +6 -11
  68. package/dist/{chunk-PTT6KIM6.js → chunk-HSEO6TPU.js} +9 -9
  69. package/dist/{chunk-CQSA2D2O.js → chunk-I5FOHCLH.js} +4 -31
  70. package/dist/{chunk-TMFB55IR.js → chunk-J2U6PJSO.js} +3 -30
  71. package/dist/{chunk-W77VO6LP.js → chunk-J5AJNY2N.js} +13 -13
  72. package/dist/{chunk-UKA7LHIT.js → chunk-JR3TNEQC.js} +98 -98
  73. package/dist/{chunk-P2O34BIO.mjs → chunk-JURRXY2J.mjs} +1 -1
  74. package/dist/{chunk-PKMVOVUA.mjs → chunk-K3HW5I2A.mjs} +1 -1
  75. package/dist/{chunk-BXUGKBMK.mjs → chunk-KDQOR4QQ.mjs} +1 -14
  76. package/dist/{chunk-KVZSYGTX.mjs → chunk-KGHJH5KJ.mjs} +1 -1
  77. package/dist/{chunk-3AKWZF3X.mjs → chunk-KK6HYVBI.mjs} +1 -1
  78. package/dist/{chunk-K6GK5B5J.js → chunk-KMKWGXMK.js} +6 -6
  79. package/dist/{chunk-EH4UG7IL.mjs → chunk-KU7O4IXU.mjs} +4 -4
  80. package/dist/{chunk-IHRMR3WV.mjs → chunk-KVFNRJOR.mjs} +9 -9
  81. package/dist/{chunk-HBZQ5HSV.mjs → chunk-LIV3KXJG.mjs} +1 -1
  82. package/dist/{chunk-S75PBSSL.mjs → chunk-ME6HGG4I.mjs} +92 -8
  83. package/dist/{chunk-FKYZCXFM.js → chunk-MIPO6F72.js} +3 -3
  84. package/dist/{chunk-MFWIHTEN.js → chunk-MTIHEW2M.js} +5 -5
  85. package/dist/{chunk-M53GR3ZV.mjs → chunk-NHJUGZUR.mjs} +43 -5
  86. package/dist/{chunk-FAYK2MN6.js → chunk-NZTKLY2W.js} +14 -18
  87. package/dist/{chunk-EQW6PFC2.js → chunk-O2ICABUD.js} +2 -2
  88. package/dist/{chunk-5PW6DVHF.js → chunk-OIVVQQ22.js} +55 -37
  89. package/dist/{chunk-GBJ5CW3A.js → chunk-PKOZXD2Q.js} +30 -30
  90. package/dist/{chunk-NGN3JE5A.js → chunk-PQTQKNKD.js} +16 -7
  91. package/dist/{chunk-PCVVQNBD.js → chunk-QS6TRHMR.js} +5 -5
  92. package/dist/{chunk-DXZZ27CV.js → chunk-RKBLPGPV.js} +245 -207
  93. package/dist/{chunk-765P2G7G.mjs → chunk-RUVGVNOF.mjs} +1 -1
  94. package/dist/{chunk-NJ7ZWH4U.mjs → chunk-SAFJIGYB.mjs} +1 -1
  95. package/dist/{chunk-AOPH2IZV.js → chunk-SKQFLBDD.js} +60 -22
  96. package/dist/{chunk-BUUA5XJV.js → chunk-TWM6DLYF.js} +2 -2
  97. package/dist/{chunk-YPL5TKI4.mjs → chunk-U6UVWEAK.mjs} +1 -1
  98. package/dist/{chunk-6YQDHXPL.mjs → chunk-UCEPNO6N.mjs} +46 -9
  99. package/dist/{chunk-U7RULAEP.mjs → chunk-UG5BTOTF.mjs} +2 -2
  100. package/dist/{chunk-MITGBWV7.mjs → chunk-UGH37BQW.mjs} +1 -1
  101. package/dist/{chunk-URRZ2SMI.mjs → chunk-V7ZRH3PY.mjs} +2 -2
  102. package/dist/{chunk-3H76N7G5.mjs → chunk-VBGHBL3E.mjs} +8 -17
  103. package/dist/{chunk-AZC2LTUI.js → chunk-VVE3Y76O.js} +2 -2
  104. package/dist/{chunk-BRAA7U3I.mjs → chunk-W65JIRI4.mjs} +1 -1
  105. package/dist/{chunk-KU4EDEKA.js → chunk-WKWTDZS7.js} +9 -9
  106. package/dist/{chunk-NTTHAXHI.js → chunk-X5A5FOWW.js} +11 -8
  107. package/dist/{chunk-ODL55PYL.mjs → chunk-XD2PMH46.mjs} +16 -7
  108. package/dist/{chunk-OADW5BSV.js → chunk-XK6UDWJS.js} +2 -2
  109. package/dist/{chunk-7ZTEVNXO.mjs → chunk-Y65LXQGA.mjs} +8 -8
  110. package/dist/{chunk-Z3PGQRTX.mjs → chunk-Y66WVMO5.mjs} +3 -30
  111. package/dist/{chunk-VZAJDN5C.mjs → chunk-Y7JWLB25.mjs} +1 -1
  112. package/dist/{chunk-ZJGPD42I.js → chunk-YCDXAJKU.js} +3 -3
  113. package/dist/{chunk-NCTLCSLE.mjs → chunk-Z3A3AFVU.mjs} +1 -1
  114. package/dist/{chunk-AEEF3T2E.mjs → chunk-ZCY6YKKP.mjs} +3 -3
  115. package/dist/{chunk-M5FWHML6.js → chunk-ZMIL4ZOA.js} +5 -18
  116. package/dist/{chunk-D3JMTFOX.mjs → chunk-ZR5ULMN2.mjs} +1 -1
  117. package/dist/{client-CO8lw80Q.d.mts → client-CX_WR0-J.d.mts} +2 -2
  118. package/dist/{client-C9hsiaki.d.ts → client-dqOhP9Nc.d.ts} +2 -2
  119. package/dist/{courier-CJasuxTU.d.ts → courier-Cnn-edJ4.d.ts} +5 -5
  120. package/dist/{courier-C2Vo2VlH.d.mts → courier-FmGfkvIN.d.mts} +5 -5
  121. package/dist/{crowd-D1ljcic8.d.ts → crowd-DdHFbqKK.d.ts} +1 -1
  122. package/dist/{crowd-B37S1apB.d.mts → crowd-hOVSAmA3.d.mts} +1 -1
  123. package/dist/{danfo-BsaPzhGi.d.mts → danfo-BEBapFlX.d.mts} +3 -3
  124. package/dist/{danfo-CCv23CPy.d.ts → danfo-UQ_PTIIx.d.ts} +3 -3
  125. package/dist/{elements-Bsfk7CPw.d.ts → elements-DdsRig-2.d.mts} +20 -0
  126. package/dist/{elements-Bsfk7CPw.d.mts → elements-DdsRig-2.d.ts} +20 -0
  127. package/dist/engines/godot.d.mts +1 -1
  128. package/dist/engines/godot.d.ts +1 -1
  129. package/dist/engines/wasm.d.mts +1 -1
  130. package/dist/engines/wasm.d.ts +1 -1
  131. package/dist/fallback-KDB4Y2CE.mjs +6 -0
  132. package/dist/fallback-Y26TQENE.js +19 -0
  133. package/dist/{five-a-side-DP84gMuh.d.mts → five-a-side-Bv1AOUy3.d.mts} +4 -4
  134. package/dist/{five-a-side-DO8SDqMb.d.ts → five-a-side-EC51SJY1.d.ts} +4 -4
  135. package/dist/{fluid-BkxNBD2t.d.ts → fluid-ARr0qUIL.d.ts} +168 -4
  136. package/dist/{fluid-BZ42EMds.d.mts → fluid-DLlEj2cs.d.mts} +168 -4
  137. package/dist/game/conformance.d.mts +7 -7
  138. package/dist/game/conformance.d.ts +7 -7
  139. package/dist/game/conformance.js +39 -41
  140. package/dist/game/conformance.mjs +17 -19
  141. package/dist/game/heap.d.mts +3 -3
  142. package/dist/game/heap.d.ts +3 -3
  143. package/dist/game/heap.js +13 -15
  144. package/dist/game/heap.mjs +4 -6
  145. package/dist/game/kit/canvas.d.mts +33 -34
  146. package/dist/game/kit/canvas.d.ts +33 -34
  147. package/dist/game/kit/canvas.js +569 -570
  148. package/dist/game/kit/canvas.mjs +52 -53
  149. package/dist/game/kit/courier.d.mts +9 -9
  150. package/dist/game/kit/courier.d.ts +9 -9
  151. package/dist/game/kit/courier.js +20 -20
  152. package/dist/game/kit/courier.mjs +17 -17
  153. package/dist/game/kit/danfo.d.mts +7 -7
  154. package/dist/game/kit/danfo.d.ts +7 -7
  155. package/dist/game/kit/danfo.js +30 -30
  156. package/dist/game/kit/danfo.mjs +15 -15
  157. package/dist/game/kit/engine.d.mts +12 -12
  158. package/dist/game/kit/engine.d.ts +12 -12
  159. package/dist/game/kit/engine.js +40 -41
  160. package/dist/game/kit/engine.mjs +11 -12
  161. package/dist/game/kit/five-a-side.d.mts +7 -7
  162. package/dist/game/kit/five-a-side.d.ts +7 -7
  163. package/dist/game/kit/five-a-side.js +24 -24
  164. package/dist/game/kit/five-a-side.mjs +14 -14
  165. package/dist/game/kit/frontier.d.mts +7 -7
  166. package/dist/game/kit/frontier.d.ts +7 -7
  167. package/dist/game/kit/genesis.d.mts +7 -7
  168. package/dist/game/kit/genesis.d.ts +7 -7
  169. package/dist/game/kit/ludo.d.mts +8 -8
  170. package/dist/game/kit/ludo.d.ts +8 -8
  171. package/dist/game/kit/ludo.js +24 -24
  172. package/dist/game/kit/ludo.mjs +14 -14
  173. package/dist/game/kit/runner.d.mts +8 -8
  174. package/dist/game/kit/runner.d.ts +8 -8
  175. package/dist/game/kit/runner.js +22 -22
  176. package/dist/game/kit/runner.mjs +14 -14
  177. package/dist/game/kit/shootout.d.mts +9 -9
  178. package/dist/game/kit/shootout.d.ts +9 -9
  179. package/dist/game/kit/shootout.js +33 -34
  180. package/dist/game/kit/shootout.mjs +18 -19
  181. package/dist/game/kit/tycoon.d.mts +9 -9
  182. package/dist/game/kit/tycoon.d.ts +9 -9
  183. package/dist/game/kit/tycoon.js +38 -38
  184. package/dist/game/kit/tycoon.mjs +14 -14
  185. package/dist/game/kit/word.d.mts +7 -7
  186. package/dist/game/kit/word.d.ts +7 -7
  187. package/dist/game/kit/word.js +22 -22
  188. package/dist/game/kit/word.mjs +14 -14
  189. package/dist/game/kit/worlds.d.mts +10 -10
  190. package/dist/game/kit/worlds.d.ts +10 -10
  191. package/dist/game/kit/worlds.js +22 -22
  192. package/dist/game/kit/worlds.mjs +17 -17
  193. package/dist/game/kit.d.mts +31 -32
  194. package/dist/game/kit.d.ts +31 -32
  195. package/dist/game/kit.js +523 -524
  196. package/dist/game/kit.mjs +38 -39
  197. package/dist/game/prepared.d.mts +6 -7
  198. package/dist/game/prepared.d.ts +6 -7
  199. package/dist/game/prepared.js +23 -24
  200. package/dist/game/prepared.mjs +12 -13
  201. package/dist/{game-BZAfgKV6.d.mts → game-Bx8onkhX.d.mts} +5 -97
  202. package/dist/{game-UoJWopvD.d.ts → game-fgQy2YIm.d.ts} +5 -97
  203. package/dist/game.d.mts +56 -18
  204. package/dist/game.d.ts +56 -18
  205. package/dist/game.js +922 -927
  206. package/dist/game.mjs +16 -17
  207. package/dist/{graphics-DNIAV5Mi.d.ts → graphics-C6YjWYvP.d.ts} +1 -1
  208. package/dist/{graphics-CGJDdtdT.d.mts → graphics-Dk2yQnYN.d.mts} +1 -1
  209. package/dist/{guest-CMCZeyh5.d.mts → guest-DrsA00XD.d.mts} +2 -7
  210. package/dist/{guest-CB458Hgw.d.ts → guest-wIdfoT05.d.ts} +2 -7
  211. package/dist/{hit-stop-D2Ca-i9-.d.mts → hit-stop-BKkVwTq7.d.mts} +1 -1
  212. package/dist/{hit-stop-Ca1OYk15.d.ts → hit-stop-D-8pPYnM.d.ts} +1 -1
  213. package/dist/{hot-B9BTmDz6.d.ts → hot-Crn9XpHJ.d.ts} +1 -1
  214. package/dist/{hot-B_L-GEHZ.d.mts → hot-DH3nOhQD.d.mts} +1 -1
  215. package/dist/{index-C3KORE2U.d.mts → index-6gkHMGAq.d.mts} +2 -2
  216. package/dist/{index-DPeyo938.d.ts → index-B8ybCKJI.d.ts} +3 -3
  217. package/dist/{index-DFDeJxFQ.d.ts → index-B98Xac8e.d.ts} +2 -2
  218. package/dist/{index-Cv_rL5X0.d.ts → index-B_ByTtIT.d.ts} +2 -2
  219. package/dist/{index-D8ZDzms9.d.mts → index-DHjNHb1c.d.mts} +3 -3
  220. package/dist/{index-C76o9Pj4.d.mts → index-DbAN_VQE.d.mts} +2 -2
  221. package/dist/index.d.mts +8 -8
  222. package/dist/index.d.ts +8 -8
  223. package/dist/interactives-authoring.js +12 -1
  224. package/dist/interactives-authoring.mjs +12 -1
  225. package/dist/interactives-canvas.global.js +14 -39
  226. package/dist/interactives-guest.d.mts +2 -2
  227. package/dist/interactives-guest.d.ts +2 -2
  228. package/dist/interactives-guest.js +10 -10
  229. package/dist/interactives-guest.mjs +6 -6
  230. package/dist/interactives-jsc.global.js +4 -23
  231. package/dist/interactives-meters.d.mts +11 -11
  232. package/dist/interactives-meters.d.ts +11 -11
  233. package/dist/interactives-meters.js +65 -66
  234. package/dist/interactives-meters.mjs +17 -18
  235. package/dist/interactives-production.d.mts +5 -5
  236. package/dist/interactives-production.d.ts +5 -5
  237. package/dist/interactives-production.js +15 -16
  238. package/dist/interactives-production.mjs +3 -4
  239. package/dist/interactives-record.d.mts +3 -9
  240. package/dist/interactives-record.d.ts +3 -9
  241. package/dist/interactives-record.js +45 -65
  242. package/dist/interactives-record.mjs +19 -39
  243. package/dist/interactives-runtime.d.mts +3 -3
  244. package/dist/interactives-runtime.d.ts +3 -3
  245. package/dist/interactives-runtime.js +101 -105
  246. package/dist/interactives-runtime.mjs +6 -6
  247. package/dist/interactives-studio-kernel.global.js +1 -1
  248. package/dist/interactives-studio.d.mts +7 -7
  249. package/dist/interactives-studio.d.ts +7 -7
  250. package/dist/interactives-studio.js +136 -82
  251. package/dist/interactives-studio.mjs +65 -11
  252. package/dist/interactives-web.d.mts +14 -14
  253. package/dist/interactives-web.d.ts +14 -14
  254. package/dist/interactives-web.js +201 -198
  255. package/dist/interactives-web.mjs +33 -34
  256. package/dist/interactives.d.mts +7 -28
  257. package/dist/interactives.d.ts +7 -28
  258. package/dist/interactives.js +267 -313
  259. package/dist/interactives.mjs +26 -24
  260. package/dist/{juice-Dfgc1B1q.d.ts → juice-CoHxlpKA.d.ts} +1 -1
  261. package/dist/{juice-CsnrmTOk.d.mts → juice-DQztFS43.d.mts} +1 -1
  262. package/dist/{launch-CCsmv8HC.d.mts → launch-T2f4_Di4.d.mts} +6 -6
  263. package/dist/{launch-8W_Tojpz.d.ts → launch-d6oreMzR.d.ts} +6 -6
  264. package/dist/{local-DA_HpPOj.d.mts → local-D8_I6UeL.d.mts} +0 -5
  265. package/dist/{local-_mD0x-p_.d.ts → local-VZkqsCzR.d.ts} +0 -5
  266. package/dist/{ludo-BVHycBP-.d.ts → ludo-B8ClkDqr.d.ts} +4 -4
  267. package/dist/{ludo-BRaTcI3E.d.mts → ludo-BOuohQ-M.d.mts} +4 -4
  268. package/dist/{native-CcMUV7rL.d.mts → native-BodxSh03.d.mts} +2 -2
  269. package/dist/{native-3f4Ht82c.d.ts → native-DUHMT8gA.d.ts} +2 -2
  270. package/dist/{online-CCy8pwOn.d.ts → online-XeymeM9s.d.ts} +1 -1
  271. package/dist/{online-smW2BO3Y.d.mts → online-d7W_Al9a.d.mts} +1 -1
  272. package/dist/{play-BhHHX1jD.d.ts → play-BRRlfLhX.d.ts} +5 -5
  273. package/dist/{play-Bn7NfGNE.d.mts → play-ClrMd_e8.d.mts} +5 -5
  274. package/dist/{policy-Dvnzg8ki.d.mts → policy-CCw8tXLm.d.mts} +19 -19
  275. package/dist/{policy-b3MVXMQu.d.ts → policy-CMqOSQIu.d.ts} +19 -19
  276. package/dist/{ports-CNeZdgVm.d.mts → ports-B_0v_P3A.d.mts} +1 -1
  277. package/dist/{ports-Vno6MDaR.d.ts → ports-CGU_3e_0.d.ts} +1 -1
  278. package/dist/{prefetch-BFg6lJyD.d.ts → prefetch-BHnicOQj.d.ts} +3 -3
  279. package/dist/{prefetch-BOoKX3qx.d.mts → prefetch-CBXgYacv.d.mts} +3 -3
  280. package/dist/{price-BIKJla_G.d.mts → price-BOzexBww.d.mts} +1 -1
  281. package/dist/{price-D1gE7Ek6.d.ts → price-C1h9sPxE.d.ts} +1 -1
  282. package/dist/react.d.mts +16 -16
  283. package/dist/react.d.ts +16 -16
  284. package/dist/react.js +29 -18
  285. package/dist/react.mjs +26 -15
  286. package/dist/{runner-BAG8EglP.d.ts → runner-CQcLL7By.d.ts} +6 -6
  287. package/dist/{runner-CKtKtIzc.d.mts → runner-D46Yj-wE.d.mts} +6 -6
  288. package/dist/{runtime-DfZp1Kwg.d.mts → runtime-BRWfkf_q.d.mts} +1 -8
  289. package/dist/{runtime-yHPgIJV-.d.ts → runtime-DyuBMkKM.d.ts} +1 -8
  290. package/dist/{scheduling-CnRAhWQL.d.ts → scheduling-D2ajXpMC.d.ts} +1 -1
  291. package/dist/{scheduling-lHyYoCa7.d.mts → scheduling-DSRbbaZb.d.mts} +1 -1
  292. package/dist/{server-DxcxjER1.d.ts → server-D29IIuDV.d.ts} +2 -2
  293. package/dist/{server-lU3Sznd4.d.mts → server-DQMWPnc8.d.mts} +2 -2
  294. package/dist/server.d.mts +4 -4
  295. package/dist/server.d.ts +4 -4
  296. package/dist/{shootout-rK-oblpb.d.ts → shootout-BJZeX6FG.d.ts} +6 -6
  297. package/dist/{shootout-D998OWa-.d.mts → shootout-tcZd1Rxt.d.mts} +6 -6
  298. package/dist/styles.css +1 -1
  299. package/dist/{template-Byaueo34.d.mts → template-AhCdB1kW.d.mts} +3 -3
  300. package/dist/{template-BXE2L654.d.ts → template-BkEGVTQj.d.ts} +3 -3
  301. package/dist/{terrain-vgYkJPNx.d.ts → terrain-BMxEc6Oc.d.ts} +3 -3
  302. package/dist/{terrain-CR0NQZPl.d.mts → terrain-C-XC1Oui.d.mts} +3 -3
  303. package/dist/testing/msw.d.mts +3 -3
  304. package/dist/testing/msw.d.ts +3 -3
  305. package/dist/testing/suite.d.mts +6 -6
  306. package/dist/testing/suite.d.ts +6 -6
  307. package/dist/testing.d.mts +5 -5
  308. package/dist/testing.d.ts +5 -5
  309. package/dist/{tick-transport-Q_8syS8J.d.mts → tick-transport-C8QEh8Uw.d.mts} +1 -1
  310. package/dist/{tick-transport-xpMcMTs2.d.ts → tick-transport-UjHY3xK1.d.ts} +1 -1
  311. package/dist/{tree-BsXFWKQ6.d.mts → tree-C-Io2Hbx.d.mts} +1 -1
  312. package/dist/{tree-DW9x29Vv.d.ts → tree-CP_qSW4H.d.ts} +1 -1
  313. package/dist/{tycoon-BMAE5Wea.d.mts → tycoon-B5KHk2Xx.d.mts} +5 -5
  314. package/dist/{tycoon-dWvWTbE4.d.ts → tycoon-hmHo-3HX.d.ts} +5 -5
  315. package/dist/{types-AkQEePZo.d.mts → types-BQkxPwZP.d.mts} +1 -1
  316. package/dist/{types-BWaZJDla.d.ts → types-D_f6UUxM.d.ts} +1 -1
  317. package/dist/utils.d.mts +3 -3
  318. package/dist/utils.d.ts +3 -3
  319. package/dist/{weave-delivery-3G03LdMM.d.mts → weave-delivery-CW-Kstut.d.mts} +10 -1
  320. package/dist/{weave-delivery-3G03LdMM.d.ts → weave-delivery-CW-Kstut.d.ts} +10 -1
  321. package/dist/{web-C8B9uVx_.d.ts → web-Dss74a7v.d.ts} +7 -7
  322. package/dist/{web-BqSEfX2o.d.mts → web-f9ZQPoyw.d.mts} +7 -7
  323. package/dist/{weight-BDABC8cN.d.ts → weight-CPGjsgjV.d.ts} +3 -3
  324. package/dist/{weight-Cee73u3d.d.mts → weight-tF1ODR1p.d.mts} +3 -3
  325. package/dist/{word-DB2CcI9q.d.mts → word-BcX9Jcmv.d.mts} +3 -3
  326. package/dist/{word-C1Q8oXuy.d.ts → word-C7sVPLHm.d.ts} +3 -3
  327. package/dist/{world-Bmh7K4tQ.d.ts → world-PvILHDR1.d.ts} +1 -1
  328. package/dist/{world-CPEjuctH.d.mts → world-qekkXjJv.d.mts} +1 -1
  329. package/dist/{worlds-ShY5h6Z_.d.ts → worlds-Br2Pb0Cs.d.ts} +6 -6
  330. package/dist/{worlds-CQgN3GnR.d.mts → worlds-D5ydYr7d.d.mts} +6 -6
  331. package/package.json +1 -1
  332. package/dist/chunk-2LKAOU3L.mjs +0 -96
  333. package/dist/chunk-UWPQL2IQ.js +0 -104
  334. package/dist/fallback-Q5YYIMVJ.js +0 -20
  335. package/dist/fallback-XGBE3RXC.mjs +0 -7
  336. package/dist/split-Di9wBpNx.d.mts +0 -68
  337. package/dist/split-Di9wBpNx.d.ts +0 -68
@@ -1,35 +1,35 @@
1
1
  'use strict';
2
2
 
3
- var chunkW77VO6LP_js = require('./chunk-W77VO6LP.js');
4
- var chunkB54P6RL2_js = require('./chunk-B54P6RL2.js');
3
+ var chunkJ5AJNY2N_js = require('./chunk-J5AJNY2N.js');
4
+ var chunk2AQ237Y4_js = require('./chunk-2AQ237Y4.js');
5
5
  var chunkFZMQMQBW_js = require('./chunk-FZMQMQBW.js');
6
6
  var chunk6VVXXX7S_js = require('./chunk-6VVXXX7S.js');
7
- var chunkQDLMIHUH_js = require('./chunk-QDLMIHUH.js');
8
- var chunkFKYZCXFM_js = require('./chunk-FKYZCXFM.js');
9
- var chunkFB6YH2WW_js = require('./chunk-FB6YH2WW.js');
7
+ var chunkGDB6TCSD_js = require('./chunk-GDB6TCSD.js');
8
+ var chunkMIPO6F72_js = require('./chunk-MIPO6F72.js');
9
+ var chunk4C7I3ELN_js = require('./chunk-4C7I3ELN.js');
10
10
  var chunkNH654HAT_js = require('./chunk-NH654HAT.js');
11
11
  var chunkWHYKAT7G_js = require('./chunk-WHYKAT7G.js');
12
- var chunk56BM75QX_js = require('./chunk-56BM75QX.js');
13
- var chunkJ4HU2YQB_js = require('./chunk-J4HU2YQB.js');
14
- var chunkHPKKCUHU_js = require('./chunk-HPKKCUHU.js');
15
- var chunkDXZZ27CV_js = require('./chunk-DXZZ27CV.js');
12
+ var chunkH5DFSCJ6_js = require('./chunk-H5DFSCJ6.js');
13
+ var chunkAQOE6WCG_js = require('./chunk-AQOE6WCG.js');
14
+ var chunk52YS45RR_js = require('./chunk-52YS45RR.js');
15
+ var chunkRKBLPGPV_js = require('./chunk-RKBLPGPV.js');
16
16
  var chunkY4K22JL6_js = require('./chunk-Y4K22JL6.js');
17
17
  var chunkFLWD6GRR_js = require('./chunk-FLWD6GRR.js');
18
18
  var chunkGYDYF2WX_js = require('./chunk-GYDYF2WX.js');
19
- var chunkPTT6KIM6_js = require('./chunk-PTT6KIM6.js');
19
+ var chunkHSEO6TPU_js = require('./chunk-HSEO6TPU.js');
20
20
  var chunkYRDQCCIS_js = require('./chunk-YRDQCCIS.js');
21
- var chunkDJUUL67Z_js = require('./chunk-DJUUL67Z.js');
22
- var chunk4CVB2ZTC_js = require('./chunk-4CVB2ZTC.js');
21
+ var chunk7KFTYENS_js = require('./chunk-7KFTYENS.js');
22
+ var chunk5LH2QN3T_js = require('./chunk-5LH2QN3T.js');
23
23
  var chunkYV52DGSA_js = require('./chunk-YV52DGSA.js');
24
- var chunkBS65NRDW_js = require('./chunk-BS65NRDW.js');
24
+ var chunk3S6WPBZL_js = require('./chunk-3S6WPBZL.js');
25
25
  var chunkRCQ2MPBV_js = require('./chunk-RCQ2MPBV.js');
26
26
  var chunkAZ5BGWHB_js = require('./chunk-AZ5BGWHB.js');
27
27
  var chunkMRFUNRAP_js = require('./chunk-MRFUNRAP.js');
28
28
  var chunkIIDZ5WUX_js = require('./chunk-IIDZ5WUX.js');
29
29
  var chunkYXGZQPUD_js = require('./chunk-YXGZQPUD.js');
30
30
  var chunkTVJZ4GPS_js = require('./chunk-TVJZ4GPS.js');
31
- var chunkYN24DET4_js = require('./chunk-YN24DET4.js');
32
- var chunkEPYFN2A3_js = require('./chunk-EPYFN2A3.js');
31
+ var chunk5HFMY3D7_js = require('./chunk-5HFMY3D7.js');
32
+ var chunk7AAIAVAA_js = require('./chunk-7AAIAVAA.js');
33
33
  require('./chunk-T2QQMX2N.js');
34
34
  var chunkIR74FJHU_js = require('./chunk-IR74FJHU.js');
35
35
  var chunkZXREOYOW_js = require('./chunk-ZXREOYOW.js');
@@ -40,7 +40,7 @@ var chunkWWKMOA76_js = require('./chunk-WWKMOA76.js');
40
40
  var chunkJ2KZXIU3_js = require('./chunk-J2KZXIU3.js');
41
41
  var chunk2V7IL4HC_js = require('./chunk-2V7IL4HC.js');
42
42
  var chunkMEXP6DA6_js = require('./chunk-MEXP6DA6.js');
43
- var chunkNGN3JE5A_js = require('./chunk-NGN3JE5A.js');
43
+ var chunkPQTQKNKD_js = require('./chunk-PQTQKNKD.js');
44
44
  var chunkJGBCIKJV_js = require('./chunk-JGBCIKJV.js');
45
45
 
46
46
  // src/game/kit/saves/save-slots.ts
@@ -872,7 +872,7 @@ var AvatarRoster = class _AvatarRoster {
872
872
  // src/game/kit/identity/capture.ts
873
873
  async function captureFace(face) {
874
874
  let captured = await face.captureIdentity(), identity = chunkJ2KZXIU3_js.decodeBase64(captured.identity);
875
- return { identity, params: chunkNGN3JE5A_js.decodeIdentity(identity) };
875
+ return { identity, params: chunkPQTQKNKD_js.decodeIdentity(identity) };
876
876
  }
877
877
 
878
878
  // src/game/kit/glb-writer.ts
@@ -924,7 +924,7 @@ function encodeGlb(json, bin) {
924
924
  // src/game/kit/identity/generate.ts
925
925
  var LINEAR = 9729, LINEAR_MIPMAP_LINEAR = 9987, REPEAT = 10497, KTX2_MIME = "image/ktx2", VRM = "VRMC_vrm", VRM_SPEC = "1.0", BROW_DARKEN = 0.7, UV = 2, TRANSLATION = 12;
926
926
  function linear(colour, scale = 1) {
927
- return [chunkNGN3JE5A_js.srgbToLinear(colour[0]) * scale, chunkNGN3JE5A_js.srgbToLinear(colour[1]) * scale, chunkNGN3JE5A_js.srgbToLinear(colour[2]) * scale, 1];
927
+ return [chunkPQTQKNKD_js.srgbToLinear(colour[0]) * scale, chunkPQTQKNKD_js.srgbToLinear(colour[1]) * scale, chunkPQTQKNKD_js.srgbToLinear(colour[2]) * scale, 1];
928
928
  }
929
929
  function selected(mesh, params) {
930
930
  switch (mesh.slot) {
@@ -949,9 +949,9 @@ function faceNormals(positions, indices, weld, out) {
949
949
  function deformMesh(mesh, cage, extra) {
950
950
  let count = mesh.positions.length / 3, positions = new Float32Array(count * 3), at = new Float64Array(3);
951
951
  for (let v = 0; v < count; v++) {
952
- if (chunkNGN3JE5A_js.blendCage(cage, mesh.cageIndex, mesh.cageWeight, v, at), extra !== null) {
952
+ if (chunkPQTQKNKD_js.blendCage(cage, mesh.cageIndex, mesh.cageWeight, v, at), extra !== null) {
953
953
  let more = new Float64Array(3);
954
- chunkNGN3JE5A_js.blendCage(extra, mesh.cageIndex, mesh.cageWeight, v, more);
954
+ chunkPQTQKNKD_js.blendCage(extra, mesh.cageIndex, mesh.cageWeight, v, more);
955
955
  for (let a = 0; a < 3; a++) at[a] += more[a];
956
956
  }
957
957
  for (let a = 0; a < 3; a++) positions[v * 3 + a] = mesh.positions[v * 3 + a] + at[a];
@@ -979,7 +979,7 @@ function transformPoint(ibm, j, p) {
979
979
  function residualCage(base, residual) {
980
980
  let out = new Float64Array(base.basis.cage.length), { cageIndex, cageWeight } = base.anchors;
981
981
  for (let l = 0; l < base.anchors.names.length; l++) {
982
- let norm = chunkPTT6KIM6_js.anchorWeightSum(base, l);
982
+ let norm = chunkHSEO6TPU_js.anchorWeightSum(base, l);
983
983
  if (norm !== 0)
984
984
  for (let k = 0; k < 4; k++) {
985
985
  let w = cageWeight[l * 4 + k] / 65535;
@@ -991,19 +991,19 @@ function residualCage(base, residual) {
991
991
  return out;
992
992
  }
993
993
  function buildIdentityCharacter(base, params, options = {}) {
994
- chunkNGN3JE5A_js.checkIdentityFits(base, params);
994
+ chunkPQTQKNKD_js.checkIdentityFits(base, params);
995
995
  let coefficients = new Float32Array(base.components);
996
996
  coefficients.set(params.face, 0), coefficients.set(params.body, base.basis.face);
997
997
  let cage = new Float64Array(base.basis.cage.length);
998
- chunkNGN3JE5A_js.cageDisplacement(base, coefficients, cage);
998
+ chunkPQTQKNKD_js.cageDisplacement(base, coefficients, cage);
999
999
  let extra = params.residual === null ? null : residualCage(base, params.residual), writer = new GlbWriter(), nodes = [{ name: options.name ?? base.name, children: [] }], topChildren = nodes[0].children, jointNode = base.joints.map((_, i) => i + 1), skinOf = new Int32Array(base.joints.length).fill(-1);
1000
1000
  base.skin.forEach((joint, s) => skinOf[joint] = s);
1001
1001
  let delta = new Float64Array(base.joints.length * 3), at = new Float64Array(3);
1002
1002
  for (let j = 0; j < base.joints.length; j++)
1003
1003
  if (!(base.joints[j].parent < 0)) {
1004
- if (chunkNGN3JE5A_js.blendCage(cage, base.jointCageIndex, base.jointCageWeight, j, at), extra !== null) {
1004
+ if (chunkPQTQKNKD_js.blendCage(cage, base.jointCageIndex, base.jointCageWeight, j, at), extra !== null) {
1005
1005
  let more = new Float64Array(3);
1006
- chunkNGN3JE5A_js.blendCage(extra, base.jointCageIndex, base.jointCageWeight, j, more);
1006
+ chunkPQTQKNKD_js.blendCage(extra, base.jointCageIndex, base.jointCageWeight, j, more);
1007
1007
  for (let a = 0; a < 3; a++) at[a] += more[a];
1008
1008
  }
1009
1009
  delta.set(at, j * 3);
@@ -1122,7 +1122,7 @@ function quiltTexture(exemplar, options) {
1122
1122
  for (let bx = 0; bx < blocks; bx++) {
1123
1123
  let ox = bx * step, oy = by * step, bestError = Number.POSITIVE_INFINITY, bestX = 0, bestY = 0;
1124
1124
  for (let c = 0; c < candidates; c++) {
1125
- let h = chunkDJUUL67Z_js.hash32(chunkDJUUL67Z_js.hash32(chunkDJUUL67Z_js.hash32(options.seed >>> 0, bx), by), c), sx = h % exemplar.width, sy = chunkDJUUL67Z_js.hash32(h, c) % exemplar.height, error = 0;
1125
+ let h = chunk7KFTYENS_js.hash32(chunk7KFTYENS_js.hash32(chunk7KFTYENS_js.hash32(options.seed >>> 0, bx), by), c), sx = h % exemplar.width, sy = chunk7KFTYENS_js.hash32(h, c) % exemplar.height, error = 0;
1126
1126
  for (let y = 0; y < block && error < bestError; y++)
1127
1127
  for (let x = 0; x < block; x++) {
1128
1128
  let o = outAt(ox, oy, x, y);
@@ -1325,18 +1325,18 @@ function segmentsOf(n, fallback) {
1325
1325
  return s;
1326
1326
  }
1327
1327
  function box(m, size, at) {
1328
- let h = [chunkDXZZ27CV_js.mulf(size[0], HALF), chunkDXZZ27CV_js.mulf(size[1], HALF), chunkDXZZ27CV_js.mulf(size[2], HALF)], p = (x, y, z) => [
1329
- chunkDXZZ27CV_js.addf(at[0], chunkDXZZ27CV_js.mulf(x, h[0])),
1330
- chunkDXZZ27CV_js.addf(at[1], chunkDXZZ27CV_js.mulf(y, h[1])),
1331
- chunkDXZZ27CV_js.addf(at[2], chunkDXZZ27CV_js.mulf(z, h[2]))
1328
+ let h = [chunkRKBLPGPV_js.mulf(size[0], HALF), chunkRKBLPGPV_js.mulf(size[1], HALF), chunkRKBLPGPV_js.mulf(size[2], HALF)], p = (x, y, z) => [
1329
+ chunkRKBLPGPV_js.addf(at[0], chunkRKBLPGPV_js.mulf(x, h[0])),
1330
+ chunkRKBLPGPV_js.addf(at[1], chunkRKBLPGPV_js.mulf(y, h[1])),
1331
+ chunkRKBLPGPV_js.addf(at[2], chunkRKBLPGPV_js.mulf(z, h[2]))
1332
1332
  ];
1333
1333
  m.quad(p(-1, -1, 1), p(1, -1, 1), p(1, 1, 1), p(-1, 1, 1), [0, 0, 1]), m.quad(p(1, -1, -1), p(-1, -1, -1), p(-1, 1, -1), p(1, 1, -1), [0, 0, -1]), m.quad(p(1, -1, 1), p(1, -1, -1), p(1, 1, -1), p(1, 1, 1), [1, 0, 0]), m.quad(p(-1, -1, -1), p(-1, -1, 1), p(-1, 1, 1), p(-1, 1, -1), [-1, 0, 0]), m.quad(p(-1, 1, 1), p(1, 1, 1), p(1, 1, -1), p(-1, 1, -1), [0, 1, 0]), m.quad(p(-1, -1, -1), p(1, -1, -1), p(1, -1, 1), p(-1, -1, 1), [0, -1, 0]);
1334
1334
  }
1335
1335
  function frustum(m, spec, at, caps, segments) {
1336
- let [y0, y1, r0, r1] = spec, slope = chunkDXZZ27CV_js.divf(chunkDXZZ27CV_js.subf(r0, r1), chunkDXZZ27CV_js.subf(y1, y0)), nl = chunkDXZZ27CV_js.sqrtf(chunkDXZZ27CV_js.addf(ONE, chunkDXZZ27CV_js.mulf(slope, slope))), base = m.positions.length / (3);
1336
+ let [y0, y1, r0, r1] = spec, slope = chunkRKBLPGPV_js.divf(chunkRKBLPGPV_js.subf(r0, r1), chunkRKBLPGPV_js.subf(y1, y0)), nl = chunkRKBLPGPV_js.sqrtf(chunkRKBLPGPV_js.addf(ONE, chunkRKBLPGPV_js.mulf(slope, slope))), base = m.positions.length / (3);
1337
1337
  for (let s = 0; s <= segments; s++) {
1338
- let t = chunkDXZZ27CV_js.mulf(chunkDXZZ27CV_js.divf(s, segments), TWO_PI), c = chunkFLWD6GRR_js.fcos(t), sn = chunkFLWD6GRR_js.fsin(t), n = [chunkDXZZ27CV_js.divf(c, nl), chunkDXZZ27CV_js.divf(slope, nl), chunkDXZZ27CV_js.divf(sn, nl)];
1339
- m.vertex([chunkDXZZ27CV_js.addf(at[0], chunkDXZZ27CV_js.mulf(c, r0)), y0, chunkDXZZ27CV_js.addf(at[1], chunkDXZZ27CV_js.mulf(sn, r0))], n, chunkDXZZ27CV_js.divf(s, segments), 1), m.vertex([chunkDXZZ27CV_js.addf(at[0], chunkDXZZ27CV_js.mulf(c, r1)), y1, chunkDXZZ27CV_js.addf(at[1], chunkDXZZ27CV_js.mulf(sn, r1))], n, chunkDXZZ27CV_js.divf(s, segments), 0);
1338
+ let t = chunkRKBLPGPV_js.mulf(chunkRKBLPGPV_js.divf(s, segments), TWO_PI), c = chunkFLWD6GRR_js.fcos(t), sn = chunkFLWD6GRR_js.fsin(t), n = [chunkRKBLPGPV_js.divf(c, nl), chunkRKBLPGPV_js.divf(slope, nl), chunkRKBLPGPV_js.divf(sn, nl)];
1339
+ m.vertex([chunkRKBLPGPV_js.addf(at[0], chunkRKBLPGPV_js.mulf(c, r0)), y0, chunkRKBLPGPV_js.addf(at[1], chunkRKBLPGPV_js.mulf(sn, r0))], n, chunkRKBLPGPV_js.divf(s, segments), 1), m.vertex([chunkRKBLPGPV_js.addf(at[0], chunkRKBLPGPV_js.mulf(c, r1)), y1, chunkRKBLPGPV_js.addf(at[1], chunkRKBLPGPV_js.mulf(sn, r1))], n, chunkRKBLPGPV_js.divf(s, segments), 0);
1340
1340
  }
1341
1341
  for (let s = 0; s < segments; s++) {
1342
1342
  let i = base + s * 2;
@@ -1350,12 +1350,12 @@ function frustum(m, spec, at, caps, segments) {
1350
1350
  if (r <= 0) continue;
1351
1351
  let centre = m.vertex([at[0], y, at[1]], [0, up, 0], HALF, HALF);
1352
1352
  for (let s = 0; s <= segments; s++) {
1353
- let t = chunkDXZZ27CV_js.mulf(chunkDXZZ27CV_js.divf(s, segments), TWO_PI);
1353
+ let t = chunkRKBLPGPV_js.mulf(chunkRKBLPGPV_js.divf(s, segments), TWO_PI);
1354
1354
  m.vertex(
1355
- [chunkDXZZ27CV_js.addf(at[0], chunkDXZZ27CV_js.mulf(chunkFLWD6GRR_js.fcos(t), r)), y, chunkDXZZ27CV_js.addf(at[1], chunkDXZZ27CV_js.mulf(chunkFLWD6GRR_js.fsin(t), r))],
1355
+ [chunkRKBLPGPV_js.addf(at[0], chunkRKBLPGPV_js.mulf(chunkFLWD6GRR_js.fcos(t), r)), y, chunkRKBLPGPV_js.addf(at[1], chunkRKBLPGPV_js.mulf(chunkFLWD6GRR_js.fsin(t), r))],
1356
1356
  [0, up, 0],
1357
- chunkDXZZ27CV_js.addf(HALF, chunkDXZZ27CV_js.mulf(chunkFLWD6GRR_js.fcos(t), HALF)),
1358
- chunkDXZZ27CV_js.addf(HALF, chunkDXZZ27CV_js.mulf(chunkFLWD6GRR_js.fsin(t), HALF))
1357
+ chunkRKBLPGPV_js.addf(HALF, chunkRKBLPGPV_js.mulf(chunkFLWD6GRR_js.fcos(t), HALF)),
1358
+ chunkRKBLPGPV_js.addf(HALF, chunkRKBLPGPV_js.mulf(chunkFLWD6GRR_js.fsin(t), HALF))
1359
1359
  );
1360
1360
  }
1361
1361
  for (let s = 0; s < segments; s++)
@@ -1365,18 +1365,18 @@ function frustum(m, spec, at, caps, segments) {
1365
1365
  function sphere(m, radius, at, segments) {
1366
1366
  let rings = Math.max(2, segments >> 1), base = m.positions.length / (3);
1367
1367
  for (let i = 0; i <= rings; i++) {
1368
- let phi = chunkDXZZ27CV_js.mulf(chunkDXZZ27CV_js.divf(i, rings), PI);
1368
+ let phi = chunkRKBLPGPV_js.mulf(chunkRKBLPGPV_js.divf(i, rings), PI);
1369
1369
  for (let s = 0; s <= segments; s++) {
1370
- let t = chunkDXZZ27CV_js.mulf(chunkDXZZ27CV_js.divf(s, segments), TWO_PI), n = [chunkDXZZ27CV_js.mulf(chunkFLWD6GRR_js.fsin(phi), chunkFLWD6GRR_js.fcos(t)), chunkFLWD6GRR_js.fcos(phi), chunkDXZZ27CV_js.mulf(chunkFLWD6GRR_js.fsin(phi), chunkFLWD6GRR_js.fsin(t))];
1370
+ let t = chunkRKBLPGPV_js.mulf(chunkRKBLPGPV_js.divf(s, segments), TWO_PI), n = [chunkRKBLPGPV_js.mulf(chunkFLWD6GRR_js.fsin(phi), chunkFLWD6GRR_js.fcos(t)), chunkFLWD6GRR_js.fcos(phi), chunkRKBLPGPV_js.mulf(chunkFLWD6GRR_js.fsin(phi), chunkFLWD6GRR_js.fsin(t))];
1371
1371
  m.vertex(
1372
1372
  [
1373
- chunkDXZZ27CV_js.addf(at[0], chunkDXZZ27CV_js.mulf(n[0], radius)),
1374
- chunkDXZZ27CV_js.addf(at[1], chunkDXZZ27CV_js.mulf(n[1], radius)),
1375
- chunkDXZZ27CV_js.addf(at[2], chunkDXZZ27CV_js.mulf(n[2], radius))
1373
+ chunkRKBLPGPV_js.addf(at[0], chunkRKBLPGPV_js.mulf(n[0], radius)),
1374
+ chunkRKBLPGPV_js.addf(at[1], chunkRKBLPGPV_js.mulf(n[1], radius)),
1375
+ chunkRKBLPGPV_js.addf(at[2], chunkRKBLPGPV_js.mulf(n[2], radius))
1376
1376
  ],
1377
1377
  n,
1378
- chunkDXZZ27CV_js.divf(s, segments),
1379
- chunkDXZZ27CV_js.divf(i, rings)
1378
+ chunkRKBLPGPV_js.divf(s, segments),
1379
+ chunkRKBLPGPV_js.divf(i, rings)
1380
1380
  );
1381
1381
  }
1382
1382
  }
@@ -1388,34 +1388,34 @@ function sphere(m, radius, at, segments) {
1388
1388
  }
1389
1389
  }
1390
1390
  function rod(m, from, to, radius, segments) {
1391
- let d = [chunkDXZZ27CV_js.subf(to[0], from[0]), chunkDXZZ27CV_js.subf(to[1], from[1]), chunkDXZZ27CV_js.subf(to[2], from[2])], len = chunkDXZZ27CV_js.sqrtf(chunkDXZZ27CV_js.addf(chunkDXZZ27CV_js.addf(chunkDXZZ27CV_js.mulf(d[0], d[0]), chunkDXZZ27CV_js.mulf(d[1], d[1])), chunkDXZZ27CV_js.mulf(d[2], d[2]))), axis = [chunkDXZZ27CV_js.divf(d[0], len), chunkDXZZ27CV_js.divf(d[1], len), chunkDXZZ27CV_js.divf(d[2], len)], helper = Math.abs(axis[1]) < 0.9 ? [0, 1, 0] : [1, 0, 0], cx = chunkDXZZ27CV_js.subf(chunkDXZZ27CV_js.mulf(axis[1], helper[2]), chunkDXZZ27CV_js.mulf(axis[2], helper[1])), cy = chunkDXZZ27CV_js.subf(chunkDXZZ27CV_js.mulf(axis[2], helper[0]), chunkDXZZ27CV_js.mulf(axis[0], helper[2])), cz = chunkDXZZ27CV_js.subf(chunkDXZZ27CV_js.mulf(axis[0], helper[1]), chunkDXZZ27CV_js.mulf(axis[1], helper[0])), cl = chunkDXZZ27CV_js.sqrtf(chunkDXZZ27CV_js.addf(chunkDXZZ27CV_js.addf(chunkDXZZ27CV_js.mulf(cx, cx), chunkDXZZ27CV_js.mulf(cy, cy)), chunkDXZZ27CV_js.mulf(cz, cz))), u = [chunkDXZZ27CV_js.divf(cx, cl), chunkDXZZ27CV_js.divf(cy, cl), chunkDXZZ27CV_js.divf(cz, cl)], w = [
1392
- chunkDXZZ27CV_js.subf(chunkDXZZ27CV_js.mulf(axis[1], u[2]), chunkDXZZ27CV_js.mulf(axis[2], u[1])),
1393
- chunkDXZZ27CV_js.subf(chunkDXZZ27CV_js.mulf(axis[2], u[0]), chunkDXZZ27CV_js.mulf(axis[0], u[2])),
1394
- chunkDXZZ27CV_js.subf(chunkDXZZ27CV_js.mulf(axis[0], u[1]), chunkDXZZ27CV_js.mulf(axis[1], u[0]))
1391
+ let d = [chunkRKBLPGPV_js.subf(to[0], from[0]), chunkRKBLPGPV_js.subf(to[1], from[1]), chunkRKBLPGPV_js.subf(to[2], from[2])], len = chunkRKBLPGPV_js.sqrtf(chunkRKBLPGPV_js.addf(chunkRKBLPGPV_js.addf(chunkRKBLPGPV_js.mulf(d[0], d[0]), chunkRKBLPGPV_js.mulf(d[1], d[1])), chunkRKBLPGPV_js.mulf(d[2], d[2]))), axis = [chunkRKBLPGPV_js.divf(d[0], len), chunkRKBLPGPV_js.divf(d[1], len), chunkRKBLPGPV_js.divf(d[2], len)], helper = Math.abs(axis[1]) < 0.9 ? [0, 1, 0] : [1, 0, 0], cx = chunkRKBLPGPV_js.subf(chunkRKBLPGPV_js.mulf(axis[1], helper[2]), chunkRKBLPGPV_js.mulf(axis[2], helper[1])), cy = chunkRKBLPGPV_js.subf(chunkRKBLPGPV_js.mulf(axis[2], helper[0]), chunkRKBLPGPV_js.mulf(axis[0], helper[2])), cz = chunkRKBLPGPV_js.subf(chunkRKBLPGPV_js.mulf(axis[0], helper[1]), chunkRKBLPGPV_js.mulf(axis[1], helper[0])), cl = chunkRKBLPGPV_js.sqrtf(chunkRKBLPGPV_js.addf(chunkRKBLPGPV_js.addf(chunkRKBLPGPV_js.mulf(cx, cx), chunkRKBLPGPV_js.mulf(cy, cy)), chunkRKBLPGPV_js.mulf(cz, cz))), u = [chunkRKBLPGPV_js.divf(cx, cl), chunkRKBLPGPV_js.divf(cy, cl), chunkRKBLPGPV_js.divf(cz, cl)], w = [
1392
+ chunkRKBLPGPV_js.subf(chunkRKBLPGPV_js.mulf(axis[1], u[2]), chunkRKBLPGPV_js.mulf(axis[2], u[1])),
1393
+ chunkRKBLPGPV_js.subf(chunkRKBLPGPV_js.mulf(axis[2], u[0]), chunkRKBLPGPV_js.mulf(axis[0], u[2])),
1394
+ chunkRKBLPGPV_js.subf(chunkRKBLPGPV_js.mulf(axis[0], u[1]), chunkRKBLPGPV_js.mulf(axis[1], u[0]))
1395
1395
  ], base = m.positions.length / (3);
1396
1396
  for (let s = 0; s <= segments; s++) {
1397
- let t = chunkDXZZ27CV_js.mulf(chunkDXZZ27CV_js.divf(s, segments), TWO_PI), c = chunkFLWD6GRR_js.fcos(t), sn = chunkFLWD6GRR_js.fsin(t), n = [
1398
- chunkDXZZ27CV_js.addf(chunkDXZZ27CV_js.mulf(u[0], c), chunkDXZZ27CV_js.mulf(w[0], sn)),
1399
- chunkDXZZ27CV_js.addf(chunkDXZZ27CV_js.mulf(u[1], c), chunkDXZZ27CV_js.mulf(w[1], sn)),
1400
- chunkDXZZ27CV_js.addf(chunkDXZZ27CV_js.mulf(u[2], c), chunkDXZZ27CV_js.mulf(w[2], sn))
1397
+ let t = chunkRKBLPGPV_js.mulf(chunkRKBLPGPV_js.divf(s, segments), TWO_PI), c = chunkFLWD6GRR_js.fcos(t), sn = chunkFLWD6GRR_js.fsin(t), n = [
1398
+ chunkRKBLPGPV_js.addf(chunkRKBLPGPV_js.mulf(u[0], c), chunkRKBLPGPV_js.mulf(w[0], sn)),
1399
+ chunkRKBLPGPV_js.addf(chunkRKBLPGPV_js.mulf(u[1], c), chunkRKBLPGPV_js.mulf(w[1], sn)),
1400
+ chunkRKBLPGPV_js.addf(chunkRKBLPGPV_js.mulf(u[2], c), chunkRKBLPGPV_js.mulf(w[2], sn))
1401
1401
  ];
1402
1402
  m.vertex(
1403
1403
  [
1404
- chunkDXZZ27CV_js.addf(from[0], chunkDXZZ27CV_js.mulf(n[0], radius)),
1405
- chunkDXZZ27CV_js.addf(from[1], chunkDXZZ27CV_js.mulf(n[1], radius)),
1406
- chunkDXZZ27CV_js.addf(from[2], chunkDXZZ27CV_js.mulf(n[2], radius))
1404
+ chunkRKBLPGPV_js.addf(from[0], chunkRKBLPGPV_js.mulf(n[0], radius)),
1405
+ chunkRKBLPGPV_js.addf(from[1], chunkRKBLPGPV_js.mulf(n[1], radius)),
1406
+ chunkRKBLPGPV_js.addf(from[2], chunkRKBLPGPV_js.mulf(n[2], radius))
1407
1407
  ],
1408
1408
  n,
1409
- chunkDXZZ27CV_js.divf(s, segments),
1409
+ chunkRKBLPGPV_js.divf(s, segments),
1410
1410
  1
1411
1411
  ), m.vertex(
1412
1412
  [
1413
- chunkDXZZ27CV_js.addf(to[0], chunkDXZZ27CV_js.mulf(n[0], radius)),
1414
- chunkDXZZ27CV_js.addf(to[1], chunkDXZZ27CV_js.mulf(n[1], radius)),
1415
- chunkDXZZ27CV_js.addf(to[2], chunkDXZZ27CV_js.mulf(n[2], radius))
1413
+ chunkRKBLPGPV_js.addf(to[0], chunkRKBLPGPV_js.mulf(n[0], radius)),
1414
+ chunkRKBLPGPV_js.addf(to[1], chunkRKBLPGPV_js.mulf(n[1], radius)),
1415
+ chunkRKBLPGPV_js.addf(to[2], chunkRKBLPGPV_js.mulf(n[2], radius))
1416
1416
  ],
1417
1417
  n,
1418
- chunkDXZZ27CV_js.divf(s, segments),
1418
+ chunkRKBLPGPV_js.divf(s, segments),
1419
1419
  0
1420
1420
  );
1421
1421
  }
@@ -2591,7 +2591,7 @@ var COMPILED_SOUND = {
2591
2591
  // src/game/kit/recipes/sound-kernels.ts
2592
2592
  var TWO_PI2 = Math.fround(2 * Math.PI), HALF2 = Math.fround(0.5), RATE = 22050, WIND_BLOCK = 64, GUST_A = Math.fround(Math.fround(2 * Math.PI) * Math.fround(0.13)), GUST_B = Math.fround(Math.fround(2 * Math.PI) * Math.fround(0.29)), GUST_PHASE = Math.fround(1), GUST_FLOOR = Math.fround(0.6), GUST_SPAN = Math.fround(0.4), WIND_Q = Math.fround(1.2), SOUND_SAMPLE_FIELDS = { out: "f32" };
2593
2593
  function noiseAt(seed, n) {
2594
- return chunkDJUUL67Z_js.rand01(seed, n) * 2 - 1;
2594
+ return chunk7KFTYENS_js.rand01(seed, n) * 2 - 1;
2595
2595
  }
2596
2596
  function burstAt(n, burst, seed) {
2597
2597
  let t = n * burst.z;
@@ -2601,35 +2601,35 @@ function lfoAt(t) {
2601
2601
  return HALF2 * (chunkFLWD6GRR_js.fsin(GUST_A * t) + chunkFLWD6GRR_js.fsin(GUST_B * t + GUST_PHASE));
2602
2602
  }
2603
2603
  function impactSound(e, gains, decays, incs, burst, feed, back, seed) {
2604
- let p0 = chunkYN24DET4_js.rowPhase(incs.x, 1, true), p1 = chunkYN24DET4_js.rowPhase(incs.y, 1, true), p2 = chunkYN24DET4_js.rowPhase(incs.z, 1, true), p3 = chunkYN24DET4_js.rowPhase(incs.w, 1, true), n = e.row, t = n * burst.z, s = 0;
2604
+ let p0 = chunk5HFMY3D7_js.rowPhase(incs.x, 1, true), p1 = chunk5HFMY3D7_js.rowPhase(incs.y, 1, true), p2 = chunk5HFMY3D7_js.rowPhase(incs.z, 1, true), p3 = chunk5HFMY3D7_js.rowPhase(incs.w, 1, true), n = e.row, t = n * burst.z, s = 0;
2605
2605
  s = gains.x * chunkFLWD6GRR_js.fexp(-t / decays.x) * chunkFLWD6GRR_js.fsin(TWO_PI2 * p0) + s, s = gains.y * chunkFLWD6GRR_js.fexp(-t / decays.y) * chunkFLWD6GRR_js.fsin(TWO_PI2 * p1) + s, s = gains.z * chunkFLWD6GRR_js.fexp(-t / decays.z) * chunkFLWD6GRR_js.fsin(TWO_PI2 * p2) + s, s = gains.w * chunkFLWD6GRR_js.fexp(-t / decays.w) * chunkFLWD6GRR_js.fsin(TWO_PI2 * p3) + s;
2606
2606
  let x = burstAt(n, burst, seed), x1 = n >= 1 ? burstAt(n - 1, burst, seed) : 0, x2 = n >= 2 ? burstAt(n - 2, burst, seed) : 0, forward = feed.z * x2 + (feed.y * x1 + feed.x * x);
2607
- e.out = s + chunkYN24DET4_js.rowFeedback(forward, back.x, back.y);
2607
+ e.out = s + chunk5HFMY3D7_js.rowFeedback(forward, back.x, back.y);
2608
2608
  }
2609
2609
  function engineSound(e, inc, harmonics, rolloff, roughness, feed, back, seed) {
2610
- let phase = chunkYN24DET4_js.rowPhase64(inc, 1, true), n = e.row, s = 0;
2610
+ let phase = chunk5HFMY3D7_js.rowPhase64(inc, 1, true), n = e.row, s = 0;
2611
2611
  for (let k = 0; k < harmonics; k++) {
2612
2612
  let h = k + 1;
2613
- s = 1 / chunkFLWD6GRR_js.fpow(h, rolloff) * chunkFLWD6GRR_js.fsin(TWO_PI2 * Math.fround(phase * chunkEPYFN2A3_js.f64(h) % 1)) + s;
2613
+ s = 1 / chunkFLWD6GRR_js.fpow(h, rolloff) * chunkFLWD6GRR_js.fsin(TWO_PI2 * Math.fround(phase * chunk7AAIAVAA_js.f64(h) % 1)) + s;
2614
2614
  }
2615
2615
  let x = roughness * noiseAt(seed, n), x1 = n >= 1 ? roughness * noiseAt(seed, n - 1) : 0, x2 = n >= 2 ? roughness * noiseAt(seed, n - 2) : 0, forward = feed.z * x2 + (feed.y * x1 + feed.x * x);
2616
- e.out = s + chunkYN24DET4_js.rowFeedback(forward, back.x, back.y);
2616
+ e.out = s + chunk5HFMY3D7_js.rowFeedback(forward, back.x, back.y);
2617
2617
  }
2618
2618
  function windSound(e, inv, pitch, gust, strength, seed) {
2619
- let n = e.row, lfo = lfoAt(n * inv), start = n - n % (64), c = chunkDXZZ27CV_js.biquadBandpass(pitch * (gust * lfoAt(start * inv) + 1), (22050), WIND_Q), x = noiseAt(seed, n), x1 = n >= 1 ? noiseAt(seed, n - 1) : 0, x2 = n >= 2 ? noiseAt(seed, n - 2) : 0, forward = c.b2 * x2 + (c.b1 * x1 + c.b0 * x);
2620
- e.out = strength * (GUST_SPAN * lfo + GUST_FLOOR) * chunkYN24DET4_js.rowFeedback(forward, c.a1, c.a2);
2619
+ let n = e.row, lfo = lfoAt(n * inv), start = n - n % (64), c = chunkRKBLPGPV_js.biquadBandpass(pitch * (gust * lfoAt(start * inv) + 1), (22050), WIND_Q), x = noiseAt(seed, n), x1 = n >= 1 ? noiseAt(seed, n - 1) : 0, x2 = n >= 2 ? noiseAt(seed, n - 2) : 0, forward = c.b2 * x2 + (c.b1 * x1 + c.b0 * x);
2620
+ e.out = strength * (GUST_SPAN * lfo + GUST_FLOOR) * chunk5HFMY3D7_js.rowFeedback(forward, c.a1, c.a2);
2621
2621
  }
2622
2622
  function rainBed(e, bed, feed, back, seed) {
2623
2623
  let n = e.row, x = noiseAt(seed, n), x1 = n >= 1 ? noiseAt(seed, n - 1) : 0, x2 = n >= 2 ? noiseAt(seed, n - 2) : 0, forward = feed.z * x2 + (feed.y * x1 + feed.x * x);
2624
- e.out = bed * chunkYN24DET4_js.rowFeedback(forward, back.x, back.y) + e.out;
2624
+ e.out = bed * chunk5HFMY3D7_js.rowFeedback(forward, back.x, back.y) + e.out;
2625
2625
  }
2626
2626
 
2627
2627
  // src/game/kit/recipes/sound.ts
2628
2628
  var RECIPE_SAMPLE_RATE = 22050, MAX_RECIPE_SECONDS = 30, TWO_PI3 = Math.fround(2 * Math.PI), ONE2 = Math.fround(1), TWO = Math.fround(2), HALF3 = Math.fround(0.5), PEAK = Math.fround(0.9), FADE_SECONDS = 5e-3, SECONDS_PER_MINUTE = 60, STROKES = 2, MINNAERT = 3.26, MILLIMETRE = 1e-3, DROP_DECAY_PER_MM = 25e-4, DROP_TAIL = 6, DROP_CHIRP = Math.fround(0.15), WIND_BLOCK2 = 64, GUST_A2 = Math.fround(0.13), GUST_B2 = Math.fround(0.29), GUST_PHASE2 = Math.fround(1), GUST_FLOOR2 = Math.fround(0.6), GUST_SPAN2 = Math.fround(0.4), BED_CUTOFF = 900, ENGINE_NOISE_HARMONIC = 8, FILTER_Q = Math.fround(0.707), WIND_Q2 = Math.fround(1.2), JITTER_STREAM = 7, NOISE_STREAM = 1, WAV_HEADER = 44, PCM_MAX = 32767, ENGINE_NOISE_CEILING = 0.45, KERNEL_MODES = 4, UNUSED_DECAY = 1, SLOWER_ON_WASM = /* @__PURE__ */ new Set(["engine"]), SOUND_KERNELS = {
2629
- soundImpact: chunkDJUUL67Z_js.kernel(impactSound, COMPILED_SOUND.soundImpact),
2630
- soundEngine: chunkDJUUL67Z_js.kernel(engineSound, COMPILED_SOUND.soundEngine),
2631
- soundWind: chunkDJUUL67Z_js.kernel(windSound, COMPILED_SOUND.soundWind),
2632
- soundRainBed: chunkDJUUL67Z_js.kernel(rainBed, COMPILED_SOUND.soundRainBed)
2629
+ soundImpact: chunk7KFTYENS_js.kernel(impactSound, COMPILED_SOUND.soundImpact),
2630
+ soundEngine: chunk7KFTYENS_js.kernel(engineSound, COMPILED_SOUND.soundEngine),
2631
+ soundWind: chunk7KFTYENS_js.kernel(windSound, COMPILED_SOUND.soundWind),
2632
+ soundRainBed: chunk7KFTYENS_js.kernel(rainBed, COMPILED_SOUND.soundRainBed)
2633
2633
  }, Filter = class {
2634
2634
  constructor(coefficients) {
2635
2635
  this.coefficients = coefficients;
@@ -2639,66 +2639,66 @@ var RECIPE_SAMPLE_RATE = 22050, MAX_RECIPE_SECONDS = 30, TWO_PI3 = Math.fround(2
2639
2639
  this.y2 = 0;
2640
2640
  }
2641
2641
  step(x) {
2642
- let c = this.coefficients, forward = chunkDXZZ27CV_js.madf(c.b2, this.x2, chunkDXZZ27CV_js.madf(c.b1, this.x1, chunkDXZZ27CV_js.mulf(c.b0, x))), y = chunkDXZZ27CV_js.subf(chunkDXZZ27CV_js.subf(forward, chunkDXZZ27CV_js.mulf(c.a1, this.y1)), chunkDXZZ27CV_js.mulf(c.a2, this.y2));
2642
+ let c = this.coefficients, forward = chunkRKBLPGPV_js.madf(c.b2, this.x2, chunkRKBLPGPV_js.madf(c.b1, this.x1, chunkRKBLPGPV_js.mulf(c.b0, x))), y = chunkRKBLPGPV_js.subf(chunkRKBLPGPV_js.subf(forward, chunkRKBLPGPV_js.mulf(c.a1, this.y1)), chunkRKBLPGPV_js.mulf(c.a2, this.y2));
2643
2643
  return this.x2 = this.x1, this.x1 = Math.fround(x), this.y2 = this.y1, this.y1 = y, y;
2644
2644
  }
2645
2645
  };
2646
2646
  function noise(seed, n) {
2647
- return chunkDXZZ27CV_js.subf(chunkDXZZ27CV_js.mulf(chunkDJUUL67Z_js.rand01(seed >>> 0, n >>> 0), TWO), ONE2);
2647
+ return chunkRKBLPGPV_js.subf(chunkRKBLPGPV_js.mulf(chunk7KFTYENS_js.rand01(seed >>> 0, n >>> 0), TWO), ONE2);
2648
2648
  }
2649
2649
  function engineLowpass(base) {
2650
- return chunkDXZZ27CV_js.biquadLowpass(Math.min(base * (8), (22050) * (0.45)), (22050), FILTER_Q);
2650
+ return chunkRKBLPGPV_js.biquadLowpass(Math.min(base * (8), (22050) * (0.45)), (22050), FILTER_Q);
2651
2651
  }
2652
2652
  function frames(seconds) {
2653
2653
  if (!(seconds > 0) || seconds > (30)) throw new chunkNH654HAT_js.KitError("invalid_declaration", "recipe sounds last between 0 and 30 seconds");
2654
2654
  return Math.round(seconds * (22050));
2655
2655
  }
2656
2656
  function impact(r, out) {
2657
- let inv = Math.fround(ONE2 / (22050)), lowpass = new Filter(chunkDXZZ27CV_js.biquadLowpass(r.brightness, (22050), FILTER_Q)), phases = new Float64Array(r.modes.length);
2657
+ let inv = Math.fround(ONE2 / (22050)), lowpass = new Filter(chunkRKBLPGPV_js.biquadLowpass(r.brightness, (22050), FILTER_Q)), phases = new Float64Array(r.modes.length);
2658
2658
  for (let n = 0; n < out.length; n++) {
2659
- let t = chunkDXZZ27CV_js.mulf(n, inv), s = 0;
2659
+ let t = chunkRKBLPGPV_js.mulf(n, inv), s = 0;
2660
2660
  for (let k = 0; k < r.modes.length; k++) {
2661
2661
  let m = r.modes[k];
2662
- s = chunkDXZZ27CV_js.madf(chunkDXZZ27CV_js.mulf(m.gain, chunkFLWD6GRR_js.fexp(chunkDXZZ27CV_js.divf(-t, m.decay))), chunkFLWD6GRR_js.fsin(chunkDXZZ27CV_js.mulf(TWO_PI3, phases[k])), s), phases[k] = phases[k] + Math.fround(m.frequency * inv), phases[k] >= 1 && (phases[k] -= 1);
2662
+ s = chunkRKBLPGPV_js.madf(chunkRKBLPGPV_js.mulf(m.gain, chunkFLWD6GRR_js.fexp(chunkRKBLPGPV_js.divf(-t, m.decay))), chunkFLWD6GRR_js.fsin(chunkRKBLPGPV_js.mulf(TWO_PI3, phases[k])), s), phases[k] = phases[k] + Math.fround(m.frequency * inv), phases[k] >= 1 && (phases[k] -= 1);
2663
2663
  }
2664
- let burst = chunkDXZZ27CV_js.mulf(chunkDXZZ27CV_js.mulf(r.noise, chunkFLWD6GRR_js.fexp(chunkDXZZ27CV_js.divf(-t, r.contact))), noise(r.seed, n));
2665
- out[n] = chunkDXZZ27CV_js.addf(s, lowpass.step(burst));
2664
+ let burst = chunkRKBLPGPV_js.mulf(chunkRKBLPGPV_js.mulf(r.noise, chunkFLWD6GRR_js.fexp(chunkRKBLPGPV_js.divf(-t, r.contact))), noise(r.seed, n));
2665
+ out[n] = chunkRKBLPGPV_js.addf(s, lowpass.step(burst));
2666
2666
  }
2667
2667
  }
2668
2668
  function engine(r, out) {
2669
2669
  let inv = Math.fround(ONE2 / (22050)), base = Math.fround(r.rpm / (60) * (r.cylinders / (2))), lowpass = new Filter(engineLowpass(base)), phase = 0;
2670
2670
  for (let n = 0; n < out.length; n++) {
2671
- let jitter = chunkDXZZ27CV_js.mulf(r.roughness, noise(r.seed + (7) | 0, n)), s = 0;
2671
+ let jitter = chunkRKBLPGPV_js.mulf(r.roughness, noise(r.seed + (7) | 0, n)), s = 0;
2672
2672
  for (let h = 1; h <= r.harmonics; h++) {
2673
- let gain = chunkDXZZ27CV_js.divf(ONE2, chunkFLWD6GRR_js.fpow(h, r.rolloff));
2674
- s = chunkDXZZ27CV_js.madf(gain, chunkFLWD6GRR_js.fsin(chunkDXZZ27CV_js.mulf(TWO_PI3, Math.fround(phase * h % 1))), s);
2673
+ let gain = chunkRKBLPGPV_js.divf(ONE2, chunkFLWD6GRR_js.fpow(h, r.rolloff));
2674
+ s = chunkRKBLPGPV_js.madf(gain, chunkFLWD6GRR_js.fsin(chunkRKBLPGPV_js.mulf(TWO_PI3, Math.fround(phase * h % 1))), s);
2675
2675
  }
2676
- out[n] = chunkDXZZ27CV_js.addf(s, lowpass.step(jitter)), phase = phase + Math.fround(base * inv), phase >= 1 && (phase -= 1);
2676
+ out[n] = chunkRKBLPGPV_js.addf(s, lowpass.step(jitter)), phase = phase + Math.fround(base * inv), phase >= 1 && (phase -= 1);
2677
2677
  }
2678
2678
  }
2679
2679
  function rainDrops(r, out) {
2680
2680
  let inv = Math.fround(ONE2 / (22050)), count = Math.round(r.drops * r.seconds);
2681
2681
  for (let d = 0; d < count; d++) {
2682
- let start = Math.floor(chunkDJUUL67Z_js.rand01(r.seed >>> 0, d * 3) * out.length), radius = r.radius[0] + (r.radius[1] - r.radius[0]) * chunkDJUUL67Z_js.rand01(r.seed >>> 0, d * 3 + 1), frequency = Math.fround((3.26) / (radius * (1e-3))), decay = Math.fround(radius * (25e-4)), gain = Math.fround(HALF3 + HALF3 * chunkDJUUL67Z_js.rand01(r.seed >>> 0, d * 3 + 2)), length = Math.min(out.length - start, Math.round(decay * (6) * (22050))), phase = 0;
2682
+ let start = Math.floor(chunk7KFTYENS_js.rand01(r.seed >>> 0, d * 3) * out.length), radius = r.radius[0] + (r.radius[1] - r.radius[0]) * chunk7KFTYENS_js.rand01(r.seed >>> 0, d * 3 + 1), frequency = Math.fround((3.26) / (radius * (1e-3))), decay = Math.fround(radius * (25e-4)), gain = Math.fround(HALF3 + HALF3 * chunk7KFTYENS_js.rand01(r.seed >>> 0, d * 3 + 2)), length = Math.min(out.length - start, Math.round(decay * (6) * (22050))), phase = 0;
2683
2683
  for (let i = 0; i < length; i++) {
2684
- let t = chunkDXZZ27CV_js.mulf(i, inv), env = chunkFLWD6GRR_js.fexp(chunkDXZZ27CV_js.divf(-t, decay));
2685
- out[start + i] = chunkDXZZ27CV_js.madf(chunkDXZZ27CV_js.mulf(gain, env), chunkFLWD6GRR_js.fsin(chunkDXZZ27CV_js.mulf(TWO_PI3, phase)), out[start + i]), phase = phase + Math.fround(chunkDXZZ27CV_js.mulf(frequency, chunkDXZZ27CV_js.madf(DROP_CHIRP, chunkDXZZ27CV_js.divf(t, decay), ONE2)) * inv), phase >= 1 && (phase -= 1);
2684
+ let t = chunkRKBLPGPV_js.mulf(i, inv), env = chunkFLWD6GRR_js.fexp(chunkRKBLPGPV_js.divf(-t, decay));
2685
+ out[start + i] = chunkRKBLPGPV_js.madf(chunkRKBLPGPV_js.mulf(gain, env), chunkFLWD6GRR_js.fsin(chunkRKBLPGPV_js.mulf(TWO_PI3, phase)), out[start + i]), phase = phase + Math.fround(chunkRKBLPGPV_js.mulf(frequency, chunkRKBLPGPV_js.madf(DROP_CHIRP, chunkRKBLPGPV_js.divf(t, decay), ONE2)) * inv), phase >= 1 && (phase -= 1);
2686
2686
  }
2687
2687
  }
2688
2688
  }
2689
2689
  function rainBedJs(r, out) {
2690
- let bed = new Filter(chunkDXZZ27CV_js.biquadLowpass((900), (22050), FILTER_Q));
2691
- for (let n = 0; n < out.length; n++) out[n] = chunkDXZZ27CV_js.madf(r.bed, bed.step(noise(r.seed + (1), n)), out[n]);
2690
+ let bed = new Filter(chunkRKBLPGPV_js.biquadLowpass((900), (22050), FILTER_Q));
2691
+ for (let n = 0; n < out.length; n++) out[n] = chunkRKBLPGPV_js.madf(r.bed, bed.step(noise(r.seed + (1), n)), out[n]);
2692
2692
  }
2693
2693
  function kernelRouteReady(recipe, options) {
2694
2694
  let route = options.route ?? "auto";
2695
2695
  if (route === "js") return false;
2696
2696
  if (route === "kernels") return true;
2697
- let engine2 = chunkDJUUL67Z_js.defaultKernelEngine();
2698
- return engine2 === null || !chunkBS65NRDW_js.kernelEngineFeatures(engine2).has(chunkIR74FJHU_js.KERNEL_SCAN_FEATURE) ? false : !(typeof WebAssembly < "u" && engine2.memory instanceof WebAssembly.Memory && SLOWER_ON_WASM.has(recipe.kind));
2697
+ let engine2 = chunk7KFTYENS_js.defaultKernelEngine();
2698
+ return engine2 === null || !chunk3S6WPBZL_js.kernelEngineFeatures(engine2).has(chunkIR74FJHU_js.KERNEL_SCAN_FEATURE) ? false : !(typeof WebAssembly < "u" && engine2.memory instanceof WebAssembly.Memory && SLOWER_ON_WASM.has(recipe.kind));
2699
2699
  }
2700
2700
  function runSoundKernel(plan, out, options = {}) {
2701
- let runner = options.runner ?? chunkDJUUL67Z_js.defaultKernelRunner(), engine2 = options.runner === void 0 ? chunkDJUUL67Z_js.defaultKernelEngine() : null, soa = engine2 === null ? null : chunkRCQ2MPBV_js.bindSoaEngine(engine2.exports, engine2.memory), table = new chunkDJUUL67Z_js.EntityTable(soa, SOUND_SAMPLE_FIELDS, { capacity: out.length, selections: 0 });
2701
+ let runner = options.runner ?? chunk7KFTYENS_js.defaultKernelRunner(), engine2 = options.runner === void 0 ? chunk7KFTYENS_js.defaultKernelEngine() : null, soa = engine2 === null ? null : chunkRCQ2MPBV_js.bindSoaEngine(engine2.exports, engine2.memory), table = new chunk7KFTYENS_js.EntityTable(soa, SOUND_SAMPLE_FIELDS, { capacity: out.length, selections: 0 });
2702
2702
  table.count = out.length, table.values("out").set(out), runner.runWith(SOUND_KERNELS[plan.kernel], table, [...plan.args]), out.set(table.values("out").subarray(0, out.length)), table.dispose();
2703
2703
  }
2704
2704
  function feedOf(c) {
@@ -2709,7 +2709,7 @@ function impactPlan(r) {
2709
2709
  let inv = Math.fround(ONE2 / (22050)), lane = (pick, unused) => {
2710
2710
  let at = (k) => k < r.modes.length ? pick(r.modes[k]) : unused;
2711
2711
  return { x: at(0), y: at(1), z: at(2), w: at(3) };
2712
- }, [feed, back] = feedOf(chunkDXZZ27CV_js.biquadLowpass(r.brightness, (22050), FILTER_Q)), gains = lane((m) => m.gain, 0), decays = lane((m) => m.decay, (1)), incs = lane((m) => Math.fround(m.frequency * inv), 0);
2712
+ }, [feed, back] = feedOf(chunkRKBLPGPV_js.biquadLowpass(r.brightness, (22050), FILTER_Q)), gains = lane((m) => m.gain, 0), decays = lane((m) => m.decay, (1)), incs = lane((m) => Math.fround(m.frequency * inv), 0);
2713
2713
  return { kernel: "soundImpact", args: [gains, decays, incs, { x: r.noise, y: r.contact, z: inv }, feed, back, r.seed >>> 0] };
2714
2714
  }
2715
2715
  function enginePlan(r) {
@@ -2726,16 +2726,16 @@ function soundKernelPlan(recipe) {
2726
2726
  case "wind":
2727
2727
  return { kernel: "soundWind", args: [Math.fround(ONE2 / (22050)), recipe.pitch, recipe.gust, recipe.strength, recipe.seed >>> 0] };
2728
2728
  case "rain": {
2729
- let [feed, back] = feedOf(chunkDXZZ27CV_js.biquadLowpass((900), (22050), FILTER_Q));
2729
+ let [feed, back] = feedOf(chunkRKBLPGPV_js.biquadLowpass((900), (22050), FILTER_Q));
2730
2730
  return { kernel: "soundRainBed", args: [recipe.bed, feed, back, recipe.seed + (1) >>> 0] };
2731
2731
  }
2732
2732
  }
2733
2733
  }
2734
2734
  function wind(r, out) {
2735
- let inv = Math.fround(ONE2 / (22050)), band = new Filter(chunkDXZZ27CV_js.biquadBandpass(r.pitch, (22050), WIND_Q2));
2735
+ let inv = Math.fround(ONE2 / (22050)), band = new Filter(chunkRKBLPGPV_js.biquadBandpass(r.pitch, (22050), WIND_Q2));
2736
2736
  for (let n = 0; n < out.length; n++) {
2737
- let t = chunkDXZZ27CV_js.mulf(n, inv), lfo = chunkDXZZ27CV_js.mulf(HALF3, chunkDXZZ27CV_js.addf(chunkFLWD6GRR_js.fsin(chunkDXZZ27CV_js.mulf(chunkDXZZ27CV_js.mulf(TWO_PI3, GUST_A2), t)), chunkFLWD6GRR_js.fsin(chunkDXZZ27CV_js.addf(chunkDXZZ27CV_js.mulf(chunkDXZZ27CV_js.mulf(TWO_PI3, GUST_B2), t), GUST_PHASE2))));
2738
- n % (64) === 0 && (band.coefficients = chunkDXZZ27CV_js.biquadBandpass(chunkDXZZ27CV_js.mulf(r.pitch, chunkDXZZ27CV_js.madf(r.gust, lfo, ONE2)), (22050), WIND_Q2)), out[n] = chunkDXZZ27CV_js.mulf(chunkDXZZ27CV_js.mulf(r.strength, chunkDXZZ27CV_js.madf(GUST_SPAN2, lfo, GUST_FLOOR2)), band.step(noise(r.seed, n)));
2737
+ let t = chunkRKBLPGPV_js.mulf(n, inv), lfo = chunkRKBLPGPV_js.mulf(HALF3, chunkRKBLPGPV_js.addf(chunkFLWD6GRR_js.fsin(chunkRKBLPGPV_js.mulf(chunkRKBLPGPV_js.mulf(TWO_PI3, GUST_A2), t)), chunkFLWD6GRR_js.fsin(chunkRKBLPGPV_js.addf(chunkRKBLPGPV_js.mulf(chunkRKBLPGPV_js.mulf(TWO_PI3, GUST_B2), t), GUST_PHASE2))));
2738
+ n % (64) === 0 && (band.coefficients = chunkRKBLPGPV_js.biquadBandpass(chunkRKBLPGPV_js.mulf(r.pitch, chunkRKBLPGPV_js.madf(r.gust, lfo, ONE2)), (22050), WIND_Q2)), out[n] = chunkRKBLPGPV_js.mulf(chunkRKBLPGPV_js.mulf(r.strength, chunkRKBLPGPV_js.madf(GUST_SPAN2, lfo, GUST_FLOOR2)), band.step(noise(r.seed, n)));
2739
2739
  }
2740
2740
  }
2741
2741
  function finish(out) {
@@ -2743,8 +2743,8 @@ function finish(out) {
2743
2743
  for (let n = 0; n < out.length; n++) peak = Math.max(peak, Math.abs(out[n]));
2744
2744
  let gain = peak > 0 ? Math.fround(PEAK / peak) : 0, fade = Math.min(out.length, Math.round((5e-3) * (22050)));
2745
2745
  for (let n = 0; n < out.length; n++) {
2746
- let s = chunkDXZZ27CV_js.mulf(out[n], gain), tail = out.length - 1 - n;
2747
- tail < fade && (s = chunkDXZZ27CV_js.mulf(s, Math.fround(tail / fade))), out[n] = s;
2746
+ let s = chunkRKBLPGPV_js.mulf(out[n], gain), tail = out.length - 1 - n;
2747
+ tail < fade && (s = chunkRKBLPGPV_js.mulf(s, Math.fround(tail / fade))), out[n] = s;
2748
2748
  }
2749
2749
  }
2750
2750
  function synthesizeSound(recipe, options = {}) {
@@ -2781,53 +2781,53 @@ var MAX_RECIPE_TEXTURE = 1024, RGBA2 = 4, BYTE = 255, HALF4 = Math.fround(0.5),
2781
2781
  function sample(p, u, v, seed) {
2782
2782
  switch (p.kind) {
2783
2783
  case "fbm":
2784
- return { height: chunkDXZZ27CV_js.texFbm(u, v, p.period, p.octaves, p.gain, seed), id: 0 };
2784
+ return { height: chunkRKBLPGPV_js.texFbm(u, v, p.period, p.octaves, p.gain, seed), id: 0 };
2785
2785
  case "ridged":
2786
- return { height: chunkDXZZ27CV_js.texRidged(u, v, p.period, p.octaves, p.gain, seed), id: 0 };
2786
+ return { height: chunkRKBLPGPV_js.texRidged(u, v, p.period, p.octaves, p.gain, seed), id: 0 };
2787
2787
  case "cells": {
2788
- let c = chunkDXZZ27CV_js.texCells(u, v, p.period, p.jitter, seed);
2789
- return { height: chunkDXZZ27CV_js.clampf(Math.fround(c.y - c.x), 0, ONE3), id: c.z };
2788
+ let c = chunkRKBLPGPV_js.texCells(u, v, p.period, p.jitter, seed);
2789
+ return { height: chunkRKBLPGPV_js.clampf(Math.fround(c.y - c.x), 0, ONE3), id: c.z };
2790
2790
  }
2791
2791
  case "bricks": {
2792
- let b = chunkDXZZ27CV_js.texBricks(u, v, p.rows, p.columns, p.mortar, seed);
2792
+ let b = chunkRKBLPGPV_js.texBricks(u, v, p.rows, p.columns, p.mortar, seed);
2793
2793
  return { height: b.x, id: b.y };
2794
2794
  }
2795
2795
  case "tiles": {
2796
- let t = chunkDXZZ27CV_js.texTiles(u, v, p.count, p.grout, seed);
2796
+ let t = chunkRKBLPGPV_js.texTiles(u, v, p.count, p.grout, seed);
2797
2797
  return { height: t.x, id: t.y };
2798
2798
  }
2799
2799
  case "weave": {
2800
- let w = chunkDXZZ27CV_js.texWeave(u, v, p.count);
2800
+ let w = chunkRKBLPGPV_js.texWeave(u, v, p.count);
2801
2801
  return { height: w.x, id: w.y };
2802
2802
  }
2803
2803
  case "rings":
2804
- return { height: chunkDXZZ27CV_js.texRings(u, v, p.frequency, p.distortion, seed), id: 0 };
2804
+ return { height: chunkRKBLPGPV_js.texRings(u, v, p.frequency, p.distortion, seed), id: 0 };
2805
2805
  }
2806
2806
  }
2807
2807
  function checkRecipe(r) {
2808
2808
  if (!Number.isInteger(r.size) || r.size < 1 || r.size > (1024) || (r.size & r.size - 1) !== 0) throw new chunkNH654HAT_js.KitError("invalid_declaration", "recipe texture size must be a power of two up to 1024");
2809
2809
  }
2810
2810
  function toByte(linear2) {
2811
- return Math.round(chunkDXZZ27CV_js.clampf(chunkDXZZ27CV_js.linearToSrgb(chunkDXZZ27CV_js.clampf(linear2, 0, ONE3)), 0, ONE3) * (255));
2811
+ return Math.round(chunkRKBLPGPV_js.clampf(chunkRKBLPGPV_js.linearToSrgb(chunkRKBLPGPV_js.clampf(linear2, 0, ONE3)), 0, ONE3) * (255));
2812
2812
  }
2813
2813
  function synthesizeTexture(recipe) {
2814
2814
  checkRecipe(recipe);
2815
2815
  let n = recipe.size, height = new Float32Array(n * n), ids = new Float32Array(n * n), inv = Math.fround(ONE3 / n);
2816
2816
  for (let y = 0; y < n; y++) {
2817
- let v = chunkDXZZ27CV_js.mulf(chunkDXZZ27CV_js.addf(y, HALF4), inv);
2817
+ let v = chunkRKBLPGPV_js.mulf(chunkRKBLPGPV_js.addf(y, HALF4), inv);
2818
2818
  for (let x = 0; x < n; x++) {
2819
- let u = chunkDXZZ27CV_js.mulf(chunkDXZZ27CV_js.addf(x, HALF4), inv), s = sample(recipe.pattern, u, v, recipe.seed >>> 0), detail = recipe.detail === 0 ? 0 : chunkDXZZ27CV_js.mulf(recipe.detail, chunkDXZZ27CV_js.texFbm(u, v, (16), (3), DETAIL_GAIN, (recipe.seed ^ (625341585)) >>> 0));
2820
- height[y * n + x] = chunkDXZZ27CV_js.addf(s.height, detail), ids[y * n + x] = s.id;
2819
+ let u = chunkRKBLPGPV_js.mulf(chunkRKBLPGPV_js.addf(x, HALF4), inv), s = sample(recipe.pattern, u, v, recipe.seed >>> 0), detail = recipe.detail === 0 ? 0 : chunkRKBLPGPV_js.mulf(recipe.detail, chunkRKBLPGPV_js.texFbm(u, v, (16), (3), DETAIL_GAIN, (recipe.seed ^ (625341585)) >>> 0));
2820
+ height[y * n + x] = chunkRKBLPGPV_js.addf(s.height, detail), ids[y * n + x] = s.id;
2821
2821
  }
2822
2822
  }
2823
- let dark = recipe.dark.map((c) => chunkDXZZ27CV_js.srgbToLinear(Math.fround(c / (255)))), light = recipe.light.map((c) => chunkDXZZ27CV_js.srgbToLinear(Math.fround(c / (255)))), albedo = new Uint8Array(n * n * (4)), normal = new Uint8Array(n * n * (4)), [roughLow, roughHigh] = recipe.roughness, strength = Math.fround(recipe.normal * n / (256));
2823
+ let dark = recipe.dark.map((c) => chunkRKBLPGPV_js.srgbToLinear(Math.fround(c / (255)))), light = recipe.light.map((c) => chunkRKBLPGPV_js.srgbToLinear(Math.fround(c / (255)))), albedo = new Uint8Array(n * n * (4)), normal = new Uint8Array(n * n * (4)), [roughLow, roughHigh] = recipe.roughness, strength = Math.fround(recipe.normal * n / (256));
2824
2824
  for (let y = 0; y < n; y++)
2825
2825
  for (let x = 0; x < n; x++) {
2826
- let i = y * n + x, h = chunkDXZZ27CV_js.clampf(height[i], 0, ONE3), shade = chunkDXZZ27CV_js.clampf(chunkDXZZ27CV_js.madf(Math.fround(ids[i] - HALF4), recipe.variation, h), 0, ONE3), o = i * (4);
2827
- for (let c = 0; c < 3; c++) albedo[o + c] = toByte(chunkDXZZ27CV_js.madf(Math.fround(light[c] - dark[c]), shade, dark[c]));
2826
+ let i = y * n + x, h = chunkRKBLPGPV_js.clampf(height[i], 0, ONE3), shade = chunkRKBLPGPV_js.clampf(chunkRKBLPGPV_js.madf(Math.fround(ids[i] - HALF4), recipe.variation, h), 0, ONE3), o = i * (4);
2827
+ for (let c = 0; c < 3; c++) albedo[o + c] = toByte(chunkRKBLPGPV_js.madf(Math.fround(light[c] - dark[c]), shade, dark[c]));
2828
2828
  albedo[o + 3] = (255);
2829
- let left = height[y * n + (x + n - 1) % n], right = height[y * n + (x + 1) % n], down = height[(y + n - 1) % n * n + x], up = height[(y + 1) % n * n + x], nrm = chunkDXZZ27CV_js.texNormal(left, right, down, up, strength);
2830
- normal[o] = Math.round(chunkDXZZ27CV_js.madf(nrm.x, HALF4, HALF4) * (255)), normal[o + 1] = Math.round(chunkDXZZ27CV_js.madf(nrm.y, HALF4, HALF4) * (255)), normal[o + 2] = Math.round(chunkDXZZ27CV_js.madf(nrm.z, HALF4, HALF4) * (255)), normal[o + 3] = Math.round(chunkDXZZ27CV_js.madf(Math.fround(roughHigh - roughLow), Math.fround(ONE3 - h), roughLow) * (255));
2829
+ let left = height[y * n + (x + n - 1) % n], right = height[y * n + (x + 1) % n], down = height[(y + n - 1) % n * n + x], up = height[(y + 1) % n * n + x], nrm = chunkRKBLPGPV_js.texNormal(left, right, down, up, strength);
2830
+ normal[o] = Math.round(chunkRKBLPGPV_js.madf(nrm.x, HALF4, HALF4) * (255)), normal[o + 1] = Math.round(chunkRKBLPGPV_js.madf(nrm.y, HALF4, HALF4) * (255)), normal[o + 2] = Math.round(chunkRKBLPGPV_js.madf(nrm.z, HALF4, HALF4) * (255)), normal[o + 3] = Math.round(chunkRKBLPGPV_js.madf(Math.fround(roughHigh - roughLow), Math.fround(ONE3 - h), roughLow) * (255));
2831
2831
  }
2832
2832
  return { size: n, albedo, normal };
2833
2833
  }
@@ -3460,22 +3460,22 @@ function playable(t, build) {
3460
3460
 
3461
3461
  // src/game/kit/templates/slotted.ts
3462
3462
  var slottedShootout = playable(chunk6VVXXX7S_js.shootoutSlots, (values) => ({
3463
- ...chunkFKYZCXFM_js.penaltyShootoutTemplate,
3464
- scene: () => new chunkFKYZCXFM_js.PenaltyShootout(null, {
3463
+ ...chunkMIPO6F72_js.penaltyShootoutTemplate,
3464
+ scene: () => new chunkMIPO6F72_js.PenaltyShootout(null, {
3465
3465
  kicksPerSeries: values.rules.kicksPerSeries,
3466
3466
  seriesPauseSeconds: values.rules.seriesPauseSeconds,
3467
3467
  goalFlash: chunk6VVXXX7S_js.colorInt(values.theme.gold)
3468
3468
  })
3469
3469
  })), slottedRunner = playable(chunk6VVXXX7S_js.runnerSlots, (values) => ({
3470
- ...chunkFB6YH2WW_js.endlessRunnerTemplate,
3471
- scene: () => new chunkFB6YH2WW_js.EndlessRunner(null, {
3470
+ ...chunk4C7I3ELN_js.endlessRunnerTemplate,
3471
+ scene: () => new chunk4C7I3ELN_js.EndlessRunner(null, {
3472
3472
  tuning: {
3473
3473
  startSpeed: values.rules.startSpeed,
3474
3474
  maxSpeed: Math.max(values.rules.startSpeed, values.rules.maxSpeed),
3475
3475
  jumpVelocity: values.rules.jumpVelocity
3476
3476
  },
3477
3477
  colors: {
3478
- player: values.hero.tint === void 0 ? chunkFB6YH2WW_js.RUNNER_COLORS.player : chunk6VVXXX7S_js.colorInt(values.hero.tint),
3478
+ player: values.hero.tint === void 0 ? chunk4C7I3ELN_js.RUNNER_COLORS.player : chunk6VVXXX7S_js.colorInt(values.hero.tint),
3479
3479
  coin: chunk6VVXXX7S_js.colorInt(values.theme.gold),
3480
3480
  wall: chunk6VVXXX7S_js.colorInt(values.theme.danger),
3481
3481
  hurdle: chunk6VVXXX7S_js.colorInt(values.theme.accent)
@@ -3699,9 +3699,9 @@ var Bar = class {
3699
3699
  }
3700
3700
  enter(game) {
3701
3701
  let half = SHOWCASE.arenaHalf;
3702
- chunkW77VO6LP_js.walledArena(game, { half, wallHeight: SHOWCASE.wallHeight, wallThickness: (0.4) }), chunkW77VO6LP_js.daylight(game);
3702
+ chunkJ5AJNY2N_js.walledArena(game, { half, wallHeight: SHOWCASE.wallHeight, wallThickness: (0.4) }), chunkJ5AJNY2N_js.daylight(game);
3703
3703
  let ui = this.options.ui, t = this.options.font === void 0 ? SHOWCASE_THEME : { ...SHOWCASE_THEME, font: this.options.font };
3704
- this.rig = chunkB54P6RL2_js.thirdPersonCharacter(game, {
3704
+ this.rig = chunk2AQ237Y4_js.thirdPersonCharacter(game, {
3705
3705
  ui,
3706
3706
  theme: t,
3707
3707
  position: [0, 0, -SHOWCASE.ring * (0.5)],
@@ -3815,7 +3815,7 @@ var Bar = class {
3815
3815
  }
3816
3816
  }, ShowcaseBot = class {
3817
3817
  constructor() {
3818
- this.seek = new chunkW77VO6LP_js.SeekBot({ arrive: (1.4) });
3818
+ this.seek = new chunkJ5AJNY2N_js.SeekBot({ arrive: (1.4) });
3819
3819
  this.goal = new Float64Array(2);
3820
3820
  this.slot = -1;
3821
3821
  }
@@ -3823,9 +3823,9 @@ var Bar = class {
3823
3823
  let rig = scene.rig;
3824
3824
  if (rig === null) return;
3825
3825
  let target = scene.nearestToPlayer(game) * 3;
3826
- this.goal[chunkW77VO6LP_js.GOAL_X] = scene.positions[target], this.goal[chunkW77VO6LP_js.GOAL_Z] = scene.positions[target + 2], this.seek.drive(game, rig, this.goal, frame);
3826
+ this.goal[chunkJ5AJNY2N_js.GOAL_X] = scene.positions[target], this.goal[chunkJ5AJNY2N_js.GOAL_Z] = scene.positions[target + 2], this.seek.drive(game, rig, this.goal, frame);
3827
3827
  let input = game.input;
3828
- this.slot < 0 && (this.slot = input.virtualControl(chunkB54P6RL2_js.TOUCH_CONTROLS.interact)), input.stage[chunk4CVB2ZTC_js.STAGE_X] = frame % (30) < (4) ? 1 : 0, input.stage[chunk4CVB2ZTC_js.STAGE_TIME] = chunk56BM75QX_js.templateFrameStamp(frame), input.virtualStaged(this.slot);
3828
+ this.slot < 0 && (this.slot = input.virtualControl(chunk2AQ237Y4_js.TOUCH_CONTROLS.interact)), input.stage[chunk5LH2QN3T_js.STAGE_X] = frame % (30) < (4) ? 1 : 0, input.stage[chunk5LH2QN3T_js.STAGE_TIME] = chunkH5DFSCJ6_js.templateFrameStamp(frame), input.virtualStaged(this.slot);
3829
3829
  }
3830
3830
  }, DISCARD = { submit() {
3831
3831
  } }, SHOWCASE_VIEWPORT = { width: (844), height: (390) }, digestScratch = new Float64Array((4)), gameUiShowcaseTemplate = {
@@ -3838,61 +3838,61 @@ var Bar = class {
3838
3838
  progress: (scene) => scene.downs,
3839
3839
  digest(scene) {
3840
3840
  let d = digestScratch;
3841
- return d[0] = scene.downs, d[1] = scene.playerHealth, d[2] = scene.health[0], d[3] = scene.positions[0], chunk56BM75QX_js.digestFloats(d, (4));
3841
+ return d[0] = scene.downs, d[1] = scene.playerHealth, d[2] = scene.health[0], d[3] = scene.positions[0], chunkH5DFSCJ6_js.digestFloats(d, (4));
3842
3842
  }
3843
3843
  };
3844
3844
 
3845
3845
  // src/game/kit/chemistry/index.ts
3846
3846
  var chemistry_exports = {};
3847
3847
  chunkJGBCIKJV_js.__export(chemistry_exports, {
3848
- CELL_CLASSES: () => chunkDJUUL67Z_js.CELL_CLASSES,
3849
- CHEMISTRY_AI_CAPABILITY: () => chunkDXZZ27CV_js.CHEMISTRY_AI_CAPABILITY,
3850
- CHEMISTRY_ATMOSPHERE: () => chunkEPYFN2A3_js.CHEMISTRY_ATMOSPHERE,
3851
- CHEMISTRY_BOX_WORDS: () => chunkEPYFN2A3_js.CHEMISTRY_BOX_WORDS,
3852
- CHEMISTRY_COLUMNS: () => chunkEPYFN2A3_js.CHEMISTRY_COLUMNS,
3853
- CHEMISTRY_EVENT_HEADER: () => chunkEPYFN2A3_js.CHEMISTRY_EVENT_HEADER,
3854
- CHEMISTRY_EVENT_KINDS: () => chunkDJUUL67Z_js.CHEMISTRY_EVENT_KINDS,
3855
- CHEMISTRY_EVENT_WORDS: () => chunkEPYFN2A3_js.CHEMISTRY_EVENT_WORDS,
3856
- CHEMISTRY_EXPORT_NAMES: () => chunkEPYFN2A3_js.CHEMISTRY_EXPORT_NAMES,
3857
- CHEMISTRY_GROUPS: () => chunkDJUUL67Z_js.CHEMISTRY_GROUPS,
3858
- CHEMISTRY_NATURE_WORDS: () => chunkEPYFN2A3_js.CHEMISTRY_NATURE_WORDS,
3859
- CHEMISTRY_PROBE_WORDS: () => chunkEPYFN2A3_js.CHEMISTRY_PROBE_WORDS,
3860
- CHEMISTRY_PROMPT: () => chunkDXZZ27CV_js.CHEMISTRY_PROMPT,
3861
- CHEMISTRY_REACTION_WORDS: () => chunkEPYFN2A3_js.CHEMISTRY_REACTION_WORDS,
3862
- CHEMISTRY_REFUSALS: () => chunkDJUUL67Z_js.CHEMISTRY_REFUSALS,
3863
- CHEMISTRY_REFUSAL_TEXT: () => chunkDJUUL67Z_js.CHEMISTRY_REFUSAL_TEXT,
3864
- CHEMISTRY_REFUSED: () => chunkEPYFN2A3_js.CHEMISTRY_REFUSED,
3865
- CHEMISTRY_SCHEMA: () => chunkDXZZ27CV_js.CHEMISTRY_SCHEMA,
3866
- CHEMISTRY_SLOTS: () => chunkEPYFN2A3_js.CHEMISTRY_SLOTS,
3867
- CHEMISTRY_SPECIES_WORDS: () => chunkEPYFN2A3_js.CHEMISTRY_SPECIES_WORDS,
3868
- CHEMISTRY_STATS_WORDS: () => chunkEPYFN2A3_js.CHEMISTRY_STATS_WORDS,
3869
- CHEMISTRY_TEMPLATE: () => chunkDXZZ27CV_js.CHEMISTRY_TEMPLATE,
3870
- CHEMISTRY_TQ: () => chunkEPYFN2A3_js.CHEMISTRY_TQ,
3871
- CHEMISTRY_UNSET: () => chunkEPYFN2A3_js.CHEMISTRY_UNSET,
3872
- CHEMISTRY_VACUUM: () => chunkEPYFN2A3_js.CHEMISTRY_VACUUM,
3873
- CHEMISTRY_VESSEL_SLOTS: () => chunkEPYFN2A3_js.CHEMISTRY_VESSEL_SLOTS,
3874
- CHEMISTRY_VESSEL_WORDS: () => chunkEPYFN2A3_js.CHEMISTRY_VESSEL_WORDS,
3875
- Chemistry: () => chunkDJUUL67Z_js.Chemistry,
3876
- ChemistryMemory: () => chunkDJUUL67Z_js.ChemistryMemory,
3877
- ChemistryParticles: () => chunkDJUUL67Z_js.ChemistryParticles,
3878
- ChemistryRegion: () => chunkDJUUL67Z_js.ChemistryRegion,
3848
+ CELL_CLASSES: () => chunk7KFTYENS_js.CELL_CLASSES,
3849
+ CHEMISTRY_AI_CAPABILITY: () => chunkRKBLPGPV_js.CHEMISTRY_AI_CAPABILITY,
3850
+ CHEMISTRY_ATMOSPHERE: () => chunk7AAIAVAA_js.CHEMISTRY_ATMOSPHERE,
3851
+ CHEMISTRY_BOX_WORDS: () => chunk7AAIAVAA_js.CHEMISTRY_BOX_WORDS,
3852
+ CHEMISTRY_COLUMNS: () => chunk7AAIAVAA_js.CHEMISTRY_COLUMNS,
3853
+ CHEMISTRY_EVENT_HEADER: () => chunk7AAIAVAA_js.CHEMISTRY_EVENT_HEADER,
3854
+ CHEMISTRY_EVENT_KINDS: () => chunk7KFTYENS_js.CHEMISTRY_EVENT_KINDS,
3855
+ CHEMISTRY_EVENT_WORDS: () => chunk7AAIAVAA_js.CHEMISTRY_EVENT_WORDS,
3856
+ CHEMISTRY_EXPORT_NAMES: () => chunk7AAIAVAA_js.CHEMISTRY_EXPORT_NAMES,
3857
+ CHEMISTRY_GROUPS: () => chunk7KFTYENS_js.CHEMISTRY_GROUPS,
3858
+ CHEMISTRY_NATURE_WORDS: () => chunk7AAIAVAA_js.CHEMISTRY_NATURE_WORDS,
3859
+ CHEMISTRY_PROBE_WORDS: () => chunk7AAIAVAA_js.CHEMISTRY_PROBE_WORDS,
3860
+ CHEMISTRY_PROMPT: () => chunkRKBLPGPV_js.CHEMISTRY_PROMPT,
3861
+ CHEMISTRY_REACTION_WORDS: () => chunk7AAIAVAA_js.CHEMISTRY_REACTION_WORDS,
3862
+ CHEMISTRY_REFUSALS: () => chunk7KFTYENS_js.CHEMISTRY_REFUSALS,
3863
+ CHEMISTRY_REFUSAL_TEXT: () => chunk7KFTYENS_js.CHEMISTRY_REFUSAL_TEXT,
3864
+ CHEMISTRY_REFUSED: () => chunk7AAIAVAA_js.CHEMISTRY_REFUSED,
3865
+ CHEMISTRY_SCHEMA: () => chunkRKBLPGPV_js.CHEMISTRY_SCHEMA,
3866
+ CHEMISTRY_SLOTS: () => chunk7AAIAVAA_js.CHEMISTRY_SLOTS,
3867
+ CHEMISTRY_SPECIES_WORDS: () => chunk7AAIAVAA_js.CHEMISTRY_SPECIES_WORDS,
3868
+ CHEMISTRY_STATS_WORDS: () => chunk7AAIAVAA_js.CHEMISTRY_STATS_WORDS,
3869
+ CHEMISTRY_TEMPLATE: () => chunkRKBLPGPV_js.CHEMISTRY_TEMPLATE,
3870
+ CHEMISTRY_TQ: () => chunk7AAIAVAA_js.CHEMISTRY_TQ,
3871
+ CHEMISTRY_UNSET: () => chunk7AAIAVAA_js.CHEMISTRY_UNSET,
3872
+ CHEMISTRY_VACUUM: () => chunk7AAIAVAA_js.CHEMISTRY_VACUUM,
3873
+ CHEMISTRY_VESSEL_SLOTS: () => chunk7AAIAVAA_js.CHEMISTRY_VESSEL_SLOTS,
3874
+ CHEMISTRY_VESSEL_WORDS: () => chunk7AAIAVAA_js.CHEMISTRY_VESSEL_WORDS,
3875
+ Chemistry: () => chunk7KFTYENS_js.Chemistry,
3876
+ ChemistryMemory: () => chunk7KFTYENS_js.ChemistryMemory,
3877
+ ChemistryParticles: () => chunk7KFTYENS_js.ChemistryParticles,
3878
+ ChemistryRegion: () => chunk7KFTYENS_js.ChemistryRegion,
3879
3879
  ChemistrySandbox: () => ChemistrySandbox,
3880
- ChemistryVessel: () => chunkDJUUL67Z_js.ChemistryVessel,
3881
- MAX_FORMULA: () => chunkDXZZ27CV_js.MAX_FORMULA,
3882
- MAX_KNOWN_CHARS: () => chunkDXZZ27CV_js.MAX_KNOWN_CHARS,
3883
- MAX_NAME: () => chunkDXZZ27CV_js.MAX_NAME,
3884
- MAX_SPECIES: () => chunkDXZZ27CV_js.MAX_SPECIES,
3885
- MAX_TERMS: () => chunkDXZZ27CV_js.MAX_TERMS,
3886
- PROPOSAL_SCHEMA: () => chunkDXZZ27CV_js.PROPOSAL_SCHEMA,
3880
+ ChemistryVessel: () => chunk7KFTYENS_js.ChemistryVessel,
3881
+ MAX_FORMULA: () => chunkRKBLPGPV_js.MAX_FORMULA,
3882
+ MAX_KNOWN_CHARS: () => chunkRKBLPGPV_js.MAX_KNOWN_CHARS,
3883
+ MAX_NAME: () => chunkRKBLPGPV_js.MAX_NAME,
3884
+ MAX_SPECIES: () => chunkRKBLPGPV_js.MAX_SPECIES,
3885
+ MAX_TERMS: () => chunkRKBLPGPV_js.MAX_TERMS,
3886
+ PROPOSAL_SCHEMA: () => chunkRKBLPGPV_js.PROPOSAL_SCHEMA,
3887
3887
  SANDBOX_TOOLS: () => SANDBOX_TOOLS,
3888
- bindChemistryEngine: () => chunkEPYFN2A3_js.bindChemistryEngine,
3889
- chemistryAiSection: () => chunkDXZZ27CV_js.chemistryAiSection,
3890
- chemistryAiToml: () => chunkDXZZ27CV_js.chemistryAiToml,
3891
- groupNames: () => chunkDJUUL67Z_js.groupNames,
3892
- knownMaterials: () => chunkDXZZ27CV_js.knownMaterials,
3893
- proposalText: () => chunkDXZZ27CV_js.proposalText,
3894
- proposeReaction: () => chunkDXZZ27CV_js.proposeReaction,
3895
- reactionRequest: () => chunkDXZZ27CV_js.reactionRequest
3888
+ bindChemistryEngine: () => chunk7AAIAVAA_js.bindChemistryEngine,
3889
+ chemistryAiSection: () => chunkRKBLPGPV_js.chemistryAiSection,
3890
+ chemistryAiToml: () => chunkRKBLPGPV_js.chemistryAiToml,
3891
+ groupNames: () => chunk7KFTYENS_js.groupNames,
3892
+ knownMaterials: () => chunkRKBLPGPV_js.knownMaterials,
3893
+ proposalText: () => chunkRKBLPGPV_js.proposalText,
3894
+ proposeReaction: () => chunkRKBLPGPV_js.proposeReaction,
3895
+ reactionRequest: () => chunkRKBLPGPV_js.reactionRequest
3896
3896
  });
3897
3897
 
3898
3898
  // src/game/kit/chemistry/sandbox.ts
@@ -4033,12 +4033,12 @@ var TAU2 = Math.PI * 2, DEFAULT_DAMPING = 0.05, DEFAULT_AUTO_ROTATE_SPEED = 2, S
4033
4033
  this.rotateSpeed = 1;
4034
4034
  this.zoomSpeed = 1;
4035
4035
  this.panSpeed = 1;
4036
- this.rotateButtons = chunkJ4HU2YQB_js.BUTTON_PRIMARY;
4037
- this.panButtons = chunkJ4HU2YQB_js.BUTTON_SECONDARY;
4038
- this.dollyButtons = chunkJ4HU2YQB_js.BUTTON_MIDDLE;
4036
+ this.rotateButtons = chunkAQOE6WCG_js.BUTTON_PRIMARY;
4037
+ this.panButtons = chunkAQOE6WCG_js.BUTTON_SECONDARY;
4038
+ this.dollyButtons = chunkAQOE6WCG_js.BUTTON_MIDDLE;
4039
4039
  this.target = new chunkRCQ2MPBV_js.Vec3();
4040
- this.spherical = new chunkDXZZ27CV_js.Spherical();
4041
- this.sphericalDelta = new chunkDXZZ27CV_js.Spherical();
4040
+ this.spherical = new chunkRKBLPGPV_js.Spherical();
4041
+ this.sphericalDelta = new chunkRKBLPGPV_js.Spherical();
4042
4042
  this.panOffset = new chunkRCQ2MPBV_js.Vec3();
4043
4043
  this.scale = 1;
4044
4044
  this.cursorX = 0.5;
@@ -4050,11 +4050,11 @@ var TAU2 = Math.PI * 2, DEFAULT_DAMPING = 0.05, DEFAULT_AUTO_ROTATE_SPEED = 2, S
4050
4050
  this.cursorPoint = new chunkRCQ2MPBV_js.Vec3();
4051
4051
  this.savedTarget = new chunkRCQ2MPBV_js.Vec3();
4052
4052
  this.savedPosition = new chunkRCQ2MPBV_js.Vec3();
4053
- this.projection = new chunkDXZZ27CV_js.CameraProjection();
4053
+ this.projection = new chunkRKBLPGPV_js.CameraProjection();
4054
4054
  this.world = new Float64Array(16);
4055
- this.ray = new chunkDXZZ27CV_js.Ray();
4056
- this.plane = new chunkDXZZ27CV_js.Plane();
4057
- this.pose = new chunkJ4HU2YQB_js.CameraPose(transforms, camera), this.input = input, this.enableDamping = options.enableDamping ?? false, this.dampingFactor = options.dampingFactor ?? (0.05), this.minDistance = options.minDistance ?? 0, this.maxDistance = options.maxDistance ?? 1 / 0, this.minPolarAngle = options.minPolarAngle ?? 0, this.maxPolarAngle = options.maxPolarAngle ?? Math.PI, this.minAzimuthAngle = options.minAzimuthAngle ?? -1 / 0, this.maxAzimuthAngle = options.maxAzimuthAngle ?? 1 / 0, this.autoRotate = options.autoRotate ?? false, this.autoRotateSpeed = options.autoRotateSpeed ?? (2), this.screenSpacePanning = options.screenSpacePanning ?? true, this.zoomToCursor = options.zoomToCursor ?? false, this.fov = options.fov ?? chunkJ4HU2YQB_js.DEFAULT_CONTROL_FOV, this.aspect = options.aspect ?? chunkJ4HU2YQB_js.DEFAULT_CONTROL_ASPECT, this.orthographicHeight = options.orthographicHeight ?? 0;
4055
+ this.ray = new chunkRKBLPGPV_js.Ray();
4056
+ this.plane = new chunkRKBLPGPV_js.Plane();
4057
+ this.pose = new chunkAQOE6WCG_js.CameraPose(transforms, camera), this.input = input, this.enableDamping = options.enableDamping ?? false, this.dampingFactor = options.dampingFactor ?? (0.05), this.minDistance = options.minDistance ?? 0, this.maxDistance = options.maxDistance ?? 1 / 0, this.minPolarAngle = options.minPolarAngle ?? 0, this.maxPolarAngle = options.maxPolarAngle ?? Math.PI, this.minAzimuthAngle = options.minAzimuthAngle ?? -1 / 0, this.maxAzimuthAngle = options.maxAzimuthAngle ?? 1 / 0, this.autoRotate = options.autoRotate ?? false, this.autoRotateSpeed = options.autoRotateSpeed ?? (2), this.screenSpacePanning = options.screenSpacePanning ?? true, this.zoomToCursor = options.zoomToCursor ?? false, this.fov = options.fov ?? chunkAQOE6WCG_js.DEFAULT_CONTROL_FOV, this.aspect = options.aspect ?? chunkAQOE6WCG_js.DEFAULT_CONTROL_ASPECT, this.orthographicHeight = options.orthographicHeight ?? 0;
4058
4058
  let t = options.target;
4059
4059
  t && this.target.set(t[0], t[1], t[2]), this.sphericalDelta.set(0, 0, 0), this.saveState();
4060
4060
  }
@@ -4068,7 +4068,7 @@ var TAU2 = Math.PI * 2, DEFAULT_DAMPING = 0.05, DEFAULT_AUTO_ROTATE_SPEED = 2, S
4068
4068
  return this.spherical.azimuth;
4069
4069
  }
4070
4070
  setViewport(width, height) {
4071
- this.aspect = height > 0 ? width / height : chunkJ4HU2YQB_js.DEFAULT_CONTROL_ASPECT;
4071
+ this.aspect = height > 0 ? width / height : chunkAQOE6WCG_js.DEFAULT_CONTROL_ASPECT;
4072
4072
  }
4073
4073
  setTarget(target) {
4074
4074
  this.target.copy(target);
@@ -4090,8 +4090,8 @@ var TAU2 = Math.PI * 2, DEFAULT_DAMPING = 0.05, DEFAULT_AUTO_ROTATE_SPEED = 2, S
4090
4090
  }
4091
4091
  pan(normalizedX, normalizedY) {
4092
4092
  this.offset.subVectors(this.pose.position, this.target);
4093
- let reach = this.orthographicHeight > 0 ? this.orthographicHeight * 0.5 : this.offset.length() * Math.tan(this.fov * chunkJ4HU2YQB_js.DEGREES_TO_RADIANS * 0.5), left = 2 * normalizedX * this.aspect * reach * this.panSpeed, up = 2 * normalizedY * reach * this.panSpeed;
4094
- this.pose.axis(0, this.column), this.panOffset.addScaled(this.column, -left), this.screenSpacePanning ? this.pose.axis(1, this.column) : (this.pose.axis(0, this.scratch), this.column.cross(chunkJ4HU2YQB_js.UP, this.scratch)), this.panOffset.addScaled(this.column, up);
4093
+ let reach = this.orthographicHeight > 0 ? this.orthographicHeight * 0.5 : this.offset.length() * Math.tan(this.fov * chunkAQOE6WCG_js.DEGREES_TO_RADIANS * 0.5), left = 2 * normalizedX * this.aspect * reach * this.panSpeed, up = 2 * normalizedY * reach * this.panSpeed;
4094
+ this.pose.axis(0, this.column), this.panOffset.addScaled(this.column, -left), this.screenSpacePanning ? this.pose.axis(1, this.column) : (this.pose.axis(0, this.scratch), this.column.cross(chunkAQOE6WCG_js.UP, this.scratch)), this.panOffset.addScaled(this.column, up);
4095
4095
  }
4096
4096
  update(dt) {
4097
4097
  this.enabled && (this.pose.read(), this.readInput(dt), this.apply(dt));
@@ -4119,10 +4119,10 @@ var TAU2 = Math.PI * 2, DEFAULT_DAMPING = 0.05, DEFAULT_AUTO_ROTATE_SPEED = 2, S
4119
4119
  apply(dt) {
4120
4120
  let pose = this.pose, s = this.spherical, d = this.sphericalDelta;
4121
4121
  this.offset.subVectors(pose.position, this.target), s.setFromVector(this.offset);
4122
- let k = this.enableDamping ? chunkJ4HU2YQB_js.frameDamping(this.dampingFactor, dt) : 1;
4122
+ let k = this.enableDamping ? chunkAQOE6WCG_js.frameDamping(this.dampingFactor, dt) : 1;
4123
4123
  s.azimuth += d.azimuth * k, s.polar += d.polar * k;
4124
4124
  let min = this.minAzimuthAngle, max = this.maxAzimuthAngle;
4125
- if (Number.isFinite(min) && Number.isFinite(max) && (min < -Math.PI ? min += TAU2 : min > Math.PI && (min -= TAU2), max < -Math.PI ? max += TAU2 : max > Math.PI && (max -= TAU2), min <= max ? s.azimuth = chunkJ4HU2YQB_js.clamp(s.azimuth, min, max) : s.azimuth = s.azimuth > (min + max) / 2 ? Math.max(min, s.azimuth) : Math.min(max, s.azimuth)), s.polar = chunkJ4HU2YQB_js.clamp(s.polar, this.minPolarAngle, this.maxPolarAngle), s.makeSafe(), this.cursorZoom && this.scale !== 1 && this.cursorTarget(), this.target.addScaled(this.panOffset, k), s.radius = chunkJ4HU2YQB_js.clamp(Math.max((1e-6), s.radius * this.scale), this.minDistance, this.maxDistance), s.toVector(this.offset), pose.position.addVectors(this.target, this.offset), this.scratch.subVectors(this.target, pose.position), pose.rotation.lookRotation(this.scratch.x, this.scratch.y, this.scratch.z), this.enableDamping) {
4125
+ if (Number.isFinite(min) && Number.isFinite(max) && (min < -Math.PI ? min += TAU2 : min > Math.PI && (min -= TAU2), max < -Math.PI ? max += TAU2 : max > Math.PI && (max -= TAU2), min <= max ? s.azimuth = chunkAQOE6WCG_js.clamp(s.azimuth, min, max) : s.azimuth = s.azimuth > (min + max) / 2 ? Math.max(min, s.azimuth) : Math.min(max, s.azimuth)), s.polar = chunkAQOE6WCG_js.clamp(s.polar, this.minPolarAngle, this.maxPolarAngle), s.makeSafe(), this.cursorZoom && this.scale !== 1 && this.cursorTarget(), this.target.addScaled(this.panOffset, k), s.radius = chunkAQOE6WCG_js.clamp(Math.max((1e-6), s.radius * this.scale), this.minDistance, this.maxDistance), s.toVector(this.offset), pose.position.addVectors(this.target, this.offset), this.scratch.subVectors(this.target, pose.position), pose.rotation.lookRotation(this.scratch.x, this.scratch.y, this.scratch.z), this.enableDamping) {
4126
4126
  let keep = 1 - k;
4127
4127
  d.azimuth *= keep, d.polar *= keep, this.panOffset.scale(keep), Math.abs(d.azimuth) < (1e-6) && (d.azimuth = 0), Math.abs(d.polar) < (1e-6) && (d.polar = 0);
4128
4128
  } else
@@ -4143,7 +4143,7 @@ var TAU2 = Math.PI * 2, DEFAULT_DAMPING = 0.05, DEFAULT_AUTO_ROTATE_SPEED = 2, S
4143
4143
  }
4144
4144
  }, MapControls = class extends OrbitControls {
4145
4145
  constructor(transforms, camera, input, options = {}) {
4146
- super(transforms, camera, input, { screenSpacePanning: false, ...options }), this.rotateButtons = chunkJ4HU2YQB_js.BUTTON_SECONDARY, this.panButtons = chunkJ4HU2YQB_js.BUTTON_PRIMARY;
4146
+ super(transforms, camera, input, { screenSpacePanning: false, ...options }), this.rotateButtons = chunkAQOE6WCG_js.BUTTON_SECONDARY, this.panButtons = chunkAQOE6WCG_js.BUTTON_PRIMARY;
4147
4147
  }
4148
4148
  };
4149
4149
 
@@ -4168,13 +4168,13 @@ var DEFAULT_LOOK_SPEED = Math.PI, DEFAULT_MOVEMENT_SPEED = 5, DEFAULT_MAX_PITCH
4168
4168
  this.scratch = new chunkRCQ2MPBV_js.Vec3();
4169
4169
  this.turn = new chunkRCQ2MPBV_js.Quat();
4170
4170
  this.direction = new chunkRCQ2MPBV_js.Vec3();
4171
- this.pose = new chunkJ4HU2YQB_js.CameraPose(transforms, camera), this.input = input, this.lookSpeed = options.lookSpeed ?? DEFAULT_LOOK_SPEED, this.movementSpeed = options.movementSpeed ?? (5), this.lookMode = options.lookMode ?? "drag", this.lookVertical = options.lookVertical ?? true, this.maxPitch = options.maxPitch ?? DEFAULT_MAX_PITCH, this.aspect = options.aspect ?? chunkJ4HU2YQB_js.DEFAULT_CONTROL_ASPECT, this.axes = new MovementAxes(input, options.actionPrefix ?? "firstPerson", options.keys), chunkJ4HU2YQB_js.yawPitchFrom(this.pose.rotation, this.scratch, this.angles), this.yaw = this.angles[0], this.pitch = this.angles[1];
4171
+ this.pose = new chunkAQOE6WCG_js.CameraPose(transforms, camera), this.input = input, this.lookSpeed = options.lookSpeed ?? DEFAULT_LOOK_SPEED, this.movementSpeed = options.movementSpeed ?? (5), this.lookMode = options.lookMode ?? "drag", this.lookVertical = options.lookVertical ?? true, this.maxPitch = options.maxPitch ?? DEFAULT_MAX_PITCH, this.aspect = options.aspect ?? chunkAQOE6WCG_js.DEFAULT_CONTROL_ASPECT, this.axes = new MovementAxes(input, options.actionPrefix ?? "firstPerson", options.keys), chunkAQOE6WCG_js.yawPitchFrom(this.pose.rotation, this.scratch, this.angles), this.yaw = this.angles[0], this.pitch = this.angles[1];
4172
4172
  }
4173
4173
  setViewport(width, height) {
4174
- this.aspect = height > 0 ? width / height : chunkJ4HU2YQB_js.DEFAULT_CONTROL_ASPECT;
4174
+ this.aspect = height > 0 ? width / height : chunkAQOE6WCG_js.DEFAULT_CONTROL_ASPECT;
4175
4175
  }
4176
4176
  look(yawDelta, pitchDelta) {
4177
- this.yaw += yawDelta, this.lookVertical && (this.pitch = chunkJ4HU2YQB_js.clamp(this.pitch + pitchDelta, -this.maxPitch, this.maxPitch));
4177
+ this.yaw += yawDelta, this.lookVertical && (this.pitch = chunkAQOE6WCG_js.clamp(this.pitch + pitchDelta, -this.maxPitch, this.maxPitch));
4178
4178
  }
4179
4179
  update(dt) {
4180
4180
  if (!this.enabled) return;
@@ -4185,9 +4185,9 @@ var DEFAULT_LOOK_SPEED = Math.PI, DEFAULT_MOVEMENT_SPEED = 5, DEFAULT_MAX_PITCH
4185
4185
  let ox = (input.pointer.x - (0.5)) * (2), oy = (input.pointer.y - (0.5)) * (2);
4186
4186
  this.look(-ox * this.lookSpeed * dt, -oy * this.lookSpeed * dt);
4187
4187
  }
4188
- chunkJ4HU2YQB_js.setYawPitch(pose.rotation, this.yaw, this.pitch, this.turn);
4188
+ chunkAQOE6WCG_js.setYawPitch(pose.rotation, this.yaw, this.pitch, this.turn);
4189
4189
  let step = this.movementSpeed * dt, forward = input.value(this.axes.forward), strafe = input.value(this.axes.strafe), lift = input.value(this.axes.lift);
4190
- forward !== 0 && pose.position.addScaled(pose.forward(this.direction), forward * step), strafe !== 0 && pose.position.addScaled(pose.axis(0, this.direction), strafe * step), lift !== 0 && pose.position.addScaled(chunkJ4HU2YQB_js.UP, lift * step), pose.write();
4190
+ forward !== 0 && pose.position.addScaled(pose.forward(this.direction), forward * step), strafe !== 0 && pose.position.addScaled(pose.axis(0, this.direction), strafe * step), lift !== 0 && pose.position.addScaled(chunkAQOE6WCG_js.UP, lift * step), pose.write();
4191
4191
  }
4192
4192
  dispose() {
4193
4193
  this.enabled = false;
@@ -4202,7 +4202,7 @@ var DEFAULT_LOOK_SPEED = Math.PI, DEFAULT_MOVEMENT_SPEED = 5, DEFAULT_MAX_PITCH
4202
4202
  this.scratch = new chunkRCQ2MPBV_js.Vec3();
4203
4203
  this.turn = new chunkRCQ2MPBV_js.Quat();
4204
4204
  this.direction = new chunkRCQ2MPBV_js.Vec3();
4205
- this.pose = new chunkJ4HU2YQB_js.CameraPose(transforms, camera), this.input = input, this.pointerSpeed = options.pointerSpeed ?? 1, this.minPolarAngle = options.minPolarAngle ?? 0, this.maxPolarAngle = options.maxPolarAngle ?? Math.PI, this.movementSpeed = options.movementSpeed ?? 0, this.axes = new MovementAxes(input, options.actionPrefix ?? "pointerLock", options.keys), chunkJ4HU2YQB_js.yawPitchFrom(this.pose.rotation, this.scratch, this.angles), this.yaw = this.angles[0], this.pitch = this.angles[1];
4205
+ this.pose = new chunkAQOE6WCG_js.CameraPose(transforms, camera), this.input = input, this.pointerSpeed = options.pointerSpeed ?? 1, this.minPolarAngle = options.minPolarAngle ?? 0, this.maxPolarAngle = options.maxPolarAngle ?? Math.PI, this.movementSpeed = options.movementSpeed ?? 0, this.axes = new MovementAxes(input, options.actionPrefix ?? "pointerLock", options.keys), chunkAQOE6WCG_js.yawPitchFrom(this.pose.rotation, this.scratch, this.angles), this.yaw = this.angles[0], this.pitch = this.angles[1];
4206
4206
  }
4207
4207
  async lock(target) {
4208
4208
  return this.locked = await chunkYRDQCCIS_js.requestPointerLock(target), this.locked;
@@ -4231,11 +4231,11 @@ var DEFAULT_LOOK_SPEED = Math.PI, DEFAULT_MOVEMENT_SPEED = 5, DEFAULT_MAX_PITCH
4231
4231
  let k = (2e-3) * this.pointerSpeed;
4232
4232
  this.yaw -= input.frame.motion.x * k;
4233
4233
  let pitch = this.pitch - input.frame.motion.y * k;
4234
- this.pitch = chunkJ4HU2YQB_js.clamp(pitch, HALF_PI - this.maxPolarAngle, HALF_PI - this.minPolarAngle);
4234
+ this.pitch = chunkAQOE6WCG_js.clamp(pitch, HALF_PI - this.maxPolarAngle, HALF_PI - this.minPolarAngle);
4235
4235
  }
4236
- if (chunkJ4HU2YQB_js.setYawPitch(pose.rotation, this.yaw, this.pitch, this.turn), this.movementSpeed > 0) {
4236
+ if (chunkAQOE6WCG_js.setYawPitch(pose.rotation, this.yaw, this.pitch, this.turn), this.movementSpeed > 0) {
4237
4237
  let step = this.movementSpeed * dt, forward = input.value(this.axes.forward), strafe = input.value(this.axes.strafe), lift = input.value(this.axes.lift);
4238
- forward !== 0 && this.shiftForward(forward * step), strafe !== 0 && this.shiftRight(strafe * step), lift !== 0 && pose.position.addScaled(chunkJ4HU2YQB_js.UP, lift * step);
4238
+ forward !== 0 && this.shiftForward(forward * step), strafe !== 0 && this.shiftRight(strafe * step), lift !== 0 && pose.position.addScaled(chunkAQOE6WCG_js.UP, lift * step);
4239
4239
  }
4240
4240
  pose.write();
4241
4241
  }
@@ -4257,12 +4257,12 @@ var DEFAULT_MOVEMENT_SPEED2 = 5, DEFAULT_ROLL_SPEED = 0.8, DEFAULT_DRAG_SPEED =
4257
4257
  this.enabled = true;
4258
4258
  this.move = new chunkRCQ2MPBV_js.Vec3();
4259
4259
  this.delta = new chunkRCQ2MPBV_js.Quat();
4260
- this.pose = new chunkJ4HU2YQB_js.CameraPose(transforms, camera), this.input = input, this.movementSpeed = options.movementSpeed ?? (5), this.rollSpeed = options.rollSpeed ?? (0.8), this.dragToLook = options.dragToLook ?? true, this.dragSpeed = options.dragSpeed ?? DEFAULT_DRAG_SPEED, this.aspect = options.aspect ?? chunkJ4HU2YQB_js.DEFAULT_CONTROL_ASPECT;
4260
+ this.pose = new chunkAQOE6WCG_js.CameraPose(transforms, camera), this.input = input, this.movementSpeed = options.movementSpeed ?? (5), this.rollSpeed = options.rollSpeed ?? (0.8), this.dragToLook = options.dragToLook ?? true, this.dragSpeed = options.dragSpeed ?? DEFAULT_DRAG_SPEED, this.aspect = options.aspect ?? chunkAQOE6WCG_js.DEFAULT_CONTROL_ASPECT;
4261
4261
  let prefix = options.actionPrefix ?? "fly", r = options.rotationKeys ?? DEFAULT_FLY_ROTATION_KEYS;
4262
4262
  this.axes = new MovementAxes(input, prefix, options.keys ?? DEFAULT_MOVEMENT_KEYS), this.pitchAxis = input.axisAction(`${prefix}.pitch`, r.pitchDown, r.pitchUp), this.yawAxis = input.axisAction(`${prefix}.yaw`, r.yawRight, r.yawLeft), this.rollAxis = input.axisAction(`${prefix}.roll`, r.rollRight, r.rollLeft);
4263
4263
  }
4264
4264
  setViewport(width, height) {
4265
- this.aspect = height > 0 ? width / height : chunkJ4HU2YQB_js.DEFAULT_CONTROL_ASPECT;
4265
+ this.aspect = height > 0 ? width / height : chunkAQOE6WCG_js.DEFAULT_CONTROL_ASPECT;
4266
4266
  }
4267
4267
  rotate(pitch, yaw, roll) {
4268
4268
  this.delta.set(pitch * 0.5, yaw * 0.5, roll * 0.5, 1).normalize(), this.pose.rotation.multiply(this.pose.rotation, this.delta).normalize();
@@ -4285,9 +4285,9 @@ var DEFAULT_MOVEMENT_SPEED2 = 5, DEFAULT_ROLL_SPEED = 0.8, DEFAULT_DRAG_SPEED =
4285
4285
  var DEFAULT_ROTATE_SPEED = 1, DEFAULT_ZOOM_SPEED = 1.2, DEFAULT_PAN_SPEED = 0.3, DEFAULT_DYNAMIC_DAMPING = 0.2, WHEEL_ZOOM_SCALE2 = 25e-4, SCREEN_SPAN = 2, MIN_ANGLE = 1e-7, TrackballControls = class {
4286
4286
  constructor(transforms, camera, input, options = {}) {
4287
4287
  this.enabled = true;
4288
- this.rotateButtons = chunkJ4HU2YQB_js.BUTTON_PRIMARY;
4289
- this.zoomButtons = chunkJ4HU2YQB_js.BUTTON_MIDDLE;
4290
- this.panButtons = chunkJ4HU2YQB_js.BUTTON_SECONDARY;
4288
+ this.rotateButtons = chunkAQOE6WCG_js.BUTTON_PRIMARY;
4289
+ this.zoomButtons = chunkAQOE6WCG_js.BUTTON_MIDDLE;
4290
+ this.panButtons = chunkAQOE6WCG_js.BUTTON_SECONDARY;
4291
4291
  this.target = new chunkRCQ2MPBV_js.Vec3();
4292
4292
  this.up = new chunkRCQ2MPBV_js.Vec3(0, 1, 0);
4293
4293
  this.eye = new chunkRCQ2MPBV_js.Vec3();
@@ -4303,12 +4303,12 @@ var DEFAULT_ROTATE_SPEED = 1, DEFAULT_ZOOM_SPEED = 1.2, DEFAULT_PAN_SPEED = 0.3,
4303
4303
  this.lastAngle = 0;
4304
4304
  this.pendingX = 0;
4305
4305
  this.pendingY = 0;
4306
- this.pose = new chunkJ4HU2YQB_js.CameraPose(transforms, camera), this.input = input, this.rotateSpeed = options.rotateSpeed ?? (1), this.zoomSpeed = options.zoomSpeed ?? (1.2), this.panSpeed = options.panSpeed ?? (0.3), this.staticMoving = options.staticMoving ?? false, this.dynamicDampingFactor = options.dynamicDampingFactor ?? (0.2), this.minDistance = options.minDistance ?? 0, this.maxDistance = options.maxDistance ?? 1 / 0, this.aspect = options.aspect ?? chunkJ4HU2YQB_js.DEFAULT_CONTROL_ASPECT;
4306
+ this.pose = new chunkAQOE6WCG_js.CameraPose(transforms, camera), this.input = input, this.rotateSpeed = options.rotateSpeed ?? (1), this.zoomSpeed = options.zoomSpeed ?? (1.2), this.panSpeed = options.panSpeed ?? (0.3), this.staticMoving = options.staticMoving ?? false, this.dynamicDampingFactor = options.dynamicDampingFactor ?? (0.2), this.minDistance = options.minDistance ?? 0, this.maxDistance = options.maxDistance ?? 1 / 0, this.aspect = options.aspect ?? chunkAQOE6WCG_js.DEFAULT_CONTROL_ASPECT;
4307
4307
  let t = options.target;
4308
4308
  t && this.target.set(t[0], t[1], t[2]), this.pose.axis(1, this.up);
4309
4309
  }
4310
4310
  setViewport(width, height) {
4311
- this.aspect = height > 0 ? width / height : chunkJ4HU2YQB_js.DEFAULT_CONTROL_ASPECT;
4311
+ this.aspect = height > 0 ? width / height : chunkAQOE6WCG_js.DEFAULT_CONTROL_ASPECT;
4312
4312
  }
4313
4313
  rotate(dx, dy) {
4314
4314
  this.pendingX += dx, this.pendingY += dy;
@@ -4334,8 +4334,8 @@ var DEFAULT_ROTATE_SPEED = 1, DEFAULT_ZOOM_SPEED = 1.2, DEFAULT_PAN_SPEED = 0.3,
4334
4334
  let dx = frame.drag.x * (2) * this.aspect, dy = -frame.drag.y * (2), buttons = frame.dragButtons(input.pointer);
4335
4335
  (buttons & this.rotateButtons) !== 0 ? (this.pendingX += dx, this.pendingY += dy) : (buttons & this.panButtons) !== 0 ? this.panBy(frame.drag.x, frame.drag.y) : (buttons & this.zoomButtons) !== 0 && this.zoom(1 + frame.drag.y * this.zoomSpeed);
4336
4336
  }
4337
- frame.wheel.deltaY !== 0 && this.zoom(1 + frame.wheel.deltaY * (25e-4) * this.zoomSpeed), (this.pendingX !== 0 || this.pendingY !== 0) && (this.turnBy(this.pendingX, this.pendingY), this.pendingX = 0, this.pendingY = 0, rotated = true), !rotated && !this.staticMoving && this.lastAngle > (1e-7) ? (this.lastAngle *= Math.sqrt(1 - chunkJ4HU2YQB_js.frameDamping(this.dynamicDampingFactor, dt)), this.turn.setAxisAngle(this.lastAxis, this.lastAngle), this.eye.applyQuat(this.turn), this.up.applyQuat(this.turn)) : rotated || (this.lastAngle = 0);
4338
- let length = this.eye.length(), clamped = chunkJ4HU2YQB_js.clamp(length, this.minDistance, this.maxDistance);
4337
+ frame.wheel.deltaY !== 0 && this.zoom(1 + frame.wheel.deltaY * (25e-4) * this.zoomSpeed), (this.pendingX !== 0 || this.pendingY !== 0) && (this.turnBy(this.pendingX, this.pendingY), this.pendingX = 0, this.pendingY = 0, rotated = true), !rotated && !this.staticMoving && this.lastAngle > (1e-7) ? (this.lastAngle *= Math.sqrt(1 - chunkAQOE6WCG_js.frameDamping(this.dynamicDampingFactor, dt)), this.turn.setAxisAngle(this.lastAxis, this.lastAngle), this.eye.applyQuat(this.turn), this.up.applyQuat(this.turn)) : rotated || (this.lastAngle = 0);
4338
+ let length = this.eye.length(), clamped = chunkAQOE6WCG_js.clamp(length, this.minDistance, this.maxDistance);
4339
4339
  length > 0 && clamped !== length && this.eye.scale(clamped / length), pose.position.addVectors(this.target, this.eye), this.scratch.copy(this.eye).negate(), pose.rotation.lookRotation(this.scratch.x, this.scratch.y, this.scratch.z, this.up.x, this.up.y, this.up.z), pose.write();
4340
4340
  }
4341
4341
  dispose() {
@@ -4343,7 +4343,7 @@ var DEFAULT_ROTATE_SPEED = 1, DEFAULT_ZOOM_SPEED = 1.2, DEFAULT_PAN_SPEED = 0.3,
4343
4343
  }
4344
4344
  panBy(nx, ny) {
4345
4345
  let distance = this.eye.length() * this.panSpeed * (2);
4346
- this.pose.axis(0, this.sideways), this.pan.copy(this.sideways).scale(-nx * this.aspect * distance), this.upDirection.copy(this.up).normalize(), this.upDirection.lengthSq() === 0 && this.upDirection.copy(chunkJ4HU2YQB_js.UP), this.pan.addScaled(this.upDirection, ny * distance), this.target.add(this.pan);
4346
+ this.pose.axis(0, this.sideways), this.pan.copy(this.sideways).scale(-nx * this.aspect * distance), this.upDirection.copy(this.up).normalize(), this.upDirection.lengthSq() === 0 && this.upDirection.copy(chunkAQOE6WCG_js.UP), this.pan.addScaled(this.upDirection, ny * distance), this.target.add(this.pan);
4347
4347
  }
4348
4348
  };
4349
4349
 
@@ -4356,8 +4356,8 @@ var VEC3 = 3, DragControls = class {
4356
4356
  this.dragStarted = false;
4357
4357
  this.dragEnded = false;
4358
4358
  this.hit = chunkIIDZ5WUX_js.createPickHit();
4359
- this.ray = new chunkDXZZ27CV_js.Ray();
4360
- this.plane = new chunkDXZZ27CV_js.Plane();
4359
+ this.ray = new chunkRKBLPGPV_js.Ray();
4360
+ this.plane = new chunkRKBLPGPV_js.Plane();
4361
4361
  this.offset = new chunkRCQ2MPBV_js.Vec3();
4362
4362
  this.point = new chunkRCQ2MPBV_js.Vec3();
4363
4363
  this.position = new chunkRCQ2MPBV_js.Vec3();
@@ -4408,7 +4408,7 @@ var GyroLookControls = class {
4408
4408
  this.scratch = new chunkRCQ2MPBV_js.Quat();
4409
4409
  this.base = new chunkRCQ2MPBV_js.Quat();
4410
4410
  this.settled = false;
4411
- this.pose = new chunkJ4HU2YQB_js.CameraPose(transforms, camera), this.input = input, this.alphaOffset = options.alphaOffset ?? 0, this.smoothing = options.smoothing ?? 0, this.screenOrientation = options.screenOrientation ?? 0;
4411
+ this.pose = new chunkAQOE6WCG_js.CameraPose(transforms, camera), this.input = input, this.alphaOffset = options.alphaOffset ?? 0, this.smoothing = options.smoothing ?? 0, this.screenOrientation = options.screenOrientation ?? 0;
4412
4412
  }
4413
4413
  setYawOffset(radians) {
4414
4414
  this.base.setAxisAngle(Y_AXIS, radians);
@@ -4419,12 +4419,12 @@ var GyroLookControls = class {
4419
4419
  let pose = this.pose;
4420
4420
  pose.read(), deviceQuaternion(
4421
4421
  this.goal,
4422
- o.alpha * chunkJ4HU2YQB_js.DEGREES_TO_RADIANS + this.alphaOffset,
4423
- o.beta * chunkJ4HU2YQB_js.DEGREES_TO_RADIANS,
4424
- o.gamma * chunkJ4HU2YQB_js.DEGREES_TO_RADIANS,
4425
- this.screenOrientation * chunkJ4HU2YQB_js.DEGREES_TO_RADIANS,
4422
+ o.alpha * chunkAQOE6WCG_js.DEGREES_TO_RADIANS + this.alphaOffset,
4423
+ o.beta * chunkAQOE6WCG_js.DEGREES_TO_RADIANS,
4424
+ o.gamma * chunkAQOE6WCG_js.DEGREES_TO_RADIANS,
4425
+ this.screenOrientation * chunkAQOE6WCG_js.DEGREES_TO_RADIANS,
4426
4426
  this.scratch
4427
- ), this.goal.premultiply(this.base), this.smoothing > 0 && this.settled ? pose.rotation.slerp(pose.rotation, this.goal, chunkJ4HU2YQB_js.frameDamping(1 - this.smoothing, dt)) : pose.rotation.copy(this.goal), this.settled = true, pose.write();
4427
+ ), this.goal.premultiply(this.base), this.smoothing > 0 && this.settled ? pose.rotation.slerp(pose.rotation, this.goal, chunkAQOE6WCG_js.frameDamping(1 - this.smoothing, dt)) : pose.rotation.copy(this.goal), this.settled = true, pose.write();
4428
4428
  }
4429
4429
  dispose() {
4430
4430
  this.enabled = false;
@@ -4497,7 +4497,7 @@ var ANY_STATE = "any", NO_STATE = -1, GRAPH_CURRENT = 0, GRAPH_PREVIOUS = 1, GRA
4497
4497
  let listed = [];
4498
4498
  for (let s = 0; s < n; s++) this.nodeKind[s] === (0) && listed.push(this.nodeAction[s]);
4499
4499
  for (let a of def.eventActions ?? []) listed.push(a);
4500
- this.eventActions = Float64Array.from(listed), this.ownsEvents = !def.events, this.reader = def.events ?? new chunkHPKKCUHU_js.ClipEventReader(), this.enterListeners = states.map(() => []), this.exitListeners = states.map(() => []), this.eventListeners = clipEvents.map(() => []);
4500
+ this.eventActions = Float64Array.from(listed), this.ownsEvents = !def.events, this.reader = def.events ?? new chunk52YS45RR_js.ClipEventReader(), this.enterListeners = states.map(() => []), this.exitListeners = states.map(() => []), this.eventListeners = clipEvents.map(() => []);
4501
4501
  let entry = def.entry === void 0 ? 0 : this.stateIndex(def.entry), g = this.state;
4502
4502
  g[(0)] = entry, g[(1)] = (-1), g[(2)] = (-1), g[(6)] = Number.NEGATIVE_INFINITY, states.forEach((s, i) => {
4503
4503
  let weight = i === entry ? (1) : (0);
@@ -4583,7 +4583,7 @@ var ANY_STATE = "any", NO_STATE = -1, GRAPH_CURRENT = 0, GRAPH_PREVIOUS = 1, GRA
4583
4583
  if (ids.length !== 0)
4584
4584
  for (let i = 0; i < count; i++) {
4585
4585
  let e = events[i];
4586
- if (!(e.kind !== EVENT_KIND || !chunkHPKKCUHU_js.actionListed(this.eventActions, e.action)))
4586
+ if (!(e.kind !== EVENT_KIND || !chunk52YS45RR_js.actionListed(this.eventActions, e.action)))
4587
4587
  for (let k = 0; k < ids.length; k++) {
4588
4588
  if (ids[k] !== e.id) continue;
4589
4589
  let listeners = this.eventListeners[k];
@@ -4962,7 +4962,7 @@ function rgb(color) {
4962
4962
  ];
4963
4963
  }
4964
4964
  function materialJson(id) {
4965
- let material = chunkJ4HU2YQB_js.thingMaterial(id), [r, g, b] = rgb(material.look.color), json = {
4965
+ let material = chunkAQOE6WCG_js.thingMaterial(id), [r, g, b] = rgb(material.look.color), json = {
4966
4966
  name: material.label,
4967
4967
  pbrMetallicRoughness: {
4968
4968
  baseColorFactor: [r, g, b, material.look.opacity],
@@ -5143,7 +5143,7 @@ var ThingEffects = class {
5143
5143
  let count = effects.length;
5144
5144
  this.running = new Uint8Array(count), this.offsets = new Float64Array(count * 3), this.starts = new Float64Array(count), this.ends = new Float64Array(count), this.live = [];
5145
5145
  let waiting = [];
5146
- game.backend.smoke != null && effects.filter((effect2) => burns(effect2.kind)).length <= chunkEPYFN2A3_js.SMOKE_MAX_EMITTERS && effects.some((effect2) => burns(effect2.kind)) && this.openSmoke(), effects.some((effect2) => effect2.kind === "water") && game.backend.fluids != null && this.openFluid();
5146
+ game.backend.smoke != null && effects.filter((effect2) => burns(effect2.kind)).length <= chunk7AAIAVAA_js.SMOKE_MAX_EMITTERS && effects.some((effect2) => burns(effect2.kind)) && this.openSmoke(), effects.some((effect2) => effect2.kind === "water") && game.backend.fluids != null && this.openFluid();
5147
5147
  for (let i = 0; i < count; i++) {
5148
5148
  let effect2 = effects[i];
5149
5149
  this.offsets[i * 3] = effect2.at[0], this.offsets[i * 3 + 1] = effect2.at[1], this.offsets[i * 3 + 2] = effect2.at[2];
@@ -5172,7 +5172,7 @@ var ThingEffects = class {
5172
5172
  if (live === null || live.kind !== "spray") continue;
5173
5173
  this.place(i);
5174
5174
  let origin = live.spray.origin;
5175
- origin[chunkQDLMIHUH_js.ORIGIN_X] = this.at.x, origin[chunkQDLMIHUH_js.ORIGIN_Y] = this.at.y, origin[chunkQDLMIHUH_js.ORIGIN_Z] = this.at.z, origin[chunkQDLMIHUH_js.ORIGIN_QX] = this.rotation.x, origin[chunkQDLMIHUH_js.ORIGIN_QY] = this.rotation.y, origin[chunkQDLMIHUH_js.ORIGIN_QZ] = this.rotation.z, origin[chunkQDLMIHUH_js.ORIGIN_QW] = this.rotation.w, live.spray.update(game.clock, chunkYXGZQPUD_js.FRAME_SECONDS_SLOT, this.options.camera);
5175
+ origin[chunkGDB6TCSD_js.ORIGIN_X] = this.at.x, origin[chunkGDB6TCSD_js.ORIGIN_Y] = this.at.y, origin[chunkGDB6TCSD_js.ORIGIN_Z] = this.at.z, origin[chunkGDB6TCSD_js.ORIGIN_QX] = this.rotation.x, origin[chunkGDB6TCSD_js.ORIGIN_QY] = this.rotation.y, origin[chunkGDB6TCSD_js.ORIGIN_QZ] = this.rotation.z, origin[chunkGDB6TCSD_js.ORIGIN_QW] = this.rotation.w, live.spray.update(game.clock, chunkYXGZQPUD_js.FRAME_SECONDS_SLOT, this.options.camera);
5176
5176
  }
5177
5177
  }
5178
5178
  dispose() {
@@ -5224,7 +5224,7 @@ var ThingEffects = class {
5224
5224
  let desc = particleDesc(effect2);
5225
5225
  return desc === null ? null : {
5226
5226
  kind: "spray",
5227
- spray: new chunkQDLMIHUH_js.Spray(this.game, { emitter: { ...desc, rate: 0 }, material: PARTICLE_MATERIAL }),
5227
+ spray: new chunkGDB6TCSD_js.Spray(this.game, { emitter: { ...desc, rate: 0 }, material: PARTICLE_MATERIAL }),
5228
5228
  rate: desc.rate ?? 0,
5229
5229
  burst
5230
5230
  };
@@ -5247,7 +5247,7 @@ var ThingEffects = class {
5247
5247
  cells: [(16), (32), (16)]
5248
5248
  };
5249
5249
  this.medium = this.game.graphics.mediaVolume(
5250
- chunkDJUUL67Z_js.smokeMediumDesc(grid, {
5250
+ chunk7KFTYENS_js.smokeMediumDesc(grid, {
5251
5251
  emission: (6),
5252
5252
  extinction: (9),
5253
5253
  albedo: SMOKE_ALBEDO
@@ -5285,7 +5285,7 @@ var ThingEffects = class {
5285
5285
  if (live !== null)
5286
5286
  switch (live.kind) {
5287
5287
  case "spray":
5288
- live.burst > 0 && (this.place(index), live.spray.origin[chunkQDLMIHUH_js.ORIGIN_X] = this.at.x, live.spray.origin[chunkQDLMIHUH_js.ORIGIN_Y] = this.at.y, live.spray.origin[chunkQDLMIHUH_js.ORIGIN_Z] = this.at.z, live.spray.burst(live.burst)), live.rate > 0 && live.spray.rate(live.rate);
5288
+ live.burst > 0 && (this.place(index), live.spray.origin[chunkGDB6TCSD_js.ORIGIN_X] = this.at.x, live.spray.origin[chunkGDB6TCSD_js.ORIGIN_Y] = this.at.y, live.spray.origin[chunkGDB6TCSD_js.ORIGIN_Z] = this.at.z, live.spray.burst(live.burst)), live.rate > 0 && live.spray.rate(live.rate);
5289
5289
  return;
5290
5290
  case "smoke":
5291
5291
  this.smokeDirty = true;
@@ -5401,7 +5401,7 @@ function modelCost(kind) {
5401
5401
  middle: propTriangles(recipe, "middle"),
5402
5402
  far: propTriangles(recipe, "far")
5403
5403
  },
5404
- cost: chunkJ4HU2YQB_js.phoneCost(close, 0)
5404
+ cost: chunkAQOE6WCG_js.phoneCost(close, 0)
5405
5405
  };
5406
5406
  }
5407
5407
  function kindsWithoutModels() {
@@ -5626,7 +5626,7 @@ var PLACE_VIEWER_SET = "world.set", PLACE_VIEWER_CAMERA = "world.camera", EYE_HE
5626
5626
  let game = this.game;
5627
5627
  if (game === null) return;
5628
5628
  this.clear();
5629
- let { doc, tier } = shown, built = chunkJ4HU2YQB_js.buildWorld(doc, this.catalogue);
5629
+ let { doc, tier } = shown, built = chunkAQOE6WCG_js.buildWorld(doc, this.catalogue);
5630
5630
  this.solid(
5631
5631
  "ground",
5632
5632
  doc.size[0] / 2,
@@ -5654,7 +5654,7 @@ var PLACE_VIEWER_SET = "world.set", PLACE_VIEWER_CAMERA = "world.camera", EYE_HE
5654
5654
  for (let building of doc.buildings) this.placed("building", building);
5655
5655
  for (let item of built.placements)
5656
5656
  doc.buildings.includes(item) || this.placed("prop", item);
5657
- let people = chunkJ4HU2YQB_js.peopleForTier(built, doc, tier);
5657
+ let people = chunkAQOE6WCG_js.peopleForTier(built, doc, tier);
5658
5658
  this.peopleShown = people.length;
5659
5659
  for (let person of people) {
5660
5660
  if (this.character !== null) {
@@ -6083,11 +6083,11 @@ var LivePlayer = class {
6083
6083
  this.meterShown = -1;
6084
6084
  this.started = false;
6085
6085
  this.lastTick = 0;
6086
- this.music = new AdaptiveMusic(conductor, doc.music, sounds), this.cheer = new chunkJ4HU2YQB_js.CheerMeter(doc.crowd.cheer), this.votes = [];
6086
+ this.music = new AdaptiveMusic(conductor, doc.music, sounds), this.cheer = new chunkAQOE6WCG_js.CheerMeter(doc.crowd.cheer), this.votes = [];
6087
6087
  for (let vote of doc.crowd.votes) {
6088
6088
  let poll;
6089
6089
  try {
6090
- poll = new chunkJ4HU2YQB_js.VotePoll(vote, stepsPerSecond);
6090
+ poll = new chunkAQOE6WCG_js.VotePoll(vote, stepsPerSecond);
6091
6091
  } catch {
6092
6092
  continue;
6093
6093
  }
@@ -6115,13 +6115,13 @@ var LivePlayer = class {
6115
6115
  }
6116
6116
  moment(name, tick) {
6117
6117
  this.music.moment(name);
6118
- for (let index of chunkJ4HU2YQB_js.votesOpenedBy(this.doc.crowd, name)) {
6118
+ for (let index of chunkAQOE6WCG_js.votesOpenedBy(this.doc.crowd, name)) {
6119
6119
  let view = this.votes.find((entry) => entry.poll.vote === this.doc.crowd.votes[index]);
6120
6120
  view !== void 0 && !view.poll.isOpen(tick) && view.poll.open(tick);
6121
6121
  }
6122
6122
  }
6123
6123
  gift(gift, tick = this.lastTick) {
6124
- let moments = chunkJ4HU2YQB_js.giftMoments(this.doc.crowd, gift);
6124
+ let moments = chunkAQOE6WCG_js.giftMoments(this.doc.crowd, gift);
6125
6125
  if (moments.length === 0) return 0;
6126
6126
  let key = giftKey(gift), count = this.state.read(key);
6127
6127
  this.state.set(key, (typeof count == "number" ? count : 0) + 1);
@@ -6155,7 +6155,7 @@ var LivePlayer = class {
6155
6155
  let open = view.poll.isOpen(tick);
6156
6156
  this.state.set(view.openKey, open), this.state.set(view.secondsKey, open ? view.poll.remaining(tick) : 0);
6157
6157
  let winner = view.poll.winner();
6158
- this.state.set(view.winnerKey, winner === chunkJ4HU2YQB_js.NO_VOTE_WINNER ? "" : view.poll.vote.choices[winner]);
6158
+ this.state.set(view.winnerKey, winner === chunkAQOE6WCG_js.NO_VOTE_WINNER ? "" : view.poll.vote.choices[winner]);
6159
6159
  for (let i = 0; i < view.shareKeys.length; i++) {
6160
6160
  let share = view.poll.share(i);
6161
6161
  this.state.set(view.shareKeys[i], share), Math.abs(share - view.shown[i]) >= (0.01) && (view.shown[i] = share, view.shares[i]?.text(`${Math.round(share * (100))}%`));