@oidoid/void 0.1.0-4 → 0.1.0-7

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 (307) hide show
  1. package/dist/meta.json +1 -0
  2. package/dist/package.json +66 -0
  3. package/dist/public/favicon/favicon16.png +0 -0
  4. package/dist/public/favicon/favicon16.webp +0 -0
  5. package/dist/public/favicon/favicon192.png +0 -0
  6. package/dist/public/favicon/favicon192.webp +0 -0
  7. package/dist/public/favicon/favicon32.png +0 -0
  8. package/dist/public/favicon/favicon32.webp +0 -0
  9. package/dist/public/favicon/favicon48.png +0 -0
  10. package/dist/public/favicon/favicon48.webp +0 -0
  11. package/dist/public/favicon/favicon64.png +0 -0
  12. package/dist/public/favicon/favicon64.webp +0 -0
  13. package/dist/public/index.js +98 -0
  14. package/dist/public/index.js.map +7 -0
  15. package/dist/public/preload-atlas.png +0 -0
  16. package/dist/public/preload-atlas.webp +0 -0
  17. package/dist/public/void-v0.1.0-6+20251020.7cdf98d.html +111 -0
  18. package/dist/public/void-v0.1.0-6+20251020.e4e9eef.html +111 -0
  19. package/dist/public/void-v0.1.0-7+20251021.7cdf98d.html +111 -0
  20. package/dist/schema/config-file.d.ts +32 -0
  21. package/dist/schema/config-file.js +41 -0
  22. package/dist/schema/config-file.js.map +1 -0
  23. package/dist/schema/config-file.v0.json +68 -0
  24. package/dist/src/audio.d.ts +7 -0
  25. package/dist/src/audio.js +25 -0
  26. package/dist/src/audio.js.map +1 -0
  27. package/dist/src/demo/assets/manifest.json +41 -0
  28. package/dist/src/demo/assets/preload-atlas.json +193 -0
  29. package/dist/src/demo/ents/clock-ent.d.ts +11 -0
  30. package/dist/src/demo/ents/clock-ent.js +26 -0
  31. package/dist/src/demo/ents/clock-ent.js.map +1 -0
  32. package/dist/src/demo/ents/render-toggle-ent.d.ts +12 -0
  33. package/dist/src/demo/ents/render-toggle-ent.js +41 -0
  34. package/dist/src/demo/ents/render-toggle-ent.js.map +1 -0
  35. package/dist/src/demo/ents/work-counter-ent.d.ts +10 -0
  36. package/dist/src/demo/ents/work-counter-ent.js +20 -0
  37. package/dist/src/demo/ents/work-counter-ent.js.map +1 -0
  38. package/dist/src/demo/game.d.ts +12 -0
  39. package/dist/src/demo/game.js +135 -0
  40. package/dist/src/demo/game.js.map +1 -0
  41. package/dist/src/demo/index.d.ts +1 -0
  42. package/dist/src/demo/index.js +8 -0
  43. package/dist/src/demo/index.js.map +1 -0
  44. package/dist/src/demo/tsconfig.json +15 -0
  45. package/dist/src/demo/types/tag.d.ts +2 -0
  46. package/dist/src/demo/types/tag.js +2 -0
  47. package/dist/src/demo/types/tag.js.map +1 -0
  48. package/dist/src/demo/void.json +11 -0
  49. package/dist/src/ents/button-ent.d.ts +39 -0
  50. package/dist/src/ents/button-ent.js +128 -0
  51. package/dist/src/ents/button-ent.js.map +1 -0
  52. package/dist/src/ents/cursor-ent.d.ts +18 -0
  53. package/dist/src/ents/cursor-ent.js +63 -0
  54. package/dist/src/ents/cursor-ent.js.map +1 -0
  55. package/dist/src/ents/ent.d.ts +7 -0
  56. package/dist/src/ents/ent.js +2 -0
  57. package/dist/src/ents/ent.js.map +1 -0
  58. package/dist/src/ents/follow-cam-ent.d.ts +25 -0
  59. package/dist/src/ents/follow-cam-ent.js +87 -0
  60. package/dist/src/ents/follow-cam-ent.js.map +1 -0
  61. package/dist/src/ents/nine-patch-ent.d.ts +43 -0
  62. package/dist/src/ents/nine-patch-ent.js +143 -0
  63. package/dist/src/ents/nine-patch-ent.js.map +1 -0
  64. package/dist/src/ents/text-ent.d.ts +23 -0
  65. package/dist/src/ents/text-ent.js +109 -0
  66. package/dist/src/ents/text-ent.js.map +1 -0
  67. package/dist/src/ents/zoo.d.ts +17 -0
  68. package/dist/src/ents/zoo.js +45 -0
  69. package/dist/src/ents/zoo.js.map +1 -0
  70. package/dist/src/graphics/atlas-parser.d.ts +4 -0
  71. package/dist/src/graphics/atlas-parser.js +27 -0
  72. package/dist/src/graphics/atlas-parser.js.map +1 -0
  73. package/dist/src/graphics/atlas.d.ts +49 -0
  74. package/dist/src/graphics/atlas.js +7 -0
  75. package/dist/src/graphics/atlas.js.map +1 -0
  76. package/dist/src/graphics/cam.d.ts +89 -0
  77. package/dist/src/graphics/cam.js +220 -0
  78. package/dist/src/graphics/cam.js.map +1 -0
  79. package/dist/src/graphics/gl.d.ts +24 -0
  80. package/dist/src/graphics/gl.js +70 -0
  81. package/dist/src/graphics/gl.js.map +1 -0
  82. package/dist/src/graphics/layer.d.ts +21 -0
  83. package/dist/src/graphics/layer.js +23 -0
  84. package/dist/src/graphics/layer.js.map +1 -0
  85. package/dist/src/graphics/renderer.d.ts +36 -0
  86. package/dist/src/graphics/renderer.js +180 -0
  87. package/dist/src/graphics/renderer.js.map +1 -0
  88. package/dist/src/graphics/sprite-frag.glsl.d.ts +1 -0
  89. package/dist/src/graphics/sprite-frag.glsl.js +35 -0
  90. package/dist/src/graphics/sprite-frag.glsl.js.map +1 -0
  91. package/dist/src/graphics/sprite-vert.glsl.d.ts +1 -0
  92. package/dist/src/graphics/sprite-vert.glsl.js +68 -0
  93. package/dist/src/graphics/sprite-vert.glsl.js.map +1 -0
  94. package/dist/src/graphics/sprite.d.ts +108 -0
  95. package/dist/src/graphics/sprite.js +301 -0
  96. package/dist/src/graphics/sprite.js.map +1 -0
  97. package/dist/src/index.d.ts +30 -0
  98. package/dist/src/index.js +33 -0
  99. package/dist/src/index.js.map +1 -0
  100. package/dist/src/input/context-menu.d.ts +8 -0
  101. package/dist/src/input/context-menu.js +25 -0
  102. package/dist/src/input/context-menu.js.map +1 -0
  103. package/dist/src/input/gamepad.d.ts +18 -0
  104. package/dist/src/input/gamepad.js +49 -0
  105. package/dist/src/input/gamepad.js.map +1 -0
  106. package/dist/src/input/input.d.ts +148 -0
  107. package/dist/src/input/input.js +383 -0
  108. package/dist/src/input/input.js.map +1 -0
  109. package/dist/src/input/keyboard.d.ts +17 -0
  110. package/dist/src/input/keyboard.js +46 -0
  111. package/dist/src/input/keyboard.js.map +1 -0
  112. package/dist/src/input/pointer.d.ts +53 -0
  113. package/dist/src/input/pointer.js +162 -0
  114. package/dist/src/input/pointer.js.map +1 -0
  115. package/dist/src/input/wheel.d.ts +12 -0
  116. package/dist/src/input/wheel.js +30 -0
  117. package/dist/src/input/wheel.js.map +1 -0
  118. package/dist/src/looper.d.ts +17 -0
  119. package/dist/src/looper.js +51 -0
  120. package/dist/src/looper.js.map +1 -0
  121. package/dist/src/mem/pool.d.ts +31 -0
  122. package/dist/src/mem/pool.js +98 -0
  123. package/dist/src/mem/pool.js.map +1 -0
  124. package/dist/src/random/random.d.ts +8 -0
  125. package/dist/src/random/random.js +23 -0
  126. package/dist/src/random/random.js.map +1 -0
  127. package/dist/src/storage/local-storage.d.ts +3 -0
  128. package/dist/src/storage/local-storage.js +11 -0
  129. package/dist/src/storage/local-storage.js.map +1 -0
  130. package/dist/src/text/font.d.ts +6 -0
  131. package/dist/src/text/font.js +20 -0
  132. package/dist/src/text/font.js.map +1 -0
  133. package/dist/src/text/mem-prop-5x6.json +573 -0
  134. package/dist/src/text/text-layout.d.ts +19 -0
  135. package/dist/src/text/text-layout.js +85 -0
  136. package/dist/src/text/text-layout.js.map +1 -0
  137. package/dist/src/tsconfig.json +15 -0
  138. package/dist/src/types/geo.d.ts +38 -0
  139. package/dist/src/types/geo.js +61 -0
  140. package/dist/src/types/geo.js.map +1 -0
  141. package/dist/src/types/json.d.ts +31 -0
  142. package/dist/src/types/json.js +2 -0
  143. package/dist/src/types/json.js.map +1 -0
  144. package/dist/src/types/time.d.ts +19 -0
  145. package/dist/src/types/time.js +10 -0
  146. package/dist/src/types/time.js.map +1 -0
  147. package/dist/src/types/void-version.d.ts +7 -0
  148. package/dist/src/types/void-version.js +2 -0
  149. package/dist/src/types/void-version.js.map +1 -0
  150. package/dist/src/utils/async-util.d.ts +11 -0
  151. package/dist/src/utils/async-util.js +36 -0
  152. package/dist/src/utils/async-util.js.map +1 -0
  153. package/dist/src/utils/canvas-util.d.ts +7 -0
  154. package/dist/src/utils/canvas-util.js +128 -0
  155. package/dist/src/utils/canvas-util.js.map +1 -0
  156. package/dist/src/utils/color-util.d.ts +1 -0
  157. package/dist/src/utils/color-util.js +4 -0
  158. package/dist/src/utils/color-util.js.map +1 -0
  159. package/dist/src/utils/debug.d.ts +19 -0
  160. package/dist/src/utils/debug.js +35 -0
  161. package/dist/src/utils/debug.js.map +1 -0
  162. package/dist/src/utils/delay-interval.d.ts +7 -0
  163. package/dist/src/utils/delay-interval.js +29 -0
  164. package/dist/src/utils/delay-interval.js.map +1 -0
  165. package/dist/src/utils/dom-util.d.ts +3 -0
  166. package/dist/src/utils/dom-util.js +29 -0
  167. package/dist/src/utils/dom-util.js.map +1 -0
  168. package/dist/src/utils/fetch-util.d.ts +3 -0
  169. package/dist/src/utils/fetch-util.js +24 -0
  170. package/dist/src/utils/fetch-util.js.map +1 -0
  171. package/dist/src/utils/math.d.ts +6 -0
  172. package/dist/src/utils/math.js +18 -0
  173. package/dist/src/utils/math.js.map +1 -0
  174. package/dist/src/utils/vibrate.d.ts +1 -0
  175. package/dist/src/utils/vibrate.js +4 -0
  176. package/dist/src/utils/vibrate.js.map +1 -0
  177. package/dist/src/void.d.ts +48 -0
  178. package/dist/src/void.js +102 -0
  179. package/dist/src/void.js.map +1 -0
  180. package/dist/tools/atlas-pack/aseprite.d.ts +58 -0
  181. package/dist/tools/atlas-pack/aseprite.js +16 -0
  182. package/dist/tools/atlas-pack/aseprite.js.map +1 -0
  183. package/dist/tools/atlas-pack/atlas-json-parser.d.ts +21 -0
  184. package/dist/tools/atlas-pack/atlas-json-parser.js +116 -0
  185. package/dist/tools/atlas-pack/atlas-json-parser.js.map +1 -0
  186. package/dist/tools/atlas-pack/atlas-pack.d.ts +2 -0
  187. package/dist/tools/atlas-pack/atlas-pack.js +22 -0
  188. package/dist/tools/atlas-pack/atlas-pack.js.map +1 -0
  189. package/dist/tools/bundle/bundle.d.ts +3 -0
  190. package/dist/tools/bundle/bundle.js +48 -0
  191. package/dist/tools/bundle/bundle.js.map +1 -0
  192. package/dist/tools/bundle/html-plugin.d.ts +3 -0
  193. package/dist/tools/bundle/html-plugin.js +90 -0
  194. package/dist/tools/bundle/html-plugin.js.map +1 -0
  195. package/dist/tools/tsconfig-base.json +48 -0
  196. package/dist/tools/tsconfig.json +19 -0
  197. package/dist/tools/types/config.d.ts +27 -0
  198. package/dist/tools/types/config.js +31 -0
  199. package/dist/tools/types/config.js.map +1 -0
  200. package/dist/tools/types/package-json.d.ts +4 -0
  201. package/dist/tools/types/package-json.js +2 -0
  202. package/dist/tools/types/package-json.js.map +1 -0
  203. package/dist/tools/utils/argv.d.ts +12 -0
  204. package/dist/tools/utils/argv.js +19 -0
  205. package/dist/tools/utils/argv.js.map +1 -0
  206. package/dist/tools/utils/exec.d.ts +3 -0
  207. package/dist/tools/utils/exec.js +15 -0
  208. package/dist/tools/utils/exec.js.map +1 -0
  209. package/dist/tools/utils/file-util.d.ts +1 -0
  210. package/dist/tools/utils/file-util.js +13 -0
  211. package/dist/tools/utils/file-util.js.map +1 -0
  212. package/dist/tools/utils/html-parser.d.ts +1 -0
  213. package/dist/tools/utils/html-parser.js +10 -0
  214. package/dist/tools/utils/html-parser.js.map +1 -0
  215. package/dist/tools/void.d.ts +15 -0
  216. package/dist/tools/void.js +31 -0
  217. package/dist/tools/void.js.map +1 -0
  218. package/package.json +31 -41
  219. package/readme.md +1 -1
  220. package/schema/config-file.test.ts +55 -0
  221. package/schema/config-file.ts +69 -0
  222. package/schema/config-file.v0.json +68 -0
  223. package/tools/atlas-pack/aseprite.ts +60 -0
  224. package/tools/atlas-pack/atlas-json-parser.test.ts +780 -0
  225. package/tools/atlas-pack/atlas-json-parser.ts +159 -0
  226. package/tools/atlas-pack/atlas-pack.ts +51 -0
  227. package/tools/bundle/bundle.ts +64 -0
  228. package/tools/bundle/html-plugin.ts +135 -0
  229. package/tools/types/config.ts +65 -0
  230. package/tools/types/package-json.ts +4 -0
  231. package/tools/utils/argv.test.ts +41 -0
  232. package/tools/utils/argv.ts +29 -0
  233. package/tools/utils/exec.ts +22 -0
  234. package/tools/utils/file-util.ts +11 -0
  235. package/tools/utils/html-parser.ts +9 -0
  236. package/tools/void.ts +55 -0
  237. package/dist/atlas/anim.d.ts +0 -30
  238. package/dist/atlas/anim.js +0 -16
  239. package/dist/atlas/anim.js.map +0 -1
  240. package/dist/atlas/aseprite.d.ts +0 -37
  241. package/dist/atlas/aseprite.js +0 -2
  242. package/dist/atlas/aseprite.js.map +0 -1
  243. package/dist/atlas/atlas-parser.d.ts +0 -52
  244. package/dist/atlas/atlas-parser.js +0 -109
  245. package/dist/atlas/atlas-parser.js.map +0 -1
  246. package/dist/atlas/atlas.d.ts +0 -4
  247. package/dist/atlas/atlas.js +0 -2
  248. package/dist/atlas/atlas.js.map +0 -1
  249. package/dist/audio/synth.d.ts +0 -4
  250. package/dist/audio/synth.js +0 -21
  251. package/dist/audio/synth.js.map +0 -1
  252. package/dist/graphics/bitmap.d.ts +0 -14
  253. package/dist/graphics/bitmap.js +0 -14
  254. package/dist/graphics/bitmap.js.map +0 -1
  255. package/dist/graphics/cam.d.ts +0 -16
  256. package/dist/graphics/cam.js +0 -42
  257. package/dist/graphics/cam.js.map +0 -1
  258. package/dist/graphics/frag.glsl.d.ts +0 -1
  259. package/dist/graphics/frag.glsl.js +0 -15
  260. package/dist/graphics/frag.glsl.js.map +0 -1
  261. package/dist/graphics/frame-listener.d.ts +0 -16
  262. package/dist/graphics/frame-listener.js +0 -83
  263. package/dist/graphics/frame-listener.js.map +0 -1
  264. package/dist/graphics/renderer.d.ts +0 -12
  265. package/dist/graphics/renderer.js +0 -184
  266. package/dist/graphics/renderer.js.map +0 -1
  267. package/dist/graphics/vert.glsl.d.ts +0 -1
  268. package/dist/graphics/vert.glsl.js +0 -46
  269. package/dist/graphics/vert.glsl.js.map +0 -1
  270. package/dist/index.d.ts +0 -31
  271. package/dist/index.js +0 -79
  272. package/dist/index.js.map +0 -1
  273. package/dist/input/gamepad-poller.d.ts +0 -8
  274. package/dist/input/gamepad-poller.js +0 -38
  275. package/dist/input/gamepad-poller.js.map +0 -1
  276. package/dist/input/input.d.ts +0 -44
  277. package/dist/input/input.js +0 -175
  278. package/dist/input/input.js.map +0 -1
  279. package/dist/input/keyboard-poller.d.ts +0 -7
  280. package/dist/input/keyboard-poller.js +0 -30
  281. package/dist/input/keyboard-poller.js.map +0 -1
  282. package/dist/input/pointer-poller.d.ts +0 -12
  283. package/dist/input/pointer-poller.js +0 -67
  284. package/dist/input/pointer-poller.js.map +0 -1
  285. package/dist/sprite/sprite.d.ts +0 -51
  286. package/dist/sprite/sprite.js +0 -161
  287. package/dist/sprite/sprite.js.map +0 -1
  288. package/dist/storage/json-storage.d.ts +0 -4
  289. package/dist/storage/json-storage.js +0 -13
  290. package/dist/storage/json-storage.js.map +0 -1
  291. package/dist/test/tsconfig.json +0 -14
  292. package/dist/text/font.d.ts +0 -6
  293. package/dist/text/font.js +0 -18
  294. package/dist/text/font.js.map +0 -1
  295. package/dist/text/text-layout.d.ts +0 -11
  296. package/dist/text/text-layout.js +0 -73
  297. package/dist/text/text-layout.js.map +0 -1
  298. package/dist/tsconfig.json +0 -13
  299. package/dist/types/2d.d.ts +0 -9
  300. package/dist/types/2d.js +0 -2
  301. package/dist/types/2d.js.map +0 -1
  302. package/dist/void.js +0 -60
  303. package/dist/void.js.map +0 -7
  304. package/dist/void.meta.json +0 -289
  305. package/src/atlas/anim.js +0 -17
  306. package/tools/atlas-parser.js +0 -120
  307. package/tools/void.js +0 -143
@@ -0,0 +1,573 @@
1
+ {
2
+ "id": "mem-prop-5x6",
3
+ "name": "mem 5x6",
4
+ "cellWidth": 5,
5
+ "cellHeight": 6,
6
+ "leading": 1,
7
+ "lineHeight": 7,
8
+ "baseline": 1,
9
+ "kerning": {
10
+ " 0": 0,
11
+ " 1": 0,
12
+ " 2": 0,
13
+ " 3": 0,
14
+ " 4": 0,
15
+ " 5": 0,
16
+ " 6": 0,
17
+ " 7": 0,
18
+ " 8": 0,
19
+ " 9": 0,
20
+ "##": -1,
21
+ "#_": 0,
22
+ "',": 0,
23
+ "'.": 0,
24
+ "'/": 0,
25
+ "'J": 0,
26
+ "'S": 0,
27
+ "'_": 0,
28
+ "'j": 0,
29
+ "'s": 0,
30
+ "(+": 0,
31
+ "(-": 0,
32
+ "(<": 0,
33
+ "(f": 0,
34
+ "({": 0,
35
+ "(~": 0,
36
+ ")_": 0,
37
+ "*,": 0,
38
+ "*.": 0,
39
+ "*/": 0,
40
+ "*S": 0,
41
+ "*_": 0,
42
+ "*j": 0,
43
+ "*s": 0,
44
+ "+)": 0,
45
+ "+,": 0,
46
+ "+.": 0,
47
+ "+/": 0,
48
+ "+>": 0,
49
+ "+?": 0,
50
+ "+I": 0,
51
+ "+S": 0,
52
+ "+T": 0,
53
+ "+Z": 0,
54
+ "+]": 0,
55
+ "+_": 0,
56
+ "+`": 0,
57
+ "+j": 0,
58
+ "+s": 0,
59
+ "+}": 0,
60
+ ",'": 0,
61
+ ",*": 0,
62
+ ",+": 0,
63
+ ",-": 0,
64
+ ",<": 0,
65
+ ",?": 0,
66
+ ",T": 0,
67
+ ",Y": 0,
68
+ ",Z": 0,
69
+ ",\"": 0,
70
+ ",\\": 0,
71
+ ",^": 0,
72
+ ",`": 0,
73
+ ",f": 0,
74
+ ",t": 0,
75
+ ",z": 0,
76
+ ",{": 0,
77
+ ",~": 0,
78
+ "-)": 0,
79
+ "-,": 0,
80
+ "--": 0,
81
+ "-.": 0,
82
+ "-/": 0,
83
+ "->": 0,
84
+ "-?": 0,
85
+ "-I": 0,
86
+ "-S": 0,
87
+ "-T": 0,
88
+ "-Z": 0,
89
+ "-]": 0,
90
+ "-_": 0,
91
+ "-`": 0,
92
+ "-j": 0,
93
+ "-s": 0,
94
+ "-}": 0,
95
+ ".'": 0,
96
+ ".*": 0,
97
+ ".+": 0,
98
+ ".-": 0,
99
+ ".<": 0,
100
+ ".?": 0,
101
+ ".T": 0,
102
+ ".Y": 0,
103
+ ".Z": 0,
104
+ ".\"": 0,
105
+ ".\\": 0,
106
+ ".^": 0,
107
+ ".`": 0,
108
+ ".f": 0,
109
+ ".t": 0,
110
+ ".z": 0,
111
+ ".{": 0,
112
+ ".~": 0,
113
+ "/,": 0,
114
+ "/.": 0,
115
+ "//": 0,
116
+ "/J": 0,
117
+ "/S": 0,
118
+ "/_": 0,
119
+ "/j": 0,
120
+ "/s": 0,
121
+ "0 ": 0,
122
+ "1 ": 0,
123
+ "1T": 0,
124
+ "1Y": 0,
125
+ "1Z": 0,
126
+ "1f": 0,
127
+ "1t": 0,
128
+ "1z": 0,
129
+ "2 ": 0,
130
+ "3 ": 0,
131
+ "4 ": 0,
132
+ "5 ": 0,
133
+ "6 ": 0,
134
+ "7 ": 0,
135
+ "8 ": 0,
136
+ "9 ": 0,
137
+ ":?": 0,
138
+ ":T": 0,
139
+ ":Z": 0,
140
+ ":`": 0,
141
+ ";?": 0,
142
+ ";T": 0,
143
+ ";Z": 0,
144
+ "<+": 0,
145
+ "<-": 0,
146
+ "<<": 0,
147
+ "<f": 0,
148
+ "<{": 0,
149
+ "<~": 0,
150
+ "==": 0,
151
+ "=_": 0,
152
+ ">)": 0,
153
+ ">,": 0,
154
+ ">.": 0,
155
+ ">/": 0,
156
+ ">>": 0,
157
+ ">?": 0,
158
+ ">I": 0,
159
+ ">S": 0,
160
+ ">T": 0,
161
+ ">Z": 0,
162
+ ">]": 0,
163
+ ">_": 0,
164
+ ">`": 0,
165
+ ">j": 0,
166
+ ">s": 0,
167
+ ">}": 0,
168
+ "?,": 0,
169
+ "?.": 0,
170
+ "?/": 0,
171
+ "?S": 0,
172
+ "?_": 0,
173
+ "?j": 0,
174
+ "?s": 0,
175
+ "@_": 0,
176
+ "C+": 0,
177
+ "C-": 0,
178
+ "C<": 0,
179
+ "Cf": 0,
180
+ "C{": 0,
181
+ "C~": 0,
182
+ "D_": 0,
183
+ "E+": 0,
184
+ "E-": 0,
185
+ "E<": 0,
186
+ "Ef": 0,
187
+ "E{": 0,
188
+ "E~": 0,
189
+ "F&": 0,
190
+ "F+": 0,
191
+ "F,": 0,
192
+ "F-": 0,
193
+ "F.": 0,
194
+ "F/": 0,
195
+ "F:": 0,
196
+ "F;": 0,
197
+ "F<": 0,
198
+ "FJ": 0,
199
+ "FS": 0,
200
+ "F_": 0,
201
+ "Fa": 0,
202
+ "Fe": 0,
203
+ "Ff": 0,
204
+ "Fg": 0,
205
+ "Fj": 0,
206
+ "Fq": 0,
207
+ "Fs": 0,
208
+ "F{": 0,
209
+ "F~": 0,
210
+ "I+": 0,
211
+ "I-": 0,
212
+ "I<": 0,
213
+ "If": 0,
214
+ "I{": 0,
215
+ "I~": 0,
216
+ "L'": 0,
217
+ "L*": 0,
218
+ "L+": 0,
219
+ "L-": 0,
220
+ "L4": 0,
221
+ "L7": 0,
222
+ "L<": 0,
223
+ "L?": 0,
224
+ "LT": 0,
225
+ "LY": 0,
226
+ "LZ": 0,
227
+ "L\"": 0,
228
+ "L\\": 0,
229
+ "L^": 0,
230
+ "L`": 0,
231
+ "Lf": 0,
232
+ "Lt": 0,
233
+ "Lz": 0,
234
+ "L{": 0,
235
+ "L~": 0,
236
+ "P,": 0,
237
+ "P.": 0,
238
+ "P/": 0,
239
+ "PS": 0,
240
+ "P_": 0,
241
+ "Pj": 0,
242
+ "Ps": 0,
243
+ "S&": 0,
244
+ "S+": 0,
245
+ "S,": 0,
246
+ "S-": 0,
247
+ "S.": 0,
248
+ "S/": 0,
249
+ "S:": 0,
250
+ "S;": 0,
251
+ "S<": 0,
252
+ "SJ": 0,
253
+ "SS": 0,
254
+ "S_": 0,
255
+ "Sa": 0,
256
+ "Se": 0,
257
+ "Sf": 0,
258
+ "Sg": 0,
259
+ "Sj": 0,
260
+ "Sq": 0,
261
+ "Ss": 0,
262
+ "S{": 0,
263
+ "S~": 0,
264
+ "T&": 0,
265
+ "T+": 0,
266
+ "T,": 0,
267
+ "T-": 0,
268
+ "T.": 0,
269
+ "T/": 0,
270
+ "T:": 0,
271
+ "T;": 0,
272
+ "T<": 0,
273
+ "TJ": 0,
274
+ "TS": 0,
275
+ "T_": 0,
276
+ "Ta": 0,
277
+ "Te": 0,
278
+ "Tf": 0,
279
+ "Tg": 0,
280
+ "Tj": 0,
281
+ "Tq": 0,
282
+ "Ts": 0,
283
+ "T{": 0,
284
+ "T~": 0,
285
+ "V_": 0,
286
+ "Y,": 0,
287
+ "Y.": 0,
288
+ "Y/": 0,
289
+ "YS": 0,
290
+ "Y_": 0,
291
+ "Yj": 0,
292
+ "Ys": 0,
293
+ "Z'": 0,
294
+ "Z*": 0,
295
+ "Z+": 0,
296
+ "Z-": 0,
297
+ "Z4": 0,
298
+ "Z7": 0,
299
+ "Z<": 0,
300
+ "Z?": 0,
301
+ "ZT": 0,
302
+ "ZY": 0,
303
+ "ZZ": 0,
304
+ "Z\"": 0,
305
+ "Z\\": 0,
306
+ "Z^": 0,
307
+ "Z`": 0,
308
+ "Zf": 0,
309
+ "Zt": 0,
310
+ "Zz": 0,
311
+ "Z{": 0,
312
+ "Z~": 0,
313
+ "[+": 0,
314
+ "[-": 0,
315
+ "[<": 0,
316
+ "[f": 0,
317
+ "[{": 0,
318
+ "[~": 0,
319
+ "\",": 0,
320
+ "\".": 0,
321
+ "\"/": 0,
322
+ "\"J": 0,
323
+ "\"S": 0,
324
+ "\"_": 0,
325
+ "\"j": 0,
326
+ "\"s": 0,
327
+ "\\'": 0,
328
+ "\\*": 0,
329
+ "\\+": 0,
330
+ "\\-": 0,
331
+ "\\<": 0,
332
+ "\\?": 0,
333
+ "\\T": 0,
334
+ "\\Y": 0,
335
+ "\\Z": 0,
336
+ "\\\"": 0,
337
+ "\\\\": 0,
338
+ "\\^": 0,
339
+ "\\`": 0,
340
+ "\\f": 0,
341
+ "\\t": 0,
342
+ "\\z": 0,
343
+ "\\{": 0,
344
+ "\\~": 0,
345
+ "^,": 0,
346
+ "^.": 0,
347
+ "^/": 0,
348
+ "^J": 0,
349
+ "^S": 0,
350
+ "^_": 0,
351
+ "^j": 0,
352
+ "^s": 0,
353
+ "_#": 0,
354
+ "_%": 0,
355
+ "_'": 0,
356
+ "_(": 0,
357
+ "_*": 0,
358
+ "_+": 0,
359
+ "_-": 0,
360
+ "_<": 0,
361
+ "_=": 0,
362
+ "_?": 0,
363
+ "_@": 0,
364
+ "_T": 0,
365
+ "_V": 0,
366
+ "_Y": 0,
367
+ "_Z": 0,
368
+ "_\"": 0,
369
+ "_\\": 0,
370
+ "_^": 0,
371
+ "__": 0,
372
+ "_`": 0,
373
+ "_a": 0,
374
+ "_e": 0,
375
+ "_f": 0,
376
+ "_t": 0,
377
+ "_v": 0,
378
+ "_z": 0,
379
+ "_{": 0,
380
+ "_~": 0,
381
+ "`,": 0,
382
+ "`.": 0,
383
+ "`/": 0,
384
+ "`J": 0,
385
+ "`S": 0,
386
+ "`_": 0,
387
+ "`j": 0,
388
+ "`s": 0,
389
+ "f,": 0,
390
+ "f.": 0,
391
+ "f/": 0,
392
+ "fS": 0,
393
+ "f_": 0,
394
+ "fj": 0,
395
+ "fs": 0,
396
+ "q#": 0,
397
+ "q$": 0,
398
+ "q%": 0,
399
+ "q&": 0,
400
+ "q'": 0,
401
+ "q(": 0,
402
+ "q*": 0,
403
+ "q+": 0,
404
+ "q-": 0,
405
+ "q0": 0,
406
+ "q1": 0,
407
+ "q2": 0,
408
+ "q3": 0,
409
+ "q4": 0,
410
+ "q5": 0,
411
+ "q6": 0,
412
+ "q7": 0,
413
+ "q8": 0,
414
+ "q9": 0,
415
+ "q<": 0,
416
+ "q=": 0,
417
+ "q?": 0,
418
+ "q@": 0,
419
+ "qA": 0,
420
+ "qB": 0,
421
+ "qC": 0,
422
+ "qD": 0,
423
+ "qE": 0,
424
+ "qF": 0,
425
+ "qG": 0,
426
+ "qH": 0,
427
+ "qI": 0,
428
+ "qJ": 0,
429
+ "qK": 0,
430
+ "qL": 0,
431
+ "qM": 0,
432
+ "qN": 0,
433
+ "qO": 0,
434
+ "qP": 0,
435
+ "qQ": 0,
436
+ "qR": 0,
437
+ "qS": 0,
438
+ "qT": 0,
439
+ "qU": 0,
440
+ "qV": 0,
441
+ "qW": 0,
442
+ "qX": 0,
443
+ "qY": 0,
444
+ "qZ": 0,
445
+ "q[": 0,
446
+ "q\"": 0,
447
+ "q\\": 0,
448
+ "q]": 0,
449
+ "q^": 0,
450
+ "q`": 0,
451
+ "qa": 0,
452
+ "qb": 0,
453
+ "qc": 0,
454
+ "qd": 0,
455
+ "qe": 0,
456
+ "qf": 0,
457
+ "qh": 0,
458
+ "qk": 0,
459
+ "qm": 0,
460
+ "qn": 0,
461
+ "qo": 0,
462
+ "qq": 0,
463
+ "qr": 0,
464
+ "qs": 0,
465
+ "qt": 0,
466
+ "qu": 0,
467
+ "qv": 0,
468
+ "qw": 0,
469
+ "qx": 0,
470
+ "qz": 0,
471
+ "q{": 0,
472
+ "q}": 0,
473
+ "q~": 0,
474
+ "r,": 0,
475
+ "r.": 0,
476
+ "r/": 0,
477
+ "rS": 0,
478
+ "r_": 0,
479
+ "rj": -1,
480
+ "rs": 0,
481
+ "s,": 0,
482
+ "s.": 0,
483
+ "s/": 0,
484
+ "sJ": 0,
485
+ "sS": 0,
486
+ "s_": 0,
487
+ "sj": 0,
488
+ "ss": 0,
489
+ "z'": 0,
490
+ "z*": 0,
491
+ "z+": 0,
492
+ "z-": 0,
493
+ "z4": 0,
494
+ "z7": 0,
495
+ "z<": 0,
496
+ "z?": 0,
497
+ "zT": 0,
498
+ "zY": 0,
499
+ "zZ": 0,
500
+ "z\"": 0,
501
+ "z\\": 0,
502
+ "z^": 0,
503
+ "z`": 0,
504
+ "zf": 0,
505
+ "zt": 0,
506
+ "zz": 0,
507
+ "z{": 0,
508
+ "z~": 0,
509
+ "{+": 0,
510
+ "{-": 0,
511
+ "{<": 0,
512
+ "{f": 0,
513
+ "{{": 0,
514
+ "{~": 0,
515
+ "})": 0,
516
+ "},": 0,
517
+ "}.": 0,
518
+ "}/": 0,
519
+ "}>": 0,
520
+ "}?": 0,
521
+ "}I": 0,
522
+ "}S": 0,
523
+ "}T": 0,
524
+ "}Z": 0,
525
+ "}]": 0,
526
+ "}_": 0,
527
+ "}`": 0,
528
+ "}j": 0,
529
+ "}s": 0,
530
+ "}}": 0,
531
+ "~'": 0,
532
+ "~?": 0,
533
+ "~T": 0,
534
+ "~Z": 0,
535
+ "~\"": 0,
536
+ "~\\": 0,
537
+ "~^": 0,
538
+ "~_": 0,
539
+ "~`": 0,
540
+ "~t": 0,
541
+ "~z": 0
542
+ },
543
+ "defaultKerning": 1,
544
+ "defaultWhitespaceKerning": -1,
545
+ "endOfLineKerning": 0,
546
+ "charWidth": {
547
+ " ": 4,
548
+ "!": 1,
549
+ "#": 5,
550
+ "&": 4,
551
+ "'": 1,
552
+ "(": 2,
553
+ ")": 2,
554
+ ",": 1,
555
+ ".": 1,
556
+ ":": 1,
557
+ ";": 1,
558
+ "@": 5,
559
+ "M": 5,
560
+ "W": 5,
561
+ "[": 2,
562
+ "\n": 0,
563
+ "]": 2,
564
+ "`": 2,
565
+ "i": 1,
566
+ "l": 1,
567
+ "m": 5,
568
+ "q": 4,
569
+ "w": 5,
570
+ "|": 1
571
+ },
572
+ "defaultCharWidth": 3
573
+ }
@@ -0,0 +1,19 @@
1
+ import type { Font } from 'mem-font';
2
+ import type { Box, WH, XY } from '../types/geo.ts';
3
+ export type TextLayout = {
4
+ /** the length of this array matches the string length. */
5
+ chars: (Box | undefined)[];
6
+ /** the offset in pixels. */
7
+ cursor: XY;
8
+ wh: WH;
9
+ };
10
+ export type TextLayoutOpts = {
11
+ font: Font;
12
+ maxW?: number;
13
+ scale?: number;
14
+ start?: XY;
15
+ str: string;
16
+ };
17
+ export declare function layoutText(opts: Readonly<TextLayoutOpts>): TextLayout;
18
+ /** @internal */
19
+ export declare function layoutWord(font: Readonly<Font>, cursor: Readonly<XY>, maxW: number, word: string, index: number, startX: number, scale: number): Omit<TextLayout, 'wh'>;
@@ -0,0 +1,85 @@
1
+ import { fontCharWidth, fontKerning } from "./font.js";
2
+ export function layoutText(opts) {
3
+ const chars = [];
4
+ const scale = opts.scale ?? 1;
5
+ const start = opts.start ?? { x: 0, y: 0 };
6
+ const maxW = opts.maxW ?? Infinity;
7
+ let cursor = { x: start.x, y: start.y };
8
+ let w = 0;
9
+ while (chars.length < opts.str.length) {
10
+ const i = chars.length;
11
+ const char = opts.str[i];
12
+ let layout;
13
+ if (char === '\n')
14
+ layout = layoutNewline(opts.font, cursor, start.x, scale);
15
+ else if (/^\s*$/.test(char)) {
16
+ layout = layoutSpace(opts.font, cursor, maxW, tracking(opts.font, char, opts.str[i + 1], scale), start.x, scale);
17
+ }
18
+ else {
19
+ layout = layoutWord(opts.font, cursor, maxW, opts.str, i, start.x, scale);
20
+ if (cursor.x > 0 &&
21
+ layout.cursor.y === nextLine(opts.font, start.x, cursor.y, scale).y) {
22
+ const wordW = maxW - cursor.x + layout.cursor.x;
23
+ if (wordW <= maxW) {
24
+ // word can fit on one line if cursor is reset to the start of line.
25
+ cursor = nextLine(opts.font, start.x, cursor.y, scale);
26
+ layout = layoutWord(opts.font, cursor, maxW, opts.str, i, start.x, scale);
27
+ }
28
+ }
29
+ }
30
+ chars.push(...layout.chars);
31
+ cursor.x = layout.cursor.x;
32
+ cursor.y = layout.cursor.y;
33
+ w = Math.max(w, layout.cursor.x - start.x);
34
+ }
35
+ return {
36
+ chars,
37
+ cursor,
38
+ wh: { w, h: nextLine(opts.font, start.x, cursor.y, scale).y - start.y }
39
+ };
40
+ }
41
+ /** @internal */
42
+ export function layoutWord(font, cursor, maxW, word, index, startX, scale) {
43
+ const chars = [];
44
+ let { x, y } = cursor;
45
+ for (;; index++) {
46
+ const char = word[index];
47
+ if (!char || /^\s*$/.test(char))
48
+ break;
49
+ const span = tracking(font, char, word[index + 1], scale);
50
+ if (x > startX && x + span > startX + maxW)
51
+ ({ x, y } = nextLine(font, startX, y, scale));
52
+ // width is not span since, with kerning, that may exceed the actual
53
+ // width of the character's sprite. eg, if w has the maximal character width
54
+ // of five pixels and a one pixel kerning for a given pair of characters, it
55
+ // will have a span of six pixels which is greater than the maximal five
56
+ // pixel sprite that can be rendered.
57
+ chars.push({ x, y, w: fontCharWidth(font, char), h: font.cellHeight });
58
+ x += span;
59
+ }
60
+ return { chars, cursor: { x, y } };
61
+ }
62
+ function nextLine(font, startX, curY, scale) {
63
+ return { x: startX, y: curY + font.lineHeight * scale };
64
+ }
65
+ function layoutNewline(font, cursor, startX, scale) {
66
+ return { chars: [undefined], cursor: nextLine(font, startX, cursor.y, scale) };
67
+ }
68
+ /**
69
+ * @arg span the distance in pixels from the start of the current character to
70
+ * the start of the next including scale.
71
+ */
72
+ function layoutSpace(font, cursor, w, span, startX, scale) {
73
+ const nextCursor = cursor.x > 0 && cursor.x + span >= w
74
+ ? nextLine(font, startX, cursor.y, scale)
75
+ : { x: cursor.x + span, y: cursor.y };
76
+ return { chars: [undefined], cursor: nextCursor };
77
+ }
78
+ /**
79
+ * the distance in pixels from the start of lhs to the start of rhs including
80
+ * scale.
81
+ */
82
+ function tracking(font, l, r, scale) {
83
+ return scale * (fontCharWidth(font, l) + fontKerning(font, l, r));
84
+ }
85
+ //# sourceMappingURL=text-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-layout.js","sourceRoot":"","sources":["../../../src/text/text-layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ // TypeScript config for all functional code.
2
+ {
3
+ "extends": "../tools/tsconfig-base.json",
4
+ "compilerOptions": {
5
+ "lib": [
6
+ "ES2024",
7
+ "ESNext.disposable",
8
+ "DOM",
9
+ "DOM.AsyncIterable",
10
+ "DOM.Iterable"
11
+ ],
12
+ "customConditions": ["browser"]
13
+ },
14
+ "exclude": ["${configDir}/**/*.test.*", "${configDir}/**/test/", "demo/"]
15
+ }