@datamoc/mw_games 0.5.4 → 0.6.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 (254) hide show
  1. package/README.md +8 -3
  2. package/dist/actors/Appearances.d.ts.map +1 -1
  3. package/dist/actors/Appearances.js.map +1 -1
  4. package/dist/actors/Aura.d.ts.map +1 -1
  5. package/dist/actors/Aura.js.map +1 -1
  6. package/dist/actors/EntityTemplate.d.ts.map +1 -1
  7. package/dist/actors/EntityTemplate.js.map +1 -1
  8. package/dist/actors/Inventory.d.ts.map +1 -1
  9. package/dist/actors/Inventory.js +6 -1
  10. package/dist/actors/Inventory.js.map +1 -1
  11. package/dist/actors/Support.d.ts.map +1 -1
  12. package/dist/actors/Support.js.map +1 -1
  13. package/dist/actors/index.d.ts +1 -1
  14. package/dist/actors/index.d.ts.map +1 -1
  15. package/dist/actors/index.js.map +1 -1
  16. package/dist/actors/skillCheck.d.ts.map +1 -1
  17. package/dist/actors/skillCheck.js.map +1 -1
  18. package/dist/assets/Streaming.d.ts.map +1 -1
  19. package/dist/assets/Streaming.js.map +1 -1
  20. package/dist/assets/binary.d.ts.map +1 -1
  21. package/dist/assets/binary.js.map +1 -1
  22. package/dist/assets/loader.d.ts +15 -4
  23. package/dist/assets/loader.d.ts.map +1 -1
  24. package/dist/assets/loader.js +8 -23
  25. package/dist/assets/loader.js.map +1 -1
  26. package/dist/audio/Midi.d.ts.map +1 -1
  27. package/dist/audio/Midi.js +17 -3
  28. package/dist/audio/Midi.js.map +1 -1
  29. package/dist/audio/Music.d.ts.map +1 -1
  30. package/dist/audio/Music.js +8 -1
  31. package/dist/audio/Music.js.map +1 -1
  32. package/dist/audio/Synth.d.ts.map +1 -1
  33. package/dist/audio/Synth.js +1 -1
  34. package/dist/audio/Synth.js.map +1 -1
  35. package/dist/battle/BattleAI.js.map +1 -1
  36. package/dist/board/Army.d.ts.map +1 -1
  37. package/dist/board/Army.js.map +1 -1
  38. package/dist/board/Classics.d.ts.map +1 -1
  39. package/dist/board/Classics.js +310 -133
  40. package/dist/board/Classics.js.map +1 -1
  41. package/dist/board/FogOfWar.d.ts.map +1 -1
  42. package/dist/board/FogOfWar.js +12 -4
  43. package/dist/board/FogOfWar.js.map +1 -1
  44. package/dist/board/HexSkirmish.d.ts.map +1 -1
  45. package/dist/board/HexSkirmish.js +12 -4
  46. package/dist/board/HexSkirmish.js.map +1 -1
  47. package/dist/board/Tactics.d.ts.map +1 -1
  48. package/dist/board/Tactics.js +71 -26
  49. package/dist/board/Tactics.js.map +1 -1
  50. package/dist/board/chess.d.ts.map +1 -1
  51. package/dist/board/chess.js +8 -4
  52. package/dist/board/chess.js.map +1 -1
  53. package/dist/board/index.d.ts +2 -2
  54. package/dist/board/index.d.ts.map +1 -1
  55. package/dist/board/index.js +1 -1
  56. package/dist/board/index.js.map +1 -1
  57. package/dist/{roguelike → core}/Blob.d.ts +22 -11
  58. package/dist/core/Blob.d.ts.map +1 -0
  59. package/dist/{roguelike → core}/Blob.js +51 -28
  60. package/dist/core/Blob.js.map +1 -0
  61. package/dist/core/Csv.d.ts.map +1 -1
  62. package/dist/core/Csv.js +8 -2
  63. package/dist/core/Csv.js.map +1 -1
  64. package/dist/core/Input.d.ts.map +1 -1
  65. package/dist/core/Input.js +17 -4
  66. package/dist/core/Input.js.map +1 -1
  67. package/dist/core/Loading.d.ts.map +1 -1
  68. package/dist/core/Loading.js.map +1 -1
  69. package/dist/core/Motion.d.ts +27 -0
  70. package/dist/core/Motion.d.ts.map +1 -0
  71. package/dist/core/Motion.js +102 -0
  72. package/dist/core/Motion.js.map +1 -0
  73. package/dist/core/Multiplayer.d.ts.map +1 -1
  74. package/dist/core/Multiplayer.js.map +1 -1
  75. package/dist/core/PlayerInput.d.ts.map +1 -1
  76. package/dist/core/PlayerInput.js.map +1 -1
  77. package/dist/core/Replay.d.ts.map +1 -1
  78. package/dist/core/Replay.js.map +1 -1
  79. package/dist/core/Sanitize.d.ts.map +1 -1
  80. package/dist/core/Sanitize.js.map +1 -1
  81. package/dist/core/Save.d.ts.map +1 -1
  82. package/dist/core/Save.js.map +1 -1
  83. package/dist/core/Tween.d.ts +22 -2
  84. package/dist/core/Tween.d.ts.map +1 -1
  85. package/dist/core/Tween.js +30 -7
  86. package/dist/core/Tween.js.map +1 -1
  87. package/dist/core/index.d.ts +4 -0
  88. package/dist/core/index.d.ts.map +1 -1
  89. package/dist/core/index.js +2 -0
  90. package/dist/core/index.js.map +1 -1
  91. package/dist/i18n/Content.js +1 -2
  92. package/dist/i18n/Content.js.map +1 -1
  93. package/dist/i18n/EditSession.d.ts.map +1 -1
  94. package/dist/i18n/EditSession.js.map +1 -1
  95. package/dist/i18n/Fluent.d.ts.map +1 -1
  96. package/dist/i18n/Fluent.js +5 -1
  97. package/dist/i18n/Fluent.js.map +1 -1
  98. package/dist/i18n/FormatSpec.d.ts.map +1 -1
  99. package/dist/i18n/FormatSpec.js +3 -1
  100. package/dist/i18n/FormatSpec.js.map +1 -1
  101. package/dist/i18n/Validate.d.ts.map +1 -1
  102. package/dist/i18n/Validate.js +10 -2
  103. package/dist/i18n/Validate.js.map +1 -1
  104. package/dist/i18n/index.d.ts +1 -1
  105. package/dist/i18n/index.d.ts.map +1 -1
  106. package/dist/i18n/index.js +27 -4
  107. package/dist/i18n/index.js.map +1 -1
  108. package/dist/mw_games.global.js +94 -94
  109. package/dist/roguelike/ContentRoll.d.ts.map +1 -1
  110. package/dist/roguelike/ContentRoll.js.map +1 -1
  111. package/dist/roguelike/Doors.d.ts.map +1 -1
  112. package/dist/roguelike/Doors.js.map +1 -1
  113. package/dist/roguelike/DungeonParity.d.ts.map +1 -1
  114. package/dist/roguelike/DungeonParity.js +13 -4
  115. package/dist/roguelike/DungeonParity.js.map +1 -1
  116. package/dist/roguelike/Features.d.ts.map +1 -1
  117. package/dist/roguelike/Features.js.map +1 -1
  118. package/dist/roguelike/FieldOfView.d.ts.map +1 -1
  119. package/dist/roguelike/FieldOfView.js.map +1 -1
  120. package/dist/roguelike/Level.d.ts.map +1 -1
  121. package/dist/roguelike/Level.js.map +1 -1
  122. package/dist/roguelike/Scheduler.d.ts.map +1 -1
  123. package/dist/roguelike/Scheduler.js +10 -2
  124. package/dist/roguelike/Scheduler.js.map +1 -1
  125. package/dist/roguelike/Targeting.d.ts.map +1 -1
  126. package/dist/roguelike/Targeting.js.map +1 -1
  127. package/dist/roguelike/index.d.ts +0 -1
  128. package/dist/roguelike/index.d.ts.map +1 -1
  129. package/dist/roguelike/index.js +0 -1
  130. package/dist/roguelike/index.js.map +1 -1
  131. package/dist/rpg/Collision.d.ts.map +1 -1
  132. package/dist/rpg/Collision.js.map +1 -1
  133. package/dist/rpg/EventRunner.d.ts.map +1 -1
  134. package/dist/rpg/EventRunner.js.map +1 -1
  135. package/dist/rpg/Marshal.d.ts.map +1 -1
  136. package/dist/rpg/Marshal.js +2 -2
  137. package/dist/rpg/Marshal.js.map +1 -1
  138. package/dist/rpg/Quest.js.map +1 -1
  139. package/dist/rpg/index.d.ts +1 -1
  140. package/dist/rpg/index.d.ts.map +1 -1
  141. package/dist/rpg/index.js.map +1 -1
  142. package/dist/simulation/Scenario.d.ts.map +1 -1
  143. package/dist/simulation/Scenario.js.map +1 -1
  144. package/dist/simulation/Turns.d.ts.map +1 -1
  145. package/dist/simulation/Turns.js.map +1 -1
  146. package/dist/simulation/index.d.ts +1 -1
  147. package/dist/simulation/index.d.ts.map +1 -1
  148. package/dist/simulation/index.js.map +1 -1
  149. package/dist/three-d/Character3D.d.ts.map +1 -1
  150. package/dist/three-d/Character3D.js +3 -1
  151. package/dist/three-d/Character3D.js.map +1 -1
  152. package/dist/three-d/Collision3D.d.ts.map +1 -1
  153. package/dist/three-d/Collision3D.js.map +1 -1
  154. package/dist/three-d/Heightmap.d.ts.map +1 -1
  155. package/dist/three-d/Heightmap.js.map +1 -1
  156. package/dist/three-d/Models.d.ts.map +1 -1
  157. package/dist/three-d/Models.js.map +1 -1
  158. package/dist/three-d/TileGrid3D.d.ts.map +1 -1
  159. package/dist/three-d/TileGrid3D.js +5 -4
  160. package/dist/three-d/TileGrid3D.js.map +1 -1
  161. package/dist/three-d/Vox.d.ts.map +1 -1
  162. package/dist/three-d/Vox.js +6 -3
  163. package/dist/three-d/Vox.js.map +1 -1
  164. package/dist/two-d/render/AnimatedSprite.d.ts +6 -0
  165. package/dist/two-d/render/AnimatedSprite.d.ts.map +1 -1
  166. package/dist/two-d/render/AnimatedSprite.js +6 -0
  167. package/dist/two-d/render/AnimatedSprite.js.map +1 -1
  168. package/dist/two-d/render/Camera.d.ts.map +1 -1
  169. package/dist/two-d/render/Camera.js +13 -5
  170. package/dist/two-d/render/Camera.js.map +1 -1
  171. package/dist/two-d/render/Capabilities.d.ts.map +1 -1
  172. package/dist/two-d/render/Capabilities.js +48 -8
  173. package/dist/two-d/render/Capabilities.js.map +1 -1
  174. package/dist/two-d/render/ColorBlindness.d.ts.map +1 -1
  175. package/dist/two-d/render/ColorBlindness.js +3 -18
  176. package/dist/two-d/render/ColorBlindness.js.map +1 -1
  177. package/dist/two-d/render/ColorTransformBatcher.d.ts.map +1 -1
  178. package/dist/two-d/render/ColorTransformBatcher.js +1 -1
  179. package/dist/two-d/render/ColorTransformBatcher.js.map +1 -1
  180. package/dist/two-d/render/Particles.d.ts.map +1 -1
  181. package/dist/two-d/render/Particles.js +32 -6
  182. package/dist/two-d/render/Particles.js.map +1 -1
  183. package/dist/two-d/render/ScreenEffects.d.ts.map +1 -1
  184. package/dist/two-d/render/ScreenEffects.js +11 -0
  185. package/dist/two-d/render/ScreenEffects.js.map +1 -1
  186. package/dist/two-d/render/StatusVisuals.d.ts.map +1 -1
  187. package/dist/two-d/render/StatusVisuals.js +3 -1
  188. package/dist/two-d/render/StatusVisuals.js.map +1 -1
  189. package/dist/two-d/render/TileMap.d.ts.map +1 -1
  190. package/dist/two-d/render/TileMap.js +20 -16
  191. package/dist/two-d/render/TileMap.js.map +1 -1
  192. package/dist/two-d/render/TiledMap.d.ts.map +1 -1
  193. package/dist/two-d/render/TiledMap.js.map +1 -1
  194. package/dist/two-d/render/index.d.ts +3 -3
  195. package/dist/two-d/render/index.d.ts.map +1 -1
  196. package/dist/two-d/render/index.js +1 -1
  197. package/dist/two-d/render/index.js.map +1 -1
  198. package/dist/two-d/stage/DialogueStage.d.ts.map +1 -1
  199. package/dist/two-d/stage/DialogueStage.js +8 -4
  200. package/dist/two-d/stage/DialogueStage.js.map +1 -1
  201. package/dist/two-d/stage/script.d.ts.map +1 -1
  202. package/dist/two-d/stage/script.js.map +1 -1
  203. package/dist/two-d/stage/twee.d.ts.map +1 -1
  204. package/dist/two-d/stage/twee.js.map +1 -1
  205. package/dist/two-d/ui/Button.d.ts.map +1 -1
  206. package/dist/two-d/ui/Button.js +5 -2
  207. package/dist/two-d/ui/Button.js.map +1 -1
  208. package/dist/two-d/ui/FloatingText.d.ts.map +1 -1
  209. package/dist/two-d/ui/FloatingText.js +4 -1
  210. package/dist/two-d/ui/FloatingText.js.map +1 -1
  211. package/dist/two-d/ui/IconGrid.d.ts.map +1 -1
  212. package/dist/two-d/ui/IconGrid.js.map +1 -1
  213. package/dist/two-d/ui/ListView.d.ts.map +1 -1
  214. package/dist/two-d/ui/ListView.js.map +1 -1
  215. package/dist/two-d/ui/LoadingScreen.d.ts.map +1 -1
  216. package/dist/two-d/ui/LoadingScreen.js +6 -2
  217. package/dist/two-d/ui/LoadingScreen.js.map +1 -1
  218. package/dist/two-d/ui/MessageBox.d.ts +6 -0
  219. package/dist/two-d/ui/MessageBox.d.ts.map +1 -1
  220. package/dist/two-d/ui/MessageBox.js +11 -1
  221. package/dist/two-d/ui/MessageBox.js.map +1 -1
  222. package/dist/two-d/ui/NinePatch.d.ts.map +1 -1
  223. package/dist/two-d/ui/NinePatch.js.map +1 -1
  224. package/dist/two-d/ui/RebindScreen.d.ts.map +1 -1
  225. package/dist/two-d/ui/RebindScreen.js.map +1 -1
  226. package/dist/two-d/ui/Window.d.ts.map +1 -1
  227. package/dist/two-d/ui/Window.js +3 -0
  228. package/dist/two-d/ui/Window.js.map +1 -1
  229. package/dist/two-d/ui/a11y.d.ts +43 -0
  230. package/dist/two-d/ui/a11y.d.ts.map +1 -0
  231. package/dist/two-d/ui/a11y.js +79 -0
  232. package/dist/two-d/ui/a11y.js.map +1 -0
  233. package/dist/two-d/ui/contrast.d.ts +30 -0
  234. package/dist/two-d/ui/contrast.d.ts.map +1 -0
  235. package/dist/two-d/ui/contrast.js +42 -0
  236. package/dist/two-d/ui/contrast.js.map +1 -0
  237. package/dist/two-d/ui/index.d.ts +3 -0
  238. package/dist/two-d/ui/index.d.ts.map +1 -1
  239. package/dist/two-d/ui/index.js +2 -0
  240. package/dist/two-d/ui/index.js.map +1 -1
  241. package/dist/two-d/ui/markdown.d.ts.map +1 -1
  242. package/dist/two-d/ui/markdown.js +3 -1
  243. package/dist/two-d/ui/markdown.js.map +1 -1
  244. package/dist/two-d/ui/themedText.js +1 -1
  245. package/dist/two-d/ui/themedText.js.map +1 -1
  246. package/dist/version.d.ts +1 -1
  247. package/dist/version.js +1 -1
  248. package/dist/world/Environment.d.ts.map +1 -1
  249. package/dist/world/Environment.js +17 -6
  250. package/dist/world/Environment.js.map +1 -1
  251. package/package.json +258 -239
  252. package/tools/compress-dist.mjs +15 -1
  253. package/dist/roguelike/Blob.d.ts.map +0 -1
  254. package/dist/roguelike/Blob.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../../src/two-d/ui/Window.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../../src/two-d/ui/Window.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * The screen-reader bridge.
3
+ *
4
+ * `mwg` draws to a canvas, which assistive technology sees as one opaque element: a message
5
+ * box, a window title or a list selection is invisible to it no matter how readable it looks.
6
+ * This mirrors text a game wants read out into a visually hidden DOM node with `aria-live`,
7
+ * which the framework's own `Window` and `MessageBox` already use, and which a game can drive
8
+ * for its own widgets through the shared `screenReader`.
9
+ *
10
+ * It no-ops where there is no DOM, so the same scene code runs under `node --test` and the
11
+ * calls cost nothing there. `role="status"` and `aria-live="polite"` mean an announcement waits
12
+ * for a pause; pass `assertive: true` for something that should interrupt (a death, an alarm).
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { ScreenReader, screenReader } from '@datamoc/mw_games/two-d/ui';
17
+ *
18
+ * // the built-in widgets use the shared instance; a game can own a second region
19
+ * const reader = new ScreenReader();
20
+ * reader.announce('You found a rusty key.');
21
+ * screenReader.announce('Your torch goes out!', { assertive: true });
22
+ * reader.destroy();
23
+ * ```
24
+ */
25
+ export declare class ScreenReader {
26
+ private polite;
27
+ private assertive;
28
+ private region;
29
+ /**
30
+ * Reads `text` out at the next pause, or interrupting with `assertive`. The region is
31
+ * cleared first, so announcing the same string twice is two announcements rather than none.
32
+ */
33
+ announce(text: string, options?: {
34
+ assertive?: boolean;
35
+ }): void;
36
+ /** empties both regions without removing them */
37
+ clear(): void;
38
+ /** removes the regions; a later `announce` recreates them lazily */
39
+ destroy(): void;
40
+ }
41
+ /** the shared instance the built-in widgets announce through */
42
+ export declare const screenReader: ScreenReader;
43
+ //# sourceMappingURL=a11y.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a11y.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/a11y.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAOH,qBAAa,YAAY;IACxB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,SAAS,CAA4B;IAE7C,OAAO,CAAC,MAAM;IAkBd;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,IAAI,CAMlE;IAED,iDAAiD;IACjD,KAAK,IAAI,IAAI,CAGZ;IAED,oEAAoE;IACpE,OAAO,IAAI,IAAI,CAKd;CACD;AAED,gEAAgE;AAChE,eAAO,MAAM,YAAY,cAAqB,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * The screen-reader bridge.
3
+ *
4
+ * `mwg` draws to a canvas, which assistive technology sees as one opaque element: a message
5
+ * box, a window title or a list selection is invisible to it no matter how readable it looks.
6
+ * This mirrors text a game wants read out into a visually hidden DOM node with `aria-live`,
7
+ * which the framework's own `Window` and `MessageBox` already use, and which a game can drive
8
+ * for its own widgets through the shared `screenReader`.
9
+ *
10
+ * It no-ops where there is no DOM, so the same scene code runs under `node --test` and the
11
+ * calls cost nothing there. `role="status"` and `aria-live="polite"` mean an announcement waits
12
+ * for a pause; pass `assertive: true` for something that should interrupt (a death, an alarm).
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { ScreenReader, screenReader } from '@datamoc/mw_games/two-d/ui';
17
+ *
18
+ * // the built-in widgets use the shared instance; a game can own a second region
19
+ * const reader = new ScreenReader();
20
+ * reader.announce('You found a rusty key.');
21
+ * screenReader.announce('Your torch goes out!', { assertive: true });
22
+ * reader.destroy();
23
+ * ```
24
+ */
25
+ //the standard visually-hidden recipe: present to a screen reader, zero-sized on screen
26
+ const HIDDEN = 'position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;' +
27
+ 'clip:rect(0 0 0 0);white-space:nowrap;border:0;';
28
+ export class ScreenReader {
29
+ constructor() {
30
+ this.polite = null;
31
+ this.assertive = null;
32
+ }
33
+ region(assertive) {
34
+ if (typeof document === 'undefined' || !document.body)
35
+ return null;
36
+ const existing = assertive ? this.assertive : this.polite;
37
+ if (existing)
38
+ return existing;
39
+ const node = document.createElement('div');
40
+ node.setAttribute('aria-live', assertive ? 'assertive' : 'polite');
41
+ node.setAttribute('aria-atomic', 'true');
42
+ node.setAttribute('role', 'status');
43
+ node.setAttribute('style', HIDDEN);
44
+ document.body.appendChild(node);
45
+ if (assertive)
46
+ this.assertive = node;
47
+ else
48
+ this.polite = node;
49
+ return node;
50
+ }
51
+ /**
52
+ * Reads `text` out at the next pause, or interrupting with `assertive`. The region is
53
+ * cleared first, so announcing the same string twice is two announcements rather than none.
54
+ */
55
+ announce(text, options = {}) {
56
+ const region = this.region(options.assertive ?? false);
57
+ if (!region)
58
+ return;
59
+ region.textContent = '';
60
+ region.appendChild(document.createTextNode(text));
61
+ }
62
+ /** empties both regions without removing them */
63
+ clear() {
64
+ if (this.polite)
65
+ this.polite.textContent = '';
66
+ if (this.assertive)
67
+ this.assertive.textContent = '';
68
+ }
69
+ /** removes the regions; a later `announce` recreates them lazily */
70
+ destroy() {
71
+ this.polite?.remove();
72
+ this.assertive?.remove();
73
+ this.polite = null;
74
+ this.assertive = null;
75
+ }
76
+ }
77
+ /** the shared instance the built-in widgets announce through */
78
+ export const screenReader = new ScreenReader();
79
+ //# sourceMappingURL=a11y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a11y.js","sourceRoot":"","sources":["../../../src/two-d/ui/a11y.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,uFAAuF;AACvF,MAAM,MAAM,GACX,+EAA+E;IAC/E,iDAAiD,CAAC;AAEnD,MAAM,OAAO,YAAY;IAAzB;QACS,WAAM,GAAuB,IAAI,CAAC;QAClC,cAAS,GAAuB,IAAI,CAAC;IA6C9C,CAAC;IA3CQ,MAAM,CAAC,SAAkB;QAChC,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEnE,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1D,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;YAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAY,EAAE,OAAO,GAA4B,EAAE;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;QACxB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,iDAAiD;IACjD,KAAK;QACJ,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,EAAE,CAAC;IACrD,CAAC;IAED,oEAAoE;IACpE,OAAO;QACN,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;CACD;AAED,gEAAgE;AAChE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * WCAG contrast, so a game can check its own palette instead of guessing.
3
+ *
4
+ * `theme` palettes are plain numbers and nothing has ever verified one, which means a game's
5
+ * own colours can silently fall below the readable threshold - low-contrast text on a panel is
6
+ * invisible to a typechecker and easy to miss in a screenshot on a bright monitor. These are
7
+ * the standard relative-luminance and contrast-ratio formulas, pure and testable, with the
8
+ * WCAG AA/AAA thresholds built in. `theme.defaultTheme` and `theme.highContrastTheme` both
9
+ * pass; a game's own palette can be checked the same way.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { contrastRatio, meetsContrast, relativeLuminance } from '@datamoc/mw_games/two-d/ui';
14
+ *
15
+ * console.log(relativeLuminance(0xffffff)); // 1
16
+ * console.log(contrastRatio(0xffffff, 0x000000).toFixed(1)); // 21.0
17
+ * console.log(meetsContrast(0xe8e8f0, 0x1c1c26)); // true - the default theme's text on its panel
18
+ * ```
19
+ */
20
+ /** WCAG relative luminance of a 0xRRGGBB colour, 0 (black) to 1 (white) */
21
+ export declare function relativeLuminance(color: number): number;
22
+ /** WCAG contrast ratio between two 0xRRGGBB colours, 1 (identical) to 21 (black on white) */
23
+ export declare function contrastRatio(a: number, b: number): number;
24
+ export type ContrastLevel = 'AA' | 'AAA';
25
+ /**
26
+ * Whether `foreground` on `background` reaches the WCAG minimum for `level`: 4.5 (AA) or 7
27
+ * (AAA), relaxed to 3 / 4.5 for `large` text (roughly 18pt, or 14pt bold).
28
+ */
29
+ export declare function meetsContrast(foreground: number, background: number, level?: ContrastLevel, large?: boolean): boolean;
30
+ //# sourceMappingURL=contrast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contrast.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/contrast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,KAAK,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,GAAE,aAAoB,EAC3B,KAAK,UAAQ,GACX,OAAO,CAGT"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * WCAG contrast, so a game can check its own palette instead of guessing.
3
+ *
4
+ * `theme` palettes are plain numbers and nothing has ever verified one, which means a game's
5
+ * own colours can silently fall below the readable threshold - low-contrast text on a panel is
6
+ * invisible to a typechecker and easy to miss in a screenshot on a bright monitor. These are
7
+ * the standard relative-luminance and contrast-ratio formulas, pure and testable, with the
8
+ * WCAG AA/AAA thresholds built in. `theme.defaultTheme` and `theme.highContrastTheme` both
9
+ * pass; a game's own palette can be checked the same way.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { contrastRatio, meetsContrast, relativeLuminance } from '@datamoc/mw_games/two-d/ui';
14
+ *
15
+ * console.log(relativeLuminance(0xffffff)); // 1
16
+ * console.log(contrastRatio(0xffffff, 0x000000).toFixed(1)); // 21.0
17
+ * console.log(meetsContrast(0xe8e8f0, 0x1c1c26)); // true - the default theme's text on its panel
18
+ * ```
19
+ */
20
+ /** one 0-255 channel of a 0xRRGGBB colour, linearised for relative luminance */
21
+ function channel(value) {
22
+ const c = value / 255;
23
+ return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
24
+ }
25
+ /** WCAG relative luminance of a 0xRRGGBB colour, 0 (black) to 1 (white) */
26
+ export function relativeLuminance(color) {
27
+ return (0.2126 * channel((color >> 16) & 0xff) + 0.7152 * channel((color >> 8) & 0xff) + 0.0722 * channel(color & 0xff));
28
+ }
29
+ /** WCAG contrast ratio between two 0xRRGGBB colours, 1 (identical) to 21 (black on white) */
30
+ export function contrastRatio(a, b) {
31
+ const [light, dark] = [relativeLuminance(a), relativeLuminance(b)].sort((x, y) => y - x);
32
+ return (light + 0.05) / (dark + 0.05);
33
+ }
34
+ /**
35
+ * Whether `foreground` on `background` reaches the WCAG minimum for `level`: 4.5 (AA) or 7
36
+ * (AAA), relaxed to 3 / 4.5 for `large` text (roughly 18pt, or 14pt bold).
37
+ */
38
+ export function meetsContrast(foreground, background, level = 'AA', large = false) {
39
+ const required = level === 'AAA' ? (large ? 4.5 : 7) : large ? 3 : 4.5;
40
+ return contrastRatio(foreground, background) >= required;
41
+ }
42
+ //# sourceMappingURL=contrast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contrast.js","sourceRoot":"","sources":["../../../src/two-d/ui/contrast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,gFAAgF;AAChF,SAAS,OAAO,CAAC,KAAa;IAC7B,MAAM,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;IACtB,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC;AAChE,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC9C,OAAO,CACN,MAAM,GAAG,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAC/G,CAAC;AACH,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,CAAS;IACjD,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzF,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;AACvC,CAAC;AAID;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC5B,UAAkB,EAClB,UAAkB,EAClB,KAAK,GAAkB,IAAI,EAC3B,KAAK,GAAG,KAAK;IAEb,MAAM,QAAQ,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvE,OAAO,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,QAAQ,CAAC;AAC1D,CAAC"}
@@ -43,4 +43,7 @@ export { LoadingScreen } from './LoadingScreen.ts';
43
43
  export type { LoadingScreenOptions } from './LoadingScreen.ts';
44
44
  export { messageBoxPresenter } from './EventDialogue.ts';
45
45
  export type { MessageBoxPresenterOptions } from './EventDialogue.ts';
46
+ export { contrastRatio, meetsContrast, relativeLuminance } from './contrast.ts';
47
+ export type { ContrastLevel } from './contrast.ts';
48
+ export { ScreenReader, screenReader } from './a11y.ts';
46
49
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/index.ts"],"names":[],"mappings":"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"}
@@ -21,4 +21,6 @@ export { HelpScreen } from './HelpScreen.js';
21
21
  export { StatsScreen } from './StatsScreen.js';
22
22
  export { LoadingScreen } from './LoadingScreen.js';
23
23
  export { messageBoxPresenter } from './EventDialogue.js';
24
+ export { contrastRatio, meetsContrast, relativeLuminance } from './contrast.js';
25
+ export { ScreenReader, screenReader } from './a11y.js';
24
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/two-d/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG5F,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGzF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/two-d/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG5F,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGzF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGhF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CAChB;AA2FD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAiC1D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE,CAUxF"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CAChB;AAsGD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAiC1D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE,CAUxF"}
@@ -5,7 +5,9 @@ const ESCAPED_BACKSLASH = '';
5
5
  function hideEscapes(text) {
6
6
  let out = '';
7
7
  for (let i = 0; i < text.length; i++) {
8
- if (text[i] === '\\' && i + 1 < text.length && (text[i + 1] === '*' || text[i + 1] === '_' || text[i + 1] === '\\')) {
8
+ if (text[i] === '\\' &&
9
+ i + 1 < text.length &&
10
+ (text[i + 1] === '*' || text[i + 1] === '_' || text[i + 1] === '\\')) {
9
11
  const next = text[i + 1];
10
12
  out += next === '*' ? ESCAPED_STAR : next === '_' ? ESCAPED_UNDERSCORE : ESCAPED_BACKSLASH;
11
13
  i++;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/two-d/ui/markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/two-d/ui/markdown.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /** accepts the `options | string` shorthand both labels offer in their constructors */
2
2
  export function normalizeTextOptions(options) {
3
- return typeof options === 'string' ? ({ text: options }) : options;
3
+ return typeof options === 'string' ? { text: options } : options;
4
4
  }
5
5
  /** the align a label uses when the game gave none: the theme direction, not a fixed left */
6
6
  export function themedAlign(opts, t) {
@@ -1 +1 @@
1
- {"version":3,"file":"themedText.js","sourceRoot":"","sources":["../../../src/two-d/ui/themedText.ts"],"names":[],"mappings":"AAiBA,uFAAuF;AACvF,MAAM,UAAU,oBAAoB,CAA8B,OAAmB;IACpF,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACzE,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,WAAW,CAAC,IAAuB,EAAE,CAAQ;IAC5D,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"themedText.js","sourceRoot":"","sources":["../../../src/two-d/ui/themedText.ts"],"names":[],"mappings":"AAiBA,uFAAuF;AACvF,MAAM,UAAU,oBAAoB,CAA8B,OAAmB;IACpF,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,OAAO,EAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;AACzE,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,WAAW,CAAC,IAAuB,EAAE,CAAQ;IAC5D,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,CAAC"}
package/dist/version.d.ts CHANGED
@@ -9,5 +9,5 @@
9
9
  * this from `package.json` automatically, chosen because this project's own build already
10
10
  * has no step before `tsc`/`vite` that this would need to run ahead of.
11
11
  */
12
- export declare const version = "0.5.4";
12
+ export declare const version = "0.6.0";
13
13
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -9,5 +9,5 @@
9
9
  * this from `package.json` automatically, chosen because this project's own build already
10
10
  * has no step before `tsc`/`vite` that this would need to run ahead of.
11
11
  */
12
- export const version = '0.5.4';
12
+ export const version = '0.6.0';
13
13
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Environment.d.ts","sourceRoot":"","sources":["../../src/world/Environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IAClC,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,eAAe,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gBAAgB;IAC5B,QAAQ,CAAC,OAAO,8BAAqC;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAoC;IAEtD,YAAY,OAAO,GAAE,kBAAuB,EAU3C;IAED,IAAI,GAAG,IAAI,MAAM,CAAuD;IACxE,IAAI,OAAO,IAAI,MAAM,CAA0B;IAC/C,IAAI,OAAO,IAAI,MAAM,CAA0B;IAC/C,IAAI,KAAK,IAAI,QAAQ,CAMpB;IACD,IAAI,KAAK,IAAI,OAAO,CAAmC;IAEvD;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,CAMtC;IAED,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAM/C;IAED,iFAAiF;IACjF,MAAM,IAAI,mBAAmB,CAE5B;IAED,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,mBAAmB,GAAG,gBAAgB,CAExF;CACD"}
1
+ {"version":3,"file":"Environment.d.ts","sourceRoot":"","sources":["../../src/world/Environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IAClC,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,eAAe,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gBAAgB;IAC5B,QAAQ,CAAC,OAAO,8BAAqC;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAoC;IAEtD,YAAY,OAAO,GAAE,kBAAuB,EAe3C;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IACD,IAAI,OAAO,IAAI,MAAM,CAEpB;IACD,IAAI,OAAO,IAAI,MAAM,CAEpB;IACD,IAAI,KAAK,IAAI,QAAQ,CAMpB;IACD,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,CAMtC;IAED,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAM/C;IAED,iFAAiF;IACjF,MAAM,IAAI,mBAAmB,CAE5B;IAED,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,mBAAmB,GAAG,gBAAgB,CAExF;CACD"}
@@ -21,7 +21,10 @@ export class EnvironmentClock {
21
21
  if (!(this.dayLength > 0))
22
22
  throw new Error('an environment day must be longer than zero seconds');
23
23
  this.boundaries = options.phaseBoundaries ?? [0.2, 0.7, 0.8];
24
- if (this.boundaries[0] <= 0 || this.boundaries[0] >= this.boundaries[1] || this.boundaries[1] >= this.boundaries[2] || this.boundaries[2] >= 1) {
24
+ if (this.boundaries[0] <= 0 ||
25
+ this.boundaries[0] >= this.boundaries[1] ||
26
+ this.boundaries[1] >= this.boundaries[2] ||
27
+ this.boundaries[2] >= 1) {
25
28
  throw new Error('environment phase boundaries must be ascending fractions strictly between 0 and 1');
26
29
  }
27
30
  this.seconds_ = options.startSeconds ?? 0;
@@ -29,11 +32,17 @@ export class EnvironmentClock {
29
32
  if (!Number.isFinite(this.seconds_))
30
33
  throw new Error('environment startSeconds must be finite');
31
34
  }
32
- get day() { return Math.floor(this.seconds_ / this.dayLength); }
33
- get seconds() { return this.seconds_; }
34
- get weather() { return this.weather_; }
35
+ get day() {
36
+ return Math.floor(this.seconds_ / this.dayLength);
37
+ }
38
+ get seconds() {
39
+ return this.seconds_;
40
+ }
41
+ get weather() {
42
+ return this.weather_;
43
+ }
35
44
  get phase() {
36
- const fraction = ((this.seconds_ % this.dayLength) + this.dayLength) % this.dayLength / this.dayLength;
45
+ const fraction = (((this.seconds_ % this.dayLength) + this.dayLength) % this.dayLength) / this.dayLength;
37
46
  if (fraction < this.boundaries[0])
38
47
  return 'dawn';
39
48
  if (fraction < this.boundaries[1])
@@ -42,7 +51,9 @@ export class EnvironmentClock {
42
51
  return 'dusk';
43
52
  return 'night';
44
53
  }
45
- get night() { return this.phase === 'night'; }
54
+ get night() {
55
+ return this.phase === 'night';
56
+ }
46
57
  /**
47
58
  * Advances the clock by `dt` real seconds.
48
59
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Environment.js","sourceRoot":"","sources":["../../src/world/Environment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Environment.js","sourceRoot":"","sources":["../../src/world/Environment.ts"],"names":[],"mappings":"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"}