@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,9 +1,9 @@
1
- import { thirdPersonCharacter, TOUCH_CONTROLS } from './chunk-AEEF3T2E.mjs';
1
+ import { thirdPersonCharacter, TOUCH_CONTROLS } from './chunk-ZCY6YKKP.mjs';
2
2
  import { KitError } from './chunk-4DYKAYFO.mjs';
3
3
  import { BoxBatch } from './chunk-QDYFLATW.mjs';
4
- import { digestFloats, templateFrameStamp } from './chunk-KVZSYGTX.mjs';
5
- import { FOLLOW_YAW, CHAR_SPEED } from './chunk-WXDVEXTW.mjs';
6
- import { CENTERED_MAX_EXTENT, CENTERED_FIXED_UNITS, STAGE_X, STAGE_TIME } from './chunk-HF2MZKP2.mjs';
4
+ import { digestFloats, templateFrameStamp } from './chunk-KGHJH5KJ.mjs';
5
+ import { FOLLOW_YAW, CHAR_SPEED } from './chunk-ECDK6QBF.mjs';
6
+ import { CENTERED_MAX_EXTENT, CENTERED_FIXED_UNITS, STAGE_X, STAGE_TIME } from './chunk-22BD3RHN.mjs';
7
7
  import { __export } from './chunk-25T4JHEA.mjs';
8
8
 
9
9
  // src/game/kit/blocks/pickups.ts
@@ -1,9 +1,9 @@
1
1
  import { Animation } from './chunk-KDTVOLHI.mjs';
2
2
  import { GameNet } from './chunk-RM2V4IND.mjs';
3
- import { SeededRandom, setLoopEngine, loopEngineOf, crumpleDesc, StreamPredictor, drainSource, InputActions, SoftBodies, Cloths } from './chunk-HF2MZKP2.mjs';
4
- import { defineComponent, ComponentStore, Graphics, GameMeters } from './chunk-S75PBSSL.mjs';
5
- import { PrefetchLayer } from './chunk-6YVELDFK.mjs';
6
- import { PlainSpawns, NativeKernels, reportSpawns, BUILTIN_INPUTS, DEFAULT_EXTENTS, WATER_SAMPLE_WORDS, seaDesc, WaterSample, VEHICLE_DESC_WORDS, checkColliderClass, NO_CONTACT_RULE, encodeVehicleDesc, Vehicle, TableSpawns, MAX_CORNERS, mix, mixWith, sampleCurve, TAU, PI, wrapAngle, validateCurve, Water, STORY_MAX_INPUTS, STORY_INPUT_WORDS, STORY_VARIABLES, STORY_TEXT_VARIABLE, STORY_NONE, STORY_EVENT_COUNT, STORY_EVENT_RULE, STORY_EVENT_FINISHED, STORY_EVENT_KEY, STORY_EVENT_LOGIC, STORY_EVENT_REFUSED, STORY_EVENT_TAKEN, STORY_EVENT_OFFERED, STORY_EVENT_ENTERED, STORY_INPUT_CHOOSE, STORY_INPUT_INTERACT, STORY_INPUT_GIFT, STORY_TEXT_CHOICE, STORY_TEXT_BEAT, STORY_TEXT_SCENE, STORY_TEXT_ACTOR, STORY_TEXT_KEY, STORY_TEXT_RULE, STORY_TEXT_ACTION, STORY_ID_TRACK, STORY_SAMPLE_COUNT, STORY_BEAT, STORY_SCENE, STORY_BEAT_TICK, STORY_SCENE_TICK, STORY_SCENE_LENGTH, STORY_TICK_RATE, STORY_FLAGS, STORY_STARTED, STORY_FINISHED, STORY_DIGEST, sinCos, Basis, atan2, AIR_DENSITY, STORY_PERSIST_SHIFT, STORY_TYPE_MASK, STORY_EVENT_WORDS, STORY_SAMPLE_WORDS } from './chunk-765P2G7G.mjs';
3
+ import { SeededRandom, setLoopEngine, loopEngineOf, crumpleDesc, StreamPredictor, drainSource, InputActions, SoftBodies, Cloths } from './chunk-22BD3RHN.mjs';
4
+ import { defineComponent, ComponentStore, Graphics, GameMeters } from './chunk-ME6HGG4I.mjs';
5
+ import { PrefetchLayer } from './chunk-5BYDGGWO.mjs';
6
+ import { PlainSpawns, NativeKernels, reportSpawns, BUILTIN_INPUTS, DEFAULT_EXTENTS, WATER_SAMPLE_WORDS, seaDesc, WaterSample, VEHICLE_DESC_WORDS, checkColliderClass, NO_CONTACT_RULE, encodeVehicleDesc, Vehicle, TableSpawns, MAX_CORNERS, mix, mixWith, sampleCurve, TAU, PI, wrapAngle, validateCurve, Water, STORY_MAX_INPUTS, STORY_INPUT_WORDS, STORY_VARIABLES, STORY_TEXT_VARIABLE, STORY_NONE, STORY_EVENT_COUNT, STORY_EVENT_RULE, STORY_EVENT_FINISHED, STORY_EVENT_KEY, STORY_EVENT_LOGIC, STORY_EVENT_REFUSED, STORY_EVENT_TAKEN, STORY_EVENT_OFFERED, STORY_EVENT_ENTERED, STORY_INPUT_CHOOSE, STORY_INPUT_INTERACT, STORY_INPUT_GIFT, STORY_TEXT_CHOICE, STORY_TEXT_BEAT, STORY_TEXT_SCENE, STORY_TEXT_ACTOR, STORY_TEXT_KEY, STORY_TEXT_RULE, STORY_TEXT_ACTION, STORY_ID_TRACK, STORY_SAMPLE_COUNT, STORY_BEAT, STORY_SCENE, STORY_BEAT_TICK, STORY_SCENE_TICK, STORY_SCENE_LENGTH, STORY_TICK_RATE, STORY_FLAGS, STORY_STARTED, STORY_FINISHED, STORY_DIGEST, sinCos, Basis, atan2, AIR_DENSITY, STORY_PERSIST_SHIFT, STORY_TYPE_MASK, STORY_EVENT_WORDS, STORY_SAMPLE_WORDS } from './chunk-RUVGVNOF.mjs';
7
7
  import { RayQuery, RayHit, DEFAULT_SOLVER_ITERATIONS, DEFAULT_PGS_ITERATIONS, DEFAULT_CCD_SUBSTEPS, DEFAULT_SLEEP_LINEAR, DEFAULT_SLEEP_ANGULAR, DEFAULT_SLEEP_SECONDS, MAX_SOLVER_ITERATIONS, MAX_PGS_ITERATIONS, MAX_CCD_SUBSTEPS } from './chunk-HF5HPS4T.mjs';
8
8
  import { strideFor, columnBytes, ShapeCastQuery, bindSoaEngine, Vec3, Quat, kindBytes } from './chunk-XPG3N5CF.mjs';
9
9
  import { HEAP_MEMORY } from './chunk-7SXOHAIR.mjs';
@@ -11,17 +11,17 @@ import { EntityRegistry, entityIndex, NO_ENTITY } from './chunk-T3AFF3L7.mjs';
11
11
  import { createPickHit } from './chunk-TL2SVO4P.mjs';
12
12
  import { FRAME_STEP_SECONDS_SLOT, FRAME_TICK_SLOT, FRAME_SECONDS_SLOT, FixedStepLoop, FRAME_ALPHA_SLOT, FRAME_NOW_MS_SLOT } from './chunk-IDLW4NWA.mjs';
13
13
  import { inspectSceneSwitch, inspectSceneEntered, inspectScene } from './chunk-73SGZLAQ.mjs';
14
- import { NO_FIELDS, CPU_BACKENDS, emptyEstimate, GpuKernels, KernelRouter, fillSetEstimate, hostEngine, SET_ROW_BOUND, KERNEL_TABLE_PREFIX, KERNEL_ARRAY_PREFIX, kernelArrayNamed } from './chunk-5IRV36MS.mjs';
14
+ import { NO_FIELDS, CPU_BACKENDS, emptyEstimate, GpuKernels, KernelRouter, fillSetEstimate, hostEngine, SET_ROW_BOUND, KERNEL_TABLE_PREFIX, KERNEL_ARRAY_PREFIX, kernelArrayNamed } from './chunk-EIB4OWVQ.mjs';
15
15
  import { setLockstepKernelHost } from './chunk-PBL6YL5L.mjs';
16
- import { transformEngine, EngineBuffer, analyserSettings, emitRow, KERNEL_PRIORITIES, ComputeMonitor, priorityLevel, hasData, STREAM_EYE_FLOATS, STREAM_COLLIDER_FLOATS, STREAM_ACTOR_FLOATS, STREAM_PRIORITY_NOW, STREAM_PRIORITY_SOON, STREAM_START_PACK, STREAM_PACK_REQUESTS, STREAM_MAX_PACK_REQUESTS, STREAM_REQUEST_LIST, STREAM_PACK_MASK, STREAM_PRIORITY_SHIFT, STREAM_PACK_RELEASES, STREAM_MAX_PACK_RELEASES, STREAM_RELEASE_LIST, STREAM_PACK_CONTENDED, STREAM_OP_INSERT, TIER_INDEX, STREAM_LAZY_PACKS_FLAG, FLUID_DESC_FLOATS, FLUID_SURFACE_FLOATS, FLUID_EMITTER_FLOATS, FLUID_COLLIDER_FLOATS, FLUID_MAX_COLLIDERS, FLUID_FORCE_FLOATS, FLUID_MAX_EMITTERS, FLUID_CAP_SIMULATION, FLUID_COLLIDER_VOLUME, REACTIVE_GRID, REACTIVE_ORIGIN, REACTIVE_CELL, REACTIVE_LIQUID, REACTIVE_LIQUID_KELVIN, REACTIVE_PARCELS, REACTIVE_CONTACT, REACTIVE_COUPLING, REACTIVE_MAX_PAIRS, REACTIVE_SEED_LOW, REACTIVE_SEED_HIGH, REACTIVE_SMOKE_SPECIES, REACTIVE_SMOKE, REACTIVE_GLOW_FROM_K, REACTIVE_GLOW_FULL_K, REACTIVE_SMOKE_FULL, REACTIVE_FLAME_EXTINCTION, REACTIVE_PLUME_FROM_K, REACTIVE_CAPACITY, HOB_FIRST, HOB_LAST, HOB_LAYERS, HOB_METAL, HOB_START_K, HOB_PAN_K, HOB_PAN_JOULES, HOB_FLAME_K, HOB_FLAME_JOULES, HOB_FLAME_LAYERS, REACTIVE_MAX_STEP_SECONDS, REACTIVE_PARTICLES, REACTIVE_PLUME_COUNT, REACTIVE_MAX_PLUMES, PLUME_CELL, PLUME_KELVIN, PLUME_SMOKE, PLUME_WORLD, REACTIVE_TICK_LOW, REACTIVE_TICK_HIGH, REACTIVE_PAIRS, REACTIVE_DROPPED_PAIRS, REACTIVE_FIRED, REACTIVE_VENTED, REACTIVE_RETIRED, REACTIVE_PAN_K, REACTIVE_BURNING, REACTIVE_SMOKY, REACTIVE_HOTTEST_K, REACTIVE_LIT, DESTRUCT_KIND_INTACT_LOST, DESTRUCT_KIND_BREAK, DESTRUCT_KIND_REMOVE, DESTRUCT_KIND_RETIRE, DESTRUCT_KIND_BOND, DESTRUCT_DESC_FLOATS, FLUID_FORCE_WORDS, REACTIVE_DESC_WORDS, HOB_DESC_WORDS, REACTIVE_PLUMES, REACTIVE_PLUME_WORDS, dataTables, scalarArgs, dataColumn, writeWideArg, bindData, reportData, routeEvents, computeLogLine, STREAM_REGISTER, REACTIVE_MAX_EDGE, SMOKE_MAX_EMITTERS, SMOKE_TINTED_EMITTER_FLOATS, DESTRUCT_EVENT_WORDS, setEmitRow, SMOKE_DESC_FLOATS, SMOKE_TINT_AT, f64Bits, u64Words, REACTIVE_MAX_PREHEAT_TICKS } from './chunk-7GG4KNTL.mjs';
17
- import { DISTANCE_MODELS, DEFAULT_PANNER, SPATIAL_MODEL, SPATIAL_REF_DISTANCE, SPATIAL_MAX_DISTANCE, SPATIAL_ROLLOFF, SPATIAL_CONE_INNER, SPATIAL_CONE_OUTER, SPATIAL_CONE_OUTER_GAIN, SPATIAL_DOPPLER, OCCLUSION_WORDS, SPATIAL_WORDS, DEFAULT_PRIORITY, DEFAULT_OCCLUSION, UNLIMITED_VOICES, STEAL_POLICIES, FILTER_OFF, DEFAULT_LIMITER_CEILING_DB, DEFAULT_LIMITER_RELEASE_SECONDS, ANALYSER_FREQUENCY, ANALYSER_TIME, DEFAULT_EMITTER_CAPACITY, MAX_STEMS, MUSIC_POSITION_WORDS, MIN_PRIORITY, MAX_PRIORITY, FILTER_KINDS, EMITTER_COLUMNS, NO_EMITTER_COLUMN, EMITTER_GAIN, EMITTER_PITCH, QUANTIZE_NOW, QUANTIZE_BEAT, QUANTIZE_BAR, EMITTER_X, EMITTER_VX } from './chunk-4A24F4ZV.mjs';
16
+ import { transformEngine, EngineBuffer, analyserSettings, emitRow, KERNEL_PRIORITIES, ComputeMonitor, priorityLevel, hasData, STREAM_EYE_FLOATS, STREAM_COLLIDER_FLOATS, STREAM_ACTOR_FLOATS, STREAM_PRIORITY_NOW, STREAM_PRIORITY_SOON, STREAM_START_PACK, STREAM_PACK_REQUESTS, STREAM_MAX_PACK_REQUESTS, STREAM_REQUEST_LIST, STREAM_PACK_MASK, STREAM_PRIORITY_SHIFT, STREAM_PACK_RELEASES, STREAM_MAX_PACK_RELEASES, STREAM_RELEASE_LIST, STREAM_PACK_CONTENDED, STREAM_OP_INSERT, TIER_INDEX, STREAM_LAZY_PACKS_FLAG, FLUID_DESC_FLOATS, FLUID_SURFACE_FLOATS, FLUID_EMITTER_FLOATS, FLUID_COLLIDER_FLOATS, FLUID_MAX_COLLIDERS, FLUID_FORCE_FLOATS, FLUID_MAX_EMITTERS, FLUID_CAP_SIMULATION, FLUID_COLLIDER_VOLUME, REACTIVE_GRID, REACTIVE_ORIGIN, REACTIVE_CELL, REACTIVE_LIQUID, REACTIVE_LIQUID_KELVIN, REACTIVE_PARCELS, REACTIVE_CONTACT, REACTIVE_COUPLING, REACTIVE_MAX_PAIRS, REACTIVE_SEED_LOW, REACTIVE_SEED_HIGH, REACTIVE_SMOKE_SPECIES, REACTIVE_SMOKE, REACTIVE_GLOW_FROM_K, REACTIVE_GLOW_FULL_K, REACTIVE_SMOKE_FULL, REACTIVE_FLAME_EXTINCTION, REACTIVE_PLUME_FROM_K, REACTIVE_CAPACITY, HOB_FIRST, HOB_LAST, HOB_LAYERS, HOB_METAL, HOB_START_K, HOB_PAN_K, HOB_PAN_JOULES, HOB_FLAME_K, HOB_FLAME_JOULES, HOB_FLAME_LAYERS, REACTIVE_MAX_STEP_SECONDS, REACTIVE_PARTICLES, REACTIVE_PLUME_COUNT, REACTIVE_MAX_PLUMES, PLUME_CELL, PLUME_KELVIN, PLUME_SMOKE, PLUME_WORLD, REACTIVE_TICK_LOW, REACTIVE_TICK_HIGH, REACTIVE_PAIRS, REACTIVE_DROPPED_PAIRS, REACTIVE_FIRED, REACTIVE_VENTED, REACTIVE_RETIRED, REACTIVE_PAN_K, REACTIVE_BURNING, REACTIVE_SMOKY, REACTIVE_HOTTEST_K, REACTIVE_LIT, DESTRUCT_KIND_INTACT_LOST, DESTRUCT_KIND_BREAK, DESTRUCT_KIND_REMOVE, DESTRUCT_KIND_RETIRE, DESTRUCT_KIND_BOND, DESTRUCT_DESC_FLOATS, FLUID_FORCE_WORDS, REACTIVE_DESC_WORDS, HOB_DESC_WORDS, REACTIVE_PLUMES, REACTIVE_PLUME_WORDS, dataTables, scalarArgs, dataColumn, writeWideArg, bindData, reportData, routeEvents, computeLogLine, STREAM_REGISTER, REACTIVE_MAX_EDGE, SMOKE_MAX_EMITTERS, SMOKE_TINTED_EMITTER_FLOATS, DESTRUCT_EVENT_WORDS, setEmitRow, SMOKE_DESC_FLOATS, SMOKE_TINT_AT, f64Bits, u64Words, REACTIVE_MAX_PREHEAT_TICKS } from './chunk-E65WCTIG.mjs';
17
+ import { DISTANCE_MODELS, DEFAULT_PANNER, SPATIAL_MODEL, SPATIAL_REF_DISTANCE, SPATIAL_MAX_DISTANCE, SPATIAL_ROLLOFF, SPATIAL_CONE_INNER, SPATIAL_CONE_OUTER, SPATIAL_CONE_OUTER_GAIN, SPATIAL_DOPPLER, OCCLUSION_WORDS, SPATIAL_WORDS, DEFAULT_PRIORITY, DEFAULT_OCCLUSION, UNLIMITED_VOICES, STEAL_POLICIES, FILTER_OFF, DEFAULT_LIMITER_CEILING_DB, DEFAULT_LIMITER_RELEASE_SECONDS, ANALYSER_FREQUENCY, ANALYSER_TIME, DEFAULT_EMITTER_CAPACITY, MAX_STEMS, MUSIC_POSITION_WORDS, MIN_PRIORITY, MAX_PRIORITY, FILTER_KINDS, EMITTER_COLUMNS, NO_EMITTER_COLUMN, EMITTER_GAIN, EMITTER_PITCH, QUANTIZE_NOW, QUANTIZE_BEAT, QUANTIZE_BAR, EMITTER_X, EMITTER_VX } from './chunk-5YFBGGCK.mjs';
18
18
  import './chunk-K4UDGE3Z.mjs';
19
19
  import { curve, lut1, lut2, sample, parseProgram, KernelVm, STORAGE_U32, STORAGE_F32, STORAGE_I32, STORAGE_U8, CellGrid, QuerySearch } from './chunk-MOBSBXVE.mjs';
20
20
  import { cos, sin, f32Bits, SAMPLE_NEAREST, SAMPLE_BILINEAR, SAMPLE_NORMAL_Z, SAMPLE_NORMAL_Y, SAMPLE_NORMAL_X, SERVICE_SIGNATURES, curveWords, LUT_LINEAR, LUT_WRAP, ACCESS_INDEXED, crossRow, stageEndingOp, Op, QUERY_SPHERE, STATUS_FAILURE, STATUS_SUCCESS, STATUS_RUNNING, QFILTER_EQUAL, QFILTER_ANY, QFILTER_NONE, ACCESS_ARRAY, QUERY_CONE, QUERY_BOX, QUERY_SEGMENT, XOP, XOP_GATHER } from './chunk-SMK6JU2F.mjs';
21
21
  import { readinessFrame } from './chunk-LYEZZEEF.mjs';
22
- import { METER_REPORT_FRAMES, meterScriptHeap, reportMeters, watchMeters, onStudio, sendToStudio } from './chunk-LMK775I4.mjs';
22
+ import { METER_REPORT_FRAMES, meterScriptHeap, reportMeters, watchMeters, onStudio, sendToStudio } from './chunk-HAGEIC2L.mjs';
23
23
  import { prefetchDepth } from './chunk-K46SMZ66.mjs';
24
- import { ChunkPriority } from './chunk-URRZ2SMI.mjs';
24
+ import { ChunkPriority } from './chunk-V7ZRH3PY.mjs';
25
25
  import { EngineInspector } from './chunk-MOMOZEUM.mjs';
26
26
  import { GameError } from './chunk-XJIHN3BY.mjs';
27
27
  import { __export } from './chunk-25T4JHEA.mjs';
@@ -3,7 +3,7 @@ import { softCurrency, faucet } from './chunk-3DAD2LDF.mjs';
3
3
  import { ScreenShake, HitStop, SHAKE_X, SHAKE_Y, SHAKE_Z } from './chunk-2UN4SFLR.mjs';
4
4
  import { Springs } from './chunk-A7MQSN2V.mjs';
5
5
  import { addSceneCamera, BoxBatch, BOX_X, BOX_Y, BOX_SX, BOX_SY, BOX_SZ, BOX_Z } from './chunk-QDYFLATW.mjs';
6
- import { templateFrameStamp, digestFloats } from './chunk-KVZSYGTX.mjs';
6
+ import { templateFrameStamp, digestFloats } from './chunk-KGHJH5KJ.mjs';
7
7
  import { boxGeometry } from './chunk-GHPUYD4I.mjs';
8
8
  import { FRAME_STEP_SECONDS_SLOT, FRAME_SECONDS_SLOT } from './chunk-IDLW4NWA.mjs';
9
9
  import { __export } from './chunk-25T4JHEA.mjs';
@@ -1,10 +1,10 @@
1
- import { TARGET_HZ, FLOW_WORDS, PrefetchLayer, FLOW_BACKLOG, FLOW_DELIVERED, SMOOTH_SHARE, STUTTER_SHARE, HOT_BUSY_SHARE, HOT_PRESSURE, WARM_BUSY_SHARE, WARM_PRESSURE, isCalibrated, passCauses, MEMORY_CEILING_BYTES, rankCauses, TIGHT_MEMORY_SHARE, calibrationFor } from './chunk-6YVELDFK.mjs';
1
+ import { TARGET_HZ, FLOW_WORDS, PrefetchLayer, FLOW_BACKLOG, FLOW_DELIVERED, SMOOTH_SHARE, STUTTER_SHARE, HOT_BUSY_SHARE, HOT_PRESSURE, WARM_BUSY_SHARE, WARM_PRESSURE, isCalibrated, passCauses, MEMORY_CEILING_BYTES, rankCauses, TIGHT_MEMORY_SHARE, calibrationFor } from './chunk-5BYDGGWO.mjs';
2
2
  import { HEAP_MEMORY } from './chunk-7SXOHAIR.mjs';
3
3
  import { MediumVolume } from './chunk-ATAWRACV.mjs';
4
4
  import { entityIndex, NO_ENTITY } from './chunk-T3AFF3L7.mjs';
5
5
  import { SH_COEFFICIENT_FLOATS, GPU_PASS_NAMES, createGpuStats } from './chunk-TL2SVO4P.mjs';
6
6
  import { FRAME_SECONDS_SLOT } from './chunk-IDLW4NWA.mjs';
7
- import { SCENERY_REGISTER, createVectorSurfaceStats } from './chunk-7GG4KNTL.mjs';
7
+ import { SCENERY_REGISTER, createVectorSurfaceStats } from './chunk-E65WCTIG.mjs';
8
8
  import './chunk-K4UDGE3Z.mjs';
9
9
  import { reusingDefinitions } from './chunk-K46SMZ66.mjs';
10
10
  import { GameError } from './chunk-XJIHN3BY.mjs';
@@ -108,7 +108,7 @@ var ComponentStore = class {
108
108
  };
109
109
 
110
110
  // src/game/scenery/scenery.ts
111
- var SCENERY_MANIFEST_MAGIC = 1297109827, SCENERY_MANIFEST_VERSION = 1, SCENERY_MANIFEST_VERSION_PARTS = 2, SCENERY_PART_WHOLE = 255, SCENERY_PART_COARSE = 0, SCENERY_PART_MIDDLE = 1, SCENERY_PART_FINE = 2, PART_FIELD = 20, PART_MASK = 255, GROUP_SHIFT = 8, SCENERY_LEVEL_STEP = 3, SCENERY_CHUNK_EXTENSION = ".cspl", HEADER_BYTES = 32, ENTRY_BYTES = 80, DIGEST_OFFSET = 48, DIGEST_BYTES = 32, VERSION_FIELD = 4, COUNT_FIELD = 8, CELL_SIZE_FIELD = 12, ORIGIN_X_FIELD = 16, ORIGIN_Z_FIELD = 20, COLS_FIELD = 24, ROWS_FIELD = 28, KIB = 1024, HEX_RADIX = 16, BYTE_VALUES = 256, ABSOLUTE = /^[a-z][a-z0-9+.-]*:/i, HEX = Array.from({ length: (256) }, (_, i) => i.toString((16)).padStart(2, "0")), CLOSED_REGISTERS = new Uint32Array(16);
111
+ var DEFAULT_MOTION_OFFSET = ["dx", "dy", "dz"], DEFAULT_MOTION_REST = ["rx", "ry", "rz"], MILLIMETRES_PER_METRE = 1e3, NO_RIG = 0, SCENERY_MANIFEST_MAGIC = 1297109827, SCENERY_MANIFEST_VERSION = 1, SCENERY_MANIFEST_VERSION_PARTS = 2, SCENERY_PART_WHOLE = 255, SCENERY_PART_COARSE = 0, SCENERY_PART_MIDDLE = 1, SCENERY_PART_FINE = 2, PART_FIELD = 20, PART_MASK = 255, GROUP_SHIFT = 8, SCENERY_LEVEL_STEP = 3, SCENERY_CHUNK_EXTENSION = ".cspl", HEADER_BYTES = 32, ENTRY_BYTES = 80, DIGEST_OFFSET = 48, DIGEST_BYTES = 32, VERSION_FIELD = 4, COUNT_FIELD = 8, CELL_SIZE_FIELD = 12, ORIGIN_X_FIELD = 16, ORIGIN_Z_FIELD = 20, COLS_FIELD = 24, ROWS_FIELD = 28, KIB = 1024, HEX_RADIX = 16, BYTE_VALUES = 256, ABSOLUTE = /^[a-z][a-z0-9+.-]*:/i, HEX = Array.from({ length: (256) }, (_, i) => i.toString((16)).padStart(2, "0")), CLOSED_REGISTERS = new Uint32Array(20);
112
112
  function sceneryPartDrawLevel(part) {
113
113
  return part === (1) ? 1 : part === (2) ? 0 : 2;
114
114
  }
@@ -319,8 +319,20 @@ var SceneryChunks = class {
319
319
  get updates() {
320
320
  return this.read()[SCENERY_REGISTER.updates];
321
321
  }
322
+ get heroSplats() {
323
+ return this.read()[SCENERY_REGISTER.heroSplats];
324
+ }
325
+ get heroShed() {
326
+ return this.read()[SCENERY_REGISTER.heroShed];
327
+ }
328
+ get standIn() {
329
+ return this.read()[SCENERY_REGISTER.standIn] !== 0;
330
+ }
331
+ get deformedSplats() {
332
+ return this.read()[SCENERY_REGISTER.deformedSplats];
333
+ }
322
334
  }, Scenery = class {
323
- constructor(port, handle, manifest, chunkPaths, chunks, owner) {
335
+ constructor(port, handle, manifest, chunkPaths, chunks, owner, options = {}) {
324
336
  this.port = port;
325
337
  this.handle = handle;
326
338
  this.chunkPaths = chunkPaths;
@@ -336,6 +348,13 @@ var SceneryChunks = class {
336
348
  this.waiting = 0;
337
349
  this.flow = new Float64Array(FLOW_WORDS);
338
350
  this.closed = false;
351
+ this.editValues = new Float32Array(3);
352
+ this.standing = false;
353
+ this.kernel = null;
354
+ if (this.regionNames = options.regions ?? {}, this.standInTarget = options.standIn ?? null, options.heroBudget !== void 0) {
355
+ let caps = new Uint32Array(3);
356
+ caps.set(options.heroBudget), this.bodyPort().heroBudget(handle, caps);
357
+ }
339
358
  this.grid = manifest.grid, this.stats = new Stats(() => this.view());
340
359
  let rows = chunkPaths.length;
341
360
  this.engineState = new Uint8Array(rows), this.entryRow = sceneryEntryRows(manifest, rows), this.rowBytes = manifest.bytes, this.rowPart = manifest.parts ?? new Uint8Array(rows).fill((255)), this.rowSphere = new Float32Array(rows * (4));
@@ -395,6 +414,66 @@ var SceneryChunks = class {
395
414
  let t = this.transform;
396
415
  t[0] = position.x, t[1] = position.y, t[2] = position.z, t[3] = rotation?.x ?? 0, t[4] = rotation?.y ?? 0, t[5] = rotation?.z ?? 0, t[6] = rotation?.w ?? 1, t[7] = scale, this.port.setTransform(this.handle, t), this.layer.setPlacement(t);
397
416
  }
417
+ bodyPort() {
418
+ let bodies = this.port.bodies;
419
+ if (bodies == null) throw new GameError("unsupported_feature", "this engine build does not move or edit splats");
420
+ return bodies;
421
+ }
422
+ regionOf(region) {
423
+ let id = typeof region == "string" ? this.regionNames[region] : region;
424
+ if (id === void 0 || !Number.isInteger(id) || id < 0 || id >= 256) throw new GameError("invalid_argument", `no splat region ${String(region)}`);
425
+ return id;
426
+ }
427
+ /** Recolours one baked region without recapture: hue in radians, saturation and gain as multipliers. */
428
+ edit(region, edit) {
429
+ if (this.closed) return;
430
+ let v = this.editValues;
431
+ if (v[0] = edit.hue ?? 0, v[1] = edit.saturation ?? 1, v[2] = edit.gain ?? 1, !(v[1] >= 0) || !(v[2] >= 0) || !Number.isFinite(v[0])) throw new GameError("invalid_argument", "a splat edit needs a finite hue and non-negative saturation and gain");
432
+ this.bodyPort().edit(this.handle, this.regionOf(region), v);
433
+ }
434
+ /** Drives this body from a model's pose on the rig it was baked against; null returns it to rest. Throws when the rig differs. */
435
+ bind(rig) {
436
+ this.closed || this.bodyPort().bind(this.handle, rig ?? (0));
437
+ }
438
+ /** Splats in garment region `region` follow `cloth`, which must use the mesh the region was baked with. It may be called at any point in the cloth's run. */
439
+ drape(cloth, region, options = {}) {
440
+ if (this.closed) return;
441
+ let host = cloth.engineHost;
442
+ if (host === null) throw new GameError("unsupported_feature", "this cloth is not simulated by the engine");
443
+ this.bodyPort().drape(this.handle, host, cloth.id, this.regionOf(region), options.rest ?? null);
444
+ }
445
+ /** Rows a motion table needs: one for every splat in the manifest, across all levels of detail. */
446
+ get motionRows() {
447
+ return this.closed ? 0 : this.bodyPort().motionRows(this.handle);
448
+ }
449
+ /**
450
+ * Runs a per-splat program. `kernel` is called once a frame, normally `() => game.kernels.run(wave, table, time)`;
451
+ * the engine reads what it writes before deforming, and pays only for the channels named here. Pass null to stop.
452
+ */
453
+ motion(kernel, options) {
454
+ if (this.closed) return;
455
+ let bodies = this.bodyPort();
456
+ if (kernel === null || options === void 0) {
457
+ this.kernel = null, bodies.motion(this.handle, 0, null, 0, 0);
458
+ return;
459
+ }
460
+ let table = options.table, named = options.rotation !== void 0 || options.colour !== void 0 || options.opacity !== void 0, offset = options.offset ?? (named ? void 0 : DEFAULT_MOTION_OFFSET), mask = 0, names = [...options.rest ?? DEFAULT_MOTION_REST], channel = (bit, fields) => {
461
+ fields !== void 0 && (mask |= bit, names.push(...fields));
462
+ };
463
+ channel(1, offset), channel(2, options.rotation), channel(4, options.colour), channel(8, options.opacity === void 0 ? void 0 : [options.opacity]);
464
+ let columns = new Uint32Array(14);
465
+ if (names.forEach((name, k) => {
466
+ columns[k] = table.column(name);
467
+ }), !(options.reach >= 0)) throw new GameError("invalid_argument", "a splat motion reach must not be negative");
468
+ bodies.motion(this.handle, table.id, columns, Math.ceil(options.reach * (1e3)), mask), this.kernel = () => kernel(table);
469
+ }
470
+ follow() {
471
+ this.kernel?.();
472
+ let target = this.standInTarget;
473
+ if (target === null) return;
474
+ let wanted = this.view()[SCENERY_REGISTER.standIn] !== 0;
475
+ wanted !== this.standing && (this.standing = wanted, wanted ? target.show() : target.hide());
476
+ }
398
477
  /** Closes the scenery and frees its engine resources. Later calls on the handle do nothing. */
399
478
  remove() {
400
479
  this.closed || (this.closed = true, this.registers = null, this.predictor !== null && this.owner.unstream(this.predictor), this.predictor = null, this.owner.release(this), this.port.close(this.handle), this.chunks.close());
@@ -403,7 +482,7 @@ var SceneryChunks = class {
403
482
  if (this.closed) return;
404
483
  let n = this.port.update(this.handle, eye, this.requests);
405
484
  for (let i = 0; i < n; i++) this.fetch(this.requests[i], i === 0 ? (0) : (1));
406
- this.layer.toLocal(eye, this.lastEye, 0, true), this.hasEye = true, this.forget();
485
+ this.layer.toLocal(eye, this.lastEye, 0, true), this.hasEye = true, this.forget(), this.follow();
407
486
  }
408
487
  forget() {
409
488
  let layer = this.layer, eye = this.lastEye, radii = sceneryTierRadii(this.tier()), scale = layer.scale, states = this.engineState, sphere = this.rowSphere, sweep = this.sweep, end = Math.min(states.length, sweep + (256));
@@ -501,10 +580,15 @@ var SceneryChunks = class {
501
580
  let port = this.port;
502
581
  if (port === null) throw new GameError("unsupported_feature", "this backend does not draw splat scenery");
503
582
  let manifest = typeof source == "string" ? source : source.href, assets = options.assets;
504
- return this.open(port, manifest, new SceneryChunks(assets ?? null, options.cacheBytes));
583
+ return this.open(port, manifest, new SceneryChunks(assets ?? null, options.cacheBytes), options);
584
+ }
585
+ /** Loads a splat body baked against a rig and binds it, so it follows that model's animation. */
586
+ async splatBody(options) {
587
+ let body = await this.load(options.manifest, options);
588
+ return body.bind(options.rig), body;
505
589
  }
506
- async open(port, location, chunks) {
507
- let bytes = await chunks.read(location), manifest = parseSceneryManifest(bytes), paths = manifest.chunks.map((name) => sibling(location, name)), handle = port.open(bytes), scenery = new Scenery(port, handle, manifest, paths, chunks, this);
590
+ async open(port, location, chunks, options) {
591
+ let bytes = await chunks.read(location), manifest = parseSceneryManifest(bytes), paths = manifest.chunks.map((name) => sibling(location, name)), handle = port.open(bytes), scenery = new Scenery(port, handle, manifest, paths, chunks, this, options);
508
592
  return this.live.push(scenery), this.prefetch !== null && scenery.stream(this.prefetch), scenery;
509
593
  }
510
594
  /** Number of scenery handles currently loaded. */
@@ -4,7 +4,7 @@ var chunkATCURNUV_js = require('./chunk-ATCURNUV.js');
4
4
  var chunkA2MAX6S4_js = require('./chunk-A2MAX6S4.js');
5
5
  var chunk5325XSCH_js = require('./chunk-5325XSCH.js');
6
6
  var chunkKPA6K5IB_js = require('./chunk-KPA6K5IB.js');
7
- var chunk56BM75QX_js = require('./chunk-56BM75QX.js');
7
+ var chunkH5DFSCJ6_js = require('./chunk-H5DFSCJ6.js');
8
8
  var chunkY4K22JL6_js = require('./chunk-Y4K22JL6.js');
9
9
  var chunkG3EEC44R_js = require('./chunk-G3EEC44R.js');
10
10
  var chunkRCQ2MPBV_js = require('./chunk-RCQ2MPBV.js');
@@ -285,7 +285,7 @@ var SHOOTOUT = {
285
285
  this.aim = 0;
286
286
  }
287
287
  drive(scene, game, frame) {
288
- let input = game.input, t = chunk56BM75QX_js.templateFrameStamp(frame);
288
+ let input = game.input, t = chunkH5DFSCJ6_js.templateFrameStamp(frame);
289
289
  if (this.phase === 0) {
290
290
  if (scene.phase !== "playing" || scene.kick.state !== "ready") {
291
291
  this.wait = 0;
@@ -312,7 +312,7 @@ var SHOOTOUT = {
312
312
  progress: (scene) => scene.totalGoals,
313
313
  digest(scene) {
314
314
  let d = digestScratch;
315
- return d[0] = scene.totalGoals, d[1] = scene.kick.shots, d[2] = scene.series, d[3] = scene.seriesKicks, d[4] = scene.bestSeries, chunk56BM75QX_js.digestInts(d, (5));
315
+ return d[0] = scene.totalGoals, d[1] = scene.kick.shots, d[2] = scene.series, d[3] = scene.seriesKicks, d[4] = scene.bestSeries, chunkH5DFSCJ6_js.digestInts(d, (5));
316
316
  }
317
317
  };
318
318
 
@@ -2,8 +2,8 @@
2
2
 
3
3
  var chunkNH654HAT_js = require('./chunk-NH654HAT.js');
4
4
  var chunkWHYKAT7G_js = require('./chunk-WHYKAT7G.js');
5
- var chunk56BM75QX_js = require('./chunk-56BM75QX.js');
6
- var chunk4CVB2ZTC_js = require('./chunk-4CVB2ZTC.js');
5
+ var chunkH5DFSCJ6_js = require('./chunk-H5DFSCJ6.js');
6
+ var chunk5LH2QN3T_js = require('./chunk-5LH2QN3T.js');
7
7
  var chunkYXGZQPUD_js = require('./chunk-YXGZQPUD.js');
8
8
  var chunkJGBCIKJV_js = require('./chunk-JGBCIKJV.js');
9
9
 
@@ -191,7 +191,7 @@ var SEAT_COLORS = [[], [], [0, 2], [0, 1, 2], [0, 1, 2, 3]], LudoState = class {
191
191
  this.progress = new Int8Array(LUDO.colors * LUDO.tokens);
192
192
  this.colors = new Int8Array(LUDO.colors);
193
193
  this.home = new Int8Array(LUDO.colors);
194
- this.random = new chunk4CVB2ZTC_js.SeededRandom(0);
194
+ this.random = new chunk5LH2QN3T_js.SeededRandom(0);
195
195
  this.dice = (0);
196
196
  this.active = 0;
197
197
  this.sixes = 0;
@@ -388,7 +388,7 @@ var COLOR_RGB = [1096065, 16096779, 3900150, 15680580], SQUARE_RGB = 16317180, S
388
388
  this.frames = 0;
389
389
  }
390
390
  drive(scene, game, frame) {
391
- let t = chunk56BM75QX_js.templateFrameStamp(frame);
391
+ let t = chunkH5DFSCJ6_js.templateFrameStamp(frame);
392
392
  if (this.held !== null) {
393
393
  if (++this.frames < (3)) return;
394
394
  game.input.keyEvent(this.held, false, t), this.held = null, this.frames = 0;
@@ -411,7 +411,7 @@ var COLOR_RGB = [1096065, 16096779, 3900150, 15680580], SQUARE_RGB = 16317180, S
411
411
  digest(scene) {
412
412
  let s = scene.state, d = digestScratch;
413
413
  for (let i = 0; i < s.progress.length; i++) d[i] = s.progress[i];
414
- return d[s.progress.length] = scene.turns.turn, d[s.progress.length + 1] = s.active, d[s.progress.length + 2] = scene.gamesFinished, d[s.progress.length + 3] = scene.tokensHome, chunk56BM75QX_js.digestInts(d, DIGEST_FIELDS);
414
+ return d[s.progress.length] = scene.turns.turn, d[s.progress.length + 1] = s.active, d[s.progress.length + 2] = scene.gamesFinished, d[s.progress.length + 3] = scene.tokensHome, chunkH5DFSCJ6_js.digestInts(d, DIGEST_FIELDS);
415
415
  }
416
416
  };
417
417
 
@@ -1,10 +1,10 @@
1
- import { STREAM_COLLIDER_FLOATS, STREAM_PACK_CONTENDED, STREAM_EYE_FLOATS, STREAM_REGISTER_BLOCK_WORDS, STREAM_ACTOR_FLOATS } from './chunk-7GG4KNTL.mjs';
2
- import { COLUMN_ALIGN } from './chunk-NBH64BDP.mjs';
1
+ import { STREAM_COLLIDER_FLOATS, STREAM_PACK_CONTENDED, STREAM_EYE_FLOATS, STREAM_REGISTER_BLOCK_WORDS, STREAM_ACTOR_FLOATS } from './chunk-E65WCTIG.mjs';
2
+ import { COLUMN_ALIGN } from './chunk-A33OORT7.mjs';
3
3
  import { noteInspectorStream } from './chunk-MOMOZEUM.mjs';
4
4
  import { GameError } from './chunk-XJIHN3BY.mjs';
5
5
 
6
6
  // src/game/scenery/engine.ts
7
- var ENGINE_SPLAT_EXPORT_NAMES = [
7
+ var ENGINE_SPLAT_BODY_EXPORT_NAMES = ["engine_splat_edit", "engine_splat_bind", "engine_splat_hero_budget", "engine_splat_drape", "engine_splat_motion_rows", "engine_splat_motion"], ENGINE_SPLAT_EXPORT_NAMES = [
8
8
  "engine_splat_open",
9
9
  "engine_splat_close",
10
10
  "engine_splat_provide",
@@ -13,7 +13,37 @@ var ENGINE_SPLAT_EXPORT_NAMES = [
13
13
  "engine_splat_requests",
14
14
  "engine_splat_set_transform",
15
15
  "engine_splat_registers"
16
- ], NULL = 0, F32_BYTES = 4, EYE_OFFSET_BYTES = 0, TRANSFORM_OFFSET_BYTES = 16, SCRATCH_BYTES = (16) + 8 * (4);
16
+ ], NULL = 0, F32_BYTES = 4, EYE_OFFSET_BYTES = 0, TRANSFORM_OFFSET_BYTES = 16, BODY_OFFSET_BYTES = (16) + 8 * (4), BODY_WORDS = Math.max(3, 3, 14), SCRATCH_BYTES = BODY_OFFSET_BYTES + BODY_WORDS * (4);
17
+ function refused(what, code) {
18
+ if (code < 0) throw new GameError("invalid_argument", `the engine refused the ${what} (${code})`);
19
+ }
20
+ var EngineSceneryBodies = class {
21
+ constructor(exports, render, stage, stageOwned) {
22
+ this.exports = exports;
23
+ this.render = render;
24
+ this.stage = stage;
25
+ this.stageOwned = stageOwned;
26
+ }
27
+ edit(scene, region, values) {
28
+ refused("splat edit", this.exports.engine_splat_edit(scene, region, this.stage(values)));
29
+ }
30
+ bind(scene, root) {
31
+ refused("splat rig", this.exports.engine_splat_bind(scene, this.render(), root));
32
+ }
33
+ heroBudget(scene, caps) {
34
+ refused("hero budget", this.exports.engine_splat_hero_budget(scene, caps === null ? (0) : this.stage(caps)));
35
+ }
36
+ drape(scene, cloths, cloth, region, rest) {
37
+ let baked = rest === null ? (0) : this.stageOwned(new Uint8Array(rest.buffer, rest.byteOffset, rest.byteLength));
38
+ refused("splat drape", this.exports.engine_splat_drape(scene, cloths, cloth, region, baked, rest?.length ?? 0));
39
+ }
40
+ motionRows(scene) {
41
+ return this.exports.engine_splat_motion_rows(scene);
42
+ }
43
+ motion(scene, table, columns, reachMillimetres, mask) {
44
+ refused("splat motion", this.exports.engine_splat_motion(scene, table, columns === null ? (0) : this.stage(columns), reachMillimetres, mask));
45
+ }
46
+ };
17
47
  function engineSplatExports(runtime) {
18
48
  let symbols = runtime.symbols;
19
49
  return ENGINE_SPLAT_EXPORT_NAMES.every((name) => typeof symbols[name] == "function") ? symbols : null;
@@ -30,6 +60,14 @@ var EngineScenery = class {
30
60
  this.floats = new Float32Array(0);
31
61
  this.words = new Uint32Array(0);
32
62
  this.bytes = new Uint8Array(0);
63
+ let symbols = runtime.symbols;
64
+ this.bodies = ENGINE_SPLAT_BODY_EXPORT_NAMES.every((name) => typeof symbols[name] == "function") ? new EngineSceneryBodies(symbols, render, (values) => this.stageBody(values), (values) => this.stage(values)) : null;
65
+ }
66
+ stageBody(values) {
67
+ let pointer = this.ensureScratch() + BODY_OFFSET_BYTES;
68
+ this.views();
69
+ let at = pointer >>> 2;
70
+ return values instanceof Float32Array ? this.floats.set(values, at) : this.words.set(values, at), pointer;
33
71
  }
34
72
  views() {
35
73
  let buffer = this.runtime.memory.buffer;
@@ -81,7 +119,7 @@ var EngineScenery = class {
81
119
  registers(scene) {
82
120
  let pointer = this.exports.engine_splat_registers(scene);
83
121
  if (pointer === (0)) throw new GameError("unknown_resource", "scenery is closed");
84
- return this.views(), this.words.subarray(pointer >>> 2, (pointer >>> 2) + 16);
122
+ return this.views(), this.words.subarray(pointer >>> 2, (pointer >>> 2) + 20);
85
123
  }
86
124
  close(scene) {
87
125
  this.exports.engine_splat_close(scene, this.render()), this.live--, !(this.live > 0 || this.scratch === (0)) && (this.runtime.exports.engine_free(this.scratch, this.scratchBytes, COLUMN_ALIGN), this.scratch = (0), this.scratchBytes = 0);
@@ -1,9 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkFXVJ2HFU_js = require('./chunk-FXVJ2HFU.js');
4
- var chunkTMFB55IR_js = require('./chunk-TMFB55IR.js');
5
- var chunkUWPQL2IQ_js = require('./chunk-UWPQL2IQ.js');
6
- var chunkW3VVG4NL_js = require('./chunk-W3VVG4NL.js');
4
+ var chunkJ2U6PJSO_js = require('./chunk-J2U6PJSO.js');
5
+ var chunk2O2CG465_js = require('./chunk-2O2CG465.js');
7
6
  var chunk2V7IL4HC_js = require('./chunk-2V7IL4HC.js');
8
7
 
9
8
  // src/game/backends/engine/session-grant.ts
@@ -1256,7 +1255,7 @@ function refuseGrowth() {
1256
1255
  throw new chunk2V7IL4HC_js.GameError("capacity_exceeded", "engine memory is reserved in full at boot and never grows; reserve more with memoryPages");
1257
1256
  }
1258
1257
  function reserveEngineMemory(memory, pages) {
1259
- let bytes = pages * chunkW3VVG4NL_js.WASM_PAGE_BYTES, buffer = memory.buffer;
1258
+ let bytes = pages * chunk2O2CG465_js.WASM_PAGE_BYTES, buffer = memory.buffer;
1260
1259
  if (buffer.byteLength !== bytes)
1261
1260
  throw new chunk2V7IL4HC_js.GameError("capacity_exceeded", `engine memory holds ${buffer.byteLength} bytes after boot, not the ${bytes} it reserves`);
1262
1261
  Object.defineProperty(memory, "grow", { value: refuseGrowth, configurable: false, enumerable: false, writable: false }), HELD.set(memory, { buffer, bytes, shared: isShared(buffer) });
@@ -1392,20 +1391,17 @@ function bindEngineRuntime(runtime) {
1392
1391
  };
1393
1392
  }
1394
1393
  async function loadEngineRuntime(source, options = {}) {
1395
- let pages = options.memoryPages ?? chunkW3VVG4NL_js.DEFAULT_ENGINE_MEMORY_PAGES;
1396
- if (pages <= chunkW3VVG4NL_js.ENGINE_INITIAL_PAGES) throw new chunk2V7IL4HC_js.GameError("invalid_argument", `engine memory needs more than ${chunkW3VVG4NL_js.ENGINE_INITIAL_PAGES} pages`);
1397
- let scope = options.scope ?? globalThis, threaded = options.threaded !== void 0 && chunkTMFB55IR_js.threadsAvailable(scope), chosen = threaded ? options.threaded : source, module = chosen instanceof WebAssembly.Module ? chosen : await WebAssembly.compile(chosen), memory = new WebAssembly.Memory({ initial: chunkW3VVG4NL_js.ENGINE_INITIAL_PAGES, maximum: pages, shared: threaded }), gpu = new WebGpuExecutor(), gl = new WebGl2Executor(), imports = { env: { ...options.instrument, memory }, [GPU_IMPORTS]: gpu.imports, [GL_IMPORTS]: gl.imports };
1394
+ let pages = options.memoryPages ?? chunk2O2CG465_js.DEFAULT_ENGINE_MEMORY_PAGES;
1395
+ if (pages <= chunk2O2CG465_js.ENGINE_INITIAL_PAGES) throw new chunk2V7IL4HC_js.GameError("invalid_argument", `engine memory needs more than ${chunk2O2CG465_js.ENGINE_INITIAL_PAGES} pages`);
1396
+ let scope = options.scope ?? globalThis, threaded = options.threaded !== void 0 && chunkJ2U6PJSO_js.threadsAvailable(scope), chosen = threaded ? options.threaded : source, module = chosen instanceof WebAssembly.Module ? chosen : await WebAssembly.compile(chosen), memory = new WebAssembly.Memory({ initial: chunk2O2CG465_js.ENGINE_INITIAL_PAGES, maximum: pages, shared: threaded }), gpu = new WebGpuExecutor(), gl = new WebGl2Executor(), imports = { env: { memory }, [GPU_IMPORTS]: gpu.imports, [GL_IMPORTS]: gl.imports };
1398
1397
  chunkFXVJ2HFU_js.importsWasi(module) && (imports[chunkFXVJ2HFU_js.WASI_IMPORTS] = chunkFXVJ2HFU_js.wasiStubs(() => memory));
1399
- let deferred = chunkUWPQL2IQ_js.DeferredEngine.of(module, options.deferred);
1400
- deferred !== null && (imports[chunkUWPQL2IQ_js.PLACEHOLDER_NAMESPACE] = deferred.imports());
1401
1398
  let instance = await WebAssembly.instantiate(module, imports);
1402
- deferred?.bind(instance).catch(() => {
1403
- }), chunkFXVJ2HFU_js.initializeReactor(instance.exports);
1399
+ chunkFXVJ2HFU_js.initializeReactor(instance.exports);
1404
1400
  let exports = bindExports(instance.exports);
1405
1401
  checkAbi(exports, instance.exports);
1406
- let reserve = pages * chunkW3VVG4NL_js.WASM_PAGE_BYTES - memory.buffer.byteLength - chunkW3VVG4NL_js.ENGINE_RESERVE_SLACK_BYTES;
1402
+ let reserve = pages * chunk2O2CG465_js.WASM_PAGE_BYTES - memory.buffer.byteLength - chunk2O2CG465_js.ENGINE_RESERVE_SLACK_BYTES;
1407
1403
  if (exports.engine_reserve(reserve) < 0) throw new chunk2V7IL4HC_js.GameError("capacity_exceeded", "engine memory could not be reserved");
1408
- let headroom = pages - memory.buffer.byteLength / chunkW3VVG4NL_js.WASM_PAGE_BYTES;
1404
+ let headroom = pages - memory.buffer.byteLength / chunk2O2CG465_js.WASM_PAGE_BYTES;
1409
1405
  headroom > 0 && memory.grow(headroom), reserveEngineMemory(memory, pages), options.session && presentEngineSession({ symbols: instance.exports, memory, exports }, options.session);
1410
1406
  let mapped = instance.exports[GPU_MAPPED_EXPORT], errorBuffer = instance.exports[GPU_ERROR_BUFFER_EXPORT], error = instance.exports[GPU_ERROR_EXPORT], present = typeof mapped == "function" && typeof errorBuffer == "function" && typeof error == "function";
1411
1407
  present && gpu.bindMemory(memory, {
@@ -1415,23 +1411,23 @@ async function loadEngineRuntime(source, options = {}) {
1415
1411
  });
1416
1412
  let webgl = typeof instance.exports[GL_ATTACH_EXPORT] == "function";
1417
1413
  webgl && gl.bindMemory(memory);
1418
- let workers = options.workers ?? chunkTMFB55IR_js.workerCount(scope), threads = threaded ? await chunkTMFB55IR_js.startEngineThreads(module, memory, instance.exports, workers, options.workerFactory, deferred?.lanes() ?? null) : null;
1419
- return { exports, memory, symbols: instance.exports, gpu: present ? gpu : null, gl: webgl ? gl : null, threads, lanes: threads?.lanes ?? 1, deferred };
1414
+ let workers = options.workers ?? chunkJ2U6PJSO_js.workerCount(scope), threads = threaded ? await chunkJ2U6PJSO_js.startEngineThreads(module, memory, instance.exports, workers, options.workerFactory) : null;
1415
+ return { exports, memory, symbols: instance.exports, gpu: present ? gpu : null, gl: webgl ? gl : null, threads, lanes: threads?.lanes ?? 1 };
1420
1416
  }
1421
1417
  async function wasmPlatformEngine(source, options = {}) {
1422
1418
  return enginePlatformOf(await loadEngineRuntime(source, options));
1423
1419
  }
1424
1420
  function enginePlatformOf(runtime) {
1425
- return { kind: "engine", runtime: { exports: runtime.symbols, memory: runtime.memory, gpu: runtime.gpu, gl: runtime.gl, deferred: runtime.deferred } };
1421
+ return { kind: "engine", runtime: { exports: runtime.symbols, memory: runtime.memory, gpu: runtime.gpu, gl: runtime.gl } };
1426
1422
  }
1427
1423
  function engineDeterminismDigest(runtime, seed, steps) {
1428
- let out = runtime.exports.engine_alloc(chunkW3VVG4NL_js.U64_BYTES, chunkW3VVG4NL_js.U64_BYTES);
1424
+ let out = runtime.exports.engine_alloc(chunk2O2CG465_js.U64_BYTES, chunk2O2CG465_js.U64_BYTES);
1429
1425
  try {
1430
1426
  if (runtime.exports.engine_determinism_digest(seed, steps, out) < 0)
1431
1427
  throw new chunk2V7IL4HC_js.GameError("invalid_argument", "determinism scenario failed");
1432
1428
  return new BigUint64Array(runtime.memory.buffer, out, 1)[0];
1433
1429
  } finally {
1434
- runtime.exports.engine_free(out, chunkW3VVG4NL_js.U64_BYTES, chunkW3VVG4NL_js.U64_BYTES);
1430
+ runtime.exports.engine_free(out, chunk2O2CG465_js.U64_BYTES, chunk2O2CG465_js.U64_BYTES);
1435
1431
  }
1436
1432
  }
1437
1433
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkW3VVG4NL_js = require('./chunk-W3VVG4NL.js');
3
+ var chunk2O2CG465_js = require('./chunk-2O2CG465.js');
4
4
 
5
5
  // src/interactives/engine-heap.ts
6
6
  var MIB = 1024 * 1024, ENGINE_HEAP_CEILING_BYTES = {
@@ -25,7 +25,7 @@ function declareEngineHeap(peaks) {
25
25
  return out;
26
26
  }
27
27
  function engineHeapPages(bytes) {
28
- return bytes === void 0 || !Number.isFinite(bytes) || bytes <= 0 ? chunkW3VVG4NL_js.DEFAULT_ENGINE_MEMORY_PAGES : Math.max(chunkW3VVG4NL_js.ENGINE_INITIAL_PAGES + 1, Math.ceil(bytes / chunkW3VVG4NL_js.WASM_PAGE_BYTES));
28
+ return bytes === void 0 || !Number.isFinite(bytes) || bytes <= 0 ? chunk2O2CG465_js.DEFAULT_ENGINE_MEMORY_PAGES : Math.max(chunk2O2CG465_js.ENGINE_INITIAL_PAGES + 1, Math.ceil(bytes / chunk2O2CG465_js.WASM_PAGE_BYTES));
29
29
  }
30
30
 
31
31
  exports.ENGINE_HEAP_CEILING_BYTES = ENGINE_HEAP_CEILING_BYTES;