@oidoid/void 0.1.0-7 → 0.1.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 (408) hide show
  1. package/dist/public/index.js +19 -15
  2. package/dist/public/index.js.map +4 -4
  3. package/dist/public/preload-atlas.webp +0 -0
  4. package/dist/public/void-v0.1.0+20251227.1060661.html +115 -0
  5. package/dist/schema/config-file.v0.json +86 -15
  6. package/dist/schema/level-file.v0.json +423 -0
  7. package/dist/src/audio.d.ts +1 -0
  8. package/dist/src/audio.d.ts.map +1 -0
  9. package/dist/src/demo/assets/manifest.json +2 -2
  10. package/dist/src/demo/assets/void.game.json +202 -0
  11. package/dist/src/demo/ents/cam.d.ts +6 -0
  12. package/dist/src/demo/ents/cam.d.ts.map +1 -0
  13. package/dist/src/demo/ents/cam.js +21 -0
  14. package/dist/src/demo/ents/cam.js.map +1 -0
  15. package/dist/src/demo/ents/clock.d.ts +10 -0
  16. package/dist/src/demo/ents/clock.d.ts.map +1 -0
  17. package/dist/src/demo/ents/clock.js +16 -0
  18. package/dist/src/demo/ents/clock.js.map +1 -0
  19. package/dist/src/demo/ents/draw.d.ts +6 -0
  20. package/dist/src/demo/ents/draw.d.ts.map +1 -0
  21. package/dist/src/demo/ents/draw.js +14 -0
  22. package/dist/src/demo/ents/draw.js.map +1 -0
  23. package/dist/src/demo/ents/ent.d.ts +6 -0
  24. package/dist/src/demo/ents/ent.d.ts.map +1 -0
  25. package/dist/src/demo/ents/ent.js +2 -0
  26. package/dist/src/demo/ents/ent.js.map +1 -0
  27. package/dist/src/demo/ents/loader.d.ts +6 -0
  28. package/dist/src/demo/ents/loader.d.ts.map +1 -0
  29. package/dist/src/demo/ents/loader.js +45 -0
  30. package/dist/src/demo/ents/loader.js.map +1 -0
  31. package/dist/src/demo/ents/render-toggle.d.ts +7 -0
  32. package/dist/src/demo/ents/render-toggle.d.ts.map +1 -0
  33. package/dist/src/demo/ents/render-toggle.js +8 -0
  34. package/dist/src/demo/ents/render-toggle.js.map +1 -0
  35. package/dist/src/demo/ents/tally.d.ts +8 -0
  36. package/dist/src/demo/ents/tally.d.ts.map +1 -0
  37. package/dist/src/demo/ents/tally.js +14 -0
  38. package/dist/src/demo/ents/tally.js.map +1 -0
  39. package/dist/src/demo/index.d.ts +1 -0
  40. package/dist/src/demo/index.d.ts.map +1 -0
  41. package/dist/src/demo/index.js +12 -3
  42. package/dist/src/demo/index.js.map +1 -1
  43. package/dist/src/demo/level/level-file.json +50 -0
  44. package/dist/src/demo/level/level-parser.d.ts +5 -0
  45. package/dist/src/demo/level/level-parser.d.ts.map +1 -0
  46. package/dist/src/demo/level/level-parser.js +21 -0
  47. package/dist/src/demo/level/level-parser.js.map +1 -0
  48. package/dist/src/demo/level/level-schema.d.ts +4 -0
  49. package/dist/src/demo/level/level-schema.d.ts.map +1 -0
  50. package/dist/src/demo/level/level-schema.js +2 -0
  51. package/dist/src/demo/level/level-schema.js.map +1 -0
  52. package/dist/src/demo/types/decl.d.ts +30 -0
  53. package/dist/src/demo/types/decl.d.ts.map +1 -0
  54. package/dist/src/demo/types/decl.js +2 -0
  55. package/dist/src/demo/types/decl.js.map +1 -0
  56. package/dist/src/demo/void.json +8 -4
  57. package/dist/src/ents/button.d.ts +14 -0
  58. package/dist/src/ents/button.d.ts.map +1 -0
  59. package/dist/src/ents/button.js +59 -0
  60. package/dist/src/ents/button.js.map +1 -0
  61. package/dist/src/ents/cam.d.ts +3 -0
  62. package/dist/src/ents/cam.d.ts.map +1 -0
  63. package/dist/src/ents/cam.js +2 -0
  64. package/dist/src/ents/cam.js.map +1 -0
  65. package/dist/src/ents/cursor.d.ts +20 -0
  66. package/dist/src/ents/cursor.d.ts.map +1 -0
  67. package/dist/src/ents/cursor.js +49 -0
  68. package/dist/src/ents/cursor.js.map +1 -0
  69. package/dist/src/ents/debug-input.d.ts +8 -0
  70. package/dist/src/ents/debug-input.d.ts.map +1 -0
  71. package/dist/src/ents/debug-input.js +25 -0
  72. package/dist/src/ents/debug-input.js.map +1 -0
  73. package/dist/src/ents/draw.d.ts +3 -0
  74. package/dist/src/ents/draw.d.ts.map +1 -0
  75. package/dist/src/ents/draw.js +2 -0
  76. package/dist/src/ents/draw.js.map +1 -0
  77. package/dist/src/ents/ent-query.d.ts +26 -0
  78. package/dist/src/ents/ent-query.d.ts.map +1 -0
  79. package/dist/src/ents/ent-query.js +10 -0
  80. package/dist/src/ents/ent-query.js.map +1 -0
  81. package/dist/src/ents/ent.d.ts +92 -6
  82. package/dist/src/ents/ent.d.ts.map +1 -0
  83. package/dist/src/ents/fps.d.ts +7 -0
  84. package/dist/src/ents/fps.d.ts.map +1 -0
  85. package/dist/src/ents/fps.js +14 -0
  86. package/dist/src/ents/fps.js.map +1 -0
  87. package/dist/src/ents/hud.d.ts +14 -0
  88. package/dist/src/ents/hud.d.ts.map +1 -0
  89. package/dist/src/ents/hud.js +38 -0
  90. package/dist/src/ents/hud.js.map +1 -0
  91. package/dist/src/ents/loader.d.ts +3 -0
  92. package/dist/src/ents/loader.d.ts.map +1 -0
  93. package/dist/src/ents/loader.js +2 -0
  94. package/dist/src/ents/loader.js.map +1 -0
  95. package/dist/src/ents/nine-patch.d.ts +17 -0
  96. package/dist/src/ents/nine-patch.d.ts.map +1 -0
  97. package/dist/src/ents/nine-patch.js +99 -0
  98. package/dist/src/ents/nine-patch.js.map +1 -0
  99. package/dist/src/ents/override.d.ts +8 -0
  100. package/dist/src/ents/override.d.ts.map +1 -0
  101. package/dist/src/ents/override.js +8 -0
  102. package/dist/src/ents/override.js.map +1 -0
  103. package/dist/src/ents/sprite.d.ts +8 -0
  104. package/dist/src/ents/sprite.d.ts.map +1 -0
  105. package/dist/src/ents/sprite.js +10 -0
  106. package/dist/src/ents/sprite.js.map +1 -0
  107. package/dist/src/ents/sys.d.ts +14 -0
  108. package/dist/src/ents/sys.d.ts.map +1 -0
  109. package/dist/src/ents/sys.js +2 -0
  110. package/dist/src/ents/sys.js.map +1 -0
  111. package/dist/src/ents/text.d.ts +21 -0
  112. package/dist/src/ents/text.d.ts.map +1 -0
  113. package/dist/src/ents/text.js +118 -0
  114. package/dist/src/ents/text.js.map +1 -0
  115. package/dist/src/ents/zoo.d.ts +18 -11
  116. package/dist/src/ents/zoo.d.ts.map +1 -0
  117. package/dist/src/ents/zoo.js +75 -15
  118. package/dist/src/ents/zoo.js.map +1 -1
  119. package/dist/src/graphics/atlas-parser.d.ts +3 -1
  120. package/dist/src/graphics/atlas-parser.d.ts.map +1 -0
  121. package/dist/src/graphics/atlas-parser.js.map +1 -1
  122. package/dist/src/graphics/atlas.d.ts +9 -15
  123. package/dist/src/graphics/atlas.d.ts.map +1 -0
  124. package/dist/src/graphics/cam.d.ts +13 -10
  125. package/dist/src/graphics/cam.d.ts.map +1 -0
  126. package/dist/src/graphics/cam.js +23 -17
  127. package/dist/src/graphics/cam.js.map +1 -1
  128. package/dist/src/graphics/gl.d.ts +1 -8
  129. package/dist/src/graphics/gl.d.ts.map +1 -0
  130. package/dist/src/graphics/gl.js +0 -1
  131. package/dist/src/graphics/gl.js.map +1 -1
  132. package/dist/src/graphics/layer.d.ts +21 -17
  133. package/dist/src/graphics/layer.d.ts.map +1 -0
  134. package/dist/src/graphics/layer.js +23 -18
  135. package/dist/src/graphics/layer.js.map +1 -1
  136. package/dist/src/graphics/pixel-ratio-observer.d.ts +8 -0
  137. package/dist/src/graphics/pixel-ratio-observer.d.ts.map +1 -0
  138. package/dist/src/graphics/pixel-ratio-observer.js +23 -0
  139. package/dist/src/graphics/pixel-ratio-observer.js.map +1 -0
  140. package/dist/src/graphics/render-mode.d.ts +2 -0
  141. package/dist/src/graphics/render-mode.d.ts.map +1 -0
  142. package/dist/src/graphics/render-mode.js +2 -0
  143. package/dist/src/graphics/render-mode.js.map +1 -0
  144. package/dist/src/graphics/renderer.d.ts +9 -4
  145. package/dist/src/graphics/renderer.d.ts.map +1 -0
  146. package/dist/src/graphics/renderer.js +30 -13
  147. package/dist/src/graphics/renderer.js.map +1 -1
  148. package/dist/src/graphics/sprite-frag.glsl.d.ts +1 -0
  149. package/dist/src/graphics/sprite-frag.glsl.d.ts.map +1 -0
  150. package/dist/src/graphics/sprite-frag.glsl.js +3 -4
  151. package/dist/src/graphics/sprite-frag.glsl.js.map +1 -1
  152. package/dist/src/graphics/sprite-vert.glsl.d.ts +1 -0
  153. package/dist/src/graphics/sprite-vert.glsl.d.ts.map +1 -0
  154. package/dist/src/graphics/sprite-vert.glsl.js +9 -7
  155. package/dist/src/graphics/sprite-vert.glsl.js.map +1 -1
  156. package/dist/src/graphics/sprite.d.ts +54 -16
  157. package/dist/src/graphics/sprite.d.ts.map +1 -0
  158. package/dist/src/graphics/sprite.js +109 -32
  159. package/dist/src/graphics/sprite.js.map +1 -1
  160. package/dist/src/index.d.ts +31 -6
  161. package/dist/src/index.d.ts.map +1 -0
  162. package/dist/src/index.js +33 -9
  163. package/dist/src/index.js.map +1 -1
  164. package/dist/src/input/context-menu.d.ts +1 -1
  165. package/dist/src/input/context-menu.d.ts.map +1 -0
  166. package/dist/src/input/context-menu.js +0 -1
  167. package/dist/src/input/context-menu.js.map +1 -1
  168. package/dist/src/input/gamepad.d.ts +1 -1
  169. package/dist/src/input/gamepad.d.ts.map +1 -0
  170. package/dist/src/input/gamepad.js +0 -1
  171. package/dist/src/input/gamepad.js.map +1 -1
  172. package/dist/src/input/input.d.ts +30 -23
  173. package/dist/src/input/input.d.ts.map +1 -0
  174. package/dist/src/input/input.js +53 -31
  175. package/dist/src/input/input.js.map +1 -1
  176. package/dist/src/input/keyboard.d.ts +1 -0
  177. package/dist/src/input/keyboard.d.ts.map +1 -0
  178. package/dist/src/input/pointer.d.ts +1 -0
  179. package/dist/src/input/pointer.d.ts.map +1 -0
  180. package/dist/src/input/pointer.js +11 -8
  181. package/dist/src/input/pointer.js.map +1 -1
  182. package/dist/src/input/wheel.d.ts +6 -1
  183. package/dist/src/input/wheel.d.ts.map +1 -0
  184. package/dist/src/input/wheel.js +5 -1
  185. package/dist/src/input/wheel.js.map +1 -1
  186. package/dist/src/level/level-parser.d.ts +26 -0
  187. package/dist/src/level/level-parser.d.ts.map +1 -0
  188. package/dist/src/level/level-parser.js +258 -0
  189. package/dist/src/level/level-parser.js.map +1 -0
  190. package/dist/src/level/level-schema-json.d.ts +5 -0
  191. package/dist/src/level/level-schema-json.d.ts.map +1 -0
  192. package/dist/src/level/level-schema-json.js +2 -0
  193. package/dist/src/level/level-schema-json.js.map +1 -0
  194. package/dist/src/level/level-schema.d.ts +87 -0
  195. package/dist/src/level/level-schema.d.ts.map +1 -0
  196. package/dist/src/level/level-schema.js +2 -0
  197. package/dist/src/level/level-schema.js.map +1 -0
  198. package/dist/src/level/level.d.ts +8 -0
  199. package/dist/src/level/level.d.ts.map +1 -0
  200. package/dist/src/level/level.js +2 -0
  201. package/dist/src/level/level.js.map +1 -0
  202. package/dist/src/looper.d.ts +1 -0
  203. package/dist/src/looper.d.ts.map +1 -0
  204. package/dist/src/looper.js +5 -2
  205. package/dist/src/looper.js.map +1 -1
  206. package/dist/src/mem/pool-map.d.ts +6 -0
  207. package/dist/src/mem/pool-map.d.ts.map +1 -0
  208. package/dist/src/mem/pool-map.js +2 -0
  209. package/dist/src/mem/pool-map.js.map +1 -0
  210. package/dist/src/mem/pool.d.ts +5 -1
  211. package/dist/src/mem/pool.d.ts.map +1 -0
  212. package/dist/src/mem/pool.js +22 -21
  213. package/dist/src/mem/pool.js.map +1 -1
  214. package/dist/src/mem/sprite-pool.d.ts +12 -0
  215. package/dist/src/mem/sprite-pool.d.ts.map +1 -0
  216. package/dist/src/mem/sprite-pool.js +11 -0
  217. package/dist/src/mem/sprite-pool.js.map +1 -0
  218. package/dist/src/random/random.d.ts +1 -0
  219. package/dist/src/random/random.d.ts.map +1 -0
  220. package/dist/src/storage/local-storage.d.ts +2 -1
  221. package/dist/src/storage/local-storage.d.ts.map +1 -0
  222. package/dist/src/storage/local-storage.js.map +1 -1
  223. package/dist/src/text/font.d.ts +5 -3
  224. package/dist/src/text/font.d.ts.map +1 -0
  225. package/dist/src/text/font.js +8 -5
  226. package/dist/src/text/font.js.map +1 -1
  227. package/dist/src/text/mem-prop-5x6.json +20 -5
  228. package/dist/src/text/text-layout.d.ts +16 -5
  229. package/dist/src/text/text-layout.d.ts.map +1 -0
  230. package/dist/src/text/text-layout.js +46 -28
  231. package/dist/src/text/text-layout.js.map +1 -1
  232. package/dist/src/types/bundle.d.ts +10 -0
  233. package/dist/src/types/bundle.d.ts.map +1 -0
  234. package/dist/src/types/bundle.js +2 -0
  235. package/dist/src/types/bundle.js.map +1 -0
  236. package/dist/src/types/game-config.d.ts +27 -0
  237. package/dist/src/types/game-config.d.ts.map +1 -0
  238. package/dist/src/types/game-config.js +2 -0
  239. package/dist/src/types/game-config.js.map +1 -0
  240. package/dist/src/types/geo.d.ts +9 -2
  241. package/dist/src/types/geo.d.ts.map +1 -0
  242. package/dist/src/types/geo.js +16 -0
  243. package/dist/src/types/geo.js.map +1 -1
  244. package/dist/src/types/json.d.ts +1 -0
  245. package/dist/src/types/json.d.ts.map +1 -0
  246. package/dist/src/types/time.d.ts +13 -2
  247. package/dist/src/types/time.d.ts.map +1 -0
  248. package/dist/src/types/time.js +10 -0
  249. package/dist/src/types/time.js.map +1 -1
  250. package/dist/src/utils/async-util.d.ts +1 -0
  251. package/dist/src/utils/async-util.d.ts.map +1 -0
  252. package/dist/src/utils/async-util.js +2 -0
  253. package/dist/src/utils/async-util.js.map +1 -1
  254. package/dist/src/utils/canvas-util.d.ts +3 -1
  255. package/dist/src/utils/canvas-util.d.ts.map +1 -0
  256. package/dist/src/utils/canvas-util.js +7 -3
  257. package/dist/src/utils/canvas-util.js.map +1 -1
  258. package/dist/src/utils/color-util.d.ts +6 -0
  259. package/dist/src/utils/color-util.d.ts.map +1 -0
  260. package/dist/src/utils/color-util.js +12 -0
  261. package/dist/src/utils/color-util.js.map +1 -1
  262. package/dist/src/utils/debug.d.ts +1 -0
  263. package/dist/src/utils/debug.d.ts.map +1 -0
  264. package/dist/src/utils/debug.js +4 -4
  265. package/dist/src/utils/debug.js.map +1 -1
  266. package/dist/src/utils/delay-interval.d.ts +1 -0
  267. package/dist/src/utils/delay-interval.d.ts.map +1 -0
  268. package/dist/src/utils/dom-util.d.ts +3 -2
  269. package/dist/src/utils/dom-util.d.ts.map +1 -0
  270. package/dist/src/utils/dom-util.js +16 -12
  271. package/dist/src/utils/dom-util.js.map +1 -1
  272. package/dist/src/utils/fetch-util.d.ts +2 -1
  273. package/dist/src/utils/fetch-util.d.ts.map +1 -0
  274. package/dist/src/utils/fetch-util.js +2 -2
  275. package/dist/src/utils/math.d.ts +1 -0
  276. package/dist/src/utils/math.d.ts.map +1 -0
  277. package/dist/src/utils/math.js +1 -1
  278. package/dist/src/utils/math.js.map +1 -1
  279. package/dist/src/utils/obj-util.d.ts +7 -0
  280. package/dist/src/utils/obj-util.d.ts.map +1 -0
  281. package/dist/src/utils/obj-util.js +8 -0
  282. package/dist/src/utils/obj-util.js.map +1 -0
  283. package/dist/src/utils/str-util.d.ts +2 -0
  284. package/dist/src/utils/str-util.d.ts.map +1 -0
  285. package/dist/src/utils/str-util.js +6 -0
  286. package/dist/src/utils/str-util.js.map +1 -0
  287. package/dist/src/utils/vibrate.d.ts +1 -0
  288. package/dist/src/utils/vibrate.d.ts.map +1 -0
  289. package/dist/src/void.d.ts +42 -30
  290. package/dist/src/void.d.ts.map +1 -0
  291. package/dist/src/void.js +78 -34
  292. package/dist/src/void.js.map +1 -1
  293. package/dist/tools/atlas-pack/aseprite-json.d.ts +5 -0
  294. package/dist/tools/atlas-pack/aseprite-json.d.ts.map +1 -0
  295. package/dist/tools/atlas-pack/aseprite-json.js +2 -0
  296. package/dist/tools/atlas-pack/aseprite-json.js.map +1 -0
  297. package/dist/tools/atlas-pack/aseprite.d.ts +58 -31
  298. package/dist/tools/atlas-pack/aseprite.d.ts.map +1 -0
  299. package/dist/tools/atlas-pack/aseprite.js +1 -1
  300. package/dist/tools/atlas-pack/aseprite.js.map +1 -1
  301. package/dist/tools/atlas-pack/atlas-json-parser.d.ts +11 -10
  302. package/dist/tools/atlas-pack/atlas-json-parser.d.ts.map +1 -0
  303. package/dist/tools/atlas-pack/atlas-json-parser.js +14 -14
  304. package/dist/tools/atlas-pack/atlas-json-parser.js.map +1 -1
  305. package/dist/tools/atlas-pack/atlas-pack.d.ts +4 -2
  306. package/dist/tools/atlas-pack/atlas-pack.d.ts.map +1 -0
  307. package/dist/tools/atlas-pack/atlas-pack.js +1 -6
  308. package/dist/tools/atlas-pack/atlas-pack.js.map +1 -1
  309. package/dist/tools/bundle/bundle.d.ts +3 -3
  310. package/dist/tools/bundle/bundle.d.ts.map +1 -0
  311. package/dist/tools/bundle/bundle.js +32 -7
  312. package/dist/tools/bundle/bundle.js.map +1 -1
  313. package/dist/tools/bundle/html-plugin.d.ts +1 -0
  314. package/dist/tools/bundle/html-plugin.d.ts.map +1 -0
  315. package/dist/tools/bundle/html-plugin.js +5 -20
  316. package/dist/tools/bundle/html-plugin.js.map +1 -1
  317. package/dist/tools/tsconfig-base.json +1 -1
  318. package/dist/tools/tsconfig.json +1 -2
  319. package/dist/{schema → tools/types}/config-file.d.ts +21 -9
  320. package/dist/tools/types/config-file.d.ts.map +1 -0
  321. package/dist/{schema → tools/types}/config-file.js +18 -5
  322. package/dist/tools/types/config-file.js.map +1 -0
  323. package/dist/tools/types/config.d.ts +10 -9
  324. package/dist/tools/types/config.d.ts.map +1 -0
  325. package/dist/tools/types/config.js +23 -5
  326. package/dist/tools/types/config.js.map +1 -1
  327. package/dist/tools/types/package-json.d.ts +3 -2
  328. package/dist/tools/types/package-json.d.ts.map +1 -0
  329. package/dist/tools/utils/argv.d.ts +3 -0
  330. package/dist/tools/utils/argv.d.ts.map +1 -0
  331. package/dist/tools/utils/argv.js +1 -1
  332. package/dist/tools/utils/argv.js.map +1 -1
  333. package/dist/tools/utils/exec.d.ts +2 -1
  334. package/dist/tools/utils/exec.d.ts.map +1 -0
  335. package/dist/tools/utils/exec.js.map +1 -1
  336. package/dist/tools/utils/file-util.d.ts +1 -0
  337. package/dist/tools/utils/file-util.d.ts.map +1 -0
  338. package/dist/tools/utils/html-parser.d.ts +1 -0
  339. package/dist/tools/utils/html-parser.d.ts.map +1 -0
  340. package/dist/tools/void.d.ts +1 -0
  341. package/dist/tools/void.d.ts.map +1 -0
  342. package/dist/tools/void.js +3 -16
  343. package/dist/tools/void.js.map +1 -1
  344. package/package.json +18 -20
  345. package/readme.md +63 -1
  346. package/dist/meta.json +0 -1
  347. package/dist/package.json +0 -66
  348. package/dist/public/favicon/favicon16.png +0 -0
  349. package/dist/public/favicon/favicon192.png +0 -0
  350. package/dist/public/favicon/favicon32.png +0 -0
  351. package/dist/public/favicon/favicon48.png +0 -0
  352. package/dist/public/favicon/favicon64.png +0 -0
  353. package/dist/public/preload-atlas.png +0 -0
  354. package/dist/public/void-v0.1.0-6+20251020.7cdf98d.html +0 -111
  355. package/dist/public/void-v0.1.0-6+20251020.e4e9eef.html +0 -111
  356. package/dist/public/void-v0.1.0-7+20251021.7cdf98d.html +0 -111
  357. package/dist/schema/config-file.js.map +0 -1
  358. package/dist/src/demo/assets/preload-atlas.json +0 -193
  359. package/dist/src/demo/ents/clock-ent.d.ts +0 -11
  360. package/dist/src/demo/ents/clock-ent.js +0 -26
  361. package/dist/src/demo/ents/clock-ent.js.map +0 -1
  362. package/dist/src/demo/ents/render-toggle-ent.d.ts +0 -12
  363. package/dist/src/demo/ents/render-toggle-ent.js +0 -41
  364. package/dist/src/demo/ents/render-toggle-ent.js.map +0 -1
  365. package/dist/src/demo/ents/work-counter-ent.d.ts +0 -10
  366. package/dist/src/demo/ents/work-counter-ent.js +0 -20
  367. package/dist/src/demo/ents/work-counter-ent.js.map +0 -1
  368. package/dist/src/demo/game.d.ts +0 -12
  369. package/dist/src/demo/game.js +0 -135
  370. package/dist/src/demo/game.js.map +0 -1
  371. package/dist/src/demo/types/tag.d.ts +0 -2
  372. package/dist/src/demo/types/tag.js +0 -2
  373. package/dist/src/demo/types/tag.js.map +0 -1
  374. package/dist/src/ents/button-ent.d.ts +0 -39
  375. package/dist/src/ents/button-ent.js +0 -128
  376. package/dist/src/ents/button-ent.js.map +0 -1
  377. package/dist/src/ents/cursor-ent.d.ts +0 -18
  378. package/dist/src/ents/cursor-ent.js +0 -63
  379. package/dist/src/ents/cursor-ent.js.map +0 -1
  380. package/dist/src/ents/follow-cam-ent.d.ts +0 -25
  381. package/dist/src/ents/follow-cam-ent.js +0 -87
  382. package/dist/src/ents/follow-cam-ent.js.map +0 -1
  383. package/dist/src/ents/nine-patch-ent.d.ts +0 -43
  384. package/dist/src/ents/nine-patch-ent.js +0 -143
  385. package/dist/src/ents/nine-patch-ent.js.map +0 -1
  386. package/dist/src/ents/text-ent.d.ts +0 -23
  387. package/dist/src/ents/text-ent.js +0 -109
  388. package/dist/src/ents/text-ent.js.map +0 -1
  389. package/dist/src/types/void-version.d.ts +0 -7
  390. package/dist/src/types/void-version.js +0 -2
  391. package/dist/src/types/void-version.js.map +0 -1
  392. package/schema/config-file.test.ts +0 -55
  393. package/schema/config-file.ts +0 -69
  394. package/schema/config-file.v0.json +0 -68
  395. package/tools/atlas-pack/aseprite.ts +0 -60
  396. package/tools/atlas-pack/atlas-json-parser.test.ts +0 -780
  397. package/tools/atlas-pack/atlas-json-parser.ts +0 -159
  398. package/tools/atlas-pack/atlas-pack.ts +0 -51
  399. package/tools/bundle/bundle.ts +0 -64
  400. package/tools/bundle/html-plugin.ts +0 -135
  401. package/tools/types/config.ts +0 -65
  402. package/tools/types/package-json.ts +0 -4
  403. package/tools/utils/argv.test.ts +0 -41
  404. package/tools/utils/argv.ts +0 -29
  405. package/tools/utils/exec.ts +0 -22
  406. package/tools/utils/file-util.ts +0 -11
  407. package/tools/utils/html-parser.ts +0 -9
  408. package/tools/void.ts +0 -55
@@ -1,8 +1,10 @@
1
1
  import { animCels, celMillis } from "../graphics/atlas.js";
2
2
  import { boxHits } from "../types/geo.js";
3
3
  import { mod } from "../utils/math.js";
4
- export const drawableBytes = 12;
5
- /** granularity (0.015625) of `Drawable` coords. */
4
+ import { isUILayer, Layer } from "./layer.js";
5
+ /** must be a multiple of 4 (`UNSIGNED_INT`). */
6
+ export const drawableBytes = 16;
7
+ /** granularity (0.015625) of drawable coords. */
6
8
  export const drawableEpsilon = 1 / 64;
7
9
  export const drawableMaxWH = { w: 4095, h: 4095 };
8
10
  /**
@@ -21,6 +23,10 @@ export const drawableMaxWH = { w: 4095, h: 4095 };
21
23
  * 9 hhhh hhhh
22
24
  * a iiic cccc animation ID [0, 2047], animation cel [0, 31].
23
25
  * b iiii iiii
26
+ * c rrrr rrrv reserved, visible.
27
+ * d rrrr rrrr
28
+ * e rrrr rrrr
29
+ * f rrrr rrrr
24
30
  *
25
31
  * animations default to looping without CPU interaction.
26
32
  * @internal
@@ -34,10 +40,10 @@ export class Drawable {
34
40
  }
35
41
  above(draw) {
36
42
  const compare = this.z === draw.z
37
- ? (draw.zend ? draw.y + draw.h : draw.y) -
38
- (this.zend ? this.y + this.h : this.y)
43
+ ? (this.zend ? this.y + this.h : this.y) -
44
+ (draw.zend ? draw.y + draw.h : draw.y)
39
45
  : this.z - draw.z;
40
- return compare < 0;
46
+ return compare > 0;
41
47
  }
42
48
  get cel() {
43
49
  const iiic_cccc = this.#pool.view.getUint8(this.i + 10);
@@ -50,10 +56,28 @@ export class Drawable {
50
56
  const iiic_cccc = this.#pool.view.getUint8(this.i + 10);
51
57
  this.#pool.view.setUint8(this.i + 10, (iiic_cccc & ~0x1f) | (cel & 0x1f));
52
58
  }
59
+ /**
60
+ * `this` is a clipbox but sometimes a copy or non-Sprite instance is needed.
61
+ */
62
+ get clipbox() {
63
+ return { x: this.x, y: this.y, w: this.w, h: this.h };
64
+ }
53
65
  /** test if render area overlaps box or sprite render area. */
54
66
  clips(box) {
55
67
  return boxHits(this, box);
56
68
  }
69
+ /** like `clips()` but can supports different world and UI layers. */
70
+ clipsZ(draw, cam) {
71
+ if (this.ui === draw.ui)
72
+ return this.clips(draw);
73
+ const clipbox = {
74
+ x: draw.x + (draw.ui ? 1 : -1) * Math.floor(cam.x),
75
+ y: draw.y + (draw.ui ? 1 : -1) * Math.floor(cam.y),
76
+ w: draw.w,
77
+ h: draw.h
78
+ };
79
+ return boxHits(this, clipbox);
80
+ }
57
81
  get flipX() {
58
82
  const sxyz_llll = this.#pool.view.getUint8(this.i + 6);
59
83
  return !!(sxyz_llll & 0x40);
@@ -70,6 +94,9 @@ export class Drawable {
70
94
  const sxyz_llll = this.#pool.view.getUint8(this.i + 6);
71
95
  this.#pool.view.setUint8(this.i + 6, (sxyz_llll & ~0x20) | (-flip & 0x20));
72
96
  }
97
+ free() {
98
+ this.#pool.free(this);
99
+ }
73
100
  get h() {
74
101
  const h12_wwww = this.#pool.view.getUint16(this.i + 8, true);
75
102
  return h12_wwww >>> 4;
@@ -88,6 +115,24 @@ export class Drawable {
88
115
  const i11_c5 = this.#pool.view.getUint16(this.i + 10, true);
89
116
  this.#pool.view.setUint16(this.i + 10, (i11_c5 & ~(0x7ff << 5)) | ((id & 0x7ff) << 5), true);
90
117
  }
118
+ /**
119
+ * reset most values that wouldn't be configured when setting the tag. used
120
+ * for reinitialization on pool allocation.
121
+ */
122
+ init() {
123
+ this.cel = 0;
124
+ this.flipX = false;
125
+ this.flipY = false;
126
+ this.h = 0;
127
+ this.id = 0;
128
+ this.stretch = false;
129
+ this.visible = true;
130
+ this.w = 0;
131
+ this.x = 0;
132
+ this.y = 0;
133
+ this.z = Layer.Bottom;
134
+ this.zend = false;
135
+ }
91
136
  get stretch() {
92
137
  const sxyz_llll = this.#pool.view.getUint8(this.i + 6);
93
138
  return !!(sxyz_llll & 0x80);
@@ -97,6 +142,17 @@ export class Drawable {
97
142
  const sxyz_llll = this.#pool.view.getUint8(this.i + 6);
98
143
  this.#pool.view.setUint8(this.i + 6, (sxyz_llll & ~0x80) | (-stretch & 0x80));
99
144
  }
145
+ get ui() {
146
+ return isUILayer(this.z);
147
+ }
148
+ get visible() {
149
+ const rrrr_rrrv = this.#pool.view.getUint8(this.i + 12);
150
+ return (rrrr_rrrv & 0x1) === 0x1;
151
+ }
152
+ set visible(visible) {
153
+ const rrrr_rrrv = this.#pool.view.getUint8(this.i + 12);
154
+ this.#pool.view.setUint8(this.i + 12, (rrrr_rrrv & ~0x1) | (visible ? 0x1 : 0x0));
155
+ }
100
156
  get w() {
101
157
  const hhhh_w12 = this.#pool.view.getUint16(this.i + 7, true);
102
158
  return hhhh_w12 & 0xfff;
@@ -115,13 +171,6 @@ export class Drawable {
115
171
  const y8_x24 = this.#pool.view.getUint32(this.i + 0, true);
116
172
  this.#pool.view.setUint32(this.i + 0, (y8_x24 & ~0xff_ffff) | ((x * 64) & 0xff_ffff), true);
117
173
  }
118
- get xy() {
119
- return { x: this.x, y: this.y };
120
- }
121
- set xy(xy) {
122
- this.x = xy.x;
123
- this.y = xy.y;
124
- }
125
174
  get y() {
126
175
  const sxyz_llll_y24 = this.#pool.view.getUint32(this.i + 3, true);
127
176
  return ((sxyz_llll_y24 << 8) >> 8) / 64; // signed shift.
@@ -135,7 +184,7 @@ export class Drawable {
135
184
  const sxyz_llll = this.#pool.view.getUint8(this.i + 6);
136
185
  return (sxyz_llll & 0xf);
137
186
  }
138
- /** layer [0 (closest), 14 (furthest)]; 15 is hidden. */
187
+ /** layer [0 (bottom), 15 (top)]. */
139
188
  set z(z) {
140
189
  const sxyz_llll = this.#pool.view.getUint8(this.i + 6);
141
190
  this.#pool.view.setUint8(this.i + 6, (sxyz_llll & ~0xf) | (z & 0xf));
@@ -150,7 +199,6 @@ export class Drawable {
150
199
  this.#pool.view.setUint8(this.i + 6, (sxyz_llll & ~0x10) | (-end & 0x10));
151
200
  }
152
201
  }
153
- // to-do: can I declaration merge or namespace merge away from the tag type?
154
202
  export class Sprite extends Drawable {
155
203
  #atlas;
156
204
  #hitbox;
@@ -164,6 +212,9 @@ export class Sprite extends Drawable {
164
212
  get anim() {
165
213
  return this.#atlas.anim[this.tag];
166
214
  }
215
+ diagonalize(dir) {
216
+ diagonalize(this, dir.x * dir.y);
217
+ }
167
218
  get flipX() {
168
219
  return super.flipX;
169
220
  }
@@ -194,6 +245,7 @@ export class Sprite extends Drawable {
194
245
  this.#hitbox = undefined;
195
246
  this.#hurtbox = undefined;
196
247
  }
248
+ /** floored hitbox. */
197
249
  get hitbox() {
198
250
  if (this.#hitbox)
199
251
  return this.#hitbox;
@@ -201,19 +253,30 @@ export class Sprite extends Drawable {
201
253
  if (!hitbox)
202
254
  return;
203
255
  return (this.#hitbox ??= {
204
- x: this.x + (this.flipX ? this.w - hitbox.w - hitbox.x : hitbox.x),
205
- y: this.y + (this.flipY ? this.h - hitbox.h - hitbox.y : hitbox.y),
256
+ x: Math.floor(this.x + (this.flipX ? this.w - hitbox.w - hitbox.x : hitbox.x)),
257
+ y: Math.floor(this.y + (this.flipY ? this.h - hitbox.h - hitbox.y : hitbox.y)),
206
258
  w: hitbox.w,
207
259
  h: hitbox.h
208
260
  });
209
261
  }
262
+ /**
263
+ * use `clips()` to test only clipbox of this and box. hitbox and hurtbox
264
+ * default to clipbox.
265
+ */
210
266
  hits(box) {
211
- const hitbox = this.hitbox;
212
- if (!hitbox)
213
- return false;
214
- const hurtbox = box instanceof Sprite ? box.hurtbox : box;
215
- return !!hurtbox && boxHits(hitbox, hurtbox);
216
- }
267
+ const hurtbox = box instanceof Sprite ? (box.hurtbox ?? box) : box;
268
+ return boxHits(this.hitbox ?? this, hurtbox);
269
+ }
270
+ /** like `hits()` but can supports different world and UI layers. */
271
+ hitsZ(sprite, cam) {
272
+ if (this.ui === sprite.ui)
273
+ return this.hits(sprite);
274
+ const hurtbox = { ...(sprite.hurtbox ?? sprite.clipbox) };
275
+ hurtbox.x += (sprite.ui ? 1 : -1) * Math.floor(cam.x);
276
+ hurtbox.y += (sprite.ui ? 1 : -1) * Math.floor(cam.y);
277
+ return boxHits(this.hitbox ?? this, hurtbox);
278
+ }
279
+ /** floored hurtbox. */
217
280
  get hurtbox() {
218
281
  if (this.#hurtbox)
219
282
  return this.#hurtbox;
@@ -221,8 +284,8 @@ export class Sprite extends Drawable {
221
284
  if (!hurtbox)
222
285
  return;
223
286
  return (this.#hurtbox ??= {
224
- x: this.x + (this.flipX ? this.w - hurtbox.w - hurtbox.x : hurtbox.x),
225
- y: this.y + (this.flipY ? this.h - hurtbox.h - hurtbox.y : hurtbox.y),
287
+ x: Math.floor(this.x + (this.flipX ? this.w - hurtbox.w - hurtbox.x : hurtbox.x)),
288
+ y: Math.floor(this.y + (this.flipY ? this.h - hurtbox.h - hurtbox.y : hurtbox.y)),
226
289
  w: hurtbox.w,
227
290
  h: hurtbox.h
228
291
  });
@@ -241,13 +304,17 @@ export class Sprite extends Drawable {
241
304
  get looped() {
242
305
  // this comparison resets after the second loop since cel can only count to
243
306
  // 2 * anim.cels.
244
- return mod(this.#currentCel - this.cel, animCels * 2) >= this.anim.cels;
307
+ return mod(this.looperCel - this.cel, animCels * 2) >= this.anim.cels;
308
+ }
309
+ /** current fractional cel in [0, 2 * anim.cels). */
310
+ get looperCel() {
311
+ const cel = this.#looper.age / celMillis;
312
+ return cel % (this.anim.cels * 2);
245
313
  }
246
314
  /** sets cel to animation start. */
247
315
  reset() {
248
- this.cel = this.#currentCel; // setter truncates.
316
+ this.cel = this.looperCel; // setter truncates.
249
317
  }
250
- // to-do: unit test and catch up on unit tests elsewhere.
251
318
  get tag() {
252
319
  return this.#atlas.tags[this.id];
253
320
  }
@@ -292,10 +359,20 @@ export class Sprite extends Drawable {
292
359
  this.#hitbox = undefined;
293
360
  this.#hurtbox = undefined;
294
361
  }
295
- /** current fractional cel in [0, 2 * anim.cels). */
296
- get #currentCel() {
297
- const cel = this.#looper.age / celMillis;
298
- return cel % (this.anim.cels * 2);
299
- }
362
+ }
363
+ /**
364
+ * center component fractions for synchronized 45 degree diagonal movement.
365
+ * @arg dir positive if x and y are both increasing or decreasing, negative if
366
+ * opposing, zero if either are static.
367
+ */
368
+ export function diagonalize(xy, dir) {
369
+ if (!dir)
370
+ return;
371
+ xy.x = Math.floor(xy.x) + 0.5;
372
+ xy.y = Math.floor(xy.y) + 0.5 - (dir > 0 ? 0 : drawableEpsilon);
373
+ }
374
+ /** truncate to nearest drawable quantum. */
375
+ export function truncDrawableEpsilon(x) {
376
+ return Math.trunc(x / drawableEpsilon) * drawableEpsilon;
300
377
  }
301
378
  //# sourceMappingURL=sprite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sprite.js","sourceRoot":"","sources":["../../../src/graphics/sprite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sprite.js","sourceRoot":"","sources":["../../../src/graphics/sprite.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,55 @@
1
+ import './level/level-schema-json.ts';
1
2
  export { type Font, memProp5x6 } from 'mem-font';
2
- export * from './ents/button-ent.ts';
3
- export * from './ents/cursor-ent.ts';
3
+ export * from './audio.ts';
4
+ export * from './ents/button.ts';
5
+ export * from './ents/cam.ts';
6
+ export * from './ents/cursor.ts';
7
+ export * from './ents/debug-input.ts';
8
+ export * from './ents/draw.ts';
4
9
  export * from './ents/ent.ts';
5
- export * from './ents/follow-cam-ent.ts';
6
- export * from './ents/nine-patch-ent.ts';
7
- export * from './ents/text-ent.ts';
10
+ export * from './ents/ent-query.ts';
11
+ export * from './ents/fps.ts';
12
+ export * from './ents/hud.ts';
13
+ export * from './ents/loader.ts';
14
+ export * from './ents/nine-patch.ts';
15
+ export * from './ents/override.ts';
16
+ export * from './ents/sprite.ts';
17
+ export * from './ents/sys.ts';
18
+ export * from './ents/text.ts';
8
19
  export * from './ents/zoo.ts';
9
20
  export * from './graphics/atlas.ts';
10
21
  export * from './graphics/atlas-parser.ts';
11
22
  export * from './graphics/cam.ts';
12
23
  export * from './graphics/layer.ts';
24
+ export * from './graphics/render-mode.ts';
13
25
  export * from './graphics/sprite.ts';
14
26
  export * from './input/input.ts';
15
27
  export type { PointEvent } from './input/pointer.ts';
28
+ export * from './level/level.ts';
29
+ export * from './level/level-parser.ts';
30
+ export * from './level/level-schema.ts';
16
31
  export * from './mem/pool.ts';
32
+ export * from './mem/pool-map.ts';
33
+ export * from './mem/sprite-pool.ts';
17
34
  export * from './random/random.ts';
18
35
  export * from './storage/local-storage.ts';
19
36
  export * from './text/font.ts';
20
37
  export * from './text/text-layout.ts';
38
+ export * from './types/bundle.ts';
39
+ export * from './types/game-config.ts';
21
40
  export * from './types/geo.ts';
22
41
  export * from './types/json.ts';
23
42
  export * from './types/time.ts';
24
43
  export * from './utils/async-util.ts';
25
44
  export * from './utils/canvas-util.ts';
45
+ export * from './utils/color-util.ts';
26
46
  export * from './utils/debug.ts';
47
+ export * from './utils/delay-interval.ts';
27
48
  export * from './utils/dom-util.ts';
28
49
  export * from './utils/fetch-util.ts';
50
+ export * from './utils/math.ts';
51
+ export * from './utils/obj-util.ts';
52
+ export * from './utils/str-util.ts';
53
+ export * from './utils/vibrate.ts';
29
54
  export * from './void.ts';
30
- export declare const version: string;
55
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,8BAA8B,CAAA;AAErC,OAAO,EAAC,KAAK,IAAI,EAAE,UAAU,EAAC,MAAM,UAAU,CAAA;AAC9C,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,YAAY,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAA;AAClD,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAE1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA"}
package/dist/src/index.js CHANGED
@@ -1,33 +1,57 @@
1
- import { voidVersion } from "./types/void-version.js";
1
+ // ╭>°╮┬┌─╮╭─╮┬┌─╮
2
+ // ╰──╰┴╯─╯╰─╰┴╯─╯
3
+ import "./level/level-schema-json.js";
2
4
  export { memProp5x6 } from 'mem-font';
3
- export * from "./ents/button-ent.js";
4
- export * from "./ents/cursor-ent.js";
5
+ export * from "./audio.js";
6
+ export * from "./ents/button.js";
7
+ export * from "./ents/cam.js";
8
+ export * from "./ents/cursor.js";
9
+ export * from "./ents/debug-input.js";
10
+ export * from "./ents/draw.js";
5
11
  export * from "./ents/ent.js";
6
- export * from "./ents/follow-cam-ent.js";
7
- export * from "./ents/nine-patch-ent.js";
8
- export * from "./ents/text-ent.js";
12
+ export * from "./ents/ent-query.js";
13
+ export * from "./ents/fps.js";
14
+ export * from "./ents/hud.js";
15
+ export * from "./ents/loader.js";
16
+ export * from "./ents/nine-patch.js";
17
+ export * from "./ents/override.js";
18
+ export * from "./ents/sprite.js";
19
+ export * from "./ents/sys.js";
20
+ export * from "./ents/text.js";
9
21
  export * from "./ents/zoo.js";
10
22
  export * from "./graphics/atlas.js";
11
23
  export * from "./graphics/atlas-parser.js";
12
24
  export * from "./graphics/cam.js";
13
25
  export * from "./graphics/layer.js";
26
+ export * from "./graphics/render-mode.js";
14
27
  export * from "./graphics/sprite.js";
15
28
  export * from "./input/input.js";
29
+ export * from "./level/level.js";
30
+ export * from "./level/level-parser.js";
31
+ export * from "./level/level-schema.js";
16
32
  export * from "./mem/pool.js";
33
+ export * from "./mem/pool-map.js";
34
+ export * from "./mem/sprite-pool.js";
17
35
  export * from "./random/random.js";
18
36
  export * from "./storage/local-storage.js";
37
+ // to-do: export * from './test/assert.ts'
19
38
  export * from "./text/font.js";
20
39
  export * from "./text/text-layout.js";
40
+ export * from "./types/bundle.js";
41
+ export * from "./types/game-config.js";
21
42
  export * from "./types/geo.js";
22
43
  export * from "./types/json.js";
23
44
  export * from "./types/time.js";
24
45
  export * from "./utils/async-util.js";
25
46
  export * from "./utils/canvas-util.js";
47
+ export * from "./utils/color-util.js";
26
48
  export * from "./utils/debug.js";
49
+ export * from "./utils/delay-interval.js";
27
50
  export * from "./utils/dom-util.js";
28
51
  export * from "./utils/fetch-util.js";
52
+ export * from "./utils/math.js";
53
+ export * from "./utils/obj-util.js";
54
+ export * from "./utils/str-util.js";
55
+ export * from "./utils/vibrate.js";
29
56
  export * from "./void.js";
30
- export const version = voidVersion
31
- ? `${voidVersion.version}+${voidVersion.published}`
32
- : '?';
33
57
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAA;AAEnD,OAAO,EAAY,UAAU,EAAC,MAAM,UAAU,CAAA;AAC9C,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAEhC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,WAAW,CAAA;AAEzB,MAAM,CAAC,MAAM,OAAO,GAAW,WAAW;IACxC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,SAAS,EAAE;IACnD,CAAC,CAAC,GAAG,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,kBAAkB;AAElB,OAAO,8BAA8B,CAAA;AAErC,OAAO,EAAY,UAAU,EAAC,MAAM,UAAU,CAAA;AAC9C,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAEhC,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,0CAA0C;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA"}
@@ -1,4 +1,3 @@
1
- /** @internal */
2
1
  export declare class ContextMenu {
3
2
  #private;
4
3
  enable: boolean;
@@ -6,3 +5,4 @@ export declare class ContextMenu {
6
5
  register(op: 'add' | 'remove'): this;
7
6
  [Symbol.dispose](): void;
8
7
  }
8
+ //# sourceMappingURL=context-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-menu.d.ts","sourceRoot":"","sources":["../../../src/input/context-menu.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;;IACtB,MAAM,EAAE,OAAO,CAAQ;gBAGX,MAAM,EAAE,WAAW;IAI/B,QAAQ,CAAC,EAAE,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI;IAQpC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;CAQzB"}
@@ -1,4 +1,3 @@
1
- /** @internal */
2
1
  export class ContextMenu {
3
2
  enable = false;
4
3
  #target;
@@ -1 +1 @@
1
- {"version":3,"file":"context-menu.js","sourceRoot":"","sources":["../../../src/input/context-menu.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,MAAM,OAAO,WAAW;IACtB,MAAM,GAAY,KAAK,CAAA;IACd,OAAO,CAAa;IAE7B,YAAY,MAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,QAAQ,CAAC,EAAoB;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChE,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,cAA+B,CAAC,CAAA;QACvD,6DAA6D;QAC7D,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,cAA+B,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAA;QACxE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED,cAAc,GAAG,CAAC,EAA6B,EAAQ,EAAE;QACvD,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO;YAAE,OAAM;QAClE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,EAAE,CAAC,cAAc,EAAE,CAAA;IACvC,CAAC,CAAA;CACF"}
1
+ {"version":3,"file":"context-menu.js","sourceRoot":"","sources":["../../../src/input/context-menu.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IACtB,MAAM,GAAY,KAAK,CAAA;IACd,OAAO,CAAa;IAE7B,YAAY,MAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,QAAQ,CAAC,EAAoB;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChE,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,cAA+B,CAAC,CAAA;QACvD,6DAA6D;QAC7D,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,cAA+B,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAA;QACxE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED,cAAc,GAAG,CAAC,EAA6B,EAAQ,EAAE;QACvD,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO;YAAE,OAAM;QAClE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,EAAE,CAAC,cAAc,EAAE,CAAA;IACvC,CAAC,CAAA;CACF"}
@@ -1,4 +1,3 @@
1
- /** @internal */
2
1
  export declare class Gamepad {
3
2
  #private;
4
3
  bits: number;
@@ -16,3 +15,4 @@ export declare class Gamepad {
16
15
  [Symbol.dispose](): void;
17
16
  update(): void;
18
17
  }
18
+ //# sourceMappingURL=gamepad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gamepad.d.ts","sourceRoot":"","sources":["../../../src/input/gamepad.ts"],"names":[],"mappings":"AAAA,qBAAa,OAAO;;IAClB,IAAI,EAAE,MAAM,CAAI;IAIhB,QAAQ,CAAC,SAAS,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;KAAC,CAAK;IACvE,QAAQ,CAAC,WAAW,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAK;IAClD,OAAO,EAAE,MAAM,IAAI,CAAW;gBAGlB,MAAM,EAAE,WAAW;IAI/B,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,QAAQ,CAAC,EAAE,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI;IAOpC,KAAK,IAAI,IAAI;IAIb,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAIxB,MAAM,IAAI,IAAI;CAgBf"}
@@ -1,4 +1,3 @@
1
- /** @internal */
2
1
  export class Gamepad {
3
2
  bits = 0;
4
3
  // to-do: support analog button values, expose connected status and vibration,
@@ -1 +1 @@
1
- {"version":3,"file":"gamepad.js","sourceRoot":"","sources":["../../../src/input/gamepad.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,MAAM,OAAO,OAAO;IAClB,IAAI,GAAW,CAAC,CAAA;IAChB,8EAA8E;IAC9E,2EAA2E;IAC3E,8BAA8B;IACrB,SAAS,GAAmD,EAAE,CAAA;IAC9D,WAAW,GAA4B,EAAE,CAAA;IAClD,OAAO,GAAe,GAAG,EAAE,GAAE,CAAC,CAAA;IACrB,OAAO,CAAa;IAE7B,YAAY,MAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,eAAe,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9E,CAAC;IAED,QAAQ,CAAC,EAAoB;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChE,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACpC,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;IACf,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,eAAe;YAAE,OAAM;QAC5B,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;gBACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBACtC,IAAI,CAAC,QAAQ;oBAAE,SAAQ;gBACvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBACjE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9C,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;gBACxD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;gBACnC,IAAI,GAAG,IAAI,IAAI;oBAAE,SAAQ;gBACzB,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"gamepad.js","sourceRoot":"","sources":["../../../src/input/gamepad.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,OAAO;IAClB,IAAI,GAAW,CAAC,CAAA;IAChB,8EAA8E;IAC9E,2EAA2E;IAC3E,8BAA8B;IACrB,SAAS,GAAmD,EAAE,CAAA;IAC9D,WAAW,GAA4B,EAAE,CAAA;IAClD,OAAO,GAAe,GAAG,EAAE,GAAE,CAAC,CAAA;IACrB,OAAO,CAAa;IAE7B,YAAY,MAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,eAAe,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9E,CAAC;IAED,QAAQ,CAAC,EAAoB;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChE,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACpC,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;IACf,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,eAAe;YAAE,OAAM;QAC5B,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;gBACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBACtC,IAAI,CAAC,QAAQ;oBAAE,SAAQ;gBACvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBACjE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9C,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;gBACxD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;gBACnC,IAAI,GAAG,IAAI,IAAI;oBAAE,SAAQ;gBACzB,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -2,9 +2,10 @@ import type { Cam, LevelClientLocalXY } from '../graphics/cam.ts';
2
2
  import type { XY, XYZ } from '../types/geo.ts';
3
3
  import type { Millis } from '../types/time.ts';
4
4
  import type { PointType } from './pointer.ts';
5
- export type Chord<Button> = [Button, ...Button[]];
6
- export type Combo<Button> = [Chord<Button>, ...Chord<Button>[]];
7
- export type DefaultButton = 'L' | 'R' | 'U' | 'D' | 'A' | 'B' | 'C' | 'Click' | 'Click2' | 'ClickMiddle' | 'Menu' | 'Back';
5
+ export type AnyButton = 'U' | 'D' | 'L' | 'R' | 'A' | 'B' | 'C' | 'Menu' | 'Back';
6
+ export type Chord = [AnyButton, ...AnyButton[]];
7
+ export type Combo = [Chord, ...Chord[]];
8
+ export type InputMode = 'Default' | 'Custom';
8
9
  export type Point = LevelClientLocalXY & {
9
10
  click: LevelClientLocalXY | undefined;
10
11
  type: PointType | undefined;
@@ -57,7 +58,7 @@ type WheelState = {
57
58
  * to-do: multiplayer. possible if devices were requested instead of sought.
58
59
  * to-do: expose input source device.
59
60
  */
60
- export declare class Input<Button extends string> {
61
+ export declare class Input {
61
62
  #private;
62
63
  /** time allowed between combo inputs. */
63
64
  comboMaxIntervalMillis: Millis;
@@ -78,7 +79,7 @@ export declare class Input<Button extends string> {
78
79
  constructor(cam: Readonly<Cam>, target: Element);
79
80
  get anyOn(): boolean;
80
81
  /** for debugging. */
81
- get combo(): Button[][];
82
+ get combo(): AnyButton[][];
82
83
  /**
83
84
  * enable when game is paused or in photo mode to allow right clicks and long
84
85
  * presses to save canvas.
@@ -86,46 +87,51 @@ export declare class Input<Button extends string> {
86
87
  get contextMenu(): {
87
88
  enable: boolean;
88
89
  };
90
+ get dir(): Readonly<XY>;
89
91
  /** doesn't consider handled. gamepads must be polled. */
90
92
  get gamepad(): Readonly<object | undefined>;
91
- /** true if bits hasn't changed for a while. */
93
+ /** true if buttons haven't changed for a while. */
92
94
  get held(): boolean;
93
- isAnyOn(...btns: Readonly<Chord<Button>>): boolean;
94
- isAnyOnStart(...btns: Readonly<Chord<Button>>): boolean;
95
+ isAnyOn(...btns: Readonly<Chord>): boolean;
96
+ isAnyOnStart(...btns: Readonly<Chord>): boolean;
97
+ /** true if on for at least two frames. */
98
+ isAnyOnStill(...btns: Readonly<Chord>): boolean;
99
+ /** true if any buttons have started on or off. */
100
+ isAnyStarted(...btns: Readonly<Chord>): boolean;
95
101
  /**
96
102
  * buttons are exact. eg, up won't match up AND down like `isOn('U')` will.
97
103
  * combo is exact too. `['A'], ['A']` will match `['A'], ['A']` but not
98
104
  * `['A'], ['A'], ['A']`.
99
105
  */
100
- isCombo(...combo: Readonly<Combo<Button>>): boolean;
106
+ isCombo(...combo: Readonly<Combo>): boolean;
101
107
  /**
102
108
  * `['A'], ['A']` will match `['A'], ['A']` and `['B'], ['A'], ['A']`. eg,
103
109
  * double-clicks often don't care about any preceding buttons.
104
110
  */
105
- isComboEndsWith(...combo: Readonly<Combo<Button>>): boolean;
111
+ isComboEndsWith(...combo: Readonly<Combo>): boolean;
106
112
  /** like isComboEndsWith() but test if the last button is triggered. */
107
- isComboEndsWithStart(...combo: Readonly<Combo<Button>>): boolean;
113
+ isComboEndsWithStart(...combo: Readonly<Combo>): boolean;
108
114
  /** like isCombo() but test if the last button is triggered. */
109
- isComboStart(...combo: Readonly<Combo<Button>>): boolean;
110
- isOff(...btns: Readonly<Chord<Button>>): boolean;
111
- isOffStart(...btns: Readonly<Chord<Button>>): boolean;
115
+ isComboStart(...combo: Readonly<Combo>): boolean;
116
+ isOff(...btns: Readonly<Chord>): boolean;
117
+ isOffStart(...btns: Readonly<Chord>): boolean;
112
118
  /**
113
119
  * true if all buttons are on inclusively. eg, `isOn('U')` is true when up is
114
120
  * pressed or when up and down are pressed.
115
121
  */
116
- isOn(...btns: Readonly<Chord<Button>>): boolean;
117
- isOnStart(...btns: Readonly<Chord<Button>>): boolean;
122
+ isOn(...btns: Readonly<Chord>): boolean;
123
+ isOnStart(...btns: Readonly<Chord>): boolean;
118
124
  get key(): {
119
125
  invalid: boolean;
120
126
  };
121
- mapDefault(): Input<Button | DefaultButton>;
122
- mapGamepadAxis(less: Button, more: Button, ...axes: readonly number[]): void;
123
- mapGamepadButton(btn: Button, ...indices: readonly number[]): void;
127
+ mapDefault(): void;
128
+ mapGamepadAxis(less: AnyButton, more: AnyButton, ...axes: readonly number[]): void;
129
+ mapGamepadButton(btn: AnyButton, ...indices: readonly number[]): void;
124
130
  /** @arg codes union of KeyboardEvent.code. */
125
- mapKeyboardCode(btn: Button, ...codes: readonly string[]): void;
126
- mapPointerClick(btn: Button, ...clicks: readonly number[]): void;
127
- get on(): Button[];
128
- set onEvent(cb: () => void);
131
+ mapKeyboardCode(btn: AnyButton, ...codes: readonly string[]): void;
132
+ mapPointerClick(btn: AnyButton, ...clicks: readonly number[]): void;
133
+ get on(): AnyButton[];
134
+ set onEvent(hook: () => void);
129
135
  /** doesn't consider handled. */
130
136
  get point(): PointerState | undefined;
131
137
  get pointer(): {
@@ -146,3 +152,4 @@ export declare class Input<Button extends string> {
146
152
  get wheel(): Readonly<WheelState | undefined>;
147
153
  }
148
154
  export {};
155
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/input/input.ts"],"names":[],"mappings":"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"}