@spawnite/engine 0.1.0-beta.15

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 (2563) hide show
  1. package/LICENSE.md +169 -0
  2. package/README.md +92 -0
  3. package/dist/-MLBVTaO.js +1 -0
  4. package/dist/28wIPE7L.js +1 -0
  5. package/dist/3rj0AvB6.js +1 -0
  6. package/dist/5L-NcwKR.js +1 -0
  7. package/dist/B-qLcgSf.js +1 -0
  8. package/dist/B0WN1jqX.js +41 -0
  9. package/dist/B1OUgdbN.js +1 -0
  10. package/dist/BEL83Bb6.js +1 -0
  11. package/dist/BGDOC3Q-.js +1 -0
  12. package/dist/BGM1SnEr.js +1 -0
  13. package/dist/BH6Ftfg9.js +1 -0
  14. package/dist/BJIJuxaE.js +1 -0
  15. package/dist/BJclgjKG.js +1 -0
  16. package/dist/BKc2k2s6.js +1 -0
  17. package/dist/BLB4-b4b.js +2 -0
  18. package/dist/BQnBIIt8.js +1 -0
  19. package/dist/BR3nbYwS.js +7 -0
  20. package/dist/BV9hGHeu.js +623 -0
  21. package/dist/BWOKsReG.js +1 -0
  22. package/dist/BWlq9jqw.js +1 -0
  23. package/dist/BXmxKBbF.js +3 -0
  24. package/dist/BYXhtwWy.js +1 -0
  25. package/dist/B_HFa2lJ.js +1 -0
  26. package/dist/BciVglt5.js +1 -0
  27. package/dist/Bfg1Y9_2.js +1 -0
  28. package/dist/Bh-CVkQx.js +1 -0
  29. package/dist/BiH9xCBB.js +1 -0
  30. package/dist/BobsCMiL.js +9 -0
  31. package/dist/Bp238wbZ.js +1 -0
  32. package/dist/Bpe0g5hX.js +1 -0
  33. package/dist/BrfUaL46.js +2 -0
  34. package/dist/Bw06YsIc.js +1 -0
  35. package/dist/Bydoy8wO.js +1 -0
  36. package/dist/BzaiZux2.js +1 -0
  37. package/dist/C25qqozO.js +1 -0
  38. package/dist/C6Ja5Z7G.js +1 -0
  39. package/dist/CCh4CnV9.js +1 -0
  40. package/dist/CEuuijY1.js +1 -0
  41. package/dist/CHntUxHl.js +1 -0
  42. package/dist/CIq9KviM.js +1 -0
  43. package/dist/CQPA3y5T.js +1 -0
  44. package/dist/CRfoqBKG.js +1 -0
  45. package/dist/CSXcU95U.js +1 -0
  46. package/dist/CU0epHFG.js +3 -0
  47. package/dist/CVgRrBP4.js +1 -0
  48. package/dist/CZV99t6a.js +7 -0
  49. package/dist/Cg33N9Ej.js +1 -0
  50. package/dist/Chcm92bZ.js +1 -0
  51. package/dist/CjiCdqiE.js +2 -0
  52. package/dist/Cp5beIll.js +1 -0
  53. package/dist/Cq6VqPHb.js +2 -0
  54. package/dist/CwZDkslT.js +1 -0
  55. package/dist/D3Y2LHFe.js +1 -0
  56. package/dist/D3wyrZ2_.js +1 -0
  57. package/dist/D8jIS84n.js +1 -0
  58. package/dist/DCIejHqp.js +1 -0
  59. package/dist/DHsBnfoU.js +1 -0
  60. package/dist/DJSpRhXB.js +1 -0
  61. package/dist/DOeUeeKs.js +1 -0
  62. package/dist/DR9bHgf0.js +1 -0
  63. package/dist/DRnuSAbu.js +1 -0
  64. package/dist/DSb1ApLU.js +1 -0
  65. package/dist/DXtppcZ7.js +1 -0
  66. package/dist/DZIhHLUn.js +1 -0
  67. package/dist/DgMhVbMU.js +1 -0
  68. package/dist/Dh5kh1nX.js +1 -0
  69. package/dist/DiGFL8kd.js +1 -0
  70. package/dist/DkKmurqu.js +1 -0
  71. package/dist/DlkDsMQd.js +1 -0
  72. package/dist/DnNEzpz-.js +1 -0
  73. package/dist/Dqx9hHBK.js +1 -0
  74. package/dist/DsgWLyZo.js +1 -0
  75. package/dist/DucRBEvN.js +1 -0
  76. package/dist/Dwcms3jX.js +1 -0
  77. package/dist/Dwfie-ev.js +1 -0
  78. package/dist/DyHjwN2H.js +1 -0
  79. package/dist/SMby3e6M.js +4 -0
  80. package/dist/THIRD-PARTY-NOTICES +329 -0
  81. package/dist/UJDr3Nrd.js +1 -0
  82. package/dist/V70ADx0g.js +2 -0
  83. package/dist/abilities.d.ts +1 -0
  84. package/dist/abilities.js +1 -0
  85. package/dist/core.d.ts +1 -0
  86. package/dist/core.js +1 -0
  87. package/dist/devtools.d.ts +1 -0
  88. package/dist/devtools.js +1 -0
  89. package/dist/dragAndDrop.d.ts +1 -0
  90. package/dist/dragAndDrop.js +1 -0
  91. package/dist/eYC1fQo5.js +1 -0
  92. package/dist/eslint.js +1 -0
  93. package/dist/hQBGE7c4.js +1 -0
  94. package/dist/index.d.ts +1 -0
  95. package/dist/index.js +297 -0
  96. package/dist/internal/cli.js +1 -0
  97. package/dist/internal/devServer.js +2 -0
  98. package/dist/internal/devtools.js +1 -0
  99. package/dist/internal/room.js +1 -0
  100. package/dist/inventory.d.ts +1 -0
  101. package/dist/inventory.js +1 -0
  102. package/dist/jMKXPXIH.js +33 -0
  103. package/dist/looks/dusk.d.ts +1 -0
  104. package/dist/looks/dusk.js +1 -0
  105. package/dist/looks/morning.d.ts +1 -0
  106. package/dist/looks/morning.js +1 -0
  107. package/dist/looks/night.d.ts +1 -0
  108. package/dist/looks/night.js +1 -0
  109. package/dist/looks/noon.d.ts +1 -0
  110. package/dist/looks/noon.js +1 -0
  111. package/dist/looks/overcast.d.ts +1 -0
  112. package/dist/looks/overcast.js +1 -0
  113. package/dist/npcs.d.ts +1 -0
  114. package/dist/npcs.js +1 -0
  115. package/dist/public.d.ts +18818 -0
  116. package/dist/replay.d.ts +1 -0
  117. package/dist/replay.js +1 -0
  118. package/dist/testing.d.ts +542 -0
  119. package/dist/testing.js +1 -0
  120. package/dist/three.d.ts +1 -0
  121. package/dist/three.js +1 -0
  122. package/dist/tracks.d.ts +1 -0
  123. package/dist/tracks.js +1 -0
  124. package/dist/vite.d.ts +123 -0
  125. package/dist/vite.js +1 -0
  126. package/dist/weapons.d.ts +1 -0
  127. package/dist/weapons.js +1 -0
  128. package/dist/wiki/engine/ai/metadata.md +143 -0
  129. package/dist/wiki/engine/audio/sound.md +72 -0
  130. package/dist/wiki/engine/audio/voice.md +153 -0
  131. package/dist/wiki/engine/behaviours/abilities.md +328 -0
  132. package/dist/wiki/engine/behaviours/bob.md +37 -0
  133. package/dist/wiki/engine/behaviours/chase.md +158 -0
  134. package/dist/wiki/engine/behaviours/cooldowns.md +83 -0
  135. package/dist/wiki/engine/behaviours/dialog.md +172 -0
  136. package/dist/wiki/engine/behaviours/health.md +330 -0
  137. package/dist/wiki/engine/behaviours/interact.md +41 -0
  138. package/dist/wiki/engine/behaviours/inventory.md +266 -0
  139. package/dist/wiki/engine/behaviours/loot.md +90 -0
  140. package/dist/wiki/engine/behaviours/pickup.md +149 -0
  141. package/dist/wiki/engine/behaviours/resources.md +274 -0
  142. package/dist/wiki/engine/behaviours/routines.md +99 -0
  143. package/dist/wiki/engine/behaviours/spin.md +36 -0
  144. package/dist/wiki/engine/behaviours/stats.md +220 -0
  145. package/dist/wiki/engine/behaviours/targeting.md +155 -0
  146. package/dist/wiki/engine/behaviours/track-mover.md +121 -0
  147. package/dist/wiki/engine/behaviours/track-trigger.md +117 -0
  148. package/dist/wiki/engine/behaviours/trigger.md +158 -0
  149. package/dist/wiki/engine/behaviours/weapon.md +462 -0
  150. package/dist/wiki/engine/entities/camera.md +326 -0
  151. package/dist/wiki/engine/entities/entity.mdx +1063 -0
  152. package/dist/wiki/engine/entities/npc.md +64 -0
  153. package/dist/wiki/engine/entities/player.md +435 -0
  154. package/dist/wiki/engine/errors/SP0001.md +20 -0
  155. package/dist/wiki/engine/errors/SP0002.md +20 -0
  156. package/dist/wiki/engine/errors/SP0003.md +20 -0
  157. package/dist/wiki/engine/errors/SP0008.md +20 -0
  158. package/dist/wiki/engine/errors/SP0009.md +20 -0
  159. package/dist/wiki/engine/errors/SP0010.md +20 -0
  160. package/dist/wiki/engine/errors/SP0011.md +20 -0
  161. package/dist/wiki/engine/errors/SP0014.md +20 -0
  162. package/dist/wiki/engine/errors/SP0015.md +20 -0
  163. package/dist/wiki/engine/errors/SP0016.md +20 -0
  164. package/dist/wiki/engine/errors/SP0017.md +20 -0
  165. package/dist/wiki/engine/errors/SP0018.md +20 -0
  166. package/dist/wiki/engine/errors/SP0019.md +20 -0
  167. package/dist/wiki/engine/errors/SP0020.md +20 -0
  168. package/dist/wiki/engine/errors/SP0021.md +20 -0
  169. package/dist/wiki/engine/errors/SP0022.md +20 -0
  170. package/dist/wiki/engine/errors/SP0023.md +20 -0
  171. package/dist/wiki/engine/errors/SP0024.md +20 -0
  172. package/dist/wiki/engine/errors/SP0025.md +20 -0
  173. package/dist/wiki/engine/errors/SP0026.md +22 -0
  174. package/dist/wiki/engine/errors/SP0027.md +20 -0
  175. package/dist/wiki/engine/errors/SP0028.md +20 -0
  176. package/dist/wiki/engine/errors/SP0029.md +20 -0
  177. package/dist/wiki/engine/errors/SP0030.md +20 -0
  178. package/dist/wiki/engine/errors/SP0031.md +20 -0
  179. package/dist/wiki/engine/errors/SP0034.md +20 -0
  180. package/dist/wiki/engine/errors/SP0035.md +20 -0
  181. package/dist/wiki/engine/errors/SP0036.md +20 -0
  182. package/dist/wiki/engine/errors/SP0037.md +20 -0
  183. package/dist/wiki/engine/errors/SP0038.md +20 -0
  184. package/dist/wiki/engine/errors/SP0039.md +20 -0
  185. package/dist/wiki/engine/errors/SP0040.md +20 -0
  186. package/dist/wiki/engine/errors/SP0041.md +20 -0
  187. package/dist/wiki/engine/errors/SP0042.md +20 -0
  188. package/dist/wiki/engine/errors/SP0043.md +20 -0
  189. package/dist/wiki/engine/errors/SP0045.md +20 -0
  190. package/dist/wiki/engine/errors/SP0046.md +20 -0
  191. package/dist/wiki/engine/errors/SP0047.md +20 -0
  192. package/dist/wiki/engine/errors/SP0048.md +20 -0
  193. package/dist/wiki/engine/errors/SP0049.md +20 -0
  194. package/dist/wiki/engine/errors/SP0050.md +20 -0
  195. package/dist/wiki/engine/errors/SP0051.md +20 -0
  196. package/dist/wiki/engine/errors/SP0052.md +20 -0
  197. package/dist/wiki/engine/errors/SP0053.md +20 -0
  198. package/dist/wiki/engine/errors/SP0054.md +20 -0
  199. package/dist/wiki/engine/errors/SP0055.md +20 -0
  200. package/dist/wiki/engine/errors/SP0056.md +20 -0
  201. package/dist/wiki/engine/errors/SP0057.md +20 -0
  202. package/dist/wiki/engine/errors/SP0058.md +20 -0
  203. package/dist/wiki/engine/errors/SP0059.md +20 -0
  204. package/dist/wiki/engine/errors/SP0060.md +20 -0
  205. package/dist/wiki/engine/errors/SP0061.md +20 -0
  206. package/dist/wiki/engine/errors/SP0064.md +20 -0
  207. package/dist/wiki/engine/errors/SP0065.md +20 -0
  208. package/dist/wiki/engine/errors/SP0066.md +20 -0
  209. package/dist/wiki/engine/errors/SP0067.md +20 -0
  210. package/dist/wiki/engine/errors/SP0070.md +20 -0
  211. package/dist/wiki/engine/errors/SP0071.md +20 -0
  212. package/dist/wiki/engine/errors/SP0072.md +20 -0
  213. package/dist/wiki/engine/errors/SP0073.md +20 -0
  214. package/dist/wiki/engine/errors/SP0074.md +20 -0
  215. package/dist/wiki/engine/errors/SP0075.md +20 -0
  216. package/dist/wiki/engine/errors/SP0076.md +20 -0
  217. package/dist/wiki/engine/errors/SP0077.md +20 -0
  218. package/dist/wiki/engine/errors/SP0078.md +20 -0
  219. package/dist/wiki/engine/errors/SP0079.md +20 -0
  220. package/dist/wiki/engine/errors/SP0080.md +20 -0
  221. package/dist/wiki/engine/errors/SP0081.md +20 -0
  222. package/dist/wiki/engine/errors/SP0082.md +20 -0
  223. package/dist/wiki/engine/errors/SP0083.md +20 -0
  224. package/dist/wiki/engine/errors/SP0084.md +20 -0
  225. package/dist/wiki/engine/errors/SP0085.md +20 -0
  226. package/dist/wiki/engine/errors/SP0086.md +20 -0
  227. package/dist/wiki/engine/errors/SP0087.md +20 -0
  228. package/dist/wiki/engine/errors/SP0089.md +20 -0
  229. package/dist/wiki/engine/errors/SP0090.md +20 -0
  230. package/dist/wiki/engine/errors/SP0091.md +20 -0
  231. package/dist/wiki/engine/errors/SP0092.md +20 -0
  232. package/dist/wiki/engine/errors/SP0093.md +20 -0
  233. package/dist/wiki/engine/errors/SP0094.md +20 -0
  234. package/dist/wiki/engine/errors/SP0095.md +20 -0
  235. package/dist/wiki/engine/errors/SP0096.md +20 -0
  236. package/dist/wiki/engine/errors/SP0097.md +20 -0
  237. package/dist/wiki/engine/errors/SP0098.md +20 -0
  238. package/dist/wiki/engine/errors/SP0099.md +20 -0
  239. package/dist/wiki/engine/errors/SP0100.md +20 -0
  240. package/dist/wiki/engine/errors/SP0101.md +20 -0
  241. package/dist/wiki/engine/errors/SP0102.md +20 -0
  242. package/dist/wiki/engine/errors/SP0103.md +20 -0
  243. package/dist/wiki/engine/errors/SP0104.md +20 -0
  244. package/dist/wiki/engine/errors/SP0105.md +20 -0
  245. package/dist/wiki/engine/errors/SP0106.md +20 -0
  246. package/dist/wiki/engine/errors/SP0107.md +20 -0
  247. package/dist/wiki/engine/errors/SP0108.md +20 -0
  248. package/dist/wiki/engine/errors/SP0109.md +20 -0
  249. package/dist/wiki/engine/errors/SP0110.md +20 -0
  250. package/dist/wiki/engine/errors/SP0111.md +20 -0
  251. package/dist/wiki/engine/errors/SP0112.md +20 -0
  252. package/dist/wiki/engine/errors/SP0113.md +20 -0
  253. package/dist/wiki/engine/errors/SP0114.md +20 -0
  254. package/dist/wiki/engine/errors/SP0115.md +20 -0
  255. package/dist/wiki/engine/errors/SP0116.md +20 -0
  256. package/dist/wiki/engine/errors/SP0117.md +20 -0
  257. package/dist/wiki/engine/errors/SP0118.md +20 -0
  258. package/dist/wiki/engine/errors/SP0119.md +20 -0
  259. package/dist/wiki/engine/errors/SP0120.md +20 -0
  260. package/dist/wiki/engine/errors/SP0121.md +20 -0
  261. package/dist/wiki/engine/errors/SP0122.md +20 -0
  262. package/dist/wiki/engine/errors/SP0125.md +20 -0
  263. package/dist/wiki/engine/errors/SP0126.md +20 -0
  264. package/dist/wiki/engine/errors/SP0132.md +20 -0
  265. package/dist/wiki/engine/errors/SP0133.md +20 -0
  266. package/dist/wiki/engine/errors/SP0134.md +20 -0
  267. package/dist/wiki/engine/errors/SP0137.md +20 -0
  268. package/dist/wiki/engine/errors/SP0138.md +20 -0
  269. package/dist/wiki/engine/errors/SP0139.md +20 -0
  270. package/dist/wiki/engine/errors/SP0143.md +20 -0
  271. package/dist/wiki/engine/errors/SP0145.md +20 -0
  272. package/dist/wiki/engine/errors/SP0146.md +20 -0
  273. package/dist/wiki/engine/errors/SP0147.md +20 -0
  274. package/dist/wiki/engine/errors/SP0148.md +20 -0
  275. package/dist/wiki/engine/errors/SP0149.md +20 -0
  276. package/dist/wiki/engine/errors/SP0150.md +20 -0
  277. package/dist/wiki/engine/errors/SP0151.md +20 -0
  278. package/dist/wiki/engine/errors/SP0152.md +20 -0
  279. package/dist/wiki/engine/errors/SP0154.md +20 -0
  280. package/dist/wiki/engine/errors/SP0157.md +20 -0
  281. package/dist/wiki/engine/errors/SP0158.md +20 -0
  282. package/dist/wiki/engine/errors/SP0159.md +20 -0
  283. package/dist/wiki/engine/errors/SP0160.md +20 -0
  284. package/dist/wiki/engine/errors/SP0161.md +20 -0
  285. package/dist/wiki/engine/errors/SP0162.md +20 -0
  286. package/dist/wiki/engine/errors/SP0163.md +20 -0
  287. package/dist/wiki/engine/errors/SP0164.md +20 -0
  288. package/dist/wiki/engine/errors/SP0165.md +20 -0
  289. package/dist/wiki/engine/errors/SP0166.md +20 -0
  290. package/dist/wiki/engine/errors/SP0167.md +20 -0
  291. package/dist/wiki/engine/errors/SP0169.md +20 -0
  292. package/dist/wiki/engine/errors/SP0175.md +20 -0
  293. package/dist/wiki/engine/errors/SP0176.md +20 -0
  294. package/dist/wiki/engine/errors/SP0177.md +20 -0
  295. package/dist/wiki/engine/errors/SP0178.md +20 -0
  296. package/dist/wiki/engine/errors/SP0179.md +20 -0
  297. package/dist/wiki/engine/errors/SP0180.md +20 -0
  298. package/dist/wiki/engine/errors/SP0181.md +20 -0
  299. package/dist/wiki/engine/errors/SP0182.md +20 -0
  300. package/dist/wiki/engine/errors/SP0183.md +20 -0
  301. package/dist/wiki/engine/errors/SP0184.md +20 -0
  302. package/dist/wiki/engine/errors/SP0185.md +20 -0
  303. package/dist/wiki/engine/errors/SP0186.md +20 -0
  304. package/dist/wiki/engine/errors/SP0187.md +20 -0
  305. package/dist/wiki/engine/errors/SP0188.md +20 -0
  306. package/dist/wiki/engine/errors/SP0189.md +20 -0
  307. package/dist/wiki/engine/errors/SP0190.md +20 -0
  308. package/dist/wiki/engine/errors/SP0191.md +20 -0
  309. package/dist/wiki/engine/errors/SP0192.md +20 -0
  310. package/dist/wiki/engine/errors/SP0193.md +20 -0
  311. package/dist/wiki/engine/errors/SP0194.md +20 -0
  312. package/dist/wiki/engine/errors/SP0195.md +20 -0
  313. package/dist/wiki/engine/errors/SP0196.md +20 -0
  314. package/dist/wiki/engine/errors/SP0197.md +20 -0
  315. package/dist/wiki/engine/errors/SP0198.md +20 -0
  316. package/dist/wiki/engine/errors/SP0199.md +20 -0
  317. package/dist/wiki/engine/errors/SP0200.md +20 -0
  318. package/dist/wiki/engine/errors/SP0202.md +20 -0
  319. package/dist/wiki/engine/errors/SP0203.md +20 -0
  320. package/dist/wiki/engine/errors/SP0204.md +20 -0
  321. package/dist/wiki/engine/errors/SP0205.md +20 -0
  322. package/dist/wiki/engine/errors/SP0206.md +20 -0
  323. package/dist/wiki/engine/errors/SP0207.md +20 -0
  324. package/dist/wiki/engine/errors/SP0208.md +20 -0
  325. package/dist/wiki/engine/errors/SP0210.md +20 -0
  326. package/dist/wiki/engine/errors/SP0211.md +20 -0
  327. package/dist/wiki/engine/errors/SP0212.md +20 -0
  328. package/dist/wiki/engine/errors/SP0213.md +20 -0
  329. package/dist/wiki/engine/errors/SP0214.md +20 -0
  330. package/dist/wiki/engine/errors/SP0215.md +20 -0
  331. package/dist/wiki/engine/errors/SP0216.md +20 -0
  332. package/dist/wiki/engine/errors/SP0219.md +20 -0
  333. package/dist/wiki/engine/errors/SP0220.md +20 -0
  334. package/dist/wiki/engine/errors/SP0221.md +20 -0
  335. package/dist/wiki/engine/errors/SP0225.md +20 -0
  336. package/dist/wiki/engine/errors/SP0228.md +20 -0
  337. package/dist/wiki/engine/errors/SP0229.md +20 -0
  338. package/dist/wiki/engine/errors/SP0230.md +20 -0
  339. package/dist/wiki/engine/errors/SP0231.md +20 -0
  340. package/dist/wiki/engine/errors/SP0232.md +20 -0
  341. package/dist/wiki/engine/errors/SP0233.md +20 -0
  342. package/dist/wiki/engine/errors/SP0234.md +20 -0
  343. package/dist/wiki/engine/errors/SP0235.md +20 -0
  344. package/dist/wiki/engine/errors/SP0236.md +20 -0
  345. package/dist/wiki/engine/errors/SP0237.md +20 -0
  346. package/dist/wiki/engine/errors/SP0238.md +20 -0
  347. package/dist/wiki/engine/errors/SP0239.md +20 -0
  348. package/dist/wiki/engine/errors/SP0240.md +20 -0
  349. package/dist/wiki/engine/errors/SP0241.md +20 -0
  350. package/dist/wiki/engine/errors/SP0242.md +20 -0
  351. package/dist/wiki/engine/errors/SP0243.md +20 -0
  352. package/dist/wiki/engine/errors/SP0244.md +20 -0
  353. package/dist/wiki/engine/errors/SP0245.md +20 -0
  354. package/dist/wiki/engine/errors/SP0247.md +20 -0
  355. package/dist/wiki/engine/errors/SP0249.md +20 -0
  356. package/dist/wiki/engine/errors/SP0250.md +20 -0
  357. package/dist/wiki/engine/errors/SP0251.md +20 -0
  358. package/dist/wiki/engine/errors/SP0252.md +20 -0
  359. package/dist/wiki/engine/errors/SP0253.md +20 -0
  360. package/dist/wiki/engine/errors/SP0254.md +20 -0
  361. package/dist/wiki/engine/errors/SP0255.md +20 -0
  362. package/dist/wiki/engine/errors/SP0256.md +20 -0
  363. package/dist/wiki/engine/errors/SP0257.md +20 -0
  364. package/dist/wiki/engine/errors/SP0258.md +20 -0
  365. package/dist/wiki/engine/errors/SP0259.md +20 -0
  366. package/dist/wiki/engine/errors/SP0260.md +20 -0
  367. package/dist/wiki/engine/errors/SP0270.md +20 -0
  368. package/dist/wiki/engine/errors/SP0271.md +20 -0
  369. package/dist/wiki/engine/errors/SP0272.md +20 -0
  370. package/dist/wiki/engine/errors/SP0273.md +20 -0
  371. package/dist/wiki/engine/errors/SP0274.md +20 -0
  372. package/dist/wiki/engine/errors/SP0275.md +20 -0
  373. package/dist/wiki/engine/errors/SP0276.md +20 -0
  374. package/dist/wiki/engine/errors/SP0277.md +20 -0
  375. package/dist/wiki/engine/errors/SP0278.md +20 -0
  376. package/dist/wiki/engine/errors/SP0279.md +20 -0
  377. package/dist/wiki/engine/errors/SP0280.md +20 -0
  378. package/dist/wiki/engine/errors/SP0281.md +20 -0
  379. package/dist/wiki/engine/errors/SP0282.md +20 -0
  380. package/dist/wiki/engine/errors/SP0283.md +20 -0
  381. package/dist/wiki/engine/errors/SP0284.md +20 -0
  382. package/dist/wiki/engine/errors/SP0285.md +20 -0
  383. package/dist/wiki/engine/errors/SP0286.md +20 -0
  384. package/dist/wiki/engine/errors/SP0287.md +20 -0
  385. package/dist/wiki/engine/errors/SP0288.md +20 -0
  386. package/dist/wiki/engine/errors/SP0289.md +20 -0
  387. package/dist/wiki/engine/errors/SP0290.md +20 -0
  388. package/dist/wiki/engine/errors/SP0291.md +20 -0
  389. package/dist/wiki/engine/errors/SP0292.md +20 -0
  390. package/dist/wiki/engine/errors/SP0293.md +20 -0
  391. package/dist/wiki/engine/errors/SP0294.md +20 -0
  392. package/dist/wiki/engine/errors/SP0295.md +20 -0
  393. package/dist/wiki/engine/errors/SP0296.md +20 -0
  394. package/dist/wiki/engine/errors/SP0297.md +20 -0
  395. package/dist/wiki/engine/errors/SP0298.md +20 -0
  396. package/dist/wiki/engine/errors/SP0299.md +20 -0
  397. package/dist/wiki/engine/errors/SP0300.md +20 -0
  398. package/dist/wiki/engine/errors/SP0301.md +20 -0
  399. package/dist/wiki/engine/errors/SP0302.md +20 -0
  400. package/dist/wiki/engine/errors/SP0303.md +20 -0
  401. package/dist/wiki/engine/errors/SP0304.md +20 -0
  402. package/dist/wiki/engine/errors/SP0305.md +20 -0
  403. package/dist/wiki/engine/errors/SP0306.md +20 -0
  404. package/dist/wiki/engine/errors/SP0307.md +20 -0
  405. package/dist/wiki/engine/errors/SP0308.md +20 -0
  406. package/dist/wiki/engine/errors/SP0309.md +20 -0
  407. package/dist/wiki/engine/errors/SP0310.md +20 -0
  408. package/dist/wiki/engine/errors/SP0311.md +20 -0
  409. package/dist/wiki/engine/errors/SP0312.md +20 -0
  410. package/dist/wiki/engine/errors/SP0313.md +20 -0
  411. package/dist/wiki/engine/errors/SP0314.md +20 -0
  412. package/dist/wiki/engine/errors/SP0315.md +20 -0
  413. package/dist/wiki/engine/errors/SP0316.md +20 -0
  414. package/dist/wiki/engine/errors/SP0317.md +20 -0
  415. package/dist/wiki/engine/errors/SP0318.md +20 -0
  416. package/dist/wiki/engine/errors/SP0319.md +20 -0
  417. package/dist/wiki/engine/errors/SP0320.md +20 -0
  418. package/dist/wiki/engine/errors/SP0321.md +20 -0
  419. package/dist/wiki/engine/errors/SP0322.md +20 -0
  420. package/dist/wiki/engine/errors/SP0323.md +20 -0
  421. package/dist/wiki/engine/errors/SP0324.md +20 -0
  422. package/dist/wiki/engine/errors/SP0325.md +20 -0
  423. package/dist/wiki/engine/errors/SP0326.md +20 -0
  424. package/dist/wiki/engine/errors/SP0327.md +20 -0
  425. package/dist/wiki/engine/errors/SP0328.md +20 -0
  426. package/dist/wiki/engine/errors/SP0329.md +20 -0
  427. package/dist/wiki/engine/errors/SP0330.md +20 -0
  428. package/dist/wiki/engine/errors/SP0331.md +20 -0
  429. package/dist/wiki/engine/errors/SP0332.md +20 -0
  430. package/dist/wiki/engine/errors/SP0333.md +20 -0
  431. package/dist/wiki/engine/errors/SP0334.md +20 -0
  432. package/dist/wiki/engine/errors/SP0335.md +20 -0
  433. package/dist/wiki/engine/errors/SP0336.md +20 -0
  434. package/dist/wiki/engine/errors/SP0337.md +20 -0
  435. package/dist/wiki/engine/errors/SP0338.md +20 -0
  436. package/dist/wiki/engine/errors/SP0339.md +20 -0
  437. package/dist/wiki/engine/errors/SP0340.md +20 -0
  438. package/dist/wiki/engine/errors/SP0341.md +20 -0
  439. package/dist/wiki/engine/errors/SP0342.md +20 -0
  440. package/dist/wiki/engine/errors/SP0343.md +20 -0
  441. package/dist/wiki/engine/errors/SP0344.md +20 -0
  442. package/dist/wiki/engine/errors/SP0346.md +20 -0
  443. package/dist/wiki/engine/errors/SP0347.md +20 -0
  444. package/dist/wiki/engine/errors/SP0348.md +20 -0
  445. package/dist/wiki/engine/errors/SP0349.md +20 -0
  446. package/dist/wiki/engine/errors/SP0350.md +20 -0
  447. package/dist/wiki/engine/errors/SP0351.md +20 -0
  448. package/dist/wiki/engine/errors/SP0352.md +20 -0
  449. package/dist/wiki/engine/errors/SP0353.md +20 -0
  450. package/dist/wiki/engine/errors/SP0354.md +20 -0
  451. package/dist/wiki/engine/errors/SP0355.md +20 -0
  452. package/dist/wiki/engine/errors/SP0356.md +20 -0
  453. package/dist/wiki/engine/errors/SP0357.md +20 -0
  454. package/dist/wiki/engine/errors/SP0358.md +20 -0
  455. package/dist/wiki/engine/errors/SP0359.md +20 -0
  456. package/dist/wiki/engine/errors/SP0360.md +20 -0
  457. package/dist/wiki/engine/errors/SP0361.md +20 -0
  458. package/dist/wiki/engine/errors/SP0362.md +20 -0
  459. package/dist/wiki/engine/errors/SP0363.md +20 -0
  460. package/dist/wiki/engine/errors/SP0364.md +20 -0
  461. package/dist/wiki/engine/errors/SP0365.md +20 -0
  462. package/dist/wiki/engine/errors/SP0366.md +20 -0
  463. package/dist/wiki/engine/errors/SP0367.md +20 -0
  464. package/dist/wiki/engine/errors/SP0368.md +20 -0
  465. package/dist/wiki/engine/errors/SP0369.md +20 -0
  466. package/dist/wiki/engine/errors/SP0370.md +20 -0
  467. package/dist/wiki/engine/errors/SP0371.md +20 -0
  468. package/dist/wiki/engine/errors/SP0372.md +20 -0
  469. package/dist/wiki/engine/errors/SP0373.md +20 -0
  470. package/dist/wiki/engine/errors/SP0374.md +20 -0
  471. package/dist/wiki/engine/errors/SP0375.md +20 -0
  472. package/dist/wiki/engine/errors/SP0376.md +20 -0
  473. package/dist/wiki/engine/errors/SP0377.md +20 -0
  474. package/dist/wiki/engine/errors/SP0378.md +20 -0
  475. package/dist/wiki/engine/errors/SP0379.md +20 -0
  476. package/dist/wiki/engine/errors/SP0380.md +20 -0
  477. package/dist/wiki/engine/errors/SP0381.md +20 -0
  478. package/dist/wiki/engine/errors/SP0382.md +20 -0
  479. package/dist/wiki/engine/errors/SP0383.md +20 -0
  480. package/dist/wiki/engine/errors/SP0384.md +20 -0
  481. package/dist/wiki/engine/errors/SP0385.md +20 -0
  482. package/dist/wiki/engine/errors/SP0386.md +20 -0
  483. package/dist/wiki/engine/errors/SP0387.md +21 -0
  484. package/dist/wiki/engine/errors/SP0388.md +20 -0
  485. package/dist/wiki/engine/errors/SP0389.md +20 -0
  486. package/dist/wiki/engine/errors/SP0390.md +20 -0
  487. package/dist/wiki/engine/errors/SP0391.md +20 -0
  488. package/dist/wiki/engine/errors/SP0392.md +20 -0
  489. package/dist/wiki/engine/errors/SP0393.md +20 -0
  490. package/dist/wiki/engine/errors/SP0394.md +20 -0
  491. package/dist/wiki/engine/errors/SP0395.md +20 -0
  492. package/dist/wiki/engine/errors/SP0396.md +20 -0
  493. package/dist/wiki/engine/errors/SP0397.md +20 -0
  494. package/dist/wiki/engine/errors/SP0398.md +20 -0
  495. package/dist/wiki/engine/errors/SP0399.md +20 -0
  496. package/dist/wiki/engine/errors/SP0400.md +20 -0
  497. package/dist/wiki/engine/errors/SP0401.md +20 -0
  498. package/dist/wiki/engine/errors/SP0402.md +20 -0
  499. package/dist/wiki/engine/errors/SP0403.md +20 -0
  500. package/dist/wiki/engine/errors/SP0404.md +20 -0
  501. package/dist/wiki/engine/errors/SP0405.md +20 -0
  502. package/dist/wiki/engine/errors/SP0406.md +20 -0
  503. package/dist/wiki/engine/errors/SP0407.md +20 -0
  504. package/dist/wiki/engine/errors/SP0408.md +20 -0
  505. package/dist/wiki/engine/errors/SP0409.md +20 -0
  506. package/dist/wiki/engine/errors/SP0410.md +20 -0
  507. package/dist/wiki/engine/errors/SP0411.md +20 -0
  508. package/dist/wiki/engine/errors/SP0412.md +20 -0
  509. package/dist/wiki/engine/errors/SP0413.md +20 -0
  510. package/dist/wiki/engine/errors/SP0414.md +20 -0
  511. package/dist/wiki/engine/errors/SP0415.md +20 -0
  512. package/dist/wiki/engine/errors/SP0416.md +20 -0
  513. package/dist/wiki/engine/errors/SP0417.md +20 -0
  514. package/dist/wiki/engine/errors/SP0418.md +20 -0
  515. package/dist/wiki/engine/errors/SP0419.md +20 -0
  516. package/dist/wiki/engine/errors/SP0420.md +20 -0
  517. package/dist/wiki/engine/errors/SP0421.md +20 -0
  518. package/dist/wiki/engine/errors/SP0422.md +20 -0
  519. package/dist/wiki/engine/errors/SP0423.md +20 -0
  520. package/dist/wiki/engine/errors/SP0427.md +20 -0
  521. package/dist/wiki/engine/errors/SP0428.md +20 -0
  522. package/dist/wiki/engine/errors/SP0429.md +20 -0
  523. package/dist/wiki/engine/errors/SP0430.md +20 -0
  524. package/dist/wiki/engine/errors/SP0431.md +20 -0
  525. package/dist/wiki/engine/errors/SP0432.md +20 -0
  526. package/dist/wiki/engine/errors/SP0433.md +20 -0
  527. package/dist/wiki/engine/errors/SP0434.md +20 -0
  528. package/dist/wiki/engine/errors/SP0435.md +20 -0
  529. package/dist/wiki/engine/errors/SP0436.md +20 -0
  530. package/dist/wiki/engine/errors/SP0437.md +20 -0
  531. package/dist/wiki/engine/errors/SP0438.md +20 -0
  532. package/dist/wiki/engine/errors/SP0439.md +20 -0
  533. package/dist/wiki/engine/errors/SP0440.md +20 -0
  534. package/dist/wiki/engine/errors/SP0442.md +20 -0
  535. package/dist/wiki/engine/errors/SP0443.md +20 -0
  536. package/dist/wiki/engine/errors/SP0444.md +20 -0
  537. package/dist/wiki/engine/errors/SP0445.md +20 -0
  538. package/dist/wiki/engine/errors/SP0446.md +20 -0
  539. package/dist/wiki/engine/errors/SP0447.md +20 -0
  540. package/dist/wiki/engine/errors/SP0448.md +20 -0
  541. package/dist/wiki/engine/errors/SP0449.md +20 -0
  542. package/dist/wiki/engine/errors/SP0450.md +20 -0
  543. package/dist/wiki/engine/errors/SP0451.md +20 -0
  544. package/dist/wiki/engine/errors/SP0452.md +20 -0
  545. package/dist/wiki/engine/errors/SP0453.md +20 -0
  546. package/dist/wiki/engine/errors/SP0454.md +20 -0
  547. package/dist/wiki/engine/errors/SP0455.md +20 -0
  548. package/dist/wiki/engine/errors/SP0456.md +20 -0
  549. package/dist/wiki/engine/errors/SP0457.md +20 -0
  550. package/dist/wiki/engine/errors/SP0458.md +20 -0
  551. package/dist/wiki/engine/errors/SP0459.md +20 -0
  552. package/dist/wiki/engine/errors/SP0460.md +20 -0
  553. package/dist/wiki/engine/errors/SP0461.md +20 -0
  554. package/dist/wiki/engine/errors/SP0462.md +20 -0
  555. package/dist/wiki/engine/errors/SP0463.md +20 -0
  556. package/dist/wiki/engine/errors/SP0464.md +20 -0
  557. package/dist/wiki/engine/errors/SP0465.md +20 -0
  558. package/dist/wiki/engine/errors/SP0466.md +20 -0
  559. package/dist/wiki/engine/errors/SP0467.md +20 -0
  560. package/dist/wiki/engine/errors/SP0468.md +20 -0
  561. package/dist/wiki/engine/errors/SP0469.md +20 -0
  562. package/dist/wiki/engine/errors/SP0470.md +20 -0
  563. package/dist/wiki/engine/errors/SP0471.md +20 -0
  564. package/dist/wiki/engine/errors/SP0472.md +20 -0
  565. package/dist/wiki/engine/errors/SP0473.md +20 -0
  566. package/dist/wiki/engine/errors/SP0474.md +20 -0
  567. package/dist/wiki/engine/errors/SP0475.md +20 -0
  568. package/dist/wiki/engine/errors/SP0476.md +20 -0
  569. package/dist/wiki/engine/errors/SP0477.md +20 -0
  570. package/dist/wiki/engine/errors/SP0478.md +20 -0
  571. package/dist/wiki/engine/errors/SP0479.md +20 -0
  572. package/dist/wiki/engine/errors/SP0480.md +20 -0
  573. package/dist/wiki/engine/errors/SP0481.md +20 -0
  574. package/dist/wiki/engine/errors/SP0482.md +20 -0
  575. package/dist/wiki/engine/errors/SP0483.md +20 -0
  576. package/dist/wiki/engine/errors/SP0484.md +20 -0
  577. package/dist/wiki/engine/errors/SP0497.md +20 -0
  578. package/dist/wiki/engine/errors/SP0498.md +20 -0
  579. package/dist/wiki/engine/errors/SP0500.md +20 -0
  580. package/dist/wiki/engine/errors/SP0501.md +20 -0
  581. package/dist/wiki/engine/errors/SP0502.md +20 -0
  582. package/dist/wiki/engine/errors/SP0503.md +20 -0
  583. package/dist/wiki/engine/errors/SP0504.md +20 -0
  584. package/dist/wiki/engine/errors/SP0505.md +20 -0
  585. package/dist/wiki/engine/errors/SP0506.md +20 -0
  586. package/dist/wiki/engine/errors/SP0507.md +20 -0
  587. package/dist/wiki/engine/errors/SP0508.md +20 -0
  588. package/dist/wiki/engine/errors/SP0509.md +20 -0
  589. package/dist/wiki/engine/errors/SP0510.md +20 -0
  590. package/dist/wiki/engine/errors/SP0511.md +20 -0
  591. package/dist/wiki/engine/errors/SP0512.md +20 -0
  592. package/dist/wiki/engine/errors/SP0513.md +20 -0
  593. package/dist/wiki/engine/errors/SP0514.md +20 -0
  594. package/dist/wiki/engine/errors/SP0515.md +20 -0
  595. package/dist/wiki/engine/errors/SP0516.md +20 -0
  596. package/dist/wiki/engine/errors/SP0517.md +20 -0
  597. package/dist/wiki/engine/errors/SP0518.md +20 -0
  598. package/dist/wiki/engine/errors/SP0519.md +20 -0
  599. package/dist/wiki/engine/errors/SP0520.md +20 -0
  600. package/dist/wiki/engine/errors/SP0521.md +20 -0
  601. package/dist/wiki/engine/errors/SP0522.md +20 -0
  602. package/dist/wiki/engine/errors/SP0523.md +20 -0
  603. package/dist/wiki/engine/errors/SP0524.md +20 -0
  604. package/dist/wiki/engine/errors/SP0525.md +20 -0
  605. package/dist/wiki/engine/errors/SP0526.md +20 -0
  606. package/dist/wiki/engine/errors/SP0527.md +20 -0
  607. package/dist/wiki/engine/errors/SP0528.md +20 -0
  608. package/dist/wiki/engine/errors/SP0529.md +20 -0
  609. package/dist/wiki/engine/errors/SP0530.md +20 -0
  610. package/dist/wiki/engine/errors/SP0531.md +20 -0
  611. package/dist/wiki/engine/errors/SP0532.md +20 -0
  612. package/dist/wiki/engine/errors/SP0533.md +20 -0
  613. package/dist/wiki/engine/errors/SP0534.md +20 -0
  614. package/dist/wiki/engine/errors/SP0535.md +20 -0
  615. package/dist/wiki/engine/errors/SP0536.md +20 -0
  616. package/dist/wiki/engine/errors/SP0537.md +20 -0
  617. package/dist/wiki/engine/errors/SP0538.md +20 -0
  618. package/dist/wiki/engine/errors/SP0539.md +20 -0
  619. package/dist/wiki/engine/errors/SP0540.md +20 -0
  620. package/dist/wiki/engine/errors/SP0541.md +20 -0
  621. package/dist/wiki/engine/errors/SP0542.md +20 -0
  622. package/dist/wiki/engine/errors/SP0543.md +20 -0
  623. package/dist/wiki/engine/errors/SP0545.md +20 -0
  624. package/dist/wiki/engine/errors/SP0546.md +20 -0
  625. package/dist/wiki/engine/errors/SP0547.md +20 -0
  626. package/dist/wiki/engine/errors/SP0548.md +20 -0
  627. package/dist/wiki/engine/errors/SP0549.md +20 -0
  628. package/dist/wiki/engine/errors/SP0550.md +20 -0
  629. package/dist/wiki/engine/errors/SP0551.md +20 -0
  630. package/dist/wiki/engine/errors/SP0552.md +20 -0
  631. package/dist/wiki/engine/errors/SP0553.md +20 -0
  632. package/dist/wiki/engine/errors/SP0554.md +20 -0
  633. package/dist/wiki/engine/errors/SP0555.md +20 -0
  634. package/dist/wiki/engine/errors/SP0556.md +20 -0
  635. package/dist/wiki/engine/errors/SP0557.md +20 -0
  636. package/dist/wiki/engine/errors/SP0558.md +20 -0
  637. package/dist/wiki/engine/errors/SP0559.md +20 -0
  638. package/dist/wiki/engine/errors/SP0560.md +20 -0
  639. package/dist/wiki/engine/errors/SP0561.md +20 -0
  640. package/dist/wiki/engine/errors/SP0562.md +20 -0
  641. package/dist/wiki/engine/errors/SP0563.md +20 -0
  642. package/dist/wiki/engine/errors/SP0564.md +20 -0
  643. package/dist/wiki/engine/errors/SP0565.md +20 -0
  644. package/dist/wiki/engine/errors/SP0566.md +20 -0
  645. package/dist/wiki/engine/errors/SP0567.md +20 -0
  646. package/dist/wiki/engine/errors/SP0568.md +20 -0
  647. package/dist/wiki/engine/errors/SP0569.md +20 -0
  648. package/dist/wiki/engine/errors/SP0570.md +20 -0
  649. package/dist/wiki/engine/errors/index.md +504 -0
  650. package/dist/wiki/engine/graphics/crt-material.md +64 -0
  651. package/dist/wiki/engine/graphics/energy-orb-material.md +52 -0
  652. package/dist/wiki/engine/graphics/instanced-model.md +89 -0
  653. package/dist/wiki/engine/graphics/looks.md +196 -0
  654. package/dist/wiki/engine/graphics/particles.md +185 -0
  655. package/dist/wiki/engine/graphics/portal-material.md +49 -0
  656. package/dist/wiki/engine/graphics/post-processing.md +130 -0
  657. package/dist/wiki/engine/graphics/renderer.md +103 -0
  658. package/dist/wiki/engine/graphics/shader.md +331 -0
  659. package/dist/wiki/engine/graphics/skinned-batch.md +115 -0
  660. package/dist/wiki/engine/graphics/track-scatter.md +124 -0
  661. package/dist/wiki/engine/graphics/track-surface.md +107 -0
  662. package/dist/wiki/engine/graphics/water-material.md +60 -0
  663. package/dist/wiki/engine/graphics/webgpu.md +87 -0
  664. package/dist/wiki/engine/structure/game.md +301 -0
  665. package/dist/wiki/engine/structure/levels.md +239 -0
  666. package/dist/wiki/engine/structure/plugins.md +423 -0
  667. package/dist/wiki/engine/structure/round.md +229 -0
  668. package/dist/wiki/engine/structure/saves.md +251 -0
  669. package/dist/wiki/engine/structure/scene.md +69 -0
  670. package/dist/wiki/engine/structure/states.md +202 -0
  671. package/dist/wiki/engine/structure/systems.md +242 -0
  672. package/dist/wiki/engine/structure/track-level.md +73 -0
  673. package/dist/wiki/engine/structure/world.md +371 -0
  674. package/dist/wiki/engine/testing/agent-state.md +131 -0
  675. package/dist/wiki/engine/testing/dev-server.md +101 -0
  676. package/dist/wiki/engine/testing/devtools-wiki.md +80 -0
  677. package/dist/wiki/engine/testing/devtools.md +143 -0
  678. package/dist/wiki/engine/testing/directing.md +125 -0
  679. package/dist/wiki/engine/testing/director.md +285 -0
  680. package/dist/wiki/engine/testing/editing.md +71 -0
  681. package/dist/wiki/engine/testing/errors.md +146 -0
  682. package/dist/wiki/engine/testing/frame.md +175 -0
  683. package/dist/wiki/engine/testing/headless.md +133 -0
  684. package/dist/wiki/engine/testing/hitches.md +140 -0
  685. package/dist/wiki/engine/testing/joins.md +129 -0
  686. package/dist/wiki/engine/testing/measuring.md +97 -0
  687. package/dist/wiki/engine/testing/performance.md +48 -0
  688. package/dist/wiki/engine/testing/processes.md +87 -0
  689. package/dist/wiki/engine/testing/replay-storage.md +156 -0
  690. package/dist/wiki/engine/testing/replay.md +230 -0
  691. package/dist/wiki/engine/testing/runs.md +162 -0
  692. package/dist/wiki/engine/testing/which-tool.md +155 -0
  693. package/dist/wiki/engine/ui/action-bar.md +121 -0
  694. package/dist/wiki/engine/ui/bar.md +54 -0
  695. package/dist/wiki/engine/ui/billboard.md +64 -0
  696. package/dist/wiki/engine/ui/button.md +69 -0
  697. package/dist/wiki/engine/ui/controls.md +131 -0
  698. package/dist/wiki/engine/ui/counter.md +40 -0
  699. package/dist/wiki/engine/ui/devtools-panel.md +69 -0
  700. package/dist/wiki/engine/ui/drag-and-drop.md +134 -0
  701. package/dist/wiki/engine/ui/floating-text.md +129 -0
  702. package/dist/wiki/engine/ui/graphics-quality.md +254 -0
  703. package/dist/wiki/engine/ui/heading.md +43 -0
  704. package/dist/wiki/engine/ui/hud.md +100 -0
  705. package/dist/wiki/engine/ui/icon.md +34 -0
  706. package/dist/wiki/engine/ui/image.md +38 -0
  707. package/dist/wiki/engine/ui/index.md +59 -0
  708. package/dist/wiki/engine/ui/joystick.md +32 -0
  709. package/dist/wiki/engine/ui/modal.md +95 -0
  710. package/dist/wiki/engine/ui/panel.md +100 -0
  711. package/dist/wiki/engine/ui/settings.md +303 -0
  712. package/dist/wiki/engine/ui/tap.md +33 -0
  713. package/dist/wiki/engine/ui/text.md +56 -0
  714. package/dist/wiki/engine/ui/theme.md +119 -0
  715. package/dist/wiki/engine/ui/window.md +68 -0
  716. package/dist/wmIDrLkF.js +1 -0
  717. package/dist/yhuZzG90.js +1 -0
  718. package/dist/z3YXvfLT.js +1 -0
  719. package/dist-browser/@pixiv/three-vrm/nodes.js +1 -0
  720. package/dist-browser/@pixiv/three-vrm.js +1 -0
  721. package/dist-browser/@react-three/drei/exports/-accumulative-shadows.js +1 -0
  722. package/dist-browser/@react-three/drei/exports/-adaptive-dpr.js +1 -0
  723. package/dist-browser/@react-three/drei/exports/-adaptive-events.js +1 -0
  724. package/dist-browser/@react-three/drei/exports/-arcball-controls.js +1 -0
  725. package/dist-browser/@react-three/drei/exports/-ascii-renderer.js +1 -0
  726. package/dist-browser/@react-three/drei/exports/-b-b-anchor.js +1 -0
  727. package/dist-browser/@react-three/drei/exports/-backdrop.js +1 -0
  728. package/dist-browser/@react-three/drei/exports/-bake-shadows.js +1 -0
  729. package/dist-browser/@react-three/drei/exports/-billboard.js +1 -0
  730. package/dist-browser/@react-three/drei/exports/-bounds.js +1 -0
  731. package/dist-browser/@react-three/drei/exports/-box.js +1 -0
  732. package/dist-browser/@react-three/drei/exports/-bvh.js +1 -0
  733. package/dist-browser/@react-three/drei/exports/-camera-controls-impl.js +1 -0
  734. package/dist-browser/@react-three/drei/exports/-camera-controls.js +1 -0
  735. package/dist-browser/@react-three/drei/exports/-camera-shake.js +1 -0
  736. package/dist-browser/@react-three/drei/exports/-capsule.js +1 -0
  737. package/dist-browser/@react-three/drei/exports/-catmull-rom-line.js +1 -0
  738. package/dist-browser/@react-three/drei/exports/-caustics.js +1 -0
  739. package/dist-browser/@react-three/drei/exports/-center.js +1 -0
  740. package/dist-browser/@react-three/drei/exports/-circle.js +1 -0
  741. package/dist-browser/@react-three/drei/exports/-clone.js +1 -0
  742. package/dist-browser/@react-three/drei/exports/-cloud-instance.js +1 -0
  743. package/dist-browser/@react-three/drei/exports/-cloud.js +1 -0
  744. package/dist-browser/@react-three/drei/exports/-clouds.js +1 -0
  745. package/dist-browser/@react-three/drei/exports/-computed-attribute.js +1 -0
  746. package/dist-browser/@react-three/drei/exports/-cone.js +1 -0
  747. package/dist-browser/@react-three/drei/exports/-contact-shadows.js +1 -0
  748. package/dist-browser/@react-three/drei/exports/-cube-camera.js +1 -0
  749. package/dist-browser/@react-three/drei/exports/-cube-texture.js +1 -0
  750. package/dist-browser/@react-three/drei/exports/-cubic-bezier-line.js +1 -0
  751. package/dist-browser/@react-three/drei/exports/-curve-modifier.js +1 -0
  752. package/dist-browser/@react-three/drei/exports/-cycle-raycast.js +1 -0
  753. package/dist-browser/@react-three/drei/exports/-cylinder.js +1 -0
  754. package/dist-browser/@react-three/drei/exports/-decal.js +1 -0
  755. package/dist-browser/@react-three/drei/exports/-detailed.js +1 -0
  756. package/dist-browser/@react-three/drei/exports/-detect-g-p-u.js +1 -0
  757. package/dist-browser/@react-three/drei/exports/-device-orientation-controls.js +1 -0
  758. package/dist-browser/@react-three/drei/exports/-dodecahedron.js +1 -0
  759. package/dist-browser/@react-three/drei/exports/-drag-controls.js +1 -0
  760. package/dist-browser/@react-three/drei/exports/-edges.js +1 -0
  761. package/dist-browser/@react-three/drei/exports/-effects.js +1 -0
  762. package/dist-browser/@react-three/drei/exports/-environment-cube.js +1 -0
  763. package/dist-browser/@react-three/drei/exports/-environment-map.js +1 -0
  764. package/dist-browser/@react-three/drei/exports/-environment-portal.js +1 -0
  765. package/dist-browser/@react-three/drei/exports/-environment.js +1 -0
  766. package/dist-browser/@react-three/drei/exports/-example.js +1 -0
  767. package/dist-browser/@react-three/drei/exports/-extrude.js +1 -0
  768. package/dist-browser/@react-three/drei/exports/-face-controls.js +1 -0
  769. package/dist-browser/@react-three/drei/exports/-face-landmarker-defaults.js +1 -0
  770. package/dist-browser/@react-three/drei/exports/-face-landmarker.js +1 -0
  771. package/dist-browser/@react-three/drei/exports/-facemesh-datas.js +1 -0
  772. package/dist-browser/@react-three/drei/exports/-facemesh-eye-defaults.js +1 -0
  773. package/dist-browser/@react-three/drei/exports/-facemesh-eye.js +1 -0
  774. package/dist-browser/@react-three/drei/exports/-facemesh.js +1 -0
  775. package/dist-browser/@react-three/drei/exports/-fbo.js +1 -0
  776. package/dist-browser/@react-three/drei/exports/-fbx.js +1 -0
  777. package/dist-browser/@react-three/drei/exports/-first-person-controls.js +1 -0
  778. package/dist-browser/@react-three/drei/exports/-fisheye.js +1 -0
  779. package/dist-browser/@react-three/drei/exports/-float.js +1 -0
  780. package/dist-browser/@react-three/drei/exports/-fly-controls.js +1 -0
  781. package/dist-browser/@react-three/drei/exports/-gizmo-helper.js +1 -0
  782. package/dist-browser/@react-three/drei/exports/-gizmo-viewcube.js +1 -0
  783. package/dist-browser/@react-three/drei/exports/-gizmo-viewport.js +1 -0
  784. package/dist-browser/@react-three/drei/exports/-gltf.js +1 -0
  785. package/dist-browser/@react-three/drei/exports/-gradient-texture.js +1 -0
  786. package/dist-browser/@react-three/drei/exports/-gradient-type.js +1 -0
  787. package/dist-browser/@react-three/drei/exports/-grid.js +1 -0
  788. package/dist-browser/@react-three/drei/exports/-helper.js +1 -0
  789. package/dist-browser/@react-three/drei/exports/-html.js +1 -0
  790. package/dist-browser/@react-three/drei/exports/-hud.js +1 -0
  791. package/dist-browser/@react-three/drei/exports/-icosahedron.js +1 -0
  792. package/dist-browser/@react-three/drei/exports/-image.js +1 -0
  793. package/dist-browser/@react-three/drei/exports/-instance.js +1 -0
  794. package/dist-browser/@react-three/drei/exports/-instanced-attribute.js +1 -0
  795. package/dist-browser/@react-three/drei/exports/-instances.js +1 -0
  796. package/dist-browser/@react-three/drei/exports/-is-object.js +1 -0
  797. package/dist-browser/@react-three/drei/exports/-keyboard-controls.js +1 -0
  798. package/dist-browser/@react-three/drei/exports/-ktx2.js +1 -0
  799. package/dist-browser/@react-three/drei/exports/-lathe.js +1 -0
  800. package/dist-browser/@react-three/drei/exports/-lightformer.js +1 -0
  801. package/dist-browser/@react-three/drei/exports/-line.js +1 -0
  802. package/dist-browser/@react-three/drei/exports/-loader.js +1 -0
  803. package/dist-browser/@react-three/drei/exports/-map-controls.js +1 -0
  804. package/dist-browser/@react-three/drei/exports/-marching-cube.js +1 -0
  805. package/dist-browser/@react-three/drei/exports/-marching-cubes.js +1 -0
  806. package/dist-browser/@react-three/drei/exports/-marching-plane.js +1 -0
  807. package/dist-browser/@react-three/drei/exports/-mask.js +1 -0
  808. package/dist-browser/@react-three/drei/exports/-matcap-texture.js +1 -0
  809. package/dist-browser/@react-three/drei/exports/-merged.js +1 -0
  810. package/dist-browser/@react-three/drei/exports/-mesh-discard-material.js +1 -0
  811. package/dist-browser/@react-three/drei/exports/-mesh-distort-material.js +1 -0
  812. package/dist-browser/@react-three/drei/exports/-mesh-portal-material.js +1 -0
  813. package/dist-browser/@react-three/drei/exports/-mesh-reflector-material.js +1 -0
  814. package/dist-browser/@react-three/drei/exports/-mesh-refraction-material.js +1 -0
  815. package/dist-browser/@react-three/drei/exports/-mesh-transmission-material.js +1 -0
  816. package/dist-browser/@react-three/drei/exports/-mesh-wobble-material.js +1 -0
  817. package/dist-browser/@react-three/drei/exports/-motion-path-controls.js +1 -0
  818. package/dist-browser/@react-three/drei/exports/-multi-material.js +1 -0
  819. package/dist-browser/@react-three/drei/exports/-normal-texture.js +1 -0
  820. package/dist-browser/@react-three/drei/exports/-octahedron.js +1 -0
  821. package/dist-browser/@react-three/drei/exports/-orbit-controls.js +1 -0
  822. package/dist-browser/@react-three/drei/exports/-orthographic-camera.js +1 -0
  823. package/dist-browser/@react-three/drei/exports/-outlines.js +1 -0
  824. package/dist-browser/@react-three/drei/exports/-performance-monitor.js +1 -0
  825. package/dist-browser/@react-three/drei/exports/-perspective-camera.js +1 -0
  826. package/dist-browser/@react-three/drei/exports/-pivot-controls.js +1 -0
  827. package/dist-browser/@react-three/drei/exports/-plane.js +1 -0
  828. package/dist-browser/@react-three/drei/exports/-point-material-impl.js +1 -0
  829. package/dist-browser/@react-three/drei/exports/-point-material.js +1 -0
  830. package/dist-browser/@react-three/drei/exports/-point.js +1 -0
  831. package/dist-browser/@react-three/drei/exports/-pointer-lock-controls.js +1 -0
  832. package/dist-browser/@react-three/drei/exports/-points-buffer.js +1 -0
  833. package/dist-browser/@react-three/drei/exports/-points.js +1 -0
  834. package/dist-browser/@react-three/drei/exports/-polyhedron.js +1 -0
  835. package/dist-browser/@react-three/drei/exports/-position-mesh.js +1 -0
  836. package/dist-browser/@react-three/drei/exports/-position-point.js +1 -0
  837. package/dist-browser/@react-three/drei/exports/-positional-audio.js +1 -0
  838. package/dist-browser/@react-three/drei/exports/-preload.js +1 -0
  839. package/dist-browser/@react-three/drei/exports/-presentation-controls.js +1 -0
  840. package/dist-browser/@react-three/drei/exports/-progress.js +1 -0
  841. package/dist-browser/@react-three/drei/exports/-quadratic-bezier-line.js +1 -0
  842. package/dist-browser/@react-three/drei/exports/-randomized-light.js +1 -0
  843. package/dist-browser/@react-three/drei/exports/-render-cube-texture.js +1 -0
  844. package/dist-browser/@react-three/drei/exports/-render-texture.js +1 -0
  845. package/dist-browser/@react-three/drei/exports/-resize.js +1 -0
  846. package/dist-browser/@react-three/drei/exports/-ring.js +1 -0
  847. package/dist-browser/@react-three/drei/exports/-rounded-box-geometry.js +1 -0
  848. package/dist-browser/@react-three/drei/exports/-rounded-box.js +1 -0
  849. package/dist-browser/@react-three/drei/exports/-sampler.js +1 -0
  850. package/dist-browser/@react-three/drei/exports/-screen-quad.js +1 -0
  851. package/dist-browser/@react-three/drei/exports/-screen-sizer.js +1 -0
  852. package/dist-browser/@react-three/drei/exports/-screen-space.js +1 -0
  853. package/dist-browser/@react-three/drei/exports/-screen-video-texture.js +1 -0
  854. package/dist-browser/@react-three/drei/exports/-scroll-controls.js +1 -0
  855. package/dist-browser/@react-three/drei/exports/-scroll.js +1 -0
  856. package/dist-browser/@react-three/drei/exports/-segment-object.js +1 -0
  857. package/dist-browser/@react-three/drei/exports/-segment.js +1 -0
  858. package/dist-browser/@react-three/drei/exports/-segments.js +1 -0
  859. package/dist-browser/@react-three/drei/exports/-select.js +1 -0
  860. package/dist-browser/@react-three/drei/exports/-shadow-alpha.js +1 -0
  861. package/dist-browser/@react-three/drei/exports/-shadow.js +1 -0
  862. package/dist-browser/@react-three/drei/exports/-shape.js +1 -0
  863. package/dist-browser/@react-three/drei/exports/-sky.js +1 -0
  864. package/dist-browser/@react-three/drei/exports/-soft-shadows.js +1 -0
  865. package/dist-browser/@react-three/drei/exports/-sparkles.js +1 -0
  866. package/dist-browser/@react-three/drei/exports/-sphere.js +1 -0
  867. package/dist-browser/@react-three/drei/exports/-splat.js +1 -0
  868. package/dist-browser/@react-three/drei/exports/-spot-light-shadow.js +1 -0
  869. package/dist-browser/@react-three/drei/exports/-spot-light.js +1 -0
  870. package/dist-browser/@react-three/drei/exports/-sprite-animator.js +1 -0
  871. package/dist-browser/@react-three/drei/exports/-stage.js +1 -0
  872. package/dist-browser/@react-three/drei/exports/-stars.js +1 -0
  873. package/dist-browser/@react-three/drei/exports/-stats-gl.js +1 -0
  874. package/dist-browser/@react-three/drei/exports/-stats.js +1 -0
  875. package/dist-browser/@react-three/drei/exports/-svg.js +1 -0
  876. package/dist-browser/@react-three/drei/exports/-tetrahedron.js +1 -0
  877. package/dist-browser/@react-three/drei/exports/-text.js +1 -0
  878. package/dist-browser/@react-three/drei/exports/-text3-d.js +1 -0
  879. package/dist-browser/@react-three/drei/exports/-texture.js +1 -0
  880. package/dist-browser/@react-three/drei/exports/-torus-knot.js +1 -0
  881. package/dist-browser/@react-three/drei/exports/-torus.js +1 -0
  882. package/dist-browser/@react-three/drei/exports/-trackball-controls.js +1 -0
  883. package/dist-browser/@react-three/drei/exports/-trail-texture.js +1 -0
  884. package/dist-browser/@react-three/drei/exports/-trail.js +1 -0
  885. package/dist-browser/@react-three/drei/exports/-transform-controls.js +1 -0
  886. package/dist-browser/@react-three/drei/exports/-tube.js +1 -0
  887. package/dist-browser/@react-three/drei/exports/-video-texture.js +1 -0
  888. package/dist-browser/@react-three/drei/exports/-view.js +1 -0
  889. package/dist-browser/@react-three/drei/exports/-webcam-video-texture.js +1 -0
  890. package/dist-browser/@react-three/drei/exports/-wireframe.js +1 -0
  891. package/dist-browser/@react-three/drei/exports/accumulative-context.js +1 -0
  892. package/dist-browser/@react-three/drei/exports/calc-pos-from-angles.js +1 -0
  893. package/dist-browser/@react-three/drei/exports/calculate-scale-factor.js +1 -0
  894. package/dist-browser/@react-three/drei/exports/check-if-frame-is-empty.js +1 -0
  895. package/dist-browser/@react-three/drei/exports/create-instances.js +1 -0
  896. package/dist-browser/@react-three/drei/exports/get-first-frame.js +1 -0
  897. package/dist-browser/@react-three/drei/exports/is-web-g-l2-available.js +1 -0
  898. package/dist-browser/@react-three/drei/exports/mesh-bounds.js +1 -0
  899. package/dist-browser/@react-three/drei/exports/shader-material.js +1 -0
  900. package/dist-browser/@react-three/drei/exports/use-animations.js +1 -0
  901. package/dist-browser/@react-three/drei/exports/use-aspect.js +1 -0
  902. package/dist-browser/@react-three/drei/exports/use-b-v-h.js +1 -0
  903. package/dist-browser/@react-three/drei/exports/use-bounds.js +1 -0
  904. package/dist-browser/@react-three/drei/exports/use-box-projected-env.js +1 -0
  905. package/dist-browser/@react-three/drei/exports/use-camera.js +1 -0
  906. package/dist-browser/@react-three/drei/exports/use-context-bridge.js +1 -0
  907. package/dist-browser/@react-three/drei/exports/use-cube-camera.js +1 -0
  908. package/dist-browser/@react-three/drei/exports/use-cube-texture.js +1 -0
  909. package/dist-browser/@react-three/drei/exports/use-cursor.js +1 -0
  910. package/dist-browser/@react-three/drei/exports/use-depth-buffer.js +1 -0
  911. package/dist-browser/@react-three/drei/exports/use-detect-g-p-u.js +1 -0
  912. package/dist-browser/@react-three/drei/exports/use-environment.js +1 -0
  913. package/dist-browser/@react-three/drei/exports/use-f-b-o.js +1 -0
  914. package/dist-browser/@react-three/drei/exports/use-f-b-x.js +1 -0
  915. package/dist-browser/@react-three/drei/exports/use-face-controls.js +1 -0
  916. package/dist-browser/@react-three/drei/exports/use-face-landmarker.js +1 -0
  917. package/dist-browser/@react-three/drei/exports/use-font.js +1 -0
  918. package/dist-browser/@react-three/drei/exports/use-g-l-t-f.js +1 -0
  919. package/dist-browser/@react-three/drei/exports/use-gizmo-context.js +1 -0
  920. package/dist-browser/@react-three/drei/exports/use-helper.js +1 -0
  921. package/dist-browser/@react-three/drei/exports/use-intersect.js +1 -0
  922. package/dist-browser/@react-three/drei/exports/use-k-t-x2.js +1 -0
  923. package/dist-browser/@react-three/drei/exports/use-keyboard-controls.js +1 -0
  924. package/dist-browser/@react-three/drei/exports/use-mask.js +1 -0
  925. package/dist-browser/@react-three/drei/exports/use-matcap-texture.js +1 -0
  926. package/dist-browser/@react-three/drei/exports/use-motion.js +1 -0
  927. package/dist-browser/@react-three/drei/exports/use-normal-texture.js +1 -0
  928. package/dist-browser/@react-three/drei/exports/use-performance-monitor.js +1 -0
  929. package/dist-browser/@react-three/drei/exports/use-progress.js +1 -0
  930. package/dist-browser/@react-three/drei/exports/use-scroll.js +1 -0
  931. package/dist-browser/@react-three/drei/exports/use-select.js +1 -0
  932. package/dist-browser/@react-three/drei/exports/use-sprite-animator.js +1 -0
  933. package/dist-browser/@react-three/drei/exports/use-sprite-loader.js +1 -0
  934. package/dist-browser/@react-three/drei/exports/use-surface-sampler.js +1 -0
  935. package/dist-browser/@react-three/drei/exports/use-texture.js +1 -0
  936. package/dist-browser/@react-three/drei/exports/use-trail-texture.js +1 -0
  937. package/dist-browser/@react-three/drei/exports/use-trail.js +1 -0
  938. package/dist-browser/@react-three/drei/exports/use-video-texture.js +1 -0
  939. package/dist-browser/@react-three/drei.js +1 -0
  940. package/dist-browser/@react-three/fiber.js +1 -0
  941. package/dist-browser/@react-three/postprocessing.js +1 -0
  942. package/dist-browser/@spawnite/engine/abilities.js +1 -0
  943. package/dist-browser/@spawnite/engine/core.js +1 -0
  944. package/dist-browser/@spawnite/engine/dragAndDrop.js +1 -0
  945. package/dist-browser/@spawnite/engine/inventory.js +1 -0
  946. package/dist-browser/@spawnite/engine/looks/dusk.js +1 -0
  947. package/dist-browser/@spawnite/engine/looks/morning.js +1 -0
  948. package/dist-browser/@spawnite/engine/looks/night.js +1 -0
  949. package/dist-browser/@spawnite/engine/looks/noon.js +1 -0
  950. package/dist-browser/@spawnite/engine/looks/overcast.js +1 -0
  951. package/dist-browser/@spawnite/engine/npcs.js +1 -0
  952. package/dist-browser/@spawnite/engine/rounds.js +1 -0
  953. package/dist-browser/@spawnite/engine/three.js +1 -0
  954. package/dist-browser/@spawnite/engine/tracks.js +1 -0
  955. package/dist-browser/@spawnite/engine/weapons.js +1 -0
  956. package/dist-browser/@spawnite/engine.js +376 -0
  957. package/dist-browser/@spawnite/schema/exports/-agent-state.js +1 -0
  958. package/dist-browser/@spawnite/schema/exports/-app-message-type.js +1 -0
  959. package/dist-browser/@spawnite/schema/exports/-channel-handshake.js +1 -0
  960. package/dist-browser/@spawnite/schema/exports/-clip-clock.js +1 -0
  961. package/dist-browser/@spawnite/schema/exports/-clip-record-action.js +1 -0
  962. package/dist-browser/@spawnite/schema/exports/-clip-shape.js +1 -0
  963. package/dist-browser/@spawnite/schema/exports/-collision-shape.js +1 -0
  964. package/dist-browser/@spawnite/schema/exports/-cover-kind.js +1 -0
  965. package/dist-browser/@spawnite/schema/exports/-credential-kind.js +1 -0
  966. package/dist-browser/@spawnite/schema/exports/-device-class.js +1 -0
  967. package/dist-browser/@spawnite/schema/exports/-engine-save-name.js +1 -0
  968. package/dist-browser/@spawnite/schema/exports/-favorite-kind.js +1 -0
  969. package/dist-browser/@spawnite/schema/exports/-model-style.js +1 -0
  970. package/dist-browser/@spawnite/schema/exports/-page-connection-status.js +1 -0
  971. package/dist-browser/@spawnite/schema/exports/-page-message-type.js +1 -0
  972. package/dist-browser/@spawnite/schema/exports/-performance-stats-mode.js +1 -0
  973. package/dist-browser/@spawnite/schema/exports/-prop-shape.js +1 -0
  974. package/dist-browser/@spawnite/schema/exports/-quality-group.js +1 -0
  975. package/dist-browser/@spawnite/schema/exports/-quality-level.js +1 -0
  976. package/dist-browser/@spawnite/schema/exports/-room-mode.js +1 -0
  977. package/dist-browser/@spawnite/schema/exports/-save-owner-change.js +1 -0
  978. package/dist-browser/@spawnite/schema/exports/-save-section.js +1 -0
  979. package/dist-browser/@spawnite/schema/exports/-scatter-family.js +1 -0
  980. package/dist-browser/@spawnite/schema/exports/-scatter-kind.js +1 -0
  981. package/dist-browser/@spawnite/schema/exports/-shot-angle.js +1 -0
  982. package/dist-browser/@spawnite/schema/exports/-voice-mode.js +1 -0
  983. package/dist-browser/@spawnite/schema/exports/-wiki-scope.js +1 -0
  984. package/dist-browser/@spawnite/schema/exports/add-asset-input.js +1 -0
  985. package/dist-browser/@spawnite/schema/exports/add-behaviour-input.js +1 -0
  986. package/dist-browser/@spawnite/schema/exports/add-dialog-input.js +1 -0
  987. package/dist-browser/@spawnite/schema/exports/add-entity-input.js +1 -0
  988. package/dist-browser/@spawnite/schema/exports/add-hud-input.js +1 -0
  989. package/dist-browser/@spawnite/schema/exports/add-item-input.js +1 -0
  990. package/dist-browser/@spawnite/schema/exports/add-map-input.js +1 -0
  991. package/dist-browser/@spawnite/schema/exports/add-npc-input.js +1 -0
  992. package/dist-browser/@spawnite/schema/exports/add-panel-input.js +1 -0
  993. package/dist-browser/@spawnite/schema/exports/add-scene-input.js +1 -0
  994. package/dist-browser/@spawnite/schema/exports/add-shader-input.js +1 -0
  995. package/dist-browser/@spawnite/schema/exports/agent-activity-event.js +1 -0
  996. package/dist-browser/@spawnite/schema/exports/agent-heartbeat-milliseconds.js +1 -0
  997. package/dist-browser/@spawnite/schema/exports/app-channel-version.js +1 -0
  998. package/dist-browser/@spawnite/schema/exports/app-credential.js +1 -0
  999. package/dist-browser/@spawnite/schema/exports/app-inset-edges.js +1 -0
  1000. package/dist-browser/@spawnite/schema/exports/app-insets.js +1 -0
  1001. package/dist-browser/@spawnite/schema/exports/app-message-versions.js +1 -0
  1002. package/dist-browser/@spawnite/schema/exports/app-message.js +1 -0
  1003. package/dist-browser/@spawnite/schema/exports/app-player.js +1 -0
  1004. package/dist-browser/@spawnite/schema/exports/app-settings-message.js +1 -0
  1005. package/dist-browser/@spawnite/schema/exports/asset-catalog.js +1 -0
  1006. package/dist-browser/@spawnite/schema/exports/asset-category.js +1 -0
  1007. package/dist-browser/@spawnite/schema/exports/asset-declaration.js +1 -0
  1008. package/dist-browser/@spawnite/schema/exports/asset-entry.js +1 -0
  1009. package/dist-browser/@spawnite/schema/exports/asset-filters.js +1 -0
  1010. package/dist-browser/@spawnite/schema/exports/asset-key.js +1 -0
  1011. package/dist-browser/@spawnite/schema/exports/asset-kind.js +1 -0
  1012. package/dist-browser/@spawnite/schema/exports/asset-licence.js +1 -0
  1013. package/dist-browser/@spawnite/schema/exports/asset-manifest.js +1 -0
  1014. package/dist-browser/@spawnite/schema/exports/asset-source.js +1 -0
  1015. package/dist-browser/@spawnite/schema/exports/asset-style.js +1 -0
  1016. package/dist-browser/@spawnite/schema/exports/asset-url.js +1 -0
  1017. package/dist-browser/@spawnite/schema/exports/assets-site.js +1 -0
  1018. package/dist-browser/@spawnite/schema/exports/brush-shapes.js +1 -0
  1019. package/dist-browser/@spawnite/schema/exports/build-save-manifest-entry.js +1 -0
  1020. package/dist-browser/@spawnite/schema/exports/bundle-file.js +1 -0
  1021. package/dist-browser/@spawnite/schema/exports/bundle-limits.js +1 -0
  1022. package/dist-browser/@spawnite/schema/exports/bundle-manifest-file.js +1 -0
  1023. package/dist-browser/@spawnite/schema/exports/bundle-manifest.js +1 -0
  1024. package/dist-browser/@spawnite/schema/exports/bundle-page-folder.js +1 -0
  1025. package/dist-browser/@spawnite/schema/exports/bundle-server-folder.js +1 -0
  1026. package/dist-browser/@spawnite/schema/exports/carried-setting-key-list.js +1 -0
  1027. package/dist-browser/@spawnite/schema/exports/carried-setting-keys.js +1 -0
  1028. package/dist-browser/@spawnite/schema/exports/carried-settings.js +1 -0
  1029. package/dist-browser/@spawnite/schema/exports/catalog-row.js +1 -0
  1030. package/dist-browser/@spawnite/schema/exports/cell-paint.js +1 -0
  1031. package/dist-browser/@spawnite/schema/exports/channel-connect.js +1 -0
  1032. package/dist-browser/@spawnite/schema/exports/channel-hello.js +1 -0
  1033. package/dist-browser/@spawnite/schema/exports/chat-folder-name.js +1 -0
  1034. package/dist-browser/@spawnite/schema/exports/chat-path.js +1 -0
  1035. package/dist-browser/@spawnite/schema/exports/chat-post.js +1 -0
  1036. package/dist-browser/@spawnite/schema/exports/chat-read-folder-name.js +1 -0
  1037. package/dist-browser/@spawnite/schema/exports/check-game-slug.js +1 -0
  1038. package/dist-browser/@spawnite/schema/exports/check-model-input.js +1 -0
  1039. package/dist-browser/@spawnite/schema/exports/check-save-migrations.js +1 -0
  1040. package/dist-browser/@spawnite/schema/exports/check-save-publish.js +1 -0
  1041. package/dist-browser/@spawnite/schema/exports/check-sound-input.js +1 -0
  1042. package/dist-browser/@spawnite/schema/exports/clip-finish.js +1 -0
  1043. package/dist-browser/@spawnite/schema/exports/clip-meta.js +1 -0
  1044. package/dist-browser/@spawnite/schema/exports/clip-name.js +1 -0
  1045. package/dist-browser/@spawnite/schema/exports/clips-folder-name.js +1 -0
  1046. package/dist-browser/@spawnite/schema/exports/clips-path.js +1 -0
  1047. package/dist-browser/@spawnite/schema/exports/compare-save-manifest-entries.js +1 -0
  1048. package/dist-browser/@spawnite/schema/exports/compare-shots-input.js +1 -0
  1049. package/dist-browser/@spawnite/schema/exports/component-name.js +1 -0
  1050. package/dist-browser/@spawnite/schema/exports/condition-seconds.js +1 -0
  1051. package/dist-browser/@spawnite/schema/exports/connection-message.js +1 -0
  1052. package/dist-browser/@spawnite/schema/exports/create-quality-schema.js +1 -0
  1053. package/dist-browser/@spawnite/schema/exports/create-site.js +1 -0
  1054. package/dist-browser/@spawnite/schema/exports/create-tagged-save-value-schema.js +1 -0
  1055. package/dist-browser/@spawnite/schema/exports/credential-versions.js +1 -0
  1056. package/dist-browser/@spawnite/schema/exports/day-hour.js +1 -0
  1057. package/dist-browser/@spawnite/schema/exports/day-length.js +1 -0
  1058. package/dist-browser/@spawnite/schema/exports/default-player-settings.js +1 -0
  1059. package/dist-browser/@spawnite/schema/exports/default-room-players.js +1 -0
  1060. package/dist-browser/@spawnite/schema/exports/default-room-send-rate.js +1 -0
  1061. package/dist-browser/@spawnite/schema/exports/describe-entity-input.js +1 -0
  1062. package/dist-browser/@spawnite/schema/exports/describe-map-input.js +1 -0
  1063. package/dist-browser/@spawnite/schema/exports/describe-save-publish-refusal.js +1 -0
  1064. package/dist-browser/@spawnite/schema/exports/dev-saves-cleared-file.js +1 -0
  1065. package/dist-browser/@spawnite/schema/exports/dev-saves-cleared-meta-name.js +1 -0
  1066. package/dist-browser/@spawnite/schema/exports/dev-saves-folder.js +1 -0
  1067. package/dist-browser/@spawnite/schema/exports/dev-server-file.js +1 -0
  1068. package/dist-browser/@spawnite/schema/exports/dev-server-prefix.js +1 -0
  1069. package/dist-browser/@spawnite/schema/exports/devtools-favorites.js +1 -0
  1070. package/dist-browser/@spawnite/schema/exports/devtools-presets.js +1 -0
  1071. package/dist-browser/@spawnite/schema/exports/direct-link.js +1 -0
  1072. package/dist-browser/@spawnite/schema/exports/edit-material-input.js +1 -0
  1073. package/dist-browser/@spawnite/schema/exports/edit-terrain-input.js +1 -0
  1074. package/dist-browser/@spawnite/schema/exports/engine-build-meta-name.js +1 -0
  1075. package/dist-browser/@spawnite/schema/exports/engine-build-path.js +1 -0
  1076. package/dist-browser/@spawnite/schema/exports/engine-label.js +1 -0
  1077. package/dist-browser/@spawnite/schema/exports/engine-origin.js +1 -0
  1078. package/dist-browser/@spawnite/schema/exports/engine-save-readers.js +1 -0
  1079. package/dist-browser/@spawnite/schema/exports/engine-save-schemas.js +1 -0
  1080. package/dist-browser/@spawnite/schema/exports/error-reports-config.js +1 -0
  1081. package/dist-browser/@spawnite/schema/exports/error-reports-meta-name.js +1 -0
  1082. package/dist-browser/@spawnite/schema/exports/error-reports-path.js +1 -0
  1083. package/dist-browser/@spawnite/schema/exports/favorite-field.js +1 -0
  1084. package/dist-browser/@spawnite/schema/exports/filter-assets.js +1 -0
  1085. package/dist-browser/@spawnite/schema/exports/find-particle-effect-excess.js +1 -0
  1086. package/dist-browser/@spawnite/schema/exports/find-room-settings-problems.js +1 -0
  1087. package/dist-browser/@spawnite/schema/exports/find-terrain-cell.js +1 -0
  1088. package/dist-browser/@spawnite/schema/exports/fingerprint-save-schema.js +1 -0
  1089. package/dist-browser/@spawnite/schema/exports/format-clip-length.js +1 -0
  1090. package/dist-browser/@spawnite/schema/exports/format-clip-size.js +1 -0
  1091. package/dist-browser/@spawnite/schema/exports/format-link-conditions.js +1 -0
  1092. package/dist-browser/@spawnite/schema/exports/framed-shot-schema.js +1 -0
  1093. package/dist-browser/@spawnite/schema/exports/fullscreen-answer-message.js +1 -0
  1094. package/dist-browser/@spawnite/schema/exports/fullscreen-message.js +1 -0
  1095. package/dist-browser/@spawnite/schema/exports/game-materials-name.js +1 -0
  1096. package/dist-browser/@spawnite/schema/exports/game-materials-schema.js +1 -0
  1097. package/dist-browser/@spawnite/schema/exports/game-origin.js +1 -0
  1098. package/dist-browser/@spawnite/schema/exports/game-page-path.js +1 -0
  1099. package/dist-browser/@spawnite/schema/exports/game-save-key.js +1 -0
  1100. package/dist-browser/@spawnite/schema/exports/grid-map.js +1 -0
  1101. package/dist-browser/@spawnite/schema/exports/ground-rule-schema.js +1 -0
  1102. package/dist-browser/@spawnite/schema/exports/ground-schema.js +1 -0
  1103. package/dist-browser/@spawnite/schema/exports/hud-slot.js +1 -0
  1104. package/dist-browser/@spawnite/schema/exports/init-message.js +1 -0
  1105. package/dist-browser/@spawnite/schema/exports/init-save.js +1 -0
  1106. package/dist-browser/@spawnite/schema/exports/insets-message.js +1 -0
  1107. package/dist-browser/@spawnite/schema/exports/is-additive-schema-change.js +1 -0
  1108. package/dist-browser/@spawnite/schema/exports/is-game-id.js +1 -0
  1109. package/dist-browser/@spawnite/schema/exports/is-game-slug.js +1 -0
  1110. package/dist-browser/@spawnite/schema/exports/is-kept-label.js +1 -0
  1111. package/dist-browser/@spawnite/schema/exports/is-link-direct.js +1 -0
  1112. package/dist-browser/@spawnite/schema/exports/is-older-reader.js +1 -0
  1113. package/dist-browser/@spawnite/schema/exports/is-particle-effect-looping.js +1 -0
  1114. package/dist-browser/@spawnite/schema/exports/is-room-players.js +1 -0
  1115. package/dist-browser/@spawnite/schema/exports/is-room-send-rate.js +1 -0
  1116. package/dist-browser/@spawnite/schema/exports/item-definition.js +1 -0
  1117. package/dist-browser/@spawnite/schema/exports/join-room-input.js +1 -0
  1118. package/dist-browser/@spawnite/schema/exports/leave-message.js +1 -0
  1119. package/dist-browser/@spawnite/schema/exports/left-message.js +1 -0
  1120. package/dist-browser/@spawnite/schema/exports/list-assets-input.js +1 -0
  1121. package/dist-browser/@spawnite/schema/exports/list-clips-input.js +1 -0
  1122. package/dist-browser/@spawnite/schema/exports/list-templates-input.js +1 -0
  1123. package/dist-browser/@spawnite/schema/exports/list-wiki-input.js +1 -0
  1124. package/dist-browser/@spawnite/schema/exports/long-call-input.js +1 -0
  1125. package/dist-browser/@spawnite/schema/exports/longest-timeout-seconds.js +1 -0
  1126. package/dist-browser/@spawnite/schema/exports/make-model-input.js +1 -0
  1127. package/dist-browser/@spawnite/schema/exports/map-base-schema.js +1 -0
  1128. package/dist-browser/@spawnite/schema/exports/map-path.js +1 -0
  1129. package/dist-browser/@spawnite/schema/exports/map-point.js +1 -0
  1130. package/dist-browser/@spawnite/schema/exports/map-post.js +1 -0
  1131. package/dist-browser/@spawnite/schema/exports/map-prop-schema.js +1 -0
  1132. package/dist-browser/@spawnite/schema/exports/map-props-patch.js +1 -0
  1133. package/dist-browser/@spawnite/schema/exports/map-props-schema.js +1 -0
  1134. package/dist-browser/@spawnite/schema/exports/map-schema.js +1 -0
  1135. package/dist-browser/@spawnite/schema/exports/map-sea-schema.js +1 -0
  1136. package/dist-browser/@spawnite/schema/exports/map-terrain-schema.js +1 -0
  1137. package/dist-browser/@spawnite/schema/exports/material-cover-schema.js +1 -0
  1138. package/dist-browser/@spawnite/schema/exports/material-look-schema.js +1 -0
  1139. package/dist-browser/@spawnite/schema/exports/material-name.js +1 -0
  1140. package/dist-browser/@spawnite/schema/exports/material-sets.js +1 -0
  1141. package/dist-browser/@spawnite/schema/exports/materials-schema.js +1 -0
  1142. package/dist-browser/@spawnite/schema/exports/max-error-report-bytes.js +1 -0
  1143. package/dist-browser/@spawnite/schema/exports/max-save-body-bytes.js +1 -0
  1144. package/dist-browser/@spawnite/schema/exports/max-save-body-ceiling-bytes.js +1 -0
  1145. package/dist-browser/@spawnite/schema/exports/max-save-unpacked-bytes.js +1 -0
  1146. package/dist-browser/@spawnite/schema/exports/max-save-unpacked-ceiling-bytes.js +1 -0
  1147. package/dist-browser/@spawnite/schema/exports/menu-message.js +1 -0
  1148. package/dist-browser/@spawnite/schema/exports/merge-carried-settings.js +1 -0
  1149. package/dist-browser/@spawnite/schema/exports/merge-save-highest.js +1 -0
  1150. package/dist-browser/@spawnite/schema/exports/model-reference-schema.js +1 -0
  1151. package/dist-browser/@spawnite/schema/exports/model-triangle-budget.js +1 -0
  1152. package/dist-browser/@spawnite/schema/exports/most-rejoin-hold-seconds.js +1 -0
  1153. package/dist-browser/@spawnite/schema/exports/most-room-players.js +1 -0
  1154. package/dist-browser/@spawnite/schema/exports/name-schema.js +1 -0
  1155. package/dist-browser/@spawnite/schema/exports/new-game-input.js +1 -0
  1156. package/dist-browser/@spawnite/schema/exports/package-room-hint.js +1 -0
  1157. package/dist-browser/@spawnite/schema/exports/package-room.js +1 -0
  1158. package/dist-browser/@spawnite/schema/exports/page-message-versions.js +1 -0
  1159. package/dist-browser/@spawnite/schema/exports/page-message.js +1 -0
  1160. package/dist-browser/@spawnite/schema/exports/page-settings-message.js +1 -0
  1161. package/dist-browser/@spawnite/schema/exports/parse-link-conditions.js +1 -0
  1162. package/dist-browser/@spawnite/schema/exports/particle-effect-limits.js +1 -0
  1163. package/dist-browser/@spawnite/schema/exports/particle-sprite-max-side.js +1 -0
  1164. package/dist-browser/@spawnite/schema/exports/place-loot-input.js +1 -0
  1165. package/dist-browser/@spawnite/schema/exports/place-props-input.js +1 -0
  1166. package/dist-browser/@spawnite/schema/exports/play-domain.js +1 -0
  1167. package/dist-browser/@spawnite/schema/exports/profile-game-input.js +1 -0
  1168. package/dist-browser/@spawnite/schema/exports/project-folder.js +1 -0
  1169. package/dist-browser/@spawnite/schema/exports/publish-assets-input.js +1 -0
  1170. package/dist-browser/@spawnite/schema/exports/publish-version-input.js +1 -0
  1171. package/dist-browser/@spawnite/schema/exports/query-map-input.js +1 -0
  1172. package/dist-browser/@spawnite/schema/exports/read-ai-tree-input.js +1 -0
  1173. package/dist-browser/@spawnite/schema/exports/read-chat-input.js +1 -0
  1174. package/dist-browser/@spawnite/schema/exports/read-clip-input.js +1 -0
  1175. package/dist-browser/@spawnite/schema/exports/read-clip-start-time.js +1 -0
  1176. package/dist-browser/@spawnite/schema/exports/read-game-id.js +1 -0
  1177. package/dist-browser/@spawnite/schema/exports/read-game-wiki-input.js +1 -0
  1178. package/dist-browser/@spawnite/schema/exports/read-package-room.js +1 -0
  1179. package/dist-browser/@spawnite/schema/exports/read-paint-grid.js +1 -0
  1180. package/dist-browser/@spawnite/schema/exports/read-particle-effect.js +1 -0
  1181. package/dist-browser/@spawnite/schema/exports/read-room-mode.js +1 -0
  1182. package/dist-browser/@spawnite/schema/exports/read-run-input.js +1 -0
  1183. package/dist-browser/@spawnite/schema/exports/read-save-mark.js +1 -0
  1184. package/dist-browser/@spawnite/schema/exports/read-save-record.js +1 -0
  1185. package/dist-browser/@spawnite/schema/exports/read-terrain-grid.js +1 -0
  1186. package/dist-browser/@spawnite/schema/exports/read-track-level.js +1 -0
  1187. package/dist-browser/@spawnite/schema/exports/read-wiki-input.js +1 -0
  1188. package/dist-browser/@spawnite/schema/exports/ready-message.js +1 -0
  1189. package/dist-browser/@spawnite/schema/exports/record-clip-input.js +1 -0
  1190. package/dist-browser/@spawnite/schema/exports/registry-entry.js +1 -0
  1191. package/dist-browser/@spawnite/schema/exports/registry-file.js +1 -0
  1192. package/dist-browser/@spawnite/schema/exports/registry-item-schema-url.js +1 -0
  1193. package/dist-browser/@spawnite/schema/exports/registry-item.js +1 -0
  1194. package/dist-browser/@spawnite/schema/exports/registry-schema-url.js +1 -0
  1195. package/dist-browser/@spawnite/schema/exports/registry.js +1 -0
  1196. package/dist-browser/@spawnite/schema/exports/resolve-room-settings.js +1 -0
  1197. package/dist-browser/@spawnite/schema/exports/reverse-wiki-relation.js +1 -0
  1198. package/dist-browser/@spawnite/schema/exports/room-send-rates.js +1 -0
  1199. package/dist-browser/@spawnite/schema/exports/save-codec-mark.js +1 -0
  1200. package/dist-browser/@spawnite/schema/exports/save-failed-message.js +1 -0
  1201. package/dist-browser/@spawnite/schema/exports/save-fingerprint-format.js +1 -0
  1202. package/dist-browser/@spawnite/schema/exports/save-limit-warning-share.js +1 -0
  1203. package/dist-browser/@spawnite/schema/exports/save-load-failed-message.js +1 -0
  1204. package/dist-browser/@spawnite/schema/exports/save-message.js +1 -0
  1205. package/dist-browser/@spawnite/schema/exports/save-now-message.js +1 -0
  1206. package/dist-browser/@spawnite/schema/exports/save-record-message.js +1 -0
  1207. package/dist-browser/@spawnite/schema/exports/saved-health-schema.js +1 -0
  1208. package/dist-browser/@spawnite/schema/exports/saved-level-schema.js +1 -0
  1209. package/dist-browser/@spawnite/schema/exports/saved-message.js +1 -0
  1210. package/dist-browser/@spawnite/schema/exports/saved-stack-schema.js +1 -0
  1211. package/dist-browser/@spawnite/schema/exports/saved-stat-schema.js +1 -0
  1212. package/dist-browser/@spawnite/schema/exports/saved-vector-schema.js +1 -0
  1213. package/dist-browser/@spawnite/schema/exports/scatter-kinds.js +1 -0
  1214. package/dist-browser/@spawnite/schema/exports/scene-name.js +1 -0
  1215. package/dist-browser/@spawnite/schema/exports/screenshot-input.js +1 -0
  1216. package/dist-browser/@spawnite/schema/exports/search-wiki-input.js +1 -0
  1217. package/dist-browser/@spawnite/schema/exports/seat-credential.js +1 -0
  1218. package/dist-browser/@spawnite/schema/exports/seat-message.js +1 -0
  1219. package/dist-browser/@spawnite/schema/exports/send-input-input.js +1 -0
  1220. package/dist-browser/@spawnite/schema/exports/servers-folder-name.js +1 -0
  1221. package/dist-browser/@spawnite/schema/exports/set-nickname-input.js +1 -0
  1222. package/dist-browser/@spawnite/schema/exports/set-trait-input.js +1 -0
  1223. package/dist-browser/@spawnite/schema/exports/set-visibility-input.js +1 -0
  1224. package/dist-browser/@spawnite/schema/exports/settings-schema.js +1 -0
  1225. package/dist-browser/@spawnite/schema/exports/shot-angle-schema.js +1 -0
  1226. package/dist-browser/@spawnite/schema/exports/shot-camera-schema.js +1 -0
  1227. package/dist-browser/@spawnite/schema/exports/shot-post.js +1 -0
  1228. package/dist-browser/@spawnite/schema/exports/shots-folder-name.js +1 -0
  1229. package/dist-browser/@spawnite/schema/exports/shots-path.js +1 -0
  1230. package/dist-browser/@spawnite/schema/exports/simulate-input.js +1 -0
  1231. package/dist-browser/@spawnite/schema/exports/slug-limits.js +1 -0
  1232. package/dist-browser/@spawnite/schema/exports/slugify-game-name.js +1 -0
  1233. package/dist-browser/@spawnite/schema/exports/snapshot-save-schema.js +1 -0
  1234. package/dist-browser/@spawnite/schema/exports/space-point-schema.js +1 -0
  1235. package/dist-browser/@spawnite/schema/exports/spawnite-folder-name.js +1 -0
  1236. package/dist-browser/@spawnite/schema/exports/start-playtest-input.js +1 -0
  1237. package/dist-browser/@spawnite/schema/exports/start-save-key.js +1 -0
  1238. package/dist-browser/@spawnite/schema/exports/steps-per-second.js +1 -0
  1239. package/dist-browser/@spawnite/schema/exports/store-age-bands.js +1 -0
  1240. package/dist-browser/@spawnite/schema/exports/store-page-limits.js +1 -0
  1241. package/dist-browser/@spawnite/schema/exports/store-page.js +1 -0
  1242. package/dist-browser/@spawnite/schema/exports/store-picture-rules.js +1 -0
  1243. package/dist-browser/@spawnite/schema/exports/store-picture.js +1 -0
  1244. package/dist-browser/@spawnite/schema/exports/tab-info.js +1 -0
  1245. package/dist-browser/@spawnite/schema/exports/tab-path.js +1 -0
  1246. package/dist-browser/@spawnite/schema/exports/tab-post.js +1 -0
  1247. package/dist-browser/@spawnite/schema/exports/tab-token-header.js +1 -0
  1248. package/dist-browser/@spawnite/schema/exports/tagged-save-value-schema.js +1 -0
  1249. package/dist-browser/@spawnite/schema/exports/terrain-brush.js +1 -0
  1250. package/dist-browser/@spawnite/schema/exports/terrain-fill.js +1 -0
  1251. package/dist-browser/@spawnite/schema/exports/terrain-map.js +1 -0
  1252. package/dist-browser/@spawnite/schema/exports/terrain-restore.js +1 -0
  1253. package/dist-browser/@spawnite/schema/exports/terrain-settlings.js +1 -0
  1254. package/dist-browser/@spawnite/schema/exports/terrain-stroke-shape.js +1 -0
  1255. package/dist-browser/@spawnite/schema/exports/terrain-stroke.js +1 -0
  1256. package/dist-browser/@spawnite/schema/exports/terrain-tools.js +1 -0
  1257. package/dist-browser/@spawnite/schema/exports/timeline-input.js +1 -0
  1258. package/dist-browser/@spawnite/schema/exports/to-display-name.js +1 -0
  1259. package/dist-browser/@spawnite/schema/exports/to-wiki-anchor.js +1 -0
  1260. package/dist-browser/@spawnite/schema/exports/track-level-schema.js +1 -0
  1261. package/dist-browser/@spawnite/schema/exports/untouched.js +1 -0
  1262. package/dist-browser/@spawnite/schema/exports/upload-store-page-input.js +1 -0
  1263. package/dist-browser/@spawnite/schema/exports/upload-version-input.js +1 -0
  1264. package/dist-browser/@spawnite/schema/exports/versions-of-save-manifest-entry.js +1 -0
  1265. package/dist-browser/@spawnite/schema/exports/versions-of.js +1 -0
  1266. package/dist-browser/@spawnite/schema/exports/view-schema.js +1 -0
  1267. package/dist-browser/@spawnite/schema/exports/voice-settings.js +1 -0
  1268. package/dist-browser/@spawnite/schema/exports/whoami-input.js +1 -0
  1269. package/dist-browser/@spawnite/schema/exports/wiki-overview-path.js +1 -0
  1270. package/dist-browser/@spawnite/schema/exports/wiki-page-path.js +1 -0
  1271. package/dist-browser/@spawnite/schema/exports/wiki-page-ref.js +1 -0
  1272. package/dist-browser/@spawnite/schema/exports/wiki-path-part.js +1 -0
  1273. package/dist-browser/@spawnite/schema/exports/wiki-site.js +1 -0
  1274. package/dist-browser/@spawnite/schema/exports/write-link-settings.js +1 -0
  1275. package/dist-browser/@spawnite/schema/exports/write-paint-grid.js +1 -0
  1276. package/dist-browser/@spawnite/schema/exports/write-save-record.js +1 -0
  1277. package/dist-browser/@spawnite/schema/exports/write-terrain-grid.js +1 -0
  1278. package/dist-browser/@spawnite/schema/exports/write-wiki-page-input.js +1 -0
  1279. package/dist-browser/@spawnite/schema/exports/z.js +1 -0
  1280. package/dist-browser/@spawnite/schema.js +1 -0
  1281. package/dist-browser/@spawnite/ui/motion.js +1 -0
  1282. package/dist-browser/@spawnite/ui.js +1 -0
  1283. package/dist-browser/THIRD-PARTY-NOTICES +2949 -0
  1284. package/dist-browser/assets/basis_transcoder-VXdx5NbI.wasm +0 -0
  1285. package/dist-browser/assets/basis_transcoder-o4Hde_L7.js +19 -0
  1286. package/dist-browser/assets/draco_decoder-C32yEggz.wasm +0 -0
  1287. package/dist-browser/assets/draco_decoder-Z1_iN-Ht.wasm +0 -0
  1288. package/dist-browser/assets/draco_decoder-fzg4nYZr.js +34 -0
  1289. package/dist-browser/assets/draco_wasm_wrapper-DxJM36Ib.js +117 -0
  1290. package/dist-browser/assets/draco_wasm_wrapper-fZCQGLGb.js +116 -0
  1291. package/dist-browser/assets/rapier_wasm3d_bg-CcJdV3OS.wasm +0 -0
  1292. package/dist-browser/chunks/-8xKUVc-.js +1 -0
  1293. package/dist-browser/chunks/0Bppyo06.js +1 -0
  1294. package/dist-browser/chunks/0XBYBf4e.js +1 -0
  1295. package/dist-browser/chunks/1Pk4GW-o.js +1 -0
  1296. package/dist-browser/chunks/1TfeBVY_.js +1 -0
  1297. package/dist-browser/chunks/2GzBwp8F.js +1 -0
  1298. package/dist-browser/chunks/37dBpPRN.js +1 -0
  1299. package/dist-browser/chunks/3GDQ_l39.js +1 -0
  1300. package/dist-browser/chunks/4r3wlCT-.js +56 -0
  1301. package/dist-browser/chunks/51muForc.js +2 -0
  1302. package/dist-browser/chunks/5l3Kj8OA.js +25 -0
  1303. package/dist-browser/chunks/5v0sm-la.js +1 -0
  1304. package/dist-browser/chunks/6RSie8Zr.js +1 -0
  1305. package/dist-browser/chunks/6VxScSBj.js +1 -0
  1306. package/dist-browser/chunks/6r1L_s87.js +1 -0
  1307. package/dist-browser/chunks/703AF8IC.js +2 -0
  1308. package/dist-browser/chunks/7kk1UrXM.js +54 -0
  1309. package/dist-browser/chunks/7v-xFmSc.js +1 -0
  1310. package/dist-browser/chunks/8CwB1oG9.js +1 -0
  1311. package/dist-browser/chunks/8GjxAP3h.js +1 -0
  1312. package/dist-browser/chunks/8Pep1QKH.js +1 -0
  1313. package/dist-browser/chunks/8eSx71cM.js +1 -0
  1314. package/dist-browser/chunks/8qLBuj0B.js +1 -0
  1315. package/dist-browser/chunks/8uMFNz4F.js +48 -0
  1316. package/dist-browser/chunks/9BUmmiDi.js +64 -0
  1317. package/dist-browser/chunks/AEQH3xKs.js +1 -0
  1318. package/dist-browser/chunks/B04SdTxo.js +1 -0
  1319. package/dist-browser/chunks/B0d1OhsT.js +1 -0
  1320. package/dist-browser/chunks/B0d94ulh.js +1 -0
  1321. package/dist-browser/chunks/B0dIJJnS.js +104 -0
  1322. package/dist-browser/chunks/B0sEcOA4.js +1 -0
  1323. package/dist-browser/chunks/B17MsfBW.js +2 -0
  1324. package/dist-browser/chunks/B1Q2EYQa.js +409 -0
  1325. package/dist-browser/chunks/B1VGbFnq.js +1 -0
  1326. package/dist-browser/chunks/B1ZLDwkb.js +1 -0
  1327. package/dist-browser/chunks/B1gZ4XNT.js +1 -0
  1328. package/dist-browser/chunks/B2P8OKx4.js +114 -0
  1329. package/dist-browser/chunks/B2lwHY_A.js +1 -0
  1330. package/dist-browser/chunks/B2rfjAu3.js +1 -0
  1331. package/dist-browser/chunks/B3cpZ7qW.js +1 -0
  1332. package/dist-browser/chunks/B3zyuqQe.js +1 -0
  1333. package/dist-browser/chunks/B4HH7vxm.js +1 -0
  1334. package/dist-browser/chunks/B4L72GuI.js +1 -0
  1335. package/dist-browser/chunks/B4PXM93E.js +1 -0
  1336. package/dist-browser/chunks/B4dyXOK4.js +2 -0
  1337. package/dist-browser/chunks/B4f83JmW.js +1 -0
  1338. package/dist-browser/chunks/B4rtOA11.js +1 -0
  1339. package/dist-browser/chunks/B53Q2-Fw.js +42 -0
  1340. package/dist-browser/chunks/B5YG9Ima.js +35 -0
  1341. package/dist-browser/chunks/B5npwEiE.js +1 -0
  1342. package/dist-browser/chunks/B6TyyPfn.js +2280 -0
  1343. package/dist-browser/chunks/B6YPgX9B.js +1 -0
  1344. package/dist-browser/chunks/B7K2KMcP.js +289 -0
  1345. package/dist-browser/chunks/B8GCRzu-.js +1 -0
  1346. package/dist-browser/chunks/B8f3enUO.js +42 -0
  1347. package/dist-browser/chunks/B9dPPcmc.js +239 -0
  1348. package/dist-browser/chunks/B9n7U8x8.js +24 -0
  1349. package/dist-browser/chunks/BAcEoh4A.js +1 -0
  1350. package/dist-browser/chunks/BBTy17gV.js +23 -0
  1351. package/dist-browser/chunks/BBoWq_28.js +1 -0
  1352. package/dist-browser/chunks/BCEkROxA.js +1 -0
  1353. package/dist-browser/chunks/BCSDojKA.js +2 -0
  1354. package/dist-browser/chunks/BCnGjanZ.js +1 -0
  1355. package/dist-browser/chunks/BCy2Imwl.js +1 -0
  1356. package/dist-browser/chunks/BD93nK4k.js +1 -0
  1357. package/dist-browser/chunks/BDYWv4Pt.js +1 -0
  1358. package/dist-browser/chunks/BDntRBeD.js +1 -0
  1359. package/dist-browser/chunks/BE0sHH_C.js +1 -0
  1360. package/dist-browser/chunks/BE7yKwOS.js +1 -0
  1361. package/dist-browser/chunks/BFDqfrDx.js +61 -0
  1362. package/dist-browser/chunks/BFnCgym5.js +1 -0
  1363. package/dist-browser/chunks/BFpenkAR.js +1 -0
  1364. package/dist-browser/chunks/BFvqTjM2.js +1 -0
  1365. package/dist-browser/chunks/BG8QaCAl.js +1 -0
  1366. package/dist-browser/chunks/BGsrJU1n.js +219 -0
  1367. package/dist-browser/chunks/BGze3w87.js +1 -0
  1368. package/dist-browser/chunks/BHYG5big.js +1 -0
  1369. package/dist-browser/chunks/BHZuFsZC.js +26 -0
  1370. package/dist-browser/chunks/BHePouWp.js +1 -0
  1371. package/dist-browser/chunks/BIGc2B5x.js +106 -0
  1372. package/dist-browser/chunks/BIgbJOA7.js +1 -0
  1373. package/dist-browser/chunks/BIlEJ_uM.js +1 -0
  1374. package/dist-browser/chunks/BIrJsLCp.js +1 -0
  1375. package/dist-browser/chunks/BJCTIWwI.js +97 -0
  1376. package/dist-browser/chunks/BJWwGEft.js +22 -0
  1377. package/dist-browser/chunks/BJbnvkQD.js +33 -0
  1378. package/dist-browser/chunks/BJj_P5qy.js +40 -0
  1379. package/dist-browser/chunks/BKMmwIjP.js +1 -0
  1380. package/dist-browser/chunks/BL2b-bga.js +1 -0
  1381. package/dist-browser/chunks/BL3GFPpX.js +1 -0
  1382. package/dist-browser/chunks/BL3JqalM.js +1 -0
  1383. package/dist-browser/chunks/BLQoPgRQ.js +17 -0
  1384. package/dist-browser/chunks/BLdTHuK5.js +38 -0
  1385. package/dist-browser/chunks/BLxVM0Bx.js +1 -0
  1386. package/dist-browser/chunks/BMOXLfbG.js +1 -0
  1387. package/dist-browser/chunks/BMyF16Pb.js +1 -0
  1388. package/dist-browser/chunks/BN0JituG.js +1 -0
  1389. package/dist-browser/chunks/BNiTh9Zb.js +1 -0
  1390. package/dist-browser/chunks/BNm7BDEl.js +1 -0
  1391. package/dist-browser/chunks/BNucCtAC.js +1 -0
  1392. package/dist-browser/chunks/BOAa4bZ5.js +80 -0
  1393. package/dist-browser/chunks/BOIXSUZ_.js +1 -0
  1394. package/dist-browser/chunks/BOY2osHs.js +1 -0
  1395. package/dist-browser/chunks/BP9HooTj.js +1 -0
  1396. package/dist-browser/chunks/BPsQn259.js +1 -0
  1397. package/dist-browser/chunks/BPyPftW0.js +1 -0
  1398. package/dist-browser/chunks/BQl3ddsW.js +1 -0
  1399. package/dist-browser/chunks/BSaFdJJr.js +1 -0
  1400. package/dist-browser/chunks/BSb5Y-Am.js +1 -0
  1401. package/dist-browser/chunks/BSoHyLeW.js +1 -0
  1402. package/dist-browser/chunks/BUJHJVUo.js +1 -0
  1403. package/dist-browser/chunks/BV45MfzJ.js +206 -0
  1404. package/dist-browser/chunks/BWLobtMG.js +1 -0
  1405. package/dist-browser/chunks/BWX2omqC.js +1 -0
  1406. package/dist-browser/chunks/BX-IJ6Jw.js +1 -0
  1407. package/dist-browser/chunks/BZ67u85L.js +1 -0
  1408. package/dist-browser/chunks/BZL3DkMo.js +1 -0
  1409. package/dist-browser/chunks/BZkTFuN8.js +32 -0
  1410. package/dist-browser/chunks/B_olo1g0.js +1 -0
  1411. package/dist-browser/chunks/B_xcv6lP.js +1 -0
  1412. package/dist-browser/chunks/BadDFgpu.js +3 -0
  1413. package/dist-browser/chunks/BbIllpJG.js +1 -0
  1414. package/dist-browser/chunks/Bc7uTOHd.js +1 -0
  1415. package/dist-browser/chunks/BcH7_nnK.js +1 -0
  1416. package/dist-browser/chunks/Bdd_iq-Z.js +1 -0
  1417. package/dist-browser/chunks/BdkaRoRG.js +3 -0
  1418. package/dist-browser/chunks/BeUM0nnI.js +1 -0
  1419. package/dist-browser/chunks/BfkxY7do.js +13 -0
  1420. package/dist-browser/chunks/BfzfmpKY.js +1 -0
  1421. package/dist-browser/chunks/BgNGXLZH.js +1 -0
  1422. package/dist-browser/chunks/Bgmtnmc9.js +1 -0
  1423. package/dist-browser/chunks/BgtS-68o.js +1 -0
  1424. package/dist-browser/chunks/BhE7ED0P.js +1 -0
  1425. package/dist-browser/chunks/BhG-aLlJ.js +17 -0
  1426. package/dist-browser/chunks/BhtgOF9y.js +1 -0
  1427. package/dist-browser/chunks/BhvPhm_f.js +12 -0
  1428. package/dist-browser/chunks/Bhvb25xz.js +1 -0
  1429. package/dist-browser/chunks/Bi2imP0-.js +1 -0
  1430. package/dist-browser/chunks/Bi4f74NJ.js +1 -0
  1431. package/dist-browser/chunks/BiCMFIxo.js +1 -0
  1432. package/dist-browser/chunks/BiSn0Dtc.js +1 -0
  1433. package/dist-browser/chunks/BiU0PYSX.js +1 -0
  1434. package/dist-browser/chunks/BipZQXT8.js +1 -0
  1435. package/dist-browser/chunks/BiqCT0be.js +1 -0
  1436. package/dist-browser/chunks/BjVVweLJ.js +1 -0
  1437. package/dist-browser/chunks/BjeL5CV8.js +1 -0
  1438. package/dist-browser/chunks/BjikXbkr.js +1 -0
  1439. package/dist-browser/chunks/BkNRpWJF.js +1 -0
  1440. package/dist-browser/chunks/BkWdvCr2.js +1 -0
  1441. package/dist-browser/chunks/BkfYP8sS.js +1 -0
  1442. package/dist-browser/chunks/BkoAp3nt.js +17 -0
  1443. package/dist-browser/chunks/BkuNzUds.js +5 -0
  1444. package/dist-browser/chunks/BlDBqfnQ.js +1 -0
  1445. package/dist-browser/chunks/Blob4piG.js +1 -0
  1446. package/dist-browser/chunks/Bm-NgCJv.js +290 -0
  1447. package/dist-browser/chunks/BmwnZMHR.js +1 -0
  1448. package/dist-browser/chunks/Bn-oguIM.js +1 -0
  1449. package/dist-browser/chunks/Bn8JxKQd.js +947 -0
  1450. package/dist-browser/chunks/Bn8l74kN.js +1 -0
  1451. package/dist-browser/chunks/Bo2vvsC6.js +1 -0
  1452. package/dist-browser/chunks/BoJD7UsQ.js +5 -0
  1453. package/dist-browser/chunks/BoRPdfTd.js +1 -0
  1454. package/dist-browser/chunks/BoTmVVAp.js +1 -0
  1455. package/dist-browser/chunks/BoiOnH_p.js +1 -0
  1456. package/dist-browser/chunks/Bpe2I0GB.js +1 -0
  1457. package/dist-browser/chunks/BqD0o821.js +25 -0
  1458. package/dist-browser/chunks/BqXaJXLb.js +1 -0
  1459. package/dist-browser/chunks/BqsB_Ag5.js +1 -0
  1460. package/dist-browser/chunks/Br-JA8rZ.js +1 -0
  1461. package/dist-browser/chunks/Br2nhNMH.js +1 -0
  1462. package/dist-browser/chunks/BrezGx31.js +3 -0
  1463. package/dist-browser/chunks/BsZMTFvx.js +1 -0
  1464. package/dist-browser/chunks/Bt2nCTua.js +51 -0
  1465. package/dist-browser/chunks/BtM7kQaS.js +1 -0
  1466. package/dist-browser/chunks/BtZNIAhj.js +1 -0
  1467. package/dist-browser/chunks/Btgu8kW9.js +3 -0
  1468. package/dist-browser/chunks/Btjboa9G.js +248 -0
  1469. package/dist-browser/chunks/Btn1Hp7-.js +1 -0
  1470. package/dist-browser/chunks/Bu1cOMsK.js +1 -0
  1471. package/dist-browser/chunks/Bv2bGJo9.js +1 -0
  1472. package/dist-browser/chunks/BvK95JoS.js +1 -0
  1473. package/dist-browser/chunks/BvrPFs0h.js +1 -0
  1474. package/dist-browser/chunks/BvsNGgEj.js +1 -0
  1475. package/dist-browser/chunks/ByyEEkYz.js +1 -0
  1476. package/dist-browser/chunks/BzAJiB5u.js +1 -0
  1477. package/dist-browser/chunks/BzCmY2x1.js +68 -0
  1478. package/dist-browser/chunks/BzKtjbg2.js +1 -0
  1479. package/dist-browser/chunks/BzZ2lwsC.js +134 -0
  1480. package/dist-browser/chunks/BzcZWs3f.js +1 -0
  1481. package/dist-browser/chunks/BzuN4nW7.js +33 -0
  1482. package/dist-browser/chunks/BzwHJPea.js +1 -0
  1483. package/dist-browser/chunks/Bzy44bV2.js +4216 -0
  1484. package/dist-browser/chunks/C-O8NhHK.js +1 -0
  1485. package/dist-browser/chunks/C-_LmeNn.js +934 -0
  1486. package/dist-browser/chunks/C-ztiLpW.js +1 -0
  1487. package/dist-browser/chunks/C0Iji4Qk.js +1 -0
  1488. package/dist-browser/chunks/C12xlM79.js +1 -0
  1489. package/dist-browser/chunks/C1BDCorD.js +99 -0
  1490. package/dist-browser/chunks/C2Dm6eUt.js +1 -0
  1491. package/dist-browser/chunks/C2RePWen.js +1 -0
  1492. package/dist-browser/chunks/C2suuPFw.js +1 -0
  1493. package/dist-browser/chunks/C33aG9gN.js +1 -0
  1494. package/dist-browser/chunks/C3Y15gp1.js +1 -0
  1495. package/dist-browser/chunks/C3gvA1lh.js +1 -0
  1496. package/dist-browser/chunks/C3pLayiC.js +143 -0
  1497. package/dist-browser/chunks/C3wBsE11.js +1 -0
  1498. package/dist-browser/chunks/C4E_bIDB.js +1 -0
  1499. package/dist-browser/chunks/C4OFzvAP.js +1 -0
  1500. package/dist-browser/chunks/C4fzyzUE.js +1 -0
  1501. package/dist-browser/chunks/C5P0RHNI.js +1 -0
  1502. package/dist-browser/chunks/C6XZSTSj.js +39 -0
  1503. package/dist-browser/chunks/C784v2VA.js +1 -0
  1504. package/dist-browser/chunks/C7CUzsYJ.js +1 -0
  1505. package/dist-browser/chunks/C7FykdRJ.js +1 -0
  1506. package/dist-browser/chunks/C7RSxM0z.js +1 -0
  1507. package/dist-browser/chunks/C9J2i9In.js +2 -0
  1508. package/dist-browser/chunks/C9Kd-Lrf.js +1 -0
  1509. package/dist-browser/chunks/C9OKiK4z.js +15 -0
  1510. package/dist-browser/chunks/C9bAX0wX.js +1 -0
  1511. package/dist-browser/chunks/C9duFT9_.js +9 -0
  1512. package/dist-browser/chunks/CA52Vkpa.js +3 -0
  1513. package/dist-browser/chunks/CAB0sdkM.js +8 -0
  1514. package/dist-browser/chunks/CBcRTsvX.js +1 -0
  1515. package/dist-browser/chunks/CC8kNj4O.js +1 -0
  1516. package/dist-browser/chunks/CC_taxfs.js +1 -0
  1517. package/dist-browser/chunks/CCnjeop3.js +1 -0
  1518. package/dist-browser/chunks/CD1Phcj7.js +1 -0
  1519. package/dist-browser/chunks/CDBmfTua.js +1 -0
  1520. package/dist-browser/chunks/CDFKagMr.js +1 -0
  1521. package/dist-browser/chunks/CDZegpP1.js +1 -0
  1522. package/dist-browser/chunks/CD_-ZdOx.js +1 -0
  1523. package/dist-browser/chunks/CDmSfsbx.js +1 -0
  1524. package/dist-browser/chunks/CDy5CkBb.js +1 -0
  1525. package/dist-browser/chunks/CDyybrEA.js +1 -0
  1526. package/dist-browser/chunks/CENY_jwA.js +5 -0
  1527. package/dist-browser/chunks/CEfq3wMj.js +1 -0
  1528. package/dist-browser/chunks/CEtY4HlI.js +1 -0
  1529. package/dist-browser/chunks/CEtbZ-Ou.js +51 -0
  1530. package/dist-browser/chunks/CFVbNh1J.js +1 -0
  1531. package/dist-browser/chunks/CG5A_mHR.js +1 -0
  1532. package/dist-browser/chunks/CGFRQ0IS.js +3 -0
  1533. package/dist-browser/chunks/CGPPrudP.js +1 -0
  1534. package/dist-browser/chunks/CGZdRHCz.js +1 -0
  1535. package/dist-browser/chunks/CG_ggIC3.js +230 -0
  1536. package/dist-browser/chunks/CHD7Siks.js +61 -0
  1537. package/dist-browser/chunks/CHGAmNbz.js +24 -0
  1538. package/dist-browser/chunks/CH_3weAk.js +136 -0
  1539. package/dist-browser/chunks/CHnMaz0U.js +1 -0
  1540. package/dist-browser/chunks/CHx28aAq.js +1 -0
  1541. package/dist-browser/chunks/CIPEdQZg.js +1 -0
  1542. package/dist-browser/chunks/CIU50MA1.js +1 -0
  1543. package/dist-browser/chunks/CIXqygz5.js +42 -0
  1544. package/dist-browser/chunks/CIz-HH07.js +1585 -0
  1545. package/dist-browser/chunks/CJ4zQQhO.js +1 -0
  1546. package/dist-browser/chunks/CJD9mRmQ.js +1 -0
  1547. package/dist-browser/chunks/CJgknJ-O.js +12 -0
  1548. package/dist-browser/chunks/CL1lltpM.js +1 -0
  1549. package/dist-browser/chunks/CLxcu-z_.js +73 -0
  1550. package/dist-browser/chunks/CM3pB59z.js +1 -0
  1551. package/dist-browser/chunks/CM7fr6V2.js +1 -0
  1552. package/dist-browser/chunks/CMCldyjy.js +1 -0
  1553. package/dist-browser/chunks/CMhbdUh_.js +1 -0
  1554. package/dist-browser/chunks/CMj-G0tG.js +1 -0
  1555. package/dist-browser/chunks/CMy5JYMZ.js +1 -0
  1556. package/dist-browser/chunks/CNS048lI.js +1 -0
  1557. package/dist-browser/chunks/CO0SZ1hy.js +1 -0
  1558. package/dist-browser/chunks/COnv2PBF.js +2 -0
  1559. package/dist-browser/chunks/CP27PMpS.js +1 -0
  1560. package/dist-browser/chunks/CQRcPihd.js +6 -0
  1561. package/dist-browser/chunks/CRDIjF8C.js +2 -0
  1562. package/dist-browser/chunks/CRFCYrrv.js +1 -0
  1563. package/dist-browser/chunks/CRL527zA.js +1 -0
  1564. package/dist-browser/chunks/CRuuK4qI.js +1 -0
  1565. package/dist-browser/chunks/CSrliGR5.js +1 -0
  1566. package/dist-browser/chunks/CT24MROG.js +36 -0
  1567. package/dist-browser/chunks/CTKsfpS6.js +1 -0
  1568. package/dist-browser/chunks/CTovL-9G.js +1 -0
  1569. package/dist-browser/chunks/CU2_4WYp.js +1 -0
  1570. package/dist-browser/chunks/CVn3AkL4.js +3 -0
  1571. package/dist-browser/chunks/CW47wlpJ.js +1 -0
  1572. package/dist-browser/chunks/CWtE2FH4.js +6 -0
  1573. package/dist-browser/chunks/CWtqwiJb.js +1 -0
  1574. package/dist-browser/chunks/CX2yvOMR.js +32 -0
  1575. package/dist-browser/chunks/CXYvZiC5.js +1 -0
  1576. package/dist-browser/chunks/CY2_o-A_.js +1 -0
  1577. package/dist-browser/chunks/CYD5IpHG.js +1 -0
  1578. package/dist-browser/chunks/CYFmo-2d.js +1 -0
  1579. package/dist-browser/chunks/CYzJaZmG.js +1 -0
  1580. package/dist-browser/chunks/CZng9q4s.js +1 -0
  1581. package/dist-browser/chunks/C_3LSlp_.js +1 -0
  1582. package/dist-browser/chunks/C_popvm5.js +1 -0
  1583. package/dist-browser/chunks/Ca2qCbBO.js +227 -0
  1584. package/dist-browser/chunks/CaayFmFc.js +68 -0
  1585. package/dist-browser/chunks/CagC9ufD.js +6 -0
  1586. package/dist-browser/chunks/CamHr2sm.js +9 -0
  1587. package/dist-browser/chunks/Caw9wDgF.js +1 -0
  1588. package/dist-browser/chunks/CbRyzWz3.js +1 -0
  1589. package/dist-browser/chunks/CcQz6dxG.js +68 -0
  1590. package/dist-browser/chunks/CcUHIKVc.js +1 -0
  1591. package/dist-browser/chunks/Cd20lYkt.js +23 -0
  1592. package/dist-browser/chunks/Cdj8C4sv.js +1 -0
  1593. package/dist-browser/chunks/CeWzMWwP.js +1 -0
  1594. package/dist-browser/chunks/Ceeo2sCz.js +1 -0
  1595. package/dist-browser/chunks/CerF2aP5.js +1 -0
  1596. package/dist-browser/chunks/Cew-kv76.js +1 -0
  1597. package/dist-browser/chunks/Cf1F89pD.js +1 -0
  1598. package/dist-browser/chunks/Cff8_5zr.js +1 -0
  1599. package/dist-browser/chunks/Cgy6G_V-.js +1 -0
  1600. package/dist-browser/chunks/ChAqhjhd.js +243 -0
  1601. package/dist-browser/chunks/Chg_Q8x6.js +1 -0
  1602. package/dist-browser/chunks/Chx9z6ee.js +3 -0
  1603. package/dist-browser/chunks/Ci0DiZOM.js +1 -0
  1604. package/dist-browser/chunks/CiD_XHlg.js +1 -0
  1605. package/dist-browser/chunks/CjL-uP84.js +1 -0
  1606. package/dist-browser/chunks/CjPBNVRF.js +2 -0
  1607. package/dist-browser/chunks/CjTILWD4.js +3 -0
  1608. package/dist-browser/chunks/CkmGh-87.js +1 -0
  1609. package/dist-browser/chunks/ClZqxSEX.js +1 -0
  1610. package/dist-browser/chunks/CluBrQDl.js +1 -0
  1611. package/dist-browser/chunks/Clzbw8hC.js +104 -0
  1612. package/dist-browser/chunks/CmEJbuVc.js +1 -0
  1613. package/dist-browser/chunks/CmlWyQpr.js +1 -0
  1614. package/dist-browser/chunks/Cnh5-qw-.js +10 -0
  1615. package/dist-browser/chunks/CnwbVRym.js +1 -0
  1616. package/dist-browser/chunks/Co55Z6b-.js +34 -0
  1617. package/dist-browser/chunks/CoqDcyee.js +1 -0
  1618. package/dist-browser/chunks/CorZBnkZ.js +71 -0
  1619. package/dist-browser/chunks/CpKf07f9.js +72 -0
  1620. package/dist-browser/chunks/CqXobSJH.js +82 -0
  1621. package/dist-browser/chunks/CqwcKTEN.js +1 -0
  1622. package/dist-browser/chunks/Cs23D-lk.js +18 -0
  1623. package/dist-browser/chunks/CsT20qOq.js +1 -0
  1624. package/dist-browser/chunks/CsTuUPUb.js +1 -0
  1625. package/dist-browser/chunks/CtCvKs-8.js +1 -0
  1626. package/dist-browser/chunks/CtpF73Mi.js +1 -0
  1627. package/dist-browser/chunks/CuHid4qh.js +1 -0
  1628. package/dist-browser/chunks/CuhwmTWw.js +2 -0
  1629. package/dist-browser/chunks/Cv31r4NA.js +1 -0
  1630. package/dist-browser/chunks/CvVTau-c.js +1 -0
  1631. package/dist-browser/chunks/Cvdyeg_0.js +1 -0
  1632. package/dist-browser/chunks/CvgsNxMb.js +1 -0
  1633. package/dist-browser/chunks/Cvk3fWJd.js +31 -0
  1634. package/dist-browser/chunks/Cvq_OonK.js +1 -0
  1635. package/dist-browser/chunks/Cvzg7xRz.js +1039 -0
  1636. package/dist-browser/chunks/CwPUhsCN.js +111 -0
  1637. package/dist-browser/chunks/CwTYnDSQ.js +1 -0
  1638. package/dist-browser/chunks/CwVb7sDh.js +1 -0
  1639. package/dist-browser/chunks/CwkwVzf9.js +1 -0
  1640. package/dist-browser/chunks/Cwsm87qt.js +1 -0
  1641. package/dist-browser/chunks/CwtYJaZ0.js +1 -0
  1642. package/dist-browser/chunks/CxBgnQIE.js +1 -0
  1643. package/dist-browser/chunks/CxRCGV_D.js +1 -0
  1644. package/dist-browser/chunks/CxW3h7EP.js +1 -0
  1645. package/dist-browser/chunks/CxdFFqFC.js +1 -0
  1646. package/dist-browser/chunks/Cxl6U4QM.js +1 -0
  1647. package/dist-browser/chunks/CxqqJceE.js +262 -0
  1648. package/dist-browser/chunks/CyUjhzls.js +1 -0
  1649. package/dist-browser/chunks/CzHZycAX.js +1 -0
  1650. package/dist-browser/chunks/CzVBHx3T.js +1 -0
  1651. package/dist-browser/chunks/D-J5r5vm.js +502 -0
  1652. package/dist-browser/chunks/D-ZRVGDk.js +1 -0
  1653. package/dist-browser/chunks/D10MTZ8f.js +1 -0
  1654. package/dist-browser/chunks/D1dFmEHc.js +82 -0
  1655. package/dist-browser/chunks/D2SJBO5U.js +1 -0
  1656. package/dist-browser/chunks/D2bDAUlP.js +1 -0
  1657. package/dist-browser/chunks/D2qpNyTi.js +1 -0
  1658. package/dist-browser/chunks/D3Fr6yvq.js +1 -0
  1659. package/dist-browser/chunks/D3_eaTYS.js +1 -0
  1660. package/dist-browser/chunks/D3lBoMMr.js +29 -0
  1661. package/dist-browser/chunks/D5CFWMVX.js +1 -0
  1662. package/dist-browser/chunks/D5Cj4ub7.js +1 -0
  1663. package/dist-browser/chunks/D5EJDMZ-.js +2 -0
  1664. package/dist-browser/chunks/D6E_gImS.js +1 -0
  1665. package/dist-browser/chunks/D6XXX9Ue.js +1 -0
  1666. package/dist-browser/chunks/D6fd1dZA.js +1 -0
  1667. package/dist-browser/chunks/D852BHwA.js +40 -0
  1668. package/dist-browser/chunks/D8inQ_yL.js +1 -0
  1669. package/dist-browser/chunks/D9XZ_4Ga.js +145 -0
  1670. package/dist-browser/chunks/D9dlo-Ln.js +1 -0
  1671. package/dist-browser/chunks/DAB0WqX0.js +1 -0
  1672. package/dist-browser/chunks/DAH2JXIW.js +1 -0
  1673. package/dist-browser/chunks/DAPFhXVb.js +22 -0
  1674. package/dist-browser/chunks/DAxE8pMD.js +45 -0
  1675. package/dist-browser/chunks/DBj6QGQs.js +1 -0
  1676. package/dist-browser/chunks/DC3L5U86.js +1 -0
  1677. package/dist-browser/chunks/DC9vc-0L.js +1 -0
  1678. package/dist-browser/chunks/DCJlJ3lv.js +1 -0
  1679. package/dist-browser/chunks/DCaQLeIq.js +1 -0
  1680. package/dist-browser/chunks/DCc-gTDg.js +1 -0
  1681. package/dist-browser/chunks/DD2V7Wxl.js +1 -0
  1682. package/dist-browser/chunks/DD6onItE.js +1 -0
  1683. package/dist-browser/chunks/DDLmvpjg.js +1 -0
  1684. package/dist-browser/chunks/DDRCiC_a.js +1 -0
  1685. package/dist-browser/chunks/DEW70SgN.js +1 -0
  1686. package/dist-browser/chunks/DEucxoKb.js +1 -0
  1687. package/dist-browser/chunks/DF6Qh6eu.js +1 -0
  1688. package/dist-browser/chunks/DFtj_qQf.js +63 -0
  1689. package/dist-browser/chunks/DG4h2xXm.js +45 -0
  1690. package/dist-browser/chunks/DGYxR7PN.js +26 -0
  1691. package/dist-browser/chunks/DGlba0EV.js +1 -0
  1692. package/dist-browser/chunks/DHOehIg0.js +30 -0
  1693. package/dist-browser/chunks/DHiTLWtz.js +1 -0
  1694. package/dist-browser/chunks/DIHxCXEJ.js +1 -0
  1695. package/dist-browser/chunks/DII2y8tL.js +546 -0
  1696. package/dist-browser/chunks/DIcTMzLD.js +31 -0
  1697. package/dist-browser/chunks/DImXrYb5.js +1 -0
  1698. package/dist-browser/chunks/DIvOsQJS.js +393 -0
  1699. package/dist-browser/chunks/DJCfJlBy.js +1 -0
  1700. package/dist-browser/chunks/DKnN7RH0.js +1 -0
  1701. package/dist-browser/chunks/DKrOx_1M.js +1 -0
  1702. package/dist-browser/chunks/DMcWzziy.js +1 -0
  1703. package/dist-browser/chunks/DMk6G0lv.js +1 -0
  1704. package/dist-browser/chunks/DMyNEYzI.js +1 -0
  1705. package/dist-browser/chunks/DN0xP1fa.js +1 -0
  1706. package/dist-browser/chunks/DNef-bWt.js +1 -0
  1707. package/dist-browser/chunks/DNhTxxCh.js +1 -0
  1708. package/dist-browser/chunks/DNoIqPE7.js +1 -0
  1709. package/dist-browser/chunks/DNsR67l1.js +3 -0
  1710. package/dist-browser/chunks/DOEmZHjx.js +1 -0
  1711. package/dist-browser/chunks/DOFYt5cj.js +1 -0
  1712. package/dist-browser/chunks/DOWMFTFl.js +38 -0
  1713. package/dist-browser/chunks/DOYycP3M.js +1 -0
  1714. package/dist-browser/chunks/DOidSPk5.js +1 -0
  1715. package/dist-browser/chunks/DOvE9vCY.js +97 -0
  1716. package/dist-browser/chunks/DOyIRes1.js +1 -0
  1717. package/dist-browser/chunks/DPIksCnG.js +41 -0
  1718. package/dist-browser/chunks/DPNgRv8u.js +1 -0
  1719. package/dist-browser/chunks/DPXctdFS.js +27 -0
  1720. package/dist-browser/chunks/DPnn0uIO.js +1 -0
  1721. package/dist-browser/chunks/DQ0A9BJI.js +1 -0
  1722. package/dist-browser/chunks/DQbqNpgw.js +1 -0
  1723. package/dist-browser/chunks/DQea7zxR.js +1 -0
  1724. package/dist-browser/chunks/DSMSQCrr.js +36 -0
  1725. package/dist-browser/chunks/DSp9shD_.js +1 -0
  1726. package/dist-browser/chunks/DT0rWxA4.js +1176 -0
  1727. package/dist-browser/chunks/DTtjHrtM.js +1 -0
  1728. package/dist-browser/chunks/DV53iZve.js +64 -0
  1729. package/dist-browser/chunks/DVAMQgZs.js +1 -0
  1730. package/dist-browser/chunks/DVcRBsZ0.js +69 -0
  1731. package/dist-browser/chunks/DVrViq4W.js +1 -0
  1732. package/dist-browser/chunks/DWe0PJKb.js +1 -0
  1733. package/dist-browser/chunks/DWgUahRJ.js +1 -0
  1734. package/dist-browser/chunks/DXJRs_pC.js +1 -0
  1735. package/dist-browser/chunks/DXq97sWO.js +1 -0
  1736. package/dist-browser/chunks/DXzwsPHQ.js +8 -0
  1737. package/dist-browser/chunks/DYoIHzIt.js +2 -0
  1738. package/dist-browser/chunks/DZJGj1NY.js +1 -0
  1739. package/dist-browser/chunks/DZYUBtK-.js +10 -0
  1740. package/dist-browser/chunks/DZmRZ_iP.js +1 -0
  1741. package/dist-browser/chunks/D_MQ9Xc9.js +1 -0
  1742. package/dist-browser/chunks/D_V_oqfi.js +1 -0
  1743. package/dist-browser/chunks/D_fJrOcA.js +1 -0
  1744. package/dist-browser/chunks/DaE8j1Mj.js +1 -0
  1745. package/dist-browser/chunks/DaNJDW05.js +120 -0
  1746. package/dist-browser/chunks/DaqOKjgV.js +2 -0
  1747. package/dist-browser/chunks/DbM1VGG0.js +1 -0
  1748. package/dist-browser/chunks/DbVolxbX.js +1 -0
  1749. package/dist-browser/chunks/Dd3Azzh1.js +102 -0
  1750. package/dist-browser/chunks/Dd_HZKyk.js +1 -0
  1751. package/dist-browser/chunks/DePrIwoT.js +1 -0
  1752. package/dist-browser/chunks/Df-3V4RI.js +1 -0
  1753. package/dist-browser/chunks/DfPCBWZC.js +35 -0
  1754. package/dist-browser/chunks/DfTjtDZE.js +1 -0
  1755. package/dist-browser/chunks/Dfdpy3ar.js +1 -0
  1756. package/dist-browser/chunks/DhQi6uM8.js +1 -0
  1757. package/dist-browser/chunks/Dhq0zrZC.js +131 -0
  1758. package/dist-browser/chunks/DhrQ_H4H.js +1 -0
  1759. package/dist-browser/chunks/Di27GzYt.js +1 -0
  1760. package/dist-browser/chunks/Di8-zyqt.js +1 -0
  1761. package/dist-browser/chunks/DifZdnzu.js +1 -0
  1762. package/dist-browser/chunks/DikvOXI-.js +1 -0
  1763. package/dist-browser/chunks/Dj3lr7h3.js +33 -0
  1764. package/dist-browser/chunks/Dj8ovMlo.js +1 -0
  1765. package/dist-browser/chunks/DjcMDPrm.js +67 -0
  1766. package/dist-browser/chunks/DkVVho_1.js +1 -0
  1767. package/dist-browser/chunks/Dkh1AfX5.js +1 -0
  1768. package/dist-browser/chunks/DkwGHqUD.js +1 -0
  1769. package/dist-browser/chunks/Dl96d5U7.js +1 -0
  1770. package/dist-browser/chunks/DlW29B4u.js +3 -0
  1771. package/dist-browser/chunks/DmSNe3jl.js +387 -0
  1772. package/dist-browser/chunks/DmxSxKXn.js +1 -0
  1773. package/dist-browser/chunks/DnFdLC2j.js +1 -0
  1774. package/dist-browser/chunks/DnUyDgmE.js +1 -0
  1775. package/dist-browser/chunks/DnvK0nWc.js +1 -0
  1776. package/dist-browser/chunks/DoEd4p-l.js +1 -0
  1777. package/dist-browser/chunks/DoX7pGYd.js +140 -0
  1778. package/dist-browser/chunks/Dp6fzsZG.js +1 -0
  1779. package/dist-browser/chunks/DpM23pTz.js +33 -0
  1780. package/dist-browser/chunks/DpZZtTTL.js +2 -0
  1781. package/dist-browser/chunks/DqAbaJTn.js +1 -0
  1782. package/dist-browser/chunks/DqMSA0q-.js +1 -0
  1783. package/dist-browser/chunks/DqNrCZSo.js +1 -0
  1784. package/dist-browser/chunks/DqP3aSvp.js +43 -0
  1785. package/dist-browser/chunks/Dqi6K18W.js +1 -0
  1786. package/dist-browser/chunks/DqqKpYoS.js +2 -0
  1787. package/dist-browser/chunks/Dqqmos-r.js +1 -0
  1788. package/dist-browser/chunks/Dr26QZ_C.js +1 -0
  1789. package/dist-browser/chunks/DrRp_OBG.js +1 -0
  1790. package/dist-browser/chunks/Ds0gQyON.js +1 -0
  1791. package/dist-browser/chunks/DsNI9SjT.js +1 -0
  1792. package/dist-browser/chunks/DskxWO57.js +1 -0
  1793. package/dist-browser/chunks/DspI2fym.js +33 -0
  1794. package/dist-browser/chunks/DtbRpC-a.js +2 -0
  1795. package/dist-browser/chunks/Dtc9u0hV.js +1 -0
  1796. package/dist-browser/chunks/DtdxxwYW.js +1 -0
  1797. package/dist-browser/chunks/Du2r_IDC.js +1 -0
  1798. package/dist-browser/chunks/DuiL5B5s.js +1 -0
  1799. package/dist-browser/chunks/DvMRww-v.js +1 -0
  1800. package/dist-browser/chunks/Dvzw_jou.js +1 -0
  1801. package/dist-browser/chunks/DwsXVYGF.js +1 -0
  1802. package/dist-browser/chunks/DxVZve2V.js +89 -0
  1803. package/dist-browser/chunks/Dy4Ev-pT.js +1 -0
  1804. package/dist-browser/chunks/DyGuOmo0.js +1 -0
  1805. package/dist-browser/chunks/DyXA-iwx.js +1 -0
  1806. package/dist-browser/chunks/Dypqlsev.js +1 -0
  1807. package/dist-browser/chunks/Dyqt3CuN.js +1 -0
  1808. package/dist-browser/chunks/DyxvzuFy.js +284 -0
  1809. package/dist-browser/chunks/DzMSiy_7.js +1 -0
  1810. package/dist-browser/chunks/DzaY1F1G.js +1 -0
  1811. package/dist-browser/chunks/EtRHumNJ.js +1 -0
  1812. package/dist-browser/chunks/FASUCRk-.js +3 -0
  1813. package/dist-browser/chunks/FeUl7sn8.js +1 -0
  1814. package/dist-browser/chunks/FjuaFAN8.js +25 -0
  1815. package/dist-browser/chunks/FsV9kMlK.js +1 -0
  1816. package/dist-browser/chunks/GB4zXBMC.js +1 -0
  1817. package/dist-browser/chunks/Guirowam.js +8 -0
  1818. package/dist-browser/chunks/HJHNBZzR.js +1 -0
  1819. package/dist-browser/chunks/HOXwa5Zi.js +1 -0
  1820. package/dist-browser/chunks/HhGGA2q1.js +1 -0
  1821. package/dist-browser/chunks/HjLsj9Wb.js +1 -0
  1822. package/dist-browser/chunks/ILniMPMQ.js +1 -0
  1823. package/dist-browser/chunks/IPgW5q-o.js +1 -0
  1824. package/dist-browser/chunks/IRJFdyYz.js +1 -0
  1825. package/dist-browser/chunks/J1EyHJSp.js +1 -0
  1826. package/dist-browser/chunks/JtVcQQeX.js +5 -0
  1827. package/dist-browser/chunks/KYZpoAyE.js +1 -0
  1828. package/dist-browser/chunks/KjHCb3-W.js +2 -0
  1829. package/dist-browser/chunks/Kp8JypHd.js +441 -0
  1830. package/dist-browser/chunks/Ku6I7UKh.js +1 -0
  1831. package/dist-browser/chunks/KzprlngN.js +1 -0
  1832. package/dist-browser/chunks/L5CwTQJI.js +4 -0
  1833. package/dist-browser/chunks/L9tCceA2.js +150 -0
  1834. package/dist-browser/chunks/L_tB79W_.js +1 -0
  1835. package/dist-browser/chunks/MDiJyUbk.js +1 -0
  1836. package/dist-browser/chunks/MaXgxQlM.js +1 -0
  1837. package/dist-browser/chunks/N5x7ZUws.js +1 -0
  1838. package/dist-browser/chunks/NZYk81nU.js +1 -0
  1839. package/dist-browser/chunks/Np7O_rbA.js +1 -0
  1840. package/dist-browser/chunks/Oo8Rc01u.js +1 -0
  1841. package/dist-browser/chunks/OtECxeEN.js +9 -0
  1842. package/dist-browser/chunks/OtOkABqS.js +158 -0
  1843. package/dist-browser/chunks/Oyc0qEPK.js +1 -0
  1844. package/dist-browser/chunks/PDPf8POY.js +1 -0
  1845. package/dist-browser/chunks/QRJE7tia.js +1 -0
  1846. package/dist-browser/chunks/Q_sagimg.js +1 -0
  1847. package/dist-browser/chunks/QgFqrot_.js +1 -0
  1848. package/dist-browser/chunks/QpPH2K9r.js +1 -0
  1849. package/dist-browser/chunks/R8vFmq4f.js +1 -0
  1850. package/dist-browser/chunks/RxUw8kPH.js +1 -0
  1851. package/dist-browser/chunks/SO6iJj34.js +1 -0
  1852. package/dist-browser/chunks/SWr9_u-k.js +13 -0
  1853. package/dist-browser/chunks/TQJJL2UK.js +27 -0
  1854. package/dist-browser/chunks/UE6Xi3ol.js +1 -0
  1855. package/dist-browser/chunks/VGXLiJ0S.js +1 -0
  1856. package/dist-browser/chunks/VMH7wDAk.js +1 -0
  1857. package/dist-browser/chunks/VwXcqbG4.js +23 -0
  1858. package/dist-browser/chunks/Wmd1pmNu.js +1 -0
  1859. package/dist-browser/chunks/XTdr3vkK.js +1 -0
  1860. package/dist-browser/chunks/XaLSS-X1.js +23 -0
  1861. package/dist-browser/chunks/XhPbWY7N.js +1 -0
  1862. package/dist-browser/chunks/Y4nknrnT.js +1 -0
  1863. package/dist-browser/chunks/Y9xF8jFn.js +23 -0
  1864. package/dist-browser/chunks/_-SUJuni.js +1 -0
  1865. package/dist-browser/chunks/_M7-qabf.js +101 -0
  1866. package/dist-browser/chunks/_qsNVwXW.js +1 -0
  1867. package/dist-browser/chunks/_vvwCLWQ.js +1 -0
  1868. package/dist-browser/chunks/b6V8XMYY.js +1 -0
  1869. package/dist-browser/chunks/bA3FB4mi.js +3 -0
  1870. package/dist-browser/chunks/bAf7cF9y.js +1 -0
  1871. package/dist-browser/chunks/bhrkTdEx.js +538 -0
  1872. package/dist-browser/chunks/dFGbvMHe.js +1 -0
  1873. package/dist-browser/chunks/dOIX3hJ7.js +1 -0
  1874. package/dist-browser/chunks/eUYPiZ2p.js +1 -0
  1875. package/dist-browser/chunks/eUiHGfWU.js +1 -0
  1876. package/dist-browser/chunks/f6_vnw-E.js +1 -0
  1877. package/dist-browser/chunks/fE2ZfJiX.js +1 -0
  1878. package/dist-browser/chunks/gZQtAM7h.js +2 -0
  1879. package/dist-browser/chunks/h8XD1xl-.js +1 -0
  1880. package/dist-browser/chunks/hEdm-zUW.js +1 -0
  1881. package/dist-browser/chunks/hWCYme74.js +1 -0
  1882. package/dist-browser/chunks/hfB064S0.js +1 -0
  1883. package/dist-browser/chunks/hlEBxUea.js +1 -0
  1884. package/dist-browser/chunks/j5sGo2Pt.js +1 -0
  1885. package/dist-browser/chunks/kG0ku-oF.js +1 -0
  1886. package/dist-browser/chunks/kLNROLfT.js +1 -0
  1887. package/dist-browser/chunks/kggDnku6.js +1 -0
  1888. package/dist-browser/chunks/klRtNUrN.js +1 -0
  1889. package/dist-browser/chunks/lOD1Gn8c.js +1 -0
  1890. package/dist-browser/chunks/lrh33Ko2.js +1 -0
  1891. package/dist-browser/chunks/mB6FoGFb.js +1 -0
  1892. package/dist-browser/chunks/msmucz6Z.js +1 -0
  1893. package/dist-browser/chunks/nEtJtbDE.js +1 -0
  1894. package/dist-browser/chunks/nvwS1LmH.js +1 -0
  1895. package/dist-browser/chunks/oqmnhzmi.js +2 -0
  1896. package/dist-browser/chunks/pICTBHHN.js +1 -0
  1897. package/dist-browser/chunks/pU4H1b3r.js +43 -0
  1898. package/dist-browser/chunks/qBpAlJSP.js +1 -0
  1899. package/dist-browser/chunks/qCjqID6v.js +1 -0
  1900. package/dist-browser/chunks/r-cfH8A5.js +1 -0
  1901. package/dist-browser/chunks/rgDalb_G.js +1 -0
  1902. package/dist-browser/chunks/rolldown-runtime-hePW80VL.js +1 -0
  1903. package/dist-browser/chunks/sdmDudQj.js +1 -0
  1904. package/dist-browser/chunks/shRf5cdU.js +1 -0
  1905. package/dist-browser/chunks/tvcsfh86.js +1 -0
  1906. package/dist-browser/chunks/tz7IArSg.js +1 -0
  1907. package/dist-browser/chunks/u--BrnjZ.js +1 -0
  1908. package/dist-browser/chunks/uBIymjUX.js +1 -0
  1909. package/dist-browser/chunks/uHO_HSNA.js +1 -0
  1910. package/dist-browser/chunks/uZz_bF7-.js +1 -0
  1911. package/dist-browser/chunks/uc0Y9KUA.js +1 -0
  1912. package/dist-browser/chunks/ud6upqGO.js +2 -0
  1913. package/dist-browser/chunks/udTuD3NU.js +1 -0
  1914. package/dist-browser/chunks/ul0Kb67V.js +38 -0
  1915. package/dist-browser/chunks/uq1wJ3hU.js +322 -0
  1916. package/dist-browser/chunks/vA_owFWw.js +1 -0
  1917. package/dist-browser/chunks/vgYSnL0k.js +1 -0
  1918. package/dist-browser/chunks/vjQO9b4G.js +1 -0
  1919. package/dist-browser/chunks/vm1kntVK.js +18 -0
  1920. package/dist-browser/chunks/vnMr9U1p.js +1 -0
  1921. package/dist-browser/chunks/vyik5ymL.js +1 -0
  1922. package/dist-browser/chunks/w2RB3fs9.js +1 -0
  1923. package/dist-browser/chunks/wmdxOiEL.js +1 -0
  1924. package/dist-browser/chunks/xtpWQ17d.js +27 -0
  1925. package/dist-browser/chunks/yRMgu4ay.js +3 -0
  1926. package/dist-browser/chunks/yYrq3lUc.js +42 -0
  1927. package/dist-browser/chunks/yieoIIce.js +1 -0
  1928. package/dist-browser/chunks/yzr1keSX.js +38 -0
  1929. package/dist-browser/chunks/z94mqM9o.js +1 -0
  1930. package/dist-browser/chunks/zSWKwMId.js +1 -0
  1931. package/dist-browser/importmap.json +1761 -0
  1932. package/dist-browser/koota/react.js +1 -0
  1933. package/dist-browser/koota.js +1 -0
  1934. package/dist-browser/postprocessing.js +1 -0
  1935. package/dist-browser/react/jsx-runtime.js +1 -0
  1936. package/dist-browser/react-dom/client.js +1 -0
  1937. package/dist-browser/react-dom.js +1 -0
  1938. package/dist-browser/react.js +1 -0
  1939. package/dist-browser/release.json +11655 -0
  1940. package/dist-browser/three/addons/Addons.js +1 -0
  1941. package/dist-browser/three/addons/animation/AnimationClipCreator.js +1 -0
  1942. package/dist-browser/three/addons/animation/CCDIKSolver.js +1 -0
  1943. package/dist-browser/three/addons/capabilities/WebGL.js +1 -0
  1944. package/dist-browser/three/addons/capabilities/WebGPU.js +1 -0
  1945. package/dist-browser/three/addons/controls/ArcballControls.js +1 -0
  1946. package/dist-browser/three/addons/controls/DragControls.js +1 -0
  1947. package/dist-browser/three/addons/controls/FirstPersonControls.js +1 -0
  1948. package/dist-browser/three/addons/controls/FlyControls.js +1 -0
  1949. package/dist-browser/three/addons/controls/MapControls.js +1 -0
  1950. package/dist-browser/three/addons/controls/OrbitControls.js +1 -0
  1951. package/dist-browser/three/addons/controls/PointerLockControls.js +1 -0
  1952. package/dist-browser/three/addons/controls/TrackballControls.js +1 -0
  1953. package/dist-browser/three/addons/controls/TransformControls.js +1 -0
  1954. package/dist-browser/three/addons/csm/CSM.js +1 -0
  1955. package/dist-browser/three/addons/csm/CSMFrustum.js +1 -0
  1956. package/dist-browser/three/addons/csm/CSMHelper.js +1 -0
  1957. package/dist-browser/three/addons/csm/CSMShader.js +1 -0
  1958. package/dist-browser/three/addons/csm/CSMShadowNode.js +1 -0
  1959. package/dist-browser/three/addons/curves/CurveExtras.js +1 -0
  1960. package/dist-browser/three/addons/curves/NURBSCurve.js +1 -0
  1961. package/dist-browser/three/addons/curves/NURBSSurface.js +1 -0
  1962. package/dist-browser/three/addons/curves/NURBSUtils.js +1 -0
  1963. package/dist-browser/three/addons/curves/NURBSVolume.js +1 -0
  1964. package/dist-browser/three/addons/effects/AnaglyphEffect.js +1 -0
  1965. package/dist-browser/three/addons/effects/AsciiEffect.js +1 -0
  1966. package/dist-browser/three/addons/effects/OutlineEffect.js +1 -0
  1967. package/dist-browser/three/addons/effects/ParallaxBarrierEffect.js +1 -0
  1968. package/dist-browser/three/addons/effects/StereoEffect.js +1 -0
  1969. package/dist-browser/three/addons/environments/ColorEnvironment.js +1 -0
  1970. package/dist-browser/three/addons/environments/DebugEnvironment.js +1 -0
  1971. package/dist-browser/three/addons/environments/RoomEnvironment.js +1 -0
  1972. package/dist-browser/three/addons/exporters/DRACOExporter.js +1 -0
  1973. package/dist-browser/three/addons/exporters/EXRExporter.js +1 -0
  1974. package/dist-browser/three/addons/exporters/GLTFExporter.js +1 -0
  1975. package/dist-browser/three/addons/exporters/KTX2Exporter.js +1 -0
  1976. package/dist-browser/three/addons/exporters/OBJExporter.js +1 -0
  1977. package/dist-browser/three/addons/exporters/PLYExporter.js +1 -0
  1978. package/dist-browser/three/addons/exporters/STLExporter.js +1 -0
  1979. package/dist-browser/three/addons/exporters/USDZExporter.js +1 -0
  1980. package/dist-browser/three/addons/generators/CityGenerator.js +1 -0
  1981. package/dist-browser/three/addons/generators/ForestGenerator.js +1 -0
  1982. package/dist-browser/three/addons/generators/TerrainGenerator.js +1 -0
  1983. package/dist-browser/three/addons/generators/TreeGenerator.js +1 -0
  1984. package/dist-browser/three/addons/generators/city/BenchGenerator.js +1 -0
  1985. package/dist-browser/three/addons/generators/city/CarGenerator.js +1 -0
  1986. package/dist-browser/three/addons/generators/city/CityGeneratorUtils.js +1 -0
  1987. package/dist-browser/three/addons/generators/city/HydrantGenerator.js +1 -0
  1988. package/dist-browser/three/addons/generators/city/InstancedMeshGenerator.js +1 -0
  1989. package/dist-browser/three/addons/generators/city/PersonGenerator.js +1 -0
  1990. package/dist-browser/three/addons/generators/city/SidewalkGenerator.js +1 -0
  1991. package/dist-browser/three/addons/generators/city/SkyscraperGenerator.js +1 -0
  1992. package/dist-browser/three/addons/generators/city/StreetTreeGenerator.js +1 -0
  1993. package/dist-browser/three/addons/generators/city/StreetlightGenerator.js +1 -0
  1994. package/dist-browser/three/addons/generators/city/TrafficlightGenerator.js +1 -0
  1995. package/dist-browser/three/addons/generators/city/TrashcanGenerator.js +1 -0
  1996. package/dist-browser/three/addons/geometries/BoxLineGeometry.js +1 -0
  1997. package/dist-browser/three/addons/geometries/ConvexGeometry.js +1 -0
  1998. package/dist-browser/three/addons/geometries/DecalGeometry.js +1 -0
  1999. package/dist-browser/three/addons/geometries/LoftGeometry.js +1 -0
  2000. package/dist-browser/three/addons/geometries/ParametricFunctions.js +1 -0
  2001. package/dist-browser/three/addons/geometries/ParametricGeometry.js +1 -0
  2002. package/dist-browser/three/addons/geometries/RoundedBoxGeometry.js +1 -0
  2003. package/dist-browser/three/addons/geometries/TeapotGeometry.js +1 -0
  2004. package/dist-browser/three/addons/geometries/TextGeometry.js +1 -0
  2005. package/dist-browser/three/addons/gpgpu/BitonicSort.js +1 -0
  2006. package/dist-browser/three/addons/gpgpu/CountingSort.js +1 -0
  2007. package/dist-browser/three/addons/helpers/AnimationPathHelper.js +1 -0
  2008. package/dist-browser/three/addons/helpers/LightProbeGridHelper.js +1 -0
  2009. package/dist-browser/three/addons/helpers/LightProbeGridHelperWebGL.js +80 -0
  2010. package/dist-browser/three/addons/helpers/LightProbeHelper.js +1 -0
  2011. package/dist-browser/three/addons/helpers/LightProbeHelperGPU.js +1 -0
  2012. package/dist-browser/three/addons/helpers/OctreeHelper.js +1 -0
  2013. package/dist-browser/three/addons/helpers/PositionalAudioHelper.js +1 -0
  2014. package/dist-browser/three/addons/helpers/RapierHelper.js +1 -0
  2015. package/dist-browser/three/addons/helpers/RectAreaLightHelper.js +1 -0
  2016. package/dist-browser/three/addons/helpers/TextureHelper.js +1 -0
  2017. package/dist-browser/three/addons/helpers/TextureHelperGPU.js +1 -0
  2018. package/dist-browser/three/addons/helpers/VertexNormalsHelper.js +1 -0
  2019. package/dist-browser/three/addons/helpers/VertexTangentsHelper.js +1 -0
  2020. package/dist-browser/three/addons/helpers/ViewHelper.js +1 -0
  2021. package/dist-browser/three/addons/inspector/Extension.js +1 -0
  2022. package/dist-browser/three/addons/inspector/Inspector.js +1 -0
  2023. package/dist-browser/three/addons/inspector/RendererInspector.js +1 -0
  2024. package/dist-browser/three/addons/inspector/extensions/color-grading/ColorGrading.js +1 -0
  2025. package/dist-browser/three/addons/inspector/extensions/color-grading/ColorWheel.js +1 -0
  2026. package/dist-browser/three/addons/inspector/extensions/color-grading/CurveEditor.js +1 -0
  2027. package/dist-browser/three/addons/inspector/extensions/color-grading/LUT3DStyle.js +1 -0
  2028. package/dist-browser/three/addons/inspector/extensions/color-grading/LUTMath.js +1 -0
  2029. package/dist-browser/three/addons/inspector/extensions/color-grading/modules/BrightnessModule.js +1 -0
  2030. package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ColorWheelModule.js +1 -0
  2031. package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ContrastModule.js +1 -0
  2032. package/dist-browser/three/addons/inspector/extensions/color-grading/modules/CurvesModule.js +1 -0
  2033. package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ExposureHueModule.js +1 -0
  2034. package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ExposureModule.js +1 -0
  2035. package/dist-browser/three/addons/inspector/extensions/color-grading/modules/HueModule.js +1 -0
  2036. package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ImportedCubeModule.js +1 -0
  2037. package/dist-browser/three/addons/inspector/extensions/color-grading/modules/Module.js +1 -0
  2038. package/dist-browser/three/addons/inspector/extensions/color-grading/modules/OutputModule.js +1 -0
  2039. package/dist-browser/three/addons/inspector/extensions/color-grading/modules/RendererModule.js +1 -0
  2040. package/dist-browser/three/addons/inspector/extensions/color-grading/modules/SatVibranceModule.js +1 -0
  2041. package/dist-browser/three/addons/inspector/extensions/color-grading/modules/SaturationModule.js +1 -0
  2042. package/dist-browser/three/addons/inspector/extensions/color-grading/modules/VibranceModule.js +1 -0
  2043. package/dist-browser/three/addons/inspector/extensions/color-grading/modules/WhiteBalanceModule.js +1 -0
  2044. package/dist-browser/three/addons/inspector/extensions/tsl-graph/TSLGraphEditor.js +1 -0
  2045. package/dist-browser/three/addons/inspector/extensions/tsl-graph/TSLGraphLoader.js +1 -0
  2046. package/dist-browser/three/addons/inspector/tabs/Console.js +1 -0
  2047. package/dist-browser/three/addons/inspector/tabs/Memory.js +1 -0
  2048. package/dist-browser/three/addons/inspector/tabs/Parameters.js +1 -0
  2049. package/dist-browser/three/addons/inspector/tabs/Performance.js +1 -0
  2050. package/dist-browser/three/addons/inspector/tabs/Settings.js +1 -0
  2051. package/dist-browser/three/addons/inspector/tabs/Timeline.js +1 -0
  2052. package/dist-browser/three/addons/inspector/tabs/Viewer.js +1 -0
  2053. package/dist-browser/three/addons/inspector/ui/Graph.js +1 -0
  2054. package/dist-browser/three/addons/inspector/ui/Item.js +1 -0
  2055. package/dist-browser/three/addons/inspector/ui/List.js +1 -0
  2056. package/dist-browser/three/addons/inspector/ui/Profiler.js +1 -0
  2057. package/dist-browser/three/addons/inspector/ui/Style.js +1 -0
  2058. package/dist-browser/three/addons/inspector/ui/Tab.js +1 -0
  2059. package/dist-browser/three/addons/inspector/ui/Values.js +1 -0
  2060. package/dist-browser/three/addons/inspector/ui/utils.js +1 -0
  2061. package/dist-browser/three/addons/interaction/InteractionManager.js +1 -0
  2062. package/dist-browser/three/addons/interactive/HTMLMesh.js +1 -0
  2063. package/dist-browser/three/addons/interactive/InteractiveGroup.js +1 -0
  2064. package/dist-browser/three/addons/interactive/SelectionBox.js +1 -0
  2065. package/dist-browser/three/addons/interactive/SelectionHelper.js +1 -0
  2066. package/dist-browser/three/addons/libs/chevrotain.module.min.js +1 -0
  2067. package/dist-browser/three/addons/libs/demuxer_mp4.js +1 -0
  2068. package/dist-browser/three/addons/libs/fflate.module.js +1 -0
  2069. package/dist-browser/three/addons/libs/ktx-parse.module.js +1 -0
  2070. package/dist-browser/three/addons/libs/lil-gui.module.min.js +4 -0
  2071. package/dist-browser/three/addons/libs/meshopt_clusterizer.module.js +1 -0
  2072. package/dist-browser/three/addons/libs/meshopt_decoder.module.js +1 -0
  2073. package/dist-browser/three/addons/libs/meshopt_simplifier.module.js +1 -0
  2074. package/dist-browser/three/addons/libs/mikktspace.module.js +1 -0
  2075. package/dist-browser/three/addons/libs/motion-controllers.module.js +1 -0
  2076. package/dist-browser/three/addons/libs/potpack.module.js +1 -0
  2077. package/dist-browser/three/addons/libs/stats.module.js +1 -0
  2078. package/dist-browser/three/addons/libs/surfaceNet.js +1 -0
  2079. package/dist-browser/three/addons/libs/tween.module.js +1 -0
  2080. package/dist-browser/three/addons/libs/utif.module.js +1 -0
  2081. package/dist-browser/three/addons/libs/zstddec.module.js +1 -0
  2082. package/dist-browser/three/addons/lighting/ClusteredLighting.js +1 -0
  2083. package/dist-browser/three/addons/lighting/DynamicLighting.js +1 -0
  2084. package/dist-browser/three/addons/lighting/LightProbeGrid.js +1 -0
  2085. package/dist-browser/three/addons/lighting/LightProbeGridUtils.js +1 -0
  2086. package/dist-browser/three/addons/lighting/LightProbeGridWebGL.js +135 -0
  2087. package/dist-browser/three/addons/lighting/vxgi/VXGIConeTracer.js +1 -0
  2088. package/dist-browser/three/addons/lighting/vxgi/VXGINode.js +1 -0
  2089. package/dist-browser/three/addons/lighting/vxgi/VXGISceneCollector.js +1 -0
  2090. package/dist-browser/three/addons/lighting/vxgi/VXGIVolume.js +1 -0
  2091. package/dist-browser/three/addons/lights/LightProbeGenerator.js +1 -0
  2092. package/dist-browser/three/addons/lights/RectAreaLightTexturesLib.js +1 -0
  2093. package/dist-browser/three/addons/lights/RectAreaLightUniformsLib.js +1 -0
  2094. package/dist-browser/three/addons/lights/SunLight.js +1 -0
  2095. package/dist-browser/three/addons/lights/SunLightNode.js +1 -0
  2096. package/dist-browser/three/addons/lights/SunLightShadow.js +1 -0
  2097. package/dist-browser/three/addons/lights/SunShadowNode.js +1 -0
  2098. package/dist-browser/three/addons/lines/Line2.js +1 -0
  2099. package/dist-browser/three/addons/lines/LineGeometry.js +1 -0
  2100. package/dist-browser/three/addons/lines/LineMaterial.js +1 -0
  2101. package/dist-browser/three/addons/lines/LineSegments2.js +1 -0
  2102. package/dist-browser/three/addons/lines/LineSegmentsGeometry.js +1 -0
  2103. package/dist-browser/three/addons/lines/Wireframe.js +1 -0
  2104. package/dist-browser/three/addons/lines/WireframeGeometry2.js +1 -0
  2105. package/dist-browser/three/addons/lines/webgpu/Line2.js +1 -0
  2106. package/dist-browser/three/addons/lines/webgpu/LineSegments2.js +1 -0
  2107. package/dist-browser/three/addons/lines/webgpu/Wireframe.js +1 -0
  2108. package/dist-browser/three/addons/loaders/3DMLoader.js +1 -0
  2109. package/dist-browser/three/addons/loaders/3MFLoader.js +1 -0
  2110. package/dist-browser/three/addons/loaders/AMFLoader.js +1 -0
  2111. package/dist-browser/three/addons/loaders/BVHLoader.js +1 -0
  2112. package/dist-browser/three/addons/loaders/ColladaLoader.js +1 -0
  2113. package/dist-browser/three/addons/loaders/DDSLoader.js +1 -0
  2114. package/dist-browser/three/addons/loaders/DRACOLoader.js +1 -0
  2115. package/dist-browser/three/addons/loaders/EXRLoader.js +1 -0
  2116. package/dist-browser/three/addons/loaders/FBXLoader.js +1 -0
  2117. package/dist-browser/three/addons/loaders/FontLoader.js +1 -0
  2118. package/dist-browser/three/addons/loaders/GCodeLoader.js +1 -0
  2119. package/dist-browser/three/addons/loaders/GLTFGaussianSplatLoaderExtension.js +1 -0
  2120. package/dist-browser/three/addons/loaders/GLTFLoader.js +1 -0
  2121. package/dist-browser/three/addons/loaders/GaussianSplatPLYLoader.js +1 -0
  2122. package/dist-browser/three/addons/loaders/HDRCubeTextureLoader.js +1 -0
  2123. package/dist-browser/three/addons/loaders/HDRLoader.js +1 -0
  2124. package/dist-browser/three/addons/loaders/IESLoader.js +1 -0
  2125. package/dist-browser/three/addons/loaders/KMZLoader.js +1 -0
  2126. package/dist-browser/three/addons/loaders/KSPLATLoader.js +1 -0
  2127. package/dist-browser/three/addons/loaders/KTX2Loader.js +1 -0
  2128. package/dist-browser/three/addons/loaders/KTXLoader.js +1 -0
  2129. package/dist-browser/three/addons/loaders/LDrawLoader.js +1 -0
  2130. package/dist-browser/three/addons/loaders/LUT3dlLoader.js +1 -0
  2131. package/dist-browser/three/addons/loaders/LUTCubeLoader.js +1 -0
  2132. package/dist-browser/three/addons/loaders/LUTImageLoader.js +1 -0
  2133. package/dist-browser/three/addons/loaders/LWOLoader.js +1 -0
  2134. package/dist-browser/three/addons/loaders/MD2Loader.js +1 -0
  2135. package/dist-browser/three/addons/loaders/MDDLoader.js +1 -0
  2136. package/dist-browser/three/addons/loaders/MTLLoader.js +1 -0
  2137. package/dist-browser/three/addons/loaders/MaterialXLoader.js +1 -0
  2138. package/dist-browser/three/addons/loaders/NRRDLoader.js +1 -0
  2139. package/dist-browser/three/addons/loaders/OBJLoader.js +1 -0
  2140. package/dist-browser/three/addons/loaders/PCDLoader.js +1 -0
  2141. package/dist-browser/three/addons/loaders/PDBLoader.js +1 -0
  2142. package/dist-browser/three/addons/loaders/PLYLoader.js +1 -0
  2143. package/dist-browser/three/addons/loaders/PVRLoader.js +1 -0
  2144. package/dist-browser/three/addons/loaders/RGBELoader.js +1 -0
  2145. package/dist-browser/three/addons/loaders/SPLATLoader.js +1 -0
  2146. package/dist-browser/three/addons/loaders/SPZLoader.js +1 -0
  2147. package/dist-browser/three/addons/loaders/STLLoader.js +1 -0
  2148. package/dist-browser/three/addons/loaders/SVGLoader.js +1 -0
  2149. package/dist-browser/three/addons/loaders/TDSLoader.js +1 -0
  2150. package/dist-browser/three/addons/loaders/TGALoader.js +1 -0
  2151. package/dist-browser/three/addons/loaders/TIFFLoader.js +1 -0
  2152. package/dist-browser/three/addons/loaders/TTFLoader.js +1 -0
  2153. package/dist-browser/three/addons/loaders/USDLoader.js +1 -0
  2154. package/dist-browser/three/addons/loaders/USDZLoader.js +1 -0
  2155. package/dist-browser/three/addons/loaders/UltraHDRLoader.js +1 -0
  2156. package/dist-browser/three/addons/loaders/VOXLoader.js +1 -0
  2157. package/dist-browser/three/addons/loaders/VRMLLoader.js +1 -0
  2158. package/dist-browser/three/addons/loaders/VTKLoader.js +1 -0
  2159. package/dist-browser/three/addons/loaders/XYZLoader.js +1 -0
  2160. package/dist-browser/three/addons/loaders/collada/ColladaComposer.js +1 -0
  2161. package/dist-browser/three/addons/loaders/collada/ColladaParser.js +1 -0
  2162. package/dist-browser/three/addons/loaders/lwo/IFFParser.js +1 -0
  2163. package/dist-browser/three/addons/loaders/lwo/LWO2Parser.js +1 -0
  2164. package/dist-browser/three/addons/loaders/lwo/LWO3Parser.js +1 -0
  2165. package/dist-browser/three/addons/loaders/materialx/MaterialXArchive.js +1 -0
  2166. package/dist-browser/three/addons/loaders/materialx/MaterialXDocument.js +1 -0
  2167. package/dist-browser/three/addons/loaders/materialx/MaterialXHextile.js +1 -0
  2168. package/dist-browser/three/addons/loaders/materialx/MaterialXInterfaceValidation.js +1 -0
  2169. package/dist-browser/three/addons/loaders/materialx/MaterialXLog.js +1 -0
  2170. package/dist-browser/three/addons/loaders/materialx/MaterialXNodeInterfaceRegistry.js +1 -0
  2171. package/dist-browser/three/addons/loaders/materialx/MaterialXNodeLibrary.js +1 -0
  2172. package/dist-browser/three/addons/loaders/materialx/MaterialXSurfaceMappings.js +1 -0
  2173. package/dist-browser/three/addons/loaders/materialx/MaterialXUtils.js +1 -0
  2174. package/dist-browser/three/addons/loaders/materialx/compile/MaterialXCompileRegistry.js +1 -0
  2175. package/dist-browser/three/addons/loaders/materialx/parse/MaterialXParser.js +1 -0
  2176. package/dist-browser/three/addons/loaders/usd/USDAParser.js +1 -0
  2177. package/dist-browser/three/addons/loaders/usd/USDCParser.js +1 -0
  2178. package/dist-browser/three/addons/loaders/usd/USDComposer.js +1 -0
  2179. package/dist-browser/three/addons/materials/LDrawConditionalLineMaterial.js +1 -0
  2180. package/dist-browser/three/addons/materials/LDrawConditionalLineNodeMaterial.js +1 -0
  2181. package/dist-browser/three/addons/materials/WoodNodeMaterial.js +42 -0
  2182. package/dist-browser/three/addons/math/Capsule.js +1 -0
  2183. package/dist-browser/three/addons/math/ColorConverter.js +1 -0
  2184. package/dist-browser/three/addons/math/ColorSpaces.js +1 -0
  2185. package/dist-browser/three/addons/math/ConvexHull.js +1 -0
  2186. package/dist-browser/three/addons/math/ImprovedNoise.js +1 -0
  2187. package/dist-browser/three/addons/math/Lut.js +1 -0
  2188. package/dist-browser/three/addons/math/MeshSurfaceSampler.js +1 -0
  2189. package/dist-browser/three/addons/math/OBB.js +1 -0
  2190. package/dist-browser/three/addons/math/Octree.js +1 -0
  2191. package/dist-browser/three/addons/math/SimplexNoise.js +1 -0
  2192. package/dist-browser/three/addons/misc/ConvexObjectBreaker.js +1 -0
  2193. package/dist-browser/three/addons/misc/GPUComputationRenderer.js +1 -0
  2194. package/dist-browser/three/addons/misc/Gyroscope.js +1 -0
  2195. package/dist-browser/three/addons/misc/MD2Character.js +1 -0
  2196. package/dist-browser/three/addons/misc/MD2CharacterComplex.js +1 -0
  2197. package/dist-browser/three/addons/misc/MorphAnimMesh.js +1 -0
  2198. package/dist-browser/three/addons/misc/MorphBlendMesh.js +1 -0
  2199. package/dist-browser/three/addons/misc/ProgressiveLightMap.js +1 -0
  2200. package/dist-browser/three/addons/misc/ProgressiveLightMapGPU.js +1 -0
  2201. package/dist-browser/three/addons/misc/RollerCoaster.js +1 -0
  2202. package/dist-browser/three/addons/misc/Sculptor.js +1 -0
  2203. package/dist-browser/three/addons/misc/SculptorMesh.js +1 -0
  2204. package/dist-browser/three/addons/misc/SculptorTools.js +1 -0
  2205. package/dist-browser/three/addons/misc/SculptorUtils.js +1 -0
  2206. package/dist-browser/three/addons/misc/TileCreasedNormalsPlugin.js +1 -0
  2207. package/dist-browser/three/addons/misc/TubePainter.js +1 -0
  2208. package/dist-browser/three/addons/misc/Volume.js +1 -0
  2209. package/dist-browser/three/addons/misc/VolumeSlice.js +1 -0
  2210. package/dist-browser/three/addons/modifiers/CurveModifier.js +1 -0
  2211. package/dist-browser/three/addons/modifiers/CurveModifierGPU.js +1 -0
  2212. package/dist-browser/three/addons/modifiers/EdgeSplitModifier.js +1 -0
  2213. package/dist-browser/three/addons/modifiers/SimplifyModifier.js +1 -0
  2214. package/dist-browser/three/addons/modifiers/TessellateModifier.js +1 -0
  2215. package/dist-browser/three/addons/objects/GaussianSplat.js +1 -0
  2216. package/dist-browser/three/addons/objects/GroundedSkybox.js +1 -0
  2217. package/dist-browser/three/addons/objects/Lensflare.js +1 -0
  2218. package/dist-browser/three/addons/objects/LensflareMesh.js +1 -0
  2219. package/dist-browser/three/addons/objects/MarchingCubes.js +1 -0
  2220. package/dist-browser/three/addons/objects/Reflector.js +1 -0
  2221. package/dist-browser/three/addons/objects/ReflectorForSSRPass.js +1 -0
  2222. package/dist-browser/three/addons/objects/Refractor.js +1 -0
  2223. package/dist-browser/three/addons/objects/ShadowMesh.js +1 -0
  2224. package/dist-browser/three/addons/objects/Sky.js +1 -0
  2225. package/dist-browser/three/addons/objects/SkyMesh.js +1 -0
  2226. package/dist-browser/three/addons/objects/Water.js +1 -0
  2227. package/dist-browser/three/addons/objects/Water2.js +1 -0
  2228. package/dist-browser/three/addons/objects/Water2Mesh.js +1 -0
  2229. package/dist-browser/three/addons/objects/WaterMesh.js +1 -0
  2230. package/dist-browser/three/addons/offscreen/jank.js +1 -0
  2231. package/dist-browser/three/addons/offscreen/offscreen.js +0 -0
  2232. package/dist-browser/three/addons/offscreen/scene.js +1 -0
  2233. package/dist-browser/three/addons/physics/AmmoPhysics.js +1 -0
  2234. package/dist-browser/three/addons/physics/JoltPhysics.js +1 -0
  2235. package/dist-browser/three/addons/physics/RapierPhysics.js +1 -0
  2236. package/dist-browser/three/addons/postprocessing/AfterimagePass.js +1 -0
  2237. package/dist-browser/three/addons/postprocessing/BloomPass.js +1 -0
  2238. package/dist-browser/three/addons/postprocessing/BokehPass.js +1 -0
  2239. package/dist-browser/three/addons/postprocessing/ClearPass.js +1 -0
  2240. package/dist-browser/three/addons/postprocessing/CubeTexturePass.js +1 -0
  2241. package/dist-browser/three/addons/postprocessing/DotScreenPass.js +1 -0
  2242. package/dist-browser/three/addons/postprocessing/EffectComposer.js +1 -0
  2243. package/dist-browser/three/addons/postprocessing/FXAAPass.js +1 -0
  2244. package/dist-browser/three/addons/postprocessing/FilmPass.js +1 -0
  2245. package/dist-browser/three/addons/postprocessing/GTAOPass.js +1 -0
  2246. package/dist-browser/three/addons/postprocessing/GlitchPass.js +1 -0
  2247. package/dist-browser/three/addons/postprocessing/HalftonePass.js +1 -0
  2248. package/dist-browser/three/addons/postprocessing/LUTPass.js +1 -0
  2249. package/dist-browser/three/addons/postprocessing/MaskPass.js +1 -0
  2250. package/dist-browser/three/addons/postprocessing/OutlinePass.js +1 -0
  2251. package/dist-browser/three/addons/postprocessing/OutputPass.js +1 -0
  2252. package/dist-browser/three/addons/postprocessing/Pass.js +1 -0
  2253. package/dist-browser/three/addons/postprocessing/RenderPass.js +1 -0
  2254. package/dist-browser/three/addons/postprocessing/RenderPixelatedPass.js +1 -0
  2255. package/dist-browser/three/addons/postprocessing/RenderTransitionPass.js +1 -0
  2256. package/dist-browser/three/addons/postprocessing/SAOPass.js +1 -0
  2257. package/dist-browser/three/addons/postprocessing/SMAAPass.js +1 -0
  2258. package/dist-browser/three/addons/postprocessing/SSAARenderPass.js +1 -0
  2259. package/dist-browser/three/addons/postprocessing/SSAOPass.js +1 -0
  2260. package/dist-browser/three/addons/postprocessing/SSRPass.js +1 -0
  2261. package/dist-browser/three/addons/postprocessing/SavePass.js +1 -0
  2262. package/dist-browser/three/addons/postprocessing/ShaderPass.js +1 -0
  2263. package/dist-browser/three/addons/postprocessing/TAARenderPass.js +1 -0
  2264. package/dist-browser/three/addons/postprocessing/TexturePass.js +1 -0
  2265. package/dist-browser/three/addons/postprocessing/UnrealBloomPass.js +1 -0
  2266. package/dist-browser/three/addons/renderers/CSS2DRenderer.js +1 -0
  2267. package/dist-browser/three/addons/renderers/CSS3DRenderer.js +1 -0
  2268. package/dist-browser/three/addons/renderers/Projector.js +1 -0
  2269. package/dist-browser/three/addons/renderers/SVGRenderer.js +1 -0
  2270. package/dist-browser/three/addons/shaders/ACESFilmicToneMappingShader.js +1 -0
  2271. package/dist-browser/three/addons/shaders/AfterimageShader.js +1 -0
  2272. package/dist-browser/three/addons/shaders/BasicShader.js +1 -0
  2273. package/dist-browser/three/addons/shaders/BleachBypassShader.js +1 -0
  2274. package/dist-browser/three/addons/shaders/BlendShader.js +1 -0
  2275. package/dist-browser/three/addons/shaders/BokehShader.js +1 -0
  2276. package/dist-browser/three/addons/shaders/BokehShader2.js +1 -0
  2277. package/dist-browser/three/addons/shaders/BrightnessContrastShader.js +1 -0
  2278. package/dist-browser/three/addons/shaders/ColorCorrectionShader.js +1 -0
  2279. package/dist-browser/three/addons/shaders/ColorifyShader.js +1 -0
  2280. package/dist-browser/three/addons/shaders/ConvolutionShader.js +1 -0
  2281. package/dist-browser/three/addons/shaders/CopyShader.js +1 -0
  2282. package/dist-browser/three/addons/shaders/DOFMipMapShader.js +1 -0
  2283. package/dist-browser/three/addons/shaders/DepthLimitedBlurShader.js +1 -0
  2284. package/dist-browser/three/addons/shaders/DigitalGlitch.js +1 -0
  2285. package/dist-browser/three/addons/shaders/DotScreenShader.js +1 -0
  2286. package/dist-browser/three/addons/shaders/ExposureShader.js +1 -0
  2287. package/dist-browser/three/addons/shaders/FXAAShader.js +1 -0
  2288. package/dist-browser/three/addons/shaders/FilmShader.js +1 -0
  2289. package/dist-browser/three/addons/shaders/FocusShader.js +1 -0
  2290. package/dist-browser/three/addons/shaders/FreiChenShader.js +1 -0
  2291. package/dist-browser/three/addons/shaders/GTAOShader.js +1 -0
  2292. package/dist-browser/three/addons/shaders/GammaCorrectionShader.js +1 -0
  2293. package/dist-browser/three/addons/shaders/HalftoneShader.js +1 -0
  2294. package/dist-browser/three/addons/shaders/HorizontalBlurShader.js +1 -0
  2295. package/dist-browser/three/addons/shaders/HorizontalTiltShiftShader.js +1 -0
  2296. package/dist-browser/three/addons/shaders/HueSaturationShader.js +1 -0
  2297. package/dist-browser/three/addons/shaders/KaleidoShader.js +1 -0
  2298. package/dist-browser/three/addons/shaders/LuminosityHighPassShader.js +1 -0
  2299. package/dist-browser/three/addons/shaders/LuminosityShader.js +1 -0
  2300. package/dist-browser/three/addons/shaders/MirrorShader.js +1 -0
  2301. package/dist-browser/three/addons/shaders/NormalMapShader.js +1 -0
  2302. package/dist-browser/three/addons/shaders/OutputShader.js +1 -0
  2303. package/dist-browser/three/addons/shaders/PoissonDenoiseShader.js +1 -0
  2304. package/dist-browser/three/addons/shaders/RGBShiftShader.js +1 -0
  2305. package/dist-browser/three/addons/shaders/SAOShader.js +1 -0
  2306. package/dist-browser/three/addons/shaders/SMAAShader.js +1 -0
  2307. package/dist-browser/three/addons/shaders/SSAOShader.js +1 -0
  2308. package/dist-browser/three/addons/shaders/SSRShader.js +1 -0
  2309. package/dist-browser/three/addons/shaders/SepiaShader.js +1 -0
  2310. package/dist-browser/three/addons/shaders/SobelOperatorShader.js +1 -0
  2311. package/dist-browser/three/addons/shaders/SubsurfaceScatteringShader.js +1 -0
  2312. package/dist-browser/three/addons/shaders/TechnicolorShader.js +1 -0
  2313. package/dist-browser/three/addons/shaders/ToonShader.js +1 -0
  2314. package/dist-browser/three/addons/shaders/TriangleBlurShader.js +1 -0
  2315. package/dist-browser/three/addons/shaders/UnpackDepthRGBAShader.js +1 -0
  2316. package/dist-browser/three/addons/shaders/VelocityShader.js +1 -0
  2317. package/dist-browser/three/addons/shaders/VerticalBlurShader.js +1 -0
  2318. package/dist-browser/three/addons/shaders/VerticalTiltShiftShader.js +1 -0
  2319. package/dist-browser/three/addons/shaders/VignetteShader.js +1 -0
  2320. package/dist-browser/three/addons/shaders/VolumeShader.js +1 -0
  2321. package/dist-browser/three/addons/shaders/WaterRefractionShader.js +1 -0
  2322. package/dist-browser/three/addons/textures/FlakesTexture.js +1 -0
  2323. package/dist-browser/three/addons/transpiler/AST.js +1 -0
  2324. package/dist-browser/three/addons/transpiler/GLSLDecoder.js +1 -0
  2325. package/dist-browser/three/addons/transpiler/Linker.js +1 -0
  2326. package/dist-browser/three/addons/transpiler/ShaderToyDecoder.js +1 -0
  2327. package/dist-browser/three/addons/transpiler/TSLEncoder.js +55 -0
  2328. package/dist-browser/three/addons/transpiler/Transpiler.js +1 -0
  2329. package/dist-browser/three/addons/transpiler/TranspilerUtils.js +1 -0
  2330. package/dist-browser/three/addons/transpiler/WGSLEncoder.js +30 -0
  2331. package/dist-browser/three/addons/tsl/WebGLNodesHandler.js +1 -0
  2332. package/dist-browser/three/addons/tsl/display/AfterImageNode.js +1 -0
  2333. package/dist-browser/three/addons/tsl/display/AnaglyphPassNode.js +1 -0
  2334. package/dist-browser/three/addons/tsl/display/BilateralBlurNode.js +1 -0
  2335. package/dist-browser/three/addons/tsl/display/BleachBypass.js +1 -0
  2336. package/dist-browser/three/addons/tsl/display/BloomNode.js +1 -0
  2337. package/dist-browser/three/addons/tsl/display/CRT.js +1 -0
  2338. package/dist-browser/three/addons/tsl/display/ChromaticAberrationNode.js +1 -0
  2339. package/dist-browser/three/addons/tsl/display/DenoiseNode.js +1 -0
  2340. package/dist-browser/three/addons/tsl/display/DepthOfFieldNode.js +1 -0
  2341. package/dist-browser/three/addons/tsl/display/DotScreenNode.js +1 -0
  2342. package/dist-browser/three/addons/tsl/display/FSR1Node.js +1 -0
  2343. package/dist-browser/three/addons/tsl/display/FXAANode.js +1 -0
  2344. package/dist-browser/three/addons/tsl/display/FilmNode.js +1 -0
  2345. package/dist-browser/three/addons/tsl/display/GTAONode.js +1 -0
  2346. package/dist-browser/three/addons/tsl/display/GaussianBlurNode.js +1 -0
  2347. package/dist-browser/three/addons/tsl/display/GodraysNode.js +1 -0
  2348. package/dist-browser/three/addons/tsl/display/ImportanceSampledEnvironment.js +1 -0
  2349. package/dist-browser/three/addons/tsl/display/LensflareNode.js +1 -0
  2350. package/dist-browser/three/addons/tsl/display/Lut3DNode.js +1 -0
  2351. package/dist-browser/three/addons/tsl/display/MotionBlur.js +1 -0
  2352. package/dist-browser/three/addons/tsl/display/OITPassNode.js +1 -0
  2353. package/dist-browser/three/addons/tsl/display/OutlineNode.js +1 -0
  2354. package/dist-browser/three/addons/tsl/display/ParallaxBarrierPassNode.js +1 -0
  2355. package/dist-browser/three/addons/tsl/display/PixelationPassNode.js +1 -0
  2356. package/dist-browser/three/addons/tsl/display/RGBShiftNode.js +1 -0
  2357. package/dist-browser/three/addons/tsl/display/RecurrentDenoiseNode.js +1 -0
  2358. package/dist-browser/three/addons/tsl/display/RetroPassNode.js +1 -0
  2359. package/dist-browser/three/addons/tsl/display/SMAANode.js +1 -0
  2360. package/dist-browser/three/addons/tsl/display/SSAAPassNode.js +1 -0
  2361. package/dist-browser/three/addons/tsl/display/SSAONode.js +1 -0
  2362. package/dist-browser/three/addons/tsl/display/SSGINode.js +1 -0
  2363. package/dist-browser/three/addons/tsl/display/SSRNode.js +1 -0
  2364. package/dist-browser/three/addons/tsl/display/SSSNode.js +1 -0
  2365. package/dist-browser/three/addons/tsl/display/Sepia.js +1 -0
  2366. package/dist-browser/three/addons/tsl/display/Shape.js +1 -0
  2367. package/dist-browser/three/addons/tsl/display/SharpenNode.js +1 -0
  2368. package/dist-browser/three/addons/tsl/display/SobelOperatorNode.js +1 -0
  2369. package/dist-browser/three/addons/tsl/display/StereoCompositePassNode.js +1 -0
  2370. package/dist-browser/three/addons/tsl/display/StereoPassNode.js +1 -0
  2371. package/dist-browser/three/addons/tsl/display/TAAUNode.js +1 -0
  2372. package/dist-browser/three/addons/tsl/display/TRAANode.js +1 -0
  2373. package/dist-browser/three/addons/tsl/display/TemporalReprojectNode.js +1 -0
  2374. package/dist-browser/three/addons/tsl/display/TransitionNode.js +1 -0
  2375. package/dist-browser/three/addons/tsl/display/boxBlur.js +1 -0
  2376. package/dist-browser/three/addons/tsl/display/depthAwareBlend.js +1 -0
  2377. package/dist-browser/three/addons/tsl/display/depthAwareBlur.js +1 -0
  2378. package/dist-browser/three/addons/tsl/display/hashBlur.js +1 -0
  2379. package/dist-browser/three/addons/tsl/display/radialBlur.js +1 -0
  2380. package/dist-browser/three/addons/tsl/lighting/ClusteredLightsNode.js +1 -0
  2381. package/dist-browser/three/addons/tsl/lighting/DynamicLightsNode.js +1 -0
  2382. package/dist-browser/three/addons/tsl/lighting/LightProbeGridNode.js +1 -0
  2383. package/dist-browser/three/addons/tsl/lighting/data/AmbientLightDataNode.js +1 -0
  2384. package/dist-browser/three/addons/tsl/lighting/data/DirectionalLightDataNode.js +1 -0
  2385. package/dist-browser/three/addons/tsl/lighting/data/HemisphereLightDataNode.js +1 -0
  2386. package/dist-browser/three/addons/tsl/lighting/data/PointLightDataNode.js +1 -0
  2387. package/dist-browser/three/addons/tsl/lighting/data/SpotLightDataNode.js +1 -0
  2388. package/dist-browser/three/addons/tsl/math/Bayer.js +1 -0
  2389. package/dist-browser/three/addons/tsl/math/curlNoise.js +1 -0
  2390. package/dist-browser/three/addons/tsl/math/voronoiNoise.js +1 -0
  2391. package/dist-browser/three/addons/tsl/shadows/TileShadowNode.js +1 -0
  2392. package/dist-browser/three/addons/tsl/shadows/TileShadowNodeHelper.js +1 -0
  2393. package/dist-browser/three/addons/tsl/utils/GroundedSkybox.js +1 -0
  2394. package/dist-browser/three/addons/tsl/utils/RNoise.js +1 -0
  2395. package/dist-browser/three/addons/tsl/utils/Raymarching.js +1 -0
  2396. package/dist-browser/three/addons/tsl/utils/SoftParticles.js +1 -0
  2397. package/dist-browser/three/addons/tsl/utils/SpecularHelpers.js +1 -0
  2398. package/dist-browser/three/addons/tsl/utils/TAAUtils.js +1 -0
  2399. package/dist-browser/three/addons/utils/BufferGeometryUtils.js +1 -0
  2400. package/dist-browser/three/addons/utils/CameraUtils.js +1 -0
  2401. package/dist-browser/three/addons/utils/ColorUtils.js +1 -0
  2402. package/dist-browser/three/addons/utils/GaussianSplatUtils.js +1 -0
  2403. package/dist-browser/three/addons/utils/GeometryCompressionUtils.js +1 -0
  2404. package/dist-browser/three/addons/utils/GeometryUtils.js +1 -0
  2405. package/dist-browser/three/addons/utils/LDrawUtils.js +1 -0
  2406. package/dist-browser/three/addons/utils/SceneOptimizer.js +1 -0
  2407. package/dist-browser/three/addons/utils/SceneUtils.js +1 -0
  2408. package/dist-browser/three/addons/utils/ShadowMapViewer.js +1 -0
  2409. package/dist-browser/three/addons/utils/ShadowMapViewerGPU.js +1 -0
  2410. package/dist-browser/three/addons/utils/SkeletonUtils.js +1 -0
  2411. package/dist-browser/three/addons/utils/SortUtils.js +1 -0
  2412. package/dist-browser/three/addons/utils/UVsDebug.js +1 -0
  2413. package/dist-browser/three/addons/utils/WebGLTextureUtils.js +1 -0
  2414. package/dist-browser/three/addons/utils/WebGPUTextureUtils.js +1 -0
  2415. package/dist-browser/three/addons/utils/WorkerPool.js +1 -0
  2416. package/dist-browser/three/addons/webxr/ARButton.js +1 -0
  2417. package/dist-browser/three/addons/webxr/OculusHandModel.js +1 -0
  2418. package/dist-browser/three/addons/webxr/OculusHandPointerModel.js +1 -0
  2419. package/dist-browser/three/addons/webxr/Text2D.js +1 -0
  2420. package/dist-browser/three/addons/webxr/VRButton.js +1 -0
  2421. package/dist-browser/three/addons/webxr/WebGLXRFallback.js +1 -0
  2422. package/dist-browser/three/addons/webxr/XRButton.js +1 -0
  2423. package/dist-browser/three/addons/webxr/XRControllerModelFactory.js +1 -0
  2424. package/dist-browser/three/addons/webxr/XREstimatedLight.js +1 -0
  2425. package/dist-browser/three/addons/webxr/XRHandMeshModel.js +1 -0
  2426. package/dist-browser/three/addons/webxr/XRHandModelFactory.js +1 -0
  2427. package/dist-browser/three/addons/webxr/XRHandPrimitiveModel.js +1 -0
  2428. package/dist-browser/three/addons/webxr/XRPlanes.js +1 -0
  2429. package/dist-browser/three/addons.js +1 -0
  2430. package/dist-browser/three/tsl.js +1 -0
  2431. package/dist-browser/three/webgpu.js +1 -0
  2432. package/dist-browser/three.js +1 -0
  2433. package/dist-browser/three.quarks.js +1 -0
  2434. package/dist-browser/zustand/middleware.js +1 -0
  2435. package/dist-browser/zustand/shallow.js +1 -0
  2436. package/dist-browser/zustand/vanilla.js +1 -0
  2437. package/dist-browser/zustand.js +1 -0
  2438. package/package.json +194 -0
  2439. package/rapier/LICENSE +201 -0
  2440. package/rapier/NOTICE +23 -0
  2441. package/rapier/simd/coarena.js +1 -0
  2442. package/rapier/simd/control/character_controller.js +1 -0
  2443. package/rapier/simd/control/index.js +1 -0
  2444. package/rapier/simd/control/pid_controller.js +1 -0
  2445. package/rapier/simd/control/ray_cast_vehicle_controller.js +1 -0
  2446. package/rapier/simd/dynamics/ccd_solver.js +1 -0
  2447. package/rapier/simd/dynamics/coefficient_combine_rule.js +1 -0
  2448. package/rapier/simd/dynamics/impulse_joint.js +1 -0
  2449. package/rapier/simd/dynamics/impulse_joint_set.js +1 -0
  2450. package/rapier/simd/dynamics/index.js +1 -0
  2451. package/rapier/simd/dynamics/integration_parameters.js +1 -0
  2452. package/rapier/simd/dynamics/island_manager.js +1 -0
  2453. package/rapier/simd/dynamics/multibody_joint.js +1 -0
  2454. package/rapier/simd/dynamics/multibody_joint_set.js +1 -0
  2455. package/rapier/simd/dynamics/rigid_body.js +1 -0
  2456. package/rapier/simd/dynamics/rigid_body_set.js +1 -0
  2457. package/rapier/simd/exports.js +1 -0
  2458. package/rapier/simd/geometry/broad_phase.js +1 -0
  2459. package/rapier/simd/geometry/collider.js +1 -0
  2460. package/rapier/simd/geometry/collider_set.js +1 -0
  2461. package/rapier/simd/geometry/contact.js +1 -0
  2462. package/rapier/simd/geometry/feature.js +1 -0
  2463. package/rapier/simd/geometry/index.js +1 -0
  2464. package/rapier/simd/geometry/interaction_groups.js +0 -0
  2465. package/rapier/simd/geometry/narrow_phase.js +1 -0
  2466. package/rapier/simd/geometry/point.js +1 -0
  2467. package/rapier/simd/geometry/ray.js +1 -0
  2468. package/rapier/simd/geometry/shape.js +1 -0
  2469. package/rapier/simd/geometry/toi.js +1 -0
  2470. package/rapier/simd/init.js +0 -0
  2471. package/rapier/simd/math.js +1 -0
  2472. package/rapier/simd/pipeline/debug_render_pipeline.js +1 -0
  2473. package/rapier/simd/pipeline/event_queue.js +1 -0
  2474. package/rapier/simd/pipeline/index.js +1 -0
  2475. package/rapier/simd/pipeline/physics_hooks.js +1 -0
  2476. package/rapier/simd/pipeline/physics_pipeline.js +1 -0
  2477. package/rapier/simd/pipeline/query_pipeline.js +1 -0
  2478. package/rapier/simd/pipeline/serialization_pipeline.js +1 -0
  2479. package/rapier/simd/pipeline/world.js +1 -0
  2480. package/rapier/simd/rapier.js +1 -0
  2481. package/rapier/simd/rapier_wasm3d.js +1 -0
  2482. package/rapier/simd/rapier_wasm3d_bg.js +1 -0
  2483. package/rapier/simd/rapier_wasm3d_bg.wasm +0 -0
  2484. package/rapier/simd/raw.js +1 -0
  2485. package/rapier/simd-compat/rapier.mjs +1 -0
  2486. package/rapier/types/coarena.d.ts +15 -0
  2487. package/rapier/types/control/character_controller.d.ts +191 -0
  2488. package/rapier/types/control/index.d.ts +3 -0
  2489. package/rapier/types/control/pid_controller.d.ts +50 -0
  2490. package/rapier/types/control/ray_cast_vehicle_controller.d.ts +277 -0
  2491. package/rapier/types/dynamics/ccd_solver.d.ts +15 -0
  2492. package/rapier/types/dynamics/coefficient_combine_rule.d.ts +13 -0
  2493. package/rapier/types/dynamics/impulse_joint.d.ts +375 -0
  2494. package/rapier/types/dynamics/impulse_joint_set.d.ts +79 -0
  2495. package/rapier/types/dynamics/index.d.ts +10 -0
  2496. package/rapier/types/dynamics/integration_parameters.d.ts +57 -0
  2497. package/rapier/types/dynamics/island_manager.d.ts +24 -0
  2498. package/rapier/types/dynamics/multibody_joint.d.ts +42 -0
  2499. package/rapier/types/dynamics/multibody_joint_set.d.ts +76 -0
  2500. package/rapier/types/dynamics/rigid_body.d.ts +803 -0
  2501. package/rapier/types/dynamics/rigid_body_set.d.ts +78 -0
  2502. package/rapier/types/exports.d.ts +8 -0
  2503. package/rapier/types/geometry/broad_phase.d.ts +164 -0
  2504. package/rapier/types/geometry/collider.d.ts +996 -0
  2505. package/rapier/types/geometry/collider_set.d.ts +72 -0
  2506. package/rapier/types/geometry/contact.d.ts +36 -0
  2507. package/rapier/types/geometry/feature.d.ts +6 -0
  2508. package/rapier/types/geometry/index.d.ts +11 -0
  2509. package/rapier/types/geometry/interaction_groups.d.ts +18 -0
  2510. package/rapier/types/geometry/narrow_phase.d.ts +130 -0
  2511. package/rapier/types/geometry/point.d.ts +58 -0
  2512. package/rapier/types/geometry/ray.d.ts +108 -0
  2513. package/rapier/types/geometry/shape.d.ts +632 -0
  2514. package/rapier/types/geometry/toi.d.ts +44 -0
  2515. package/rapier/types/init.d.ts +5 -0
  2516. package/rapier/types/math.d.ts +98 -0
  2517. package/rapier/types/pipeline/debug_render_pipeline.d.ts +40 -0
  2518. package/rapier/types/pipeline/event_queue.d.ts +101 -0
  2519. package/rapier/types/pipeline/index.d.ts +7 -0
  2520. package/rapier/types/pipeline/physics_hooks.d.ts +39 -0
  2521. package/rapier/types/pipeline/physics_pipeline.d.ts +12 -0
  2522. package/rapier/types/pipeline/query_pipeline.d.ts +38 -0
  2523. package/rapier/types/pipeline/serialization_pipeline.d.ts +37 -0
  2524. package/rapier/types/pipeline/world.d.ts +602 -0
  2525. package/rapier/types/rapier.d.ts +3 -0
  2526. package/rapier/types/rapier_wasm3d.d.ts +2204 -0
  2527. package/rapier/types/rapier_wasm3d_bg.wasm.d.ts +582 -0
  2528. package/rapier/types/raw.d.ts +1 -0
  2529. package/readable/rounds/LevelBanner.tsx +44 -0
  2530. package/readable/rounds/Round.tsx +228 -0
  2531. package/readable/rounds/RoundScreen.tsx +89 -0
  2532. package/readable/rounds/dist/LevelBanner.d.ts +13 -0
  2533. package/readable/rounds/dist/LevelBanner.d.ts.map +1 -0
  2534. package/readable/rounds/dist/LevelBanner.js +20 -0
  2535. package/readable/rounds/dist/LevelBanner.js.map +1 -0
  2536. package/readable/rounds/dist/Round.d.ts +74 -0
  2537. package/readable/rounds/dist/Round.d.ts.map +1 -0
  2538. package/readable/rounds/dist/Round.js +137 -0
  2539. package/readable/rounds/dist/Round.js.map +1 -0
  2540. package/readable/rounds/dist/RoundScreen.d.ts +39 -0
  2541. package/readable/rounds/dist/RoundScreen.d.ts.map +1 -0
  2542. package/readable/rounds/dist/RoundScreen.js +23 -0
  2543. package/readable/rounds/dist/RoundScreen.js.map +1 -0
  2544. package/readable/rounds/dist/index.d.ts +7 -0
  2545. package/readable/rounds/dist/index.d.ts.map +1 -0
  2546. package/readable/rounds/dist/index.js +11 -0
  2547. package/readable/rounds/dist/index.js.map +1 -0
  2548. package/readable/rounds/dist/rounds.d.ts +16 -0
  2549. package/readable/rounds/dist/rounds.d.ts.map +1 -0
  2550. package/readable/rounds/dist/rounds.js +82 -0
  2551. package/readable/rounds/dist/rounds.js.map +1 -0
  2552. package/readable/rounds/dist/rules.d.ts +65 -0
  2553. package/readable/rounds/dist/rules.d.ts.map +1 -0
  2554. package/readable/rounds/dist/rules.js +150 -0
  2555. package/readable/rounds/dist/rules.js.map +1 -0
  2556. package/readable/rounds/dist/traits.d.ts +103 -0
  2557. package/readable/rounds/dist/traits.d.ts.map +1 -0
  2558. package/readable/rounds/dist/traits.js +79 -0
  2559. package/readable/rounds/dist/traits.js.map +1 -0
  2560. package/readable/rounds/index.ts +11 -0
  2561. package/readable/rounds/rounds.ts +117 -0
  2562. package/readable/rounds/rules.ts +182 -0
  2563. package/readable/rounds/traits.ts +82 -0
@@ -0,0 +1 @@
1
+ var e=`/__spawnite/`,t=`spawnite:wiki`;export{e as n,t};
@@ -0,0 +1 @@
1
+ var e=/* @__PURE__ */ function(e){return e.Idle=`idle`,e.Walk=`walk`,e.Run=`run`,e.Jump=`jump`,e}({}),t=/* @__PURE__ */ function(e){return e.Capsule=`capsule`,e.Box=`box`,e.Sphere=`sphere`,e}({}),n=/* @__PURE__ */ function(e){return e.Ring=`ring`,e.Pulse=`pulse`,e.Sigil=`sigil`,e.Motes=`motes`,e.None=`none`,e}({});export{e as n,t as r,n as t};
@@ -0,0 +1 @@
1
+ import{Cs as e,Ea as t,Id as n,Jf as r,Md as i,Ns as a,Oc as o,Pd as s,Ps as c,Ra as l,Uf as u,Vf as d,Yt as f,ef as p,hc as ee,hd as m,ja as h,lf as g,m as _,nl as v,of as y,pf as b,tf as x,tn as S,vo as C,ws as w,xs as T}from"./-MLBVTaO.js";import{Dr as E,In as D,Jn as O,Mn as te,Pn as ne,ar as k,cr as A,er as j,lr as M,nr as N,or as P,rr as F}from"./V70ADx0g.js";import{n as I}from"./BrfUaL46.js";import{MathUtils as L}from"three";import{checkSaveMigrations as R,createTaggedSaveValueSchema as z,defaultRoomPlayers as B,defaultRoomSendRate as V,mostRoomPlayers as H,roomSendRates as U,savedStackSchema as re,taggedSaveValueSchema as W}from"@spawnite/schema";var G={behind:6.8,height:3.5,lookAhead:4,aimHeight:1.5,eyeResponse:9,aimResponse:14,snapDistance:10},K=S(),q=S();function J(e,t,n){let r=L.clamp(t,0,e.length),{position:i,tangent:a}=e.frameAt(r,q);return n.copy(i).addScaledVector(a,t-r)}function Y(e,t,n,r,i){let{behind:a,height:o,lookAhead:s,aimHeight:c}=G,{position:l}=e.frameAt(t,K);J(e,t-a,r).sub(l).add(n),r.y+=o,J(e,t+s,i).sub(l).add(n),i.y+=c}function X(e,t){let n;for(let r of e)if(r.get(f)?.track===t){if(r.get(O)?.context===F.Client)return r;n??=r}return n}function ie(e,t){e.has(N)||e.add(N),e.get(N)?.disposers.push(t)}var Z={isClear:!0};function ae(e,t,{position:n,rotation:r,keepVelocity:i=!0}){if(n&&(!Number.isFinite(n.x)||!Number.isFinite(n.y)||!Number.isFinite(n.z)))throw I(/* @__PURE__ */ Error(`teleport: the position (${n.x}, ${n.y}, ${n.z}) is not finite; pass a point in the world, in metres.`),`SP0562`,`teleport`,t);let s=oe(e)?e:null;s&&a(s,t,`teleport`);let l=s&&!s.authoritative?null:e,u=l?d(l,t,`teleport`):E(t);if(!u)return Z.isClear=!0,Z;let f=!s?.rerunEntity;return Q(t)?(Z.isClear=C(t,()=>se(t,{position:n,rotation:r,keepVelocity:i},f)),c(t,Z.isClear),Z):(Z.isClear=o(l,u,t,{position:n,rotation:r},!i),i||t.get(M)?.set(0,0,0),c(t,Z.isClear),Z)}function Q(e){return e.has(g)||!e.has(x(s))}function oe(e){return typeof e==`object`&&!!e&&`updateEachPredicted`in e}function se(t,{position:n,rotation:r,keepVelocity:i},a){let o=E(t),s=t.get(P);if(!o||!s)return!0;if(!i){t.get(M)?.set(0,0,0);let e=t.get(g);e&&(e.verticalSpeed=0,e.externalVelocity.set(0,0,0),e.platformVelocity.set(0,0,0),t.set(g,e))}let c=e(o,t,{to:n??s.position,keepFall:i,drawn:a});if(r){s.rotation.set(r.x,r.y,r.z,r.w);let e=t.get(A);e&&(e.target.copy(s.rotation),t.set(A,{turnSecondsLeft:0})),a&&t.get(j)?.rotation.copy(s.rotation)}if(a&&t.has(D)){let e=t.get(D);e?.offset.set(0,0,0),e?.previous.set(0,0,0),t.set(D,{seconds:0})}let l=t.get(k)?.count;return l===void 0?t.add(k({count:1})):t.set(k,{count:l+1}),c}function ce(e,t,r){if(!Number.isFinite(r.x)||!Number.isFinite(r.y)||!Number.isFinite(r.z))throw I(/* @__PURE__ */ Error(`addLinearVelocity: the velocity (${r.x}, ${r.y}, ${r.z}) is not finite; pass metres a second along each axis.`),`SP0563`,`addLinearVelocity`,t);let a=d(e,t,`addLinearVelocity`);if(Q(t)){t.has(g)||t.add(g);let e=t.get(g);if(!e)return;e.externalVelocity.x+=r.x,e.externalVelocity.z+=r.z,e.launchCount++,t.set(g,e),r.y!==0&&(r.y>0?T(a,t,e.verticalSpeed+r.y):t.set(g,{verticalSpeed:e.verticalSpeed+r.y}));return}if(p(t,i)?.bodyType===n.Dynamic){ee(e,t,r);return}t.has(y)||t.add(y);let o=t.get(y);o&&(o.velocity.x+=r.x,o.velocity.y+=r.y,o.velocity.z+=r.z,o.launchCount++,t.set(y,o))}function le(e,t,{position:n,rotation:i}){if(a(e,t,`commitPose`),n&&(!Number.isFinite(n.x)||!Number.isFinite(n.y)||!Number.isFinite(n.z)))throw I(/* @__PURE__ */ Error(`commitPose: the position (${n.x}, ${n.y}, ${n.z}) is not finite; pass a point in the world, in metres.`),`SP0564`,`commitPose`,t);let{world:o}=e,s=t.get(P);if(!s)return;if(!Q(t)){m(o.get(b)?.handle??void 0,t,{position:n,rotation:i});return}if(i&&s.rotation.set(i.x,i.y,i.z,i.w),!n)return;s.position.set(n.x,n.y,n.z);let c=w(o,t),l=o.get(b)?.handle;c&&l&&(c.rigidBody.setTranslation({x:n.x,y:n.y+c.body.height/2+r.offset,z:n.z},!1),l.world.propagateModifiedBodyPositionsToColliders(),c.motion.floorRead=!1,l.placedSinceStep=!0,l.placedAlone=null)}function ue(e,{name:n,avatar:r=``}){let i=u(e,`addBotPlayer`),a=t(i),o=l(i,{account:`bot-${a}`,name:n,seat:a,role:v.Bot,avatar:r}),s=_(i),c=h(i,o,{returning:!1,rethrow:!s||i.has(ne)});return c.ok?o.entity:(s?.({system:`fault`in c?`${c.fault.plugin}.${c.fault.hook}`:`core.players`,tick:te(i),streak:1,error:`fault`in c?c.fault.error:I(/* @__PURE__ */ Error(`A bot's join was refused: ${c.refusal}.`),`SP0565`,`addBotPlayer`)}),null)}function de(e){return e}function $({name:e,form:t,schema:n,steps:r}){R(`The ${e} codec`,t,r);let i=i=>{let a=W.safeParse(i);if(!a.success)throw I(/* @__PURE__ */ Error(`A saved ${e} has no $form: keep it with toSave, which tags it with the form it was written in.`),`SP0213`,`defineSaveCodec`);let{$form:o,...s}=a.data;if(o>t)throw I(/* @__PURE__ */ Error(`A saved ${e} is in form ${o}, and this engine reads up to form ${t}: a newer engine release wrote it.`),`SP0214`,`defineSaveCodec`);let c=s;for(let e=o+1;e<=t;e++)c=r?.[e]?.(c);let l=n.safeParse(c);if(!l.success){let[t]=l.error.issues;throw I(/* @__PURE__ */ Error(`A saved ${e} is refused at ${t.path.map(String).join(`.`)||`the top`}: ${t.message}.`),`SP0215`,`defineSaveCodec`)}return l.data};return{form:t,schema:z(e,i),toSave:n=>{if(typeof n!=`object`||!n||Array.isArray(n))throw I(/* @__PURE__ */ Error(`Cannot keep a saved ${e} that is no record: ${JSON.stringify(n)}. A codec keeps a record of fields, which the $form tag sits beside.`),`SP0216`,`defineSaveCodec`);return{$form:t,...n}},fromSave:i}}var fe=/*#__PURE__*/ $({name:`item stack`,form:1,schema:re});export{de as a,ue as c,ae as d,ie as f,G as h,V as i,ce as l,X as m,fe as n,H as o,Y as p,B as r,U as s,$ as t,le as u};
@@ -0,0 +1 @@
1
+ import*as e from"@recast-navigation/core";import*as t from"@recast-navigation/three";export{e as core,t as three};
@@ -0,0 +1,41 @@
1
+ import{$ as e,Y as t,tt as n}from"./CU0epHFG.js";import{A as r,Ai as i,Ds as a,Gi as o,Hi as s,Ji as c,M as l,Mi as u,N as d,Ss as f,T as p,Vi as m,c as h,jf as g,ji as _,kf as v,lf as y,t as b,wf as x}from"./-MLBVTaO.js";import{In as S,Rn as C,Ut as w,Vt as T,Wn as E,Xn as D,er as O,pr as ee}from"./V70ADx0g.js";import{n as k}from"./BrfUaL46.js";import{f as te,l as A,p as ne}from"./BobsCMiL.js";import{T as re,a as ie,r as ae,w as j}from"./CVgRrBP4.js";import{Et as oe,ot as se,r as ce}from"./Cq6VqPHb.js";import{n as le}from"./CRfoqBKG.js";import{u as ue}from"./Dwfie-ev.js";import{n as M,t as de,u as fe}from"./CHntUxHl.js";import{t as N}from"./yhuZzG90.js";import{n as pe}from"./Dwcms3jX.js";import{c as me,n as P,t as F}from"./Dqx9hHBK.js";import{n as he,t as ge}from"./Bp238wbZ.js";import{i as _e,r as ve,t as I}from"./B_HFa2lJ.js";import{addAfterEffect as ye}from"@react-three/fiber";import{Quaternion as be,Vector2 as xe}from"three";import{ClipClock as L,ClipShape as R,clipsPath as Se}from"@spawnite/schema";var Ce=30,we=768,z=6,B=256;function Te(e){let t=e.getContext(`2d`);if(!t)throw k(/* @__PURE__ */ Error(`The browser gave no 2D canvas for the clip's stills.`),`SP0309`,void 0);return t}async function Ee(e,t,n){let{BlobSource:r,CanvasSink:i,Input:a,MP4:o}=await import(`mediabunny`),s=await new a({source:new r(new Blob([e])),formats:[o]}).getPrimaryVideoTrack();if(!s)throw k(/* @__PURE__ */ Error(`The clip's video holds no track to read.`),`SP0310`,void 0);let c=Math.min(Ce,t),l=Array.from({length:c},(e,t)=>t*n/Math.max(1,c-1)/1e3),u=[],d=[],f,p,m=new i(s,{width:we});for await(let e of m.canvasesAtTimestamps(l)){if(!e)continue;let{canvas:t}=e,n=Math.round(e.timestamp*1e3);f??=new OffscreenCanvas(t.width,t.height),Te(f).drawImage(t,0,0),d.push(await f.convertToBlob({type:`image/webp`,quality:.6}));let r=Math.round(B*t.height/t.width);p??=new OffscreenCanvas(B*Math.min(z,c),r*Math.ceil(c/z));let i=Te(p),a=u.length%z*B,o=Math.floor(u.length/z)*r,s=`${(n/1e3).toFixed(1)} s`;i.drawImage(t,a,o,B,r),i.font=`bold 16px sans-serif`,i.fillStyle=`rgba(0, 0, 0, 0.7)`,i.fillRect(a,o+r-24,i.measureText(s).width+12,24),i.fillStyle=`white`,i.fillText(s,a+6,o+r-7),u.push(n)}if(!p)throw k(/* @__PURE__ */ Error(`The clip's video gave no still to read.`),`SP0311`,void 0);return{moments:u,stills:d,sheet:await p.convertToBlob({type:`image/webp`,quality:.8})}}function V(e,t){let{target:n}=e;if(n===t)return`canvas`;let r=t.ownerDocument;if(n===r||n===r.body||n===r.documentElement||n===r.defaultView)return`page`}function De(e,t){let n=t.getBoundingClientRect();return{x:n.width>0?(e.clientX-n.left)/n.width:0,y:n.height>0?(e.clientY-n.top)/n.height:0}}function Oe(e){return{type:e.type===`keydown`?P.KeyDown:P.KeyUp,code:e.code,key:e.key,...e.shiftKey&&{shiftKey:!0},...e.ctrlKey&&{ctrlKey:!0},...e.altKey&&{altKey:!0},...e.metaKey&&{metaKey:!0}}}var H={pointerdown:P.PointerDown,pointerup:P.PointerUp,pointermove:P.PointerMove};function ke(e,t){let n=e.ownerDocument,r=n.defaultView??window,i=/* @__PURE__ */ new Map,a=0,o=n.pointerLockElement===e,s=n=>{if(n.repeat||!V(n,e))return;let r=Oe(n);r.type===P.KeyDown?i.set(r.code,{...r}):i.delete(r.code),t(r)},c=n=>{let r=V(n,e);r&&(a=n.buttons,t({type:H[n.type],canvas:r===`canvas`,...De(n,e),movementX:n.movementX,movementY:n.movementY,button:n.button,buttons:n.buttons,pointerType:n.pointerType,pointerId:n.pointerId}))},l=n=>{V(n,e)&&t({type:P.Wheel,...De(n,e),deltaX:n.deltaX,deltaY:n.deltaY,deltaMode:n.deltaMode})},u=()=>{o=n.pointerLockElement===e,t({type:P.Lock,locked:o})},d=()=>i.clear(),f={capture:!0};r.addEventListener(`keydown`,s,f),r.addEventListener(`keyup`,s,f);for(let e of Object.keys(H))r.addEventListener(e,c,f);return r.addEventListener(`wheel`,l,f),r.addEventListener(`blur`,d),n.addEventListener(`pointerlockchange`,u),{readHeld:()=>({keys:[...i.values()],buttons:a,locked:o}),stop(){r.removeEventListener(`keydown`,s,f),r.removeEventListener(`keyup`,s,f);for(let e of Object.keys(H))r.removeEventListener(e,c,f);r.removeEventListener(`wheel`,l,f),r.removeEventListener(`blur`,d),n.removeEventListener(`pointerlockchange`,u)}}}function Ae(e){let t=e.ownerDocument,n=!1,r=Element.prototype.requestPointerLock,i=t.exitPointerLock;return Element.prototype.requestPointerLock=()=>Promise.resolve(),t.exitPointerLock=()=>void 0,Object.defineProperty(t,"pointerLockElement",{configurable:!0,get:()=>n?e:null}),{setLocked(e){e!==n&&(n=e,t.dispatchEvent(new Event(`pointerlockchange`)))},stop(){Element.prototype.requestPointerLock=r,t.exitPointerLock=i,Reflect.deleteProperty(t,`pointerLockElement`)}}}function je(e,t){let n=t.getBoundingClientRect();return{clientX:n.left+e.x*n.width,clientY:n.top+e.y*n.height}}function Me(e,t){let n=t.ownerDocument;switch(e.type){case P.KeyDown:case P.KeyUp:{let{type:t,...r}=e;n.body.dispatchEvent(new KeyboardEvent(t,{...r,bubbles:!0,cancelable:!0}));return}case P.PointerDown:case P.PointerUp:case P.PointerMove:(e.canvas?t:n.documentElement).dispatchEvent(new PointerEvent(e.type,{...je(e,t),movementX:e.movementX,movementY:e.movementY,button:e.button,buttons:e.buttons,pointerType:e.pointerType,pointerId:e.pointerId,isPrimary:!0,bubbles:!0,cancelable:!0}));return;case P.Wheel:t.dispatchEvent(new WheelEvent(`wheel`,{...je(e,t),deltaX:e.deltaX,deltaY:e.deltaY,deltaMode:e.deltaMode,bubbles:!0,cancelable:!0}));return}}async function Ne({id:e,session:t},n,r){let i=/^now(?:([+-])(\d+(?:\.\d+)?))?$/.exec(n.trim());if(i)return r+(i[1]===void 0?0:Number(`${i[1]}${i[2]}`)*1e3);let a=new URLSearchParams({at:n,...t!==void 0&&{session:t}}),o=await fetch(`${me}/${e}/moment?${a}`);if(!o.ok)throw Error(await o.text());let{at:s}=await o.json();return s}function Pe(e){let t={};return h(t,e),t}function Fe(e,t){h(e,t)}function Ie(e,t){return{characterId:t.characterId,edits:t.edits,snapshotSeconds:t.snapshotSeconds,stretchSeconds:t.stretchSeconds,sequence:t.sequence,roomSequence:t.roomSequence,firstSequence:t.firstSequence,predicted:[...t.predicted],roomRewound:Le(t),corrections:t.corrections,correctionMetres:t.correctionMetres,walkCredit:{...t.walkCredit},moves:t.moves.filter(e=>e.sequence>t.roomSequence).map(e=>({sequence:e.sequence,tick:e.tick,...Pe(e),entries:e.entries.slice(0,e.size).map(({id:e,serial:t,rewound:n})=>({id:e,serial:t,rewound:structuredClone(n)}))})),clock:structuredClone(t.clock),pace:t.pace&&{...structuredClone(t.pace),adjustedAt:Array.from(t.pace.adjustedAt),adjustedTick:Array.from(t.pace.adjustedTick)},tick:t.tick,presses:t.pressRecords.map(({entity:t,...n})=>({...structuredClone(n),entity:T(e,t)}))}}function Le(e){return Object.fromEntries(e.predictedSet.map(({id:e,roomRewound:t})=>[e,structuredClone(t)]))}function Re(e,t,n){let r=e.get(S),i=e.get(D),a=e.get(N),o={};for(let[t,n]of Object.entries(d(e)))E.has(t)&&(o[t]=n);return{id:t,traits:o,previousTransform:e.get(O)?.position.toArray(),previousRotation:e.get(O)?.rotation.toArray(),previousScale:e.get(O)?.scale.toArray(),drawnFeet:i&&{...i},correction:r&&{offset:r.offset.toArray(),previous:r.previous.toArray(),seconds:r.seconds},drawnAim:a&&{...a,rotation:a.rotation.toArray()},rewound:_(e,{},n)}}function ze(e){let t=ne(e),n=e.queryFirst(A)?.get(A);if(t&&n)return{...t,settledDistance:n.settledDistance,settledPivotReach:n.settledPivotReach,locked:n.locked,firstPersonView:n.firstPersonView,latchedHeading:n.latchedHeading,latchedSteer:n.latchedSteer.toArray()}}function Be({world:e,readRoom:t,leftover:n},r){let i=t()?.session;return{leftoverSeconds:n.current,character:i?.character&&i.characterId!==null?Re(i.character,i.characterId,i.predicted):void 0,session:i&&Ie(e,i),camera:ze(e),held:r,menu:{open:j.getState().open,settingsOpen:j.getState().settingsOpen}}}function Ve(e,t,n){t.edits=n.edits,t.snapshotSeconds=n.snapshotSeconds,t.stretchSeconds=n.stretchSeconds,t.sequence=n.sequence,t.roomSequence=n.roomSequence,t.firstSequence=n.firstSequence,t.predicted=i(n.predicted);for(let e of t.predictedSet)u(e.roomRewound,structuredClone(n.roomRewound[e.id]??{}));t.corrections=n.corrections,t.correctionMetres=n.correctionMetres,t.walkCredit={...n.walkCredit};for(let e of n.moves){let n=t.moves[e.sequence%t.moves.length];n.sequence=e.sequence,n.tick=e.tick,Fe(n,e),n.size=0;for(let t of e.entries)u(fe(n,t).rewound,t.rewound)}Object.assign(t.clock,structuredClone(n.clock));let{pace:r}=n;t.pace=r?{...structuredClone(r),adjustedAt:Float64Array.from(r.adjustedAt),adjustedTick:Float64Array.from(r.adjustedTick)}:null,t.tick=n.tick;let a=e.get(C);t.pressRecords=n.presses.flatMap(({entity:e,...t})=>{let n=a?.get(e);return n?[{...structuredClone(t),entity:n}]:[]})}function He(e,t,n,r){c(t,n.traits),s(t,n.rewound,r);let{previousTransform:i,previousRotation:l,previousScale:u,drawnFeet:d,correction:p,drawnAim:m}=n;if(o(i)&&t.get(O)?.position.fromArray(i),o(l)&&t.get(O)?.rotation.fromArray(l),o(u)&&t.get(O)?.scale.fromArray(u),d&&t.has(D)&&t.set(D,d),p){t.has(S)||t.add(S);let e=t.get(S);e?.offset.fromArray(p.offset),e?.previous.fromArray(p.previous),t.set(S,{seconds:p.seconds})}if(m){let e={...m,rotation:new be().fromArray(m.rotation)};t.has(N)?t.set(N,e):t.add(N(e))}else t.remove(N);f(e);let h=t.get(y);a(e,t,{grounded:h?.isGrounded??!0,fallSpeed:h?.verticalSpeed??0,floorRead:!0})}function Ue(e,t){let n=e.queryFirst(A);n&&(n.set(A,{settledDistance:t.settledDistance,settledPivotReach:t.settledPivotReach,locked:t.locked,firstPersonView:t.firstPersonView,latchedHeading:t.latchedHeading,latchedSteer:new xe().fromArray(t.latchedSteer)}),te(e,t))}function We({world:e,readRoom:t,leftover:n},r){n.current=r.leftoverSeconds;let i=t()?.session;if(i&&r.session&&(Ve(e,i,r.session),m(e,i.predicted)),i?.character&&r.character){i.correcting=!0;try{He(e,i.character,r.character,i.predicted)}finally{i.correcting=!1}}r.camera&&Ue(e,r.camera)}function Ge(e){let t=ee(e.character?.traits.transform);return o(t)?t:void 0}function Ke(e,t){if(!t||t.playerId===null||!e.has(C))return;let{entities:n}=l(e);for(let e of Object.keys(n))e.startsWith(`local:`)&&delete n[e];let i=new Set(v(e)),a=e.get(C);for(let t of i){let r=T(e,t);a?.get(r)?.isAlive()||delete n[r]}let o=g(e).flatMap(t=>{let n=x(t.name);if(!n)return[];let a=t.on>=0?t.on:void 0,o=a!==void 0&&a.isAlive()&&!i.has(a);return[{id:t.sequence,tick:t.tick,...a!==void 0&&{entity:o?T(e,a):`gone`},...a!==void 0&&!o&&{gone:!0},name:t.name,value:r(e,n,t.record,t=>i.has(t)?null:w(e,t))}]});return{type:le.Welcome,protocolVersion:21,player:t.playerId,...t.characterId!==null&&{character:t.characterId},snapshot:{entities:n,hash:0},edits:t.edits,composition:b(e),tick:t.roomSequence-1,...o.length>0&&{events:o},controlled:structuredClone(t.control),predicted:[...t.predicted],rewound:Le(t),sendRate:t.sendRate,predictionSeed:p(e)}}var qe=1e3,Je=3;function Ye(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function Xe({id:e,startedAt:t,now:n,wall:r=()=>Date.now(),post:i,makeWelcome:a,idleSeconds:o=120}){let s=ve(),c,l=!0,u=!1,d=!1,f=0,p,m=Promise.resolve(),h=0,g=n(),_=``,v=0,y=()=>l&&!u&&!d,b=r()-(n()-t),x=0,S=!0,C=()=>{let e=n()-t,i=r()-b-e;return i-x>qe&&(x=i,S=!1),!S&&y()&&(S=!0,s.writeJson(I.Event,e,{type:F.Clock,slip:x})),e},w=(e,t=C())=>{y()&&s.writeJson(I.Event,t,e)},T=()=>{c&&s.writeJson(I.Session,0,c)},E=()=>{let e=a();e&&s.writeJson(I.Resume,C(),e)},D=()=>{v>0&&_&&w({...JSON.parse(_),repeats:v}),v=0},O=async()=>{if(d||s.length===0&&!p)return;let t=p?Ye(p,s.take()):s.take();p=void 0;try{await i(e,t),f=0}catch{p=t,f++,d=f>=Je}};return{get recording(){return y()},get failed(){return d},readTime:C,begin({game:e,url:n,room:r}){c={game:e,url:n,startedAt:new Date(b).toISOString(),startedAtMilliseconds:t,...r&&{room:r},format:22},T()},writeRoomFrame(e){y()&&(typeof e==`string`?s.writeText(I.RoomText,C(),e):s.writeBytes(I.RoomBytes,C(),e))},writeClientText(e){if(y()&&(s.writeText(I.ClientText,C(),e),c&&e.startsWith(`{"type":"join"`))){let{name:t}=JSON.parse(e);c.player=t,T()}},writeFrame(e,t=!1,n=e){if(!y())return;let r=C();s.writeFrame(r,e,n);let i=e*1e3;i>50&&w({type:F.LongFrame,milliseconds:i,covered:t},r)},writeKeyframe(e){y()&&s.writeJson(I.Keyframe,C(),e)},writeInput(e){g=n(),u&&l&&(u=!1,E(),w({type:F.Resume})),y()&&s.writeJson(I.Input,C(),e)},writeEvent:w,writeMessage(e,t){let n=JSON.stringify({type:e,message:t});if(n===_){v++;return}D(),_=n,y()&&s.writeText(I.Event,C(),n)},writeShot(e,t,n){y()&&s.writeShot(e,t,n)},mark(){return h++,w({type:F.Mark,number:h}),h},checkIdle(){u||n()-g<o*1e3||(w({type:F.Idle}),u=!0)},setEnabled(e){e!==l&&(l=e,y()&&E())},flush(){return D(),m=m.then(O),m.then(()=>!p&&!d)}}}var Ze=1e4,Qe=.6,$e=.8,et=.05;function tt(e,t,n,r,i){let a=new Float32Array(r*i),o=new Uint32Array(r*i);for(let s=0;s<n;s++){let c=Math.min(i-1,Math.floor(s*i/n));for(let n=0;n<t;n++){let i=c*r+Math.min(r-1,Math.floor(n*r/t)),l=(s*t+n)*4;a[i]+=.2126*e[l]+.7152*e[l+1]+.0722*e[l+2],o[i]++}}for(let e=0;e<a.length;e++)a[e]/=Math.max(o[e],1)*255;return a}function nt(e,t,n){let r=0;for(let i=0;i<t.length;i++)Math.abs(t[i]-e[i])>n&&r++;return r}var rt=`${tt.toString()}
2
+ ${nt.toString()}
3
+ let kept;
4
+ onmessage = async ({ data }) => {
5
+ try {
6
+ await encode(data);
7
+ } catch (error) {
8
+ postMessage({ key: data.key, error: String(error) });
9
+ }
10
+ };
11
+ async function encode({ key, bitmap, quality, compare, skipUnchanged }) {
12
+ const { width, height } = bitmap;
13
+ const canvas = new OffscreenCanvas(width, height);
14
+ const context = canvas.getContext("2d", { willReadFrequently: compare });
15
+ context.drawImage(bitmap, 0, 0);
16
+ bitmap.close();
17
+ let summary;
18
+ if (compare) {
19
+ summary = summarizeShot(
20
+ context.getImageData(0, 0, width, height).data,
21
+ width,
22
+ height,
23
+ 32,
24
+ 18,
25
+ );
26
+ if (
27
+ skipUnchanged &&
28
+ kept !== undefined &&
29
+ countChangedCells(kept, summary, ${et}) <
30
+ 16
31
+ ) {
32
+ postMessage({ key });
33
+ return;
34
+ }
35
+ }
36
+ const blob = await canvas.convertToBlob({ type: "image/webp", quality });
37
+ const bytes = await blob.arrayBuffer();
38
+ if (compare) kept = summary;
39
+ postMessage({ key, bytes }, [bytes]);
40
+ }`;function it(){let e=new Worker(`data:text/javascript,${encodeURIComponent(rt)}`),t=/* @__PURE__ */ new Map,n=0;return e.onmessage=({data:e})=>{t.get(e.key)?.(e),t.delete(e.key)},{async take(r,{width:i,quality:a,mark:o,skipUnchanged:s=!1}){let c=Math.round(i*r.height/Math.max(r.width,1)),l=await createImageBitmap(r,{resizeWidth:i,resizeHeight:c,resizeQuality:`low`}),u=n++,{bytes:d,error:f}=await new Promise(n=>{t.set(u,n),e.postMessage({key:u,bitmap:l,quality:a,compare:o===void 0,skipUnchanged:s},[l])});if(f!==void 0)throw Error(f);if(d)return{header:{width:i,height:c,...o!==void 0&&{mark:o}},image:new Uint8Array(d)}},stop(){e.terminate()}}}var at=300;function U(e){let[t,...n]=e.map(e=>e instanceof Error?e.message:typeof e==`string`?e:String(e)).join(` `).split(`
41
+ `),r=n.length>0?`${t} …`:t;return r.length>at?`${r.slice(0,at)}…`:r}function ot(e){let{error:t,warn:n}=console;console.error=(...n)=>{e(F.Error,U(n)),t.apply(console,n)},console.warn=(...t)=>{e(F.Warning,U(t)),n.apply(console,t)};let r=t=>e(F.Error,U([t.error??t.message])),i=t=>e(F.Error,U([t.reason]));return window.addEventListener(`error`,r),window.addEventListener(`unhandledrejection`,i),()=>{console.error=t,console.warn=n,window.removeEventListener(`error`,r),window.removeEventListener(`unhandledrejection`,i)}}function st(e,t=!1){if(typeof PerformanceObserver>`u`)return()=>void 0;let n=new PerformanceObserver(t=>{for(let n of t.getEntries()){let{detail:t}=n;e({type:F.Event,name:n.name,...t!=null&&{subject:typeof t==`string`?t:JSON.stringify(t)}},n.startTime)}});return n.observe({type:`mark`,buffered:t}),()=>n.disconnect()}var W=/* @__PURE__ */ function(e){return e.Off=`off`,e.Record=`record`,e.Play=`play`,e}({}),G=re()(()=>({mode:`off`,recording:!1,shownMark:null,unprotectedMarks:[],markMoment:()=>void 0})),ct=1e3,lt=1e3,ut=2500,dt={keys:[],buttons:0,locked:!1},ft=typeof __GAME_ENGINE_REPLAY__==`object`?__GAME_ENGINE_REPLAY__:ge;function pt(e,t=ft){try{return he(e,t)}catch(e){return console.warn(e instanceof Error?e.message:String(e)),{shotIntervalSeconds:t.shotIntervalSeconds,shotWidth:t.shotWidth}}}function mt(e){let t=new URLSearchParams(e).get(`replay-idle`);return t===null?120:t===`off`?1/0:(console.warn(`Replay: ?replay-idle= takes off, not "${t}"; the page stops keeping its play after 120 s with no input.`),120)}async function ht(e,t){let n=await fetch(`${me}/${e}`,{method:`POST`,headers:{"content-type":`application/octet-stream`},body:t.slice().buffer}),r=await n.text();if(!n.ok)throw k(/* @__PURE__ */ Error(`The dev server answered ${n.status}.`),`SP0314`,void 0);if(n.status!==200||!r)return;let{unprotected:i=[]}=JSON.parse(r);i.length>0&&G.setState(({unprotectedMarks:e})=>({unprotectedMarks:[...e,...i]}))}var K;function gt(){return K}function q(){if(!K?.recorder.recording)return;let e=K.recorder.readTime(),t=K.recorder.mark();return K.markShot=t,G.setState({shownMark:t}),setTimeout(()=>{G.getState().shownMark===t&&G.setState({shownMark:null})},ut),{number:t,at:e}}function _t({post:e=ht,now:t=()=>performance.now(),shots:r=pt(typeof window>`u`?``:window.location.search),idleSeconds:i=mt(typeof window>`u`?``:window.location.search)}={}){let a=t(),o=_e(/* @__PURE__ */ new Date),s={startedAt:a,recorder:Xe({id:o,startedAt:a,now:t,post:e,idleSeconds:i,makeWelcome:()=>s.loop?Ke(s.loop.world,s.loop.readRoom()?.session):void 0}),loop:null,markShot:null,shots:r},{recorder:c}=s,l=-1/0;return n.receiveRoomFrame=e=>c.writeRoomFrame(e),n.sendClientText=e=>c.writeClientText(e),n.beginFrame=(e,t)=>c.writeFrame(e,oe.getState().covered,t),n.endFrame=()=>{let e=c.readTime();!s.loop?.readRoom()?.session.character||e-l<ct||(l=e,c.writeKeyframe(Be(s.loop,s.capture?.readHeld()??dt)))},n.attachLoop=e=>{s.loop=e,s.capture?.stop(),s.capture=e?ke(e.readThree().gl.domElement,e=>vt(e)):void 0},n.markEngineEvents=!0,c.setEnabled(ue.getState().keepReplay),K=s,typeof window<`u`&&(window.__GAME_RECORDING__={id:o,readTime:()=>c.readTime(),mark:q,flush:()=>c.flush(),readMoment:async e=>(await c.flush(),Ne({id:o},e,c.readTime()))}),G.setState({mode:W.Record,recording:c.recording,markMoment:q}),s}function vt(e){K?.recorder.writeInput(e),e.type===P.KeyDown&&e.code===`F8`&&q()}function yt(e){let t=!1;return ie.subscribe((n,r)=>{t||=n.status===ae.Joined,t&&n.status!==r.status&&e.writeEvent({type:F.Room,status:n.status}),n.corrections>0&&n.corrections!==r.corrections&&e.writeEvent({type:F.Corrections,count:n.corrections,metres:n.correctionMetres})})}function bt(e,t){let n=-1/0,r=-1,{shotIntervalSeconds:i,shotWidth:a}=e.shots;return ye(()=>{let{recorder:o,loop:s}=e;if(!s||!o.recording)return;let c=o.readTime(),l=s.readThree().gl.domElement,u=Math.floor(c/Ze),d;e.markShot===null?i>0&&!oe.getState().covered&&c-n>=i*1e3&&(d={width:a,quality:Qe,skipUnchanged:u===r},n=c):(d={width:l.width,quality:$e,mark:e.markShot},e.markShot=null),d&&t.take(l,d).then(e=>{e&&(o.writeShot(c,e.header,e.image),e.header.mark===void 0&&(r=u))}).catch(e=>o.writeMessage(F.Warning,`Replay: a screenshot failed: ${U([e])}`))})}function xt(n,r,i,a){let{recorder:o}=n;o.begin({game:r,url:window.location.href,room:a});let s=[ot((e,t)=>o.writeMessage(e,t)),st((e,t)=>o.writeEvent(e,t-n.startedAt),!0),yt(o),j.subscribe((e,t)=>{(e.open!==t.open||e.settingsOpen!==t.settingsOpen)&&o.writeInput({type:P.Menu,open:e.open,settingsOpen:e.settingsOpen})}),ue.subscribe(e=>{o.setEnabled(e.keepReplay),G.setState({recording:o.recording})})];if(t()||s.push(e(i)),typeof Worker<`u`){let e=it();s.push(bt(n,e),()=>e.stop())}let c=setInterval(()=>{o.checkIdle(),G.setState({recording:o.recording}),o.flush()},lt),l=()=>void o.flush();return window.addEventListener(`pagehide`,l),()=>{clearInterval(c),window.removeEventListener(`pagehide`,l);for(let e of s)e();o.flush()}}var St=/* @__PURE__ */ function(e){return e.Idle=`idle`,e.Starting=`starting`,e.Recording=`recording`,e.Stopping=`stopping`,e}({}),J=re()(e=>({supported:`Checking whether this browser encodes H.264`,shape:R.Wide,state:`idle`,recording:null,error:null,finished:null,setShape:t=>e({shape:t}),toggle:()=>void 0})),Ct=`avc1.64002A`,Y=60,wt=15e6,Tt=.02,Et=4,Dt=120,Ot={[R.Wide]:{width:1920,height:1080},[R.Tall]:{width:1080,height:1920}},kt={[R.Wide]:`width: min(100vw, 100dvh * 16 / 9); height: min(100dvh, 100vw * 9 / 16)`,[R.Tall]:`width: min(100vw, 100dvh * 9 / 16); height: min(100dvh, 100vw * 16 / 9)`},X,Z;async function At(e){let{error:t}=await e.json().catch(()=>({}));return t??`The dev server answered ${e.status}.`}function jt(){let e=window.__GAME_RECORDING__;if(e&&gt()?.recorder.recording&&ie.getState().status===ae.Joined)return{id:e.id,from:Math.floor(e.readTime())}}function Mt(e){de(!1),M(!1),e.stopFrames?.(),clearTimeout(e.deadline),e.unletterbox?.(),pe(!1)}function Nt(e,t){Mt(e),e.onFirstFrame?.(t),e.output?.state===`started`&&e.output.cancel(),X===e&&(X=void 0)}function Q(e,t){Nt(e,t),J.setState({state:`idle`,recording:null,error:U([t])})}async function Pt(e){let{shape:t}=J.getState();J.setState({state:`starting`,error:null}),Z=void 0;let n={startedAt:Date.now(),clock:e,replay:e===L.Wall?jt():void 0,pending:Promise.resolve(),frames:0,dropped:0,duration:0};X=n,pe(!0);try{let r=await fetch(Se);if(!r.ok)throw Error(await At(r));let{maxSeconds:i,refusal:a}=await r.json();if(a)throw Error(a);let o=ce()?.gl.domElement;if(!o)throw k(/* @__PURE__ */ Error(`The game draws no canvas to record yet.`),`SP0303`,void 0);let{BufferTarget:s,CanvasSource:c,Mp4OutputFormat:l,Output:u,Quality:d}=await import(`mediabunny`),{width:f,height:p}=Ot[t],m=o.width!==f||o.height!==p,h=o.parentElement;if(h){let e=h.style.cssText;h.style.cssText=`${e}; position: absolute; inset: 0; margin: auto; ${kt[t]}`,n.unletterbox=()=>void(h.style.cssText=e)}let g=new u({format:new l({fastStart:`in-memory`}),target:new s}),_=new c(o,{codec:`avc`,quality:new d(wt),keyFrameInterval:.5,sizeChangeBehavior:`fill`,...m&&{transform:{width:f,height:p}}});g.addVideoTrack(_,{frameRate:Y}),n.output=g,await g.start();let v=i*1e3,y=e===L.Steps;y||(n.deadline=setTimeout($,v));let b,x=-1,S=!1,C=0;n.stopFrames=ye(()=>{let e=o.width*p/(o.height*f),t=b===void 0&&!m&&(o.width!==f||o.height!==p);if(X!==n||t||Math.abs(e-1)>Tt)return;let r=y?se.getState().steps*1e3/Y:performance.now();b??=r;let i=r-b;if(i>=v){$();return}if(C>=Dt){Q(n,k(/* @__PURE__ */ Error(`The encoder fell two seconds behind the running world: record a held session, which waits for it, or record at 16:9.`),`SP0304`,void 0));return}let a=Math.round(i*Y/1e3);if(a<=x||S&&!y)return;n.dropped+=a-x-1,x=a,S=!0,C+=1,C>=Et&&M(!0),n.frames+=1,n.frames===1&&n.onFirstFrame?.(),n.duration=i;let s=_.add(i/1e3,1/Y).then(()=>{S=!1,--C,C<Et&&X===n&&M(!1)});n.pending=n.pending.then(()=>s).catch(e=>Q(n,e))}),de(y),J.setState({state:`recording`,recording:{startedAt:performance.now(),maxSeconds:i}})}catch(e){Q(n,e)}}function $(){let e=X;e&&J.getState().state===`recording`&&(Z=Ft(e),Z.catch(()=>void 0))}async function Ft(e){J.setState({state:`stopping`});let t=window.__GAME_RECORDING__,n=e.replay&&{...e.replay,to:Math.ceil(t?.readTime()??e.replay.from)};Mt(e);try{await e.pending,await e.output?.finalize();let r=e.output?.target.buffer;if(!r||e.frames===0)throw k(/* @__PURE__ */ Error(`The clip holds no frame: record for longer.`),`SP0305`,void 0);let{dropped:i}=e,a=i>0?[`${i} frame${i===1?``:`s`} dropped: the page drew or encoded fewer than ${Y} a second.`]:[];n&&!await t?.flush()&&a.push(`The replay's last records did not reach the dev server: the saved window may end before the clip does.`);let o=Math.round(e.duration),{moments:s,stills:c,sheet:l}=await Ee(r,e.frames,o),{shape:u}=J.getState(),d={startedAt:e.startedAt,shape:u,...Ot[u],fps:Y,durationMs:o,droppedFrames:i,frames:s.map(e=>({at:e})),...n&&{replay:n},warnings:a},f=new FormData;f.set(`meta`,JSON.stringify(d)),f.set(`video`,new Blob([r],{type:`video/mp4`})),f.set(`sheet`,l);for(let e of c)f.append(`frames`,e);let p=await fetch(Se,{method:`POST`,body:f});if(!p.ok)throw Error(await At(p));let{name:m}=await p.json();return X=void 0,J.setState({state:`idle`,recording:null,finished:m}),m}catch(t){throw Q(e,t),t}}function It(){let{state:e,supported:t}=J.getState();e===`idle`&&t===!0?Pt(L.Wall):e===`recording`&&$()}function Lt(){return new Promise(e=>{let t=J.subscribe(n=>{(n.state===`idle`||n.state===`recording`)&&(t(),e(n))})})}var Rt={start:async({shape:e,clock:t})=>{let{state:n,supported:r}=J.getState();if(r!==!0)throw Error(r);if(n!==`idle`)throw k(/* @__PURE__ */ Error(`A clip is ${n} already: stop it first.`),`SP0306`,void 0);J.setState({shape:e});let i=Lt();Pt(t);let{error:a}=await i;if(a!==null)throw Error(a);let o=X;!o||o.frames>0||await new Promise((e,t)=>{o.onFirstFrame=n=>n===void 0?e():t(k(Error(U([n])),[[`SP0307`,`%s…`],[`SP0308`,`%s …`]],void 0))})},stop:async()=>{$();let e=Z;if(Z=void 0,e)return e;throw Error(J.getState().error??`No clip is recording: start one first.`)},cancel:()=>{let e=X;e&&J.getState().state===`recording`&&(Nt(e),J.setState({state:`idle`,recording:null}))}};function zt(e){if(J.setState({toggle:It}),window.__GAME_CLIP__=Rt,e===W.Play){J.setState({supported:`This page plays a replay back: record a clip from a page that plays.`});return}if(typeof VideoEncoder>`u`){J.setState({supported:`This browser has no WebCodecs to encode video with: record in Chrome, Edge or Safari.`});return}VideoEncoder.isConfigSupported({codec:Ct,...Ot[R.Wide],framerate:Y,bitrate:wt}).then(({supported:e})=>J.setState({supported:e===!0||`This browser cannot encode H.264 video: record in Chrome, Edge or Safari.`})).catch(e=>J.setState({supported:U([e])}))}export{gt as a,G as c,Ge as d,We as f,Ae as h,_t as i,ot as l,Me as m,zt as n,xt as o,Ne as p,J as r,W as s,St as t,st as u};
@@ -0,0 +1 @@
1
+ import{ca as e}from"./-MLBVTaO.js";import{n as t}from"./BrfUaL46.js";import{D as n,F as r,H as i,I as a,V as o}from"./SMby3e6M.js";import{existsSync as s,readdirSync as c,statSync as l}from"node:fs";import{join as u}from"node:path";var d=`saved`,f=12e4;function p(t){if(!s(t))return[];let n=[];for(let r of c(t)){if(!e(r))continue;let i=u(t,r),o=a(i);o&&n.push({name:r,folder:i,meta:o})}return n.sort((e,t)=>e.meta.startedAtEpoch-t.meta.startedAtEpoch||e.name.localeCompare(t.name))}function m(e){let t=u(e,d);if(!s(t))return[];let n=[];for(let e of c(t).sort()){let r=u(t,e),i=a(r);i&&n.push({name:e,folder:r,meta:i})}return n}function h(e){try{return process.kill(e,0),!0}catch(e){return e instanceof Error&&`code`in e&&e.code===`EPERM`}}function g({folder:e,meta:t},r=Date.now()){return y(t)?!0:n(e).some(t=>_(e,t,r))}function _(e,t,n=Date.now()){return n-(r(e,t).writtenAt??l(u(e,t,`replay.json`)).mtimeMs)<f}function v(e){if(e)try{let t=new URL(e);return t.port?Number(t.port):t.protocol===`wss:`||t.protocol===`https:`?443:80}catch{return}}function y(e){return e.room!==void 0&&e.endedAt===void 0&&h(e.room.pid)}function b(e,t){return p(e).filter(({meta:e})=>e.room?.port===t&&y(e)).at(-1)?.name}function x(e,t){return p(e).filter(({folder:e})=>s(u(e,t,`replay.json`))).at(-1)?.name}function S(e,t,n,c){let l=c?r(u(e,c),t):void 0,d=n??l?.session,f=v(d?.room),p=(f===void 0?void 0:b(e,f))??c??t;if(!a(u(e,p))){let t=Date.parse(d?.startedAt??``),n=Number.isFinite(t)?t:Date.now();i(u(e,p),{id:p,startedAt:new Date(n).toISOString(),startedAtEpoch:n})}return c!==void 0&&p!==c&&d&&!s(u(e,p,t,`replay.json`))&&o(u(e,p),{id:t,session:d,marks:[],pieces:{},lastAt:0,...l?.clockSlips&&{clockSlips:l.clockSlips}}),p}function C(e){return/-r\d+$/.test(e)}function w(e,r){let i=n(e.folder),a=i.filter(e=>!C(e)).at(-1)??i.at(-1);if(!a)throw t(/* @__PURE__ */ Error(`${r?`The saved clip ${e.name}`:`Session ${e.name}`} keeps no page: a page records only while the game is open in a browser on the dev server. \`spawnite replay list\` names the sessions that keep one.`),`SP0295`,void 0);return{folder:e.folder,id:a,session:e.name,saved:r}}function T(e,r){let i=m(e).find(({name:e})=>e===r||`saved/${e}`===r);if(i)return w(i,!0);let a=p(e),[o,s]=r.split(`/`);if(s!==void 0){let e=a.find(({name:e})=>e===o);if(e&&n(e.folder).includes(s))return{folder:e.folder,id:s,session:e.name,saved:!1};throw t(/* @__PURE__ */ Error(`No page ${s} in session ${o}: \`spawnite replay list\` names each.`),`SP0296`,void 0)}let c=/* @__PURE__ */ new Map;for(let e of a)for(let t of n(e.folder))c.set(t,e);let l=e=>{let t=c.get(e);return{folder:t.folder,id:e,session:t.name,saved:!1}},u=[...c.keys()].filter(e=>!C(e)).sort();if(r===`latest`){let n=u.at(-1);if(!n)throw t(/* @__PURE__ */ Error(`No replay in ${e} yet: open the game on the dev server in a browser, and its play records one.`),`SP0297`,void 0);return l(n)}if(c.has(r))return l(r);let d=a.find(({name:e})=>e===r);if(d)return w(d,!1);let f=(/-r\d*$/.test(r)?[...c.keys()]:u).filter(e=>e.startsWith(r));if(f.length===1)return l(f[0]);throw f.length===0?t(/* @__PURE__ */ Error(`No replay in ${e} starts "${r}": \`spawnite replay list\` names each.`),`SP0298`,void 0):t(/* @__PURE__ */ Error(`${f.length} replays start "${r}": ${f.join(`, `)}. Name more of one.`),`SP0299`,void 0)}function E(e,n){let r=p(e),i=r.find(({name:e})=>e===n);if(i)return{name:i.name,folder:i.folder,saved:!1};if(n===`latest`){let n=r.at(-1);if(!n)throw t(/* @__PURE__ */ Error(`No replay in ${e} yet: open the game on the dev server in a browser, and its play records one.`),`SP0297`,void 0);return{name:n.name,folder:n.folder,saved:!1}}let{folder:a,session:o,saved:s}=T(e,n);return{name:o,folder:a,saved:s}}export{g as a,T as c,y as i,E as l,x as n,m as o,_ as r,p as s,S as t,d as u};
@@ -0,0 +1 @@
1
+ import{l as e}from"./-MLBVTaO.js";import{j as t}from"./CRfoqBKG.js";import{defaultRoomSendRate as n}from"@spawnite/schema";var r=1,i=.2,a=e*1e3;function o(n){return t(n)*e}function s(){let e=o(n);return{samples:Array.from({length:8},()=>({roundTripMilliseconds:0,offsetSteps:0})),pongs:0,roundTripMilliseconds:0,jitterMilliseconds:0,roomStepMilliseconds:null,offsetSteps:0,rate:1,sendIntervalSeconds:e,interpolationSeconds:e,feedback:[]}}function c(e,t){let n=e.interpolationSeconds-e.sendIntervalSeconds;e.sendIntervalSeconds=o(t),e.interpolationSeconds=Math.min(e.sendIntervalSeconds+n,i)}function l(e){e.pongs=0,e.roundTripMilliseconds=0,e.jitterMilliseconds=0,e.roomStepMilliseconds=null,e.offsetSteps=0,e.rate=1,e.interpolationSeconds=e.sendIntervalSeconds,e.feedback.length=0}var u=[],d=(e,t)=>e.roundTripMilliseconds-t.roundTripMilliseconds;function f(e,{sent:t,step:n,rate:r=1,stepMilliseconds:o,early:s,earlyTick:c,late:l,starved:f},m){e.roomStepMilliseconds=o,(s!==void 0||l!==void 0||f!==void 0)&&e.feedback.push({early:s,earlyTick:c,late:l,starved:f}),r!==e.rate&&(e.rate=r,e.pongs=0);let h=e.samples[e.pongs%8];h.roundTripMilliseconds=m-t,h.offsetSteps=n-(t+m)/2/a*r,e.pongs++,e.jitterMilliseconds=p(e),u.length=0;for(let t=0;t<Math.min(e.pongs,8);t++)u.push(e.samples[t]);u.sort(d);let g=0;for(let e of u)g+=e.roundTripMilliseconds;e.roundTripMilliseconds=g/u.length;let _=Math.ceil(u.length/2),v=0;for(let e=0;e<_;e++)v+=u[e].offsetSteps;e.offsetSteps=v/_;let y=(u[u.length-1].roundTripMilliseconds-u[0].roundTripMilliseconds)/1e3;e.interpolationSeconds=Math.min(e.sendIntervalSeconds+y,i)}function p({samples:e,pongs:t}){let n=Math.min(t,8);if(n<2)return 0;let r=0;for(let i=1;i<n;i++){let n=e[(t-i)%8],a=e[(t-i-1)%8];r+=Math.abs(n.roundTripMilliseconds-a.roundTripMilliseconds)}return r/(n-1)}function m(e,t){return t/a*e.rate+e.offsetSteps}export{f as a,o as i,m as n,l as o,r,c as s,s as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./CU0epHFG.js";import{o as t,s as n}from"./BrfUaL46.js";import{h as r}from"./CVgRrBP4.js";import{c as i,n as a,s as o}from"./DZIhHLUn.js";import{useFrame as s}from"@react-three/fiber";import{Box3 as c,Vector3 as l}from"three";import{useEffect as u,useRef as d}from"react";import{Html as f}from"@react-three/drei";import{palette as p}from"@spawnite/ui";import{jsx as m}from"react/jsx-runtime";import{useContextBridge as h}from"its-fine";import{createPortal as g}from"react-dom";import{twMerge as _}from"tailwind-merge";function v(e=!0){u(()=>e?r():void 0,[e])}var y=/* @__PURE__ */ function(e){return e.Glass=`glass`,e.Bare=`bare`,e}({}),b=_(`rounded-(--radius-pane) border-2 bg-clip-padding p-3 shadow-lg`,p.glassSurface,p.glassBorder,p.glassShadow),x=`rounded-xl border border-menu-edge bg-menu-surface text-white shadow-[0_12px_32px_rgb(0_0_0/0.45)] backdrop-blur-md`,S=_(x,`bg-black [background-image:linear-gradient(var(--color-menu-surface),var(--color-menu-surface))] shadow-2xl shadow-black/60`),C=`[@media(min-width:2200px)_and_(min-height:1200px)]:[zoom:1.3]`,w={glass:b,bare:``},T=/* @__PURE__ */ function(e){return e.Above=`above`,e.At=`at`,e}({});function E(t){try{let{row:n,ref:r}=o(`Panel`,t),i=e();if(v(t.freeCursor===!0&&!i),i)return null;let s=/* @__PURE__ */ m(a,{value:n,children:t.children});return t.anchor===void 0?/* @__PURE__ */ m(D,{...t,ref:r,children:s}):/* @__PURE__ */ m(M,{...t,children:s})}catch(e){throw n(`Panel`,e)}}function D({slot:e,order:t,variant:r=`glass`,className:a,style:o,children:s,ref:c}){try{let n=i(e);return n===void 0?null:g(/* @__PURE__ */ m(`div`,{ref:c,style:{...o,order:t},className:_(`flex flex-col items-center gap-2`,w[r],a),children:s}),n)}catch(e){throw n(`SlotPanel`,e)}}var O={above:`-mt-2 -translate-x-1/2 -translate-y-full`,at:`-translate-1/2`},k=new c,A=new l,j=new l;function M({anchor:e,maxDistance:r=1/0,variant:i=`glass`,className:a,style:o,children:c}){try{let n=h(),l=d(null),u=d(null);return s(t(`AnchoredPanel`,({camera:t})=>{let n=l.current,i=n?.parent;if(!n||!i)return;let a=e===`above`?k.setFromObject(i):null;if(n.position.y=a&&!a.isEmpty()?a.max.y-i.getWorldPosition(A).y:0,u.current){let e=t.position.distanceTo(n.getWorldPosition(j));u.current.style.display=e>r?`none`:``}})),/* @__PURE__ */ m(`group`,{ref:l,name:`panel-anchor`,children:/* @__PURE__ */ m(f,{ref:u,style:o,className:_(`pointer-events-none flex flex-col items-center gap-2 whitespace-nowrap`,O[e],w[i],a),children:/* @__PURE__ */ m(n,{children:c})})})}catch(e){throw n(`AnchoredPanel`,e)}}E.displayName=`Panel`,D.displayName=`SlotPanel`,M.displayName=`AnchoredPanel`;export{x as a,v as c,b as i,E as n,C as o,y as r,S as s,T as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./BrfUaL46.js";import{s as t}from"./Dqx9hHBK.js";import{A as n,C as r,D as i,E as a,F as o,H as s,I as c,N as l,V as u,_ as d,a as f,b as p,d as m,f as h,o as g,p as _,r as v,v as y,w as b,z as x}from"./SMby3e6M.js";import{S,r as C}from"./BLB4-b4b.js";import{a as w,i as T,l as E,o as D,r as O,s as k,u as A}from"./B1OUgdbN.js";import{cpSync as j,existsSync as M,mkdirSync as N,readdirSync as P,rmSync as F,writeFileSync as I}from"node:fs";import{basename as L,join as R}from"node:path";var z=1024**2;function B(e,t){let{folder:r}=e,o=i(r),s=g(r),c=/* @__PURE__ */ new Map,l=(e,t)=>c.set(e,(c.get(e)??0)+t),u=/* @__PURE__ */ new Set;for(let e of o){for(let t of b(r,e))l(t,n(x(r,e,t)));for(let t of a(r,e))u.add(t)}for(let e of s)for(let t of f(r,e))l(t,n(m(r,e,t)));return{...e,live:w(e,t),pages:o,runs:s,bytes:n(r),pieces:c,protectedPieces:u,newest:Math.max(-1,...c.keys())}}function V(e,t=Date.now()){let r=k(e).map(e=>B(e,t)),i=0,a=0;for(let e of r){i+=e.bytes;for(let[t,n]of e.pieces)e.protectedPieces.has(t)&&(a+=n)}let o=D(e).map(({name:e,folder:t})=>({name:e,folder:t,bytes:n(t)}));return{sessions:r,bytes:i,protectedBytes:a,saved:o,savedBytes:o.reduce((e,t)=>e+t.bytes,0)}}function H(e){return V(e).protectedBytes}function U(e){return e.budgetMegabytes*z*e.markShare}async function W(e,t,r,i){let a=0;for(let s of e.pages){if(!b(e.folder,s).includes(t))continue;let c=o(e.folder,s);c.rerunOf&&O(e.folder,s,i)||(a+=n(x(e.folder,s,t)),await y(e.folder,c,t,r),u(e.folder,c))}for(let r of e.runs){let i=m(e.folder,r,t);a+=n(i),F(i,{recursive:!0,force:!0})}return a}function G({bytes:e,protectedBytes:t,savedBytes:n},i){let a=[],o=U(i);t>0&&t>=o&&a.push(`Marks protect ${r(t)} of their ${r(o)}: a new mark protects nothing until one is released with \`spawnite replay release\`.`);let s=i.budgetMegabytes*z;e>s&&a.push(`The replays take ${r(e)} of their ${r(s)} budget: the dev server trims the oldest minutes no mark protects as a page plays, and keeps what marks protect and the minute a session writes now. Release the marks no issue needs with \`spawnite replay release\`.`);let c=K(n,i);return c&&a.push(c),a}function K(e,t){let n=t.savedWarningMegabytes*z;if(!(e<=n))return`Saved clips take ${r(e)}, past the ${r(n)} the game warns at: remove the ones no issue needs with \`spawnite replay remove\`.`}async function q(e,t){for(let{folder:n,meta:r}of k(e)){for(let e of i(n))O(n,e,t)||d(n,e);if(!T(r))for(let e of g(n))for(let t of f(n,e))await v(m(n,e,t),_)}}async function J(e,n,r,{now:i=Date.now()}={}){await q(e,i);let a=V(e,i),o=n.budgetMegabytes*z,s=a.bytes,c=[];for(let e of a.sessions)for(let[n,r]of e.pieces)e.protectedPieces.has(n)||e.live&&n===e.newest||c.push({session:e,piece:n,bytes:r,at:e.meta.startedAtEpoch+n*t});c.sort((e,t)=>e.at-t.at);let l={deletedPieces:[],deletedSessions:[],bytes:s,protectedBytes:a.protectedBytes,savedBytes:a.savedBytes,warnings:[]};for(let e of c){if(s<=o)break;s-=await W(e.session,e.piece,r,i),e.session.pieces.delete(e.piece),l.deletedPieces.push({session:e.session.name,piece:e.piece})}for(let e of a.sessions)e.live||e.pieces.size>0||(F(e.folder,{recursive:!0,force:!0}),l.deletedSessions.push(e.name));return l.bytes=V(e,i).bytes,l.warnings=G(l,n),l}var Y=/^[a-z0-9][a-z0-9._-]{0,63}$/i;function X(t,{folder:n,id:r,session:i},a,o){if(!Y.test(o))throw e(/* @__PURE__ */ Error(`"${o}" is not a clip's name: use letters, digits, dots, dashes and underscores, up to 64.`),`SP0287`,void 0);let s=R(t,A,o);if(M(s))throw e(/* @__PURE__ */ Error(`A saved clip is named ${o} already: name another, or remove it with \`spawnite replay remove saved/${o}\`.`),`SP0288`,void 0);try{return Q({folder:n,id:r,session:i},s,a,o)}catch(e){throw F(s,{recursive:!0,force:!0}),e}}function Z(t,n,r){if(M(r))throw e(/* @__PURE__ */ Error(`${r} is there already: name a folder that is not, or remove it.`),`SP0388`,void 0);try{return Q(t,r,n,L(r))}catch(e){throw F(r,{recursive:!0,force:!0}),e}}function Q({folder:t,id:r,session:i},a,d,_){let v=o(t,r),y=b(t,r),w=y.filter(e=>e>=p(v,d.from)&&e<=p(v,d.to));if(w.length===0)throw e(/* @__PURE__ */ Error(`${r} keeps nothing from ${C(d.from)} to ${C(d.to)}: \`spawnite replay list\` says what it keeps.`),`SP0289`,void 0);let T=c(t);if(!T)throw e(/* @__PURE__ */ Error(`${t} is not a session's folder: name a session as \`spawnite replay list\` prints it.`),`SP0290`,void 0);N(a,{recursive:!0});for(let e of w)j(x(t,r,e),x(a,r,e),{recursive:!0});let E=R(x(a,r,w[0]),`start.json`);!M(E)&&y[0]<w[0]&&I(E,JSON.stringify(S(t,r,l(v,w[0]).from)));let D=l(v,w[0]).from,O=l(v,w.at(-1)).to,k={};for(let[e,t]of Object.entries(v.pieces))w.includes(Number(e))&&(k[e]=t);u(a,{...v,pieces:k,marks:v.marks.filter(({at:e})=>e>=D&&e<O)});for(let e of g(t)){let n=h(t,e),r=h(a,e);N(r,{recursive:!0});for(let e of P(n))e!==`pieces`&&j(R(n,e),R(r,e),{recursive:!0});let i=f(t,e),o=i.filter(e=>e<w[0]).at(-1)??w[0];for(let n of i)n>=o&&n<=w.at(-1)+1&&j(m(t,e,n),m(a,e,n),{recursive:!0})}return s(a,{...T,clip:{session:i,page:r,from:d.from,to:d.to,savedAt:(/* @__PURE__ */ new Date()).toISOString()}}),{name:_,folder:a,bytes:n(a),kept:{from:Math.max(D,v.firstAt??0),to:O}}}function $(t,n){let r=n.map(e=>E(t,e));r.forEach(({name:t,saved:r},i)=>{let a=n[i];if(!(r?[t,`saved/${t}`]:[t,`latest`]).includes(a))throw e(/* @__PURE__ */ Error(`"${a}" names a page of session ${t}: \`spawnite replay remove ${t}\` removes the session, every page in it and its room.`),`SP0291`,void 0)});for(let{name:t,folder:n,saved:i}of r){let r=i?void 0:c(n);if(r&&w({name:t,folder:n,meta:r}))throw e(/* @__PURE__ */ Error(`Session ${t} is still being written: stop its room and its page first, or remove it once they have stopped.`),`SP0292`,void 0)}let i=[];for(let{name:e,folder:t,saved:n}of r)F(t,{recursive:!0,force:!0}),i.push(n?`${A}/${e}`:e);return i}export{K as a,H as c,G as i,J as l,$ as n,V as o,X as r,U as s,Z as t};
@@ -0,0 +1 @@
1
+ import{dc as e}from"./-MLBVTaO.js";import{ni as t}from"./V70ADx0g.js";import{n}from"./BrfUaL46.js";import{gameMaterialsName as r,gameMaterialsSchema as i,gridMap as a,mapPropsSchema as o,mapSchema as s,mapSeaSchema as c,mapTerrainSchema as l,materialsSchema as u,terrainMap as d}from"@spawnite/schema";var f=/* @__PURE__ */ new Map,p=/* @__PURE__ */ new Map,m=/* @__PURE__ */ new Map,h=/* @__PURE__ */ new Map,g=/* @__PURE__ */ new Map,_=/* @__PURE__ */ new Map,v=/* @__PURE__ */ new Set,y=/* @__PURE__ */ new Set;function b(e){return y.add(e),()=>y.delete(e)}var x=()=>v.forEach(e=>e());function S(e){return v.add(e),()=>v.delete(e)}function C(e,n){let r=s.parse(n),i=T(e),a=t(f,e,r),o=!1;for(let t of y)o=t(e,r)||o;return o?_.set(e,i):_.delete(e),(o?[]:[p.delete(e),m.delete(e),h.delete(e),g.delete(e)]).includes(!0)&&x(),a}function w(e,t){_.set(e,t)}function T(e){return _.get(e)??f.get(e)?.revision??0}function E(e,t){let n=l.parse(t);return p.set(e,n),x(),()=>{p.get(e)===n&&(p.delete(e),x())}}function D(e){return p.get(e)??f.get(e)?.terrain}function O(e,t){let n=u.parse(t);return m.set(e,n),x(),()=>{m.get(e)===n&&(m.delete(e),x())}}function k(e){return m.get(e)}function A(e,t){let n=o.parse(t);return h.set(e,n),x(),()=>{h.get(e)===n&&(h.delete(e),x())}}function j(e){return h.get(e)}function M(e,t){let n=c.parse(t);return g.set(e,n),x(),()=>{g.has(e)&&g.get(e)===n&&(g.delete(e),x())}}function N(e){return g.get(e)}var P=i.parse({}),F=P;function I(e){let t=i.parse(e);return F=t,x(),()=>{F===t&&(F=P,x())}}function L(){return F}function R(e,t){let n={...F.materials},r=t!==void 0&&m.get(t)||e.materials;for(let[e,t]of Object.entries(r)){let r=n[e];n[e]={...r,...t,...r?.cover&&t.cover&&{cover:{...r.cover,...t.cover}}}}return{set:F.set,materials:n}}function z(e){let t=Object.entries(e).map(([e,t])=>{let n=e.replace(/^.*\/|\.[^.]*$/g,``);return n===r?I(t.default):C(n,t.default)});return()=>t.forEach(e=>e())}function B(){return[...f.keys()]}function V(t){let r=f.get(t);if(!r)throw n(Error(e({kind:`map`,name:t,names:f.keys(),registrationInstructions:`register it with registerMap(name, json), or a folder of maps with registerMaps(import.meta.glob("../maps/*.json", { eager: true }))`})),[[`SP0031`,`No %s named "%s" is registered, and none is yet: %s.`],[`SP0501`,`No %s named "%s" is registered: %s, or name one of %s%s.`]],`readMap`);return r}var H=[];function U(e,t){let n={ground:e,map:t};return H.push(n),()=>{let e=H.indexOf(n);e!==-1&&H.splice(e,1)}}function W(){return H}function G(e){for(let[t,n]of f)if(n===e)return t}function K(e){return H.find(t=>t.ground===e)?.map}function q(e){return K(e)??H[0]?.map}function J(e){let t=q(e);if(!t)throw n(/* @__PURE__ */ Error(`No World has mounted a map yet: read the active map from inside a <World map>, or once it has mounted.`),`SP0035`,void 0);return t}C(`grid`,a),C(`meadow`,d);var Y=new Set(f.values());export{M as C,S as E,w as S,E as T,D as _,b as a,O as b,G as c,V as d,k as f,N as g,T as h,K as i,J as l,j as m,Y as n,B as o,R as p,q as r,W as s,U as t,L as u,I as v,z as w,A as x,C as y};
@@ -0,0 +1 @@
1
+ import{n as e}from"./BrfUaL46.js";import{Color as t}from"three";import{CoverKind as n}from"@spawnite/schema";var r={grass:{swatch:`#7dac52`,tile:4,sharpness:16,roughness:.9,cover:{kind:n.Grass,density:1},textures:{stylised:[`https://assets.spawnite.com/assets/b1601c4a3ed7f30e8229307a1de5d084cbc82a70f5a58f9fdcf6cc522bc361dc.webp`,`https://assets.spawnite.com/assets/bd217091544988537560a31551adaa7defdc5bd76cac8c1b6c0c407f297be947.webp`],photographed:[`https://assets.spawnite.com/assets/18835a6d4ef27699a29daea66abb429e5dda64ceac830cc4424aea7a947c8bb5.webp`,`https://assets.spawnite.com/assets/13308885d92c2b3c86b4a017d669ba2b79cce3e7cbb4534e6fd38f42711ad808.webp`]}},"dry-grass":{family:`grass`,swatch:`#b89252`,tile:4,sharpness:16,roughness:.9,cover:{kind:n.Grass,density:1},textures:{stylised:[`https://assets.spawnite.com/assets/421c4404b780f21f110b30becab02721ae7b67e4bb290723865fe6ae07262047.webp`,`https://assets.spawnite.com/assets/baa918b6cf885fd68298084411ca476a10cb3e732bc93d8663b3aa0eb42adb0e.webp`],photographed:[`https://assets.spawnite.com/assets/4f9a866ea385446135ebfdbd6996a49a8c74691451dd4c010573b9d7d52df106.webp`,`https://assets.spawnite.com/assets/f220b58fd809ccd91774550d4423870035bb625d6e672bd65e91095cb33d1acd.webp`]}},dirt:{swatch:`#7f583a`,tile:4,sharpness:24,roughness:.9,textures:{stylised:[`https://assets.spawnite.com/assets/f30cbcf33d2f2f2da5a8387e313e39e26bc26ee71bba769f729ae6db76141ee7.webp`,`https://assets.spawnite.com/assets/c9c0cf11c34dc0ba40605e13b398381237badc69bc62ca540dbcf495c1afa05f.webp`],photographed:[`https://assets.spawnite.com/assets/e7fd6fb4d998f09adde0eb579554d66aa0bbc9d75d56a3ca06c9b6bb50593d92.webp`,`https://assets.spawnite.com/assets/39e674b5226190db3909f24cf6012afd12fa9221ba55ebb50737678c63d24c87.webp`]}},mud:{family:`dirt`,swatch:`#4b4138`,tile:4,sharpness:24,roughness:.6,textures:{stylised:[`https://assets.spawnite.com/assets/160d39153db773ed5655f7f564f944ff289bf52da46bc01ad4c6f6c6aa339c3a.webp`,`https://assets.spawnite.com/assets/427498a96bf3b14891c1243b3bba634591311bdd3682205bb60631782491ae4c.webp`],photographed:[`https://assets.spawnite.com/assets/631089f3de44685602a639726b835abc0ef917a330d2a408a15ca4be19852d66.webp`,`https://assets.spawnite.com/assets/40bcf32bbe28d35dd2e15cb7f97e5fee237db094f49ba71407d7010d1d4c1b9f.webp`]}},gravel:{family:`rock`,swatch:`#89877a`,tile:2.5,sharpness:32,roughness:.85,textures:{stylised:[`https://assets.spawnite.com/assets/f2cc2ceeab184e42f8772951c35861f6832027931491e261db814fd0829c5ad4.webp`,`https://assets.spawnite.com/assets/0693d45437a41331b144382ff1ea77706a7d3ade45cccfde1d075271e4c36666.webp`],photographed:[`https://assets.spawnite.com/assets/5a50001c1c941f42c2dfafebefd8d6fa7b12f334f9ac4c76668130a891fa0dda.webp`,`https://assets.spawnite.com/assets/f08ad63d58c38726397366736f95e33ad8ed3bb42ae39f972747eb4cec6c2b61.webp`]}},sand:{swatch:`#eec888`,tile:5,sharpness:16,roughness:.9,rotate:!1,textures:{stylised:[`https://assets.spawnite.com/assets/9f9e74aebd806d16e39feb9bf13e1bee8524e7f7cce0a4d3b3538d6c7e08bf58.webp`,`https://assets.spawnite.com/assets/f3b9567e2ca22a5f1bbed768c5d49ab12c4e034878d64cd43d42b2e75eb71ad7.webp`],photographed:[`https://assets.spawnite.com/assets/1361e0bf7bdc7dba32820e77b24ef65fc43bdc49c8490cabc4a0264357ef00b8.webp`,`https://assets.spawnite.com/assets/f95d6bc11928ea1189ebc01be301310a51e17da34cb16193ad39caaf4e4a43a1.webp`]}},snow:{swatch:`#f3f3f3`,tile:6,sharpness:12,roughness:.7,rotate:!1,textures:{stylised:[`https://assets.spawnite.com/assets/06335b42f5eb18168bcdd24486b543a38da9f3f5ce97b65ad96ddd98c990d1a9.webp`,`https://assets.spawnite.com/assets/126d8cfd992a909fe06641a8f58ed672f356eefb95d22eef4d810f9a9a6fbffb.webp`]}},ice:{family:`snow`,swatch:`#cad7e2`,tile:6,sharpness:32,roughness:.15,textures:{stylised:[`https://assets.spawnite.com/assets/07c9f2d4ee0b2179431774dd732cc9753f4a2400e024ccadb34bd1ee820af401.webp`,`https://assets.spawnite.com/assets/1d5af26cc11839de3805def2962698f1d675d6d9108575e2491f4d0cb58e1081.webp`]}},rock:{swatch:`#64675d`,tile:4,sharpness:32,roughness:.8,textures:{stylised:[`https://assets.spawnite.com/assets/b72b0ee3e9609a534f0c7e6f2f4a61440c05e9af79d524dce80f2975fc8d46f0.webp`,`https://assets.spawnite.com/assets/ae62830b28d7d589d4f9364f8cdd0c3e62fa8b4d9fdb7e9ad16d8ef7c5e7f7d3.webp`],photographed:[`https://assets.spawnite.com/assets/fa31ff7080871bd2da8205a0529b5c390fe52302b324541d827d089370d659cc.webp`,`https://assets.spawnite.com/assets/bcbe97879d59efa5c15eab65260fdde8ce7115a5b4ecfa2dd3ead8ce5221e1f6.webp`]}},cliff:{family:`rock`,swatch:`#464030`,tile:6,sharpness:40,roughness:.8,textures:{stylised:[`https://assets.spawnite.com/assets/76a384e7a51c31f9d3627997181e0eb6ab2a1a0beed3026b1e984db36ac1ca3d.webp`,`https://assets.spawnite.com/assets/bbcf8979655a3c17d3e425d00bbd736e2e4a002516789f9b4f3f54d3d71d2242.webp`],photographed:[`https://assets.spawnite.com/assets/e625cc0fae36514fd7a2fef7dc4ab143be6250aac9ea72cdb7a3968a597ea3f6.webp`,`https://assets.spawnite.com/assets/0530784d9007c4fa32309dc6d7ed69d76e9d0161719b43f2f4e3a676e736a2ed.webp`]}},stone:{family:`rock`,swatch:`#878577`,tile:3,sharpness:40,roughness:.75,textures:{stylised:[`https://assets.spawnite.com/assets/f7cd8a67829bfab2d48b14282f4abc2c69f07f9df63376297ebecd0e2668b080.webp`,`https://assets.spawnite.com/assets/0e64d0be31687cfd5e89e748b054d8c517a767b5f6feb478dd9d6fb0334e6f6f.webp`],photographed:[`https://assets.spawnite.com/assets/e8447e2cb1b2a078ea82316b59c197440806aa1f2d699ed204aa303b40d8f65c.webp`,`https://assets.spawnite.com/assets/dd67b0919e2e6c9d1f0999b8e54e5d102c13286242972e30fdb9e727f75a5156.webp`]}},"shallow-bed":{family:`sand`,swatch:`#bdab83`,tile:3,sharpness:24,roughness:.5,rotate:!1,textures:{stylised:[`https://assets.spawnite.com/assets/45a81d4f7da2fcfa13905af6ffbcf021fabdd036faa7042d6b4c046faf1c5e17.webp`,`https://assets.spawnite.com/assets/0b529edaa0cefe1de99d6bdca7c29701a5d6a1cb5dc303e18b22528ec557994f.webp`],photographed:[`https://assets.spawnite.com/assets/f48a8eca82fb713f44814e265c1580ab29e2cfc6ffa86b012da8d1fbfeedb093.webp`,`https://assets.spawnite.com/assets/c5a6d8851535517435a6954395680647d0a831ece5abb0cc61ed5c24b6013882.webp`]}},grid:{swatch:`#9a9da3`,tile:1,sharpness:16,roughness:.9,rotate:!1,lines:1},"deep-bed":{swatch:`#1e3d45`,tile:5,sharpness:16,roughness:.6,textures:{stylised:[`https://assets.spawnite.com/assets/1bb339c98550216df2a463218ff4de2391d1f368efad10858b4594a9ff4034ee.webp`,`https://assets.spawnite.com/assets/7bcefb492fa56298e4fc619c4a188596ce5708d7440d5f7b9bed123efab22df1.webp`],photographed:[`https://assets.spawnite.com/assets/6ecff902891f3361bc148db55d5d09cf0c91145c0e17822fd5676be17c8af048.webp`,`https://assets.spawnite.com/assets/524301efe5e76d0d0e99c9d78470ce431c8dd56eff2147b7cd90820638560ee4.webp`]}}},i={kind:n.Grass,density:1,height:.32,sway:!0},a=({tint:e,tintAmount:t})=>e.map(e=>1+(e-1)*t);function o(n,{set:a,materials:o}){function s(n,c){if(c.includes(n))throw e(/* @__PURE__ */ Error(`The ground materials start from each other in a loop: ${[...c,n].join(`, `)}. Start one of them from a built-in: ${Object.keys(r).join(`, `)}.`),`SP0250`,void 0);let l=o[n],u=l?.from,d;if(u!==void 0)d=s(u,[...c,n]);else{let t=r[n];if(!t)throw e(/* @__PURE__ */ Error(`The map uses the material "${n}", which is not built in: add it to src/maps/materials.json or the map's materials with the material it starts "from", such as "${n}": { "from": "rock" }, or use a built-in: ${Object.keys(r).join(`, `)}.`),`SP0251`,void 0);let[o,s]=t.textures?t.textures[a]??t.textures.stylised:[null,null];d={name:n,family:t.family??n,colour:o,detail:s,swatch:t.swatch,tint:[1,1,1],tintAmount:1,tile:t.tile,sharpness:t.sharpness,roughness:t.roughness,bumps:1,hexTiling:t.hexTiling??!1,rotate:t.rotate??!0,wet:t.wet??!1,scroll:[0,0],frames:1,frameTime:.1,lines:t.lines??0,cover:t.cover?{...i,...t.cover}:null}}if(!l)return d;let f=l.tint&&new t(l.tint);return{...d,name:n,...l.texture!==void 0&&{colour:l.texture,detail:null},...f&&{tint:[f.r,f.g,f.b]},tintAmount:l.tintAmount??d.tintAmount,tile:l.tile??d.tile,sharpness:l.sharpness??d.sharpness,bumps:l.bumps??d.bumps,hexTiling:l.hexTiling??d.hexTiling,rotate:l.rotate??d.rotate,wet:l.wet??d.wet,scroll:l.animate?.scroll??d.scroll,frames:l.animate?.frames??d.frames,frameTime:l.animate?.frameTime??d.frameTime,cover:l.cover?{...d.cover??i,...l.cover}:d.cover}}return n.map(e=>s(e,[]))}export{a as n,r,o as t};
@@ -0,0 +1 @@
1
+ import{if as e}from"./-MLBVTaO.js";import{Dr as t,zn as n}from"./V70ADx0g.js";import{st as r}from"./Cq6VqPHb.js";import{r as i}from"./Bydoy8wO.js";import{i as a,r as o}from"./BzaiZux2.js";import{useEffect as s,useId as c,useRef as l}from"react";import{shallow as u}from"zustand/shallow";import{useFiber as d}from"its-fine";function f(e,t){p(e,t),m(e.trait,t)}function p({trait:n,plugin:s,wiki:l,source:u,description:f,ranges:p},m,h=[n]){let g=i();s&&e(t(g),s);let _=d(),v=o(_?.type)??`Behaviour`,y=c();a({id:`${g.id()}:${y}`,name:v,kind:r.Behaviour,props:m,wiki:l,source:u,description:f,ranges:p,entity:g,traits:h})}function m(e,t){let r=i(),a=l(void 0),o=!r.has(n);s(()=>{o&&r.isAlive()&&(r.has(e)?u(a.current,t)||r.set(e,t):r.add(e(t)),a.current=t)},[r,o,e,t]),s(()=>()=>{o&&r.isAlive()&&r.remove(e)},[r,o,e])}export{p as n,m as r,f as t};
@@ -0,0 +1 @@
1
+ import{m as e}from"./V70ADx0g.js";import{EngineSaveName as t}from"@spawnite/schema";var n=[t.Levels,t.Loot,t.Random];function r(r,i){if(!r||!i)return[];let a=[];r.scope===e.World&&a.push(`The save has scope "world", and this game has rooms: a room's world is shared, so one player's save must not restore it. Read and restore the player's state from her character.`);for(let e of r.include??[])n.includes(e)&&a.push(`The save includes "${e}", and this game has rooms: ${e===t.Random?`a room seeds its own random stream`:`a room's ${e} are the room's, not one player's`}. Drop it from include.`);return a}export{r as t};
@@ -0,0 +1,2 @@
1
+ import{H as e}from"./-MLBVTaO.js";import{fn as t}from"./V70ADx0g.js";import{n}from"./BrfUaL46.js";import{c as r,n as i}from"./CRfoqBKG.js";import{i as a,r as o,t as s}from"./Dqx9hHBK.js";import{a as c,l,n as u,o as d,r as f,s as p,t as m}from"./B_HFa2lJ.js";import{F as h,M as g,P as _,S as ee,T as v,b as y,j as b,w as x,y as te,z as S}from"./SMby3e6M.js";import{defaultRoomSendRate as ne}from"@spawnite/schema";import{existsSync as C,readFileSync as w,writeFileSync as re}from"node:fs";import{join as T,relative as ie}from"node:path";function E(){return{character:null,player:null,entities:{},owned:{},control:[],edits:!1,composition:null,tick:-1,predicted:[],rewound:{},predictionSeed:0,sendRate:ne}}function D(e,n){if(!t(e)||!t(n))return n;for(let t in n)e[t]=D(e[t],n[t]);return e}function O(e,t){for(let n in t){let r=t[n];r===null?delete e[n]:e[n]=D(e[n],r)}return e}function k(e,t){for(let[n,r]of Object.entries(t))e.owned[n]=O(e.owned[n]??{},r)}function A(e,t){e.character=t.character??null,e.player=t.player,e.entities=structuredClone(t.snapshot.entities),e.owned={},e.control=structuredClone(t.controlled),e.edits=t.edits,e.composition=t.composition,e.tick=t.tick,e.predicted=t.predicted,e.rewound=structuredClone(t.rewound),e.predictionSeed=t.predictionSeed,e.sendRate=t.sendRate}function j(e){if(e.kind===m.RoomBytes)return r(e.payload);if(e.kind===m.RoomText)return r(p(e))}function M(e,t,n=0){if(t.kind===m.Resume){A(e,d(t));return}let r=j(t);if(r){if(r.type===i.Welcome)A(e,r);else if(r.type===i.Delta){for(let t of r.delta.removed)delete e.entities[t];for(let t in r.delta.changed)e.entities[t]=O(e.entities[t]??{},r.delta.changed[t])}else r.type===i.Owned?k(e,r.traits):r.type===i.Ack?(r.owned&&k(e,r.owned),r.control&&(e.control=structuredClone(r.control)),e.tick=r.sequence-1,r.rewound&&Object.assign(e.rewound,structuredClone(r.rewound))):r.type===i.Pong&&(e.pong={step:r.step,at:t.at,roundTripMilliseconds:n+t.at-r.sent})}}function N(e,t,n){let r=T(S(e,t,n),`start.json`);return C(r)?JSON.parse(w(r,`utf8`)):void 0}function ae(e,t,n,r){let i=P(e,t,n),a=i.length>0&&N(e,t,i[0])||E(),{session:o}=h(e,t);for(let n of i)for(let r of b(e,t,n))M(a,r,o?.startedAtMilliseconds);re(T(S(e,t,r),`start.json`),JSON.stringify(a))}function P(e,t,n){let r=h(e,t),i=x(e,t).filter(e=>e<=n),a=[];for(let n=i.length-1;n>=0;n--){let o=i[n];if(a.length>0&&!ee(r,o,a[0])||(a.unshift(o),N(e,t,o)))break}return a}function F(e,t,n){return P(e,t,y(h(e,t),n))}function I(e,t,n){let r=F(e,t,n),{session:i}=h(e,t),a=r.length>0&&N(e,t,r[0])||E();for(let o of r)for(let r of b(e,t,o)){if(r.at>=n&&L.has(r.kind))return a;M(a,r,i?.startedAtMilliseconds)}return a}function oe(e){if(e.player===null||e.composition===null)throw n(/* @__PURE__ */ Error(`The replay holds no welcome from its room there.`),`SP0301`,void 0);let{character:t}=e,r=structuredClone(e.entities);for(let[t,n]of Object.entries(e.owned))r[t]&&(r[t]={...r[t],...n,...structuredClone(e.rewound[t]??{})});return{type:i.Welcome,protocolVersion:21,player:e.player,...t!==null&&{character:t},snapshot:{entities:r,hash:0},edits:e.edits,composition:e.composition,tick:e.tick,controlled:structuredClone(e.control),predicted:[...e.predicted],rewound:structuredClone(e.rewound),predictionSeed:e.predictionSeed,sendRate:e.sendRate}}var se=/* @__PURE__ */ new Set([m.RoomBytes,m.RoomText,m.Frame,m.Input,m.Keyframe,m.Resume]);function ce(e,t,{from:r,to:i},a,o=-1/0){let s,c=[];for(let n of F(e,t,i))for(let l of b(e,t,n)){if(l.at>i)break;if(l.kind===m.Keyframe&&l.at>=o&&(l.at<=r||!s)){s=l,c.length=0;continue}s&&a.has(l.kind)&&c.push(l)}if(!s)throw n(/* @__PURE__ */ Error(`The replay keeps no keyframe up to ${G(i)}: \`spawnite replay list\` shows what it keeps.`),`SP0302`,void 0);return{keyframe:s,records:c}}var L=/* @__PURE__ */ new Set([m.RoomBytes,m.RoomText,m.Resume]),le=/* @__PURE__ */ new Set([m.Frame,m.Input,m.Keyframe]);function ue(e,t){let n=d(e);return n.character&&(n.character.id=t),n.session&&(n.session.characterId=t),n}function de(e,t,n){let r=h(e,t);u(r.session);let i=r.rerunOf;i&&u(h(e,i.id).session);let a=ce(e,i?.id??t,n,i?le:se,i?.from),{keyframe:o}=a,s=I(e,t,o.at),l=a.records;if(i){let r=[];for(let i of x(e,t))for(let a of b(e,t,i))L.has(a.kind)&&a.at>=o.at&&a.at<=n.to&&r.push(a);l=[...r,...l].sort((e,t)=>e.at-t.at)}let d=f();return d.writeJson(m.Session,0,r.session),d.writeJson(m.Resume,o.at,oe(s)),i&&s.character!==null?d.writeJson(m.Keyframe,o.at,ue(o,s.character)):d.writeBytes(m.Keyframe,o.at,o.payload),Buffer.concat([d.take(),...l.map(c)])}function fe(e,t,n){return I(e,t,n).composition}var pe=new Set(e().map(([e])=>e));function R(e){let{model:n}=e;if(t(n)&&typeof n.name==`string`)return n.name;let r=Object.keys(e);return r.find(e=>!pe.has(e))??r.find(e=>e!==`transform`)??`entity`}function z(e){let{playerName:n}=e;return t(n)&&typeof n.name==`string`?n.name:void 0}function B(e){if(!e)return;let{health:n}=e;if(t(n)&&typeof n.current==`number`)return n.current;for(let n of Object.values(e))if(t(n)&&typeof n.health==`number`)return n.health}function V(e){if(e.character!==null)return{...e.entities[e.character],...e.owned}}function H(e,t){return{type:s.World,change:e,text:t}}function U(e,t,n){let r=j(t);if(r?.type!==i.Delta&&r?.type!==i.Owned&&r?.type!==i.Ack)return M(e,t,n),[];let a=B(V(e)),s=[];if(r.type===i.Delta)for(let t of r.delta.removed){let n=e.entities[t];if(!n)continue;let r=z(n);s.push(r?H(o.Leave,`${r} left`):H(o.Remove,`remove ${R(n)} ${t}`))}let c=new Set(Object.keys(e.entities));if(M(e,t,n),r.type===i.Delta)for(let t of Object.keys(r.delta.changed)){let n=e.entities[t];if(c.has(t)||!n)continue;let r=z(n);s.push(r?H(o.Join,`${r} joined as character ${t}`):H(o.Spawn,`spawn ${R(n)} ${t}`))}let l=B(V(e));return a!==void 0&&l!==void 0&&l!==a&&s.push(l<a?H(o.Damage,`her character took ${a-l} damage, ${l} left`):H(o.Heal,`her character healed ${l-a}, ${l} now`)),s}function W(e,t,n){let r=n?.from??0,i=n?.to??1/0,{session:a}=h(e,t),o=I(e,t,r),s=[];for(let n of v(e,t,{from:r,to:i}))for(let c of b(e,t,n))if(!(c.at<r||c.at>i))for(let e of U(o,c,a?.startedAtMilliseconds))s.push({at:c.at,event:e});return s}function me(e,t){let n=e=>e?.event.type===s.World?e.event.text:void 0;for(let r=0;r<Math.max(e.length,t.length);r++)if(n(e[r])!==n(t[r]))return{recorded:e[r],rerun:t[r]}}function G(e){return`${(e/1e3).toFixed(2)} s`}function he(e,t){let r=/^m(\d+)(?:([+-])(\d+(?:\.\d+)?))?$/.exec(t.trim());if(r){let t=e.marks.find(({number:e})=>e===Number(r[1]));if(!t)throw n(/* @__PURE__ */ Error(`${e.id} has no mark m${r[1]}: its marks are ${e.marks.map(({number:e})=>`m${e}`).join(`, `)||`none`}.`),`SP0273`,void 0);let i=r[2]?Number(`${r[2]}${r[3]}`)*1e3:0;return t.at+i}let i=Number(t);if(t.trim()===``||!Number.isFinite(i))throw n(/* @__PURE__ */ Error(`"${t}" names no moment: give seconds, such as 95.3, a mark, such as m1, or a mark and seconds, such as m1-10.`),`SP0274`,void 0);return i*1e3}function K(e,t){return!t||e>=t.from&&e<=t.to}function ge(e,t,n){let r=T(S(e,t,n),te);if(!C(r))return[];let i=[];for(let e of w(r,`utf8`).split(`
2
+ `)){if(!e)continue;let{at:t,...n}=JSON.parse(e);i.push({at:t,event:n})}return i}function q(e,t,n){let r=[];for(let i of v(e,t,n))for(let a of ge(e,t,i))K(a.at,n)&&r.push(a);return r.sort((e,t)=>e.at-t.at)}function J(e,t,n){let r=[];for(let i of v(e,t,n))for(let a of g(e,t,i)){if(!K(a.at,n))continue;let{header:e}=l(a);r.push({at:a.at,...e,piece:i})}return r.sort((e,t)=>e.at-t.at)}function Y(e,t,n){let r=0,i=0,a=0;for(let o of v(e,t,n))for(let s of b(e,t,o))s.kind===m.Frame&&K(s.at,n)&&(r++,i+=s.seconds,a+=s.gameSeconds);let o=e=>Math.round(e*1e3)/1e3;return{count:r,seconds:o(i),gameSeconds:o(a)}}function _e(e,t,{at:r,mark:i,piece:a}){for(let n of g(e,t,a)){if(n.at!==r)continue;let{header:e,image:t}=l(n);if(e.mark===i)return t}throw n(/* @__PURE__ */ Error(`${t} keeps no shot at ${G(r)} any more: the trim deleted its piece. Pick a moment \`spawnite replay list\` shows it keeps.`),`SP0275`,void 0)}function ve({at:e,mark:t}){let n=Math.round(e);return t===void 0?`${n}.webp`:`${n}-m${t}.webp`}function ye(e,t,n){let r;for(let i of J(e,t)){let e=Math.abs(i.at-n);(!r||e<Math.abs(r.at-n))&&(r=i)}return r}var X=/* @__PURE__ */ new Set([o.Join,o.Leave]),be=/* @__PURE__ */ new Set([s.Mark,s.LongFrame,s.Error,s.Warning,s.Room,s.Corrections,s.Idle,s.Resume,s.Clock]);function Z({at:e,event:t}){return` ${G(e).padStart(10)} ${a(t)}`}function Q(e){let t=[];for(let n=0;n<e.length;){let r=a(e[n].event),i=n+1;for(;i<e.length&&a(e[i].event)===r;)i++;let o=i-n;t.push(o===1?Z(e[n]):`${Z(e[n])} ×${o}, to ${G(e[i-1].at)}`),n=i}return t}function xe(e,t){let n=ie(t,e);return n===``?`.`:n.startsWith(`..`)?e:n}function Se(e,t,n){let r=h(e,t),i=[...q(e,t,n),...W(e,t,n)].sort((e,t)=>e.at-t.at),o=n?i:i.filter(({event:e})=>be.has(e.type)||e.type===s.World&&X.has(e.change)),c=/* @__PURE__ */ new Map,l=/* @__PURE__ */ new Map;if(!n)for(let{event:e}of i)e.type===s.Event?c.set(e.name,(c.get(e.name)??0)+1):e.type===s.World&&!X.has(e.change)&&l.set(e.change,(l.get(e.change)??0)+1);let u=J(e,t,n),d=n&&Y(e,t,n),f=u.filter(e=>e.mark!==void 0);return{text:[`${t}, ${r.session?.game??`a game`}${r.session?.player?`, ${r.session.player}`:``}, started ${r.session?.startedAt??`unknown`}${n?`, from ${G(n.from)} to ${G(n.to)}`:``}:`,...r.rerunOf?[`A re-run of ${r.rerunOf.id} from ${G(r.rerunOf.from)} keeps what its room sent, so its log is the room's changes alone: \`spawnite replay play ${t}\` plays it on a page and prints what that page logs.`]:[],...Q(o),...c.size>0?[`Engine events, counted: ${[...c].map(([e,t])=>`${e} ×${t}`).join(`, `)}. Name a window with --from and --to, or --around a mark, to read each.`]:[],...l.size>0?[`The room's changes, counted: ${[...l].map(([e,t])=>`${e} ×${t}`).join(`, `)}.`]:[],...f.map(e=>`The shot at m${e.mark}, ${G(e.at)}, ${e.width} by ${e.height}: \`spawnite replay shot ${t} --at m${e.mark}\`.`),...$(r,_(e,t)),...d?[`${d.count} frame${d.count===1?``:`s`} in the window: ${d.seconds.toFixed(2)} s of the page's clock, ${d.gameSeconds.toFixed(2)} s of the game's time.`]:[],...n?[`${u.length} shot${u.length===1?``:`s`} in the window: \`spawnite replay shot ${t} --at <moment>\` writes one.`]:[]],json:{id:t,session:r.session,marks:r.marks,window:n,lines:o.map(e=>({...e,text:a(e.event)})),counts:Object.fromEntries(c),changes:Object.fromEntries(l),shots:n?u:f,...d&&{frames:d}}}}function $(e,t){let n=e=>e.map(e=>`m${e}`).join(`, `),r=e.marks.filter(({protects:e})=>e===!1).map(({number:e})=>e);return[...r.length>0?[`${n(r)} protect${r.length===1?`s`:``} nothing: marks filled their share of the budget as ${r.length===1?`it`:`they`} came, so the trim may delete ${r.length===1?`its`:`their`} minutes. \`spawnite replay save\` keeps a moment for good.`]:[],...t.length>0?[`Released: ${n(t)}.`]:[]]}function Ce(e,t){let n=h(e,t),r=_(e,t),i=n.marks.filter(({number:e,protects:t})=>t!==!1&&!r.includes(e));return{text:[i.length===0?`No mark of ${t} protects anything now: the trim takes its oldest minutes as the budget needs.`:`${t}'s ${i.map(({number:e})=>`m${e}`).join(`, `)} protect${i.length===1?`s`:``} the minutes from 120 s before to 30 s after.`,...$(n,r)],json:{id:t,protecting:i.map(({number:e})=>e),released:r}}}export{I as S,W as _,q as a,fe as b,_e as c,xe as d,U as f,V as g,B as h,ve as i,Ce as l,R as m,ye as n,J as o,me as p,G as r,he as s,Q as t,Se as u,ae as v,j as x,de as y};
@@ -0,0 +1 @@
1
+ import{Qi as e,Xi as t,Yi as n,Zi as r}from"./-MLBVTaO.js";import{s as i}from"./BrfUaL46.js";import{T as a}from"./CVgRrBP4.js";import{n as o}from"./CRfoqBKG.js";import{defaultRoomSendRate as s}from"@spawnite/schema";import{createContext as c,use as l,useId as u}from"react";import{Slider as d,Toggle as f,palette as p}from"@spawnite/ui";import{jsx as m,jsxs as h}from"react/jsx-runtime";import{twMerge as g}from"tailwind-merge";function _(e=()=>!0){return{welcome:null,delta:null,owned:null,control:null,rewound:null,ack:null,presses:[],grants:{},refusals:[],keptMomentSends:s,holds:e}}function v(e){let{welcome:t}=e;return t?e=>Object.hasOwn(t.snapshot.entities,e):e.holds}function y(e,t,n){for(let r of t)b(e,r,n)}function b(e,t,{hidden:i}){switch(t.type){case o.Welcome:e.keptMomentSends=t.sendRate,e.welcome=t,e.delta=null,e.owned=null,e.control=null,e.rewound=null,e.ack=null,e.presses=[],e.grants={};return;case o.Delta:{let a=e.delta?.sends??0,o={moments:!i&&a<e.keptMomentSends,holds:v(e)};e.delta?r(e.delta,t.delta,o):e.delta=n(t.delta,o),e.ack=null;return}case o.Owned:x(e,t.traits);return;case o.Ack:if(t.owned&&x(e,t.owned),t.control&&(e.control=t.control),t.rewound&&(e.rewound={...e.rewound,...t.rewound}),t.presses&&e.presses.push(...t.presses),t.grants)for(let[n,r]of Object.entries(t.grants)){let t=e.grants[n]??=[];for(let e of r)t.includes(e)||t.push(e)}e.ack=t;return;case o.ShotRefused:e.refusals.push(t);return;default:return}}function x(t,n){let r=t.owned??={};for(let[t,i]of Object.entries(n))r[t]=r[t]?e(r[t],i):i}function S({welcome:e,delta:t,owned:n,control:r,rewound:i,ack:a,presses:o,refusals:s}){return!e&&!t&&!n&&!r&&!i&&!a&&o.length===0&&s.length===0}function C(e){e.delta?.moments&&t(e.delta,{holds:v(e)})}function w(e){e.welcome=null,e.delta=null,e.owned=null,e.control=null,e.rewound=null,e.ack=null,e.presses=[],e.grants={},e.refusals=[]}var T=/* @__PURE__ */ function(e){return e.Video=`video`,e.Audio=`audio`,e.Game=`game`,e.Controls=`controls`,e.Interface=`interface`,e.Accessibility=`accessibility`,e}({}),E=/* @__PURE__ */ function(e){return e.Slider=`slider`,e.Toggle=`toggle`,e.Choice=`choice`,e.Button=`button`,e}({}),D=/* @__PURE__ */ function(e){return e.Low=`low`,e.Medium=`medium`,e.High=`high`,e}({});function O(e,t){let{[t]:n,...r}=e;return r}var k=a()(e=>({rows:{},hidden:{},showSettingRow:(t,n)=>e(e=>({rows:{...e.rows,[t]:n}})),hideSettingRow:t=>e(e=>({rows:O(e.rows,t)})),hideEngineRow:(t,n)=>e(e=>({hidden:{...e.hidden,[t]:n}})),showEngineRow:t=>e(e=>({hidden:O(e.hidden,t)}))})),A=/* @__PURE__ */ function(e){return e.Primary=`primary`,e.Secondary=`secondary`,e}({}),j={primary:`border-transparent bg-menu-accent text-menu-accent-ink hover:brightness-110`,secondary:`border-transparent text-white/90 hover:bg-menu-raised hover:text-white`};function M({on:e}){try{return/* @__PURE__ */ m(`span`,{"aria-hidden":!0,className:g(`relative block h-7 w-12 shrink-0 rounded-full transition-colors motion-reduce:transition-none`,e?`bg-menu-accent`:`bg-white/15`),children:/* @__PURE__ */ m(`span`,{className:g(`absolute top-1 left-1 size-5 rounded-full shadow-sm transition-transform motion-reduce:transition-none`,e?`translate-x-5 bg-menu-accent-ink`:`bg-white/85`)})})}catch(e){throw i(`SwitchTrack`,e)}}function N({onPress:e,pressed:t,variant:n=`secondary`,children:r,className:a}){try{return/* @__PURE__ */ h(`button`,{type:`button`,"aria-pressed":t,onClick:e,className:g(`flex h-11 cursor-pointer items-center justify-center gap-3 rounded-lg border px-4 text-[15px] font-semibold transition select-none active:scale-[0.98] motion-reduce:transition-none`,j[n],p.controlFocusRing,a),children:[r,t!==void 0&&/* @__PURE__ */ m(M,{on:t})]})}catch(e){throw i(`MenuButton`,e)}}M.displayName=`SwitchTrack`,N.displayName=`MenuButton`;var P=c(null),F=[[`gpu`,`GPU`],[`cpu`,`CPU`]],I={[D.Low]:`Low`,[D.Medium]:`Medium`,[D.High]:`High`},L={[D.Low]:1,[D.Medium]:2,[D.High]:3};function R(e){return F.flatMap(([t,n])=>{let r=e?.[t];return r===void 0?[]:[{part:t,name:n,level:r}]})}function z(e){let t=R(e).map(({name:e,level:t})=>`${e} ${I[t].toLowerCase()}`);return t.length>0?`Cost: ${t.join(`, `)}.`:``}function B({cost:e}){try{return/* @__PURE__ */ m(`dl`,{className:`flex flex-col gap-1.5`,children:R(e).map(({part:e,name:t,level:n})=>/* @__PURE__ */ h(`div`,{className:`flex items-center gap-3`,children:[/* @__PURE__ */ m(`dt`,{className:`w-9 text-[13px] font-semibold text-menu-muted`,children:t}),/* @__PURE__ */ h(`dd`,{className:`flex items-center gap-2.5 text-[14px] text-white/85`,children:[/* @__PURE__ */ m(`span`,{"aria-hidden":!0,className:`flex items-end gap-0.5`,children:[1,2,3].map(e=>/* @__PURE__ */ m(`span`,{style:{height:4+e*3},className:g(`w-1 rounded-sm`,e<=L[n]?`bg-white/85`:`bg-white/15`)},e))}),I[n]]})]},e))})}catch(e){throw i(`CostList`,e)}}function V({children:e}){try{return/* @__PURE__ */ m(`h3`,{"data-setting-heading":!0,className:`mt-6 mb-1.5 text-[13px] leading-5 font-semibold text-menu-muted first:mt-2`,children:e})}catch(e){throw i(`SectionHeading`,e)}}function H({label:e,description:t,descriptionId:n,note:r,cost:a,image:o,stacked:s=!1,children:c}){try{let i=l(P),d=u(),f={label:e,description:t??null,cost:a,image:o},p=i?.activeId===d&&t!==void 0,_=[t,z(a)].filter(Boolean).join(` `);return/* @__PURE__ */ h(`div`,{"data-setting-row":!0,onPointerEnter:()=>i?.describeHovered(d,f),onPointerMove:()=>i?.describeHovered(d,f),onPointerLeave:()=>i?.describeHovered(d,null),onFocus:()=>i?.describeFocused(d,f),onPointerDown:()=>i?.describeFocused(d,f),onBlur:()=>i?.describeFocused(d,null),className:`-mx-3 rounded-lg px-3 py-1.5 transition-colors focus-within:bg-menu-raised hover:bg-menu-raised motion-reduce:transition-none`,children:[/* @__PURE__ */ h(`div`,{className:g(`grid min-h-10 items-center gap-x-6 gap-y-0.5 @md/rows:grid-cols-[minmax(0,1fr)_minmax(0,22rem)]`,s?`grid-cols-1`:`grid-cols-[minmax(0,1fr)_auto]`),children:[/* @__PURE__ */ h(`div`,{className:`min-w-0`,children:[/* @__PURE__ */ m(`span`,{className:`block text-[15px] leading-6 text-pretty text-white/90`,children:e}),r&&/* @__PURE__ */ m(`span`,{className:`block text-[13px] leading-5 text-menu-muted`,children:r})]}),c]}),p&&/* @__PURE__ */ m(`p`,{"data-setting-inline":!0,"aria-hidden":!0,className:`pt-1 pb-1.5 text-[13px] leading-5 text-menu-muted @5xl/panel:hidden`,children:t}),_&&/* @__PURE__ */ m(`span`,{id:n,className:`sr-only`,children:_})]})}catch(e){throw i(`FieldRow`,e)}}var U=`flex h-9 w-20 shrink-0 items-center justify-end border border-transparent px-2 text-right text-[15px] text-white tabular-nums`;function W({label:e,description:t,note:n,cost:r,image:a,min:o,max:s,step:c=1,value:l,display:f=String,end:p,disabled:_=!1,onChange:v}){try{let i=u();return/* @__PURE__ */ m(H,{label:e,description:t,descriptionId:i,note:n,cost:r,image:a,stacked:!0,children:/* @__PURE__ */ h(`div`,{className:`flex items-center gap-4`,children:[/* @__PURE__ */ m(d,{label:e,valueText:f(l),"aria-describedby":t||r?i:void 0,min:o,max:s,step:c,value:l,disabled:_,onChange:v,className:`flex-1`}),p??/* @__PURE__ */ m(`span`,{className:g(U,_&&`text-menu-muted`),children:f(l)})]})})}catch(e){throw i(`SliderField`,e)}}function G({label:e,description:t,note:n,cost:r,image:a,value:o,onChange:s}){try{let i=u();return/* @__PURE__ */ m(H,{label:e,description:t,descriptionId:i,note:n,cost:r,image:a,children:/* @__PURE__ */ m(`div`,{className:`flex justify-end`,children:/* @__PURE__ */ m(f,{label:e,value:o,"aria-describedby":t||r?i:void 0,onChange:s})})})}catch(e){throw i(`ToggleField`,e)}}function K({label:e,description:t,note:n,cost:r,image:a,options:o,value:s,onChange:c}){try{let i=u(),l=Math.max(o.indexOf(s),0),d=e=>{let t={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1}[e.key];if(t===void 0)return;e.preventDefault();let n=(l+t+o.length)%o.length;c(o[n]),(e.currentTarget.parentElement?.children[n])?.focus()};return/* @__PURE__ */ m(H,{label:e,description:t,descriptionId:i,note:n,cost:r,image:a,stacked:!0,children:/* @__PURE__ */ m(`div`,{role:`radiogroup`,"aria-label":e,"aria-describedby":t||r?i:void 0,className:`flex flex-wrap gap-0.5 rounded-lg bg-white/[0.07] p-0.5`,children:o.map((e,t)=>/* @__PURE__ */ m(`button`,{type:`button`,role:`radio`,"aria-checked":e===s,tabIndex:t===l?0:-1,onKeyDown:d,onClick:()=>c(e),className:g(`h-9 flex-[1_1_auto] cursor-pointer rounded-md px-2 text-[13px] font-semibold whitespace-nowrap transition-colors pointer-coarse:h-10 motion-reduce:transition-none`,e===s?`bg-white/[0.16] text-white shadow-sm`:`text-menu-muted hover:bg-white/[0.06] hover:text-white`,p.controlFocusRing),children:e},e))})})}catch(e){throw i(`ChoiceField`,e)}}function q({label:e,description:t,note:n,cost:r,image:a,action:o,onPress:s}){try{let i=u();return/* @__PURE__ */ m(H,{label:e,description:t,descriptionId:i,note:n,cost:r,image:a,children:/* @__PURE__ */ m(`div`,{className:`flex justify-end`,children:/* @__PURE__ */ m(`button`,{type:`button`,"aria-describedby":t||r?i:void 0,onClick:s,className:g(`h-9 cursor-pointer rounded-md border border-menu-edge bg-menu-raised px-4 text-[14px] font-semibold text-white transition-colors hover:bg-white/[0.12] active:scale-[0.98] motion-reduce:transition-none pointer-coarse:h-10`,p.controlFocusRing),children:o})})})}catch(e){throw i(`ButtonField`,e)}}function J({row:e}){try{switch(e.kind){case E.Slider:return/* @__PURE__ */ m(W,{...e});case E.Toggle:return/* @__PURE__ */ m(G,{...e});case E.Choice:return/* @__PURE__ */ m(K,{...e});case E.Button:return/* @__PURE__ */ m(q,{...e})}}catch(e){throw i(`GameField`,e)}}B.displayName=`CostList`,V.displayName=`SectionHeading`,H.displayName=`FieldRow`,W.displayName=`SliderField`,G.displayName=`ToggleField`,K.displayName=`ChoiceField`,q.displayName=`ButtonField`,J.displayName=`GameField`;export{_,H as a,b,W as c,A as d,D as f,w as g,k as h,P as i,G as l,T as m,K as n,J as o,E as p,B as r,V as s,q as t,N as u,C as v,y as x,S as y};
@@ -0,0 +1,7 @@
1
+ import{Gi as e,l as t}from"./-MLBVTaO.js";import{fn as n,pr as r,un as i}from"./V70ADx0g.js";import{n as a}from"./BrfUaL46.js";import{c as o,n as s,t as c}from"./CRfoqBKG.js";import{i as l}from"./Dqx9hHBK.js";import{l as u,n as d,o as f,s as p,t as m}from"./B_HFa2lJ.js";import{D as ee,F as h,T as g,b as te,c as _,i as v,j as y,l as b,o as x,t as S,u as C,w}from"./SMby3e6M.js";import{S as T,_ as ne,a as E,c as re,f as ie,g as ae,h as D,i as oe,m as se,o as ce,p as le,r as O,x as k}from"./BLB4-b4b.js";import{mkdirSync as A,writeFileSync as j}from"node:fs";import{join as M}from"node:path";var ue=6e4;function de(e,t){let n=t.replace(/-r\d+$/,``),r=1,i=new Set(ee(e));for(;i.has(`${n}-r${r}`);)r++;return`${n}-r${r}`}function fe(e,t,n){let r=te(h(e,t),n),i=w(e,t).filter(e=>e<=r);for(let r of i.reverse()){let i=y(e,t,r);for(let e=i.length-1;e>=0;e--){let t=i[e];if(t.at>n)continue;let r=k(t);if(r?.type===s.Delta)return{hash:r.delta.hash,arrivedAt:t.at}}}}var N=600;function pe(e,t,n,r){let i;for(let a of _(e,t,r-N,r+N))a.kind===S.Send&&a.hash===n&&(i===void 0||Math.abs(a.step-r)<Math.abs(i-r))&&(i=a.step);return i}function P(e,t,n,{checkpoint:r,step:i}){let{room:a,actions:o}=b(e,t,r,{blobs:!1}),s=F(a).find(e=>e.character===n)?.connection;for(let a of _(e,t,r,i))a.index<o||(a.kind===S.Message&&a.character===n&&typeof a.message==`object`&&a.message!==null&&Reflect.get(a.message,`type`)===c.Join?s=a.connection:a.kind===S.Close&&a.connection===s&&(s=void 0));return s}function F(e){let t=[],n=Reflect.get(Object(e),`players`);if(!Array.isArray(n))return t;for(let e of n){let n=Reflect.get(Object(e),`connection`),r=Reflect.get(Object(Reflect.get(Object(e),`player`)),`id`);typeof n==`number`&&typeof r==`string`&&t.push({connection:n,character:r})}return t}function I(e,n){let{pong:r}=e;if(r)return Math.round(r.step+(n-r.at+r.roundTripMilliseconds/2)/(t*1e3))}function L(e,n,r){let i=h(e,n);d(i.session);let o=T(e,n,r),s=fe(e,n,r),c=I(o,r);if(o.character===null||c===void 0&&!s)throw a(/* @__PURE__ */ Error(`${n} was in no room at ${O(r)}: its page had not joined one yet. Pick a moment after the page joined its room.`),`SP0276`,void 0);let l=Date.parse(i.session?.startedAt??``)+r;for(let n of x(e).reverse()){let i=C(e,n),a=Math.round((l-i.startedAtEpoch)/(t*1e3)),u=c??a;if(Number.isFinite(l)&&Math.abs(u-a)*.016666666666666666*1e3>ue)continue;let d=s&&pe(e,n,s.hash,u);if(c===void 0&&d===void 0)continue;let f=d??u,p=v(e,n).filter(e=>e<=f).reverse().find(t=>b(e,n,t,{blobs:!1}).sceneReloads===0);if(p===void 0)continue;let m=P(e,n,o.character,{checkpoint:p,step:f});if(m!==void 0)return{run:n,step:f,arrivedAt:d===void 0?r:s?.arrivedAt??r,connection:m,character:o.character,checkpoint:p}}throw a(/* @__PURE__ */ Error(`No room recording holds ${n} at ${O(r)}. A dev room records while a player is in it when its spawnite.room sets ROOM_REPLAY=1, and the trim deletes a session's oldest minutes past the game's budget; \`spawnite replay list\` names what each session keeps.`),`SP0277`,void 0)}function R({folder:e,id:n,at:r,seconds:i,rerunId:a,report:o}){let s=L(e,n,r);return{folder:e,run:s.run,from:s.checkpoint,to:s.step+Math.round(i/t),output:{id:a,connection:s.connection,step:s.step,at:s.arrivedAt,session:h(e,n).session,rerunOf:{id:n,from:r}},report:o}}function z(e,t,n,{file:r,report:i}){let a=L(e,t,n);return{folder:e,run:a.run,from:a.checkpoint,to:a.step,state:{step:a.step,file:r},report:i}}function B(e,t){let n=/* @__PURE__ */ new Set;for(let r of w(e,t))for(let i of y(e,t,r)){let e=k(i);e?.type===s.Delta&&n.add(e.delta.hash)}return n}function V(e,t){let n=B(e,t);return n.size===0?[]:x(e).filter(t=>{if(v(e,t).length===0)return!1;let r=/* @__PURE__ */ new Set;for(let i of _(e,t,0,1/0))i.kind===S.Send&&n.has(i.hash)&&r.add(i.hash);return r.size>=Math.min(n.size,me)})}var me=3;function he(e,t,n){let[r]=v(e,t);if(r===void 0)throw a(/* @__PURE__ */ Error(`The room's run ${t} keeps no checkpoint to start from. Record a new run with ROOM_REPLAY=1 set on the room, and \`spawnite replay list\` names the runs kept.`),`SP0278`,void 0);return{folder:e,run:t,from:r,to:Math.max(_(e,t,r,1/0).at(-1)?.step??r,v(e,t).at(-1)??r),report:n}}function ge(t,r,i){if(e(r)&&e(i)&&r.length===3){let e=Math.hypot(r[0]-i[0],r[1]-i[1],r[2]-i[2]);return e<.01?void 0:`${t} ${e.toFixed(2)} m apart`}if(n(r)&&n(i)){let e=[];for(let n of Object.keys(r))typeof r[n]==`number`&&typeof i[n]==`number`&&r[n]!==i[n]&&e.push(`${t}.${n} ${r[n]} against ${i[n]}`);return e.length>0?e.join(`, `):void 0}return`${t} differs`}var _e=/* @__PURE__ */ new Set([`transform`,`velocity`,`turn`,`pose`,`input`,`steer`,`character`,`path`]);function H(e){let t=/* @__PURE__ */ new Map;for(let[n,r]of Object.entries(e.entities)){if(n===e.character||`controlled`in r)continue;let i=se(r),a=t.get(i)??{count:0,health:0};a.count++,a.health+=D(r)??0,t.set(i,a)}return{character:structuredClone(ae(e)??{}),kinds:t}}function U(e,t,{from:n,to:r},i){let a=T(e,t,n),o=[],s=-1/0;for(let a of g(e,t,{from:n,to:r}))for(let c of y(e,t,a))c.at<n||c.at>r||(s=i(c)??s,o.push({record:c,step:s}));return{base:a,records:o}}var ve=60;function ye(e,t,n,r){let i=_(e,n.run,n.from-600,n.to+600).filter(e=>e.kind===S.Send),a=n.output,o=Math.max(0,i.findIndex(({step:e})=>e>=(a?.step??n.from)-ve));return U(e,t,r,e=>{let t=k(e);if(t?.type===s.Delta)for(let e=o;e<i.length;e++){let n=i[e];if(n.kind===S.Send&&n.hash===t.delta.hash)return o=e+1,n.step}})}function W({base:e,records:t},n,r){let i=structuredClone(e),a=[],o=[],s=0;for(let{record:e,step:c}of t){for(;s<n.length&&c>n[s];)a.push(H(i)),s++;let t=ie(i,e);if(c>r&&c<=(n.at(-1)??r))for(let n of t)o.push({step:c,line:{at:e.at,event:n}})}for(;a.length<n.length;)a.push(H(i));return{summaries:a,changes:o}}function be(t,n,a,o){let s=[r(a.character.transform),r(o.character.transform)],c=e(s[0])&&e(s[1])?Math.hypot(s[0][0]-s[1][0],s[0][1]-s[1][1],s[0][2]-s[1][2]):NaN,l=[];for(let e of/* @__PURE__ */ new Set([...Object.keys(a.character),...Object.keys(o.character)])){if(_e.has(e)||i(a.character[e],o.character[e]))continue;let t=ge(e,a.character[e],o.character[e]);t&&l.push(t)}let u=[];for(let e of/* @__PURE__ */ new Set([...a.kinds.keys(),...o.kinds.keys()])){let t=a.kinds.get(e)??{count:0,health:0},n=o.kinds.get(e)??{count:0,health:0};(t.count!==n.count||t.health!==0||n.health!==0)&&u.push([e,t.count,n.count,t.health,n.health])}return{at:n,step:t,metres:c,differences:l,kinds:u,health:[D(a.character),D(o.character)]}}function xe(e,n){let r=n.output;if(!r)throw a(/* @__PURE__ */ Error(`A re-run's plan keeps its stream.`),`SP0272`,void 0);let i=t*1e3,o=[];for(let e=r.step+60;e<=n.to;e+=Math.round(1/t))o.push(e);let s=r.at+(n.to-r.step)*i,c=W(ye(e,r.rerunOf.id,n,{from:r.at,to:s+1e3}),o,r.step),l=W(U(e,r.id,{from:r.at,to:s+1e3},e=>r.step+Math.round((e.at-r.at)/i)),o,r.step);return{moments:o.map((e,t)=>be(e,r.at+(e-r.step)*i,c.summaries[t],l.summaries[t])),difference:le(c.changes.map(({line:e})=>e),l.changes.map(({line:e})=>e))}}function G({entity:e,trait:t,path:n,recorded:r,continued:i}){let a=e===void 0?n:`entity ${e&1048575}${t?` ${t}${n?`.${n}`:``}`:``}`,o=e=>e===void 0?`none`:JSON.stringify(e);return`${a}: ${o(r)} in the room, ${o(i)} in the continue`}function K({recorded:e,continued:t,events:n}){return n?e===t?` Its world hashed as the room's did, and the events it carried did not.`:` The events it carried parted too.`:``}function Se(e,t){let{sends:n,checkpoints:r,restore:i}=e,a=[];n.compared===0?a.push(`The room recorded no send in the window, so none was compared.`):n.firstDifferent?a.push(`The stream first parts from the room's at ${t(n.firstDifferent.step)} (step ${n.firstDifferent.step}): ${n.matched} of ${n.compared} sends hashed as the room's did.${K(n.firstDifferent)}`):n.extra>0?a.push(`The continue sent ${n.extra} time${n.extra===1?``:`s`} where the room, still recording, sent nothing.`):n.compared<n.recorded?a.push(`${n.recorded-n.compared} of the room's ${n.recorded} sends had no send of the continue's beside them; the ${n.compared} that did hashed as the room's did.`):a.push(`Exact: every one of the ${n.compared} sends hashed as the room's own did.`);for(let{step:e,differences:n}of r)a.push(n.length===0?`At the room's checkpoint at ${t(e)} (step ${e}), the continue held the room's whole world, every trait of every entity.`:`At the room's checkpoint at ${t(e)} (step ${e}), ${n.length} part${n.length===1?`s`:``} of the world differ; the first: ${n.slice(0,5).map(G).join(`; `)}.`);for(let e of i)a.push(`The checkpoint: ${e}`);return a}function q(e,n,r){let i=n.output;if(!i)throw a(/* @__PURE__ */ Error(`A re-run's plan keeps its stream.`),`SP0272`,void 0);let{id:o,from:s}=i.rerunOf,c=e=>O(i.at+(e-i.step)*t*1e3),u={from:s,to:i.at+(n.to-i.step)*t*1e3},{moments:d,difference:f}=xe(e,n),p=e=>e?`${l(e.event)} at ${O(e.at)}`:`nothing`;return{text:[`Continued ${o} from ${O(u.from)} to ${O(u.to)} as ${i.id}: a fresh room of the game with the code as it stands now, from the room's checkpoint at step ${n.from}, with the ${r.actions} actions it recorded from there taken again, in ${(r.milliseconds/1e3).toFixed(1)} s.`,...Se(r,c),f?`The first change in the world that parts them: the recording has ${p(f.recorded)}, the continue ${p(f.rerun)}.`:`Every change in the world, each spawn, removal, join and hit on her, came in the same order in both.`,`Second by second, step for step, the continue against the recording:`,...d.map(({at:e,metres:t,differences:n,kinds:r,health:i})=>{let a=[Number.isNaN(t)?`her character is in one world alone`:t<.01?`her character where she was`:`her character ${t.toFixed(2)} m from where she was`,...i[0]===void 0&&i[1]===void 0?[]:[`her health ${i[0]??`none`}${i[1]===i[0]?``:` against ${i[1]??`none`}`}`],...n,...r.map(([e,t,n,r,i])=>t===n&&r===i?`${e} ×${t}, ${r} health`:`${e} ×${t} (${r} health) against ×${n} (${i})`)];return` ${O(e).padStart(10)} ${a.join(`; `)}`})],json:{id:o,rerunId:i.id,window:u,report:r,difference:f,moments:d}}}var J=t*1e3;function Ce(e){let t=/^(\d+):(\d{1,2}(?:\.\d+)?)$/.exec(e.trim());if(t)return(Number(t[1])*60+Number(t[2]))*1e3;let n=Number(e);if(e.trim()===``||!Number.isFinite(n)||n<0)throw a(/* @__PURE__ */ Error(`"${e}" names no moment of a run: give seconds of play, such as 95.3, or minutes and seconds as its table prints them, such as 1:35. A run keeps no marks.`),`SP0281`,void 0);return n*1e3}function we(e,t){let n=x(e);if(n.includes(t))return t;if(n.length===1)return n[0];throw n.length===0?a(/* @__PURE__ */ Error(`${t} keeps no room run: a dev room records while a player is in it when its spawnite.room sets ROOM_REPLAY=1.`),`SP0282`,void 0):a(/* @__PURE__ */ Error(`${t} keeps ${n.length} room runs: name one of ${n.join(`, `)}.`),`SP0283`,void 0)}function Te(e){return Math.round(e/J)}function Y(e,t){let n=v(e,t);return Math.max(_(e,t,0,1/0).at(-1)?.step??0,n.at(-1)??0)}function Ee(e,t,n,{file:r,report:i}){let o=Te(n),s=v(e,t),c=s.filter(e=>e<=o).at(-1);if(c===void 0)throw a(/* @__PURE__ */ Error(s.length===0?`Room run ${t} keeps no checkpoint to continue from: record a new run with ROOM_REPLAY=1 set on the room.`:`Room run ${t} keeps nothing before ${O(s[0]*J)}, its first checkpoint: a room records from its first player's join, and the trim deletes a session's oldest minutes past the game's budget.`),[[`SP0284`,`Room run %s keeps no checkpoint to continue from: record a new run with ROOM_REPLAY=1 set on the room.`],[`SP0285`,`Room run %s keeps nothing before %s, its first checkpoint: a room records from its first player's join, and the trim deletes a session's oldest minutes past the game's budget.`]],void 0);let l=Y(e,t);if(o>l)throw a(/* @__PURE__ */ Error(`Room run ${t} ends at ${O(l*J)}: name a moment up to it.`),`SP0286`,void 0);return{folder:e,run:t,from:c,to:o,state:{step:o,file:r},report:i}}function X(e){return e?{from:Math.max(0,Math.floor(e.from/J)),to:Number.isFinite(e.to)?Math.ceil(e.to/J):1/0}:{from:0,to:1/0}}function De(e){let t=typeof e==`object`&&e?Reflect.get(e,`type`):void 0,n=t=>Reflect.get(Object(e),t);switch(t){case c.Message:return`said ${String(n(`name`))}`;case c.Item:return`used an item: ${JSON.stringify(n(`intent`))}`;case c.Edit:return`edited ${String(n(`entity`))} ${String(n(`trait`))}.${String(n(`prop`))} to ${JSON.stringify(n(`value`))}`;case c.Walk:return`walked to a point`;default:return}}function Oe(e){let t=e=>`player ${e}`;switch(e.kind){case S.Message:{if(Reflect.get(Object(e.message),`type`)===c.Join)return`${t(e.connection)} joined as ${String(Reflect.get(Object(e.message),`name`))}, character ${e.character??`none`}`;let n=De(e.message);return n&&`${t(e.connection)} ${n}`}case S.Close:return`${t(e.connection)} left`;case S.Moved:return`${e.accounts.join(`, `)} moved to a seat elsewhere and left`;case S.Set:return`a tool set ${Object.keys(e.traits).join(`, `)} on ${e.entities.join(`, `)}`;default:return}}var ke=60;function Ae(e){let t=[],n=/* @__PURE__ */ new Map;for(let r of e){let e=n.get(r.text);if(e&&r.step-e.step<=ke){e.line.count++,e.line.to=r.at,e.step=r.step;continue}let i={...r,count:1,to:r.at};t.push(i),n.set(r.text,{line:i,step:r.step})}return t}function je(e){return e.kind===S.Send?`send`:e.kind===S.Message?String(Reflect.get(Object(e.message),`type`)):e.kind}function Me(e,t,n){let r=C(e,t),i=X(n),a=_(e,t,i.from,i.to),o=[],s=/* @__PURE__ */ new Map;for(let e of a){let t=Oe(e);if(t!==void 0)o.push({at:e.step*J,step:e.step,text:t});else{let t=je(e);s.set(t,(s.get(t)??0)+1)}}let c=Ae(o),l=v(e,t).filter(e=>e>=i.from&&e<=i.to),u=Y(e,t),d=[...r.invulnerable?[`every character spared`]:[],...r.maxPlayers===void 0?[]:[`${r.maxPlayers} players at most`],...r.allowEdits?[`devtools edits taken`]:[]];return{text:[`Room run ${t} of ${r.game}, started ${r.startedAt}${d.length>0?`, ${d.join(`, `)}`:``}, recorded to ${O(u*J)} of play${n?`; from ${O(n.from)} to ${O(Math.min(n.to,u*J))}`:``}:`,...c.map(({at:e,text:t,count:n,to:r})=>` ${O(e).padStart(10)} ${t}${n>1?` ×${n}${r>e?`, to ${O(r)}`:``}`:``}`),...s.size>0?[`Counted: ${[...s].map(([e,t])=>`${e} ×${t}`).join(`, `)}.`]:[],l.length===0?`No checkpoint in it.`:`${l.length} checkpoint${l.length===1?``:`s`}, from ${O(l[0]*J)} to ${O(l[l.length-1]*J)}: \`spawnite replay state --run ${t} --at <seconds>\` prints the room's world at any moment from the first.`],json:{run:t,meta:r,window:n,end:u*J,lines:c,counts:Object.fromEntries(s),checkpoints:l}}}function Z(e,t,{from:n,to:r},i){let a=[],o=M(i,`rooms`,t);A(o,{recursive:!0});let s=(e,t)=>{let n=M(o,e);j(n,t),a.push(n)};s(`room.json`,JSON.stringify(C(e,t),null,2)),s(`actions.jsonl`,_(e,t,n,r).map(e=>JSON.stringify(e)).join(`
2
+ `)+`
3
+ `);for(let i of v(e,t)){if(i<n||i>r)continue;let{blobs:a,...o}=b(e,t,i);s(`checkpoint-${i}.json`,JSON.stringify(o));for(let[e,t]of Object.entries(a))s(`${e}-${i}.bin`,t)}return a}function Ne(e,t,n,r){let i=X(n),a=v(e,t).filter(e=>e<=i.from).at(-1)??i.from,o=Z(e,t,{from:a,to:i.to},r);return{text:[`Wrote room run ${t}${n?` from ${O(a*J)} to ${O(Math.min(n.to,Y(e,t)*J))} of play`:``} as ${o.length} files under ${M(r,`rooms`,t)}: room.json, actions.jsonl, and checkpoint-<step>.json with physics-<step>.bin for each checkpoint.`],json:{run:t,window:n,out:r,files:o}}}function Pe(e){let{at:t}=e;switch(e.kind){case m.Session:return{at:t,kind:`session`,session:f(e)};case m.RoomBytes:return{at:t,kind:`room`,message:o(e.payload)};case m.RoomText:return{at:t,kind:`room`,message:o(p(e))};case m.ClientText:return{at:t,kind:`sent`,message:f(e)};case m.Frame:return{at:t,kind:`frame`,seconds:e.seconds,...e.gameSeconds!==e.seconds&&{gameSeconds:e.gameSeconds}};case m.Input:return{at:t,kind:`input`,input:f(e)};case m.Keyframe:return{at:t,kind:`keyframe`,keyframe:f(e)};case m.Event:return{at:t,kind:`event`,event:f(e)};case m.Shot:return{at:t,kind:`shot`,header:u(e).header};case m.Resume:return{at:t,kind:`resume`,welcome:f(e)}}}function*Q(e,t,n){for(let r of g(e,t,n))for(let i of y(e,t,r))(!n||i.at>=n.from&&i.at<=n.to)&&(yield Pe(i))}function Fe(e,t,n,r){if(!r)return{from:0,to:1/0};try{let i=L(e,t,r.from),a=L(e,t,r.to);if(i.run===n&&a.run===n)return{from:i.checkpoint,to:a.step}}catch{}return{from:0,to:1/0}}function Ie(e,t,n,r){A(r,{recursive:!0});let i=[],a=(e,t)=>{let n=M(r,e);A(M(n,`..`),{recursive:!0}),j(n,t),i.push(n)},o=h(e,t);a(`replay.json`,JSON.stringify({id:t,session:o.session,marks:o.marks,rerunOf:o.rerunOf,window:n},null,2));let s=[...E(e,t,n),...ne(e,t,n)].sort((e,t)=>e.at-t.at);a(`log.jsonl`,s.map(({at:e,event:t})=>JSON.stringify({at:e,text:l(t),...t})).join(`
4
+ `)+`
5
+ `);let c=[];for(let r of Q(e,t,n))c.push(JSON.stringify(r));a(`records.jsonl`,c.join(`
6
+ `)+`
7
+ `);for(let a of ce(e,t,n)){let n=M(r,`shots`,oe(a));A(M(r,`shots`),{recursive:!0}),j(n,re(e,t,a)),i.push(n)}for(let a of V(e,t))i.push(...Z(e,a,Fe(e,t,a,n),r));return{text:[`Wrote ${t}${n?` from ${O(n.from)} to ${O(n.to)}`:``} as ${i.length} files under ${r}:`,` replay.json its session, marks and what it re-ran`,` log.jsonl its log and the room's changes, ${s.length} lines`,` records.jsonl every record decoded, ${c.length} lines`,` shots/ its screenshots`,` rooms/<run>/ each room run it played in: room.json, actions.jsonl, checkpoint-<step>.json and physics-<step>.bin`],json:{id:t,window:n,out:r,files:i}}}function Le(e,t,{step:n,world:r},{entities:i,traits:a}){let o=e=>!a||a.some(t=>t.toLowerCase()===e.toLowerCase()),s={};for(let e of r.entities){let t=e.key??String(e.entity);if(i&&!i.includes(t)&&!i.includes(String(e.entity&1048575)))continue;let n=Object.fromEntries(Object.entries(e.traits).filter(([e])=>o(e)));Object.keys(n).length>0&&(s[t]=n)}let c={id:e,at:t,step:n,entities:s};return{text:[JSON.stringify(c,null,2)],json:c}}function $({sends:e,checkpoints:t,restore:n}){return e.firstDifferent===void 0&&e.compared===e.recorded&&e.extra===0&&t.length>0&&t.every(({differences:e})=>e.length===0)&&n.length===0}function Re(e){return e.length>0&&e.every(({engine:e})=>e)}function ze(e,n){let r=[];for(let{run:i,report:a}of n){let n=e=>O(e*t*1e3),o=C(e,i).game;if(r.push(`Room run ${i} of ${o}: continued from step ${a.from} to ${a.to}, ${n(a.to-a.from)} of play, in ${(a.milliseconds/1e3).toFixed(1)} s.`),$(a)){r.push(` Exact: ${a.sends.compared} sends and ${a.checkpoints.length} checkpoints, each as the room had it. A continue of any moment in it comes back as it was.`);continue}let{firstDifferent:s}=a.sends;a.checkpoints.length===0&&r.push(` No whole world to compare: the run kept no checkpoint after its first. A room takes one each 600 steps and as its last player leaves; play on, or leave the room.`),a.sends.extra>0&&r.push(` The continue sent ${a.sends.extra} time${a.sends.extra===1?``:`s`} where the room, still recording, sent nothing.`),a.sends.compared<a.sends.recorded&&r.push(` ${a.sends.recorded-a.sends.compared} of the room's ${a.sends.recorded} sends had no send of the continue's beside them.`),s&&r.push(` The stream first parts at step ${s.step}, ${n(s.step)} into the run: ${a.sends.matched} of ${a.sends.compared} sends hashed as the room's did.${K(s)}`);let c=a.checkpoints.find(({differences:e})=>e.length>0);c&&r.push(` At the checkpoint at step ${c.step}, the first that parts: ${c.differences.slice(0,8).map(G).join(`; `)}.`,Re(c.differences)?` Only the engine's own state parts: the physics world as Rapier snapshots it, or a trait the engine keeps, which no game's code writes directly. The likely cause is in the engine, in what its checkpoint keeps or a restore writes back, rather than in the game.`:` State the checkpoint cannot see parts a continue from the room: a module's variable a system writes, a system's own closure, the wall clock, or Math.random in a system. Keep it in a trait, and draw from random(world).`);for(let e of a.restore)r.push(` The checkpoint: ${e}`)}return{text:r,json:{exact:n.every(({report:e})=>$(e)),runs:n}}}export{Ne as a,Ce as c,V as d,de as f,z as h,Le as i,Me as l,R as m,Q as n,we as o,he as p,ze as r,Ee as s,Ie as t,q as u};