@datamoc/mw_games 0.44.2 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1695) hide show
  1. package/3d/models.d.ts +1 -0
  2. package/3d/models.js +1 -0
  3. package/3d.d.ts +1 -0
  4. package/3d.js +1 -0
  5. package/README.md +5 -732
  6. package/actors.d.ts +1 -0
  7. package/actors.js +1 -0
  8. package/ai/lua.d.ts +1 -0
  9. package/ai/lua.js +1 -0
  10. package/ai.d.ts +1 -0
  11. package/ai.js +1 -0
  12. package/assets/binary.d.ts +1 -0
  13. package/assets/binary.js +1 -0
  14. package/assets/paths.d.ts +1 -0
  15. package/assets/paths.js +1 -0
  16. package/assets.d.ts +1 -0
  17. package/assets.js +1 -0
  18. package/audio.d.ts +1 -0
  19. package/audio.js +1 -0
  20. package/battle.d.ts +1 -0
  21. package/battle.js +1 -0
  22. package/board.d.ts +1 -0
  23. package/board.js +1 -0
  24. package/core.d.ts +1 -0
  25. package/core.js +1 -0
  26. package/headless.d.ts +1 -0
  27. package/headless.js +1 -0
  28. package/i18n.d.ts +1 -0
  29. package/i18n.js +1 -0
  30. package/index.d.ts +1 -0
  31. package/index.js +1 -0
  32. package/mwl/presentation.d.ts +1 -0
  33. package/mwl/presentation.js +1 -0
  34. package/mwl/pyroeis.d.ts +1 -0
  35. package/mwl/pyroeis.js +1 -0
  36. package/mwl.d.ts +1 -0
  37. package/mwl.js +1 -0
  38. package/package.json +212 -394
  39. package/physics/xpbd.d.ts +1 -0
  40. package/physics/xpbd.js +1 -0
  41. package/physics.d.ts +1 -0
  42. package/physics.js +1 -0
  43. package/roguelike.d.ts +1 -0
  44. package/roguelike.js +1 -0
  45. package/rpg.d.ts +1 -0
  46. package/rpg.js +1 -0
  47. package/simulation.d.ts +1 -0
  48. package/simulation.js +1 -0
  49. package/skeleton.d.ts +1 -0
  50. package/skeleton.js +1 -0
  51. package/testing.d.ts +1 -0
  52. package/testing.js +1 -0
  53. package/threads.d.ts +1 -0
  54. package/threads.js +1 -0
  55. package/tools/asset-report.d.mts +1 -37
  56. package/tools/asset-report.mjs +1 -157
  57. package/tools/audio.d.mts +1 -75
  58. package/tools/audio.mjs +1 -437
  59. package/tools/audit-adoptions.d.mts +1 -65
  60. package/tools/audit-adoptions.mjs +1 -252
  61. package/tools/benchmark-browser.d.mts +1 -33
  62. package/tools/benchmark-browser.mjs +1 -169
  63. package/tools/benchmark-history.d.mts +1 -8
  64. package/tools/benchmark-history.mjs +1 -31
  65. package/tools/browser-driver.d.mts +1 -122
  66. package/tools/browser-driver.mjs +1 -861
  67. package/tools/browser-smoke.d.mts +1 -30
  68. package/tools/browser-smoke.mjs +1 -184
  69. package/tools/build-tablebases.d.mts +1 -22
  70. package/tools/build-tablebases.mjs +1 -557
  71. package/tools/bundle-size.d.mts +1 -11
  72. package/tools/bundle-size.mjs +1 -142
  73. package/tools/classic-html.d.mts +1 -6
  74. package/tools/classic-html.mjs +1 -69
  75. package/tools/compile-openings.d.mts +1 -20
  76. package/tools/compile-openings.mjs +1 -138
  77. package/tools/compile-resources.d.mts +1 -66
  78. package/tools/compile-resources.mjs +1 -406
  79. package/tools/compress-dist.d.mts +1 -42
  80. package/tools/compress-dist.mjs +1 -193
  81. package/tools/csp.d.mts +1 -7
  82. package/tools/csp.mjs +1 -65
  83. package/tools/emit-page.d.mts +1 -61
  84. package/tools/emit-page.mjs +1 -273
  85. package/tools/extract-html.d.mts +1 -18
  86. package/tools/extract-html.mjs +1 -235
  87. package/tools/extract-rgssad.d.mts +1 -5
  88. package/tools/extract-rgssad.mjs +1 -64
  89. package/tools/find-chrome.d.mts +1 -7
  90. package/tools/find-chrome.mjs +1 -106
  91. package/tools/i18n-edit.d.mts +1 -29
  92. package/tools/i18n-edit.mjs +1 -748
  93. package/tools/init.d.mts +1 -5
  94. package/tools/init.mjs +1 -155
  95. package/tools/make-example-assets.d.mts +1 -2
  96. package/tools/make-example-assets.mjs +1 -731
  97. package/tools/multiplayer-server.d.mts +1 -27
  98. package/tools/multiplayer-server.mjs +1 -199
  99. package/tools/play-uci.d.mts +1 -26
  100. package/tools/play-uci.mjs +1 -205
  101. package/tools/sbom.d.mts +1 -83
  102. package/tools/sbom.mjs +1 -340
  103. package/tools/single-file.d.mts +1 -33
  104. package/tools/single-file.mjs +1 -239
  105. package/tools/soundfonts.d.mts +1 -79
  106. package/tools/soundfonts.mjs +1 -301
  107. package/tools/svg-optimise.d.mts +1 -8
  108. package/tools/svg-optimise.mjs +1 -45
  109. package/tools/verify-scenarios.d.mts +1 -15
  110. package/tools/verify-scenarios.mjs +1 -133
  111. package/tools/vite.d.mts +1 -17
  112. package/tools/vite.mjs +1 -102
  113. package/tools/webp-convert.d.mts +1 -8
  114. package/tools/webp-convert.mjs +1 -98
  115. package/two-d/pixi-interop.d.ts +1 -0
  116. package/two-d/pixi-interop.js +1 -0
  117. package/two-d/presentation.d.ts +1 -0
  118. package/two-d/presentation.js +1 -0
  119. package/two-d/render.d.ts +1 -0
  120. package/two-d/render.js +1 -0
  121. package/two-d/stage.d.ts +1 -0
  122. package/two-d/stage.js +1 -0
  123. package/two-d/ui.d.ts +1 -0
  124. package/two-d/ui.js +1 -0
  125. package/two-d.d.ts +1 -0
  126. package/two-d.js +1 -0
  127. package/world.d.ts +1 -0
  128. package/world.js +1 -0
  129. package/CHANGELOG.md +0 -3196
  130. package/LICENSE +0 -373
  131. package/MWG - Best Practices.md +0 -97
  132. package/MWG - Deep Code and Architecture Review.md +0 -238
  133. package/REFERENCE.md +0 -2256
  134. package/api-surface.json +0 -18128
  135. package/data/microgm-essential.PROVENANCE.md +0 -13
  136. package/data/microgm-essential.sf2 +0 -0
  137. package/data/microgm-opt.PROVENANCE.md +0 -23
  138. package/data/microgm-opt.sf2 +0 -0
  139. package/data/soundfont-catalog.json +0 -191
  140. package/dist/actors/Advancement.d.ts +0 -90
  141. package/dist/actors/Advancement.d.ts.map +0 -1
  142. package/dist/actors/Advancement.js +0 -115
  143. package/dist/actors/Advancement.js.map +0 -1
  144. package/dist/actors/Affix.d.ts +0 -96
  145. package/dist/actors/Affix.d.ts.map +0 -1
  146. package/dist/actors/Affix.js +0 -68
  147. package/dist/actors/Affix.js.map +0 -1
  148. package/dist/actors/Appearances.d.ts +0 -48
  149. package/dist/actors/Appearances.d.ts.map +0 -1
  150. package/dist/actors/Appearances.js +0 -62
  151. package/dist/actors/Appearances.js.map +0 -1
  152. package/dist/actors/Aura.d.ts +0 -45
  153. package/dist/actors/Aura.d.ts.map +0 -1
  154. package/dist/actors/Aura.js +0 -85
  155. package/dist/actors/Aura.js.map +0 -1
  156. package/dist/actors/Barrier.d.ts +0 -60
  157. package/dist/actors/Barrier.d.ts.map +0 -1
  158. package/dist/actors/Barrier.js +0 -70
  159. package/dist/actors/Barrier.js.map +0 -1
  160. package/dist/actors/Charges.d.ts +0 -66
  161. package/dist/actors/Charges.d.ts.map +0 -1
  162. package/dist/actors/Charges.js +0 -61
  163. package/dist/actors/Charges.js.map +0 -1
  164. package/dist/actors/EntityTemplate.d.ts +0 -127
  165. package/dist/actors/EntityTemplate.d.ts.map +0 -1
  166. package/dist/actors/EntityTemplate.js +0 -117
  167. package/dist/actors/EntityTemplate.js.map +0 -1
  168. package/dist/actors/Equipment.d.ts +0 -88
  169. package/dist/actors/Equipment.d.ts.map +0 -1
  170. package/dist/actors/Equipment.js +0 -107
  171. package/dist/actors/Equipment.js.map +0 -1
  172. package/dist/actors/Inventory.d.ts +0 -123
  173. package/dist/actors/Inventory.d.ts.map +0 -1
  174. package/dist/actors/Inventory.js +0 -165
  175. package/dist/actors/Inventory.js.map +0 -1
  176. package/dist/actors/ItemState.d.ts +0 -43
  177. package/dist/actors/ItemState.d.ts.map +0 -1
  178. package/dist/actors/ItemState.js +0 -63
  179. package/dist/actors/ItemState.js.map +0 -1
  180. package/dist/actors/ItemStatusEffect.d.ts +0 -40
  181. package/dist/actors/ItemStatusEffect.d.ts.map +0 -1
  182. package/dist/actors/ItemStatusEffect.js +0 -39
  183. package/dist/actors/ItemStatusEffect.js.map +0 -1
  184. package/dist/actors/Loot.d.ts +0 -38
  185. package/dist/actors/Loot.d.ts.map +0 -1
  186. package/dist/actors/Loot.js +0 -28
  187. package/dist/actors/Loot.js.map +0 -1
  188. package/dist/actors/Progression.d.ts +0 -52
  189. package/dist/actors/Progression.d.ts.map +0 -1
  190. package/dist/actors/Progression.js +0 -59
  191. package/dist/actors/Progression.js.map +0 -1
  192. package/dist/actors/Resource.d.ts +0 -53
  193. package/dist/actors/Resource.d.ts.map +0 -1
  194. package/dist/actors/Resource.js +0 -57
  195. package/dist/actors/Resource.js.map +0 -1
  196. package/dist/actors/Scaling.d.ts +0 -30
  197. package/dist/actors/Scaling.d.ts.map +0 -1
  198. package/dist/actors/Scaling.js +0 -9
  199. package/dist/actors/Scaling.js.map +0 -1
  200. package/dist/actors/Shop.d.ts +0 -40
  201. package/dist/actors/Shop.d.ts.map +0 -1
  202. package/dist/actors/Shop.js +0 -36
  203. package/dist/actors/Shop.js.map +0 -1
  204. package/dist/actors/SkillPoints.d.ts +0 -72
  205. package/dist/actors/SkillPoints.d.ts.map +0 -1
  206. package/dist/actors/SkillPoints.js +0 -87
  207. package/dist/actors/SkillPoints.js.map +0 -1
  208. package/dist/actors/StatBlock.d.ts +0 -86
  209. package/dist/actors/StatBlock.d.ts.map +0 -1
  210. package/dist/actors/StatBlock.js +0 -110
  211. package/dist/actors/StatBlock.js.map +0 -1
  212. package/dist/actors/StatusEffect.d.ts +0 -67
  213. package/dist/actors/StatusEffect.d.ts.map +0 -1
  214. package/dist/actors/StatusEffect.js +0 -59
  215. package/dist/actors/StatusEffect.js.map +0 -1
  216. package/dist/actors/Support.d.ts +0 -43
  217. package/dist/actors/Support.d.ts.map +0 -1
  218. package/dist/actors/Support.js +0 -71
  219. package/dist/actors/Support.js.map +0 -1
  220. package/dist/actors/Traits.d.ts +0 -43
  221. package/dist/actors/Traits.d.ts.map +0 -1
  222. package/dist/actors/Traits.js +0 -35
  223. package/dist/actors/Traits.js.map +0 -1
  224. package/dist/actors/craft.d.ts +0 -63
  225. package/dist/actors/craft.d.ts.map +0 -1
  226. package/dist/actors/craft.js +0 -86
  227. package/dist/actors/craft.js.map +0 -1
  228. package/dist/actors/index.d.ts +0 -46
  229. package/dist/actors/index.d.ts.map +0 -1
  230. package/dist/actors/index.js +0 -24
  231. package/dist/actors/index.js.map +0 -1
  232. package/dist/actors/skillCheck.d.ts +0 -21
  233. package/dist/actors/skillCheck.d.ts.map +0 -1
  234. package/dist/actors/skillCheck.js +0 -24
  235. package/dist/actors/skillCheck.js.map +0 -1
  236. package/dist/ai/Heuristics.d.ts +0 -240
  237. package/dist/ai/Heuristics.d.ts.map +0 -1
  238. package/dist/ai/Heuristics.js +0 -298
  239. package/dist/ai/Heuristics.js.map +0 -1
  240. package/dist/ai/Neural.d.ts +0 -65
  241. package/dist/ai/Neural.d.ts.map +0 -1
  242. package/dist/ai/Neural.js +0 -169
  243. package/dist/ai/Neural.js.map +0 -1
  244. package/dist/ai/Suggest.d.ts +0 -54
  245. package/dist/ai/Suggest.d.ts.map +0 -1
  246. package/dist/ai/Suggest.js +0 -48
  247. package/dist/ai/Suggest.js.map +0 -1
  248. package/dist/ai/index.d.ts +0 -136
  249. package/dist/ai/index.d.ts.map +0 -1
  250. package/dist/ai/index.js +0 -207
  251. package/dist/ai/index.js.map +0 -1
  252. package/dist/ai/lua.d.ts +0 -74
  253. package/dist/ai/lua.d.ts.map +0 -1
  254. package/dist/ai/lua.js +0 -217
  255. package/dist/ai/lua.js.map +0 -1
  256. package/dist/ai/score.d.ts +0 -162
  257. package/dist/ai/score.d.ts.map +0 -1
  258. package/dist/ai/score.js +0 -147
  259. package/dist/ai/score.js.map +0 -1
  260. package/dist/ai/search.d.ts +0 -108
  261. package/dist/ai/search.d.ts.map +0 -1
  262. package/dist/ai/search.js +0 -148
  263. package/dist/ai/search.js.map +0 -1
  264. package/dist/assets/ByteProgress.d.ts +0 -37
  265. package/dist/assets/ByteProgress.d.ts.map +0 -1
  266. package/dist/assets/ByteProgress.js +0 -54
  267. package/dist/assets/ByteProgress.js.map +0 -1
  268. package/dist/assets/Streaming.d.ts +0 -56
  269. package/dist/assets/Streaming.d.ts.map +0 -1
  270. package/dist/assets/Streaming.js +0 -100
  271. package/dist/assets/Streaming.js.map +0 -1
  272. package/dist/assets/SvgParts.d.ts +0 -31
  273. package/dist/assets/SvgParts.d.ts.map +0 -1
  274. package/dist/assets/SvgParts.js +0 -54
  275. package/dist/assets/SvgParts.js.map +0 -1
  276. package/dist/assets/SvgSource.d.ts +0 -3
  277. package/dist/assets/SvgSource.d.ts.map +0 -1
  278. package/dist/assets/SvgSource.js +0 -22
  279. package/dist/assets/SvgSource.js.map +0 -1
  280. package/dist/assets/binary.d.ts +0 -52
  281. package/dist/assets/binary.d.ts.map +0 -1
  282. package/dist/assets/binary.js +0 -57
  283. package/dist/assets/binary.js.map +0 -1
  284. package/dist/assets/index.d.ts +0 -27
  285. package/dist/assets/index.d.ts.map +0 -1
  286. package/dist/assets/index.js +0 -20
  287. package/dist/assets/index.js.map +0 -1
  288. package/dist/assets/loader.d.ts +0 -70
  289. package/dist/assets/loader.d.ts.map +0 -1
  290. package/dist/assets/loader.js +0 -115
  291. package/dist/assets/loader.js.map +0 -1
  292. package/dist/assets/paths.d.ts +0 -73
  293. package/dist/assets/paths.d.ts.map +0 -1
  294. package/dist/assets/paths.js +0 -91
  295. package/dist/assets/paths.js.map +0 -1
  296. package/dist/assets/svg.d.ts +0 -87
  297. package/dist/assets/svg.d.ts.map +0 -1
  298. package/dist/assets/svg.js +0 -166
  299. package/dist/assets/svg.js.map +0 -1
  300. package/dist/audio/AdaptiveMusic.d.ts +0 -85
  301. package/dist/audio/AdaptiveMusic.d.ts.map +0 -1
  302. package/dist/audio/AdaptiveMusic.js +0 -230
  303. package/dist/audio/AdaptiveMusic.js.map +0 -1
  304. package/dist/audio/AudioLoader.d.ts +0 -33
  305. package/dist/audio/AudioLoader.d.ts.map +0 -1
  306. package/dist/audio/AudioLoader.js +0 -58
  307. package/dist/audio/AudioLoader.js.map +0 -1
  308. package/dist/audio/AudioViews.d.ts +0 -70
  309. package/dist/audio/AudioViews.d.ts.map +0 -1
  310. package/dist/audio/AudioViews.js +0 -119
  311. package/dist/audio/AudioViews.js.map +0 -1
  312. package/dist/audio/BusBudget.d.ts +0 -89
  313. package/dist/audio/BusBudget.d.ts.map +0 -1
  314. package/dist/audio/BusBudget.js +0 -120
  315. package/dist/audio/BusBudget.js.map +0 -1
  316. package/dist/audio/Captions.d.ts +0 -27
  317. package/dist/audio/Captions.d.ts.map +0 -1
  318. package/dist/audio/Captions.js +0 -16
  319. package/dist/audio/Captions.js.map +0 -1
  320. package/dist/audio/Channels.d.ts +0 -282
  321. package/dist/audio/Channels.d.ts.map +0 -1
  322. package/dist/audio/Channels.js +0 -573
  323. package/dist/audio/Channels.js.map +0 -1
  324. package/dist/audio/CoreHost.d.ts +0 -114
  325. package/dist/audio/CoreHost.d.ts.map +0 -1
  326. package/dist/audio/CoreHost.js +0 -335
  327. package/dist/audio/CoreHost.js.map +0 -1
  328. package/dist/audio/DecoderGuard.d.ts +0 -139
  329. package/dist/audio/DecoderGuard.d.ts.map +0 -1
  330. package/dist/audio/DecoderGuard.js +0 -208
  331. package/dist/audio/DecoderGuard.js.map +0 -1
  332. package/dist/audio/Fft.d.ts +0 -3
  333. package/dist/audio/Fft.d.ts.map +0 -1
  334. package/dist/audio/Fft.js +0 -45
  335. package/dist/audio/Fft.js.map +0 -1
  336. package/dist/audio/LoopTags.d.ts +0 -55
  337. package/dist/audio/LoopTags.d.ts.map +0 -1
  338. package/dist/audio/LoopTags.js +0 -136
  339. package/dist/audio/LoopTags.js.map +0 -1
  340. package/dist/audio/Midi.d.ts +0 -219
  341. package/dist/audio/Midi.d.ts.map +0 -1
  342. package/dist/audio/Midi.js +0 -409
  343. package/dist/audio/Midi.js.map +0 -1
  344. package/dist/audio/MidiRender.d.ts +0 -144
  345. package/dist/audio/MidiRender.d.ts.map +0 -1
  346. package/dist/audio/MidiRender.js +0 -448
  347. package/dist/audio/MidiRender.js.map +0 -1
  348. package/dist/audio/MidiSynth.d.ts +0 -147
  349. package/dist/audio/MidiSynth.d.ts.map +0 -1
  350. package/dist/audio/MidiSynth.js +0 -205
  351. package/dist/audio/MidiSynth.js.map +0 -1
  352. package/dist/audio/Music.d.ts +0 -70
  353. package/dist/audio/Music.d.ts.map +0 -1
  354. package/dist/audio/Music.js +0 -191
  355. package/dist/audio/Music.js.map +0 -1
  356. package/dist/audio/MusicPlayer.d.ts +0 -80
  357. package/dist/audio/MusicPlayer.d.ts.map +0 -1
  358. package/dist/audio/MusicPlayer.js +0 -147
  359. package/dist/audio/MusicPlayer.js.map +0 -1
  360. package/dist/audio/Orchestrator.d.ts +0 -58
  361. package/dist/audio/Orchestrator.d.ts.map +0 -1
  362. package/dist/audio/Orchestrator.js +0 -74
  363. package/dist/audio/Orchestrator.js.map +0 -1
  364. package/dist/audio/Playable.d.ts +0 -38
  365. package/dist/audio/Playable.d.ts.map +0 -1
  366. package/dist/audio/Playable.js +0 -29
  367. package/dist/audio/Playable.js.map +0 -1
  368. package/dist/audio/Positional.d.ts +0 -133
  369. package/dist/audio/Positional.d.ts.map +0 -1
  370. package/dist/audio/Positional.js +0 -138
  371. package/dist/audio/Positional.js.map +0 -1
  372. package/dist/audio/Resample.d.ts +0 -61
  373. package/dist/audio/Resample.d.ts.map +0 -1
  374. package/dist/audio/Resample.js +0 -97
  375. package/dist/audio/Resample.js.map +0 -1
  376. package/dist/audio/SampleDecoder.d.ts +0 -55
  377. package/dist/audio/SampleDecoder.d.ts.map +0 -1
  378. package/dist/audio/SampleDecoder.js +0 -74
  379. package/dist/audio/SampleDecoder.js.map +0 -1
  380. package/dist/audio/Settings.d.ts +0 -99
  381. package/dist/audio/Settings.d.ts.map +0 -1
  382. package/dist/audio/Settings.js +0 -134
  383. package/dist/audio/Settings.js.map +0 -1
  384. package/dist/audio/Sfx.d.ts +0 -148
  385. package/dist/audio/Sfx.d.ts.map +0 -1
  386. package/dist/audio/Sfx.js +0 -213
  387. package/dist/audio/Sfx.js.map +0 -1
  388. package/dist/audio/Sound.d.ts +0 -57
  389. package/dist/audio/Sound.d.ts.map +0 -1
  390. package/dist/audio/Sound.js +0 -79
  391. package/dist/audio/Sound.js.map +0 -1
  392. package/dist/audio/SoundFont.d.ts +0 -192
  393. package/dist/audio/SoundFont.d.ts.map +0 -1
  394. package/dist/audio/SoundFont.js +0 -862
  395. package/dist/audio/SoundFont.js.map +0 -1
  396. package/dist/audio/SpectralDistance.d.ts +0 -34
  397. package/dist/audio/SpectralDistance.d.ts.map +0 -1
  398. package/dist/audio/SpectralDistance.js +0 -64
  399. package/dist/audio/SpectralDistance.js.map +0 -1
  400. package/dist/audio/StreamChannel.d.ts +0 -150
  401. package/dist/audio/StreamChannel.d.ts.map +0 -1
  402. package/dist/audio/StreamChannel.js +0 -390
  403. package/dist/audio/StreamChannel.js.map +0 -1
  404. package/dist/audio/StreamPlayable.d.ts +0 -73
  405. package/dist/audio/StreamPlayable.d.ts.map +0 -1
  406. package/dist/audio/StreamPlayable.js +0 -130
  407. package/dist/audio/StreamPlayable.js.map +0 -1
  408. package/dist/audio/Synth.d.ts +0 -64
  409. package/dist/audio/Synth.d.ts.map +0 -1
  410. package/dist/audio/Synth.js +0 -133
  411. package/dist/audio/Synth.js.map +0 -1
  412. package/dist/audio/SyxBank.d.ts +0 -73
  413. package/dist/audio/SyxBank.d.ts.map +0 -1
  414. package/dist/audio/SyxBank.js +0 -130
  415. package/dist/audio/SyxBank.js.map +0 -1
  416. package/dist/audio/Underrun.d.ts +0 -25
  417. package/dist/audio/Underrun.d.ts.map +0 -1
  418. package/dist/audio/Underrun.js +0 -18
  419. package/dist/audio/Underrun.js.map +0 -1
  420. package/dist/audio/Wav.d.ts +0 -56
  421. package/dist/audio/Wav.d.ts.map +0 -1
  422. package/dist/audio/Wav.js +0 -164
  423. package/dist/audio/Wav.js.map +0 -1
  424. package/dist/audio/WebMidi.d.ts +0 -58
  425. package/dist/audio/WebMidi.d.ts.map +0 -1
  426. package/dist/audio/WebMidi.js +0 -79
  427. package/dist/audio/WebMidi.js.map +0 -1
  428. package/dist/audio/humanize/Groove.d.ts +0 -80
  429. package/dist/audio/humanize/Groove.d.ts.map +0 -1
  430. package/dist/audio/humanize/Groove.js +0 -102
  431. package/dist/audio/humanize/Groove.js.map +0 -1
  432. package/dist/audio/humanize/GrooveConverter.d.ts +0 -49
  433. package/dist/audio/humanize/GrooveConverter.d.ts.map +0 -1
  434. package/dist/audio/humanize/GrooveConverter.js +0 -344
  435. package/dist/audio/humanize/GrooveConverter.js.map +0 -1
  436. package/dist/audio/humanize/GrooveExtractor.d.ts +0 -49
  437. package/dist/audio/humanize/GrooveExtractor.d.ts.map +0 -1
  438. package/dist/audio/humanize/GrooveExtractor.js +0 -179
  439. package/dist/audio/humanize/GrooveExtractor.js.map +0 -1
  440. package/dist/audio/humanize/GrooveHumanizer.d.ts +0 -34
  441. package/dist/audio/humanize/GrooveHumanizer.d.ts.map +0 -1
  442. package/dist/audio/humanize/GrooveHumanizer.js +0 -37
  443. package/dist/audio/humanize/GrooveHumanizer.js.map +0 -1
  444. package/dist/audio/humanize/Humanize.d.ts +0 -54
  445. package/dist/audio/humanize/Humanize.d.ts.map +0 -1
  446. package/dist/audio/humanize/Humanize.js +0 -239
  447. package/dist/audio/humanize/Humanize.js.map +0 -1
  448. package/dist/audio/humanize/HumanizerFactory.d.ts +0 -68
  449. package/dist/audio/humanize/HumanizerFactory.d.ts.map +0 -1
  450. package/dist/audio/humanize/HumanizerFactory.js +0 -84
  451. package/dist/audio/humanize/HumanizerFactory.js.map +0 -1
  452. package/dist/audio/humanize/LiteHumanizer.d.ts +0 -30
  453. package/dist/audio/humanize/LiteHumanizer.d.ts.map +0 -1
  454. package/dist/audio/humanize/LiteHumanizer.js +0 -35
  455. package/dist/audio/humanize/LiteHumanizer.js.map +0 -1
  456. package/dist/audio/humanize/Onsets.d.ts +0 -26
  457. package/dist/audio/humanize/Onsets.d.ts.map +0 -1
  458. package/dist/audio/humanize/Onsets.js +0 -121
  459. package/dist/audio/humanize/Onsets.js.map +0 -1
  460. package/dist/audio/index.d.ts +0 -75
  461. package/dist/audio/index.d.ts.map +0 -1
  462. package/dist/audio/index.js +0 -38
  463. package/dist/audio/index.js.map +0 -1
  464. package/dist/battle/AttackDialog.d.ts +0 -75
  465. package/dist/battle/AttackDialog.d.ts.map +0 -1
  466. package/dist/battle/AttackDialog.js +0 -115
  467. package/dist/battle/AttackDialog.js.map +0 -1
  468. package/dist/battle/AttackPreview.d.ts +0 -70
  469. package/dist/battle/AttackPreview.d.ts.map +0 -1
  470. package/dist/battle/AttackPreview.js +0 -78
  471. package/dist/battle/AttackPreview.js.map +0 -1
  472. package/dist/battle/BattleAI.d.ts +0 -40
  473. package/dist/battle/BattleAI.d.ts.map +0 -1
  474. package/dist/battle/BattleAI.js +0 -63
  475. package/dist/battle/BattleAI.js.map +0 -1
  476. package/dist/battle/BattleStats.d.ts +0 -45
  477. package/dist/battle/BattleStats.d.ts.map +0 -1
  478. package/dist/battle/BattleStats.js +0 -63
  479. package/dist/battle/BattleStats.js.map +0 -1
  480. package/dist/battle/Evolution.d.ts +0 -34
  481. package/dist/battle/Evolution.d.ts.map +0 -1
  482. package/dist/battle/Evolution.js +0 -37
  483. package/dist/battle/Evolution.js.map +0 -1
  484. package/dist/battle/Field.d.ts +0 -36
  485. package/dist/battle/Field.d.ts.map +0 -1
  486. package/dist/battle/Field.js +0 -31
  487. package/dist/battle/Field.js.map +0 -1
  488. package/dist/battle/Hooks.d.ts +0 -39
  489. package/dist/battle/Hooks.d.ts.map +0 -1
  490. package/dist/battle/Hooks.js +0 -38
  491. package/dist/battle/Hooks.js.map +0 -1
  492. package/dist/battle/Move.d.ts +0 -45
  493. package/dist/battle/Move.d.ts.map +0 -1
  494. package/dist/battle/Move.js +0 -23
  495. package/dist/battle/Move.js.map +0 -1
  496. package/dist/battle/Party.d.ts +0 -32
  497. package/dist/battle/Party.d.ts.map +0 -1
  498. package/dist/battle/Party.js +0 -62
  499. package/dist/battle/Party.js.map +0 -1
  500. package/dist/battle/Species.d.ts +0 -50
  501. package/dist/battle/Species.d.ts.map +0 -1
  502. package/dist/battle/Species.js +0 -41
  503. package/dist/battle/Species.js.map +0 -1
  504. package/dist/battle/StatStages.d.ts +0 -52
  505. package/dist/battle/StatStages.d.ts.map +0 -1
  506. package/dist/battle/StatStages.js +0 -51
  507. package/dist/battle/StatStages.js.map +0 -1
  508. package/dist/battle/TypeMatrix.d.ts +0 -25
  509. package/dist/battle/TypeMatrix.d.ts.map +0 -1
  510. package/dist/battle/TypeMatrix.js +0 -35
  511. package/dist/battle/TypeMatrix.js.map +0 -1
  512. package/dist/battle/UnitSelector.d.ts +0 -72
  513. package/dist/battle/UnitSelector.d.ts.map +0 -1
  514. package/dist/battle/UnitSelector.js +0 -117
  515. package/dist/battle/UnitSelector.js.map +0 -1
  516. package/dist/battle/Whiteboard.d.ts +0 -50
  517. package/dist/battle/Whiteboard.d.ts.map +0 -1
  518. package/dist/battle/Whiteboard.js +0 -94
  519. package/dist/battle/Whiteboard.js.map +0 -1
  520. package/dist/battle/index.d.ts +0 -26
  521. package/dist/battle/index.d.ts.map +0 -1
  522. package/dist/battle/index.js +0 -15
  523. package/dist/battle/index.js.map +0 -1
  524. package/dist/board/Army.d.ts +0 -92
  525. package/dist/board/Army.d.ts.map +0 -1
  526. package/dist/board/Army.js +0 -123
  527. package/dist/board/Army.js.map +0 -1
  528. package/dist/board/Classics.d.ts +0 -419
  529. package/dist/board/Classics.d.ts.map +0 -1
  530. package/dist/board/Classics.js +0 -754
  531. package/dist/board/Classics.js.map +0 -1
  532. package/dist/board/Engine.d.ts +0 -95
  533. package/dist/board/Engine.d.ts.map +0 -1
  534. package/dist/board/Engine.js +0 -545
  535. package/dist/board/Engine.js.map +0 -1
  536. package/dist/board/FogOfWar.d.ts +0 -79
  537. package/dist/board/FogOfWar.d.ts.map +0 -1
  538. package/dist/board/FogOfWar.js +0 -150
  539. package/dist/board/FogOfWar.js.map +0 -1
  540. package/dist/board/HexSkirmish.d.ts +0 -213
  541. package/dist/board/HexSkirmish.d.ts.map +0 -1
  542. package/dist/board/HexSkirmish.js +0 -268
  543. package/dist/board/HexSkirmish.js.map +0 -1
  544. package/dist/board/Tactics.d.ts +0 -212
  545. package/dist/board/Tactics.d.ts.map +0 -1
  546. package/dist/board/Tactics.js +0 -303
  547. package/dist/board/Tactics.js.map +0 -1
  548. package/dist/board/bitboard.d.ts +0 -132
  549. package/dist/board/bitboard.d.ts.map +0 -1
  550. package/dist/board/bitboard.js +0 -495
  551. package/dist/board/bitboard.js.map +0 -1
  552. package/dist/board/chess.d.ts +0 -167
  553. package/dist/board/chess.d.ts.map +0 -1
  554. package/dist/board/chess.js +0 -578
  555. package/dist/board/chess.js.map +0 -1
  556. package/dist/board/index.d.ts +0 -23
  557. package/dist/board/index.d.ts.map +0 -1
  558. package/dist/board/index.js +0 -12
  559. package/dist/board/index.js.map +0 -1
  560. package/dist/board/openings.d.ts +0 -58
  561. package/dist/board/openings.d.ts.map +0 -1
  562. package/dist/board/openings.js +0 -45
  563. package/dist/board/openings.js.map +0 -1
  564. package/dist/board/tablebase.d.ts +0 -118
  565. package/dist/board/tablebase.d.ts.map +0 -1
  566. package/dist/board/tablebase.js +0 -414
  567. package/dist/board/tablebase.js.map +0 -1
  568. package/dist/board/tourney.d.ts +0 -97
  569. package/dist/board/tourney.d.ts.map +0 -1
  570. package/dist/board/tourney.js +0 -1002
  571. package/dist/board/tourney.js.map +0 -1
  572. package/dist/core/Achievements.d.ts +0 -101
  573. package/dist/core/Achievements.d.ts.map +0 -1
  574. package/dist/core/Achievements.js +0 -141
  575. package/dist/core/Achievements.js.map +0 -1
  576. package/dist/core/ActionJournal.d.ts +0 -43
  577. package/dist/core/ActionJournal.d.ts.map +0 -1
  578. package/dist/core/ActionJournal.js +0 -77
  579. package/dist/core/ActionJournal.js.map +0 -1
  580. package/dist/core/Blob.d.ts +0 -79
  581. package/dist/core/Blob.d.ts.map +0 -1
  582. package/dist/core/Blob.js +0 -140
  583. package/dist/core/Blob.js.map +0 -1
  584. package/dist/core/Clone.d.ts +0 -31
  585. package/dist/core/Clone.d.ts.map +0 -1
  586. package/dist/core/Clone.js +0 -84
  587. package/dist/core/Clone.js.map +0 -1
  588. package/dist/core/Collection.d.ts +0 -59
  589. package/dist/core/Collection.d.ts.map +0 -1
  590. package/dist/core/Collection.js +0 -77
  591. package/dist/core/Collection.js.map +0 -1
  592. package/dist/core/Csv.d.ts +0 -74
  593. package/dist/core/Csv.d.ts.map +0 -1
  594. package/dist/core/Csv.js +0 -201
  595. package/dist/core/Csv.js.map +0 -1
  596. package/dist/core/DialogueText.d.ts +0 -72
  597. package/dist/core/DialogueText.d.ts.map +0 -1
  598. package/dist/core/DialogueText.js +0 -68
  599. package/dist/core/DialogueText.js.map +0 -1
  600. package/dist/core/Entity.d.ts +0 -42
  601. package/dist/core/Entity.d.ts.map +0 -1
  602. package/dist/core/Entity.js +0 -61
  603. package/dist/core/Entity.js.map +0 -1
  604. package/dist/core/Feedback.d.ts +0 -27
  605. package/dist/core/Feedback.d.ts.map +0 -1
  606. package/dist/core/Feedback.js +0 -33
  607. package/dist/core/Feedback.js.map +0 -1
  608. package/dist/core/FixedStepper.d.ts +0 -38
  609. package/dist/core/FixedStepper.d.ts.map +0 -1
  610. package/dist/core/FixedStepper.js +0 -56
  611. package/dist/core/FixedStepper.js.map +0 -1
  612. package/dist/core/Grid.d.ts +0 -179
  613. package/dist/core/Grid.d.ts.map +0 -1
  614. package/dist/core/Grid.js +0 -201
  615. package/dist/core/Grid.js.map +0 -1
  616. package/dist/core/Handles.d.ts +0 -42
  617. package/dist/core/Handles.d.ts.map +0 -1
  618. package/dist/core/Handles.js +0 -38
  619. package/dist/core/Handles.js.map +0 -1
  620. package/dist/core/Hex.d.ts +0 -79
  621. package/dist/core/Hex.d.ts.map +0 -1
  622. package/dist/core/Hex.js +0 -161
  623. package/dist/core/Hex.js.map +0 -1
  624. package/dist/core/Hooks.d.ts +0 -48
  625. package/dist/core/Hooks.d.ts.map +0 -1
  626. package/dist/core/Hooks.js +0 -33
  627. package/dist/core/Hooks.js.map +0 -1
  628. package/dist/core/HttpTransport.d.ts +0 -53
  629. package/dist/core/HttpTransport.d.ts.map +0 -1
  630. package/dist/core/HttpTransport.js +0 -108
  631. package/dist/core/HttpTransport.js.map +0 -1
  632. package/dist/core/Input.d.ts +0 -256
  633. package/dist/core/Input.d.ts.map +0 -1
  634. package/dist/core/Input.js +0 -557
  635. package/dist/core/Input.js.map +0 -1
  636. package/dist/core/JavaRandom.d.ts +0 -55
  637. package/dist/core/JavaRandom.d.ts.map +0 -1
  638. package/dist/core/JavaRandom.js +0 -81
  639. package/dist/core/JavaRandom.js.map +0 -1
  640. package/dist/core/Loading.d.ts +0 -65
  641. package/dist/core/Loading.d.ts.map +0 -1
  642. package/dist/core/Loading.js +0 -119
  643. package/dist/core/Loading.js.map +0 -1
  644. package/dist/core/Log.d.ts +0 -48
  645. package/dist/core/Log.d.ts.map +0 -1
  646. package/dist/core/Log.js +0 -59
  647. package/dist/core/Log.js.map +0 -1
  648. package/dist/core/Math.d.ts +0 -14
  649. package/dist/core/Math.d.ts.map +0 -1
  650. package/dist/core/Math.js +0 -16
  651. package/dist/core/Math.js.map +0 -1
  652. package/dist/core/Motion.d.ts +0 -47
  653. package/dist/core/Motion.d.ts.map +0 -1
  654. package/dist/core/Motion.js +0 -122
  655. package/dist/core/Motion.js.map +0 -1
  656. package/dist/core/Multiplayer.d.ts +0 -101
  657. package/dist/core/Multiplayer.d.ts.map +0 -1
  658. package/dist/core/Multiplayer.js +0 -156
  659. package/dist/core/Multiplayer.js.map +0 -1
  660. package/dist/core/News.d.ts +0 -51
  661. package/dist/core/News.d.ts.map +0 -1
  662. package/dist/core/News.js +0 -65
  663. package/dist/core/News.js.map +0 -1
  664. package/dist/core/Pathfinding.d.ts +0 -41
  665. package/dist/core/Pathfinding.d.ts.map +0 -1
  666. package/dist/core/Pathfinding.js +0 -86
  667. package/dist/core/Pathfinding.js.map +0 -1
  668. package/dist/core/PlayerInput.d.ts +0 -57
  669. package/dist/core/PlayerInput.d.ts.map +0 -1
  670. package/dist/core/PlayerInput.js +0 -82
  671. package/dist/core/PlayerInput.js.map +0 -1
  672. package/dist/core/Presentation.d.ts +0 -56
  673. package/dist/core/Presentation.d.ts.map +0 -1
  674. package/dist/core/Presentation.js +0 -78
  675. package/dist/core/Presentation.js.map +0 -1
  676. package/dist/core/Random.d.ts +0 -259
  677. package/dist/core/Random.d.ts.map +0 -1
  678. package/dist/core/Random.js +0 -408
  679. package/dist/core/Random.js.map +0 -1
  680. package/dist/core/Reactions.d.ts +0 -67
  681. package/dist/core/Reactions.d.ts.map +0 -1
  682. package/dist/core/Reactions.js +0 -92
  683. package/dist/core/Reactions.js.map +0 -1
  684. package/dist/core/Registry.d.ts +0 -31
  685. package/dist/core/Registry.d.ts.map +0 -1
  686. package/dist/core/Registry.js +0 -46
  687. package/dist/core/Registry.js.map +0 -1
  688. package/dist/core/Replay.d.ts +0 -126
  689. package/dist/core/Replay.d.ts.map +0 -1
  690. package/dist/core/Replay.js +0 -162
  691. package/dist/core/Replay.js.map +0 -1
  692. package/dist/core/ReplayFile.d.ts +0 -197
  693. package/dist/core/ReplayFile.d.ts.map +0 -1
  694. package/dist/core/ReplayFile.js +0 -257
  695. package/dist/core/ReplayFile.js.map +0 -1
  696. package/dist/core/RunHistory.d.ts +0 -54
  697. package/dist/core/RunHistory.d.ts.map +0 -1
  698. package/dist/core/RunHistory.js +0 -40
  699. package/dist/core/RunHistory.js.map +0 -1
  700. package/dist/core/Sanitize.d.ts +0 -101
  701. package/dist/core/Sanitize.d.ts.map +0 -1
  702. package/dist/core/Sanitize.js +0 -162
  703. package/dist/core/Sanitize.js.map +0 -1
  704. package/dist/core/Save.d.ts +0 -123
  705. package/dist/core/Save.d.ts.map +0 -1
  706. package/dist/core/Save.js +0 -216
  707. package/dist/core/Save.js.map +0 -1
  708. package/dist/core/SaveSync.d.ts +0 -43
  709. package/dist/core/SaveSync.d.ts.map +0 -1
  710. package/dist/core/SaveSync.js +0 -56
  711. package/dist/core/SaveSync.js.map +0 -1
  712. package/dist/core/Scene.d.ts +0 -63
  713. package/dist/core/Scene.d.ts.map +0 -1
  714. package/dist/core/Scene.js +0 -81
  715. package/dist/core/Scene.js.map +0 -1
  716. package/dist/core/SceneComponents.d.ts +0 -67
  717. package/dist/core/SceneComponents.d.ts.map +0 -1
  718. package/dist/core/SceneComponents.js +0 -76
  719. package/dist/core/SceneComponents.js.map +0 -1
  720. package/dist/core/SceneStack.d.ts +0 -61
  721. package/dist/core/SceneStack.d.ts.map +0 -1
  722. package/dist/core/SceneStack.js +0 -91
  723. package/dist/core/SceneStack.js.map +0 -1
  724. package/dist/core/Scramble.d.ts +0 -21
  725. package/dist/core/Scramble.d.ts.map +0 -1
  726. package/dist/core/Scramble.js +0 -52
  727. package/dist/core/Scramble.js.map +0 -1
  728. package/dist/core/Session.d.ts +0 -31
  729. package/dist/core/Session.d.ts.map +0 -1
  730. package/dist/core/Session.js +0 -11
  731. package/dist/core/Session.js.map +0 -1
  732. package/dist/core/Settings.d.ts +0 -96
  733. package/dist/core/Settings.d.ts.map +0 -1
  734. package/dist/core/Settings.js +0 -190
  735. package/dist/core/Settings.js.map +0 -1
  736. package/dist/core/Signal.d.ts +0 -35
  737. package/dist/core/Signal.d.ts.map +0 -1
  738. package/dist/core/Signal.js +0 -41
  739. package/dist/core/Signal.js.map +0 -1
  740. package/dist/core/Spawner.d.ts +0 -65
  741. package/dist/core/Spawner.d.ts.map +0 -1
  742. package/dist/core/Spawner.js +0 -82
  743. package/dist/core/Spawner.js.map +0 -1
  744. package/dist/core/State.d.ts +0 -97
  745. package/dist/core/State.d.ts.map +0 -1
  746. package/dist/core/State.js +0 -177
  747. package/dist/core/State.js.map +0 -1
  748. package/dist/core/Stats.d.ts +0 -46
  749. package/dist/core/Stats.d.ts.map +0 -1
  750. package/dist/core/Stats.js +0 -47
  751. package/dist/core/Stats.js.map +0 -1
  752. package/dist/core/StoredValue.d.ts +0 -30
  753. package/dist/core/StoredValue.d.ts.map +0 -1
  754. package/dist/core/StoredValue.js +0 -38
  755. package/dist/core/StoredValue.js.map +0 -1
  756. package/dist/core/SyncGuard.d.ts +0 -57
  757. package/dist/core/SyncGuard.d.ts.map +0 -1
  758. package/dist/core/SyncGuard.js +0 -116
  759. package/dist/core/SyncGuard.js.map +0 -1
  760. package/dist/core/Telemetry.d.ts +0 -63
  761. package/dist/core/Telemetry.d.ts.map +0 -1
  762. package/dist/core/Telemetry.js +0 -83
  763. package/dist/core/Telemetry.js.map +0 -1
  764. package/dist/core/Twee.d.ts +0 -101
  765. package/dist/core/Twee.d.ts.map +0 -1
  766. package/dist/core/Twee.js +0 -174
  767. package/dist/core/Twee.js.map +0 -1
  768. package/dist/core/Tween.d.ts +0 -60
  769. package/dist/core/Tween.d.ts.map +0 -1
  770. package/dist/core/Tween.js +0 -98
  771. package/dist/core/Tween.js.map +0 -1
  772. package/dist/core/UndoHistory.d.ts +0 -52
  773. package/dist/core/UndoHistory.d.ts.map +0 -1
  774. package/dist/core/UndoHistory.js +0 -49
  775. package/dist/core/UndoHistory.js.map +0 -1
  776. package/dist/core/index.d.ts +0 -94
  777. package/dist/core/index.d.ts.map +0 -1
  778. package/dist/core/index.js +0 -53
  779. package/dist/core/index.js.map +0 -1
  780. package/dist/headless/index.d.ts +0 -87
  781. package/dist/headless/index.d.ts.map +0 -1
  782. package/dist/headless/index.js +0 -87
  783. package/dist/headless/index.js.map +0 -1
  784. package/dist/i18n/Content.d.ts +0 -151
  785. package/dist/i18n/Content.d.ts.map +0 -1
  786. package/dist/i18n/Content.js +0 -218
  787. package/dist/i18n/Content.js.map +0 -1
  788. package/dist/i18n/EditSession.d.ts +0 -101
  789. package/dist/i18n/EditSession.d.ts.map +0 -1
  790. package/dist/i18n/EditSession.js +0 -150
  791. package/dist/i18n/EditSession.js.map +0 -1
  792. package/dist/i18n/Fluent.d.ts +0 -7
  793. package/dist/i18n/Fluent.d.ts.map +0 -1
  794. package/dist/i18n/Fluent.js +0 -98
  795. package/dist/i18n/Fluent.js.map +0 -1
  796. package/dist/i18n/Format.d.ts +0 -25
  797. package/dist/i18n/Format.d.ts.map +0 -1
  798. package/dist/i18n/Format.js +0 -32
  799. package/dist/i18n/Format.js.map +0 -1
  800. package/dist/i18n/FormatSpec.d.ts +0 -76
  801. package/dist/i18n/FormatSpec.d.ts.map +0 -1
  802. package/dist/i18n/FormatSpec.js +0 -306
  803. package/dist/i18n/FormatSpec.js.map +0 -1
  804. package/dist/i18n/Po.d.ts +0 -54
  805. package/dist/i18n/Po.d.ts.map +0 -1
  806. package/dist/i18n/Po.js +0 -192
  807. package/dist/i18n/Po.js.map +0 -1
  808. package/dist/i18n/SemanticMessage.d.ts +0 -84
  809. package/dist/i18n/SemanticMessage.d.ts.map +0 -1
  810. package/dist/i18n/SemanticMessage.js +0 -54
  811. package/dist/i18n/SemanticMessage.js.map +0 -1
  812. package/dist/i18n/SoundMarkers.d.ts +0 -38
  813. package/dist/i18n/SoundMarkers.d.ts.map +0 -1
  814. package/dist/i18n/SoundMarkers.js +0 -48
  815. package/dist/i18n/SoundMarkers.js.map +0 -1
  816. package/dist/i18n/Validate.d.ts +0 -82
  817. package/dist/i18n/Validate.d.ts.map +0 -1
  818. package/dist/i18n/Validate.js +0 -106
  819. package/dist/i18n/Validate.js.map +0 -1
  820. package/dist/i18n/index.d.ts +0 -177
  821. package/dist/i18n/index.d.ts.map +0 -1
  822. package/dist/i18n/index.js +0 -331
  823. package/dist/i18n/index.js.map +0 -1
  824. package/dist/index.d.ts +0 -26
  825. package/dist/index.d.ts.map +0 -1
  826. package/dist/index.js +0 -26
  827. package/dist/index.js.map +0 -1
  828. package/dist/mw_games.global.js +0 -1410
  829. package/dist/mwl/MapFile.d.ts +0 -41
  830. package/dist/mwl/MapFile.d.ts.map +0 -1
  831. package/dist/mwl/MapFile.js +0 -53
  832. package/dist/mwl/MapFile.js.map +0 -1
  833. package/dist/mwl/actors.d.ts +0 -62
  834. package/dist/mwl/actors.d.ts.map +0 -1
  835. package/dist/mwl/actors.js +0 -82
  836. package/dist/mwl/actors.js.map +0 -1
  837. package/dist/mwl/campaign.d.ts +0 -51
  838. package/dist/mwl/campaign.d.ts.map +0 -1
  839. package/dist/mwl/campaign.js +0 -58
  840. package/dist/mwl/campaign.js.map +0 -1
  841. package/dist/mwl/carryover.d.ts +0 -86
  842. package/dist/mwl/carryover.d.ts.map +0 -1
  843. package/dist/mwl/carryover.js +0 -70
  844. package/dist/mwl/carryover.js.map +0 -1
  845. package/dist/mwl/catalog.d.ts +0 -98
  846. package/dist/mwl/catalog.d.ts.map +0 -1
  847. package/dist/mwl/catalog.js +0 -259
  848. package/dist/mwl/catalog.js.map +0 -1
  849. package/dist/mwl/compiler.d.ts +0 -135
  850. package/dist/mwl/compiler.d.ts.map +0 -1
  851. package/dist/mwl/compiler.js +0 -216
  852. package/dist/mwl/compiler.js.map +0 -1
  853. package/dist/mwl/conditions.d.ts +0 -30
  854. package/dist/mwl/conditions.d.ts.map +0 -1
  855. package/dist/mwl/conditions.js +0 -212
  856. package/dist/mwl/conditions.js.map +0 -1
  857. package/dist/mwl/content.d.ts +0 -140
  858. package/dist/mwl/content.d.ts.map +0 -1
  859. package/dist/mwl/content.js +0 -179
  860. package/dist/mwl/content.js.map +0 -1
  861. package/dist/mwl/expression.d.ts +0 -42
  862. package/dist/mwl/expression.d.ts.map +0 -1
  863. package/dist/mwl/expression.js +0 -164
  864. package/dist/mwl/expression.js.map +0 -1
  865. package/dist/mwl/grammar.d.ts +0 -100
  866. package/dist/mwl/grammar.d.ts.map +0 -1
  867. package/dist/mwl/grammar.js +0 -588
  868. package/dist/mwl/grammar.js.map +0 -1
  869. package/dist/mwl/hooks.d.ts +0 -201
  870. package/dist/mwl/hooks.d.ts.map +0 -1
  871. package/dist/mwl/hooks.js +0 -165
  872. package/dist/mwl/hooks.js.map +0 -1
  873. package/dist/mwl/index.d.ts +0 -51
  874. package/dist/mwl/index.d.ts.map +0 -1
  875. package/dist/mwl/index.js +0 -26
  876. package/dist/mwl/index.js.map +0 -1
  877. package/dist/mwl/objects.d.ts +0 -31
  878. package/dist/mwl/objects.d.ts.map +0 -1
  879. package/dist/mwl/objects.js +0 -83
  880. package/dist/mwl/objects.js.map +0 -1
  881. package/dist/mwl/package-container.d.ts +0 -185
  882. package/dist/mwl/package-container.d.ts.map +0 -1
  883. package/dist/mwl/package-container.js +0 -446
  884. package/dist/mwl/package-container.js.map +0 -1
  885. package/dist/mwl/package-document.d.ts +0 -217
  886. package/dist/mwl/package-document.d.ts.map +0 -1
  887. package/dist/mwl/package-document.js +0 -639
  888. package/dist/mwl/package-document.js.map +0 -1
  889. package/dist/mwl/package-rom.d.ts +0 -37
  890. package/dist/mwl/package-rom.d.ts.map +0 -1
  891. package/dist/mwl/package-rom.js +0 -96
  892. package/dist/mwl/package-rom.js.map +0 -1
  893. package/dist/mwl/package-verify.d.ts +0 -34
  894. package/dist/mwl/package-verify.d.ts.map +0 -1
  895. package/dist/mwl/package-verify.js +0 -111
  896. package/dist/mwl/package-verify.js.map +0 -1
  897. package/dist/mwl/package.d.ts +0 -184
  898. package/dist/mwl/package.d.ts.map +0 -1
  899. package/dist/mwl/package.js +0 -382
  900. package/dist/mwl/package.js.map +0 -1
  901. package/dist/mwl/persistence.d.ts +0 -67
  902. package/dist/mwl/persistence.d.ts.map +0 -1
  903. package/dist/mwl/persistence.js +0 -135
  904. package/dist/mwl/persistence.js.map +0 -1
  905. package/dist/mwl/presentation.d.ts +0 -86
  906. package/dist/mwl/presentation.d.ts.map +0 -1
  907. package/dist/mwl/presentation.js +0 -419
  908. package/dist/mwl/presentation.js.map +0 -1
  909. package/dist/mwl/pyroeis-runtime.d.ts +0 -82
  910. package/dist/mwl/pyroeis-runtime.d.ts.map +0 -1
  911. package/dist/mwl/pyroeis-runtime.js +0 -535
  912. package/dist/mwl/pyroeis-runtime.js.map +0 -1
  913. package/dist/mwl/pyroeis.d.ts +0 -54
  914. package/dist/mwl/pyroeis.d.ts.map +0 -1
  915. package/dist/mwl/pyroeis.js +0 -189
  916. package/dist/mwl/pyroeis.js.map +0 -1
  917. package/dist/mwl/readers.d.ts +0 -77
  918. package/dist/mwl/readers.d.ts.map +0 -1
  919. package/dist/mwl/readers.js +0 -150
  920. package/dist/mwl/readers.js.map +0 -1
  921. package/dist/mwl/report.d.ts +0 -44
  922. package/dist/mwl/report.d.ts.map +0 -1
  923. package/dist/mwl/report.js +0 -88
  924. package/dist/mwl/report.js.map +0 -1
  925. package/dist/mwl/runtime.d.ts +0 -577
  926. package/dist/mwl/runtime.d.ts.map +0 -1
  927. package/dist/mwl/runtime.js +0 -1741
  928. package/dist/mwl/runtime.js.map +0 -1
  929. package/dist/mwl/schema.d.ts +0 -151
  930. package/dist/mwl/schema.d.ts.map +0 -1
  931. package/dist/mwl/schema.js +0 -979
  932. package/dist/mwl/schema.js.map +0 -1
  933. package/dist/mwl/scripts.d.ts +0 -26
  934. package/dist/mwl/scripts.d.ts.map +0 -1
  935. package/dist/mwl/scripts.js +0 -34
  936. package/dist/mwl/scripts.js.map +0 -1
  937. package/dist/mwl/tables.d.ts +0 -95
  938. package/dist/mwl/tables.d.ts.map +0 -1
  939. package/dist/mwl/tables.js +0 -100
  940. package/dist/mwl/tables.js.map +0 -1
  941. package/dist/mwl/utils.d.ts +0 -10
  942. package/dist/mwl/utils.d.ts.map +0 -1
  943. package/dist/mwl/utils.js +0 -40
  944. package/dist/mwl/utils.js.map +0 -1
  945. package/dist/physics/PhysicsWorld.d.ts +0 -158
  946. package/dist/physics/PhysicsWorld.d.ts.map +0 -1
  947. package/dist/physics/PhysicsWorld.js +0 -376
  948. package/dist/physics/PhysicsWorld.js.map +0 -1
  949. package/dist/physics/XpbdWorld.d.ts +0 -213
  950. package/dist/physics/XpbdWorld.d.ts.map +0 -1
  951. package/dist/physics/XpbdWorld.js +0 -337
  952. package/dist/physics/XpbdWorld.js.map +0 -1
  953. package/dist/physics/cloth/index.d.ts +0 -99
  954. package/dist/physics/cloth/index.d.ts.map +0 -1
  955. package/dist/physics/cloth/index.js +0 -226
  956. package/dist/physics/cloth/index.js.map +0 -1
  957. package/dist/physics/index.d.ts +0 -7
  958. package/dist/physics/index.d.ts.map +0 -1
  959. package/dist/physics/index.js +0 -4
  960. package/dist/physics/index.js.map +0 -1
  961. package/dist/physics/spring/index.d.ts +0 -91
  962. package/dist/physics/spring/index.d.ts.map +0 -1
  963. package/dist/physics/spring/index.js +0 -120
  964. package/dist/physics/spring/index.js.map +0 -1
  965. package/dist/physics/xpbd.d.ts +0 -3
  966. package/dist/physics/xpbd.d.ts.map +0 -1
  967. package/dist/physics/xpbd.js +0 -2
  968. package/dist/physics/xpbd.js.map +0 -1
  969. package/dist/roguelike/Boss.d.ts +0 -79
  970. package/dist/roguelike/Boss.d.ts.map +0 -1
  971. package/dist/roguelike/Boss.js +0 -126
  972. package/dist/roguelike/Boss.js.map +0 -1
  973. package/dist/roguelike/Cave.d.ts +0 -124
  974. package/dist/roguelike/Cave.d.ts.map +0 -1
  975. package/dist/roguelike/Cave.js +0 -216
  976. package/dist/roguelike/Cave.js.map +0 -1
  977. package/dist/roguelike/Combat.d.ts +0 -35
  978. package/dist/roguelike/Combat.d.ts.map +0 -1
  979. package/dist/roguelike/Combat.js +0 -33
  980. package/dist/roguelike/Combat.js.map +0 -1
  981. package/dist/roguelike/ContentRoll.d.ts +0 -53
  982. package/dist/roguelike/ContentRoll.d.ts.map +0 -1
  983. package/dist/roguelike/ContentRoll.js +0 -48
  984. package/dist/roguelike/ContentRoll.js.map +0 -1
  985. package/dist/roguelike/Doors.d.ts +0 -73
  986. package/dist/roguelike/Doors.d.ts.map +0 -1
  987. package/dist/roguelike/Doors.js +0 -115
  988. package/dist/roguelike/Doors.js.map +0 -1
  989. package/dist/roguelike/DungeonParity.d.ts +0 -57
  990. package/dist/roguelike/DungeonParity.d.ts.map +0 -1
  991. package/dist/roguelike/DungeonParity.js +0 -87
  992. package/dist/roguelike/DungeonParity.js.map +0 -1
  993. package/dist/roguelike/Elevation.d.ts +0 -41
  994. package/dist/roguelike/Elevation.d.ts.map +0 -1
  995. package/dist/roguelike/Elevation.js +0 -52
  996. package/dist/roguelike/Elevation.js.map +0 -1
  997. package/dist/roguelike/Features.d.ts +0 -59
  998. package/dist/roguelike/Features.d.ts.map +0 -1
  999. package/dist/roguelike/Features.js +0 -76
  1000. package/dist/roguelike/Features.js.map +0 -1
  1001. package/dist/roguelike/FieldOfView.d.ts +0 -86
  1002. package/dist/roguelike/FieldOfView.d.ts.map +0 -1
  1003. package/dist/roguelike/FieldOfView.js +0 -148
  1004. package/dist/roguelike/FieldOfView.js.map +0 -1
  1005. package/dist/roguelike/Level.d.ts +0 -139
  1006. package/dist/roguelike/Level.d.ts.map +0 -1
  1007. package/dist/roguelike/Level.js +0 -189
  1008. package/dist/roguelike/Level.js.map +0 -1
  1009. package/dist/roguelike/MonsterAI.d.ts +0 -54
  1010. package/dist/roguelike/MonsterAI.d.ts.map +0 -1
  1011. package/dist/roguelike/MonsterAI.js +0 -83
  1012. package/dist/roguelike/MonsterAI.js.map +0 -1
  1013. package/dist/roguelike/MultiStageAbility.d.ts +0 -59
  1014. package/dist/roguelike/MultiStageAbility.d.ts.map +0 -1
  1015. package/dist/roguelike/MultiStageAbility.js +0 -76
  1016. package/dist/roguelike/MultiStageAbility.js.map +0 -1
  1017. package/dist/roguelike/MultiTurnBeam.d.ts +0 -108
  1018. package/dist/roguelike/MultiTurnBeam.d.ts.map +0 -1
  1019. package/dist/roguelike/MultiTurnBeam.js +0 -164
  1020. package/dist/roguelike/MultiTurnBeam.js.map +0 -1
  1021. package/dist/roguelike/Overworld.d.ts +0 -89
  1022. package/dist/roguelike/Overworld.d.ts.map +0 -1
  1023. package/dist/roguelike/Overworld.js +0 -325
  1024. package/dist/roguelike/Overworld.js.map +0 -1
  1025. package/dist/roguelike/Pathfinder.d.ts +0 -103
  1026. package/dist/roguelike/Pathfinder.d.ts.map +0 -1
  1027. package/dist/roguelike/Pathfinder.js +0 -213
  1028. package/dist/roguelike/Pathfinder.js.map +0 -1
  1029. package/dist/roguelike/Placement.d.ts +0 -62
  1030. package/dist/roguelike/Placement.d.ts.map +0 -1
  1031. package/dist/roguelike/Placement.js +0 -79
  1032. package/dist/roguelike/Placement.js.map +0 -1
  1033. package/dist/roguelike/RoomBuilders.d.ts +0 -60
  1034. package/dist/roguelike/RoomBuilders.d.ts.map +0 -1
  1035. package/dist/roguelike/RoomBuilders.js +0 -57
  1036. package/dist/roguelike/RoomBuilders.js.map +0 -1
  1037. package/dist/roguelike/Scheduler.d.ts +0 -96
  1038. package/dist/roguelike/Scheduler.d.ts.map +0 -1
  1039. package/dist/roguelike/Scheduler.js +0 -154
  1040. package/dist/roguelike/Scheduler.js.map +0 -1
  1041. package/dist/roguelike/Secrets.d.ts +0 -57
  1042. package/dist/roguelike/Secrets.d.ts.map +0 -1
  1043. package/dist/roguelike/Secrets.js +0 -77
  1044. package/dist/roguelike/Secrets.js.map +0 -1
  1045. package/dist/roguelike/Stealth.d.ts +0 -47
  1046. package/dist/roguelike/Stealth.d.ts.map +0 -1
  1047. package/dist/roguelike/Stealth.js +0 -48
  1048. package/dist/roguelike/Stealth.js.map +0 -1
  1049. package/dist/roguelike/Targeting.d.ts +0 -312
  1050. package/dist/roguelike/Targeting.d.ts.map +0 -1
  1051. package/dist/roguelike/Targeting.js +0 -483
  1052. package/dist/roguelike/Targeting.js.map +0 -1
  1053. package/dist/roguelike/TriggerTracker.d.ts +0 -46
  1054. package/dist/roguelike/TriggerTracker.d.ts.map +0 -1
  1055. package/dist/roguelike/TriggerTracker.js +0 -59
  1056. package/dist/roguelike/TriggerTracker.js.map +0 -1
  1057. package/dist/roguelike/generate.d.ts +0 -139
  1058. package/dist/roguelike/generate.d.ts.map +0 -1
  1059. package/dist/roguelike/generate.js +0 -166
  1060. package/dist/roguelike/generate.js.map +0 -1
  1061. package/dist/roguelike/index.d.ts +0 -48
  1062. package/dist/roguelike/index.d.ts.map +0 -1
  1063. package/dist/roguelike/index.js +0 -27
  1064. package/dist/roguelike/index.js.map +0 -1
  1065. package/dist/rpg/Collision.d.ts +0 -61
  1066. package/dist/rpg/Collision.d.ts.map +0 -1
  1067. package/dist/rpg/Collision.js +0 -94
  1068. package/dist/rpg/Collision.js.map +0 -1
  1069. package/dist/rpg/Event.d.ts +0 -50
  1070. package/dist/rpg/Event.d.ts.map +0 -1
  1071. package/dist/rpg/Event.js +0 -36
  1072. package/dist/rpg/Event.js.map +0 -1
  1073. package/dist/rpg/EventRunner.d.ts +0 -139
  1074. package/dist/rpg/EventRunner.d.ts.map +0 -1
  1075. package/dist/rpg/EventRunner.js +0 -125
  1076. package/dist/rpg/EventRunner.js.map +0 -1
  1077. package/dist/rpg/FreeMover.d.ts +0 -59
  1078. package/dist/rpg/FreeMover.d.ts.map +0 -1
  1079. package/dist/rpg/FreeMover.js +0 -79
  1080. package/dist/rpg/FreeMover.js.map +0 -1
  1081. package/dist/rpg/GameState.d.ts +0 -36
  1082. package/dist/rpg/GameState.d.ts.map +0 -1
  1083. package/dist/rpg/GameState.js +0 -49
  1084. package/dist/rpg/GameState.js.map +0 -1
  1085. package/dist/rpg/GridMover.d.ts +0 -71
  1086. package/dist/rpg/GridMover.d.ts.map +0 -1
  1087. package/dist/rpg/GridMover.js +0 -119
  1088. package/dist/rpg/GridMover.js.map +0 -1
  1089. package/dist/rpg/Marshal.d.ts +0 -81
  1090. package/dist/rpg/Marshal.d.ts.map +0 -1
  1091. package/dist/rpg/Marshal.js +0 -422
  1092. package/dist/rpg/Marshal.js.map +0 -1
  1093. package/dist/rpg/MovableSprite.d.ts +0 -31
  1094. package/dist/rpg/MovableSprite.d.ts.map +0 -1
  1095. package/dist/rpg/MovableSprite.js +0 -10
  1096. package/dist/rpg/MovableSprite.js.map +0 -1
  1097. package/dist/rpg/MoveRoute.d.ts +0 -118
  1098. package/dist/rpg/MoveRoute.d.ts.map +0 -1
  1099. package/dist/rpg/MoveRoute.js +0 -139
  1100. package/dist/rpg/MoveRoute.js.map +0 -1
  1101. package/dist/rpg/Quest.d.ts +0 -173
  1102. package/dist/rpg/Quest.d.ts.map +0 -1
  1103. package/dist/rpg/Quest.js +0 -221
  1104. package/dist/rpg/Quest.js.map +0 -1
  1105. package/dist/rpg/automap.d.ts +0 -81
  1106. package/dist/rpg/automap.d.ts.map +0 -1
  1107. package/dist/rpg/automap.js +0 -107
  1108. package/dist/rpg/automap.js.map +0 -1
  1109. package/dist/rpg/dialogue-text.d.ts +0 -81
  1110. package/dist/rpg/dialogue-text.d.ts.map +0 -1
  1111. package/dist/rpg/dialogue-text.js +0 -88
  1112. package/dist/rpg/dialogue-text.js.map +0 -1
  1113. package/dist/rpg/index.d.ts +0 -25
  1114. package/dist/rpg/index.d.ts.map +0 -1
  1115. package/dist/rpg/index.js +0 -14
  1116. package/dist/rpg/index.js.map +0 -1
  1117. package/dist/rpg/twee-events.d.ts +0 -48
  1118. package/dist/rpg/twee-events.d.ts.map +0 -1
  1119. package/dist/rpg/twee-events.js +0 -35
  1120. package/dist/rpg/twee-events.js.map +0 -1
  1121. package/dist/simulation/Campaign.d.ts +0 -60
  1122. package/dist/simulation/Campaign.d.ts.map +0 -1
  1123. package/dist/simulation/Campaign.js +0 -89
  1124. package/dist/simulation/Campaign.js.map +0 -1
  1125. package/dist/simulation/CampaignSave.d.ts +0 -68
  1126. package/dist/simulation/CampaignSave.d.ts.map +0 -1
  1127. package/dist/simulation/CampaignSave.js +0 -54
  1128. package/dist/simulation/CampaignSave.js.map +0 -1
  1129. package/dist/simulation/EventPresentation.d.ts +0 -111
  1130. package/dist/simulation/EventPresentation.d.ts.map +0 -1
  1131. package/dist/simulation/EventPresentation.js +0 -120
  1132. package/dist/simulation/EventPresentation.js.map +0 -1
  1133. package/dist/simulation/Harness.d.ts +0 -26
  1134. package/dist/simulation/Harness.d.ts.map +0 -1
  1135. package/dist/simulation/Harness.js +0 -26
  1136. package/dist/simulation/Harness.js.map +0 -1
  1137. package/dist/simulation/Runtime.d.ts +0 -189
  1138. package/dist/simulation/Runtime.d.ts.map +0 -1
  1139. package/dist/simulation/Runtime.js +0 -244
  1140. package/dist/simulation/Runtime.js.map +0 -1
  1141. package/dist/simulation/Scenario.d.ts +0 -44
  1142. package/dist/simulation/Scenario.d.ts.map +0 -1
  1143. package/dist/simulation/Scenario.js +0 -40
  1144. package/dist/simulation/Scenario.js.map +0 -1
  1145. package/dist/simulation/Training.d.ts +0 -220
  1146. package/dist/simulation/Training.d.ts.map +0 -1
  1147. package/dist/simulation/Training.js +0 -366
  1148. package/dist/simulation/Training.js.map +0 -1
  1149. package/dist/simulation/Turns.d.ts +0 -40
  1150. package/dist/simulation/Turns.d.ts.map +0 -1
  1151. package/dist/simulation/Turns.js +0 -41
  1152. package/dist/simulation/Turns.js.map +0 -1
  1153. package/dist/simulation/index.d.ts +0 -25
  1154. package/dist/simulation/index.d.ts.map +0 -1
  1155. package/dist/simulation/index.js +0 -16
  1156. package/dist/simulation/index.js.map +0 -1
  1157. package/dist/skeleton/index.d.ts +0 -212
  1158. package/dist/skeleton/index.d.ts.map +0 -1
  1159. package/dist/skeleton/index.js +0 -325
  1160. package/dist/skeleton/index.js.map +0 -1
  1161. package/dist/testing/FakeAudio.d.ts +0 -149
  1162. package/dist/testing/FakeAudio.d.ts.map +0 -1
  1163. package/dist/testing/FakeAudio.js +0 -219
  1164. package/dist/testing/FakeAudio.js.map +0 -1
  1165. package/dist/testing/SceneControls.d.ts +0 -35
  1166. package/dist/testing/SceneControls.d.ts.map +0 -1
  1167. package/dist/testing/SceneControls.js +0 -49
  1168. package/dist/testing/SceneControls.js.map +0 -1
  1169. package/dist/testing/index.d.ts +0 -125
  1170. package/dist/testing/index.d.ts.map +0 -1
  1171. package/dist/testing/index.js +0 -157
  1172. package/dist/testing/index.js.map +0 -1
  1173. package/dist/threads/index.d.ts +0 -3
  1174. package/dist/threads/index.d.ts.map +0 -1
  1175. package/dist/threads/index.js +0 -2
  1176. package/dist/threads/index.js.map +0 -1
  1177. package/dist/threads/spawn.d.ts +0 -73
  1178. package/dist/threads/spawn.d.ts.map +0 -1
  1179. package/dist/threads/spawn.js +0 -167
  1180. package/dist/threads/spawn.js.map +0 -1
  1181. package/dist/threads/worker.d.ts +0 -51
  1182. package/dist/threads/worker.d.ts.map +0 -1
  1183. package/dist/threads/worker.js +0 -84
  1184. package/dist/threads/worker.js.map +0 -1
  1185. package/dist/three-d/Character3D.d.ts +0 -74
  1186. package/dist/three-d/Character3D.d.ts.map +0 -1
  1187. package/dist/three-d/Character3D.js +0 -122
  1188. package/dist/three-d/Character3D.js.map +0 -1
  1189. package/dist/three-d/Collision3D.d.ts +0 -111
  1190. package/dist/three-d/Collision3D.d.ts.map +0 -1
  1191. package/dist/three-d/Collision3D.js +0 -119
  1192. package/dist/three-d/Collision3D.js.map +0 -1
  1193. package/dist/three-d/Engine3D.d.ts +0 -25
  1194. package/dist/three-d/Engine3D.d.ts.map +0 -1
  1195. package/dist/three-d/Engine3D.js +0 -45
  1196. package/dist/three-d/Engine3D.js.map +0 -1
  1197. package/dist/three-d/Grid.d.ts +0 -30
  1198. package/dist/three-d/Grid.d.ts.map +0 -1
  1199. package/dist/three-d/Grid.js +0 -24
  1200. package/dist/three-d/Grid.js.map +0 -1
  1201. package/dist/three-d/Heightmap.d.ts +0 -38
  1202. package/dist/three-d/Heightmap.d.ts.map +0 -1
  1203. package/dist/three-d/Heightmap.js +0 -29
  1204. package/dist/three-d/Heightmap.js.map +0 -1
  1205. package/dist/three-d/Models.d.ts +0 -49
  1206. package/dist/three-d/Models.d.ts.map +0 -1
  1207. package/dist/three-d/Models.js +0 -77
  1208. package/dist/three-d/Models.js.map +0 -1
  1209. package/dist/three-d/TileGrid3D.d.ts +0 -27
  1210. package/dist/three-d/TileGrid3D.d.ts.map +0 -1
  1211. package/dist/three-d/TileGrid3D.js +0 -66
  1212. package/dist/three-d/TileGrid3D.js.map +0 -1
  1213. package/dist/three-d/Vox.d.ts +0 -43
  1214. package/dist/three-d/Vox.d.ts.map +0 -1
  1215. package/dist/three-d/Vox.js +0 -108
  1216. package/dist/three-d/Vox.js.map +0 -1
  1217. package/dist/three-d/index.d.ts +0 -15
  1218. package/dist/three-d/index.d.ts.map +0 -1
  1219. package/dist/three-d/index.js +0 -8
  1220. package/dist/three-d/index.js.map +0 -1
  1221. package/dist/two-d/Game.d.ts +0 -240
  1222. package/dist/two-d/Game.d.ts.map +0 -1
  1223. package/dist/two-d/Game.js +0 -487
  1224. package/dist/two-d/Game.js.map +0 -1
  1225. package/dist/two-d/QualityScaler.d.ts +0 -63
  1226. package/dist/two-d/QualityScaler.d.ts.map +0 -1
  1227. package/dist/two-d/QualityScaler.js +0 -92
  1228. package/dist/two-d/QualityScaler.js.map +0 -1
  1229. package/dist/two-d/ResolutionFit.d.ts +0 -28
  1230. package/dist/two-d/ResolutionFit.d.ts.map +0 -1
  1231. package/dist/two-d/ResolutionFit.js +0 -39
  1232. package/dist/two-d/ResolutionFit.js.map +0 -1
  1233. package/dist/two-d/Scene2D.d.ts +0 -43
  1234. package/dist/two-d/Scene2D.d.ts.map +0 -1
  1235. package/dist/two-d/Scene2D.js +0 -53
  1236. package/dist/two-d/Scene2D.js.map +0 -1
  1237. package/dist/two-d/index.d.ts +0 -22
  1238. package/dist/two-d/index.d.ts.map +0 -1
  1239. package/dist/two-d/index.js +0 -19
  1240. package/dist/two-d/index.js.map +0 -1
  1241. package/dist/two-d/pixi-interop.d.ts +0 -66
  1242. package/dist/two-d/pixi-interop.d.ts.map +0 -1
  1243. package/dist/two-d/pixi-interop.js +0 -72
  1244. package/dist/two-d/pixi-interop.js.map +0 -1
  1245. package/dist/two-d/presentation/MwlPresentation.d.ts +0 -117
  1246. package/dist/two-d/presentation/MwlPresentation.d.ts.map +0 -1
  1247. package/dist/two-d/presentation/MwlPresentation.js +0 -755
  1248. package/dist/two-d/presentation/MwlPresentation.js.map +0 -1
  1249. package/dist/two-d/presentation/index.d.ts +0 -3
  1250. package/dist/two-d/presentation/index.d.ts.map +0 -1
  1251. package/dist/two-d/presentation/index.js +0 -2
  1252. package/dist/two-d/presentation/index.js.map +0 -1
  1253. package/dist/two-d/render/ActorAnimator.d.ts +0 -92
  1254. package/dist/two-d/render/ActorAnimator.d.ts.map +0 -1
  1255. package/dist/two-d/render/ActorAnimator.js +0 -97
  1256. package/dist/two-d/render/ActorAnimator.js.map +0 -1
  1257. package/dist/two-d/render/AnimatedSprite.d.ts +0 -154
  1258. package/dist/two-d/render/AnimatedSprite.d.ts.map +0 -1
  1259. package/dist/two-d/render/AnimatedSprite.js +0 -197
  1260. package/dist/two-d/render/AnimatedSprite.js.map +0 -1
  1261. package/dist/two-d/render/Autotile.d.ts +0 -74
  1262. package/dist/two-d/render/Autotile.d.ts.map +0 -1
  1263. package/dist/two-d/render/Autotile.js +0 -149
  1264. package/dist/two-d/render/Autotile.js.map +0 -1
  1265. package/dist/two-d/render/Beam.d.ts +0 -136
  1266. package/dist/two-d/render/Beam.d.ts.map +0 -1
  1267. package/dist/two-d/render/Beam.js +0 -203
  1268. package/dist/two-d/render/Beam.js.map +0 -1
  1269. package/dist/two-d/render/Camera.d.ts +0 -255
  1270. package/dist/two-d/render/Camera.d.ts.map +0 -1
  1271. package/dist/two-d/render/Camera.js +0 -376
  1272. package/dist/two-d/render/Camera.js.map +0 -1
  1273. package/dist/two-d/render/Capabilities.d.ts +0 -84
  1274. package/dist/two-d/render/Capabilities.d.ts.map +0 -1
  1275. package/dist/two-d/render/Capabilities.js +0 -129
  1276. package/dist/two-d/render/Capabilities.js.map +0 -1
  1277. package/dist/two-d/render/ClothSprite.d.ts +0 -83
  1278. package/dist/two-d/render/ClothSprite.d.ts.map +0 -1
  1279. package/dist/two-d/render/ClothSprite.js +0 -105
  1280. package/dist/two-d/render/ClothSprite.js.map +0 -1
  1281. package/dist/two-d/render/ColorBlindness.d.ts +0 -39
  1282. package/dist/two-d/render/ColorBlindness.d.ts.map +0 -1
  1283. package/dist/two-d/render/ColorBlindness.js +0 -45
  1284. package/dist/two-d/render/ColorBlindness.js.map +0 -1
  1285. package/dist/two-d/render/ColorTransformBatcher.d.ts +0 -143
  1286. package/dist/two-d/render/ColorTransformBatcher.d.ts.map +0 -1
  1287. package/dist/two-d/render/ColorTransformBatcher.js +0 -395
  1288. package/dist/two-d/render/ColorTransformBatcher.js.map +0 -1
  1289. package/dist/two-d/render/Flights.d.ts +0 -90
  1290. package/dist/two-d/render/Flights.d.ts.map +0 -1
  1291. package/dist/two-d/render/Flights.js +0 -135
  1292. package/dist/two-d/render/Flights.js.map +0 -1
  1293. package/dist/two-d/render/FogLayer.d.ts +0 -68
  1294. package/dist/two-d/render/FogLayer.d.ts.map +0 -1
  1295. package/dist/two-d/render/FogLayer.js +0 -83
  1296. package/dist/two-d/render/FogLayer.js.map +0 -1
  1297. package/dist/two-d/render/Halo.d.ts +0 -58
  1298. package/dist/two-d/render/Halo.d.ts.map +0 -1
  1299. package/dist/two-d/render/Halo.js +0 -48
  1300. package/dist/two-d/render/Halo.js.map +0 -1
  1301. package/dist/two-d/render/HazeLayer.d.ts +0 -112
  1302. package/dist/two-d/render/HazeLayer.d.ts.map +0 -1
  1303. package/dist/two-d/render/HazeLayer.js +0 -186
  1304. package/dist/two-d/render/HazeLayer.js.map +0 -1
  1305. package/dist/two-d/render/ImageModifiers.d.ts +0 -312
  1306. package/dist/two-d/render/ImageModifiers.d.ts.map +0 -1
  1307. package/dist/two-d/render/ImageModifiers.js +0 -728
  1308. package/dist/two-d/render/ImageModifiers.js.map +0 -1
  1309. package/dist/two-d/render/LayeredSprite.d.ts +0 -54
  1310. package/dist/two-d/render/LayeredSprite.d.ts.map +0 -1
  1311. package/dist/two-d/render/LayeredSprite.js +0 -80
  1312. package/dist/two-d/render/LayeredSprite.js.map +0 -1
  1313. package/dist/two-d/render/LightningArc.d.ts +0 -57
  1314. package/dist/two-d/render/LightningArc.d.ts.map +0 -1
  1315. package/dist/two-d/render/LightningArc.js +0 -91
  1316. package/dist/two-d/render/LightningArc.js.map +0 -1
  1317. package/dist/two-d/render/LiquidLayer.d.ts +0 -62
  1318. package/dist/two-d/render/LiquidLayer.d.ts.map +0 -1
  1319. package/dist/two-d/render/LiquidLayer.js +0 -102
  1320. package/dist/two-d/render/LiquidLayer.js.map +0 -1
  1321. package/dist/two-d/render/Minimap.d.ts +0 -100
  1322. package/dist/two-d/render/Minimap.d.ts.map +0 -1
  1323. package/dist/two-d/render/Minimap.js +0 -157
  1324. package/dist/two-d/render/Minimap.js.map +0 -1
  1325. package/dist/two-d/render/NeonGlow.d.ts +0 -100
  1326. package/dist/two-d/render/NeonGlow.d.ts.map +0 -1
  1327. package/dist/two-d/render/NeonGlow.js +0 -184
  1328. package/dist/two-d/render/NeonGlow.js.map +0 -1
  1329. package/dist/two-d/render/PaletteRemap.d.ts +0 -154
  1330. package/dist/two-d/render/PaletteRemap.d.ts.map +0 -1
  1331. package/dist/two-d/render/PaletteRemap.js +0 -217
  1332. package/dist/two-d/render/PaletteRemap.js.map +0 -1
  1333. package/dist/two-d/render/Particles.d.ts +0 -262
  1334. package/dist/two-d/render/Particles.d.ts.map +0 -1
  1335. package/dist/two-d/render/Particles.js +0 -371
  1336. package/dist/two-d/render/Particles.js.map +0 -1
  1337. package/dist/two-d/render/Projectile.d.ts +0 -67
  1338. package/dist/two-d/render/Projectile.d.ts.map +0 -1
  1339. package/dist/two-d/render/Projectile.js +0 -78
  1340. package/dist/two-d/render/Projectile.js.map +0 -1
  1341. package/dist/two-d/render/RpgmAutotile.d.ts +0 -324
  1342. package/dist/two-d/render/RpgmAutotile.d.ts.map +0 -1
  1343. package/dist/two-d/render/RpgmAutotile.js +0 -933
  1344. package/dist/two-d/render/RpgmAutotile.js.map +0 -1
  1345. package/dist/two-d/render/SceneTransition.d.ts +0 -301
  1346. package/dist/two-d/render/SceneTransition.d.ts.map +0 -1
  1347. package/dist/two-d/render/SceneTransition.js +0 -458
  1348. package/dist/two-d/render/SceneTransition.js.map +0 -1
  1349. package/dist/two-d/render/ScreenEffects.d.ts +0 -124
  1350. package/dist/two-d/render/ScreenEffects.d.ts.map +0 -1
  1351. package/dist/two-d/render/ScreenEffects.js +0 -215
  1352. package/dist/two-d/render/ScreenEffects.js.map +0 -1
  1353. package/dist/two-d/render/Shape2D.d.ts +0 -146
  1354. package/dist/two-d/render/Shape2D.d.ts.map +0 -1
  1355. package/dist/two-d/render/Shape2D.js +0 -166
  1356. package/dist/two-d/render/Shape2D.js.map +0 -1
  1357. package/dist/two-d/render/SkeletalSprite.d.ts +0 -121
  1358. package/dist/two-d/render/SkeletalSprite.d.ts.map +0 -1
  1359. package/dist/two-d/render/SkeletalSprite.js +0 -214
  1360. package/dist/two-d/render/SkeletalSprite.js.map +0 -1
  1361. package/dist/two-d/render/SpringSprite.d.ts +0 -40
  1362. package/dist/two-d/render/SpringSprite.d.ts.map +0 -1
  1363. package/dist/two-d/render/SpringSprite.js +0 -39
  1364. package/dist/two-d/render/SpringSprite.js.map +0 -1
  1365. package/dist/two-d/render/SpriteAttachment.d.ts +0 -55
  1366. package/dist/two-d/render/SpriteAttachment.d.ts.map +0 -1
  1367. package/dist/two-d/render/SpriteAttachment.js +0 -60
  1368. package/dist/two-d/render/SpriteAttachment.js.map +0 -1
  1369. package/dist/two-d/render/SpriteDeform.d.ts +0 -156
  1370. package/dist/two-d/render/SpriteDeform.d.ts.map +0 -1
  1371. package/dist/two-d/render/SpriteDeform.js +0 -278
  1372. package/dist/two-d/render/SpriteDeform.js.map +0 -1
  1373. package/dist/two-d/render/SpriteGroup.d.ts +0 -83
  1374. package/dist/two-d/render/SpriteGroup.d.ts.map +0 -1
  1375. package/dist/two-d/render/SpriteGroup.js +0 -107
  1376. package/dist/two-d/render/SpriteGroup.js.map +0 -1
  1377. package/dist/two-d/render/SpriteMotion.d.ts +0 -121
  1378. package/dist/two-d/render/SpriteMotion.d.ts.map +0 -1
  1379. package/dist/two-d/render/SpriteMotion.js +0 -193
  1380. package/dist/two-d/render/SpriteMotion.js.map +0 -1
  1381. package/dist/two-d/render/SpriteSheet.d.ts +0 -62
  1382. package/dist/two-d/render/SpriteSheet.d.ts.map +0 -1
  1383. package/dist/two-d/render/SpriteSheet.js +0 -122
  1384. package/dist/two-d/render/SpriteSheet.js.map +0 -1
  1385. package/dist/two-d/render/StatusVisuals.d.ts +0 -86
  1386. package/dist/two-d/render/StatusVisuals.d.ts.map +0 -1
  1387. package/dist/two-d/render/StatusVisuals.js +0 -111
  1388. package/dist/two-d/render/StatusVisuals.js.map +0 -1
  1389. package/dist/two-d/render/SvgSkeleton.d.ts +0 -54
  1390. package/dist/two-d/render/SvgSkeleton.d.ts.map +0 -1
  1391. package/dist/two-d/render/SvgSkeleton.js +0 -112
  1392. package/dist/two-d/render/SvgSkeleton.js.map +0 -1
  1393. package/dist/two-d/render/TerrainGraphics.d.ts +0 -142
  1394. package/dist/two-d/render/TerrainGraphics.d.ts.map +0 -1
  1395. package/dist/two-d/render/TerrainGraphics.js +0 -161
  1396. package/dist/two-d/render/TerrainGraphics.js.map +0 -1
  1397. package/dist/two-d/render/TerrainGraphicsLayer.d.ts +0 -55
  1398. package/dist/two-d/render/TerrainGraphicsLayer.d.ts.map +0 -1
  1399. package/dist/two-d/render/TerrainGraphicsLayer.js +0 -54
  1400. package/dist/two-d/render/TerrainGraphicsLayer.js.map +0 -1
  1401. package/dist/two-d/render/TileMap.d.ts +0 -395
  1402. package/dist/two-d/render/TileMap.d.ts.map +0 -1
  1403. package/dist/two-d/render/TileMap.js +0 -967
  1404. package/dist/two-d/render/TileMap.js.map +0 -1
  1405. package/dist/two-d/render/TiledMap.d.ts +0 -113
  1406. package/dist/two-d/render/TiledMap.d.ts.map +0 -1
  1407. package/dist/two-d/render/TiledMap.js +0 -129
  1408. package/dist/two-d/render/TiledMap.js.map +0 -1
  1409. package/dist/two-d/render/TintedSprite.d.ts +0 -60
  1410. package/dist/two-d/render/TintedSprite.d.ts.map +0 -1
  1411. package/dist/two-d/render/TintedSprite.js +0 -88
  1412. package/dist/two-d/render/TintedSprite.js.map +0 -1
  1413. package/dist/two-d/render/Types2D.d.ts +0 -56
  1414. package/dist/two-d/render/Types2D.d.ts.map +0 -1
  1415. package/dist/two-d/render/Types2D.js +0 -45
  1416. package/dist/two-d/render/Types2D.js.map +0 -1
  1417. package/dist/two-d/render/Viewport.d.ts +0 -68
  1418. package/dist/two-d/render/Viewport.d.ts.map +0 -1
  1419. package/dist/two-d/render/Viewport.js +0 -74
  1420. package/dist/two-d/render/Viewport.js.map +0 -1
  1421. package/dist/two-d/render/index.d.ts +0 -81
  1422. package/dist/two-d/render/index.d.ts.map +0 -1
  1423. package/dist/two-d/render/index.js +0 -43
  1424. package/dist/two-d/render/index.js.map +0 -1
  1425. package/dist/two-d/stage/DialogueStage.d.ts +0 -90
  1426. package/dist/two-d/stage/DialogueStage.d.ts.map +0 -1
  1427. package/dist/two-d/stage/DialogueStage.js +0 -218
  1428. package/dist/two-d/stage/DialogueStage.js.map +0 -1
  1429. package/dist/two-d/stage/StoryScreen.d.ts +0 -110
  1430. package/dist/two-d/stage/StoryScreen.d.ts.map +0 -1
  1431. package/dist/two-d/stage/StoryScreen.js +0 -178
  1432. package/dist/two-d/stage/StoryScreen.js.map +0 -1
  1433. package/dist/two-d/stage/dialogue-text.d.ts +0 -81
  1434. package/dist/two-d/stage/dialogue-text.d.ts.map +0 -1
  1435. package/dist/two-d/stage/dialogue-text.js +0 -95
  1436. package/dist/two-d/stage/dialogue-text.js.map +0 -1
  1437. package/dist/two-d/stage/index.d.ts +0 -10
  1438. package/dist/two-d/stage/index.d.ts.map +0 -1
  1439. package/dist/two-d/stage/index.js +0 -6
  1440. package/dist/two-d/stage/index.js.map +0 -1
  1441. package/dist/two-d/stage/script.d.ts +0 -160
  1442. package/dist/two-d/stage/script.d.ts.map +0 -1
  1443. package/dist/two-d/stage/script.js +0 -207
  1444. package/dist/two-d/stage/script.js.map +0 -1
  1445. package/dist/two-d/stage/twee.d.ts +0 -35
  1446. package/dist/two-d/stage/twee.d.ts.map +0 -1
  1447. package/dist/two-d/stage/twee.js +0 -28
  1448. package/dist/two-d/stage/twee.js.map +0 -1
  1449. package/dist/two-d/ui/Bar.d.ts +0 -83
  1450. package/dist/two-d/ui/Bar.d.ts.map +0 -1
  1451. package/dist/two-d/ui/Bar.js +0 -110
  1452. package/dist/two-d/ui/Bar.js.map +0 -1
  1453. package/dist/two-d/ui/BitmapLabel.d.ts +0 -58
  1454. package/dist/two-d/ui/BitmapLabel.d.ts.map +0 -1
  1455. package/dist/two-d/ui/BitmapLabel.js +0 -82
  1456. package/dist/two-d/ui/BitmapLabel.js.map +0 -1
  1457. package/dist/two-d/ui/Button.d.ts +0 -133
  1458. package/dist/two-d/ui/Button.d.ts.map +0 -1
  1459. package/dist/two-d/ui/Button.js +0 -254
  1460. package/dist/two-d/ui/Button.js.map +0 -1
  1461. package/dist/two-d/ui/Checkbox.d.ts +0 -44
  1462. package/dist/two-d/ui/Checkbox.d.ts.map +0 -1
  1463. package/dist/two-d/ui/Checkbox.js +0 -89
  1464. package/dist/two-d/ui/Checkbox.js.map +0 -1
  1465. package/dist/two-d/ui/DataTable.d.ts +0 -79
  1466. package/dist/two-d/ui/DataTable.d.ts.map +0 -1
  1467. package/dist/two-d/ui/DataTable.js +0 -164
  1468. package/dist/two-d/ui/DataTable.js.map +0 -1
  1469. package/dist/two-d/ui/Dropdown.d.ts +0 -79
  1470. package/dist/two-d/ui/Dropdown.d.ts.map +0 -1
  1471. package/dist/two-d/ui/Dropdown.js +0 -136
  1472. package/dist/two-d/ui/Dropdown.js.map +0 -1
  1473. package/dist/two-d/ui/DropdownView.d.ts +0 -100
  1474. package/dist/two-d/ui/DropdownView.d.ts.map +0 -1
  1475. package/dist/two-d/ui/DropdownView.js +0 -234
  1476. package/dist/two-d/ui/DropdownView.js.map +0 -1
  1477. package/dist/two-d/ui/EventDialogue.d.ts +0 -23
  1478. package/dist/two-d/ui/EventDialogue.d.ts.map +0 -1
  1479. package/dist/two-d/ui/EventDialogue.js +0 -33
  1480. package/dist/two-d/ui/EventDialogue.js.map +0 -1
  1481. package/dist/two-d/ui/FloatingText.d.ts +0 -123
  1482. package/dist/two-d/ui/FloatingText.d.ts.map +0 -1
  1483. package/dist/two-d/ui/FloatingText.js +0 -153
  1484. package/dist/two-d/ui/FloatingText.js.map +0 -1
  1485. package/dist/two-d/ui/FloatingTextStack.d.ts +0 -150
  1486. package/dist/two-d/ui/FloatingTextStack.d.ts.map +0 -1
  1487. package/dist/two-d/ui/FloatingTextStack.js +0 -170
  1488. package/dist/two-d/ui/FloatingTextStack.js.map +0 -1
  1489. package/dist/two-d/ui/HelpScreen.d.ts +0 -45
  1490. package/dist/two-d/ui/HelpScreen.d.ts.map +0 -1
  1491. package/dist/two-d/ui/HelpScreen.js +0 -59
  1492. package/dist/two-d/ui/HelpScreen.js.map +0 -1
  1493. package/dist/two-d/ui/IconGrid.d.ts +0 -143
  1494. package/dist/two-d/ui/IconGrid.d.ts.map +0 -1
  1495. package/dist/two-d/ui/IconGrid.js +0 -327
  1496. package/dist/two-d/ui/IconGrid.js.map +0 -1
  1497. package/dist/two-d/ui/Label.d.ts +0 -63
  1498. package/dist/two-d/ui/Label.d.ts.map +0 -1
  1499. package/dist/two-d/ui/Label.js +0 -134
  1500. package/dist/two-d/ui/Label.js.map +0 -1
  1501. package/dist/two-d/ui/Layout.d.ts +0 -139
  1502. package/dist/two-d/ui/Layout.d.ts.map +0 -1
  1503. package/dist/two-d/ui/Layout.js +0 -221
  1504. package/dist/two-d/ui/Layout.js.map +0 -1
  1505. package/dist/two-d/ui/ListView.d.ts +0 -130
  1506. package/dist/two-d/ui/ListView.d.ts.map +0 -1
  1507. package/dist/two-d/ui/ListView.js +0 -326
  1508. package/dist/two-d/ui/ListView.js.map +0 -1
  1509. package/dist/two-d/ui/LoadingScreen.d.ts +0 -54
  1510. package/dist/two-d/ui/LoadingScreen.d.ts.map +0 -1
  1511. package/dist/two-d/ui/LoadingScreen.js +0 -87
  1512. package/dist/two-d/ui/LoadingScreen.js.map +0 -1
  1513. package/dist/two-d/ui/MarkupText.d.ts +0 -66
  1514. package/dist/two-d/ui/MarkupText.d.ts.map +0 -1
  1515. package/dist/two-d/ui/MarkupText.js +0 -156
  1516. package/dist/two-d/ui/MarkupText.js.map +0 -1
  1517. package/dist/two-d/ui/MessageBox.d.ts +0 -134
  1518. package/dist/two-d/ui/MessageBox.d.ts.map +0 -1
  1519. package/dist/two-d/ui/MessageBox.js +0 -263
  1520. package/dist/two-d/ui/MessageBox.js.map +0 -1
  1521. package/dist/two-d/ui/MessageLog.d.ts +0 -90
  1522. package/dist/two-d/ui/MessageLog.d.ts.map +0 -1
  1523. package/dist/two-d/ui/MessageLog.js +0 -131
  1524. package/dist/two-d/ui/MessageLog.js.map +0 -1
  1525. package/dist/two-d/ui/Meter.d.ts +0 -76
  1526. package/dist/two-d/ui/Meter.d.ts.map +0 -1
  1527. package/dist/two-d/ui/Meter.js +0 -134
  1528. package/dist/two-d/ui/Meter.js.map +0 -1
  1529. package/dist/two-d/ui/NinePatch.d.ts +0 -49
  1530. package/dist/two-d/ui/NinePatch.d.ts.map +0 -1
  1531. package/dist/two-d/ui/NinePatch.js +0 -59
  1532. package/dist/two-d/ui/NinePatch.js.map +0 -1
  1533. package/dist/two-d/ui/OnScreenKeyboard.d.ts +0 -91
  1534. package/dist/two-d/ui/OnScreenKeyboard.d.ts.map +0 -1
  1535. package/dist/two-d/ui/OnScreenKeyboard.js +0 -109
  1536. package/dist/two-d/ui/OnScreenKeyboard.js.map +0 -1
  1537. package/dist/two-d/ui/RadioGroup.d.ts +0 -68
  1538. package/dist/two-d/ui/RadioGroup.d.ts.map +0 -1
  1539. package/dist/two-d/ui/RadioGroup.js +0 -177
  1540. package/dist/two-d/ui/RadioGroup.js.map +0 -1
  1541. package/dist/two-d/ui/RebindScreen.d.ts +0 -70
  1542. package/dist/two-d/ui/RebindScreen.d.ts.map +0 -1
  1543. package/dist/two-d/ui/RebindScreen.js +0 -129
  1544. package/dist/two-d/ui/RebindScreen.js.map +0 -1
  1545. package/dist/two-d/ui/RichLabel.d.ts +0 -62
  1546. package/dist/two-d/ui/RichLabel.d.ts.map +0 -1
  1547. package/dist/two-d/ui/RichLabel.js +0 -146
  1548. package/dist/two-d/ui/RichLabel.js.map +0 -1
  1549. package/dist/two-d/ui/ScrollBox.d.ts +0 -163
  1550. package/dist/two-d/ui/ScrollBox.d.ts.map +0 -1
  1551. package/dist/two-d/ui/ScrollBox.js +0 -340
  1552. package/dist/two-d/ui/ScrollBox.js.map +0 -1
  1553. package/dist/two-d/ui/ScrollText.d.ts +0 -131
  1554. package/dist/two-d/ui/ScrollText.d.ts.map +0 -1
  1555. package/dist/two-d/ui/ScrollText.js +0 -218
  1556. package/dist/two-d/ui/ScrollText.js.map +0 -1
  1557. package/dist/two-d/ui/SelectionModel.d.ts +0 -50
  1558. package/dist/two-d/ui/SelectionModel.d.ts.map +0 -1
  1559. package/dist/two-d/ui/SelectionModel.js +0 -73
  1560. package/dist/two-d/ui/SelectionModel.js.map +0 -1
  1561. package/dist/two-d/ui/SettingsScreen.d.ts +0 -112
  1562. package/dist/two-d/ui/SettingsScreen.d.ts.map +0 -1
  1563. package/dist/two-d/ui/SettingsScreen.js +0 -338
  1564. package/dist/two-d/ui/SettingsScreen.js.map +0 -1
  1565. package/dist/two-d/ui/Skins.d.ts +0 -59
  1566. package/dist/two-d/ui/Skins.d.ts.map +0 -1
  1567. package/dist/two-d/ui/Skins.js +0 -77
  1568. package/dist/two-d/ui/Skins.js.map +0 -1
  1569. package/dist/two-d/ui/Slider.d.ts +0 -91
  1570. package/dist/two-d/ui/Slider.d.ts.map +0 -1
  1571. package/dist/two-d/ui/Slider.js +0 -170
  1572. package/dist/two-d/ui/Slider.js.map +0 -1
  1573. package/dist/two-d/ui/Spinner.d.ts +0 -67
  1574. package/dist/two-d/ui/Spinner.d.ts.map +0 -1
  1575. package/dist/two-d/ui/Spinner.js +0 -137
  1576. package/dist/two-d/ui/Spinner.js.map +0 -1
  1577. package/dist/two-d/ui/StatsScreen.d.ts +0 -40
  1578. package/dist/two-d/ui/StatsScreen.d.ts.map +0 -1
  1579. package/dist/two-d/ui/StatsScreen.js +0 -42
  1580. package/dist/two-d/ui/StatsScreen.js.map +0 -1
  1581. package/dist/two-d/ui/TabbedList.d.ts +0 -118
  1582. package/dist/two-d/ui/TabbedList.d.ts.map +0 -1
  1583. package/dist/two-d/ui/TabbedList.js +0 -221
  1584. package/dist/two-d/ui/TabbedList.js.map +0 -1
  1585. package/dist/two-d/ui/TextModel.d.ts +0 -90
  1586. package/dist/two-d/ui/TextModel.d.ts.map +0 -1
  1587. package/dist/two-d/ui/TextModel.js +0 -175
  1588. package/dist/two-d/ui/TextModel.js.map +0 -1
  1589. package/dist/two-d/ui/TextPrompt.d.ts +0 -122
  1590. package/dist/two-d/ui/TextPrompt.d.ts.map +0 -1
  1591. package/dist/two-d/ui/TextPrompt.js +0 -236
  1592. package/dist/two-d/ui/TextPrompt.js.map +0 -1
  1593. package/dist/two-d/ui/TextSharpness.d.ts +0 -33
  1594. package/dist/two-d/ui/TextSharpness.d.ts.map +0 -1
  1595. package/dist/two-d/ui/TextSharpness.js +0 -56
  1596. package/dist/two-d/ui/TextSharpness.js.map +0 -1
  1597. package/dist/two-d/ui/Toast.d.ts +0 -57
  1598. package/dist/two-d/ui/Toast.d.ts.map +0 -1
  1599. package/dist/two-d/ui/Toast.js +0 -101
  1600. package/dist/two-d/ui/Toast.js.map +0 -1
  1601. package/dist/two-d/ui/Tooltip.d.ts +0 -177
  1602. package/dist/two-d/ui/Tooltip.d.ts.map +0 -1
  1603. package/dist/two-d/ui/Tooltip.js +0 -275
  1604. package/dist/two-d/ui/Tooltip.js.map +0 -1
  1605. package/dist/two-d/ui/TreeView.d.ts +0 -68
  1606. package/dist/two-d/ui/TreeView.d.ts.map +0 -1
  1607. package/dist/two-d/ui/TreeView.js +0 -133
  1608. package/dist/two-d/ui/TreeView.js.map +0 -1
  1609. package/dist/two-d/ui/VerticalLabel.d.ts +0 -69
  1610. package/dist/two-d/ui/VerticalLabel.d.ts.map +0 -1
  1611. package/dist/two-d/ui/VerticalLabel.js +0 -110
  1612. package/dist/two-d/ui/VerticalLabel.js.map +0 -1
  1613. package/dist/two-d/ui/Window.d.ts +0 -188
  1614. package/dist/two-d/ui/Window.d.ts.map +0 -1
  1615. package/dist/two-d/ui/Window.js +0 -311
  1616. package/dist/two-d/ui/Window.js.map +0 -1
  1617. package/dist/two-d/ui/WindowStack.d.ts +0 -63
  1618. package/dist/two-d/ui/WindowStack.d.ts.map +0 -1
  1619. package/dist/two-d/ui/WindowStack.js +0 -132
  1620. package/dist/two-d/ui/WindowStack.js.map +0 -1
  1621. package/dist/two-d/ui/a11y.d.ts +0 -43
  1622. package/dist/two-d/ui/a11y.d.ts.map +0 -1
  1623. package/dist/two-d/ui/a11y.js +0 -79
  1624. package/dist/two-d/ui/a11y.js.map +0 -1
  1625. package/dist/two-d/ui/contrast.d.ts +0 -30
  1626. package/dist/two-d/ui/contrast.d.ts.map +0 -1
  1627. package/dist/two-d/ui/contrast.js +0 -42
  1628. package/dist/two-d/ui/contrast.js.map +0 -1
  1629. package/dist/two-d/ui/index.d.ts +0 -96
  1630. package/dist/two-d/ui/index.d.ts.map +0 -1
  1631. package/dist/two-d/ui/index.js +0 -49
  1632. package/dist/two-d/ui/index.js.map +0 -1
  1633. package/dist/two-d/ui/markdown.d.ts +0 -55
  1634. package/dist/two-d/ui/markdown.d.ts.map +0 -1
  1635. package/dist/two-d/ui/markdown.js +0 -147
  1636. package/dist/two-d/ui/markdown.js.map +0 -1
  1637. package/dist/two-d/ui/markup.d.ts +0 -189
  1638. package/dist/two-d/ui/markup.d.ts.map +0 -1
  1639. package/dist/two-d/ui/markup.js +0 -387
  1640. package/dist/two-d/ui/markup.js.map +0 -1
  1641. package/dist/two-d/ui/reveal.d.ts +0 -41
  1642. package/dist/two-d/ui/reveal.d.ts.map +0 -1
  1643. package/dist/two-d/ui/reveal.js +0 -22
  1644. package/dist/two-d/ui/reveal.js.map +0 -1
  1645. package/dist/two-d/ui/theme.d.ts +0 -133
  1646. package/dist/two-d/ui/theme.d.ts.map +0 -1
  1647. package/dist/two-d/ui/theme.js +0 -122
  1648. package/dist/two-d/ui/theme.js.map +0 -1
  1649. package/dist/two-d/ui/themedText.d.ts +0 -20
  1650. package/dist/two-d/ui/themedText.d.ts.map +0 -1
  1651. package/dist/two-d/ui/themedText.js +0 -9
  1652. package/dist/two-d/ui/themedText.js.map +0 -1
  1653. package/dist/version.d.ts +0 -13
  1654. package/dist/version.d.ts.map +0 -1
  1655. package/dist/version.js +0 -13
  1656. package/dist/version.js.map +0 -1
  1657. package/dist/world/Encounters.d.ts +0 -32
  1658. package/dist/world/Encounters.d.ts.map +0 -1
  1659. package/dist/world/Encounters.js +0 -9
  1660. package/dist/world/Encounters.js.map +0 -1
  1661. package/dist/world/Environment.d.ts +0 -58
  1662. package/dist/world/Environment.d.ts.map +0 -1
  1663. package/dist/world/Environment.js +0 -89
  1664. package/dist/world/Environment.js.map +0 -1
  1665. package/dist/world/Overworld.d.ts +0 -39
  1666. package/dist/world/Overworld.d.ts.map +0 -1
  1667. package/dist/world/Overworld.js +0 -40
  1668. package/dist/world/Overworld.js.map +0 -1
  1669. package/dist/world/SideTurns.d.ts +0 -115
  1670. package/dist/world/SideTurns.d.ts.map +0 -1
  1671. package/dist/world/SideTurns.js +0 -138
  1672. package/dist/world/SideTurns.js.map +0 -1
  1673. package/dist/world/TurnClock.d.ts +0 -41
  1674. package/dist/world/TurnClock.d.ts.map +0 -1
  1675. package/dist/world/TurnClock.js +0 -49
  1676. package/dist/world/TurnClock.js.map +0 -1
  1677. package/dist/world/World.d.ts +0 -64
  1678. package/dist/world/World.d.ts.map +0 -1
  1679. package/dist/world/World.js +0 -91
  1680. package/dist/world/World.js.map +0 -1
  1681. package/dist/world/index.d.ts +0 -12
  1682. package/dist/world/index.d.ts.map +0 -1
  1683. package/dist/world/index.js +0 -7
  1684. package/dist/world/index.js.map +0 -1
  1685. package/sbom.cdx.json +0 -5996
  1686. package/tools/mwl.mjs +0 -466
  1687. package/tools/vendored/rgssad-wasm/LICENSE-MIT +0 -21
  1688. package/tools/vendored/rgssad-wasm/README.md +0 -15
  1689. package/tools/vendored/rgssad-wasm/package.json +0 -17
  1690. package/tools/vendored/rgssad-wasm/rgssad_wasm.d.ts +0 -41
  1691. package/tools/vendored/rgssad-wasm/rgssad_wasm.js +0 -6
  1692. package/tools/vendored/rgssad-wasm/rgssad_wasm_bg.js +0 -399
  1693. package/tools/vendored/rgssad-wasm/rgssad_wasm_bg.wasm +0 -0
  1694. package/tools/vendored/rgssad-wasm/rgssad_wasm_bg.wasm.d.ts +0 -17
  1695. package/tools.md +0 -219
package/README.md CHANGED
@@ -1,738 +1,11 @@
1
- # 🟦🟨mwg
1
+ # @datamoc/mw_games
2
2
 
3
- A framework for building tile games that run **from a local file**: no server, no install,
4
- no runtime to download. The game logic depends on no renderer at all, so a game draws through
5
- PixiJS in 2D (`mwg/two-d`) or Babylon.js in 3D (`mwg/3d`), and the dungeon generation, map
6
- events, quests, stats and turn order underneath are the same either way.
7
-
8
- Licensed under the [MPL-2.0](LICENSE): games built with `mwg` carry no licence obligation
9
- of their own; improvements to `mwg`'s own files are shared back.
10
-
11
- The canonical npm package is `@datamoc/mw_games`; use that name for installation, imports,
12
- tools and bundled data such as `data/microgm-opt.sf2`. `@datamoc/mwg` remains a compatible
13
- re-export package for existing projects. The recipes here consistently use the canonical name.
14
-
15
- **[Live examples and API docs](https://datamoc.github.io/mwg/)**: every example below,
16
- playable in the browser with no download, plus the generated API reference.
17
-
18
- **[AI project prompt](https://datamoc.github.io/mwg/ai-prompt/)**: a copy-ready prompt for
19
- planning or porting a demanding game with mwg, with links to the [mwg reference](https://github.com/datamoc/mwg/blob/main/REFERENCE.md)
20
- and the [mwg Pixel Dungeon study](https://datamoc.github.io/mwg-pixel-dungeon/).
21
-
22
- > **Status: pre-alpha.** Every module in the shared floor below, plus optional
23
- > 3D, mobile (Capacitor) and desktop (WebView2) packaging, is built and tested - see
24
- > [ROADMAP.md](https://github.com/datamoc/mwg/blob/main/ROADMAP.md) for open work, and
25
- > [CLOSED.md](https://github.com/datamoc/mwg/blob/main/CLOSED.md) for the full, numbered shipped history.
26
- > The packaging scaffolding is part of this repository rather than the published package, so a
27
- > game that installs `@datamoc/mw_games` supplies its own native shell:
28
- > [tools.md](https://github.com/datamoc/mwg/blob/main/tools.md#packaging-as-a-native-app)
29
- > carries the recipe.
30
- >
31
- > 0.4.0 was the reshaping release: the renderer moved out of `mwg/core`, `render`/`ui`/`stage`
32
- > became `mwg/two-d`, and a set of names that meant several things each were made to mean one.
33
- > It was deliberately the last such release planned before 1.0. Still `0.y.z` until then, but
34
- > the intent from here is additions rather than renames.
35
- >
36
- > **Versioning:** `0.y.z` until 1.0, so the public API can still change between minor versions.
37
- > Each future major version is meant to carry a name, one per letter of the alphabet: 1.0 takes
38
- > a name beginning with A, 2.0 one beginning with B, and so on. None of the names are chosen
39
- > yet, and nothing depends on them until they are.
40
- >
41
- > **API stability:** everything documented in [REFERENCE.md](https://github.com/datamoc/mwg/blob/main/REFERENCE.md) and
42
- > [API_REPORT.md](https://github.com/datamoc/mwg/blob/main/API_REPORT.md) is meant to be stable from 1.0 on. Anything that is not carries
43
- > an `@experimental` tag in its own doc comment, and is called out as experimental in the release
44
- > notes that introduce it, so it can still change or disappear without a major version. A rename
45
- > or a removal is deprecated first: the old name keeps working, its doc comment carries
46
- > `@deprecated` naming the replacement, and the release notes list it. 1.0 is the last release
47
- > where either can move silently.
48
-
49
- ## What it is for
50
-
51
- Tile-based games with a camera over a grid. Nine existing games mark out the corners of
52
- what that has to cover:
53
-
54
- | reference | what it demands that the others do not |
55
- | --- | --- |
56
- | **[Shattered Pixel Dungeon](https://shatteredpixel.com/shatteredpd/)** | generated dungeons, field of view, energy-cost turn scheduling, permadeath, dense inventory UI |
57
- | **[ADOM](https://www.adom.de/)** | many persistent maps joined by a world map, hunger and long-running effects, skills and attributes, quests inside a roguelike |
58
- | **[RPG Maker](https://www.rpgmakerweb.com/) projects** | hand-authored maps, events on tiles, dialogue and cutscenes, a party, menu combat, save slots |
59
- | **[Pokémon](https://www.pokemon.com/), in its traditional form** | encounter tables by terrain, a roster of creatures with derived stats, an effectiveness matrix, speed-ordered battles, capture and storage |
60
- | **[Ren'Py](https://www.renpy.org/), and the conversation scenes every RPG borrows from it** | a backdrop with characters standing in front of it, expressions, whoever speaks picked out from the rest, branching written as data |
61
- | **[The Battle for Wesnoth](https://www.wesnoth.org/)** | hexagonal tactical maps, movement cost and defense by terrain, zone of control, turn-based unit combat with recruiting and upkeep |
62
- | **[Flare](https://flarerpg.org/)'s Empyrean Campaign** | isometric tile maps, loaded straight from Tiled's own isometric export |
63
- | **[Dungeon Crawl Stone Soup](https://crawl.develz.org/) (Tiles)** | a branching dungeon of many interconnected levels, and autoexplore pathing to the nearest unseen tile |
64
- | **[Twine](https://twinery.org/)** | a story as named passages, not one linear list - a choice jumps to another passage by name, which can loop back or braid together, entirely on state and no visual stage at all |
65
-
66
- Underneath they share almost everything: a grid, a camera following someone across it,
67
- sprites that need tinting, turn-taking, characters with stats and equipment, an inventory,
68
- and a great many windows. The differences are narrower than the genre labels suggest: one
69
- generates its maps and another authors them; one schedules monsters and another schedules
70
- events; one rolls encounters from the terrain and another places them by hand; one puts its
71
- conversations in a corner of the map and another gives them the whole screen; one moves in
72
- four directions on a square grid and another in six on a hex grid.
73
-
74
- `mwg` provides that shared floor plus each specialism, on top of
75
- [PixiJS](https://pixijs.com) for rendering and [rot.js](https://ondras.github.io/rot.js/)
76
- for the classic roguelike algorithms. Optional 3D scenes use Babylon.js. See
77
- [Capability spec](#capability-spec).
78
-
79
- These are references for *what a finished game of each kind has to do*, and nothing more.
80
- No code, asset, data table or file format is taken from any of them: see
81
- [Licence and provenance](#licence-and-provenance).
82
-
83
- ### On being "like RPG Maker"
84
-
85
- Worth being precise, because RPG Maker is two things and `mwg` is only aiming at one of
86
- them for now.
87
-
88
- It is a **runtime**: a tile engine, an event interpreter, a battle system, a message box.
89
- That is what the capability spec below commits to.
90
-
91
- It is also an **editor**, and that is what most people actually mean by RPG Maker: drawing
92
- maps and wiring events without writing code. `mwg` does not have one. What it does instead
93
- is keep maps, events and dialogue as **plain data** rather than code, so an editor can be
94
- built against that data later without reworking the runtime, and so that in the meantime
95
- the data can be written by hand, generated by a script, or exported from
96
- [Tiled](https://www.mapeditor.org/), which is free and already good at this.
97
-
98
- That data is loaded exactly like any other asset, which means the `file://` story covers it
99
- for free: a finished game is still a folder you double-click.
100
-
101
- ## Two ways to use it
102
-
103
- **With a toolchain**, if you already use a bundler:
3
+ The former name of [`@datamoc/mwg`](https://www.npmjs.com/package/@datamoc/mwg).
104
4
 
105
5
  ```
106
- npm install @datamoc/mw_games pixi.js
6
+ npm install @datamoc/mwg
107
7
  ```
108
- ```ts
109
- import { Game, Scene } from '@datamoc/mw_games/core';
110
- import { Sprite } from '@datamoc/mw_games/two-d/render';
111
- ```
112
-
113
- `pixi.js` is the 2D renderer, and it is an optional peer dependency rather than an installed
114
- one: a game that only uses `mwg/core`, `mwg/roguelike`, `mwg/actors`, `mwg/i18n` or the other
115
- logic modules never downloads it. Name it on the install line when a game draws, exactly as
116
- `@babylonjs/core` is named for 3D.
117
-
118
- No npm registry access (an offline machine, a pinned artifact for reproducible builds)?
119
- `npm pack @datamoc/mw_games` downloads the exact published tarball; install it by path
120
- instead of by name:
121
-
122
- ```
123
- npm install ./datamoc-mw_games-<version>.tgz pixi.js
124
- ```
125
-
126
- **Without either.** Drop one file next to your page and open it: this path exists because
127
- the framework's own target is a game you can run by double-clicking it. Download
128
- `mw_games.global.js` from a [release](https://github.com/datamoc/mwg/releases) (no `npm`,
129
- no `node_modules`, nothing to install):
130
-
131
- ```html
132
- <script src="mw_games.global.js"></script>
133
- <script>
134
- const game = new mw_games.Game(document.getElementById('game'));
135
- </script>
136
- ```
137
-
138
- Node and npm are developer tools here, in the same sense that a compiler is. Nothing from
139
- them is present when the game runs: the output is HTML, JavaScript and assets.
140
-
141
- ## Running from `file://`
142
-
143
- Opening a page from disk takes three capabilities away, and the framework is shaped around
144
- them rather than pretending otherwise:
145
-
146
- | what is blocked | consequence | how `mwg` handles it |
147
- | --- | --- | --- |
148
- | ES modules (CORS) | `<script type="module">` will not run | the standalone build is a classic IIFE |
149
- | `fetch()` / XHR | no asset can be loaded on demand, no directory can be listed | `tools/compile-resources` turns assets into scripts loaded before the game |
150
- | cross-origin images | an `<img>` from a sibling file taints a WebGL texture in Chrome | assets travel as `data:` URIs inside those scripts |
151
-
152
- The practical effect: resources are **compiled at build time**, so at runtime every lookup
153
- is synchronous. Game code never awaits an asset. The developer-side scripts behind this
154
- and the other workflows (translation editing, benchmarks, packaging) are listed in
155
- [tools.md](https://github.com/datamoc/mwg/blob/main/tools.md).
156
-
157
- A game built with its own bundler (Vite, say, rather than this repo's own `vite.lib.config.ts`
158
- IIFE) hits the same ES-module block on its own entry tag - a bundler's default output is
159
- `<script type="module" crossorigin src="...">`, which `file://` refuses the same way. Rather
160
- than every such game reinventing that one rewrite (item 306),
161
- `tools/classic-html.mjs`'s `toClassicScript(html)` does it: given the built page's HTML, it
162
- returns the same HTML with that tag rewritten to `<script defer src="...">`, or `null` when it
163
- finds no such tag - the guard against running it against an unbuilt dev template by mistake.
164
- The bundle itself still has to already be a classic script (an IIFE or UMD build, not further
165
- ES module output); this only rewrites the tag pointing at it.
166
-
167
- With Vite, none of that is by hand: `@datamoc/mw_games/tools/vite`'s `mwgPage()` plugin sets
168
- the classic-script configuration and, when `vite build` finishes, compiles `assets/`, rewrites
169
- the tag and precompresses the output (item 381). The same finishing step is `emitPage` from
170
- `@datamoc/mw_games/tools/emit-page`, or the `mwg-emit` command, for another bundler.
171
- `mwgPage({ singleFile: true })` (or `{ singleFile: { compress: true } }`) additionally writes one
172
- self-contained `standalone.html`. Plain `.ts` tests under `node --test` need a Node with type
173
- stripping (22.18 or later, or any build with `--experimental-strip-types`); otherwise run them
174
- through `tsx`.
175
-
176
- The finished page also carries a Content-Security-Policy, with nothing to configure (item 374):
177
- scripts only from its own folder and its own hashed inline scripts, no network request except to
178
- origins the game declares (`mwgPage({ csp: { connect: ['https://news.example'] } })`), and no
179
- image, font or media URL but `data:`/`blob:`. A compromised dependency can run, but cannot send
180
- a save or anything else off the machine. `'unsafe-eval'` stays allowed because Pixi 8 refuses
181
- to start without it unless a game imports `pixi.js/unsafe-eval` (then pass `csp: { eval: false }`).
182
-
183
- One consequence of `file://` a game has to design around: **Chromium gives every local page one
184
- shared `localStorage`**. Any other HTML file opened on the same machine can read a game's saves
185
- and settings, and rewrite them. mwg treats that storage as outside input (`SaveSystem.load`
186
- rejects a tampered slot rather than loading it, item 372), but no checksum can make it
187
- private or trustworthy, since the page that rewrites a save can recompute any checksum too. So
188
- never put a secret in a save or in settings (an account token, a password, a licence key), and
189
- treat a save as the player's own editable file, which it is.
190
-
191
- ## Loading assets and input
192
-
193
- `await load(['vehicles/car.svg'], { resolution: 2 })` rasterizes SVG assets at twice
194
- their logical resolution, keeping them sharp when a camera zooms in. Import `load` from
195
- `@datamoc/mw_games/assets`. `loadSvgParts(path, { resolution: 2 })` loads top-level SVG
196
- groups as textures in their authored stacking order.
197
-
198
- Input events live under the `Input` namespace: import `{ Input }` from
199
- `@datamoc/mw_games/core` and subscribe with `Input.onAction.add(...)`. `onAction` is not a
200
- direct core export. `Input.attachPointer` supplies pointer and drag events for mouse and touch.
201
-
202
- ## Audio
203
-
204
- Use `AudioBus` for one playback API across ordinary audio and MIDI assets. Its default
205
- loader reads embedded assets, detects MIDI by its header and renders it on a worker.
206
- `playBgm`/`playBgs` loop, while `playMe`/`playSe` play once; all take the same
207
- `{ name, volume, pitch, pan }` fields (volume 0-100, pitch 100 unchanged, pan -100 to 100).
208
- Pass `load: createAudioLoader(context, { midi: { soundFontBytes, missingProgram: 'synth' } })`
209
- to use a SoundFont. `Sound` remains useful for pooled HTML audio effects and `MusicPlayer`
210
- for a seekable jukebox.
211
-
212
- `Sound` pools short effects. `sound.play(0.7, 1.1)` sets gain and pitch for that play;
213
- `synthesizeSound({ waveform: 'sawtooth', frequency: 110, duration: 0.2 })` makes a pooled
214
- effect without an asset file. `Sound.plays` counts started playback attempts for browser tests.
215
-
216
- For MIDI music, copy the supplied `data/microgm-opt.sf2` from the installed package into
217
- your assets folder alongside the `.mid` files. `mwgPage({ assets: 'assets' })` automatically
218
- reduces the embedded SoundFont to the programs those MIDI files use. Load both through
219
- `loadBinary`, then render once on a worker and play the resulting buffer:
220
-
221
- For a smaller starting bank, `data/microgm-essential.sf2` supplies piano, guitar, violin,
222
- trumpet, flute and standard drums in 314 KB. Use it instead of the full bank below, with
223
- `missingProgram: 'synth'` for the remaining instruments. Both banks retain their WTFPL licence.
224
-
225
- ```ts
226
- import { loadBinary, getBinary } from '@datamoc/mw_games/assets';
227
- import { MusicPlayer, renderMidiToBufferAsync } from '@datamoc/mw_games/audio';
228
-
229
- const player = new MusicPlayer(new AudioContext(), { volume: 0.7 });
230
- await loadBinary(['music/theme.mid', 'soundfonts/microgm-opt.sf2']);
231
- player.load(await renderMidiToBufferAsync(getBinary('music/theme.mid'), {
232
- soundFontBytes: getBinary('soundfonts/microgm-opt.sf2'),
233
- missingProgram: 'synth',
234
- }));
235
- player.play({ repeat: true });
236
- ```
237
-
238
- Start playback from a player gesture. Call `player.update()` each frame to dispatch
239
- `onEnded` for a nonrepeating track; that signal lets the game choose its next track.
240
- `pause()`, `resume()`, `position()` and `seek(seconds)` share the same playhead.
241
- `toAudioBuffer(context, rendered)` also converts a render for direct `Channel` use.
242
- `missingProgram: 'synth'` voices instruments absent from the font with the built-in synth.
243
-
244
- To catch page growth, set `mwgPage({ maxPageBytes: 1_500_000 })`. Its build report lists
245
- embedded paths not found literally in the generated game script as potentially unused;
246
- paths assembled at runtime need manual review. `assetFiles` selects exact asset paths to embed.
247
-
248
- ### Retro audio
249
-
250
- A retro-instrument package (an MT-32, OPL or chip synth of its own) plugs into mwg through
251
- contracts mwg owns, so the core never depends on the package. It registers a `MidiSynth`
252
- under a name with `registerMidiSynth('retro:mt32', factory)`; content then asks for that
253
- name and `resolveMidiSynth` walks the request, the SoundFont and the built-in synth in
254
- order, firing `onMidiSynthFallback` whenever a different engine ends up voicing the file.
255
- Endless or machine-code formats (NSF, SID, SPC) play through the streaming `Playable`
256
- contract (`StreamPlayable`, `StreamChannel`) under named decoder guards
257
- (`decoderLimits`, `DecodeBudgetError`): input ceilings, an instruction budget per second
258
- of sound, and bounded inflation, so untrusted files fail by name instead of hanging.
259
- Rendered tracks are budgeted (`TrackCache`, `createBudgetedLoader`): a five-minute stereo
260
- render is about 100 MB, so the bus caps decoded megabytes rather than keeping every track
261
- forever. Synthesised effects are data, not files: `SfxBank` builds them from definitions
262
- with a fixed seed, so audio never disturbs a lockstep simulation (its triggers are
263
- deterministic; the audio itself is not in the lockstep state, and A/V sync follows the
264
- game frame counter, not the wall clock). The `mwg-audio` tool inspects, converts, renders,
265
- budgets and compares these formats from the command line, and `spectralDistance` gives a
266
- first automated check between two renders. What no automation settles is whether a render
267
- sounds right: the A/B listening protocol in `docs/listening-protocol.md` is the place to
268
- record those verdicts.
269
-
270
- ## Capability spec
271
-
272
- The definition of done for 1.0, drawn from what each of the nine references actually
273
- demands. The shared floor is what all of them need; the sections after it are the parts
274
- only some do.
275
-
276
- ### Shared floor
277
-
278
- | area | capability | provided by |
279
- | --- | --- | --- |
280
- | **core** | frame loop (variable `dt`, clamped; `FixedStepper` for fixed simulation steps), scenes, timing | `mwg/core` |
281
- | | signals and listeners | `mwg/core` |
282
- | | deterministic seeded RNG, reproducible across machines | `mwg/core` |
283
- | | named, versioned save slots with a preview | `mwg/core` |
284
- | | declarative reactions to any state crossing a condition, in place of an `if` cascade | `mwg/core` |
285
- | **render** | sprite batching at thousands of tiles | PixiJS |
286
- | | per-sprite colour transform: multiply **and** add | `mwg/two-d/render` |
287
- | | animated sprites driven by named frame sets | `mwg/two-d/render` |
288
- | | dense tile maps, multi-layer, with per-cell visibility | `mwg/two-d/render` |
289
- | | hexagonal tile maps, alongside square, as a second grid shape | `mwg/two-d/render` |
290
- | | camera with follow, pan, shake and zoom | `mwg/two-d/render` |
291
- | | particle effects | `mwg/two-d/render` |
292
- | | screen transitions: fade, flash, tint | `mwg/two-d/render` |
293
- | **ui** | windows, lists, tooltips, markdown labels | `mwg/two-d/ui` |
294
- | | text and fonts, including non-latin fallback | PixiJS |
295
- | | modal single-line text entry, with validation and an on-screen keyboard for touch | `mwg/two-d/ui` |
296
- | | pointer, keyboard and gamepad input with rebinding | `mwg/core` |
297
- | **text** | message tables per language, compiled at build time | `mwg/i18n` |
298
- | | plurals, gendered forms, interpolation, and Python f-string-style format specs | `mwg/i18n` |
299
- | | Fluent-style FTL catalogs with locale-aware fallback and variants | `mwg/i18n` |
300
- | | left-to-right, right-to-left and vertical writing | `mwg/i18n` |
301
- | | interface mirrored for right-to-left languages | `mwg/two-d/ui` |
302
- | | a missing translation falls back rather than showing a key | `mwg/i18n` |
303
- | | per-message sound cues as an `audio` channel, plus inline `{sound:path}` markers for timed dialogue cues | `mwg/i18n` + `mwg/two-d/ui` |
304
- | **audio** | sound effects with pooling, music with crossfade | `mwg/audio` |
305
-
306
- ### World
307
-
308
- Shared by everything past a single screen, and the thing ADOM needs most.
309
-
310
- | capability | provided by |
311
- | --- | --- |
312
- | many maps in one world, joined by transitions | `mwg/world` |
313
- | maps that persist when left and returned to | `mwg/world` |
314
- | an overworld map with locations on it | `mwg/world` |
315
- | a turn clock driving hunger, poison and other long effects | `mwg/world` |
316
-
317
- ### Roguelike
318
-
319
- | capability | provided by |
320
- | --- | --- |
321
- | field of view and lighting | rot.js + `mwg/roguelike` |
322
- | pathfinding over a passability map | rot.js + `mwg/roguelike` |
323
- | turn scheduling by energy cost | `mwg/roguelike` |
324
- | level generation from composable room builders | `mwg/roguelike` |
325
- | autoexplore: pathing to the nearest unexplored cell | `mwg/roguelike` |
326
-
327
- ### Tactical maps (hex)
328
-
329
- The Wesnoth-shaped half: a grid whose shape is a parameter, not a parallel implementation.
330
-
331
- | capability | provided by |
332
- | --- | --- |
333
- | hexagonal tile maps, addressed by axial or offset coordinates | `mwg/two-d/render` |
334
- | movement cost and defense bonus by terrain, hex or square alike | `mwg/roguelike` |
335
- | field of view and pathfinding over a hex grid, not just square | `mwg/roguelike` |
336
- | isometric (and staggered) projection, alongside orthogonal and hex | `mwg/two-d/render` |
337
- | zone of control: a hex a unit can only move into, not through, unless already engaged | `mwg/board` |
338
- | an army economy: recruiting against a currency, recalling from a pool, per-turn upkeep | `mwg/board` |
339
-
340
- A game picks a grid shape once; the camera, field of view, pathfinding and turn scheduler
341
- work the same way over either, rather than a hex game needing its own copy of each. Between
342
- them, orthogonal, isometric and hex cover every map orientation
343
- [Tiled](https://www.mapeditor.org/) itself supports: a Tiled map loads and renders through
344
- the same `TileMap`, whichever orientation it was drawn in, rather than mwg reading only the
345
- one shape it happens to render natively. Flare's Empyrean Campaign is the isometric-shaped
346
- reference, the same way Wesnoth is the hex-shaped one.
347
-
348
- ### RPG
349
-
350
- | capability | provided by |
351
- | --- | --- |
352
- | maps loaded as data, in any of Tiled's map orientations | `mwg/rpg` |
353
- | events placed on tiles, with pages selected by conditions | `mwg/rpg` |
354
- | event triggers: action, touch, autorun, parallel | `mwg/rpg` |
355
- | a command interpreter for cutscenes: move routes, waits, branches, calls | `mwg/rpg` |
356
- | global switches and variables, saved with the game | `mwg/rpg` |
357
- | message box with portraits, choices and typewriter reveal | `mwg/rpg` + `mwg/two-d/ui` |
358
- | grid movement tweened between tiles, with a walk cycle | `mwg/rpg` |
359
- | a dialogue stage: backdrop, characters, expressions, speaker focus | `mwg/two-d/stage` |
360
- | scenes written as a list of commands, awaited as one call | `mwg/two-d/stage` |
361
- | named passages a choice can jump between, for a story that is a graph, not a line | `mwg/two-d/stage` |
362
- | named save slots with a preview | `mwg/core` |
363
-
364
- ### Characters, equipment and stats
365
-
366
- All four references have these, and they are what a game changes most, so they are data
367
- rather than classes.
368
-
369
- | capability | provided by |
370
- | --- | --- |
371
- | a stat block: base attributes, derived values, and the rules that derive them | `mwg/actors` |
372
- | levels, experience and growth curves, all replaceable | `mwg/actors` |
373
- | skills and proficiencies, checked against a difficulty | `mwg/actors` |
374
- | equipment slots defined per game, not fixed by the framework | `mwg/actors` |
375
- | modifiers from equipment, buffs and states, resolved in a stated order | `mwg/actors` |
376
- | an inventory with stacking, weight and containers | `mwg/actors` |
377
- | item identification, and cursed or blessed states | `mwg/actors` |
378
- | a layered character sprite, so worn equipment is visible | `mwg/two-d/render` |
379
-
380
- That last row is why `tools/make-example-assets.mjs` draws its character in parts. A figure
381
- assembled from skin, eyes, hair and garments is one palette away from being a second
382
- character, and one *layer* away from showing the armour it just put on. A single flat
383
- sprite per character can do neither.
384
-
385
- ### Creatures and battles
386
-
387
- The Pokémon-shaped half, and the part `mwg` deliberately keeps generic.
388
-
389
- | capability | provided by |
390
- | --- | --- |
391
- | species defined as data, with per-individual stats derived from them | `mwg/battle` |
392
- | a party with a roster and off-party storage | `mwg/battle` |
393
- | an effectiveness matrix between arbitrary types | `mwg/battle` |
394
- | turn order by speed, with move priority overriding it | `mwg/battle` |
395
- | moves as data: cost, target shape, effects | `mwg/battle` |
396
- | encounter tables per map region, weighted, with a rate per step | `mwg/world` |
397
- | capture, experience, levelling and evolution as replaceable rules | `mwg/battle` |
398
-
399
- `mwg` supplies the *shape*: a stat block, a type matrix, a turn queue. It supplies no
400
- formulas, no type chart and no species: those are a game's own design, and copying any
401
- particular game's would be both wrong and useless to anyone else.
402
-
403
- All of these specialisms share the tile map, the camera, the windows, the turn clock and
404
- the save system, which is why they sit in one framework rather than four.
405
-
406
- ### Why per-sprite "multiply and add"
407
-
408
- The single most load-bearing rendering feature in either genre is the colour transform
409
- `texel × M + A`. Darkness outside the field of view, tinting a poisoned enemy, flashing
410
- white on a hit, a room lit by a fireplace, a screen-wide tint for a night scene: all of it
411
- is that one operation.
412
-
413
- Pixi's built-in `tint` is multiply-only, which can only ever darken. The additive term is
414
- what `mwg/two-d/render` adds, in the batch shader rather than as a per-object filter, so it costs
415
- nothing per sprite. See `examples/colour-transform`.
416
-
417
- ### Why maps and events are data, not code
418
-
419
- An RPG's content is enormous and repetitive, and almost none of it deserves to be written
420
- by hand in TypeScript. Keeping maps, events, dialogue and item tables as data means they
421
- can be authored in a spreadsheet, generated by a script, exported from Tiled, or eventually
422
- edited in a proper editor, without any of those options requiring changes to the runtime.
423
-
424
- It also keeps the content out of the bundle: `tools/compile-resources` treats a map file
425
- exactly like a sprite sheet, so adding a hundred maps does not touch the build at all.
426
-
427
- ### Objects for behavior, data for content
428
-
429
- Content is data (above), but a game's *behavior* belongs in classes. A monster kept as
430
- loose scene fields works for one tutorial room and collapses for a dungeon: give it a
431
- class holding its state and the methods that change it, built on the framework's own
432
- bricks (`core.Scene` scenes, `actors.StatBlock` stats, `battle.Creature` opponents,
433
- `roguelike.Level` maps, `rpg.GridMover` movement, `core.EntityRegistry` identity).
434
- Subclass the brick that already owns the concern instead of reimplementing it beside an
435
- interface; no new base class is needed for ordinary actors.
436
-
437
- The boundary is where serialization starts. `simulation` commands survive
438
- `structuredClone`, `core.SaveSystem` stores JSON-serialisable state, and MWL rows are
439
- records by design, so classes stop where those begin: flatten at the boundary the way
440
- `rpg.GameState` does, and rebuild objects on load rather than storing them.
441
-
442
- ### On writing direction
443
-
444
- Supporting more than one language is mostly bookkeeping. Supporting more than one writing
445
- *direction* is not, and the three cases are genuinely different work:
446
-
447
- - **Left-to-right** is what everything assumes by default.
448
- - **Right-to-left** (Arabic, Hebrew) is two problems at once. The text itself the browser
449
- can handle: canvas applies the Unicode bidirectional algorithm and shapes the glyphs, so
450
- a label mostly comes out right once its direction is declared. The *interface* is the
451
- harder half, because a right-to-left reader expects it mirrored: lists indent from the
452
- right, a back arrow points the other way, a progress bar fills the other way. `mwg/two-d/ui`
453
- lays widgets out against a direction rather than against "left" so this can be flipped,
454
- and a game only has to mark which of its own icons must not be mirrored.
455
- - **Vertical**, top to bottom (traditional Chinese, Japanese, Mongolian), gets no help at
456
- all. Canvas has no vertical writing mode, so the text has to be laid out glyph by glyph,
457
- with its own rules for which characters rotate and which stand upright. This is real work
458
- and it is scheduled as such, not assumed to fall out of the other two.
459
-
460
- Message tables are compiled at build time, the same way every other resource is, so adding
461
- a language costs nothing at runtime and a missing string falls back to the base language
462
- rather than showing a raw key to the player.
463
-
464
- ## Optional Babylon.js 3D
465
-
466
- `@babylonjs/core`/`@babylonjs/loaders` are peer dependencies, not installed automatically -
467
- a game that never imports `mwg/3d` never downloads Babylon.js. Add them yourself
468
- (`npm install @babylonjs/core @babylonjs/loaders`) once a game imports 3D support:
469
-
470
- ```ts
471
- import { Engine3D, createTileGrid3D } from '@datamoc/mw_games/3d';
472
- import { loadModel3D } from '@datamoc/mw_games/3d/models';
473
- ```
474
-
475
- `Engine3D` owns a WebGL scene, orbit camera, light, resize handling, and render loop.
476
- `createTileGrid3D` batches square or flat-top hex tiles and elevation columns with thin
477
- instances; `createHeightmapTerrain3D` builds continuous terrain from decoded RGBA heightmap
478
- pixels. `Character3D` moves imported meshes or camera-facing sprites continuously, and can
479
- play imported animation clips. `parseVox` and `createVoxModel3D` load one MagicaVoxel model;
480
- `loadModel3D` handles glTF/GLB.
481
- Run `npm run example:3d` for the live example or `npm run benchmark:3d` for its FPS gate.
482
-
483
- ## Headless simulation
484
-
485
- `@datamoc/mw_games/simulation` has no rendering or browser imports. It provides two
486
- small runners while games keep their state, commands, rules, and event types:
487
-
488
- - `advanceToInput(rules, budget)` runs automatic scheduled actions until an actor needs
489
- input, the game finishes, the queue is empty, or the action budget is reached. Rules
490
- supply `scheduler`, `finished`, `needsInput`, and `act`. `act` returns the cost to
491
- charge to the current queue entry after the action, or `null` when it handled its own
492
- scheduling. A `limit` result does not grant input; the caller chooses how to resume.
493
- - `runScenario({ state, commands, random, step, status? })` applies a finite command
494
- sequence, preserving event order and stopping when a rule returns `finished`. Each
495
- rule returns `{ state, events, status: 'ready' | 'finished' }`. Results also report
496
- `processedCommands`; a command need not consume a game turn.
497
-
498
- ```ts
499
- import { runScenario } from '@datamoc/mw_games/simulation';
500
-
501
- const result = runScenario({
502
- state: { position: 0 },
503
- commands: [1, 2, -1],
504
- random: null, // This example has no randomness; supply a generator when needed.
505
- step: (state, distance, _random) => ({
506
- state: { position: state.position + distance },
507
- events: [{ moved: distance }],
508
- status: 'ready',
509
- }),
510
- });
511
- // result.state.position === 2; result.processedCommands === 3
512
- ```
513
-
514
- The root/standalone build also exposes these as `Simulation`. The dungeon example uses
515
- the scheduled runner and shares its own damage rule between the scene and headless
516
- scenario tests. Neither runner implements a game's combat, inventory, or movement rules.
517
-
518
- For reproducibility, supply the same initial state, commands, and random state, and keep
519
- rules independent of wall-clock time and ambient randomness. Existing `Generator`
520
- instances expose `getState()`/`setState()`; store that state alongside a game's snapshot.
521
- The runners do not clone state, serialize arbitrary graphs, or roll back a throwing rule.
522
- Frame-based `core.Recorder`/`Player` remains available for UI replay; command scenarios do
523
- not need a frame loop. Callers must bound automatic work inside each rule, for example
524
- with `advanceToInput`.
525
-
526
- ## Neural policies and UI-free training
527
-
528
- `ai.NeuralPolicy` runs small dense models without a runtime dependency. Policies
529
- share weights across agents, mask illegal actions and integrate with `JavaScriptAI`.
530
- `simulation.TrainingEnvironment` exposes seeded `reset`/`step` episodes over the same
531
- rules a game uses during play. Training runs at simulation speed in Node, with no
532
- canvas, DOM, audio or frame loop. `runRolloutsAsync` batches whole episodes across
533
- workers; model files bundle into the playable `file://` output.
534
-
535
- Try the generated courier task, whose optimizer belongs to the example:
536
-
537
- ```sh
538
- npm run train:neural # train without any UI, export model and checkpoint
539
- npm run train:neural -- --resume --iterations 40
540
- npm run benchmark:neural # serial/parallel throughput and inference overhead
541
- npm run example:neural:build # open examples/neural/dist/index.html directly
542
- npm run neural:browser:check # workers, input latency and reset cancellation
543
- ```
544
-
545
- Training checkpoints include environment state and randomness, model/schema
546
- versions and trainer state. Use small predictions directly when they fit the frame
547
- budget; worker startup and transfer costs pay off on larger simulation batches.
548
-
549
- ## Maze chase AI example
550
-
551
- `examples/pacman` is a playable Pac-Man-style game with an original maze and drawn
552
- shapes. Switch the player between keyboard control, random turns, a path-and-risk
553
- heuristic and a trained neural policy. Ghosts independently select random turns,
554
- direct chase rules (`JavaScriptAI`), path heuristics (`HeuristicAI`) or `NeuralPolicy`.
555
- Selections take effect during the current game, preserving score and lives.
556
-
557
- Arrows or WASD steer; P and G cycle the player and ghost controllers; Space pauses;
558
- R starts a new game. Large dots make ghosts edible. The neural model uses UI-free
559
- imitation training from the heuristic, sharing the playable simulation rules.
560
-
561
- ```sh
562
- npm run example:pacman # development server
563
- npm run example:pacman:build # open examples/pacman/dist/index.html directly
564
- npm run train:pacman # retrain and export weights without rendering
565
- npm run pacman:browser:check # selectors, WebGL, frame time and responsive layouts
566
- ```
567
-
568
- ## Roadmap
569
-
570
- See [ROADMAP.md](https://github.com/datamoc/mwg/blob/main/ROADMAP.md) for open work and
571
- [CLOSED.md](https://github.com/datamoc/mwg/blob/main/CLOSED.md) for the full, numbered build order and implementation notes.
572
- The optional 3D group is now implemented without changing the existing 2D entry point.
573
-
574
- ## MWL
575
-
576
- MWL is the framework's declarative, WML-inspired authoring layer. Content files
577
- are JSON5: a top-level array of `{ tag, ...attributes, children }` nodes, with
578
- real numbers and booleans for scalar values and `_("...")` marking translatable
579
- strings. It describes game data and commands while `mwg` remains responsible for
580
- execution, rendering, input, audio, and saves. MWL is a new language, not a WML
581
- compatibility layer.
582
- Optional scene and UI composition is available through `@datamoc/mw_games/mwl/presentation`
583
- (build-time compiler) and `@datamoc/mw_games/two-d/presentation` (Pixi runtime). Compile
584
- reusable widgets, responsive layouts, keyed lists, semantic palettes and context overrides
585
- against a TypeScript binding manifest. The game supplies actions, physics and procedural
586
- adapters. See [the presentation contract](REFERENCE.md#mwl-presentation) and
587
- `examples/mwl-presentation`; `npm run visual:smoke:presentation` verifies the compiled
588
- `file://` page, keyboard/pointer input, modal windows, cleanup and update cost.
589
- The Wesnoth port can nevertheless use its native `.cfg` files as build inputs:
590
- the port-owned WML front end parses them, the adapter converts the supported
591
- nodes to MWL, and the normal MWL compiler emits the runtime module.
592
-
593
- The framework exposes the parser, validator, compiler, runtime, i18n extraction,
594
- and the hook contract through `@datamoc/mw_games/mwl`. Compile source at build
595
- time with:
596
-
597
- ```sh
598
- npm run mwl -- validate game.mwl
599
- npm run mwl -- diagnostics game.mwl
600
- npm run mwl -- ci game.mwl
601
- npm run mwl -- format game.mwl -o generated/game.mwl
602
- npm run mwl -- migrate game.mwl --to 1.0 -o generated/game-1.0.mwl
603
- npm run mwl -- build game.mwl -o generated/
604
- npm run mwl -- compile game.mwl -o generated/game-data.ts
605
- npm run mwl -- extract-i18n game.mwl -o generated/i18n.json
606
- npm run mwl -- hooks game.mwl --manifest hooks.json -o generated/hooks.mjs
607
- ```
608
-
609
- The input may also be a content directory. `mwl build content/ -o generated/`
610
- reads every `.mwl` file recursively in stable path order and emits one merged,
611
- validated catalog. Diagnostics retain each source file and line, so a game can
612
- organize campaigns, assets, units, items, scenarios, dialogue, and AI data as separate files.
613
-
614
- `mwl build` is the normal game command: it produces `game-data.ts`, `i18n.json`,
615
- and `assets.json` in one build-time step. The game imports the generated module;
616
- it never calls `Mwl.compile()` at runtime. MWG also provides generic helpers for
617
- turning item effects into `actors` modifiers and for versioned, migratable MWL
618
- saves. Asset attributes such as `image`, `image_icon`, `profile`, `icon`, `file`,
619
- `sound`, and `*_sound` are collected into the manifest, including comma-separated
620
- sound lists, Wesnoth sound ranges such as `human-hit-[1~5].ogg`, and image
621
- modifiers. Nested transform arguments are not mistaken for separate assets.
622
- Item slots, formulas, hooks, and business rules remain defined by the game.
623
- `[item]` itself carries `image`/`icon` (item 307), so an inventory item can author its own
624
- sprite or icon the same way `[monster]`/`[unit_type]`/`[object]`/`[story]` already could; the
625
- manifest scanner recognised these names on any node before the schema let `[item]` use them,
626
- so this only closes that one gate rather than adding new asset-collection behaviour.
627
-
628
- A game needing more than `mwl build`'s three standard files - its own extra generated module,
629
- or a cross-table check this CLI has no flag for - should not look for a flag to add: every
630
- function that command calls (`compileSources`, `emitArtifacts`, `validateCatalog`,
631
- `contentReport`) is public from `@datamoc/mw_games/mwl`, so that game's own small Node build
632
- script, written against the same library API `tools/mwl.mjs` itself uses, is the extension
633
- point (item 305).
634
-
635
- Campaign metadata can be authored with a `[campaign]` tag inside `[game]`. It requires an
636
- `id` and accepts `name`, `title`, `description`, and `start_scene`; scenario and extension
637
- children remain game-owned and are preserved by the compiler. The compiled metadata is
638
- available as `contentCatalog(game).campaigns`.
639
-
640
- For a large self-contained HTML page, `npm run extract:html -- page.html -o extracted/`
641
- writes a rewritten `index.html`, an `assets/` directory, and a deterministic
642
- `manifest.json`. Inline scripts, styles, and supported `data:` URLs are extracted in
643
- source order. The original page is never overwritten, and unsupported data forms are
644
- reported as warnings. The output directory is safe to regenerate: its extracted
645
- `assets/` directory is replaced, while unrelated files are kept.
646
- CSS `url(data:...)` values and HTML `srcset` candidates are handled too, including
647
- their density descriptors.
648
-
649
- Translation messages are the values marked `_("...")` in the source; the
650
- extracted catalog matches `@datamoc/mw_games/i18n`. Hooks are referenced as
651
- `type:name`, declared in a manifest, and bundled with esbuild, which a game
652
- project installs itself (`npm install --save-dev esbuild`). The framework does
653
- not depend on esbuild, so a game without hooks pays nothing for the feature.
654
-
655
- `MwlRuntime` runs compiled content: it loads the map, sides, units, and leaders
656
- (leaders spawn on their keep with stats from `[unit_type]`), runs `on=` events
657
- with filters and conditions, tracks movement points, advances the `[schedule]`
658
- on `[end_turn]`, evaluates `[objectives]`, hosts command and predicate hooks,
659
- and saves and restores the world. Pathfinding and combat formulas stay in a
660
- game's engine adapter, because they need that game's real data. A command hook
661
- receives the `[hook]` attributes as its context; a `condition=hook` objective
662
- receives its other attributes, so content can parameterize an engine predicate
663
- (`value` is the generic integer parameter).
664
-
665
- Events trigger on `start`, `turn`, and `moveto`. A `moveto` event fires when a
666
- unit arrives on a hex, filtered by `x`, `y`, `unit` and `side`, once by default
667
- (and a spent one-shot stays spent across save/restore). A game whose own engine
668
- resolves movement writes the new position into the world and calls
669
- `runtime.fireMoveto(unitId)`, so the trigger works either way. A `[message]`
670
- becomes an `MwlMessage` with its `text`, and its `speaker`, `portrait` and `side`
671
- when the content gives them, which is enough for a real dialogue box instead of a
672
- log line.
673
-
674
- Dialogue choices are exposed through `MwlMessage.choices` and answered with
675
- `runtime.answerDialogue(dialogueId, choiceIndex)`. Pending choices are part of the
676
- saved world. Commands after a dialogue in the same event run immediately, before
677
- the player answers, so deferred follow-up commands belong in the event named by
678
- the selected choice. Events can also be invoked directly with `runtime.fireEvent(id)`;
679
- moveto coordinates accept comma lists and inclusive ranges such as `1,3-5`.
680
-
681
- The generated data is plain TypeScript and works with the same local-file build
682
- pipeline as the rest of the framework. Wesnoth-specific MWL source belongs in
683
- the Wesnoth port, not in this framework package.
684
-
685
- ## Powered by mwg
686
-
687
- Games built with mwg are welcome to carry the badge on their login screen:
688
-
689
- [![powered by mwg](webpage/assets/powered-by-mwg.svg)](https://datamoc.github.io/mwg/)
690
-
691
- Copy `webpage/assets/powered-by-mwg.svg` into your own project (a shipped game
692
- cannot fetch it from here; local-file pages only load their own assets) and link
693
- it to the framework site. In plain HTML that is:
694
-
695
- ```html
696
- <a href="https://datamoc.github.io/mwg/">
697
- <img src="./powered-by-mwg.svg" alt="powered by mwg" width="196" height="38">
698
- </a>
699
- ```
700
-
701
- A canvas-drawn login screen loads the same file through the asset pipeline and
702
- opens the URL on click with `window.open('https://datamoc.github.io/mwg/', '_blank')`.
703
-
704
- ## Licence and provenance
705
-
706
- `mwg` is MPL-2.0. Its dependencies are permissive and compatible: PixiJS and Babylon.js are
707
- MIT, and rot.js is BSD-3-Clause.
708
-
709
- `tools/vendored/rgssad-wasm` is a build of the `rgssad-wasm` crate from
710
- <https://github.com/nathaniel-daniel/rgssad-rs>, used under its MIT licence
711
- option (© 2022 Nathaniel Daniel); see `tools/vendored/rgssad-wasm/README.md`.
712
- It is a developer-side archive tool only, not part of the framework or any game.
713
-
714
- Shattered Pixel Dungeon (GPL-3, © Oleg Dolya and Evan Debenham), The Battle for Wesnoth
715
- (GPL-2.0-or-later, © the Battle for Wesnoth contributors), Flare's Empyrean Campaign
716
- (GPL-3, © the Flare project), and Dungeon Crawl Stone Soup (GPL-2.0, © the Dungeon Crawl
717
- Stone Soup development team) are referenced only as design studies: a list of what a
718
- finished roguelike, a finished hex-based tactical game, a finished isometric one, and a
719
- finished branching dungeon each have to do. None of their code, assets, maps, unit
720
- definitions or text is included here, and `mwg` is not a derivative work of any of them.
721
-
722
- ADOM, RPG Maker, Pokémon, Ren'Py and Twine are likewise references for a *shape of game*, not
723
- sources of anything. `mwg` includes none of their runtimes, assets, text or data tables: no
724
- type chart, no species list, no stat formula, no map, no line of dialogue. Those are each
725
- game's own design work. A loader or writer for one of their file formats is a different
726
- matter and is not off limits on its own: a format is a container, understood the same way
727
- any published format is, by reading real files in it to learn its shape; what stays out is
728
- the media that container holds, someone else's actual assets, text or data tables. Where a
729
- format already exists and needs no reverse-engineering, `mwg` uses Tiled's, which is open
730
- and documented.
731
8
 
732
- Game mechanics are not themselves protected, which is why a framework may offer "a turn
733
- queue ordered by speed" or "an effectiveness matrix". Particular numbers, names and
734
- artwork are another matter, and none appear here.
9
+ New projects install the main name above; this package only forwards to it.
735
10
 
736
- The assets under `examples/assets` are generated by `tools/make-example-assets.mjs` and
737
- carry the project's own licence. Nothing else in this repository was downloaded from
738
- anywhere, with the sole exception of `tools/vendored/rgssad-wasm` above.
11
+ `import { Game } from '@datamoc/mw_games/two-d'` is the same module as `import { Game } from '@datamoc/mwg/two-d'`. The `mwg-*` command line tools are installed by `@datamoc/mwg`; run them with `npx -p @datamoc/mwg mwg-emit`. Documentation: https://datamoc.github.io/mwg/