@cimplify/sdk 0.109.0 → 0.111.0

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 (377) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +18 -0
  3. package/dist/advanced.d.mts +4 -4
  4. package/dist/advanced.d.ts +4 -4
  5. package/dist/advanced.js +22 -22
  6. package/dist/advanced.mjs +3 -3
  7. package/dist/{audio-XU2sFNyO.d.mts → audio-DhvyjqdA.d.mts} +2 -2
  8. package/dist/{audio-8Igdy2WK.d.ts → audio-m0w8cnxq.d.ts} +2 -2
  9. package/dist/avatars.js +21 -21
  10. package/dist/avatars.mjs +3 -3
  11. package/dist/{backend-L4d_Ha0J.d.mts → backend-gUCzs5Kg.d.mts} +16 -2
  12. package/dist/{backend-L4d_Ha0J.d.ts → backend-gUCzs5Kg.d.ts} +16 -2
  13. package/dist/{catalogue-DLLsfuNg.d.ts → catalogue-1QcoGDO6.d.ts} +2 -2
  14. package/dist/{catalogue-BeBFWlHF.d.mts → catalogue-FdFQiWrU.d.mts} +2 -2
  15. package/dist/{chunk-HF2MZKP2.mjs → chunk-22BD3RHN.mjs} +6 -3
  16. package/dist/{chunk-B54P6RL2.js → chunk-2AQ237Y4.js} +30 -30
  17. package/dist/{chunk-W3VVG4NL.js → chunk-2O2CG465.js} +14 -2
  18. package/dist/{chunk-UPHTPBNQ.mjs → chunk-2QTQ6BUH.mjs} +1 -1
  19. package/dist/{chunk-BS65NRDW.js → chunk-3S6WPBZL.js} +16 -16
  20. package/dist/{chunk-PEZYNYJE.js → chunk-3TUOUP5T.js} +3 -3
  21. package/dist/{chunk-EB6EAOM5.mjs → chunk-3VEH23I5.mjs} +7 -10
  22. package/dist/{chunk-SYEO2WV4.mjs → chunk-42JTCWIE.mjs} +3 -3
  23. package/dist/{chunk-FB6YH2WW.js → chunk-4C7I3ELN.js} +4 -4
  24. package/dist/{chunk-UQYO3OM7.js → chunk-4ZDR72SG.js} +1 -2
  25. package/dist/{chunk-HPKKCUHU.js → chunk-52YS45RR.js} +13 -13
  26. package/dist/{chunk-6YVELDFK.mjs → chunk-5BYDGGWO.mjs} +1 -1
  27. package/dist/{chunk-YN24DET4.js → chunk-5HFMY3D7.js} +10 -10
  28. package/dist/{chunk-4CVB2ZTC.js → chunk-5LH2QN3T.js} +32 -29
  29. package/dist/{chunk-4A24F4ZV.mjs → chunk-5YFBGGCK.mjs} +4 -1
  30. package/dist/{chunk-NLAT3DB2.mjs → chunk-6DAEZKIG.mjs} +1 -1
  31. package/dist/{chunk-F6CHJXXK.mjs → chunk-6DATW7TB.mjs} +3 -3
  32. package/dist/{chunk-4RYATNVK.mjs → chunk-6H254EVP.mjs} +6 -11
  33. package/dist/{chunk-32U4BVJA.mjs → chunk-6PJWXIFX.mjs} +1 -1
  34. package/dist/{chunk-OMTVH334.js → chunk-6QANXRUM.js} +203 -186
  35. package/dist/{chunk-BHAGIIBI.js → chunk-6WUBSMTX.js} +82 -85
  36. package/dist/{chunk-EPYFN2A3.js → chunk-7AAIAVAA.js} +24 -20
  37. package/dist/{chunk-HZC27ICH.mjs → chunk-7BHW5GTC.mjs} +3 -3
  38. package/dist/{chunk-MB425DVA.mjs → chunk-7IQQQENP.mjs} +2 -2
  39. package/dist/{chunk-DJUUL67Z.js → chunk-7KFTYENS.js} +296 -296
  40. package/dist/{chunk-XLQSNQMP.js → chunk-7SM6XSPZ.js} +339 -339
  41. package/dist/{chunk-NBH64BDP.mjs → chunk-A33OORT7.mjs} +13 -1
  42. package/dist/{chunk-G2SXLGFY.js → chunk-A7BU3BK4.js} +7 -7
  43. package/dist/{chunk-ZNWS7NOW.mjs → chunk-A7V4L2IT.mjs} +2 -2
  44. package/dist/{chunk-O3SITS4R.mjs → chunk-AGV33FWC.mjs} +4 -4
  45. package/dist/{chunk-Z2DE3EHS.js → chunk-AHNR3BXI.js} +7 -7
  46. package/dist/{chunk-UQ4BHMLS.mjs → chunk-AQ5RLBU2.mjs} +5 -5
  47. package/dist/{chunk-J4HU2YQB.js → chunk-AQOE6WCG.js} +2 -2
  48. package/dist/{chunk-X57B7VQC.js → chunk-AYJPHKYV.js} +22 -22
  49. package/dist/{chunk-6XTWY6MH.js → chunk-AZAXD44P.js} +126 -42
  50. package/dist/{chunk-6ETDAU62.mjs → chunk-B45X3HPO.mjs} +98 -39
  51. package/dist/{chunk-QDW4EPWS.mjs → chunk-BBGKQIJJ.mjs} +1 -1
  52. package/dist/{chunk-NHYTO4VU.js → chunk-BP4JLSUA.js} +111 -120
  53. package/dist/{chunk-7INQVOHY.mjs → chunk-BU6OK542.mjs} +25 -8
  54. package/dist/{chunk-MKIJQL5Q.js → chunk-CJVEJPIG.js} +69 -69
  55. package/dist/{chunk-W23VX5MY.js → chunk-CVSRWM6W.js} +5 -5
  56. package/dist/{chunk-A7DK7QAG.mjs → chunk-CYBMFMJD.mjs} +1 -1
  57. package/dist/{chunk-BOTUAHP2.mjs → chunk-DS2VU4WW.mjs} +5 -20
  58. package/dist/{chunk-HMMFNLXZ.js → chunk-DSAG7T5P.js} +2 -2
  59. package/dist/{chunk-7GG4KNTL.mjs → chunk-E65WCTIG.mjs} +8 -4
  60. package/dist/{chunk-WXDVEXTW.mjs → chunk-ECDK6QBF.mjs} +1 -1
  61. package/dist/{chunk-5IRV36MS.mjs → chunk-EIB4OWVQ.mjs} +1 -1
  62. package/dist/{chunk-JLJ4FD5H.js → chunk-EQUZYCGO.js} +18 -18
  63. package/dist/{chunk-Q2Y3VMKH.js → chunk-ETZDIISN.js} +151 -151
  64. package/dist/{chunk-AKTWH3KJ.mjs → chunk-F3UJ6ZRM.mjs} +2 -2
  65. package/dist/{chunk-J6HRY5EQ.js → chunk-F63N2ZTQ.js} +232 -232
  66. package/dist/{chunk-MUEFTPNN.js → chunk-FE6VCE4K.js} +34 -34
  67. package/dist/{chunk-GCKWKLZF.mjs → chunk-FT6GFYJL.mjs} +17 -3
  68. package/dist/{chunk-2UYTS7SL.mjs → chunk-GCX7TY4D.mjs} +16 -16
  69. package/dist/{chunk-QDLMIHUH.js → chunk-GDB6TCSD.js} +7 -7
  70. package/dist/{chunk-7S7LDFGH.js → chunk-GDZT5LZ5.js} +12 -12
  71. package/dist/{chunk-TB2LS4CE.mjs → chunk-GHS6MIL6.mjs} +7 -11
  72. package/dist/{chunk-7OHZ56N7.mjs → chunk-GXKI64OT.mjs} +4 -4
  73. package/dist/{chunk-HRSIIDOZ.js → chunk-H3OQKK6X.js} +41 -41
  74. package/dist/{chunk-56BM75QX.js → chunk-H5DFSCJ6.js} +2 -2
  75. package/dist/{chunk-LMK775I4.mjs → chunk-HAGEIC2L.mjs} +1 -1
  76. package/dist/{chunk-6FZDMICK.js → chunk-HAJ4JRFO.js} +15 -15
  77. package/dist/{chunk-AWR2G5QN.js → chunk-HDR72GB6.js} +6 -11
  78. package/dist/{chunk-PTT6KIM6.js → chunk-HSEO6TPU.js} +9 -9
  79. package/dist/{chunk-CQSA2D2O.js → chunk-I5FOHCLH.js} +4 -31
  80. package/dist/{chunk-TMFB55IR.js → chunk-J2U6PJSO.js} +3 -30
  81. package/dist/{chunk-W77VO6LP.js → chunk-J5AJNY2N.js} +13 -13
  82. package/dist/{chunk-UKA7LHIT.js → chunk-JR3TNEQC.js} +98 -98
  83. package/dist/{chunk-P2O34BIO.mjs → chunk-JURRXY2J.mjs} +1 -1
  84. package/dist/{chunk-PKMVOVUA.mjs → chunk-K3HW5I2A.mjs} +1 -1
  85. package/dist/{chunk-BXUGKBMK.mjs → chunk-KDQOR4QQ.mjs} +1 -14
  86. package/dist/{chunk-KVZSYGTX.mjs → chunk-KGHJH5KJ.mjs} +1 -1
  87. package/dist/{chunk-3AKWZF3X.mjs → chunk-KK6HYVBI.mjs} +1 -1
  88. package/dist/{chunk-K6GK5B5J.js → chunk-KMKWGXMK.js} +6 -6
  89. package/dist/{chunk-EH4UG7IL.mjs → chunk-KU7O4IXU.mjs} +4 -4
  90. package/dist/{chunk-IHRMR3WV.mjs → chunk-KVFNRJOR.mjs} +9 -9
  91. package/dist/{chunk-A36JRXXH.mjs → chunk-KWZHIPRN.mjs} +26 -9
  92. package/dist/{chunk-HBZQ5HSV.mjs → chunk-LIV3KXJG.mjs} +1 -1
  93. package/dist/{chunk-S75PBSSL.mjs → chunk-ME6HGG4I.mjs} +92 -8
  94. package/dist/{chunk-SNNEOS5Z.js → chunk-MHDUUSG6.js} +75 -75
  95. package/dist/{chunk-FKYZCXFM.js → chunk-MIPO6F72.js} +3 -3
  96. package/dist/{chunk-MFWIHTEN.js → chunk-MTIHEW2M.js} +5 -5
  97. package/dist/{chunk-UCR5HRYM.js → chunk-NFXCKTE2.js} +17 -3
  98. package/dist/{chunk-M53GR3ZV.mjs → chunk-NHJUGZUR.mjs} +43 -5
  99. package/dist/{chunk-FAYK2MN6.js → chunk-NZTKLY2W.js} +14 -18
  100. package/dist/{chunk-EQW6PFC2.js → chunk-O2ICABUD.js} +2 -2
  101. package/dist/{chunk-5PW6DVHF.js → chunk-OIVVQQ22.js} +55 -37
  102. package/dist/{chunk-GBJ5CW3A.js → chunk-PKOZXD2Q.js} +30 -30
  103. package/dist/{chunk-NGN3JE5A.js → chunk-PQTQKNKD.js} +16 -7
  104. package/dist/{chunk-DFZWHNRG.js → chunk-QOCHWR4V.js} +105 -42
  105. package/dist/{chunk-PCVVQNBD.js → chunk-QS6TRHMR.js} +5 -5
  106. package/dist/{chunk-DXZZ27CV.js → chunk-RKBLPGPV.js} +245 -207
  107. package/dist/{chunk-765P2G7G.mjs → chunk-RUVGVNOF.mjs} +1 -1
  108. package/dist/{chunk-NJ7ZWH4U.mjs → chunk-SAFJIGYB.mjs} +1 -1
  109. package/dist/{chunk-AOPH2IZV.js → chunk-SKQFLBDD.js} +60 -22
  110. package/dist/{chunk-BUUA5XJV.js → chunk-TWM6DLYF.js} +2 -2
  111. package/dist/{chunk-YPL5TKI4.mjs → chunk-U6UVWEAK.mjs} +1 -1
  112. package/dist/{chunk-6YQDHXPL.mjs → chunk-UCEPNO6N.mjs} +46 -9
  113. package/dist/{chunk-U7RULAEP.mjs → chunk-UG5BTOTF.mjs} +2 -2
  114. package/dist/{chunk-MITGBWV7.mjs → chunk-UGH37BQW.mjs} +1 -1
  115. package/dist/{chunk-IZDWAL53.mjs → chunk-UJDQQTBS.mjs} +8 -8
  116. package/dist/{chunk-URRZ2SMI.mjs → chunk-V7ZRH3PY.mjs} +2 -2
  117. package/dist/{chunk-3H76N7G5.mjs → chunk-VBGHBL3E.mjs} +8 -17
  118. package/dist/{chunk-AZC2LTUI.js → chunk-VVE3Y76O.js} +2 -2
  119. package/dist/{chunk-BRAA7U3I.mjs → chunk-W65JIRI4.mjs} +1 -1
  120. package/dist/{chunk-KU4EDEKA.js → chunk-WKWTDZS7.js} +9 -9
  121. package/dist/{chunk-BTUSVHIE.mjs → chunk-WLSU5QJT.mjs} +2 -2
  122. package/dist/{chunk-NTTHAXHI.js → chunk-X5A5FOWW.js} +11 -8
  123. package/dist/{chunk-ODL55PYL.mjs → chunk-XD2PMH46.mjs} +16 -7
  124. package/dist/{chunk-OADW5BSV.js → chunk-XK6UDWJS.js} +2 -2
  125. package/dist/{chunk-7ZTEVNXO.mjs → chunk-Y65LXQGA.mjs} +8 -8
  126. package/dist/{chunk-Z3PGQRTX.mjs → chunk-Y66WVMO5.mjs} +3 -30
  127. package/dist/{chunk-VZAJDN5C.mjs → chunk-Y7JWLB25.mjs} +1 -1
  128. package/dist/{chunk-ZJGPD42I.js → chunk-YCDXAJKU.js} +3 -3
  129. package/dist/{chunk-NCTLCSLE.mjs → chunk-Z3A3AFVU.mjs} +1 -1
  130. package/dist/{chunk-AEEF3T2E.mjs → chunk-ZCY6YKKP.mjs} +3 -3
  131. package/dist/{chunk-M5FWHML6.js → chunk-ZMIL4ZOA.js} +5 -18
  132. package/dist/{chunk-D3JMTFOX.mjs → chunk-ZR5ULMN2.mjs} +1 -1
  133. package/dist/{client-C9hsiaki.d.ts → client-CChON4-x.d.ts} +2 -2
  134. package/dist/{client-CO8lw80Q.d.mts → client-EeuGm5gj.d.mts} +2 -2
  135. package/dist/{courier-CJasuxTU.d.ts → courier-Cnn-edJ4.d.ts} +5 -5
  136. package/dist/{courier-C2Vo2VlH.d.mts → courier-FmGfkvIN.d.mts} +5 -5
  137. package/dist/{crowd-D1ljcic8.d.ts → crowd-DdHFbqKK.d.ts} +1 -1
  138. package/dist/{crowd-B37S1apB.d.mts → crowd-hOVSAmA3.d.mts} +1 -1
  139. package/dist/{danfo-BsaPzhGi.d.mts → danfo-BEBapFlX.d.mts} +3 -3
  140. package/dist/{danfo-CCv23CPy.d.ts → danfo-UQ_PTIIx.d.ts} +3 -3
  141. package/dist/{elements-Bsfk7CPw.d.ts → elements-ss9xZgRg.d.mts} +47 -1
  142. package/dist/{elements-Bsfk7CPw.d.mts → elements-ss9xZgRg.d.ts} +47 -1
  143. package/dist/engines/godot.d.mts +1 -1
  144. package/dist/engines/godot.d.ts +1 -1
  145. package/dist/engines/wasm.d.mts +1 -1
  146. package/dist/engines/wasm.d.ts +1 -1
  147. package/dist/fallback-KDB4Y2CE.mjs +6 -0
  148. package/dist/fallback-Y26TQENE.js +19 -0
  149. package/dist/{five-a-side-DP84gMuh.d.mts → five-a-side-Bv1AOUy3.d.mts} +4 -4
  150. package/dist/{five-a-side-DO8SDqMb.d.ts → five-a-side-EC51SJY1.d.ts} +4 -4
  151. package/dist/{fluid-BkxNBD2t.d.ts → fluid-ARr0qUIL.d.ts} +168 -4
  152. package/dist/{fluid-BZ42EMds.d.mts → fluid-DLlEj2cs.d.mts} +168 -4
  153. package/dist/game/conformance.d.mts +7 -7
  154. package/dist/game/conformance.d.ts +7 -7
  155. package/dist/game/conformance.js +39 -41
  156. package/dist/game/conformance.mjs +17 -19
  157. package/dist/game/heap.d.mts +3 -3
  158. package/dist/game/heap.d.ts +3 -3
  159. package/dist/game/heap.js +13 -15
  160. package/dist/game/heap.mjs +4 -6
  161. package/dist/game/kit/canvas.d.mts +33 -34
  162. package/dist/game/kit/canvas.d.ts +33 -34
  163. package/dist/game/kit/canvas.js +569 -570
  164. package/dist/game/kit/canvas.mjs +52 -53
  165. package/dist/game/kit/courier.d.mts +9 -9
  166. package/dist/game/kit/courier.d.ts +9 -9
  167. package/dist/game/kit/courier.js +20 -20
  168. package/dist/game/kit/courier.mjs +17 -17
  169. package/dist/game/kit/danfo.d.mts +7 -7
  170. package/dist/game/kit/danfo.d.ts +7 -7
  171. package/dist/game/kit/danfo.js +30 -30
  172. package/dist/game/kit/danfo.mjs +15 -15
  173. package/dist/game/kit/engine.d.mts +12 -12
  174. package/dist/game/kit/engine.d.ts +12 -12
  175. package/dist/game/kit/engine.js +40 -41
  176. package/dist/game/kit/engine.mjs +11 -12
  177. package/dist/game/kit/five-a-side.d.mts +7 -7
  178. package/dist/game/kit/five-a-side.d.ts +7 -7
  179. package/dist/game/kit/five-a-side.js +24 -24
  180. package/dist/game/kit/five-a-side.mjs +14 -14
  181. package/dist/game/kit/frontier.d.mts +7 -7
  182. package/dist/game/kit/frontier.d.ts +7 -7
  183. package/dist/game/kit/genesis.d.mts +7 -7
  184. package/dist/game/kit/genesis.d.ts +7 -7
  185. package/dist/game/kit/ludo.d.mts +8 -8
  186. package/dist/game/kit/ludo.d.ts +8 -8
  187. package/dist/game/kit/ludo.js +24 -24
  188. package/dist/game/kit/ludo.mjs +14 -14
  189. package/dist/game/kit/runner.d.mts +8 -8
  190. package/dist/game/kit/runner.d.ts +8 -8
  191. package/dist/game/kit/runner.js +22 -22
  192. package/dist/game/kit/runner.mjs +14 -14
  193. package/dist/game/kit/shootout.d.mts +9 -9
  194. package/dist/game/kit/shootout.d.ts +9 -9
  195. package/dist/game/kit/shootout.js +33 -34
  196. package/dist/game/kit/shootout.mjs +18 -19
  197. package/dist/game/kit/tycoon.d.mts +9 -9
  198. package/dist/game/kit/tycoon.d.ts +9 -9
  199. package/dist/game/kit/tycoon.js +38 -38
  200. package/dist/game/kit/tycoon.mjs +14 -14
  201. package/dist/game/kit/word.d.mts +7 -7
  202. package/dist/game/kit/word.d.ts +7 -7
  203. package/dist/game/kit/word.js +22 -22
  204. package/dist/game/kit/word.mjs +14 -14
  205. package/dist/game/kit/worlds.d.mts +10 -10
  206. package/dist/game/kit/worlds.d.ts +10 -10
  207. package/dist/game/kit/worlds.js +22 -22
  208. package/dist/game/kit/worlds.mjs +17 -17
  209. package/dist/game/kit.d.mts +31 -32
  210. package/dist/game/kit.d.ts +31 -32
  211. package/dist/game/kit.js +523 -524
  212. package/dist/game/kit.mjs +38 -39
  213. package/dist/game/prepared.d.mts +6 -7
  214. package/dist/game/prepared.d.ts +6 -7
  215. package/dist/game/prepared.js +23 -24
  216. package/dist/game/prepared.mjs +12 -13
  217. package/dist/{game-BZAfgKV6.d.mts → game-Bx8onkhX.d.mts} +5 -97
  218. package/dist/{game-UoJWopvD.d.ts → game-fgQy2YIm.d.ts} +5 -97
  219. package/dist/game.d.mts +56 -18
  220. package/dist/game.d.ts +56 -18
  221. package/dist/game.js +922 -927
  222. package/dist/game.mjs +16 -17
  223. package/dist/{graphics-DNIAV5Mi.d.ts → graphics-C6YjWYvP.d.ts} +1 -1
  224. package/dist/{graphics-CGJDdtdT.d.mts → graphics-Dk2yQnYN.d.mts} +1 -1
  225. package/dist/{guest-CMCZeyh5.d.mts → guest-DrsA00XD.d.mts} +2 -7
  226. package/dist/{guest-CB458Hgw.d.ts → guest-wIdfoT05.d.ts} +2 -7
  227. package/dist/{hit-stop-D2Ca-i9-.d.mts → hit-stop-BKkVwTq7.d.mts} +1 -1
  228. package/dist/{hit-stop-Ca1OYk15.d.ts → hit-stop-D-8pPYnM.d.ts} +1 -1
  229. package/dist/{hot-B9BTmDz6.d.ts → hot-Crn9XpHJ.d.ts} +1 -1
  230. package/dist/{hot-B_L-GEHZ.d.mts → hot-DH3nOhQD.d.mts} +1 -1
  231. package/dist/{index-DPeyo938.d.ts → index-B8ybCKJI.d.ts} +3 -3
  232. package/dist/index-BB2gjVvA.d.mts +153 -0
  233. package/dist/index-BEfmBDAH.d.ts +153 -0
  234. package/dist/{index-D8ZDzms9.d.mts → index-DHjNHb1c.d.mts} +3 -3
  235. package/dist/{index-DFDeJxFQ.d.ts → index-DQK8sTfu.d.ts} +2 -2
  236. package/dist/{index-C76o9Pj4.d.mts → index-DSVkhRmW.d.mts} +2 -2
  237. package/dist/index.d.mts +8 -8
  238. package/dist/index.d.ts +8 -8
  239. package/dist/index.js +189 -177
  240. package/dist/index.mjs +8 -8
  241. package/dist/interactives-authoring.js +12 -1
  242. package/dist/interactives-authoring.mjs +12 -1
  243. package/dist/interactives-canvas.global.js +14 -39
  244. package/dist/interactives-guest.d.mts +2 -2
  245. package/dist/interactives-guest.d.ts +2 -2
  246. package/dist/interactives-guest.js +10 -10
  247. package/dist/interactives-guest.mjs +6 -6
  248. package/dist/interactives-jsc.global.js +4 -23
  249. package/dist/interactives-meters.d.mts +11 -11
  250. package/dist/interactives-meters.d.ts +11 -11
  251. package/dist/interactives-meters.js +65 -66
  252. package/dist/interactives-meters.mjs +17 -18
  253. package/dist/interactives-production.d.mts +5 -5
  254. package/dist/interactives-production.d.ts +5 -5
  255. package/dist/interactives-production.js +15 -16
  256. package/dist/interactives-production.mjs +3 -4
  257. package/dist/interactives-record.d.mts +3 -9
  258. package/dist/interactives-record.d.ts +3 -9
  259. package/dist/interactives-record.js +45 -65
  260. package/dist/interactives-record.mjs +19 -39
  261. package/dist/interactives-runtime.d.mts +3 -3
  262. package/dist/interactives-runtime.d.ts +3 -3
  263. package/dist/interactives-runtime.js +101 -105
  264. package/dist/interactives-runtime.mjs +6 -6
  265. package/dist/interactives-studio-kernel.global.js +1 -1
  266. package/dist/interactives-studio.d.mts +7 -7
  267. package/dist/interactives-studio.d.ts +7 -7
  268. package/dist/interactives-studio.js +136 -82
  269. package/dist/interactives-studio.mjs +65 -11
  270. package/dist/interactives-web.d.mts +14 -14
  271. package/dist/interactives-web.d.ts +14 -14
  272. package/dist/interactives-web.js +201 -198
  273. package/dist/interactives-web.mjs +33 -34
  274. package/dist/interactives.d.mts +7 -28
  275. package/dist/interactives.d.ts +7 -28
  276. package/dist/interactives.js +267 -313
  277. package/dist/interactives.mjs +26 -24
  278. package/dist/{juice-Dfgc1B1q.d.ts → juice-CoHxlpKA.d.ts} +1 -1
  279. package/dist/{juice-CsnrmTOk.d.mts → juice-DQztFS43.d.mts} +1 -1
  280. package/dist/{launch-CCsmv8HC.d.mts → launch-T2f4_Di4.d.mts} +6 -6
  281. package/dist/{launch-8W_Tojpz.d.ts → launch-d6oreMzR.d.ts} +6 -6
  282. package/dist/{local-DA_HpPOj.d.mts → local-D8_I6UeL.d.mts} +0 -5
  283. package/dist/{local-_mD0x-p_.d.ts → local-VZkqsCzR.d.ts} +0 -5
  284. package/dist/{ludo-BVHycBP-.d.ts → ludo-B8ClkDqr.d.ts} +4 -4
  285. package/dist/{ludo-BRaTcI3E.d.mts → ludo-BOuohQ-M.d.mts} +4 -4
  286. package/dist/mock/cli.mjs +25 -10
  287. package/dist/mock/library.js +25 -10
  288. package/dist/mock/library.mjs +25 -10
  289. package/dist/mock/msw.js +25 -10
  290. package/dist/mock/msw.mjs +25 -10
  291. package/dist/{native-CcMUV7rL.d.mts → native-BodxSh03.d.mts} +2 -2
  292. package/dist/{native-3f4Ht82c.d.ts → native-DUHMT8gA.d.ts} +2 -2
  293. package/dist/{online-CCy8pwOn.d.ts → online-XeymeM9s.d.ts} +1 -1
  294. package/dist/{online-smW2BO3Y.d.mts → online-d7W_Al9a.d.mts} +1 -1
  295. package/dist/{play-BhHHX1jD.d.ts → play-BRRlfLhX.d.ts} +5 -5
  296. package/dist/{play-Bn7NfGNE.d.mts → play-ClrMd_e8.d.mts} +5 -5
  297. package/dist/{policy-Dvnzg8ki.d.mts → policy-CCw8tXLm.d.mts} +19 -19
  298. package/dist/{policy-b3MVXMQu.d.ts → policy-CMqOSQIu.d.ts} +19 -19
  299. package/dist/{ports-CNeZdgVm.d.mts → ports-B_0v_P3A.d.mts} +1 -1
  300. package/dist/{ports-Vno6MDaR.d.ts → ports-CGU_3e_0.d.ts} +1 -1
  301. package/dist/{prefetch-BFg6lJyD.d.ts → prefetch-BHnicOQj.d.ts} +3 -3
  302. package/dist/{prefetch-BOoKX3qx.d.mts → prefetch-CBXgYacv.d.mts} +3 -3
  303. package/dist/{price-BIKJla_G.d.mts → price-B-w4PwHm.d.mts} +1 -1
  304. package/dist/{price-D1gE7Ek6.d.ts → price-BEvQFNJv.d.ts} +1 -1
  305. package/dist/react.d.mts +35 -27
  306. package/dist/react.d.ts +35 -27
  307. package/dist/react.js +276 -248
  308. package/dist/react.mjs +147 -119
  309. package/dist/{runner-BAG8EglP.d.ts → runner-CQcLL7By.d.ts} +6 -6
  310. package/dist/{runner-CKtKtIzc.d.mts → runner-D46Yj-wE.d.mts} +6 -6
  311. package/dist/{runtime-DfZp1Kwg.d.mts → runtime-BRWfkf_q.d.mts} +1 -8
  312. package/dist/{runtime-yHPgIJV-.d.ts → runtime-DyuBMkKM.d.ts} +1 -8
  313. package/dist/{scheduling-CnRAhWQL.d.ts → scheduling-D9WwOxbo.d.ts} +1 -1
  314. package/dist/{scheduling-lHyYoCa7.d.mts → scheduling-DDmrYCr-.d.mts} +1 -1
  315. package/dist/{server-DxcxjER1.d.ts → server-BiKwxvnf.d.ts} +2 -2
  316. package/dist/{server-lU3Sznd4.d.mts → server-DPdtl2dd.d.mts} +2 -2
  317. package/dist/server.d.mts +4 -4
  318. package/dist/server.d.ts +4 -4
  319. package/dist/server.js +10 -10
  320. package/dist/server.mjs +4 -4
  321. package/dist/{shootout-rK-oblpb.d.ts → shootout-BJZeX6FG.d.ts} +6 -6
  322. package/dist/{shootout-D998OWa-.d.mts → shootout-tcZd1Rxt.d.mts} +6 -6
  323. package/dist/styles.css +1 -1
  324. package/dist/{template-Byaueo34.d.mts → template-AhCdB1kW.d.mts} +3 -3
  325. package/dist/{template-BXE2L654.d.ts → template-BkEGVTQj.d.ts} +3 -3
  326. package/dist/{terrain-vgYkJPNx.d.ts → terrain-BMxEc6Oc.d.ts} +3 -3
  327. package/dist/{terrain-CR0NQZPl.d.mts → terrain-C-XC1Oui.d.mts} +3 -3
  328. package/dist/testing/msw.d.mts +3 -3
  329. package/dist/testing/msw.d.ts +3 -3
  330. package/dist/testing/msw.js +3 -3
  331. package/dist/testing/msw.mjs +2 -2
  332. package/dist/testing/suite.d.mts +6 -6
  333. package/dist/testing/suite.d.ts +6 -6
  334. package/dist/testing/suite.js +25 -25
  335. package/dist/testing/suite.mjs +6 -6
  336. package/dist/testing.d.mts +5 -5
  337. package/dist/testing.d.ts +5 -5
  338. package/dist/testing.js +117 -117
  339. package/dist/testing.mjs +7 -7
  340. package/dist/{tick-transport-Q_8syS8J.d.mts → tick-transport-C8QEh8Uw.d.mts} +1 -1
  341. package/dist/{tick-transport-xpMcMTs2.d.ts → tick-transport-UjHY3xK1.d.ts} +1 -1
  342. package/dist/{tree-BsXFWKQ6.d.mts → tree-C-Io2Hbx.d.mts} +1 -1
  343. package/dist/{tree-DW9x29Vv.d.ts → tree-CP_qSW4H.d.ts} +1 -1
  344. package/dist/{tycoon-BMAE5Wea.d.mts → tycoon-B5KHk2Xx.d.mts} +5 -5
  345. package/dist/{tycoon-dWvWTbE4.d.ts → tycoon-hmHo-3HX.d.ts} +5 -5
  346. package/dist/{types-AkQEePZo.d.mts → types-BQkxPwZP.d.mts} +1 -1
  347. package/dist/{types-BWaZJDla.d.ts → types-D_f6UUxM.d.ts} +1 -1
  348. package/dist/utils.d.mts +3 -3
  349. package/dist/utils.d.ts +3 -3
  350. package/dist/utils.js +44 -32
  351. package/dist/utils.mjs +2 -2
  352. package/dist/{weave-delivery-3G03LdMM.d.mts → weave-delivery-CW-Kstut.d.mts} +10 -1
  353. package/dist/{weave-delivery-3G03LdMM.d.ts → weave-delivery-CW-Kstut.d.ts} +10 -1
  354. package/dist/{web-C8B9uVx_.d.ts → web-Dss74a7v.d.ts} +7 -7
  355. package/dist/{web-BqSEfX2o.d.mts → web-f9ZQPoyw.d.mts} +7 -7
  356. package/dist/{weight-BDABC8cN.d.ts → weight-CPGjsgjV.d.ts} +3 -3
  357. package/dist/{weight-Cee73u3d.d.mts → weight-tF1ODR1p.d.mts} +3 -3
  358. package/dist/{word-DB2CcI9q.d.mts → word-BcX9Jcmv.d.mts} +3 -3
  359. package/dist/{word-C1Q8oXuy.d.ts → word-C7sVPLHm.d.ts} +3 -3
  360. package/dist/{world-Bmh7K4tQ.d.ts → world-PvILHDR1.d.ts} +1 -1
  361. package/dist/{world-CPEjuctH.d.mts → world-qekkXjJv.d.mts} +1 -1
  362. package/dist/{worlds-ShY5h6Z_.d.ts → worlds-Br2Pb0Cs.d.ts} +6 -6
  363. package/dist/{worlds-CQgN3GnR.d.mts → worlds-D5ydYr7d.d.mts} +6 -6
  364. package/package.json +5 -3
  365. package/registry/cart-summary.json +1 -1
  366. package/registry/chat-widget.json +1 -1
  367. package/registry/price.json +1 -1
  368. package/registry/product-customizer.json +1 -1
  369. package/registry/search-input.json +1 -1
  370. package/dist/chunk-2LKAOU3L.mjs +0 -96
  371. package/dist/chunk-UWPQL2IQ.js +0 -104
  372. package/dist/fallback-Q5YYIMVJ.js +0 -20
  373. package/dist/fallback-XGBE3RXC.mjs +0 -7
  374. package/dist/index-C3KORE2U.d.mts +0 -86
  375. package/dist/index-Cv_rL5X0.d.ts +0 -86
  376. package/dist/split-Di9wBpNx.d.mts +0 -68
  377. package/dist/split-Di9wBpNx.d.ts +0 -68
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkAOPH2IZV_js = require('./chunk-AOPH2IZV.js');
4
- var chunkEPYFN2A3_js = require('./chunk-EPYFN2A3.js');
5
- var chunkNTTHAXHI_js = require('./chunk-NTTHAXHI.js');
6
- var chunkW3VVG4NL_js = require('./chunk-W3VVG4NL.js');
3
+ var chunkSKQFLBDD_js = require('./chunk-SKQFLBDD.js');
4
+ var chunk7AAIAVAA_js = require('./chunk-7AAIAVAA.js');
5
+ var chunkX5A5FOWW_js = require('./chunk-X5A5FOWW.js');
6
+ var chunk2O2CG465_js = require('./chunk-2O2CG465.js');
7
7
  var chunk2V7IL4HC_js = require('./chunk-2V7IL4HC.js');
8
8
 
9
9
  // src/game/backends/engine/vector-surfaces.ts
@@ -33,12 +33,12 @@ function engineVectorSurfaceExports(symbols) {
33
33
  var VECTOR_SURFACE_PHASES = { down: 0, move: 1, up: 2, cancel: 3 }, VECTOR_SURFACE_PLAYS = { machine: 0, animation: 1, stop: 2 }, VECTOR_SURFACE_SEEKS = { machine: 0, animation: 1 }, VECTOR_SURFACE_DATA_KINDS = { number: 0, bool: 1, color: 2, id: 3, fire: 4 }, VECTOR_SURFACE_EVENT_BYTES = 32, VECTOR_SURFACE_EVENT_KIND = 14, VECTOR_SURFACE_STATS_WORDS = 8, VECTOR_SURFACE_RAY_WORDS = 7, EVENT_KIND_OFFSET = 0, EVENT_NODE_OFFSET = 4, EVENT_VALUE_OFFSET = 24, STAT_CAP = 0, STAT_LIVE = 1, STAT_ENCODED = 2, STAT_UNCHANGED = 3, STAT_OFFSCREEN = 4, STAT_OCCLUDED = 5, STAT_OVER_CAP = 6, STAT_DROPPED = 7, NO_NODE = 0, NO_SURFACE = 0, CONSUMED = 1, MICROS_PER_SECOND = 1e6, RAY_FAR = 6, UTF8 = new TextEncoder();
34
34
  function failure(code, what) {
35
35
  switch (code) {
36
- case chunkW3VVG4NL_js.ERROR_CAPACITY_EXCEEDED:
36
+ case chunk2O2CG465_js.ERROR_CAPACITY_EXCEEDED:
37
37
  return new chunk2V7IL4HC_js.GameError("capacity_exceeded", `${what}: capacity exceeded`);
38
- case chunkW3VVG4NL_js.ERROR_DEAD_ENTITY:
39
- case chunkW3VVG4NL_js.ERROR_UNKNOWN_RESOURCE:
38
+ case chunk2O2CG465_js.ERROR_DEAD_ENTITY:
39
+ case chunk2O2CG465_js.ERROR_UNKNOWN_RESOURCE:
40
40
  return new chunk2V7IL4HC_js.GameError("unknown_resource", `${what}: unknown resource`);
41
- case chunkW3VVG4NL_js.ERROR_UNSUPPORTED:
41
+ case chunk2O2CG465_js.ERROR_UNSUPPORTED:
42
42
  return new chunk2V7IL4HC_js.GameError("unsupported_feature", `${what}: unsupported`);
43
43
  default:
44
44
  return new chunk2V7IL4HC_js.GameError("invalid_argument", `${what}: invalid argument`);
@@ -58,7 +58,7 @@ var EngineVectorSurfaces = class {
58
58
  this.rayBytes = new Uint8Array(this.ray.buffer);
59
59
  }
60
60
  get cap() {
61
- return chunkEPYFN2A3_js.VECTOR_SURFACE_CAPS[this.tier];
61
+ return chunk7AAIAVAA_js.VECTOR_SURFACE_CAPS[this.tier];
62
62
  }
63
63
  get handle() {
64
64
  return this.host.handle;
@@ -145,7 +145,7 @@ var EngineVectorSurfaces = class {
145
145
  out.cap = words[(0)], out.live = words[(1)], out.encoded = words[(2)], out.unchanged = words[(3)], out.offscreen = words[(4)], out.occluded = words[(5)], out.overCap = words[(6)], out.droppedEvents = words[(7)];
146
146
  }
147
147
  setTier(tier) {
148
- checked(this.exports.engine_render_vector_surface_tier(this.handle, chunkEPYFN2A3_js.VECTOR_SURFACE_TIERS[tier]), "vector surface tier"), this.tier = tier;
148
+ checked(this.exports.engine_render_vector_surface_tier(this.handle, chunk7AAIAVAA_js.VECTOR_SURFACE_TIERS[tier]), "vector surface tier"), this.tier = tier;
149
149
  }
150
150
  frame(seconds) {
151
151
  this.surfaces !== 0 && checked(this.exports.engine_render_vector_frame(this.handle, Math.round(seconds * (1e6))), "vector surface frame");
@@ -200,13 +200,13 @@ var EngineMemory = class {
200
200
  return array.buffer === this.runtime.memory.buffer;
201
201
  }
202
202
  allocate(scalar, length) {
203
- let bytes = Math.max(length * SCALAR_BYTES[scalar], chunkW3VVG4NL_js.COLUMN_ALIGN), pointer = this.runtime.exports.engine_alloc(bytes, chunkW3VVG4NL_js.COLUMN_ALIGN);
203
+ let bytes = Math.max(length * SCALAR_BYTES[scalar], chunk2O2CG465_js.COLUMN_ALIGN), pointer = this.runtime.exports.engine_alloc(bytes, chunk2O2CG465_js.COLUMN_ALIGN);
204
204
  if (pointer === (0)) throw new chunk2V7IL4HC_js.GameError("capacity_exceeded", `engine memory cannot hold ${bytes} more bytes${arenaDetail(this.runtime.symbols)}`);
205
205
  return this.pointers.push(pointer), this.sizes.push(bytes), view(this.runtime.memory.buffer, scalar, pointer, length);
206
206
  }
207
207
  release() {
208
208
  for (let i = 0; i < this.pointers.length; i++)
209
- this.runtime.exports.engine_free(this.pointers[i], this.sizes[i], chunkW3VVG4NL_js.COLUMN_ALIGN);
209
+ this.runtime.exports.engine_free(this.pointers[i], this.sizes[i], chunk2O2CG465_js.COLUMN_ALIGN);
210
210
  this.pointers.length = 0, this.sizes.length = 0;
211
211
  }
212
212
  };
@@ -479,7 +479,7 @@ var MUSIC_EXPORTS = [
479
479
  "engine_audio_music_stinger",
480
480
  "engine_audio_music_stop",
481
481
  "engine_audio_music_position"
482
- ], WORD_BYTES = 4, DOUBLE_WORD_BYTES = 8, MUSIC_POSITION_OFFSET = 2 * chunkNTTHAXHI_js.MAX_STEMS * (4), MUSIC_OCCLUSION_OFFSET = MUSIC_POSITION_OFFSET + chunkNTTHAXHI_js.MUSIC_POSITION_WORDS * (8), MUSIC_STAGING_BYTES = MUSIC_OCCLUSION_OFFSET + chunkNTTHAXHI_js.OCCLUSION_WORDS * (4), ENGINE_SAMPLE_RATE = 48e3, ENGINE_AUDIO_EXPORT_NAMES = [
482
+ ], WORD_BYTES = 4, DOUBLE_WORD_BYTES = 8, MUSIC_POSITION_OFFSET = 2 * chunkX5A5FOWW_js.MAX_STEMS * (4), MUSIC_OCCLUSION_OFFSET = MUSIC_POSITION_OFFSET + chunkX5A5FOWW_js.MUSIC_POSITION_WORDS * (8), MUSIC_STAGING_BYTES = MUSIC_OCCLUSION_OFFSET + chunkX5A5FOWW_js.OCCLUSION_WORDS * (4), ENGINE_SAMPLE_RATE = 48e3, ENGINE_AUDIO_EXPORT_NAMES = [
483
483
  "engine_audio_bound",
484
484
  "engine_audio_load_pcm",
485
485
  "engine_audio_load_wav",
@@ -601,10 +601,10 @@ var NO_HANDLE = 0, NO_VOICE = -1, SILENT = -1, MASTER_BUS = 0, MASTER_PARENT = -
601
601
  this.musicStaging === 0 && (this.musicStaging = this.host.allocate(MUSIC_STAGING_BYTES));
602
602
  let buffer = this.host.memory.buffer, base = this.musicStaging;
603
603
  return {
604
- sounds: new Int32Array(buffer, base, chunkNTTHAXHI_js.MAX_STEMS),
605
- gains: new Float32Array(buffer, base + chunkNTTHAXHI_js.MAX_STEMS * (4), chunkNTTHAXHI_js.MAX_STEMS),
606
- position: new Float64Array(buffer, base + MUSIC_POSITION_OFFSET, chunkNTTHAXHI_js.MUSIC_POSITION_WORDS),
607
- occlusion: new Float32Array(buffer, base + MUSIC_OCCLUSION_OFFSET, chunkNTTHAXHI_js.OCCLUSION_WORDS)
604
+ sounds: new Int32Array(buffer, base, chunkX5A5FOWW_js.MAX_STEMS),
605
+ gains: new Float32Array(buffer, base + chunkX5A5FOWW_js.MAX_STEMS * (4), chunkX5A5FOWW_js.MAX_STEMS),
606
+ position: new Float64Array(buffer, base + MUSIC_POSITION_OFFSET, chunkX5A5FOWW_js.MUSIC_POSITION_WORDS),
607
+ occlusion: new Float32Array(buffer, base + MUSIC_OCCLUSION_OFFSET, chunkX5A5FOWW_js.OCCLUSION_WORDS)
608
608
  };
609
609
  }
610
610
  nowFrame() {
@@ -619,7 +619,7 @@ var NO_HANDLE = 0, NO_VOICE = -1, SILENT = -1, MASTER_BUS = 0, MASTER_PARENT = -
619
619
  if (!playAt) throw unsupported("sample-accurate scheduling");
620
620
  let sound = this.refined.get(previewed) ?? previewed;
621
621
  if (sound === (-1)) return (-1);
622
- let flags = (loop ? (1) : 0) | (spatial ? (2) : 0) | (priority & chunkNTTHAXHI_js.PRIORITY_MASK) << chunkNTTHAXHI_js.PLAY_PRIORITY_SHIFT, voice = playAt(this.handle, sound, bus, gain, rate, flags, frame);
622
+ let flags = (loop ? (1) : 0) | (spatial ? (2) : 0) | (priority & chunkX5A5FOWW_js.PRIORITY_MASK) << chunkX5A5FOWW_js.PLAY_PRIORITY_SHIFT, voice = playAt(this.handle, sound, bus, gain, rate, flags, frame);
623
623
  return voice < 0 ? (-1) : voice;
624
624
  }
625
625
  stopOn(voice, frame, fadeSeconds) {
@@ -639,7 +639,7 @@ var NO_HANDLE = 0, NO_VOICE = -1, SILENT = -1, MASTER_BUS = 0, MASTER_PARENT = -
639
639
  return;
640
640
  }
641
641
  let view2 = this.musicView().occlusion;
642
- view2.set(params.subarray(0, chunkNTTHAXHI_js.OCCLUSION_WORDS)), set(this.handle, voice, view2.byteOffset);
642
+ view2.set(params.subarray(0, chunkX5A5FOWW_js.OCCLUSION_WORDS)), set(this.handle, voice, view2.byteOffset);
643
643
  }
644
644
  musicTempo(bpm, beatsPerBar, quantize) {
645
645
  return this.host.exports.engine_audio_music_tempo?.(this.handle, bpm, beatsPerBar, quantize) ?? -1;
@@ -650,7 +650,7 @@ var NO_HANDLE = 0, NO_VOICE = -1, SILENT = -1, MASTER_BUS = 0, MASTER_PARENT = -
650
650
  let view2 = this.musicView();
651
651
  for (let i = 0; i < sounds.length; i++) view2.sounds[i] = this.refined.get(sounds[i]) ?? sounds[i];
652
652
  view2.gains.set(gains);
653
- let phrase = bars | quantize << chunkNTTHAXHI_js.PHRASE_QUANTIZE_SHIFT;
653
+ let phrase = bars | quantize << chunkX5A5FOWW_js.PHRASE_QUANTIZE_SHIFT;
654
654
  return play(this.handle, view2.sounds.byteOffset, view2.gains.byteOffset, sounds.length, phrase, bus, fadeSeconds);
655
655
  }
656
656
  musicLayer(layer, gain, rampSeconds) {
@@ -700,21 +700,21 @@ var NO_HANDLE = 0, NO_VOICE = -1, SILENT = -1, MASTER_BUS = 0, MASTER_PARENT = -
700
700
  if (!create) throw unsupported("emitter tables");
701
701
  let pointer = 0;
702
702
  if (params !== null) {
703
- for (let i = 0; i < chunkNTTHAXHI_js.SPATIAL_WORDS; i++) this.listener[i] = params[i];
703
+ for (let i = 0; i < chunkX5A5FOWW_js.SPATIAL_WORDS; i++) this.listener[i] = params[i];
704
704
  pointer = this.listener.byteOffset;
705
705
  }
706
706
  return create(this.handle, sound, bus, capacity, pointer);
707
707
  }
708
708
  feedEmitters(bank, table, columns) {
709
709
  let feed = this.host.exports.engine_audio_feed_emitters;
710
- return feed ? (this.emitterColumns === 0 && (this.emitterColumns = this.host.allocate(chunkNTTHAXHI_js.EMITTER_COLUMNS * (4))), new Uint32Array(this.host.memory.buffer, this.emitterColumns, chunkNTTHAXHI_js.EMITTER_COLUMNS).set(columns), feed(this.handle, bank, table, this.emitterColumns)) : 0;
710
+ return feed ? (this.emitterColumns === 0 && (this.emitterColumns = this.host.allocate(chunkX5A5FOWW_js.EMITTER_COLUMNS * (4))), new Uint32Array(this.host.memory.buffer, this.emitterColumns, chunkX5A5FOWW_js.EMITTER_COLUMNS).set(columns), feed(this.handle, bank, table, this.emitterColumns)) : 0;
711
711
  }
712
712
  releaseEmitters(bank) {
713
713
  this.host.exports.engine_audio_release_emitters?.(this.handle, bank);
714
714
  }
715
715
  meter(bus, out) {
716
716
  let pointer = this.listener.byteOffset;
717
- this.host.exports.engine_audio_meter(this.handle, bus, pointer), out[chunkNTTHAXHI_js.METER_PEAK] = this.listener[0], out[chunkNTTHAXHI_js.METER_RMS] = this.listener[1];
717
+ this.host.exports.engine_audio_meter(this.handle, bus, pointer), out[chunkX5A5FOWW_js.METER_PEAK] = this.listener[0], out[chunkX5A5FOWW_js.METER_RMS] = this.listener[1];
718
718
  }
719
719
  get capabilities() {
720
720
  return this.caps;
@@ -732,11 +732,11 @@ var NO_HANDLE = 0, NO_VOICE = -1, SILENT = -1, MASTER_BUS = 0, MASTER_PARENT = -
732
732
  voice !== (-1) && this.host.exports.engine_audio_set_voice_gain(this.handle, voice, gain, rampSeconds);
733
733
  }
734
734
  setVoiceRate(voice, rate, detuneCents) {
735
- voice !== (-1) && this.host.exports.engine_audio_set_voice_rate(this.handle, voice, chunkNTTHAXHI_js.detuneRate(rate, detuneCents));
735
+ voice !== (-1) && this.host.exports.engine_audio_set_voice_rate(this.handle, voice, chunkX5A5FOWW_js.detuneRate(rate, detuneCents));
736
736
  }
737
737
  setVoiceSpatial(voice, params) {
738
738
  if (voice !== (-1)) {
739
- for (let i = 0; i < chunkNTTHAXHI_js.SPATIAL_WORDS; i++) this.listener[i] = params[i];
739
+ for (let i = 0; i < chunkX5A5FOWW_js.SPATIAL_WORDS; i++) this.listener[i] = params[i];
740
740
  this.host.exports.engine_audio_set_voice_spatial(this.handle, voice, this.listener.byteOffset);
741
741
  }
742
742
  }
@@ -751,13 +751,13 @@ var NO_HANDLE = 0, NO_VOICE = -1, SILENT = -1, MASTER_BUS = 0, MASTER_PARENT = -
751
751
  createAnalyser(bus, settings) {
752
752
  if (!this.host.exports.engine_audio_capture) throw unsupported("the analyser");
753
753
  let bytes = settings.fftSize * (4);
754
- return bytes > this.captureBytes && (this.capture !== 0 && this.host.release(this.capture, this.captureBytes), this.capture = this.host.allocate(bytes), this.captureBytes = bytes), this.analysers.push(new chunkEPYFN2A3_js.FftAnalyser(settings)), this.analyserBus.push(bus), this.analysers.length - 1;
754
+ return bytes > this.captureBytes && (this.capture !== 0 && this.host.release(this.capture, this.captureBytes), this.capture = this.host.allocate(bytes), this.captureBytes = bytes), this.analysers.push(new chunk7AAIAVAA_js.FftAnalyser(settings)), this.analyserBus.push(bus), this.analysers.length - 1;
755
755
  }
756
756
  readAnalyser(analyser, mode, out) {
757
757
  let capture = this.host.exports.engine_audio_capture, found = this.analysers[analyser];
758
758
  if (!capture || !found) throw new chunk2V7IL4HC_js.GameError("unknown_resource", `analyser ${analyser} does not exist`);
759
759
  let frames = capture(this.handle, this.analyserBus[analyser], this.capture, found.fftSize);
760
- frames > 0 && found.push(this.captureView(), 0, Math.min(frames, found.fftSize)), mode === chunkNTTHAXHI_js.ANALYSER_FREQUENCY ? found.frequency(out) : found.timeDomain(out);
760
+ frames > 0 && found.push(this.captureView(), 0, Math.min(frames, found.fftSize)), mode === chunkX5A5FOWW_js.ANALYSER_FREQUENCY ? found.frequency(out) : found.timeDomain(out);
761
761
  }
762
762
  captureView() {
763
763
  let buffer = this.host.memory.buffer, view2 = this.captureFloats;
@@ -892,8 +892,8 @@ var NO_HANDLE = 0, NO_VOICE = -1, SILENT = -1, MASTER_BUS = 0, MASTER_PARENT = -
892
892
  }
893
893
  async decode(source) {
894
894
  let assets = this.host.assets;
895
- if ("url" in source && assets?.has?.(source.url + chunkNTTHAXHI_js.AUDIO_PREVIEW_SUFFIX) === true) {
896
- let preview = await this.decodeBytes(await assets.take(source.url + chunkNTTHAXHI_js.AUDIO_PREVIEW_SUFFIX));
895
+ if ("url" in source && assets?.has?.(source.url + chunkX5A5FOWW_js.AUDIO_PREVIEW_SUFFIX) === true) {
896
+ let preview = await this.decodeBytes(await assets.take(source.url + chunkX5A5FOWW_js.AUDIO_PREVIEW_SUFFIX));
897
897
  return this.refine(preview, assets, source.url), preview;
898
898
  }
899
899
  return this.decodeBytes(await this.bytes(source));
@@ -953,10 +953,10 @@ var NO_HANDLE = 0, NO_VOICE = -1, SILENT = -1, MASTER_BUS = 0, MASTER_PARENT = -
953
953
  setBusGain(bus, gain, rampSeconds) {
954
954
  this.host.exports.engine_audio_set_bus_gain(this.handle, bus, gain, rampSeconds);
955
955
  }
956
- play(previewed, bus, gain, rate, loop, spatial, priority = chunkNTTHAXHI_js.DEFAULT_PRIORITY) {
956
+ play(previewed, bus, gain, rate, loop, spatial, priority = chunkX5A5FOWW_js.DEFAULT_PRIORITY) {
957
957
  let sound = this.refined.get(previewed) ?? previewed;
958
958
  if (sound === (-1)) return (-1);
959
- let flags = (loop ? (1) : 0) | (spatial ? (2) : 0) | (priority & chunkNTTHAXHI_js.PRIORITY_MASK) << chunkNTTHAXHI_js.PLAY_PRIORITY_SHIFT, voice = this.host.exports.engine_audio_play(this.handle, sound, bus, gain, rate, flags);
959
+ let flags = (loop ? (1) : 0) | (spatial ? (2) : 0) | (priority & chunkX5A5FOWW_js.PRIORITY_MASK) << chunkX5A5FOWW_js.PLAY_PRIORITY_SHIFT, voice = this.host.exports.engine_audio_play(this.handle, sound, bus, gain, rate, flags);
960
960
  return voice < 0 ? (-1) : voice;
961
961
  }
962
962
  stop(voice, fadeSeconds) {
@@ -990,7 +990,7 @@ var NO_HANDLE = 0, NO_VOICE = -1, SILENT = -1, MASTER_BUS = 0, MASTER_PARENT = -
990
990
  this.host.exports.engine_audio_resume(this.handle), this.host.relay?.resume?.(), this.host.relay?.pump();
991
991
  }
992
992
  dispose() {
993
- this.host.exports.engine_audio_reset(this.handle), this.host.release(this.staging, this.stagingBytes), this.capture !== 0 && this.host.release(this.capture, this.captureBytes), this.streamPointer !== 0 && this.host.release(this.streamPointer, this.streamBytes), this.emitterColumns !== 0 && this.host.release(this.emitterColumns, chunkNTTHAXHI_js.EMITTER_COLUMNS * (4)), this.musicStaging !== 0 && this.host.release(this.musicStaging, MUSIC_STAGING_BYTES), this.musicStaging = 0, this.emitterColumns = 0, this.capture = 0, this.captureBytes = 0, this.streamPointer = 0, this.streamBytes = 0, this.streams.clear(), this.streamList.length = 0;
993
+ this.host.exports.engine_audio_reset(this.handle), this.host.release(this.staging, this.stagingBytes), this.capture !== 0 && this.host.release(this.capture, this.captureBytes), this.streamPointer !== 0 && this.host.release(this.streamPointer, this.streamBytes), this.emitterColumns !== 0 && this.host.release(this.emitterColumns, chunkX5A5FOWW_js.EMITTER_COLUMNS * (4)), this.musicStaging !== 0 && this.host.release(this.musicStaging, MUSIC_STAGING_BYTES), this.musicStaging = 0, this.emitterColumns = 0, this.capture = 0, this.captureBytes = 0, this.streamPointer = 0, this.streamBytes = 0, this.streams.clear(), this.streamList.length = 0;
994
994
  }
995
995
  };
996
996
  function unsupported(feature) {
@@ -1078,10 +1078,10 @@ var EngineRagdoll = class {
1078
1078
  }
1079
1079
  setDrive(joint, axis, drive) {
1080
1080
  let world = this.world(), floats = this.session.registerFloats;
1081
- floats[(0)] = drive.targetPosition ?? 0, floats[(1)] = drive.targetVelocity ?? 0, floats[(2)] = drive.stiffness, floats[(3)] = drive.damping, floats[(4)] = drive.maxForce ?? UNLIMITED, this.session.check(this.exports.engine_joint_drive(world, joint, chunkAOPH2IZV_js.JOINT_AXES[axis]), "joint drive");
1081
+ floats[(0)] = drive.targetPosition ?? 0, floats[(1)] = drive.targetVelocity ?? 0, floats[(2)] = drive.stiffness, floats[(3)] = drive.damping, floats[(4)] = drive.maxForce ?? UNLIMITED, this.session.check(this.exports.engine_joint_drive(world, joint, chunkSKQFLBDD_js.JOINT_AXES[axis]), "joint drive");
1082
1082
  }
1083
1083
  clearDrive(joint, axis) {
1084
- this.session.check(this.exports.engine_joint_drive_clear(this.world(), joint, chunkAOPH2IZV_js.JOINT_AXES[axis]), "clear joint drive");
1084
+ this.session.check(this.exports.engine_joint_drive_clear(this.world(), joint, chunkSKQFLBDD_js.JOINT_AXES[axis]), "clear joint drive");
1085
1085
  }
1086
1086
  setTarget(joint, rotation, drive) {
1087
1087
  let world = this.world(), floats = this.session.registerFloats;
@@ -1114,26 +1114,26 @@ var EngineRagdoll = class {
1114
1114
  }
1115
1115
  createRagdoll(desc) {
1116
1116
  let joints = desc.parents.length;
1117
- if (desc.pose.length < joints * chunkAOPH2IZV_js.POSE_STRIDE) throw new chunk2V7IL4HC_js.GameError("invalid_argument", `a ragdoll pose needs ${chunkAOPH2IZV_js.POSE_STRIDE} floats per joint`);
1118
- let bones = desc.bones.length, words = (16) + joints + joints * chunkAOPH2IZV_js.POSE_STRIDE + bones * (11), s = this.session, scratch = s.memory.allocate("u32", words), floats = new Float32Array(scratch.buffer, scratch.byteOffset, words);
1117
+ if (desc.pose.length < joints * chunkSKQFLBDD_js.POSE_STRIDE) throw new chunk2V7IL4HC_js.GameError("invalid_argument", `a ragdoll pose needs ${chunkSKQFLBDD_js.POSE_STRIDE} floats per joint`);
1118
+ let bones = desc.bones.length, words = (16) + joints + joints * chunkSKQFLBDD_js.POSE_STRIDE + bones * (11), s = this.session, scratch = s.memory.allocate("u32", words), floats = new Float32Array(scratch.buffer, scratch.byteOffset, words);
1119
1119
  scratch[(0)] = bones, scratch[(1)] = joints, writeRoot(floats, (2), desc.root ?? {}), floats[(12)] = desc.linearDamping ?? 0, floats[(13)] = desc.angularDamping ?? 0, floats[(14)] = desc.friction ?? Number.NaN;
1120
1120
  let entities = desc.bones.some((bone) => bone.entity !== void 0);
1121
1121
  scratch[(15)] = entities ? (1) : 0;
1122
1122
  for (let j = 0; j < joints; j++) {
1123
1123
  let parent = desc.parents[j];
1124
- scratch[(16) + j] = parent === chunkAOPH2IZV_js.NO_PARENT ? (4294967295) : parent;
1124
+ scratch[(16) + j] = parent === chunkSKQFLBDD_js.NO_PARENT ? (4294967295) : parent;
1125
1125
  }
1126
1126
  let poseAt = (16) + joints;
1127
- floats.set(desc.pose.subarray(0, joints * chunkAOPH2IZV_js.POSE_STRIDE), poseAt);
1128
- let bonesAt = poseAt + joints * chunkAOPH2IZV_js.POSE_STRIDE;
1127
+ floats.set(desc.pose.subarray(0, joints * chunkSKQFLBDD_js.POSE_STRIDE), poseAt);
1128
+ let bonesAt = poseAt + joints * chunkSKQFLBDD_js.POSE_STRIDE;
1129
1129
  for (let b = 0; b < bones; b++) {
1130
1130
  let bone = desc.bones[b], at = bonesAt + b * (11), axis = bone.axis ?? DEFAULT_AXIS, twist = bone.twist ?? DEFAULT_TWIST;
1131
1131
  scratch[at + (0)] = bone.joint;
1132
1132
  for (let k = 0; k < (3); k++) floats[at + (1) + k] = axis[k];
1133
1133
  floats[at + (4)] = bone.length, floats[at + (5)] = bone.radius, floats[at + (6)] = bone.density ?? (1e3), floats[at + (7)] = bone.swing ?? DEFAULT_SWING, floats[at + (8)] = twist[0], floats[at + (8) + 1] = twist[1], scratch[at + (10)] = bone.entity ?? (4294967295);
1134
1134
  }
1135
- let world = this.world(), id = s.check(this.exports.engine_ragdoll_create(world, scratch.byteOffset, words), "create ragdoll"), pose = s.memory.allocate("f32", joints * chunkAOPH2IZV_js.POSE_STRIDE);
1136
- return pose.set(desc.pose.subarray(0, joints * chunkAOPH2IZV_js.POSE_STRIDE)), new EngineRagdoll(s, this.exports, id, pose, bones);
1135
+ let world = this.world(), id = s.check(this.exports.engine_ragdoll_create(world, scratch.byteOffset, words), "create ragdoll"), pose = s.memory.allocate("f32", joints * chunkSKQFLBDD_js.POSE_STRIDE);
1136
+ return pose.set(desc.pose.subarray(0, joints * chunkSKQFLBDD_js.POSE_STRIDE)), new EngineRagdoll(s, this.exports, id, pose, bones);
1137
1137
  }
1138
1138
  };
1139
1139
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkDJUUL67Z_js = require('./chunk-DJUUL67Z.js');
3
+ var chunk7KFTYENS_js = require('./chunk-7KFTYENS.js');
4
4
  var chunkYXGZQPUD_js = require('./chunk-YXGZQPUD.js');
5
5
 
6
6
  // src/game/kit/templates/template.ts
@@ -9,7 +9,7 @@ function templateFrameStamp(frame) {
9
9
  return frame * (50) / (3) | 0;
10
10
  }
11
11
  async function createTemplateHarness(template, backend, seed, ui = null) {
12
- let game = await chunkDJUUL67Z_js.createGame({ backend, seed, ui }), scene = template.scene();
12
+ let game = await chunk7KFTYENS_js.createGame({ backend, seed, ui }), scene = template.scene();
13
13
  game.addScene(scene), game.start(scene.name);
14
14
  let bot = template.bot();
15
15
  return {
@@ -1,4 +1,4 @@
1
- import { MessageTag } from './chunk-URRZ2SMI.mjs';
1
+ import { MessageTag } from './chunk-V7ZRH3PY.mjs';
2
2
 
3
3
  // src/interactives/runtime/studio.ts
4
4
  var STUDIO_GRANT_TOPIC = "studio.grant", STUDIO_FRAME_HEADER_BYTES = 9, STUDIO_PART_BYTES = 1 << 20, STUDIO_MESSAGE_MAX_BYTES = 16 << 20, STUDIO_MAX_PARTS = STUDIO_MESSAGE_MAX_BYTES / STUDIO_PART_BYTES, STUDIO_MAX_TOPIC_BYTES = 64, STUDIO_HELD_MESSAGES = 8, SEQ_OFFSET = 1, INDEX_OFFSET = 5, COUNT_OFFSET = 7, TOPIC_LENGTH_BYTES = 1, JSON_LENGTH_BYTES = 4, PAYLOAD_HEAD_BYTES = (1) + (4), NULL_JSON = "null", STUDIO_CHANNEL_KEY = "__cimplify_studio", encoder = new TextEncoder(), decoder = new TextDecoder(), StudioFrameError = class extends Error {
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkB54P6RL2_js = require('./chunk-B54P6RL2.js');
3
+ var chunk2AQ237Y4_js = require('./chunk-2AQ237Y4.js');
4
4
  var chunkWHYKAT7G_js = require('./chunk-WHYKAT7G.js');
5
- var chunk56BM75QX_js = require('./chunk-56BM75QX.js');
6
- var chunkHPKKCUHU_js = require('./chunk-HPKKCUHU.js');
5
+ var chunkH5DFSCJ6_js = require('./chunk-H5DFSCJ6.js');
6
+ var chunk52YS45RR_js = require('./chunk-52YS45RR.js');
7
7
  var chunk3O47ZFW3_js = require('./chunk-3O47ZFW3.js');
8
- var chunkDJUUL67Z_js = require('./chunk-DJUUL67Z.js');
9
- var chunk4CVB2ZTC_js = require('./chunk-4CVB2ZTC.js');
8
+ var chunk7KFTYENS_js = require('./chunk-7KFTYENS.js');
9
+ var chunk5LH2QN3T_js = require('./chunk-5LH2QN3T.js');
10
10
  var chunkYXGZQPUD_js = require('./chunk-YXGZQPUD.js');
11
11
  var chunkJGBCIKJV_js = require('./chunk-JGBCIKJV.js');
12
12
 
@@ -109,7 +109,7 @@ var BuildersPlaza = class {
109
109
  this.placeOps = new Uint32Array((16));
110
110
  this.placeHead = 0;
111
111
  this.boxes = null;
112
- this.actions = new Int32Array((16)).fill(chunkDJUUL67Z_js.NO_UI_ACTION);
112
+ this.actions = new Int32Array((16)).fill(chunk7KFTYENS_js.NO_UI_ACTION);
113
113
  this.transform = new Float64Array(chunk3O47ZFW3_js.TRANSFORM_WORDS);
114
114
  this.rotation = new Float64Array(4);
115
115
  this.nearest = new Uint32Array(1);
@@ -128,7 +128,7 @@ var BuildersPlaza = class {
128
128
  let lighting = this.mirror.settings.lighting, sun = game.world.spawn();
129
129
  game.transforms.add(sun, (3), (10), (4)), game.graphics.create(sun, { kind: "light", light: "directional", intensity: SUN_INTENSITY[lighting] ?? SUN_INTENSITY[chunk3O47ZFW3_js.Lighting.Day] });
130
130
  let sky = game.world.spawn();
131
- game.transforms.add(sky), game.graphics.create(sky, { kind: "light", light: "hemisphere", intensity: SKY_INTENSITY[lighting] ?? SKY_INTENSITY[chunk3O47ZFW3_js.Lighting.Day] }), this.rig = chunkB54P6RL2_js.thirdPersonCharacter(game, { position: [0, 0, 0], register: false }), this.boxes = new chunkWHYKAT7G_js.BoxBatch(game, (512));
131
+ game.transforms.add(sky), game.graphics.create(sky, { kind: "light", light: "hemisphere", intensity: SKY_INTENSITY[lighting] ?? SKY_INTENSITY[chunk3O47ZFW3_js.Lighting.Day] }), this.rig = chunk2AQ237Y4_js.thirdPersonCharacter(game, { position: [0, 0, 0], register: false }), this.boxes = new chunkWHYKAT7G_js.BoxBatch(game, (512));
132
132
  for (let i = 0; i < (16); i++) this.actions[i] = game.ui.defineAction(ACTION_NAMES[i]);
133
133
  this.objectsSlot = game.ui.hudNumber("objects"), this.modeSlot = game.ui.hudText("mode", MODE_WALK);
134
134
  }
@@ -137,7 +137,7 @@ var BuildersPlaza = class {
137
137
  if (rig !== null) {
138
138
  for (rig.fixedUpdate(game); ; ) {
139
139
  let id = game.ui.pollAction();
140
- if (id === chunkDJUUL67Z_js.NO_UI_ACTION) break;
140
+ if (id === chunk7KFTYENS_js.NO_UI_ACTION) break;
141
141
  this.handle(game, rig, id);
142
142
  }
143
143
  this.observeResults();
@@ -169,7 +169,7 @@ var BuildersPlaza = class {
169
169
  }
170
170
  }
171
171
  target(game, rig) {
172
- let p = game.transforms.store.fields.position, o = game.transforms.row(rig.entity) * 3, yaw = rig.camera.state[chunkHPKKCUHU_js.FOLLOW_YAW], t = chunk3O47ZFW3_js.identityTransform(this.transform);
172
+ let p = game.transforms.store.fields.position, o = game.transforms.row(rig.entity) * 3, yaw = rig.camera.state[chunk52YS45RR_js.FOLLOW_YAW], t = chunk3O47ZFW3_js.identityTransform(this.transform);
173
173
  t[chunk3O47ZFW3_js.POSITION] = millimetres(p[o] - Math.sin(yaw) * WORLDS.reach), t[chunk3O47ZFW3_js.POSITION + 1] = 0, t[chunk3O47ZFW3_js.POSITION + 2] = millimetres(p[o + 2] - Math.cos(yaw) * WORLDS.reach);
174
174
  }
175
175
  nearestObject(game, rig, skipSelected) {
@@ -182,7 +182,7 @@ var BuildersPlaza = class {
182
182
  return best;
183
183
  }
184
184
  handle(game, rig, id) {
185
- let builder = this.builder, yaw = rig.camera.state[chunkHPKKCUHU_js.FOLLOW_YAW], forwardX = -Math.sin(yaw), forwardZ = -Math.cos(yaw), identity = this.rotation;
185
+ let builder = this.builder, yaw = rig.camera.state[chunk52YS45RR_js.FOLLOW_YAW], forwardX = -Math.sin(yaw), forwardZ = -Math.cos(yaw), identity = this.rotation;
186
186
  if (identity[0] = 0, identity[1] = 0, identity[2] = 0, identity[3] = 32767, id === this.actions[(0)]) {
187
187
  this.buildMode = !this.buildMode;
188
188
  return;
@@ -219,7 +219,7 @@ var BuildersPlaza = class {
219
219
  let p = game.transforms.store.fields.position, o = game.transforms.row(rig.entity) * 3, dx = p[o] - this.lastX, dz = p[o + 2] - this.lastZ;
220
220
  this.lastX = p[o], this.lastZ = p[o + 2];
221
221
  let length = Math.sqrt(dx * dx + dz * dz), ax = length > 0 ? dx / length : 0, az = length > 0 ? dz / length : 0;
222
- client.setInput(ax, az, rig.camera.state[chunkHPKKCUHU_js.FOLLOW_YAW], 0, now), client.update(now);
222
+ client.setInput(ax, az, rig.camera.state[chunk52YS45RR_js.FOLLOW_YAW], 0, now), client.update(now);
223
223
  }
224
224
  draw(game, player) {
225
225
  let boxes = this.boxes;
@@ -254,11 +254,11 @@ var BuildersPlaza = class {
254
254
  let rig = scene.rig;
255
255
  if (rig === null) return;
256
256
  let input = game.input;
257
- this.slotX === (-1) && (this.slotX = input.virtualControl(chunkB54P6RL2_js.TOUCH_CONTROLS.moveX), this.slotY = input.virtualControl(chunkB54P6RL2_js.TOUCH_CONTROLS.moveY), this.pickGoal(game)), frame > 0 && frame % (20) === 0 && (game.ui.dispatch(ACTION_NAMES[BOT_SCRIPT[this.step % BOT_SCRIPT.length]]), this.step++);
257
+ this.slotX === (-1) && (this.slotX = input.virtualControl(chunk2AQ237Y4_js.TOUCH_CONTROLS.moveX), this.slotY = input.virtualControl(chunk2AQ237Y4_js.TOUCH_CONTROLS.moveY), this.pickGoal(game)), frame > 0 && frame % (20) === 0 && (game.ui.dispatch(ACTION_NAMES[BOT_SCRIPT[this.step % BOT_SCRIPT.length]]), this.step++);
258
258
  let p = game.transforms.store.fields.position, o = game.transforms.row(rig.entity) * 3, wx = this.goal[0] - p[o], wz = this.goal[1] - p[o + 2], length = Math.sqrt(wx * wx + wz * wz);
259
259
  length > (0.6) ? (wx /= length, wz /= length) : (this.pickGoal(game), wx = 0, wz = 0);
260
- let yaw = rig.camera.state[chunkHPKKCUHU_js.FOLLOW_YAW], sy = Math.sin(yaw), cy = Math.cos(yaw), stage = input.stage, t = chunk56BM75QX_js.templateFrameStamp(frame);
261
- stage[chunk4CVB2ZTC_js.STAGE_X] = cy * wx - sy * wz, stage[chunk4CVB2ZTC_js.STAGE_TIME] = t, input.virtualStaged(this.slotX), stage[chunk4CVB2ZTC_js.STAGE_X] = -sy * wx - cy * wz, stage[chunk4CVB2ZTC_js.STAGE_TIME] = t, input.virtualStaged(this.slotY);
260
+ let yaw = rig.camera.state[chunk52YS45RR_js.FOLLOW_YAW], sy = Math.sin(yaw), cy = Math.cos(yaw), stage = input.stage, t = chunkH5DFSCJ6_js.templateFrameStamp(frame);
261
+ stage[chunk5LH2QN3T_js.STAGE_X] = cy * wx - sy * wz, stage[chunk5LH2QN3T_js.STAGE_TIME] = t, input.virtualStaged(this.slotX), stage[chunk5LH2QN3T_js.STAGE_X] = -sy * wx - cy * wz, stage[chunk5LH2QN3T_js.STAGE_TIME] = t, input.virtualStaged(this.slotY);
262
262
  }
263
263
  pickGoal(game) {
264
264
  game.random.rangeInto(this.goal, 0, -(9), (9)), game.random.rangeInto(this.goal, 1, -(9), (9));
@@ -277,7 +277,7 @@ var BuildersPlaza = class {
277
277
  let p = game.transforms.store.fields.position, o = game.transforms.row(rig.entity) * 3;
278
278
  d[4] = p[o], d[5] = p[o + 2];
279
279
  }
280
- return chunk56BM75QX_js.digestFloats(d, (6));
280
+ return chunkH5DFSCJ6_js.digestFloats(d, (6));
281
281
  }
282
282
  };
283
283
  async function joinBuildersPlaza(ctx, request) {
@@ -1,25 +1,20 @@
1
1
  'use strict';
2
2
 
3
- var chunkFAYK2MN6_js = require('./chunk-FAYK2MN6.js');
4
- var chunkCQSA2D2O_js = require('./chunk-CQSA2D2O.js');
3
+ var chunkNZTKLY2W_js = require('./chunk-NZTKLY2W.js');
5
4
 
6
5
  // src/game/conformance/engine-platform.ts
7
6
  var FS_MODULE = "node:fs/promises";
8
7
  async function load(file) {
9
- let fs = await import(
8
+ let bytes = await (await import(
10
9
  /* @vite-ignore */
11
10
  FS_MODULE
12
- ), bytes = await fs.readFile(file), rest = await fs.readFile(chunkCQSA2D2O_js.restFileOf(file)).catch(() => null);
13
- return linkedAhead(bytes, rest);
11
+ )).readFile(file);
12
+ return chunkNZTKLY2W_js.enginePlatformOf(await chunkNZTKLY2W_js.loadEngineRuntime(bytes));
14
13
  }
15
- async function linkedAhead(bytes, rest) {
16
- let runtime = await chunkFAYK2MN6_js.loadEngineRuntime(bytes, rest === null ? {} : { deferred: { rest: Promise.resolve(rest) } });
17
- return await runtime.deferred?.linking, chunkFAYK2MN6_js.enginePlatformOf(runtime);
18
- }
19
- function bytesFramePlatform(bytes, rest = null) {
14
+ function bytesFramePlatform(bytes) {
20
15
  let platform = null;
21
16
  return {
22
- engine: () => (platform ?? (platform = linkedAhead(bytes, rest)), platform)
17
+ engine: () => (platform ?? (platform = chunkNZTKLY2W_js.loadEngineRuntime(bytes).then(chunkNZTKLY2W_js.enginePlatformOf)), platform)
23
18
  };
24
19
  }
25
20
  function engineFramePlatform(file) {
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkNGN3JE5A_js = require('./chunk-NGN3JE5A.js');
3
+ var chunkPQTQKNKD_js = require('./chunk-PQTQKNKD.js');
4
4
 
5
5
  // src/game/kit/identity/fit.ts
6
6
  var FIT_ITERATIONS = 12, LANDMARK_NOISE = 0.01, RIDGE = 1e-9, PLANE = 2;
7
7
  function fittedTone(skin, stylise) {
8
- let tone = chunkNGN3JE5A_js.toneFromColour(skin);
9
- return stylise >= 1 ? chunkNGN3JE5A_js.snapTone(tone) : tone;
8
+ let tone = chunkPQTQKNKD_js.toneFromColour(skin);
9
+ return stylise >= 1 ? chunkPQTQKNKD_js.snapTone(tone) : tone;
10
10
  }
11
11
  var IdentityFitError = class extends Error {
12
12
  constructor(message) {
@@ -48,9 +48,9 @@ var IdentityFitter = class {
48
48
  this.base = base, this.anchors = base.anchors.names.length;
49
49
  let k = base.components, cage = new Float64Array(base.basis.cage.length), unit = new Float32Array(k), at = new Float64Array(3), all = new Float64Array(this.anchors * k * 3);
50
50
  for (let c = 0; c < k; c++) {
51
- unit.fill(0), unit[c] = 1, chunkNGN3JE5A_js.cageDisplacement(base, unit, cage);
51
+ unit.fill(0), unit[c] = 1, chunkPQTQKNKD_js.cageDisplacement(base, unit, cage);
52
52
  for (let l = 0; l < this.anchors; l++) {
53
- chunkNGN3JE5A_js.blendCage(cage, base.anchors.cageIndex, base.anchors.cageWeight, l, at);
53
+ chunkPQTQKNKD_js.blendCage(cage, base.anchors.cageIndex, base.anchors.cageWeight, l, at);
54
54
  for (let a = 0; a < 3; a++) all[(l * k + c) * 3 + a] = at[a];
55
55
  }
56
56
  }
@@ -155,8 +155,8 @@ var IdentityFitter = class {
155
155
  if (residual !== null)
156
156
  for (let a = 0; a < 3; a++) residual[l * 3 + a] = (rows[a] * projected[0] + rows[3 + a] * projected[1]) / scale;
157
157
  }
158
- let stylise = options.stylise ?? 1, colours = chunkNGN3JE5A_js.styliseColours(capture.colours, base.palettes, stylise), tone = options.continuousTone === true && capture.colours !== null ? fittedTone(capture.colours.skin, stylise) : null;
159
- return { params: chunkNGN3JE5A_js.quantiseIdentity({
158
+ let stylise = options.stylise ?? 1, colours = chunkPQTQKNKD_js.styliseColours(capture.colours, base.palettes, stylise), tone = options.continuousTone === true && capture.colours !== null ? fittedTone(capture.colours.skin, stylise) : null;
159
+ return { params: chunkPQTQKNKD_js.quantiseIdentity({
160
160
  basis: base.id,
161
161
  face: Float32Array.from(face),
162
162
  body: Float32Array.from(body),
@@ -169,11 +169,11 @@ var IdentityFitter = class {
169
169
  hairTip: colours.hair,
170
170
  eye: colours.eye,
171
171
  hairStyle: options.hairStyle ?? 0,
172
- hairBlock: chunkNGN3JE5A_js.NEUTRAL_HAIR,
172
+ hairBlock: chunkPQTQKNKD_js.NEUTRAL_HAIR,
173
173
  brows: options.brows ?? 0,
174
174
  facialHair: options.facialHair ?? 0,
175
175
  stylise,
176
- height: chunkNGN3JE5A_js.NEUTRAL_LEVEL,
176
+ height: chunkPQTQKNKD_js.NEUTRAL_LEVEL,
177
177
  assistive: [],
178
178
  fromPhoto: true,
179
179
  residual
@@ -1,23 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  // src/interactives/engine-variants.ts
4
- var GATED_ENGINE_FEATURES = ["physics", "models", "images"], TEXT_DICTIONARIES_ASSET = "runtime/text-dictionaries.bin", TEXT_DICTIONARIES_FILE = "text-dictionaries.bin", SPLIT_PROFILE_ENV = "CIMPLIFY_SPLIT_PROFILE", ENGINE_CORE_REST_UNIT = "@cimplify/engine-core-rest", ENGINE_REST_GROUP = "lazy:engine-rest", ENGINE_REST_PATH = "runtime/engine-core.rest.wasm", ENGINE_REST_SUFFIX = ".rest.wasm", ENGINE_CORE_UNIT_PREFIX = "@cimplify/engine-core", ENGINE_REST_UNIT_SUFFIX = "-rest";
5
- function restUnitOf(core) {
6
- return `${core}${ENGINE_REST_UNIT_SUFFIX}`;
7
- }
8
- function coreOfRest(unit) {
9
- return unit.startsWith(ENGINE_CORE_UNIT_PREFIX) && unit.endsWith(ENGINE_REST_UNIT_SUFFIX) ? unit.slice(0, -ENGINE_REST_UNIT_SUFFIX.length) : null;
10
- }
11
- function restGroupOf(core, plain) {
12
- return core === plain ? ENGINE_REST_GROUP : `${ENGINE_REST_GROUP}:${core.slice(core.lastIndexOf("/") + 1)}`;
13
- }
14
- function isEngineRestGroup(group) {
15
- return group === ENGINE_REST_GROUP || (group?.startsWith(`${ENGINE_REST_GROUP}:`) ?? false);
16
- }
17
- function restFileOf(file) {
18
- return file.replace(/\.wasm$/, ENGINE_REST_SUFFIX);
19
- }
20
- var ENGINE_CORE_GL_UNIT = "@cimplify/engine-core-gl", GL_CORE_GROUP = "gpu:webgl2", GL_CORE_PATH = "runtime/engine-core-gl.wasm", GL_SUFFIX = ".gl", WASM_EXTENSION = /\.wasm$/, BASE_ENGINE_VARIANT = { name: "base", features: [], file: "engine_wasm.base.wasm" }, PHYSICS_ENGINE_VARIANT = { name: "physics", features: ["physics"], file: "engine_wasm.physics.wasm" }, CONTENT_ENGINE_VARIANT = { name: "content", features: ["models", "images"], file: "engine_wasm.content.wasm" }, FULL_ENGINE_VARIANT = { name: "full", features: ["physics", "models", "images"], file: "engine_wasm.wasm" }, THREADED_ENGINE_VARIANT = { name: "threads", features: ["physics", "models", "images"], file: "engine_wasm.threads.wasm", threaded: true }, ENGINE_VARIANTS = [BASE_ENGINE_VARIANT, PHYSICS_ENGINE_VARIANT, CONTENT_ENGINE_VARIANT, FULL_ENGINE_VARIANT], THREADED_ENGINE_VARIANTS = [
4
+ var GATED_ENGINE_FEATURES = ["physics", "models", "images"], TEXT_DICTIONARIES_ASSET = "runtime/text-dictionaries.bin", TEXT_DICTIONARIES_FILE = "text-dictionaries.bin", ENGINE_CORE_GL_UNIT = "@cimplify/engine-core-gl", GL_CORE_GROUP = "gpu:webgl2", GL_CORE_PATH = "runtime/engine-core-gl.wasm";
5
+ var WASM_EXTENSION = /\.wasm$/, BASE_ENGINE_VARIANT = { name: "base", features: [], file: "engine_wasm.base.wasm" }, PHYSICS_ENGINE_VARIANT = { name: "physics", features: ["physics"], file: "engine_wasm.physics.wasm" }, CONTENT_ENGINE_VARIANT = { name: "content", features: ["models", "images"], file: "engine_wasm.content.wasm" }, FULL_ENGINE_VARIANT = { name: "full", features: ["physics", "models", "images"], file: "engine_wasm.wasm" }, THREADED_ENGINE_VARIANT = { name: "threads", features: ["physics", "models", "images"], file: "engine_wasm.threads.wasm", threaded: true }, ENGINE_VARIANTS = [BASE_ENGINE_VARIANT, PHYSICS_ENGINE_VARIANT, CONTENT_ENGINE_VARIANT, FULL_ENGINE_VARIANT], THREADED_ENGINE_VARIANTS = [
21
6
  { name: "threads-base", features: [], file: "engine_wasm.threads.base.wasm", threaded: true },
22
7
  { name: "threads-physics", features: ["physics"], file: "engine_wasm.threads.physics.wasm", threaded: true },
23
8
  { name: "threads-content", features: ["models", "images"], file: "engine_wasm.threads.content.wasm", threaded: true },
@@ -40,7 +25,7 @@ var ENGINE_CORE_GL_UNIT = "@cimplify/engine-core-gl", GL_CORE_GROUP = "gpu:webgl
40
25
  SCRIPTS_SHADERS_ENGINE_VARIANT
41
26
  ];
42
27
  function glOf(variant) {
43
- return { ...variant, name: `${variant.name}-gl`, file: variant.file.replace(WASM_EXTENSION, `${GL_SUFFIX}.wasm`), gl: true };
28
+ return { ...variant, name: `${variant.name}-gl`, file: variant.file.replace(WASM_EXTENSION, ".gl.wasm"), gl: true };
44
29
  }
45
30
  var GL_ENGINE_VARIANTS = [...ENGINE_VARIANTS, ...SCRIPTS_ENGINE_VARIANTS, ...SCRIPTS_SHADERS_ENGINE_VARIANTS].map(glOf);
46
31
  function isGlVariant(variant) {
@@ -51,7 +36,7 @@ function glVariantOf(variant) {
51
36
  }
52
37
  function webGpuVariantOf(variant) {
53
38
  if (!isGlVariant(variant)) return variant;
54
- let file = variant.file.replace(`${GL_SUFFIX}.wasm`, ".wasm");
39
+ let file = variant.file.replace(".gl.wasm", ".wasm");
55
40
  return [...ENGINE_VARIANTS, ...SCRIPTS_ENGINE_VARIANTS, ...SCRIPTS_SHADERS_ENGINE_VARIANTS].find((candidate) => candidate.file === file) ?? FULL_ENGINE_VARIANT;
56
41
  }
57
42
  function gated(feature) {
@@ -119,13 +104,7 @@ function isThreadedVariant(variant) {
119
104
  exports.BASE_ENGINE_VARIANT = BASE_ENGINE_VARIANT;
120
105
  exports.CONTENT_ENGINE_VARIANT = CONTENT_ENGINE_VARIANT;
121
106
  exports.ENGINE_CORE_GL_UNIT = ENGINE_CORE_GL_UNIT;
122
- exports.ENGINE_CORE_REST_UNIT = ENGINE_CORE_REST_UNIT;
123
- exports.ENGINE_CORE_UNIT_PREFIX = ENGINE_CORE_UNIT_PREFIX;
124
107
  exports.ENGINE_FEATURE_CARGO = ENGINE_FEATURE_CARGO;
125
- exports.ENGINE_REST_GROUP = ENGINE_REST_GROUP;
126
- exports.ENGINE_REST_PATH = ENGINE_REST_PATH;
127
- exports.ENGINE_REST_SUFFIX = ENGINE_REST_SUFFIX;
128
- exports.ENGINE_REST_UNIT_SUFFIX = ENGINE_REST_UNIT_SUFFIX;
129
108
  exports.ENGINE_VARIANTS = ENGINE_VARIANTS;
130
109
  exports.FULL_ENGINE_VARIANT = FULL_ENGINE_VARIANT;
131
110
  exports.GATED_ENGINE_FEATURES = GATED_ENGINE_FEATURES;
@@ -137,22 +116,16 @@ exports.SCRIPTS_ENGINE_VARIANT = SCRIPTS_ENGINE_VARIANT;
137
116
  exports.SCRIPTS_ENGINE_VARIANTS = SCRIPTS_ENGINE_VARIANTS;
138
117
  exports.SCRIPTS_SHADERS_ENGINE_VARIANT = SCRIPTS_SHADERS_ENGINE_VARIANT;
139
118
  exports.SCRIPTS_SHADERS_ENGINE_VARIANTS = SCRIPTS_SHADERS_ENGINE_VARIANTS;
140
- exports.SPLIT_PROFILE_ENV = SPLIT_PROFILE_ENV;
141
119
  exports.TEXT_DICTIONARIES_ASSET = TEXT_DICTIONARIES_ASSET;
142
120
  exports.TEXT_DICTIONARIES_FILE = TEXT_DICTIONARIES_FILE;
143
121
  exports.THREADED_ENGINE_VARIANT = THREADED_ENGINE_VARIANT;
144
122
  exports.THREADED_ENGINE_VARIANTS = THREADED_ENGINE_VARIANTS;
145
- exports.coreOfRest = coreOfRest;
146
123
  exports.engineVariantFor = engineVariantFor;
147
124
  exports.glVariantOf = glVariantOf;
148
- exports.isEngineRestGroup = isEngineRestGroup;
149
125
  exports.isGlVariant = isGlVariant;
150
126
  exports.isScriptsVariant = isScriptsVariant;
151
127
  exports.isShadersVariant = isShadersVariant;
152
128
  exports.isThreadedVariant = isThreadedVariant;
153
- exports.restFileOf = restFileOf;
154
- exports.restGroupOf = restGroupOf;
155
- exports.restUnitOf = restUnitOf;
156
129
  exports.scriptsShadersVariantOf = scriptsShadersVariantOf;
157
130
  exports.scriptsVariantOf = scriptsVariantOf;
158
131
  exports.threadedVariantOf = threadedVariantOf;
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var chunkUWPQL2IQ_js = require('./chunk-UWPQL2IQ.js');
4
-
5
3
  // src/game/backends/engine/threads.ts
6
4
  var STACK_POINTER_EXPORT = "__stack_pointer", INIT_TLS_EXPORT = "__wasm_init_tls", TLS_SIZE_EXPORT = "__tls_size", TLS_ALIGN_EXPORT = "__tls_align";
7
5
  var WORKER_STACK_BYTES = 1 << 20, STACK_ALIGN = 16, MIN_LANES = 2, MAX_ENGINE_WORKERS = 15, RESERVED_CORES = 1, WORKER_START_TIMEOUT_MS = 5e3, POLL_MS = 1, MEMORY_MODULE = "env", MEMORY_FIELD = "memory", FUNCTION_KIND = "function", SHARED_MEMORY_PROBE = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 2, 9, 1, 1, 101, 1, 109, 2, 3, 1, 1]);
@@ -28,33 +26,8 @@ self.onmessage = (event) => {
28
26
  imports[module] = imports[module] || {};
29
27
  imports[module][name] = () => { throw new Error("engine lane " + boot.index + " called the host import " + module + "." + name); };
30
28
  }
31
- const lanes = boot.deferred;
32
- let core = null;
33
- let table = null;
34
- const link = () => {
35
- const deadline = Date.now() + ${chunkUWPQL2IQ_js.LANE_LINK_WAIT_MS};
36
- while (Atomics.load(lanes.header, ${chunkUWPQL2IQ_js.LANE_STATE}) === 0) {
37
- const left = deadline - Date.now();
38
- if (left <= 0) throw new Error("engine lane " + boot.index + " reached deferred engine code before the rest of the engine arrived");
39
- Atomics.wait(lanes.header, ${chunkUWPQL2IQ_js.LANE_STATE}, 0, left);
40
- }
41
- const rest = new WebAssembly.Module(new Uint8Array(lanes.bytes, 0, Atomics.load(lanes.header, ${chunkUWPQL2IQ_js.LANE_LENGTH})).slice());
42
- new WebAssembly.Instance(rest, { ${JSON.stringify(chunkUWPQL2IQ_js.PRIMARY_NAMESPACE)}: core });
43
- for (const value of Object.values(core)) if (value instanceof WebAssembly.Table && value.length === lanes.slots) table = value;
44
- };
45
- if (lanes !== null) {
46
- const deferred = {};
47
- for (let slot = 0; slot < lanes.slots; slot++) {
48
- deferred[slot] = (...args) => {
49
- if (table === null) link();
50
- return table.get(slot)(...args);
51
- };
52
- }
53
- imports[${JSON.stringify(chunkUWPQL2IQ_js.PLACEHOLDER_NAMESPACE)}] = deferred;
54
- }
55
29
  WebAssembly.instantiate(boot.module, imports).then((instance) => {
56
30
  const exports = instance.exports;
57
- core = exports;
58
31
  exports[${JSON.stringify(STACK_POINTER_EXPORT)}].value = boot.stack;
59
32
  exports[${JSON.stringify(INIT_TLS_EXPORT)}](boot.tls);
60
33
  self.postMessage(boot.index);
@@ -65,7 +38,7 @@ self.onmessage = (event) => {
65
38
  function hostImportStubs(module) {
66
39
  let stubs = [];
67
40
  for (let entry of WebAssembly.Module.imports(module))
68
- entry.module !== chunkUWPQL2IQ_js.PLACEHOLDER_NAMESPACE && entry.kind === FUNCTION_KIND && !(entry.module === MEMORY_MODULE && entry.name === MEMORY_FIELD) && stubs.push([entry.module, entry.name]);
41
+ entry.kind === FUNCTION_KIND && !(entry.module === MEMORY_MODULE && entry.name === MEMORY_FIELD) && stubs.push([entry.module, entry.name]);
69
42
  return stubs;
70
43
  }
71
44
  function aligned(bytes, align) {
@@ -78,7 +51,7 @@ function delay(ms) {
78
51
  return new Promise((resolve) => setTimeout(resolve, ms));
79
52
  }
80
53
  var BROWSER_WORKERS = { create: (url) => new Worker(url) };
81
- async function startEngineThreads(module, memory, exports, workers, factory = BROWSER_WORKERS, deferred = null) {
54
+ async function startEngineThreads(module, memory, exports, workers, factory = BROWSER_WORKERS) {
82
55
  if (workers <= 0 || exports.engine_jobs_init(workers) < 0) return null;
83
56
  let tlsAlign = Math.max((16), globalValue(exports[TLS_ALIGN_EXPORT])), tlsBytes = aligned(Math.max(globalValue(exports[TLS_SIZE_EXPORT]), 1), tlsAlign), stubs = hostImportStubs(module), url = URL.createObjectURL(new Blob([WORKER_SOURCE], { type: "text/javascript" })), spawned = [], started = [];
84
57
  try {
@@ -91,7 +64,7 @@ async function startEngineThreads(module, memory, exports, workers, factory = BR
91
64
  worker.onmessage = (event) => resolve(event.data === index), worker.onerror = () => resolve(!1);
92
65
  })
93
66
  );
94
- let boot = { module, memory, index, stack: stack + WORKER_STACK_BYTES, tls, stubs, deferred };
67
+ let boot = { module, memory, index, stack: stack + WORKER_STACK_BYTES, tls, stubs };
95
68
  worker.postMessage(boot);
96
69
  }
97
70
  let ok = (await Promise.all(started)).every(Boolean), wanted = spawned.length + 1, deadline = Date.now() + (5e3);