@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 +1,2 @@
1
1
  export declare function parseHTML(filename: string): Promise<Document>;
2
+ //# sourceMappingURL=html-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-parser.d.ts","sourceRoot":"","sources":["../../../tools/utils/html-parser.ts"],"names":[],"mappings":"AAEA,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAMnE"}
@@ -13,3 +13,4 @@ declare module './utils/argv.ts' {
13
13
  }
14
14
  }
15
15
  export declare function build(args: readonly string[]): Promise<void>;
16
+ //# sourceMappingURL=void.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"void.d.ts","sourceRoot":"","sources":["../../tools/void.ts"],"names":[],"mappings":";AASA,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,IAAI;QACZ,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,UAAU,CAAC,EAAE,IAAI,CAAA;QACjB,wDAAwD;QACxD,YAAY,CAAC,EAAE,IAAI,CAAA;QACnB;;;WAGG;QACH,SAAS,CAAC,EAAE,IAAI,CAAA;KACjB;CACF;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAWlE"}
@@ -2,29 +2,16 @@
2
2
  // void.ts --config=<void.json> [--minify] [--one-file] [--watch]
3
3
  // compiles images into an atlas and bundles an HTML entrypoint.
4
4
  import path from 'node:path';
5
- import voidPackageJSON from '../package.json' with { type: 'json' };
6
- import { parseConfigFile } from "../schema/config-file.js";
7
5
  import { bundle } from "./bundle/bundle.js";
8
- import { Config } from "./types/config.js";
9
- import { Argv } from "./utils/argv.js";
10
- import { exec } from "./utils/exec.js";
6
+ import { readConfig } from "./types/config.js";
11
7
  import { parseHTML } from "./utils/html-parser.js";
12
8
  export async function build(args) {
13
- const argv = Argv(args);
14
- const configFile = await parseConfigFile(argv.opts['--config'] ?? 'void.json');
15
- const hash = (await exec('git', 'rev-parse', '--short', 'HEAD')).trim();
16
- const packageJSON = JSON.parse((await exec('npm', 'pkg', 'get', 'version', 'published')) || '{}');
17
- const config = Config(configFile, argv, packageJSON, hash);
9
+ const config = await readConfig(args);
18
10
  const doc = await parseHTML(config.entry);
19
11
  const srcFilenames = [
20
12
  ...doc.querySelectorAll("script[type='module'][src$='.ts']")
21
13
  ].map(el => path.resolve(path.dirname(config.entry), el.getAttribute('src')));
22
- const voidVersion = {
23
- published: voidPackageJSON.published,
24
- // imported JSON doesn't treeshake. define as a constant.
25
- version: voidPackageJSON.version
26
- };
27
- await bundle(config, srcFilenames, voidVersion);
14
+ await bundle(config, srcFilenames);
28
15
  }
29
16
  if (import.meta.main)
30
17
  await build(process.argv);
@@ -1 +1 @@
1
- {"version":3,"file":"void.js","sourceRoot":"","sources":["../../tools/void.ts"],"names":[],"mappings":";AACA,iEAAiE;AACjE,gEAAgE;AAEhE,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,eAAe,MAAM,iBAAiB,CAAC,OAAM,IAAI,EAAE,MAAM,EAAC,CAAA;AACjE,OAAO,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAA;AAExD,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AAExC,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAA;AAgBhD,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAuB;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC,CAAA;IAC9E,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACvE,MAAM,WAAW,GAAgB,IAAI,CAAC,KAAK,CACzC,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,IAAI,IAAI,CAClE,CAAA;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;IAE1D,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,YAAY,GAAG;QACnB,GAAG,GAAG,CAAC,gBAAgB,CACrB,mCAAmC,CACpC;KACF,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAE,CAAC,CAAC,CAAA;IAE9E,MAAM,WAAW,GAAgB;QAC/B,SAAS,EAAE,eAAe,CAAC,SAAS;QACpC,yDAAyD;QACzD,OAAO,EAAE,eAAe,CAAC,OAAO;KACjC,CAAA;IAED,MAAM,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;AACjD,CAAC;AAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI;IAAE,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"void.js","sourceRoot":"","sources":["../../tools/void.ts"],"names":[],"mappings":";AACA,iEAAiE;AACjE,gEAAgE;AAEhE,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAA;AAgBhD,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAuB;IACjD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;IAErC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,YAAY,GAAG;QACnB,GAAG,GAAG,CAAC,gBAAgB,CACrB,mCAAmC,CACpC;KACF,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAE,CAAC,CAAC,CAAA;IAE9E,MAAM,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;AACpC,CAAC;AAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI;IAAE,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,19 +1,17 @@
1
1
  {
2
2
  "author": "Stephen Niedzielski <stephen@oidoid.com> (https://oidoid.com)",
3
3
  "bin": {
4
- "void": "tools/void.ts"
4
+ "void": "dist/tools/void.js"
5
5
  },
6
6
  "bugs": "https://github.com/oidoid/void/issues",
7
7
  "dependencies": {
8
- "@biomejs/biome": "2.2.6",
9
- "esbuild": "0.25.11",
10
- "html-minifier-next": "3.0.0",
11
- "jsdom": "27.0.1",
12
- "mem-font": "11.0.0-7"
8
+ "@biomejs/biome": "2.3.10",
9
+ "esbuild": "0.27.2",
10
+ "jsdom": "27.3.0",
11
+ "mem-font": "11.0.0-9"
13
12
  },
14
13
  "description": "basic 2D game library.",
15
14
  "devDependencies": {
16
- "@types/html-minifier-next": "2.1.0",
17
15
  "@types/jsdom": "27.0.0",
18
16
  "@types/node": "24.4.0",
19
17
  "typescript": "5.9.3"
@@ -25,10 +23,9 @@
25
23
  ".": "./dist/src/index.js"
26
24
  },
27
25
  "files": [
28
- "dist",
29
- "schema",
30
- "tools",
31
- "!tools/tsconfig*",
26
+ "dist/",
27
+ "!dist/meta.json",
28
+ "!dist/public/**/*.png",
32
29
  "!**/tsconfig.tsbuildinfo"
33
30
  ],
34
31
  "homepage": "https://github.com/oidoid/void",
@@ -41,26 +38,27 @@
41
38
  "publishConfig": {
42
39
  "access": "public"
43
40
  },
44
- "published": "20251021",
41
+ "published": "20251227",
45
42
  "repository": {
46
43
  "type": "git",
47
44
  "url": "git+https://github.com/oidoid/void.git"
48
45
  },
49
46
  "scripts": {
50
- "build": "tsc --build && npm run build:favicon && npm run build:demo -- --minify --one-file",
47
+ "build": "tsc --build && chmod +x dist/tools/void.js && npm run build:favicon && npm run build:demo -- --minify --one-file",
51
48
  "build:favicon": "for s in 1 2 3 4 12; do f=dist/public/favicon/favicon$(($s * 16)); aseprite src/demo/assets/favicon.aseprite --batch --color-mode=indexed --scale=$s --save-as=$f.png && cwebp -exact -lossless -mt -quiet -z 9 $f.png -o $f.webp; done",
52
49
  "build:demo": "tools/void.ts --config=src/demo/void.json",
50
+ "build:watch": "tsc --build --watch",
53
51
  "clean": "rm -rf dist",
54
- "format": "npm run formatter -- --fix",
55
- "formatter": "biome check --error-on-warnings",
52
+ "format": "npm run linter -- --fix",
53
+ "lint": "npm run linter",
54
+ "linter": "biome check --error-on-warnings",
56
55
  "preversion": "[ -z \"$(git status -z)\" ]",
57
56
  "prepublishOnly": "! git symbolic-ref --quiet HEAD || git push --follow-tags origin \"$(git branch --show-current)\"",
58
- "start": "tsc --build --preserveWatchOutput --watch& npm run build:favicon && npm run build:demo -- --watch& wait",
59
- "test": "npm run test:format && npm run test:unit && npm run build",
60
- "test:format": "npm run formatter",
57
+ "start": "npm run build:watch -- --preserveWatchOutput& npm run build:favicon && npm run build:demo -- --watch& wait",
58
+ "test": "npm run lint && npm run test:unit && npm run build",
61
59
  "test:unit": "sh -c 'node --experimental-test-coverage --test ${@:-$(find src schema tools -name \\*.test.ts -printf %p\\ )}' --",
62
- "version": "npm pkg set published=$(date +%Y%m%d) && npm test"
60
+ "version": "npm pkg set published=$(date +%Y%m%d) && npm run clean && npm test"
63
61
  },
64
62
  "type": "module",
65
- "version": "0.1.0-7"
63
+ "version": "0.1.0"
66
64
  }
package/readme.md CHANGED
@@ -8,6 +8,69 @@ basic 2D game library.
8
8
  npm install --save @oidoid/void
9
9
  ```
10
10
 
11
+ ### Native Dependencies
12
+
13
+ - Aseprite
14
+ - cwebp
15
+
16
+ ## Development
17
+
18
+ ### Declaration Merging
19
+
20
+ to avoid threading template parameters throughout all code, declaration merging is used for the following:
21
+
22
+ - `CamSchema`
23
+ - `CamUpdater`
24
+ - `Debug`
25
+ - `Draw`
26
+ - `DrawSchema`
27
+ - `Ent`
28
+ - `EntSchema`
29
+ - `Loader`
30
+ - `PoolMap`
31
+ - `ReturnTag`
32
+ - `Sys`
33
+
34
+ it's similar to modifying `HTMLElementTagNameMap`.
35
+
36
+ ### Queries
37
+
38
+ queries declare system dependencies.
39
+
40
+ sprite is a kind of common denominator for position and area. if the ent should have no visual representation, leave the sprite as hidden.
41
+
42
+ ### ECS Order
43
+
44
+ ents are updated in insertion order. the cam and then cursor _ents_ should appear first.
45
+
46
+ components are parsed and updated in key order. the recommended order is:
47
+
48
+ - `debugInput`
49
+ - `id`
50
+ - `name`
51
+ - `text`
52
+ - `sprite`
53
+ - `textWH`
54
+ - `cursor`
55
+ - `hud`
56
+ - `ninePatch`
57
+ - `button`
58
+ - `textXY`
59
+ - `invalid`
60
+ - `override`
61
+
62
+ systems are uniquely associated with a key. zero or one system per key. if multiple keys on an ent are associated with a system, it will be run multiple times per update.
63
+
64
+ ### Schema
65
+
66
+ there are two schemas: a game configuration (`void.json`) and level configs (`*.level.jsonc`). the parser assumes a valid schema to minimize code size.
67
+
68
+ levels are described with the level schema. some schema components may only be applied at parse time.
69
+
70
+ ### Invalid
71
+
72
+ ents and subsystems self-report as invalid when an update or render is required. ents should avoid reading another ent's `invalid` state since it's cleared once that ent has been updated.
73
+
11
74
  ## Copyright and License
12
75
 
13
76
  © oidoid.
@@ -28,6 +91,5 @@ with this program. If not, see <https://www.gnu.org/licenses/>.
28
91
 
29
92
  ```
30
93
  ╭>°╮┬┌─╮╭─╮┬┌─╮
31
- │ │││ ││ │││ │
32
94
  ╰──╯┴└─╯╰─╯┴└─╯
33
95
  ```
package/dist/meta.json DELETED
@@ -1 +0,0 @@
1
- {"inputs":{"<define:globalThis.voidVersion>":{"bytes":44,"imports":[]},"src/types/void-version.ts":{"bytes":302,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"node_modules/mem-font/dist/mem-mono-3x3.json":{"bytes":310,"imports":[],"format":"esm","with":{"type":"json"}},"node_modules/mem-font/dist/mem-mono-4x4.json":{"bytes":310,"imports":[],"format":"esm","with":{"type":"json"}},"node_modules/mem-font/dist/mem-prop-3x5.json":{"bytes":1153,"imports":[],"format":"esm","with":{"type":"json"}},"node_modules/mem-font/dist/mem-prop-4x4.json":{"bytes":4123,"imports":[],"format":"esm","with":{"type":"json"}},"node_modules/mem-font/dist/mem-prop-5x5.json":{"bytes":1307,"imports":[],"format":"esm","with":{"type":"json"}},"node_modules/mem-font/dist/mem-prop-5x6.json":{"bytes":9789,"imports":[],"format":"esm","with":{"type":"json"}},"node_modules/mem-font/dist/index.js":{"bytes":633,"imports":[{"path":"node_modules/mem-font/dist/mem-mono-3x3.json","kind":"import-statement","original":"./mem-mono-3x3.json","with":{"type":"json"}},{"path":"node_modules/mem-font/dist/mem-mono-4x4.json","kind":"import-statement","original":"./mem-mono-4x4.json","with":{"type":"json"}},{"path":"node_modules/mem-font/dist/mem-prop-3x5.json","kind":"import-statement","original":"./mem-prop-3x5.json","with":{"type":"json"}},{"path":"node_modules/mem-font/dist/mem-prop-4x4.json","kind":"import-statement","original":"./mem-prop-4x4.json","with":{"type":"json"}},{"path":"node_modules/mem-font/dist/mem-prop-5x5.json","kind":"import-statement","original":"./mem-prop-5x5.json","with":{"type":"json"}},{"path":"node_modules/mem-font/dist/mem-prop-5x6.json","kind":"import-statement","original":"./mem-prop-5x6.json","with":{"type":"json"}},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/graphics/layer.ts":{"bytes":470,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/types/geo.ts":{"bytes":2193,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/ents/nine-patch-ent.ts":{"bytes":6500,"imports":[{"path":"src/types/geo.ts","kind":"import-statement","original":"../types/geo.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/text/font.ts":{"bytes":806,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/text/text-layout.ts":{"bytes":4127,"imports":[{"path":"src/text/font.ts","kind":"import-statement","original":"./font.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/ents/text-ent.ts":{"bytes":2818,"imports":[{"path":"node_modules/mem-font/dist/index.js","kind":"import-statement","original":"mem-font"},{"path":"src/graphics/layer.ts","kind":"import-statement","original":"../graphics/layer.ts"},{"path":"src/text/font.ts","kind":"import-statement","original":"../text/font.ts"},{"path":"src/text/text-layout.ts","kind":"import-statement","original":"../text/text-layout.ts"},{"path":"src/types/geo.ts","kind":"import-statement","original":"../types/geo.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/ents/button-ent.ts":{"bytes":5002,"imports":[{"path":"src/graphics/layer.ts","kind":"import-statement","original":"../graphics/layer.ts"},{"path":"src/types/geo.ts","kind":"import-statement","original":"../types/geo.ts"},{"path":"src/ents/nine-patch-ent.ts","kind":"import-statement","original":"./nine-patch-ent.ts"},{"path":"src/ents/text-ent.ts","kind":"import-statement","original":"./text-ent.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/ents/cursor-ent.ts":{"bytes":2230,"imports":[{"path":"src/graphics/layer.ts","kind":"import-statement","original":"../graphics/layer.ts"},{"path":"src/types/geo.ts","kind":"import-statement","original":"../types/geo.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/ents/ent.ts":{"bytes":278,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/ents/follow-cam-ent.ts":{"bytes":2465,"imports":[{"path":"src/types/geo.ts","kind":"import-statement","original":"../types/geo.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/debug.ts":{"bytes":1740,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/ents/zoo.ts":{"bytes":1286,"imports":[{"path":"src/utils/debug.ts","kind":"import-statement","original":"../utils/debug.ts"},{"path":"src/ents/cursor-ent.ts","kind":"import-statement","original":"./cursor-ent.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/graphics/atlas.ts":{"bytes":1396,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/graphics/atlas-parser.ts":{"bytes":780,"imports":[{"path":"src/graphics/atlas.ts","kind":"import-statement","original":"./atlas.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/graphics/cam.ts":{"bytes":7022,"imports":[{"path":"src/types/geo.ts","kind":"import-statement","original":"../types/geo.ts"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../utils/debug.ts"},{"path":"src/graphics/layer.ts","kind":"import-statement","original":"./layer.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/math.ts":{"bytes":616,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/graphics/sprite.ts":{"bytes":9763,"imports":[{"path":"src/graphics/atlas.ts","kind":"import-statement","original":"../graphics/atlas.ts"},{"path":"src/types/geo.ts","kind":"import-statement","original":"../types/geo.ts"},{"path":"src/utils/math.ts","kind":"import-statement","original":"../utils/math.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/input/context-menu.ts":{"bytes":748,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/input/gamepad.ts":{"bytes":1530,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/input/keyboard.ts":{"bytes":1246,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/input/pointer.ts":{"bytes":5933,"imports":[{"path":"src/types/geo.ts","kind":"import-statement","original":"../types/geo.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/input/wheel.ts":{"bytes":833,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/input/input.ts":{"bytes":14818,"imports":[{"path":"src/input/context-menu.ts","kind":"import-statement","original":"./context-menu.ts"},{"path":"src/input/gamepad.ts","kind":"import-statement","original":"./gamepad.ts"},{"path":"src/input/keyboard.ts","kind":"import-statement","original":"./keyboard.ts"},{"path":"src/input/pointer.ts","kind":"import-statement","original":"./pointer.ts"},{"path":"src/input/wheel.ts","kind":"import-statement","original":"./wheel.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/mem/pool.ts":{"bytes":3682,"imports":[{"path":"src/utils/debug.ts","kind":"import-statement","original":"../utils/debug.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/random/random.ts":{"bytes":666,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/storage/local-storage.ts":{"bytes":384,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/types/json.ts":{"bytes":1190,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/types/time.ts":{"bytes":782,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/async-util.ts":{"bytes":1413,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/color-util.ts":{"bytes":106,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/dom-util.ts":{"bytes":959,"imports":[{"path":"src/utils/color-util.ts","kind":"import-statement","original":"./color-util.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/canvas-util.ts":{"bytes":2103,"imports":[{"path":"src/types/time.ts","kind":"import-statement","original":"../types/time.ts"},{"path":"src/utils/dom-util.ts","kind":"import-statement","original":"./dom-util.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/fetch-util.ts":{"bytes":907,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/graphics/gl.ts":{"bytes":2909,"imports":[{"path":"src/utils/debug.ts","kind":"import-statement","original":"../utils/debug.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/graphics/sprite-frag.glsl.ts":{"bytes":815,"imports":[{"path":"src/utils/debug.ts","kind":"import-statement","original":"../utils/debug.ts"},{"path":"src/graphics/layer.ts","kind":"import-statement","original":"./layer.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/graphics/sprite-vert.glsl.ts":{"bytes":2441,"imports":[{"path":"src/utils/debug.ts","kind":"import-statement","original":"../utils/debug.ts"},{"path":"src/graphics/atlas.ts","kind":"import-statement","original":"./atlas.ts"},{"path":"src/graphics/layer.ts","kind":"import-statement","original":"./layer.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/graphics/renderer.ts":{"bytes":7619,"imports":[{"path":"src/types/geo.ts","kind":"import-statement","original":"../types/geo.ts"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"../utils/debug.ts"},{"path":"src/graphics/gl.ts","kind":"import-statement","original":"./gl.ts"},{"path":"src/graphics/sprite.ts","kind":"import-statement","original":"./sprite.ts"},{"path":"src/graphics/sprite-frag.glsl.ts","kind":"import-statement","original":"./sprite-frag.glsl.ts"},{"path":"src/graphics/sprite-vert.glsl.ts","kind":"import-statement","original":"./sprite-vert.glsl.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/looper.ts":{"bytes":1443,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/delay-interval.ts":{"bytes":772,"imports":[{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/void.ts":{"bytes":4535,"imports":[{"path":"src/ents/zoo.ts","kind":"import-statement","original":"./ents/zoo.ts"},{"path":"src/graphics/atlas-parser.ts","kind":"import-statement","original":"./graphics/atlas-parser.ts"},{"path":"src/graphics/cam.ts","kind":"import-statement","original":"./graphics/cam.ts"},{"path":"src/graphics/renderer.ts","kind":"import-statement","original":"./graphics/renderer.ts"},{"path":"src/graphics/sprite.ts","kind":"import-statement","original":"./graphics/sprite.ts"},{"path":"src/input/input.ts","kind":"import-statement","original":"./input/input.ts"},{"path":"src/looper.ts","kind":"import-statement","original":"./looper.ts"},{"path":"src/mem/pool.ts","kind":"import-statement","original":"./mem/pool.ts"},{"path":"src/utils/canvas-util.ts","kind":"import-statement","original":"./utils/canvas-util.ts"},{"path":"src/utils/delay-interval.ts","kind":"import-statement","original":"./utils/delay-interval.ts"},{"path":"src/utils/dom-util.ts","kind":"import-statement","original":"./utils/dom-util.ts"},{"path":"src/utils/fetch-util.ts","kind":"import-statement","original":"./utils/fetch-util.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":1209,"imports":[{"path":"src/types/void-version.ts","kind":"import-statement","original":"./types/void-version.ts"},{"path":"node_modules/mem-font/dist/index.js","kind":"import-statement","original":"mem-font"},{"path":"src/ents/button-ent.ts","kind":"import-statement","original":"./ents/button-ent.ts"},{"path":"src/ents/cursor-ent.ts","kind":"import-statement","original":"./ents/cursor-ent.ts"},{"path":"src/ents/ent.ts","kind":"import-statement","original":"./ents/ent.ts"},{"path":"src/ents/follow-cam-ent.ts","kind":"import-statement","original":"./ents/follow-cam-ent.ts"},{"path":"src/ents/nine-patch-ent.ts","kind":"import-statement","original":"./ents/nine-patch-ent.ts"},{"path":"src/ents/text-ent.ts","kind":"import-statement","original":"./ents/text-ent.ts"},{"path":"src/ents/zoo.ts","kind":"import-statement","original":"./ents/zoo.ts"},{"path":"src/graphics/atlas.ts","kind":"import-statement","original":"./graphics/atlas.ts"},{"path":"src/graphics/atlas-parser.ts","kind":"import-statement","original":"./graphics/atlas-parser.ts"},{"path":"src/graphics/cam.ts","kind":"import-statement","original":"./graphics/cam.ts"},{"path":"src/graphics/layer.ts","kind":"import-statement","original":"./graphics/layer.ts"},{"path":"src/graphics/sprite.ts","kind":"import-statement","original":"./graphics/sprite.ts"},{"path":"src/input/input.ts","kind":"import-statement","original":"./input/input.ts"},{"path":"src/mem/pool.ts","kind":"import-statement","original":"./mem/pool.ts"},{"path":"src/random/random.ts","kind":"import-statement","original":"./random/random.ts"},{"path":"src/storage/local-storage.ts","kind":"import-statement","original":"./storage/local-storage.ts"},{"path":"src/text/font.ts","kind":"import-statement","original":"./text/font.ts"},{"path":"src/text/text-layout.ts","kind":"import-statement","original":"./text/text-layout.ts"},{"path":"src/types/geo.ts","kind":"import-statement","original":"./types/geo.ts"},{"path":"src/types/json.ts","kind":"import-statement","original":"./types/json.ts"},{"path":"src/types/time.ts","kind":"import-statement","original":"./types/time.ts"},{"path":"src/utils/async-util.ts","kind":"import-statement","original":"./utils/async-util.ts"},{"path":"src/utils/canvas-util.ts","kind":"import-statement","original":"./utils/canvas-util.ts"},{"path":"src/utils/debug.ts","kind":"import-statement","original":"./utils/debug.ts"},{"path":"src/utils/dom-util.ts","kind":"import-statement","original":"./utils/dom-util.ts"},{"path":"src/utils/fetch-util.ts","kind":"import-statement","original":"./utils/fetch-util.ts"},{"path":"src/void.ts","kind":"import-statement","original":"./void.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/demo/assets/preload-atlas.json":{"bytes":10989,"imports":[],"format":"esm","with":{"type":"json"}},"src/demo/ents/clock-ent.ts":{"bytes":987,"imports":[{"path":"src/index.ts","kind":"import-statement","original":"../../index.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/demo/ents/render-toggle-ent.ts":{"bytes":1166,"imports":[{"path":"src/index.ts","kind":"import-statement","original":"../../index.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/demo/ents/work-counter-ent.ts":{"bytes":754,"imports":[{"path":"src/index.ts","kind":"import-statement","original":"../../index.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/demo/game.ts":{"bytes":4765,"imports":[{"path":"src/index.ts","kind":"import-statement","original":"../index.ts"},{"path":"src/demo/assets/preload-atlas.json","kind":"import-statement","original":"./assets/preload-atlas.json","with":{"type":"json"}},{"path":"src/demo/ents/clock-ent.ts","kind":"import-statement","original":"./ents/clock-ent.ts"},{"path":"src/demo/ents/render-toggle-ent.ts","kind":"import-statement","original":"./ents/render-toggle-ent.ts"},{"path":"src/demo/ents/work-counter-ent.ts","kind":"import-statement","original":"./ents/work-counter-ent.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"},"src/demo/index.ts":{"bytes":228,"imports":[{"path":"src/index.ts","kind":"import-statement","original":"../index.ts"},{"path":"src/demo/game.ts","kind":"import-statement","original":"./game.ts"},{"path":"<define:globalThis.voidVersion>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/public/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":221122},"dist/public/index.js":{"imports":[],"exports":[],"entryPoint":"src/demo/index.ts","inputs":{"<define:globalThis.voidVersion>":{"bytesInOutput":47},"src/types/void-version.ts":{"bytesInOutput":8},"node_modules/mem-font/dist/mem-prop-5x6.json":{"bytesInOutput":3793},"node_modules/mem-font/dist/index.js":{"bytesInOutput":8},"src/index.ts":{"bytesInOutput":43},"src/graphics/layer.ts":{"bytesInOutput":166},"src/types/geo.ts":{"bytesInOutput":611},"src/ents/nine-patch-ent.ts":{"bytesInOutput":3434},"src/text/font.ts":{"bytesInOutput":340},"src/text/text-layout.ts":{"bytesInOutput":1046},"src/ents/text-ent.ts":{"bytesInOutput":1125},"src/ents/button-ent.ts":{"bytesInOutput":1976},"src/ents/cursor-ent.ts":{"bytesInOutput":813},"src/ents/follow-cam-ent.ts":{"bytesInOutput":869},"src/utils/debug.ts":{"bytesInOutput":488},"src/ents/zoo.ts":{"bytesInOutput":404},"src/graphics/atlas-parser.ts":{"bytesInOutput":293},"src/graphics/cam.ts":{"bytesInOutput":2490},"src/utils/math.ts":{"bytesInOutput":33},"src/graphics/sprite.ts":{"bytesInOutput":3598},"src/input/context-menu.ts":{"bytesInOutput":315},"src/input/gamepad.ts":{"bytesInOutput":697},"src/input/keyboard.ts":{"bytesInOutput":594},"src/input/pointer.ts":{"bytesInOutput":2257},"src/input/wheel.ts":{"bytesInOutput":400},"src/input/input.ts":{"bytesInOutput":4984},"src/mem/pool.ts":{"bytesInOutput":1535},"src/utils/color-util.ts":{"bytesInOutput":58},"src/utils/dom-util.ts":{"bytesInOutput":465},"src/utils/canvas-util.ts":{"bytesInOutput":300},"src/utils/fetch-util.ts":{"bytesInOutput":151},"src/graphics/gl.ts":{"bytesInOutput":1244},"src/graphics/sprite-frag.glsl.ts":{"bytesInOutput":690},"src/graphics/sprite-vert.glsl.ts":{"bytesInOutput":2258},"src/graphics/renderer.ts":{"bytesInOutput":3838},"src/looper.ts":{"bytesInOutput":497},"src/utils/delay-interval.ts":{"bytesInOutput":289},"src/void.ts":{"bytesInOutput":1715},"src/demo/assets/preload-atlas.json":{"bytesInOutput":7296},"src/demo/ents/clock-ent.ts":{"bytesInOutput":467},"src/demo/ents/render-toggle-ent.ts":{"bytesInOutput":536},"src/demo/ents/work-counter-ent.ts":{"bytesInOutput":314},"src/demo/game.ts":{"bytesInOutput":2535},"src/demo/index.ts":{"bytesInOutput":130}},"bytes":55185}}}
package/dist/package.json DELETED
@@ -1,66 +0,0 @@
1
- {
2
- "author": "Stephen Niedzielski <stephen@oidoid.com> (https://oidoid.com)",
3
- "bin": {
4
- "void": "tools/void.ts"
5
- },
6
- "bugs": "https://github.com/oidoid/void/issues",
7
- "dependencies": {
8
- "@biomejs/biome": "2.2.6",
9
- "esbuild": "0.25.11",
10
- "html-minifier-next": "3.0.0",
11
- "jsdom": "27.0.1",
12
- "mem-font": "11.0.0-7"
13
- },
14
- "description": "basic 2D game library.",
15
- "devDependencies": {
16
- "@types/html-minifier-next": "2.1.0",
17
- "@types/jsdom": "27.0.0",
18
- "@types/node": "24.4.0",
19
- "typescript": "5.9.3"
20
- },
21
- "engines": {
22
- "node": ">=24.0"
23
- },
24
- "exports": {
25
- ".": "./dist/src/index.js"
26
- },
27
- "files": [
28
- "dist",
29
- "schema",
30
- "tools",
31
- "!tools/tsconfig*",
32
- "!**/tsconfig.tsbuildinfo"
33
- ],
34
- "homepage": "https://github.com/oidoid/void",
35
- "keywords": [
36
- "game engine",
37
- "webgl"
38
- ],
39
- "license": "AGPL-3.0-only",
40
- "name": "@oidoid/void",
41
- "publishConfig": {
42
- "access": "public"
43
- },
44
- "published": "20251021",
45
- "repository": {
46
- "type": "git",
47
- "url": "git+https://github.com/oidoid/void.git"
48
- },
49
- "scripts": {
50
- "build": "tsc --build && npm run build:favicon && npm run build:demo -- --minify --one-file",
51
- "build:favicon": "for s in 1 2 3 4 12; do f=dist/public/favicon/favicon$(($s * 16)); aseprite src/demo/assets/favicon.aseprite --batch --color-mode=indexed --scale=$s --save-as=$f.png && cwebp -exact -lossless -mt -quiet -z 9 $f.png -o $f.webp; done",
52
- "build:demo": "tools/void.ts --config=src/demo/void.json",
53
- "clean": "rm -rf dist",
54
- "format": "npm run formatter -- --fix",
55
- "formatter": "biome check --error-on-warnings",
56
- "preversion": "[ -z \"$(git status -z)\" ]",
57
- "prepublishOnly": "! git symbolic-ref --quiet HEAD || git push --follow-tags origin \"$(git branch --show-current)\"",
58
- "start": "tsc --build --preserveWatchOutput --watch& npm run build:favicon && npm run build:demo -- --watch& wait",
59
- "test": "npm run test:format && npm run test:unit && npm run build",
60
- "test:format": "npm run formatter",
61
- "test:unit": "sh -c 'node --experimental-test-coverage --test ${@:-$(find src schema tools -name \\*.test.ts -printf %p\\ )}' --",
62
- "version": "npm pkg set published=$(date +%Y%m%d) && npm test"
63
- },
64
- "type": "module",
65
- "version": "0.1.0-7"
66
- }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file